WeChat小程序的登录授权关于token

注册时参考接口文档:https://api.it120.cc/doc.html#/%E5%89%8D%E7%AB%AFapi%E6%8E%A5%E5%8F%A3%E6%96%87%E6%A1%A3/%E5%BE%AE%E4%BF%A1%E5%B0%8F%E7%A8%8B%E5%BA%8F/registerComplexUsingPOST_7

async function register(page) {

let _this = this;

wx.login({

success: function (res) {

let code = res.code; // 微信登录接口返回的 code 参数,下面注册接口需要用到

//微信小程序内置获取用户信息的api方法

wx.getUserInfo({

success: function (res) {

console.log(‘getUserInfo::::::’,res)

let iv = res.iv; //加密值

let encryptedData = res.encryptedData; //包括敏感数据在内的完整用户信息的加密数据

let referrer = ‘’ // 推荐人

let referrer_storge = wx.getStorageSync(‘referrer’);

if (referrer_storge) {

referrer = referrer_storge;

}

// 下面开始调用注册接口,用咱们封装调用接口方法去注册

WXAPI.register_complex({

code: code,

encryptedData: encryptedData,

iv: iv,

referrer: referrer

}).then(function (res) {

console.log(‘登录注册成功状态:’,res)

_this.login(page);

})

}

})

}

})

}

(3)执行登录login方法

async function login(page){

const _this = this

wx.login({

success: function (res) {

WXAPI.login_wx(res.code).then(function (res) {

console.log(‘登录成功后返回结果::::::’,res)

if (res.code == 10000) {

// 去注册

//_this.register(page)

return;

}

if (res.code != 0) {

// 登录错误

wx.showModal({

title: ‘无法登录’,

content: res.msg,

showCancel: false

})

return;

}

//登录成功将后端返回的token和uid存储到本地缓存中

wx.setStorageSync(‘token’, res.data.token)

wx.setStorageSync(‘uid’, res.data.uid)

//如果有page,则重新刷新page对应的页面,或用wx.navigaterTo()

if ( page ) {

page.onShow()

}

})

}

})

}

//下面两个方法主要用于检测登录态和token是否过期

1.只检测登录态(检测微信返回)

async function checkSession(){

return new Promise((resolve, reject) => {

wx.checkSession({

success() {

return resolve(true)

},

fail() {

return resolve(false)

}

})

})

}

// 总体检测登录状态,包括token和微信登录态 返回 true 或false

async function checkHasLogined() {

//获取本地存储的token

const token = wx.getStorageSync(‘token’)

//如果没有token,直接返回false

if (!token) {

return false

}

//检测微信登录态

/**

  • 调用成功说明当前 session_key 未过期,调用失败说明 session_key 已过期

*/

const loggined = await checkSession()

//如果没有登录态,则移除token,并返回false

if (!loggined) {

wx.removeStorageSync(‘token’)

return false

}

//检测登录token是否有效

const checkTokenRes = await WXAPI.checkToken(token)

//如果登录token无效,移除token并返回false

if (checkTokenRes.code != 0) {

wx.removeStorageSync(‘token’)

return false

}
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:前端)

最后

资料过多,篇幅有限,需要文中全部资料可以点击这里获取前端面试资料PDF完整版!

自古成功在尝试。不尝试永远都不会成功。勇敢的尝试是成功的一半。

tps://img2.imgtp.com/2024/03/13/H4lCoPEF.jpg" />

最后

[外链图片转存中…(img-I4XIFQX1-1712549793134)]

[外链图片转存中…(img-fr7x96Ox-1712549793135)]

资料过多,篇幅有限,需要文中全部资料可以点击这里获取前端面试资料PDF完整版!

自古成功在尝试。不尝试永远都不会成功。勇敢的尝试是成功的一半。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值