Koa 获取小程序unionId、openId

2019-07-25阅读(4096)评论(0)牵着狗狗看MM

苏州实时公交查询

最近在研究通过Koa获取获取小程序unionId、openId

开始前先看下UnionID 机制说明

准备工作

小程序相关

  • 小程序appId、AppSecret:登录小程序管理即可看到(AppSecret生成后记得保存)

Koa相关

node + Koa这2个安装过程就不多说了,下面列出koa用到的中间件

获取小程序unionId、openId流程

  1. 通过小程序wx.login()调用接口获取登录凭证(code),wx.getUserInfo()获取相关用户信息,
  2. 结合这2个请求结果后将数据发送给我们的服务端定义的接口wxLogin()
  3. 登录凭证校验:auth.code2Session,如果在微信平台绑定过了小程序,这里就能拿到unionId、openId、session_key,如果没有在微信开放平台绑定小程序,此处请求后只会返回openid和session_key,需要拿session_key做解密,点击下载解密示例代码

目录结构

小程序代码

//app.js
App({
  onLaunch: function () {
    wx.login({
      success(res) {
        if (res.code) {
          //发起网络请求
          // 拿到code 
          let code = res.code;
          wx.getUserInfo({
            success: function (res) {
              res.code = code;
              console.log(res)
              wx.request({
                url: 'http://localhost:3000/wxlogin',//请求服务端的登录接口
                method: 'POST',
                data: res,
                success: (res) => {	
                 //拿到返回的openID和unionID
                }
              })
            }
          })
        } else {
          console.log('登录失败!' + res.errMsg)
        }
      }
    })
  },
  globalData: {
    userInfo: null
  }
})

服务端代码:

Github

赞(1)
转载请注明来源:Web前端(W3Cways.com) - Web前端学习之路 » Koa 获取小程序unionId、openId
分享到: 更多 (0)