微信小程序中怎么实现登录
今天小编给大家分享一下微信小程序中怎么实现登录的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。
业务流程:
1:首先需要一个按钮触发事件
2:调用微信小程序的登录接口wx.login,拿到code
3:调用微信小程序的获取用户信息的接口wx.getUserProfile,拿到用户的个人信息
4:拿到的个人信息调用后台的接口,把个人信息传给后台,登录成功并把相关信息存储在本地的缓存中,方便之后的开发使用
下面开始用代码介绍
wxml:
<view> <button bindtap="login">登录</button> </view>
js:
1:data初始数据
//后台接口需要的一下参数(具体要和后台的同事商量) loginInfo: { code: '', spread_spid: 0, spread_code: 0 }
2:按钮触发的login点击事件
调用微信小程序的登录接口:
wx.login(Object object)
调用微信获取用户个人信息的接口:
wx.getUserProfile(Object object)
//登录按钮触发的事件 login(){ let that = this //调用微信小程序的登录接口 wx.login({ success(e) { that.data.loginInfo.code = e.code //拿到的code存储在data中 wx.showModal({ title: '温馨提示', content: '微信授权登录后才能正常使用小程序功能', cancelText: '拒绝', confirmText: '同意', success( sucessInfo ) { //调用微信小程序的获取用户信息的接口 wx.getUserProfile({ desc: '用于完善会员资料', // 声明获取用户个人信息后的用途 lang: 'zh_CN', success(info) { //把获取到的信息复制到data中的loginInfo中 that.data.loginInfo = Object.assign( that.data.loginInfo, info ) //调用后台的接口,把所有整合的个人信息传过去 that.handlerLogin( that.data.loginInfo ) }, fail(e) { console.log('获取用户信息失败', e) } }) }, fail() { console.log("拒绝") }, complete() {} }) }, fail(e) { console.log('fail', e) wx.showToast({ title: '网络异常', duration: 2000 }) return } }) }
3:调用后台的登录接口
wx.setStorageSync() :将数据存储在本地缓存中,
wx.setStorageSync(string key, any data)
wx.getStorageSync('token') :获取本地缓存的数据
any wx.getStorageSync(string key)
//调用后台的登录接口 handlerLogin( loginInfo ) { let that = this //login是后台接口封装的方法 login( loginInfo ).then(( res ) => { console.log('登录成功', res) let { cache_key, expires_time, token, userInfo } = res.data //把用户信息存储到storage中,方便其它地方使用 wx.setStorageSync('cache_key', cache_key) wx.setStorageSync('expires_time', expires_time) wx.setStorageSync('token', token) wx.setStorageSync('isLog', true) wx.setStorageSync('userInfo', JSON.stringify( userInfo )) wx.setStorageSync('loginRecord', new Date().getTime()) }) .catch(( res ) => { console.log('catch', res) }) .finally(() => { console.log('finally') }) }
以上就是“微信小程序中怎么实现登录”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注蜗牛博客行业资讯频道。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:niceseo99@gmail.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。版权声明:如无特殊标注,文章均为本站原创,转载时请以链接形式注明文章出处。
评论