微信小程序解析用户unionid等信息

  1. 调用wx.login获取 用户临时登录凭证code(有效期5分钟);
  2. 调用wx.getUserInfo获取加密过的数据encryptedData和解密参数iv;
  3. 将code、encryptedData、iv传给后台,并在后台调用微信auth.code2Session方法,然后将解析到的信息返回给前台。
    前端代码示例如下:

注意:这里的wx.login和wx.getUserInfo调用顺序,先调用getUserInfo后调用wx.login会导致获取到的code和getUserInfo返回的加密数据不匹配,从而可能会导致解析unionid等用户信息失败!血的教训。

var app = getApp();
const utils = require('util.js');
/*** 获取用户信息*/
function getUserInfo(callback) {let _this = this;/***1.判断用户是否授权过(获取用户信息)*/wx.showLoading({title: '加载中...',mask: true})wx.getSetting({success: function (setting) {if (setting.authSetting['scope.userInfo']) {wx.login({success(loginRes){wx.getUserInfo({success: function (res) {console.log('getUserInfo获取用户信息:', res);let userInfo = res.userInfo;wx.request({url: utils.baseUrl + 'index',data: {code: loginRes.code,iv: res.iv,encryptedData: res.encryptedData,},method: 'GET',header: {'content-type': 'application/json'}, // 设置请求的 headersuccess: function (data) {console.log('解析unionId:', data);if (data.data.resultCode == '1') {userInfo.openId = data.data.data.openId;userInfo.unionId = data.data.data.unionId;wx.setStorageSync('userInfo', userInfo);//执行回调函数if (callback) {callback();}wx.hideLoading();} else {wx.hideLoading();utils.showToast(data.data.resultMsg);}},fail(err) {wx.hideLoading();}})},fail: function (err) {_this.getUserInfo();}})},fail(loginErr){wx.hideLoading();}})}else {//没有授权的情况,跳转到welcome页面_this.getUserInfo();}},fail(){wx.hideLoading();}})
}module.exports = {getUserInfo: getUserInfo
}

后台代码示例,官方在文档中提供了:php,python,node.c++的示例代码,java版本,在网上可以搜的到,很多开发者在博客中提供了java示例代码,详情见官方文档服务端获取开放数据

ok,搞定收工!

微信小程序解析unionid相关推荐

  1. 微信小程序PHP文件建在哪里,微信小程序解析H5文件方法

    经常有网友问怎么让微信小程序解析H5文件或者类似封装H5网页到APP里面?我一开始觉得这是不可能的,因为官方的解答是这样的: 每一个小程序页面是由同路径下同名的四个不同后缀文件的组成,如:index. ...

  2. 微信小程序获取unionid为空

    微信小程序获取unionid为空 原因:未绑定微信开放平台 绑定步骤 原因:未绑定微信开放平台 最新在调试一个新的微信小程序,因为要对web授权登录.app授权登录.小程序授权登录:几种登录场景根据u ...

  3. 小程序(二十六)微信小程序解析富文本的几种方式

    微信小程序解析富文本html大概有两种方式(我发现的). 两种方法,各有各的优缺点. 一:使用小程序内置标签rich-text 这个标签解析的富文本会保留你在pc端编辑的样式,也就是说,你在pc端编辑 ...

  4. 微信小程序获取unionid与openid

    获取unionid需要先在微信开放平台绑定小程序,否则无法获取 UnionID机制说明  unionid来区分用户的唯一性,在相同微信开放平台帐号下的移动应用.网站应用.小程序.公众号,用户的unio ...

  5. 微信小程序获取UnionId - Java后台解决

    UnionId 是微信平台用户的唯一标识,对于后台开发来说,UnionId 无疑是一个非常好用的东西. 前言 在获取 UnionId 之前,首先需要做下面的准备: 在小程序平台完善自己的微信小程序信息 ...

  6. 微信小程序富文本解析点击图片放大_微信小程序解析富文本过程详解

    前言 最近公司在开发OTA微信小程序,一些页面的详情内容是HTML富文本格式的的,但是微信小程序不能直接解析HTML,需要将内容中的HTML标签转换成微信小程序所支持的标签. 开始的时候想过自己写方法 ...

  7. 微信小程序获取unionID思路整理

    小程序能够获取到unionid的前提 1.小程序必须绑定在微信开放平台上,不绑定是没有的(PS:绑定开放平台需要开发者资质认证,认证收费的奥) 2.需要微信用户授权小程序 具体的代码实现(我在inde ...

  8. 微信小程序获取unionid走过的坑--手把手教你获取

    小程序能够获取到unionid的前提 1.小程序必须绑定在微信开放平台上,不绑定是没有的(PS:绑定开放平台需要开发者资质认证,认证收费的奥) 2.需要微信用户授权小程序 具体的代码实现(我在inde ...

  9. 微信小程序解析渲染Web App中的富文本内容

    前提:微信小程序里面没有DOM对象,不能直接操作DOM. 问题:在日常的web前端开发中,必然会接触到富文本编辑器,如何在小程序里展示渲染富文本编辑器中的HTML元素呢? 测试内容:wangEdito ...

最新文章

  1. JQuery EasyUI的常用组件
  2. FFmpeg中AVDictionary介绍
  3. nginx bind() to 0.0.0.0:**** failed (13: Permission denied)
  4. Data Lake Analytics: 读/写PolarDB的数据
  5. Qt中的QDialog
  6. 张衡的地震仪不起作用的原因
  7. Bootstrap 斜体、文本对齐、缩略图、地址、列表等
  8. 圆形的CNN卷积核?华中科大清华黄高团队康奈尔提出圆形卷积,进一步提升卷积结构性能!
  9. 博士申请 | 香港中文大学(深圳)罗元教授招收计算机与信息工程全奖博士
  10. 在最美好的年华里,不要辜负最美的自己
  11. 子线程中更新UI线程的三个方法
  12. HTML音乐播放没声音,网页没有声音但系统显示有声音怎么回事?如何解决?
  13. MYSQL的C 语言接口
  14. LIBUV学习笔记(三)libuv中pipe/tty相关操作以及一个简单的unix域回射服务器/客户端例子...
  15. Rabin-Karp算法详解和实现(python)
  16. 网页嵌入视频播放器代码大全
  17. 小波去噪 语音去噪 信号小波去噪 小波基去噪 小波收缩去噪-matlab
  18. 2020 iOS拼多多(多多进宝)APP端接入,打开拼多多商品详情与授权
  19. 【STM32】 STM32单片机IO引脚配置方式
  20. [转载]STED和STORM、PALM

热门文章

  1. 安装LEGO软件遇到的问题
  2. scViewerX Crack,处理各种文件格式
  3. 51单片机c语言按键扫描程序,单片机按键扫描数码管显示C语言程序
  4. 和数软件:区块链带来的“革命”
  5. bilibili用户信息爬虫(全网最全)
  6. 电气工程及其自动化专业英语复习
  7. python爬取历史天气查询_历史天气爬取
  8. 能挽救这条船的,唯有你图片_这是科技如何帮助普通民众挽救生命
  9. php class ziparchive not found,php Class 'ZipArchive' not found解决办法(php安装zip扩展)
  10. art2模型 matlab,Splart-Allmaras湍流模型及MATLAB编程~