const { api } = require("../../utils/api") const config = require("../../config/config") // components/profile/index.js Component({ /** * 组件的属性列表 */ properties: { visible: { type: Boolean, require: false }, }, /** * 组件的初始数据 */ data: { avatar: '', avatarId: '', name: '' }, /** * 组件的方法列表 */ methods: { change() { const show = !this.data.visible this.setData({ visible: show }) }, onChooseAvatar(e) { const avatarUrl = e.detail.avatarUrl // 上传 const _this = this wx.uploadFile({ filePath: avatarUrl, name: 'file', header: { 'Authorization': 'Bearer ' + wx.getStorageSync('token'), }, url: config.baseUrl + '/oss/upload', success: res => { var data = JSON.parse(res.data) console.log(data); _this.setData({ avatar: data.data.file.url, avatarId: data.data.file.id }) } }) }, input(e) { const value = e.detail.value this.data.name = value }, update() { const user = wx.getStorageSync('user') if (this.data.name.length === 0 || this.data.avatarId.length === 0) { wx.showToast({ icon: 'error', title: '请完善信息', }) return } user.avatarId = this.data.avatarId user.name = this.data.name console.log(user); wx.showLoading({ title: '请稍后...', }) api('/user/update','POST',user,'json').then(res => { if (res.code === 200){ this.fetchInfo(user.id) } else { wx.showToast({ icon:'none', title: res.msg, }) } }) }, fetchInfo(id){ api('/user/detail','GET',{id:id}).then(res => { console.log(res); wx.hideLoading() if (res.code === 200){ wx.setStorageSync('user', res.data) this.change() this.triggerEvent('ok', { value: res.data }); } }) }, } })