165 lines
3.7 KiB
Vue
165 lines
3.7 KiB
Vue
<template>
|
|
<view>
|
|
<uni-nav-bar leftText=" " :fixed="true" :border="false" leftIcon="back" @clickLeft="leftClick" color="#000000" backgroundColor="#fff" :statusBar="true" :title="$t('navbar.changinfo')"></uni-nav-bar>
|
|
<view class="content">
|
|
<view class="cell">
|
|
<view>{{$t('mine.avatar')}}</view>
|
|
<view class="right">
|
|
<uni-file-picker fileMediatype="image" limit="1" @select="select" @delete="delfn" :del-icon="false" disable-preview :imageStyles="imageStyles">
|
|
<image :src="userinfo.avatar_pull==''?'/static/image/mine/user.png':userinfo.avatar_pull" mode="" class="addimg"></image>
|
|
</uni-file-picker>
|
|
</view>
|
|
</view>
|
|
<view class="cell1">
|
|
<view>{{$t('mine.nickname')}}</view>
|
|
<view class="right select">
|
|
<input :placeholder="$t('mine.nickinput')" v-model="userinfo.nickname"></input>
|
|
<uni-icons type="right" size="18"></uni-icons>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
<view class="foot">
|
|
<button class="btn" @click="bcFn">{{$t('button.save')}}</button>
|
|
</view>
|
|
</view>
|
|
</template>
|
|
<script>
|
|
import { request,showToast } from '@/api/apiT.js'
|
|
export default {
|
|
data() {
|
|
return {
|
|
imageStyles: {
|
|
width: 40,
|
|
height: 40,
|
|
border: {
|
|
radius: '50%'
|
|
}
|
|
},
|
|
userinfo:{
|
|
nickname:'',
|
|
avatar:'',
|
|
company:'',
|
|
phone:'',
|
|
},
|
|
|
|
}
|
|
},
|
|
onLoad() {
|
|
this.getinfo()
|
|
},
|
|
methods: {
|
|
getinfo(){
|
|
var that= this;
|
|
request({
|
|
url:'common/user/info',
|
|
method:'POST',
|
|
}).then(res => {
|
|
this.userinfo=res.data.data.user
|
|
})
|
|
},
|
|
uploadfn(imgUrl){
|
|
var that = this;
|
|
uni.uploadFile({
|
|
url: 'https://bsh.info.hb.hnzhwlkj.cn/upload/image?scene=userinfo',
|
|
filePath: imgUrl,
|
|
name: 'image',
|
|
header:{'content-type': 'application/x-www-form-urlencoded','Fdesk-Auth-Token': 'Bearer ' + uni.getStorageSync('token'),'Fdesk-Language': uni.getStorageSync('i18locale')?uni.getStorageSync('i18locale'):'zh','Fdesk-Login-Type': 'wechat','Fdesk-System-Code':'wechat'},
|
|
success: (uploadFileRes) => {
|
|
const path=JSON.parse(uploadFileRes.data)
|
|
that.userinfo.avatar = path.data.href
|
|
}
|
|
});
|
|
},
|
|
delfn(){
|
|
that.userinfo.avatar =''
|
|
},
|
|
select(e){
|
|
const tempFilePaths = e.tempFilePaths;
|
|
const imgUrl=tempFilePaths[0]
|
|
this.uploadfn(imgUrl)
|
|
},
|
|
leftClick(){
|
|
uni.navigateBack({})
|
|
},
|
|
bcFn(){
|
|
request({
|
|
url:'common/user/update',
|
|
method:'POST',
|
|
data:{
|
|
nickname:this.userinfo.nickname,
|
|
avatar:this.userinfo.avatar
|
|
}
|
|
}).then(res => {
|
|
uni.showToast({
|
|
title: res.data.message,
|
|
icon: 'none'
|
|
});
|
|
if(res.data.code ==200){
|
|
setTimeout(() => {
|
|
uni.reLaunch({
|
|
url: '/pages/index/mine',// 替换为你要跳转的页面路径
|
|
});
|
|
}, 1000);
|
|
|
|
}
|
|
})
|
|
}
|
|
}
|
|
}
|
|
</script>
|
|
|
|
<style>
|
|
.uniui-right{
|
|
position: absolute;
|
|
top: 2px;
|
|
}
|
|
.content{
|
|
margin: 20px 12px;
|
|
background: #FFFFFF;
|
|
border-radius: 10px;
|
|
}
|
|
.cell{
|
|
display: flex;
|
|
justify-content:space-between;
|
|
padding: 10px 20px;
|
|
/* border-bottom: 1px solid #C3C3C3; */
|
|
align-items: center;
|
|
font-weight: 500;
|
|
}
|
|
.cell1{
|
|
display: flex;
|
|
justify-content:space-between;
|
|
padding: 18px 20px;
|
|
align-items: center;
|
|
font-weight: 500;
|
|
}
|
|
.right{
|
|
text-align: right;
|
|
}
|
|
.select{
|
|
display: flex;
|
|
position: relative;
|
|
margin-right: 10px;
|
|
}
|
|
.foot{
|
|
position: fixed;
|
|
bottom: 0px;
|
|
width: 100%;
|
|
height: 240rpx;
|
|
background: #FFFFFF;
|
|
}
|
|
.btn{
|
|
background: linear-gradient(180deg, #206ff4 0%, #42e0a2 100%);
|
|
color: white;
|
|
border-radius: 50px;
|
|
width: 84%;
|
|
margin-bottom: 40px;
|
|
margin: 20px 8%;
|
|
}
|
|
.addimg{
|
|
width: 35px;
|
|
height: 35px;
|
|
border-radius: 50%;
|
|
}
|
|
</style>
|