微信小程序微信授权登录

https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/login.html
https://developers.weixin.qq.com/miniprogram/dev/api/open-api/login/wx.pluginLogin.html

微信小程序授权登录流程:
微信小程序微信授权登录_第1张图片
1、登录
**wx.pluginLogin(Object args)**该接口仅在小程序插件中可调用,调用接口获得插件用户标志凭证(code)。插件可以此凭证换取用于识别用户的标识 openpid。用户不同、宿主小程序不同或插件不同的情况下,该标识均不相同,即当且仅当同一个用户在同一个宿主小程序中使用同一个插件时,openpid 才会相同。
**wx.login(Object object)调用接口获取登录凭证(code)。通过凭证进而换取用户登录态信息,包括用户在当前小程序的唯一标识(openid)、微信开放平台帐号下的唯一标识(unionid,若当前小程序已绑定到微信开放平台帐号)及本次登录的会话密钥(session_key)等。用户数据的加解密通讯需要依赖会话密钥完成。
wx.checkSession(Object object)检查登录态是否过期。 通过 wx.login 接口获得的用户登录态拥有一定的时效性。用户越久未使用小程序,用户登录态越有可能失效。反之如果用户一直在使用小程序,则用户登录态一直保持有效。具体时效逻辑由微信维护,对开发者透明。开发者只需要调用 wx.checkSession 接口检测当前用户登录态是否有效。登录态过期后开发者可以再调用 wx.login 获取新的用户登录态。调用成功说明当前 session_key 未过期,调用失败说明 session_key 已过期。
2、账号信息
Object wx.getAccountInfoSync()

3、用户信息
wx.getUserProfile(Object object)**获取用户信息。页面产生点击事件(例如 button 上 bindtap 的回调中)后才可调用,每次请求都会弹出授权窗口,用户同意后返回 userInfo。该接口用于替换 wx.getUserInfo。
4、微信授权
wx.authorizeForMiniProgram(Object object)
**wx.authorize(Object object)**提前向用户发起授权请求。调用后会立刻弹窗询问用户是否同意授权小程序使用某项功能或获取用户的某些数据,但不会实际调用对应接口。如果用户之前已经同意授权,则不会出现弹窗,直接返回成功。
5、设置
**wx.openSetting(Object object)**调起客户端小程序设置界面,返回用户设置的操作结果。设置界面只会出现小程序已经向用户请求过的权限。
**wx.getSetting(Object object)**获取用户的当前设置。返回值中只会出现小程序已经向用户请求过的权限。
6、简易实现
在微信开发者工具中,对应授权页面的.wxml中添加button

<button bindtap="onWXClick">授权登录</button>

在对应的.js文件中添加onWXlick函数,并在函数中指定授权成功后跳转页面。

onWXClick(event) {
        var that = this;
        console.log("微信授权登录被点击");
        wx.getUserProfile({
          desc: "完善用户资料",
          success: (res) => {
            console.log("授权成功");
            wx.switchTab({
              url: "/pages/index/index",
            });
          },
          fail: (res) => {
            console.log("授权失败");
          },
        });
      },

退出登录与之相似,添加button,之后跳转至授权页即可。

微信小程序微信授权登录_第2张图片

你可能感兴趣的:(微信小程序)