小程序文檔中提出的調(diào)整說(shuō)明
對(duì)于此次調(diào)整現(xiàn)將小程序授權(quán)方式做以調(diào)整
- 添加判斷當(dāng)前基礎(chǔ)庫(kù)是否支持頭像昵稱(chēng)填寫(xiě)能力
在根目錄App.vue中加入判斷基礎(chǔ)庫(kù)是否大于2.21.2版本(大于此版本支持頭像/昵稱(chēng)填寫(xiě)能力)
···
// #ifdef MP
const version = uni.getSystemInfoSync().SDKVersion
if (Routine.compareVersion(version, '2.21.3') >= 0) {
console.log(version)
that.$Cache.set('MP_VERSION_ISNEW', true)
} else {
that.$Cache.set('MP_VERSION_ISNEW', false)
}
// #endif
2.修改/pages/users/wechat_login.vue文件
(1) 在data中加入基礎(chǔ)庫(kù)判斷,決定授權(quán)邏輯mp_is_new: this.$Cache.get('MP_VERSION_ISNEW') || false
(2)dom中新增邏輯判斷
{{$t(`微信登錄`)}}
{{$t(`微信登錄`)}}
{{$t(`微信登錄`)}}
(3)methods中加入方法userLogin
// 小程序 22.11.8日刪除getUserProfile 接口獲取用戶昵稱(chēng)頭像
userLogin() {
Routine.getCode()
.then(code => {
uni.showLoading({
title: this.$t(`正在登錄中`)
});
authLogin({
code,
spread_spid: app.globalData.spid,
spread_code: app.globalData.code
}).then(res => {
if (res.data.key !== undefined && res.data.key) {
uni.hideLoading();
this.authKey = res.data.key;
this.isPhoneBox = true;
} else {
uni.hideLoading();
let time = res.data.expires_time - this.$Cache.time();
this.$store.commit('LOGIN', {
token: res.data.token,
time: time
});
this.getUserInfo()
}
})
})
.catch(err => {
console.log(err)
});
},
3.新增用戶頭像/昵稱(chēng)獲取能力
(1)調(diào)整pages/users/user_info.vue文件
data中新增 mp_is_new: this.$Cache.get('MP_VERSION_ISNEW') || false
(2)調(diào)整dom中
{{$t(`頭像`)}}
{{$t(`昵稱(chēng)`)}}
(3)methods中加入方法
onChooseAvatar(e) {
const {
avatarUrl
} = e.detail
this.$util.uploadImgs('upload/image', avatarUrl, (res) => {
this.userInfo.avatar = res.data.url
}, (err) => {
console.log(err)
})
},
這里有一個(gè)公共方法uploadImgs需要在/utils/util.js中添加
uploadImgs(uploadUrl, filePath, successCallback, errorCallback) {
let that = this;
uni.uploadFile({
url: HTTP_REQUEST_URL + '/api/' + uploadUrl,
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.msg
});
}
}
},
fail: (err) => {
uni.hideLoading();
that.Tips({
title: i18n.t(`上傳圖片失敗`)
});
}
})
},
以上就是本次調(diào)整的所有內(nèi)容了!
具體源碼可以查看 https://gitee.com/ZhongBangKeJi/CRMEB/tree/master/template/uni-app
同時(shí)希望大家給個(gè)免費(fèi)的 star 喔~ 比心