小程序(登陆)

官网链接(http://mp.weixin.qq.com/debug/wxadoc/dev/api/)

wx.login(Object object)

调用接口获取登录凭证(code)。通过凭证进而换取用户登录态信息,包括用户的唯一标识(openid)及本次登录的会话密钥(session_key)等。用户数据的加解密通讯需要依赖会话密钥完成。


api-login.jpg

微信自定义登陆

FF73E44E-D7DA-4988-840B-6E500B166D7F.png

app.js

通过wx.login,使用 code 换取 openid 和 session_key 等信息

//小程序生命周期()
 onLaunch: function() {
    // 登录
    wx.login({
      success: res => {
        wx.request({
          url: 'htttps:*****/login/getOpenid',
          data: {
            code: res.code
          },
          success: (data) => {
            if (data.errMsg == 'request:ok') {
              this.globalData.session = data.data;
            } else {
              wx.showModal({
                title: '请求错误',
                content: '错误:未获取到openid',
                showCancel: false
              })
            }
          },
          fail: (ress) => {
            wx.showModal({
              title: '请求错误',
              content: '接口错误:getOpenid',
              showCancel: false
            })
          }
        })
      }
    })
  }
1551163327610.png

login.wxml

//用来获取用户信息  

//用来获取用户手机号(有企业限制)

login.js

 page({
  data: {
    authSetting: false
  },
     /**获取用户信息**/
      getUserInfo: function (e) {
      
      },

      /**获取手机号**/
      getPhoneNumber: function(e) {
       
      }
     
   // 调取微信(自动)登陆
  setPhoneNumber: function(det) {
    wx.request({
      url: 'https:*****/login/Number',
      data: {
        sessionKey: app.globalData.session.session_key,
        encryptedData: det.encryptedData,
        iv: det.iv
      },
      success: (data1) => {
          this.login(updata, '/index.php/minapi/login/userLogin')
        } else {
        }
      },
      fail: (res) => {
      }
    })
  },
      
        /** 登录 **/
  login: function(dat, loginUrl, role) {
    wx.request({
      url: this.data.config + loginUrl,
      data: dat,
      success: (data) => { 
      },
      fail: (res) => {
      }
    })
  },

获取手机号链接(有限制):https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/getPhoneNumber.html

接口演示

  • 通过code去获取 openid 和 session_key


    1.png
  • 获取用户信息

  • 获取手机号返回相对应参数(encryptedData与iv),此刻为加密数据,发送下请求进行解密为json

2.png
  • 发送登陆请求


    13516210-56cef0c01768009e_看图王.png

你可能感兴趣的:(小程序(登陆))