• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

微信小程序的登录流程

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

小程序可以通过微信官方提供的登录能力方便地获取微信提供的用户身份标识,快速建立小程序内的用户体系

 

大概的登录流程:

1、调用wx.login()获取登录凭证code,(其中code有效期为5分钟,且临时登录凭证只能使用一次)

2、使用wx.request请求后台接口,把code值作为参数传给后台,后台会根据传过去的code来获取openid(唯一标识)和session_key(秘钥)

3、后台调用微信登录校验接口,获得session_key+openid,后端自定义新的密钥并关联返回的 session_key 和 openid,将新的密钥返给前端

4、使用wx.setStorage把session_id存储到本地,在需要使用的session_id的地方调用wx.getStorage

使用wx.checkSession来检测登录状态是否过期,如果过期了才调用登录接口,而不是每次进入小程序都调用登录接口

 

const TOKEN = \'token\'
App({
    globalData: {
        token: \'\'
    },
    onLaunch: function() {
       //先从缓存中取出token
       const token = wx.getStorageSync(TOKEN, token);
      //判断token是否存在
      if(token && token.length !== 0) {
          //已有token,验证token是否过期
          this.checkToken();
      } else{
          this.login();
      }
    },
    //验证token是否过期
    checkToken() {
        wx.request({ 
            url: \'http://123.207.3000/auth\', 
            method: \'post\', 
            header: {  token }
            success: (res) => { 
                if(!res.data.errCode) {
                    this.globalData.token = token;
                } else {
                    this.login();
                }
            },
            fail: (err) => {
                console.log(res);
            }
         }) 
    },
    //登录
    login() {
        wx.login() { 
        success(res) => { 
            //获取code,code只有5分钟的有效期 
            const code = res.code; 
            //将code传给服务器 
            wx.request({ 
                url: \'http://123.207.3000/login\', 
                methoeds: \'post\', 
                data: { code }, 
                success: (res) => { 
                    console.log(res); 
                    //取出token保存在globalData中 
                    const token = res.data.token; 
                    this.globalData.token = token; 
                    //进行本地存储 
                    wx.setstorageSync(TOKEN, token) 
                 } 
              }) 
            } 
         }
    }
})

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
微信小程序入门注意发布时间:2022-07-18
下一篇:
H7-TOOL的LUA小程序教程第5期:串口开发,含Modbus(2022-01-16)发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap