登陆逻辑先通过uni.getUserProfile()函数获取用户信息
然后将uni.login()放在uni.getUserProfile()成功回调里面获取code
最后在uni.login登陆成功的回调里面向后端发送 code encryptedData iv 等信息
后端通过encryptedData iv来得到用户的解密所有信息,然后返回给前端,前端把这个信息存储下来实现登陆
先看几遍官方文档
小程序登录 | 微信开放文档
小程序登录 | 微信开放文档
前端代码 大致是这样,可以自己改改
login() { let that = this; uni.getUserProfile({ desc: '用于完善用户资料', lang: 'zh_CN', success: (res) => { console.log(res) // that.wxlogin(res.userInfo); uni.login({ success(codeData) { console.log(codeData) uni.showLoading({ title: '登录中' }); uni.request({ url: myApi.loginUrl, data: { code: codeData.code, encryptedData: res.encryptedData, iv: res.iv, }, method: 'GET', success(login) { uni.hideLoading(); console.log(login) uni.showToast({ title: '登陆成功去看打印', icon: 'none' }) } }) } }) } }); },
坑只能通过点击事件来调取,不能直接调取
无效调取