黑马程序员前端微信小程序开发教程,微信小程序从基础到发布全流程_企业级商城实战(

...mapMutations("m_user", ["updateUserInfo","updateToken"]),
getUserProfile() {
uni.getUserProfile({
desc: '请求授权', // 声明获取用户个人信息后的用途,后续会展示在弹窗中,请谨慎填写
success: (res) => {
console.log(res)
// 这部分是更新用户信息的
this.updateUserInfo(res.userInfo)
//获取token
this.getToken(res)
},
fail: (res) => {
return uni.$showMsg("已取消登录授权")
}
})
},
async getToken(userInfo) {
//调用uni.login()登录方法,获取code
const [err, res] = await uni.login().catch(err => err)
if (err || res.errMsg !== 'login:ok') {
return uni.$showMsg("登录失败!")
}
//登录参数对象
const query = {
code: res.code,
encryptedData: userInfo.encryptedData,
iv: userInfo.iv,
rawData: userInfo.rawData,
signature: userInfo.signature
}
//换取token,只有被管理员配置为小程序的开发者以后,学生才能调用成功登录,支付这些特殊的接口。而且这个开发者权限人数只有几十个,无法给各位学生一一分配权限,因此大家会调用失败。大家可以先跟着视频了解如何调用这些接口
//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)
},