<template> <view class="container"> <view class="row b-b flex jg"> <text class="tit">头像</text> <!-- @click.stop="imgsub" --> <image :src="userInfo.avatar" ></image> </view> <view class="row b-b flex"> <text class="tit">昵称</text> <input class="input" v-model="userInfo.nickname" type="text" placeholder-class="placeholder" disabled/> </view> <view class="row b-b flex"> <text class="tit">ID</text> <input class="input" v-model="userInfo.id" type="text" disabled="true" placeholder-class="placeholder" /> </view> <!-- <view class="row b-b flex"> <text class="tit">用户账号</text> <input class="input" v-model="userInfo.account || userInfo.phone" type="number" disabled="true" placeholder-class="placeholder" /> </view> --> <view class="submit-box "> <!-- <view class="submit" @click="edit">确认修改</view> --> <view class="submit submit1" @click="toLogout">退出登录</view> </view> </view> </template> <script> import uniList from '@/components/uni-list/uni-list.vue'; import uniListItem from '@/components/uni-list-item/uni-list-item.vue'; import { mapState, mapMutations } from 'vuex'; import { logout } from '@/api/set.js'; import { uploads, edit, // upload } from '@/api/user.js'; import { upload } from '@/api/ask.js' export default { components: { uniList, uniListItem }, data() { return { // nickName:'李淡淡', // id:'HFBNXISN', // account:'13745262356', userInfo: {}, pics: [] }; }, onLoad() { this.userInfo = uni.getStorageSync('userInfo') || ''; console.log(this.userInfo) }, methods: { ...mapMutations('user', ['logout']), //退出登录 toLogout() { let obj = this; uni.showModal({ content: '确定要退出登录么', success: e => { if (e.confirm) { logout({}).then(e => { obj.logout(); uni.switchTab({ url: '/pages/index/index' }) }) .catch(e => { console.log(e); }); } } }); }, imgsub() { let obj = this // console.log('上传头像') // this.$util.uploadImageOne('upload/image', function(res) { // console.log('------',res); // // this.pics.push(res.data.pathreplace(/http:\/\/mer.crmeb.net/,'http://zccy.liuniu946.com')); // obj.userInfo.avatar = res.data.path.replace(/http:\/\/mer.crmeb.net/,'http://zccy.frp.liuniu946.com') // // obj.$set(this, 'pics', this.pics); // // obj.$set(this, 'extract_pic', this.pics[0]) // }); // uploads({ // filename: '' // }).then(data => { // console.log("data",data); // this.userInfo.avatar = data[0].url; // }) upload({ filename: '' }).then(res => { console.log(res, '上传图片') console.log(res[0].url) obj.userInfo.avatar = res[0].url // console.log(obj.userInfo.avatar) }); }, edit() { const that = this; uni.showLoading({ title: '提交中...', mask: true }) edit({ avatar: this.userInfo.avatar, nickname: this.userInfo.nickname }).then(e => { uni.hideLoading() that.$api.msg('修改成功'); setTimeout(() => { uni.switchTab({ url: '/pages/user/user' }); }, 1000); }).catch(e => { console.log(e); that.$api.msg('修改失败'); }) } } }; </script> <style lang='scss'> /* page{ background: $page-color-base; } .list-cell{ display:flex; align-items:baseline; padding: 20rpx $page-row-spacing; line-height:60rpx; position:relative; background: #fff; justify-content: center; &.log-out-btn{ margin-top: 40rpx; .cell-tit{ color: $uni-color-primary; text-align: center; margin-right: 0; } } .cell-tit{ flex: 1; font-size: $font-base + 2rpx; color: $font-color-dark; margin-right:10rpx; } .cell-tip{ font-size: $font-base; color: $font-color-light; } switch{ transform: translateX(16rpx) scale(.84); } } */ page { background-color: #f3f3f3; min-height: 100%; .container { height: 100%; } } .row { background-color: #fff; padding: 42rpx 25rpx; font-size: 30rpx; color: #333333; image { width: 80rpx; height: 80rpx; border-radius: 50%; } .input { text-align: right; color: #333333; } } .submit-box { padding-top: 157rpx; .submit { margin: 40rpx auto; width: 560rpx; background-color: #901b21; color: #FFFFFF; text-align: center; padding: 26rpx 0rpx; border-radius: 50rpx; } .submit1 { background-color: #FFFFFF; color:#fa7e67 ; border: 1px solid #fa7e67; } } .jg { margin-bottom: 20rpx; } .out { display: flex; align-items: center; justify-content: center; margin: 0 auto 30rpx; width: 560rpx; height: 80rpx; border: 1px solid #58BAB0; background: #FFFFFF; border-radius: 40px; color: #58BAB0; } .b-b { justify-content: space-between; } </style>