黑馬程序員前端微信小程序開發(fā)教程,微信小程序從基礎到發(fā)布全流程_企業(yè)級商城實戰(zhàn)(

...mapMutations("m_user", ["updateUserInfo","updateToken"]),
getUserProfile() {
uni.getUserProfile({
desc: '請求授權', // 聲明獲取用戶個人信息后的用途,后續(xù)會展示在彈窗中,請謹慎填寫
success: (res) => {
console.log(res)
// 這部分是更新用戶信息的
this.updateUserInfo(res.userInfo)
//獲取token
this.getToken(res)
},
fail: (res) => {
return uni.$showMsg("已取消登錄授權")
}
})
},
async getToken(userInfo) {
//調(diào)用uni.login()登錄方法,獲取code
const [err, res] = await uni.login().catch(err => err)
if (err || res.errMsg !== 'login:ok') {
return uni.$showMsg("登錄失敗!")
}
//登錄參數(shù)對象
const query = {
code: res.code,
encryptedData: userInfo.encryptedData,
iv: userInfo.iv,
rawData: userInfo.rawData,
signature: userInfo.signature
}
//換取token,只有被管理員配置為小程序的開發(fā)者以后,學生才能調(diào)用成功登錄,支付這些特殊的接口。而且這個開發(fā)者權限人數(shù)只有幾十個,無法給各位學生一一分配權限,因此大家會調(diào)用失敗。大家可以先跟著視頻了解如何調(diào)用這些接口
//const {data: loginResult} = await uni.$http.post("/api/public/v1/users/wxlogin", query)
//自定義返回結果,假設登錄成功!
const loginResult = {
"message": {
"user_id": 12,
"user_email_code": null,
"is_active": null,
"user_sex": "男",
"user_qq": "",
"user_tel": "",
"user_xueli": "本科",
"user_hobby": "",
"user_introduce": null,
"create_time": 1525402223,
"update_time": 1525402223,
"token": "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1aWQiOjIzLCJpYXQiOjE1NjQ3MzAwNzksImV4cCI6MTAwMTU2NDczMDA3OH0.YPt-XeLnjV-_1ITaXGY2FhxmCe4NvXuRnRB8OMCfnPo"
},
"meta": {
"msg": "登錄成功",
"status": 200
}
}
if (loginResult.meta.status !== 200) {
return uni.$showMsg("登錄失??!")
}
//uni.$showMsg("登錄成功!")
//把token保存到vuex中
this.updateToken(loginResult.message.token)
},