import {
mapMutations
} from 'vuex'
export default {
name: "my-login",
data() {
return {
};
},
methods: {
...mapMutations('m_user', ['updateUserInfo']),
//获取用户基本信息
//判断是否获取用户信息成功
//获取用户信息成功
getUserInfo(e) {
console.log(e);
uni.getUserProfile({
desc: "获取登录信息",
success: (res) => {
console.log("调用接口获取的用户数据", res);
//将基本信息存储到vuex中
this.updateUserInfo(res.userInfo)
// 获取登录成功后的 Token 字符串
this.getToken(res)
},
fail() {
uni.$showMsg('您取消了登录授权!!'); //点击“授权”按钮时触发
}
})
// 3. 将用户的基本信息存储到 vuex 中
},
async getToken(info) {
//获取code值
//调用微信登录接口
const [err, res] = await uni.login().catch(err => err)
console.log(res);
//判断是否uni.login()调用失败getUserProfile:ok showError
if (err || res.errMsg !== 'login:ok') return uni.$showMsg('登录失败!')
console.log('code的值', res.code);
console.log('info的值', info);
// // 准备参数对象
const query = {
code: res.code,
encryptedData: info.encryptedData,
iv: info.iv,
rawData: info.rawData,
signature: info.signature
}
console.log('query的值', query);
// 换取 token
const {
data: loginResult
} = await uni.$http.post('/api/public/v1/users/wxlogin', query)
console.log(loginResult);
if (loginResult.meta.status !== 200) return uni.$showMsg('登录失败!')
uni.$showMsg('登录成功')
}
无效的code值
楼主问题解决了吗? 我也遇到相同的问题