微信小程序使用微信授权登录流程,附源码易上手!
发布于 4 年前 作者 taoli 1774 次浏览 来自 分享

官方文档我就不贴了,写那么多我也看不下去,直接说一下流程,第一步用户触发js方法,跳转到下面的授权登录界面,用户点击授权之后就会弹出图二,用户和点击拒绝或应许之后就看下面的js流程就好

WXML

<!--授权页面-->
<view wx:if="{{canIUse}}">
    <view class='header'>
        <image class="my-img" src='../../image/icon/3.jpg'></image>
    </view>
    <view class='content'>
        <view>申请获取以下权限</view>
        <text>获得你的公开信息(昵称,头像等)</text>
    </view>
    <button class='bottom' type='primary' open-type="getUserInfo" lang="zh_CN" bindgetuserinfo="bindGetUserInfo">
        点击授权
    </button>
</view>
<view wx:else>请升级微信版本</view>

wxss

.header {
  margin: 90rpx 0 90rpx 50rpx;
  border-bottom: 1px solid #ccc;
  text-align: center;
  width: 650rpx;
  height: 300rpx;
  line-height: 450rpx;
}
.my-img {
  width: 120rpx;
  height: 120rpx;
}
.content {
  margin-left: 50rpx;
  margin-bottom: 90rpx;
}
.content text {
  display: block;
  color: #9d9d9d;
  margin-top: 40rpx;
}
.bottom {
  border-radius: 80rpx;
  margin: 70rpx 50rpx;
  font-size: 35rpx;
}

JS

const app = getApp();
Page({
  /**
   * 页面的初始数据
   */
  data: {
    // 判断小程序的API,回调,参数,组件等是否在当前版本可用。
    canIUse: wx.canIUse('button.open-type.getUserInfo') //获取用户信息是否在当前版本可用
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {},
  bindGetUserInfo: function (e) { //点击的“拒绝”或者“允许
    if (e.detail.userInfo) { //点击了“允许”按钮,
      wx.login({ // 调用微信登录api
        success: function (res) { // 这一步是获取用户在小程序里的临时code码
          app.http.getOpenId({ // 请求后台接口,用code码换取用户信息openid或者token
            js_code: res.code,
          }).then(res => {
            wx.setStorageSync('openid', res.data.openid)
            wx.setStorageSync('Token', res.data.Token)
          })
        },
        fail: function (res) { // 获取code码失败的方法
          return app.ShowToast('授权失败' + res.Msg)
        }
      })
    } else {
    	//用户点击拒绝逻辑
    }
  }
})
2 回复

微擎模块应用,人人商城需要更新小程序登录授权的可以+ \/:nieyunxuan

回到顶部