页面增加一个按钮

<button type="default" open-type="getUserInfo" @click="getUserInfo">UserInfo</button>

前端解密

安装 crypto-js

npm install crypto-js

下载 WXBizDataCrypt.js 文件
WXBizDataCrypt.js微信官方下载地址

打开Node文件夹,把 WXBizDataCrypt.js 文件放入你的项目中。(比如我是放在我的common文件夹下)
在需要解密的页面引用该文件

import WXBizDataCrypt from "@/common/WXBizDataCrypt.js";        //请以你的实际地址为准

具体代码如下,关键位置请看注释

data() {
return {
Code: '',
openid: '',
session_key: ''
}
},
getUserInfo() {
//登录
uni.login({
provider: 'weixin',
success: res => {
// console.log('登录成功:', res);
//获取临时登录凭证code
this.Code = res.code;
//获取openid,session_key
let appid = "wxce185cd1da123456" //需替换
let secret = "25d0fe7478355910fc143ce6b1234567" //需替换
let url = 'https://api.weixin.qq.com/sns/jscode2session?appid=' + appid + '&secret=' + secret +
'&js_code=' +
this.Code + '&grant_type=authorization_code';
uni.request({
url: url, // 请求路径
success: res => {
// console.log('openid session_key:', res.data);
this.openid = res.data.openid
this.session_key = res.data.session_key //获取用户信息
uni.getUserInfo({
provider: 'weixin',
success: res => {
console.log('获取用户信息', res);
//解密encryptedData,可获取用户openId
let pc = new WXBizDataCrypt(appid, this.session_key);
let data = pc.decryptData(res.encryptedData, res.iv);
console.log('解密后:',data)
},
fail: err => {
console.log('获取用户信息错误:', err)
}
}) },
fail: err => {
console.log('请求失败:',err)
}
});
},
fail: err => {
console.log('登录失败:', err)
}
})
},

最新文章

  1. 解读ASP.NET 5 &amp; MVC6系列(17):MVC中的其他新特性
  2. 安装Hive(独立模式 使用mysql连接)
  3. 关于android的日志输出&amp;LogCat
  4. Python Beautiful Soup学习之HTML标签补全功能
  5. Html 之div+css布局之css基础
  6. Java for LeetCode 206 Reverse Linked List
  7. DB2解除锁表
  8. UVA 11609 Teams 组合数学+快速幂
  9. RabbitMQ C# 例子 -摘自网络
  10. JavaScript函数学习要点总结(一)
  11. oracle rman异机恢复
  12. CentOS上安装Hadoop2.7,添加数据节点,运行wordcount
  13. springboot(一)
  14. vue客户端渲染首屏优化之道
  15. 如何下载西门子产品CAD、3D和EPLAN文件
  16. 36ArcGIS API for JavaScript3.X 系列加载天地图(经纬度)
  17. LOJ#2339 通道
  18. 单元测试系列之十一:Jmockit之mock特性详解
  19. centos7 keepalived 配置高可用
  20. Nodejs学习笔记(七)—Node.js + Express 构建网站简单示例

热门文章

  1. 关于C语言中的unsigned
  2. 《手把手教你》系列技巧篇(十四)-java+ selenium自动化测试-元素定位大法之By xpath上卷(详细教程)
  3. Java 在Word中创建多级项目符号列表和编号列表
  4. 双非本科Android开发,如何逆袭拿到大厂 Offer?
  5. SpringBoot开发二十-私信列表
  6. SpringCloud升级之路2020.0.x版-15.UnderTow 订制
  7. 使用JDBC(Dbutils工具包)来从数据库拿取map类型数据来动态生成insert语句
  8. 08-SpringCloud Consul
  9. SQL 练习9
  10. 高性能 C++ HTTP 客户端原理与实现