<template> <view class="container"> <view class="row b-b flex"> <text class="tit">头像</text> <image :src="userInfo.avatar" @click.stop="imgsub"></image> </view> <view class="row b-b flex"> <text class="tit">昵称</text> <input class="input" v-model="userInfo.nickname" type="text" placeholder-class="placeholder" /> </view> <view class="row b-b flex"> <text class="tit">ID</text> <input class="input ld" v-model="userInfo.uid" type="text" disabled="true" placeholder-class="placeholder" /> </view> <view class="row b-b flex"> <text class="tit">用户账号</text> <input class="input ld" v-model="userInfo.account" type="number" disabled="true" placeholder-class="placeholder" /> </view> <view class="submit-box flex" > <view class="submit" @click="edit">确认修改</view> <!-- <view class="submit" @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 } from '@/api/user.js'; export default { components: { uniList, uniListItem }, data() { return { // nickName:'李淡淡', // id:'HFBNXISN', // account:'13745262356', userInfo:'', }; }, onLoad() { this.userInfo = uni.getStorageSync('userInfo') || ''; }, methods: { ...mapMutations('user',['logout']), //退出登录 toLogout() { let obj = this; uni.showModal({ content: '确定要退出登录么', success: e => { if (e.confirm) { logout({}).then(e => { obj.logout(); uni.navigateTo({ url:'/pages/public/login' }) }) .catch(e => { console.log(e); }); } } }); }, imgsub() { console.log('上传头像') uploads({ filename: '' }).then(data => { console.log("data",data); this.userInfo.avatar = data[0].url; }) }, edit() { const that = this; edit({ avatar: this.userInfo.avatar, nickname: this.userInfo.nickname }).then( e =>{ that.$api.msg('修改成功'); setTimeout(()=> { uni.switchTab({ url:'/pages/user/user' }); }, 1000); }).catch(e =>{ console.log(e); that.$api.msg('修改失败'); }) } } }; </script> <style lang="scss"> page { min-height: 100%; .container{ height: 100%; } } .row { 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: #141E47; color: #FFFFFF; text-align: center; padding:26rpx 0rpx; border-radius: 50rpx; } } .ld { color: #999 !important; } </style>