小程序 授权、登录、token、code

一、前言

由于微信官方修改了 getUserInfo 接口,所以现在无法实现一进入微信小程序就弹出授权窗口,只能通过 button 去触发。
官方连接:https://developers.weixin.qq.com/community/develop/doc/0000a26e1aca6012e896a517556c01

二、实现思路

  1. 刚开始进入小程序时,先判断是否授权。
  2. 如果没有授权,显示授权button按钮,让用户实现点击的功能,就是通过 button 组件去触发 getUserInof 接口,通过调用wx.login 获取code码,读取登录接口,判断用户是否是新用户。
  3. 如果是新用户,则接着通过调用wx.login 获取code码,然后读取注册接口,注册完之后再读取登录,保存后台返回的token,实现登录。
  4. 如果不是新用户,也是保存后台返回的token,则直接获取个人信息。
  5. 如果已经授权了,再判断token是否存在,如果不存在,则读取登录接口,跟上面步骤一样。
  6. 如果存在,则直接跳过这个页面,进入首页。
    在这里插入图片描述

实现登录的代码

app.js

 // 获取用户信息
    wx.getSetting({
   
      success: res => {
   
        if (res.authSetting['scope.userInfo']) {
   
          // 已经授权,可以直接调用 getUserInfo 获取头像昵称,不会弹框
          wx.getUserInfo({
   
            success: res => {
   
              // 可以将 res 发送给后台解码出 unionId
              this.globalData.userInfo = res.userInfo

              // 由于 getUserInfo 是网络请求,可能会在 Page.onLoad 之后才返回
              // 所以此处加入 callback 以防止这种情况
              if 
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值