【微信小程序】登录功能实现及讲解(获取用户唯一标识)

微信小程序开发交流qq群   173683895

   承接微信小程序开发。扫码加微信。

正文:

功能:登录实现并获取到用户唯一标识

官方文档地址:可以先看完我的文章再看官方地址

实现步骤:1.调用微信API wx.login()得到code  2.把得到的code传给后端,在后端请求

https://api.weixin.qq.com/sns/jscode2session

3.后端把得到的用户唯一标识(openid)传给前端并在前端保存

接下来就直接把完整的流程写出来了,不再拆分。

小程序端代码:

wx.login({
              success: function (res) {
                if (res.code) {
                  let url = config.HTTP_URL + '/v1/user/login'
                  let data = {
                    code: res.code
                  }
                  util.request(url, 'post', data, '正在加载数据', function (res) {
                    console.log('登录接口返回结果:' + JSON.stringify(res.data))
                    if (res.data.openid){
                        wx.setStorageSync('openid', res.data.openid)
                      }
                    }
                  })
                }
              }
            })

服务器操作说明:获取code请求微信小程序官方接口

 

接口地址:

https://api.weixin.qq.com/sns/jscode2session?appid=APPID&secret=SECRET&js_code=JSCODE&grant_type=authorization_code

请求参数:

参数 必填 说明
appid 小程序唯一标识
secret 小程序的 app secret
js_code 登录时获取的 code
grant_type 填写为 authorization_code

返回参数:

参数 说明
openid 用户唯一标识
session_key 会话密钥
unionid 用户在开放平台的唯一标识符。本字段在满足一定条件的情况下才返回。具体参看UnionID机制说明

返回说明:

//正常返回的JSON数据包
{
      "openid": "OPENID",
      "session_key": "SESSIONKEY",
      "unionid": "UNIONID"
}
//错误时返回JSON数据包(示例为Code无效)
{
    "errcode": 40029,
    "errmsg": "invalid code"
}

以上就是登录获取openid和会话秘钥的完整流程实现,希望能对你们有所帮助,对微信小程序有兴趣的可以关注我或者加入我的微信小程序开发交流群(173683895) 禁止闲扯和广告。

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