您好,登录后才能下订单哦!
这篇文章主要介绍“微信小程序登录方式如何修改”,在日常操作中,相信很多人在微信小程序登录方式如何修改问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”微信小程序登录方式如何修改”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
原先的登录逻辑是注册一个全局login方法, login方法中首先调用wx.login静默登录,获取临时登录凭证code,在开发者服务器后台调用 api,使用 code 换取 openid 和 session_key 。然后调用wx.getUserInfo获取用户信息。
现在的实现逻辑是写一个button中转页,进入小程序wx.getUserInfo获取失败后跳转到button中转页,点击button调用bindgetuserinfo方法,该方法返回的detail数据与wx.getUserInfo方法返回的信息一致,此时也可以获取到用户信息。回调成功后wx.navigateBack({})回原页面。
下面贴上部分代码片段:
async bindGetUserInfo(event) { const { detail } = event; const isSuccess = detail.errMsg === 'getUserInfo:ok'; if (isSuccess) { this.authSuccess(detail); return; } // 用户拒绝授权 // wx.navigateBack({}); } async authSuccess(detail) { await this.getToken(detail); wx.navigateBack({}); // this.nextHander(); } 保存用户信息 async getToken(detail) { console.log('getToken', detail); const session_key = wx.getStorageSync('session_key'); const { encryptedData: encrypted_data, iv } = detail; const that = this; // 保存用户信息到服务器 const { data: { user, up_token, token, is_created } } = await this.fetch({ url: '/api/artisan/wechat/login', data: { session_key, encrypted_data, iv, }, method: 'POST', }); wx.setStorageSync('user', user); this.$root.$parent.store.set('up_token', up_token, 30); // 存储用户标识符到本地 this.$root.$parent.store.set('token', token, 30); this.$root.$parent.store.set('is_created', is_created, 30); // redux // store.dispatch({ // type: 'SET_IS_CREATED', // payload: is_created, // }); }
到此,关于“微信小程序登录方式如何修改”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。