推荐设备MORE

如何自助建站系统—小程序获

如何自助建站系统—小程序获

网站建设

如何自助建站系统—小程序获取unionid走过的坑

日期:2021-02-09
我要分享

 

手机微信微信小程序能够得到到unionid的前提条件标准

1.手机微信微信小程序尽量关系手中机手机微信对外开放对外开放综合服务平台上,不关系是没有的(PS:关系对外开放对外开放综合服务平台务必开发设计设计方案者资质证书资格证书认证,认证收费标准规范的奥)

2.务必手机上手机微信顾客授权手机微信微信小程序

具体的编号进行(我都在index.js的onLoad中进行的)

encryptedData的解密:仿效 官方网网站给的例证中的 Node 的demo,运用 CryptoJS进行纯 js 下解密顾客信(在网络上大部分分分都是用的java互联网网络服务器解密的,但是我都在调的状况下,赶到解密的那一句时,一直错误。大伙儿现如今用的是马上手中机手机微信编号里解密)

仿效的 cnblogs/cai-rd/p/6816849.html

1.加上解密务必的文本文档,将 CryptoJS 的包放入 手机微信微信小程序的 utils 中(点一下完全免费免费下载)(RdWXBizDataCrypt.js沒有在这其中务必本身写,下面有附的编号,马上复制便可以)

RdWXBizDataCrypt.js
/*** Created by rd on 2017/5/4.*/// 引入CryptoJSvar Crypto = require('/cryptojs.js').Crypto;var app = getApp();function RdWXBizDataCrypt(appId, sessionKey) {  this.appId = appId  this.sessionKey = sessionKey}RdWXBizDataCrypt.prototype.decryptData = function (encryptedData, iv) {  // base64 decode :运用 CryptoJS 中 Crypto.util.base64ToBytes()进行 base64编编解码  var encryptedData = Crypto.util.base64ToBytes(encryptedData)  var key = Crypto.util.base64ToBytes(this.sessionKey);  var iv = Crypto.util.base64ToBytes(iv);  // 对称性性解密运用的提升优化算法为 AES-128-CBC,数据信息信息内容采用PKCS#7添充  var mode = new Crypto.mode.CBC(Crypto.pad.pkcs7);  try {    // 解密    var bytes = Crypto.AES.decrypt(encryptedData, key, {      asBpytes: true,      iv: iv,      mode: mode    });    var decryptResult = JSON.parse(bytes);  } catch (err) {    console.log(err)  }  if (decryptResult.watermark.appid !== this.appId) {    console.log(err)  }  return decryptResult}module.exports = RdWXBizDataCrypt

 

2.我都在index.js中开启解密的

index.js:

//index.js//它是关键 引入RdWXBizDataCrypt.js 这一JS文本文档是用以解密用的,下面说起到//这一地域一定要注意了,相对性相对路径一定要写适当,无须用系统软件手机软件提示的会错误,../../才算作根相对性相对路径var WXBizDataCrypt = require('../../utils/cryptojs/RdWXBizDataCrypt.js');//得到应用实例var app = getApp()var appId = "你的手机微信微信小程序id";var secret = '你的手机微信微信小程序secret ';Page({  data: {    motto: 'Hello World',    userInfo: {},    hasUserInfo: false,    canIUse: wx.canIUse('button.open-type.getUserInfo'),    openId:'',//顾客唯一标示    date:"",    unionId:'',    encryptedData:''  },  //恶变恶性事件处理涵数  bindViewTap: function() {    wx.navigateTo({      url: '../logs/logs'    })  },onLoad: function () {    var that =this;     wx.login({      success: res = {        //开展互连网乞求        wx.request({//它是自身的java互联网网络服务器的插孔,将login()获得的code消息推送的互联网网络服务器得到session_key          url: 'abc.anzhonghui.xyz/WxtestServlet/UserController?method=getUnionId',          data: {            js_code: res.code,          },          header: {            'content-type': 'application/x-www-form-urlencoded'          },          method: 'GET',          success: function (res) {            console.log(res.data.session_key)            //获得session_key实例化WXBizDataCrypt()这一涵数在下面解密用            var pc = new WXBizDataCrypt(appId, res.data.session_key)            wx.getUserInfo({              success: function (res) {                //获得getUserInfo()得到的res.encryptedData, res.iv,开启decryptData()解密                var data = pc.decryptData(res.encryptedData, res.iv)                // data.unionId就是大家要的物件了                app.globalData.unionid = data.unionId                console.log('解密后 unionid: ', app.globalData.unionid)                  },              fail: function (res) {                console.log(res)              }            })          },          fail: function (res) { },          complete: function (res) { }        });      }    })}

 

 

3.当提及这儿时在index中的解密方法(decryptData())能用了,现如今可以运行一下了

