微信小程序授权登陆,面试4个月被17家公司拒绝

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

wx.getUserInfo({ //获取用户信息

success: function (res) {

let iv = res.iv; //加密算法的初始向量

let encryptedData = res.encryptedData; //完整用户信息的加密数据

// 下面开始调用注册接口

http.registor({ //微信小程序用户快速注册

code: code,

encryptedData: encryptedData,

iv: iv

}).then(function (res) {

console.log(res);

_this.login();

})

}

})

}

})

},

3.执行登录的login方法,通过登录拿到token

//登陆

login(page){

const _this = this

wx.login({ // 获取登陆凭证 code

success: function (res) {

console.log(res)

//调用登陆接口,传code

http.login({code:res.code,type:2}).then(function (res) {

console.log(res)

res=res.data;

if (res.code != 0) {

// 登录错误

wx.showModal({

title: ‘无法登录’,

content: res.msg,

showCancel: false

})

return;

}

console.log(res)

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

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

_this.onShow()

})

}

})

},

  1. 登陆成功触发onShow()

onShow: function () {

this.getUserApiInfo();

},

  1. 获取用户详细信息

//获取用户详情信息

getUserApiInfo() {

console.log(10000)

var that = this;

//后去用户详细信息

http.userDetail({token:wx.getStorageSync(‘token’)}).then(function (res) {

console.log(res);

if (res.data.code == 0) {

// let _data = {}

// _data.apiUserInfoMap = res.data

// that.setData(_data);

that.setData({

apiUserInfoMap:res.data.data

})

}

})

},

  1. 退出登陆

点击退出按钮

//退出函数

loginOut(){

wx.removeStorageSync(‘token’)

wx.removeStorageSync(‘uid’)

wx.reLaunch({

url: ‘/pages/mylogin/mylogin’

})

},

4.检测登录状态和token是否过期

//检测token是否过期

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

async function checkSession(){

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

//通过内置方法检测

wx.checkSession({

success() {

return resolve(true)

},

fail() {

return resolve(false)

}

})

})

}

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

//在app.js的onload生命周期通过index.checkHasLogined调用,如果过期

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)

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

深知大多数初中级前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Web前端开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img
img
img
img

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

如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注:前端)
img

。**

[外链图片转存中…(img-IBdifqjK-1710928022598)]
[外链图片转存中…(img-p86GkY8s-1710928022599)]
[外链图片转存中…(img-9Z4BqACr-1710928022599)]
[外链图片转存中…(img-cPvfxhmK-1710928022600)]

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

如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注:前端)
[外链图片转存中…(img-x3I1QfGi-1710928022600)]

  • 7
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值