golang开发微信小程序后台获取openid与小程序码.md 2022/10/19 微信openid是表示用户在当前应用中的唯一标识,比如小程序,微信公众号等,这些都算是一个应用。 如果有多个应用,同一个用户的openId可能并不相同。 1. 微信小程序登录流程 如下图所示为微信开发者文档中提供的小程序登录流程图 如图中所示,在小程序前端中使用wx.login()获取code后,调用后台程序,由后台再根据appid + appsecret + code继续请求微信接口服务,从而得到openid ,并返回给前端。 因为appid和appsecret是小程序的唯一标识,属于绝对私密信息,所以通过后台程序调用微信接口服务就理 所应当了。 2. 小程序前端实现 示例 1 / 4 golang开发微信小程序后台获取openid与小程序码.md 2022/10/19 App({ onLaunch: function() { var self = this; // 展示本地存储能力 var logs = wx.getStorageSync( 'logs') || [] logs.unshift(Date.now()) wx.setStorageSync( 'logs', logs) // 登录 wx.login({ success: res => { // 发送 res.code 到后台换取 openId, sessionKey, unionId var Params = { code: res.code, //临时登录凭证 }; //生成加密key wx.request({ url: '', // *********此处填写第三方的接口地址********* data: '=' + JSON.stringify(Params), header: { 'content-type': 'application/json' }, method: 'POST', // OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, CONNECT success: function(res) { var openid = res.data.RntData.openid //返回openid self.globalData.openid = openid; console.log(openid); } }) } }) 调用wx.login()获取临时登录凭证code ,并回传到开发者服务器。 接收后台响应结果,并解析获取openid。小程序端与后台交互具体接口可变,此处为一个示例。 3. 小程序后台实现 后台调用auth.code2Session接口,换取用户唯一标识 OpenID、 用户在微信开放平台帐号下的唯一标识 UnionID (若当前小程序已绑定到微信开放平台帐号) 和会话密钥 session_key。 查看微信开发者文档中auth.code2Session接口介绍,后台只需要根据appid、appsecret以及前端传入的 code组装http get请求访问微信接口服务即可获取openid。 请求url地址: GET /sns/jscode2session? appid=APPID&secret=SECRET