在这里里再弥补一下相关java互联网网络服务器的事:

具体上java做的事十分简易,手机上手机微信手机微信微信小程序一些插孔不能以用,比如api.weixin.qq/sns/jscode2session?appid=APPID secret=SECRET js_code=JSCODE grant_type=authorization_code,这一插孔现如今都不能在手机微信微信小程序用了,但是他也是尽量的,手机上手机微信官方网网就需要大家用本身的互联网网络服务器去用这一插孔。
[标识:內容1]

具体步骤 :

1.手机微信微信小程序乞求本身的java互联网网络服务器插孔

2.java互联网网络服务器收到乞求,一开始乞求api.weixin.qq/sns/jscode2session?appid=APPID secret=SECRET js_code=JSCODE grant_type=authorization_code  这一插孔

3.java互联网网络服务器将乞求到的数据信息信息内容返回给手机上手机微信手机微信微信小程序

4.完后

对就那麼简单,java就做了一个中间过量的作用,那般就具备了安全性性作用,具体为什么安全性性由于我不会了解道,官方网网说安全性性由于我那般讲过

得到unionid时走的坑

最先看一下官方网网的称呼

GUANFANG

 

 

官方网网说的十分好,在考虑到unionid的规范下插孔api.weixin.qq/sns/jscode2session?appid=APPID secret=SECRET js_code=JSCODE grant_type=authorization_code 返回unionid,可是至始至终由于我没搞弄清楚这一规范是啥,我一直觉得手机上手机微信对外开放对外开放品台没有给我分配unionid,但是当我们们用解密后才发现本来就是我unionid,只是这一插孔没返回。 因而,依据这一插孔获得unionid的小伙子子伴干万别再这一上面坚持不懈了,赶紧试一下解密吧。我坚持不懈二天,都迷失了。

 

拥有解什么时候api.weixin.qq/sns/jscode2session?appid=APPID secret=SECRET js_code=JSCODE grant_type=authorization_code这一插孔才返回unionid的小伙子子伴,麻烦点评一下谢谢。我写了一个得到unionid的小demo,注释都写了,按照这一demo便可以得到到,前提条件标准便是我上面说的许多个规范都具备。CSDN的确是让人恶心想吐想吐,便于钱钱钱,挖空心思思绪了方式压榨,剥削。又把积分改成了二十五,我递交赶到百度搜索检索百度搜索云盘,彻底完全免费共享资源给大家,大家一定要保持程序员开元的优良传统式式。

复制这一段内容后打开百度搜索检索百度搜索云盘手机上上App,具体实际操作更方便快捷哦 联接:pan.baidu/s/1UPGZ1DH1JzwfOkzgcOwqZA 获得码:h14y

 

 

 

 


经典著作权声明

即速应用倡导高度重视与维护保养技术专业专业知识产权年限期限。如发现本站文章内容內容存在经典著作权难点,烦请提供经典著作权疑虑、真正真实身份确认、经典著作所有权证实、 ,大伙儿将马上处理。本站文章内容內容仅作共享资源沟通交流沟通交流关键主要用途,写作者看法不一同于即速应用看法。顾客与写作者的一切交易与本站无关紧要,请悉知。


弥勒供电系统系统软件与手机上手机微信手机微信微信小程序促进智能化化交费协议书便签署 弥勒供电系统系统软件局邀请手机上手机微信手机微信微信小程序“融e电”开发设计设计方案商在我国工商局局金融业组织相关工作中中工作中工作人员学员学生就业实干际实际操作流程进行学习培训学习培训 1605581535 2020双十一,手机上手机微信手机微信微信小程序如何杀出重围占据生产制造制造行业盈利? 双十一即将到来,各种各样商家早已在十月中就早就摩拳擦掌了,相对性性能比过去双十一的盛况,今年手机微信微信小程序才华横溢变为电子器件商务接待生产制造制造行业重要的比赛场。根据阿拉丁指数值值报告预测分析剖析大伙儿能够看到,今年双十一手机微信微信小程序的广告宣传宣传策划运营经营规模将呈现爆发式提升,有去年18亿到今年的4六亿,提升做到250%。手机微信微信小程序电子器件商务接待将变为流量争夺的重要方法。 1605581327 在我国邮政于百度搜索检索App公布集寄件、查询非常于一身的著名知名品牌卡功效 一年一度的双11购物快乐按期而至,大伙儿在“抢货”的同时,无可避免导致由于退货货要想寄快递公司企业的规定。便于考虑到顾客在双十一前后左右上下猛增的快递公司企业规定,在我国邮政于百度搜索检索App公布集寄件、查询非常于一身的著名知名品牌卡功效,该功效由百度搜索检索智能化化手机微信微信小程序载重。 1604628430