1.在app.vue文件中判断小程序版本并存在缓存中,代码如下:
const version = uni.getSystemInfoSync().SDKVersion
if (Routine.compareVersion(version, '2.21.2') >= 0) {
that.$Cache.set('MP_VERSION_ISNEW', true)
} else {
that.$Cache.set('MP_VERSION_ISNEW', false)
}
2./pages/users/user_info.vue页面取出存储的版本信息,代码如下:
mp_is_new: this.$Cache.get('MP_VERSION_ISNEW') || false
上传头像那里判断是否是新版本的小程序,如果不是则还是以前的逻辑,是的话用open-type="chooseAvatar",@chooseavatar="onChooseAvatar"获取到临时头像,然后自己存储头像并上传:
拿到临时头像上传后再调用修改头像接口,代码如下:
onChooseAvatar(e) {
const {avatarUrl} = e.detail
this.$util.uploadImgs('upload/image', avatarUrl, (res) => {
this.userInfo.avatar = res.data.path
editAvatar({avatar:res.data.path}).then((res)=>{
that.$util.Tips({
title:res.message,
})
})
}, (err) => {
console.log(err)
})
},
本地上传图片的方法要按照下图修改一下,文件路径为:utils/util.js
uploadImgs(uploadUrl, filePath, successCallback, errorCallback) {
let that = this;
let inputName = 'pics';
uni.uploadFile({
url: HTTP_REQUEST_URL + '/api/' + uploadUrl + '/' + inputName,
filePath: filePath,
fileType: 'image',
name: 'pics',
formData: {
'filename': 'pics'
},
header: {
// #ifdef MP
"Content-Type": "multipart/form-data",
// #endif
[TOKENNAME]: 'Bearer ' + store.state.app.token
},
success: (res) => {
uni.hideLoading();
if (res.statusCode == 403) {
that.Tips({
title: res.data
});
} else {
let data = res.data ? JSON
.parse(res.data) : {};
if (data.status == 200) {
successCallback &&
successCallback(data)
} else {
errorCallback &&
errorCallback(data);
that.Tips({
title: data.message
});
}
}
},
fail: (err) => {
console.log(err)
uni.hideLoading();
that.Tips({
title: i18n.t(`上传图片失败`)
});
}
})
},
这里就修改完成了,在需要重新打包上传代码到服务器上就可以了。
{{item.user_info.nickname ? item.user_info.nickname : item.user_name}}
作者 管理员 企业
{{itemf.name}}
{{itemc.user_info.nickname}}
{{itemc.user_name}}
回复 {{itemc.comment_user_info.nickname}}
{{itemf.name}}