多平台统一登录之 unionID

通过获取用户基本信息接口,开发者可通过OpenID来获取用户基本信息,而如果开发者拥有多个应用,可使用以下办法通过UnionID机制来在多个应用进行用户帐号互通。
只要是同一个微信开放平台帐号下的公众号,用户的UnionID是唯一的。

换句话说,同一用户,对同一个微信开放平台帐号下的不同应用,UnionID是相同的。
此前的OpenID机制,每个微信号对应每个应用有唯一的OpenID,所以不同应用之间是不能共享用户的,现在有了UnionID就可以了。

APP端获取 unionID

使用 uni.login 即可。

小程序端获取 unionID

步骤:

1、配置小程序 appid (此appid 在微信开放平台已经绑定);
2、使用 uni.login 登录时会获取 code,用 code 换取 seesion_key;
3、在获取用户信息函数中获取到加密信息;
4、利用 seesion_key 及加密信息在服务端解密获取 unionID

php 后端注意事项

需要开启 php_openssl 扩展

前端实现过程代码

export default {data() {return {};},methods:{// #ifdef MP-WEIXINgetUserInfo : (info) => {//加密数据var encryptedData = info.mp.detail.encryptedData;var iv            = info.mp.detail.iv;info              = info.mp.detail.userInfo;//info//userInfo {"nickName":"深海","gender":1,...avatarUrl":"https://7tdPvkPaJlkaLFFbLAffGVApluZdanLkDVplNlAhq1EJA/132"}//与服务器交互进行解密uni.request({url: _self.apiServer+'member&m=wxaes',method: 'POST',header: {'content-type' : "application/x-www-form-urlencoded"},data: {session_key   : session_key,encryptedData : encryptedData,iv            : iv},success: res => {console.log(res);//此处可以成功获取 unionId 利用 unionId 完成登录即可},fail: () => {},complete: () => {}});}},onLoad:function(options){_self = this;pageOptions = options;// #ifdef MP-WEIXIN// 调用 微信 login 获取 codeuni.login({success: (res) => {uni.request({url:_self.apiServer+'member&m=codeToSession&code='+res.code,success: (sessions) => {session_key = sessions.data.session_key;}}}});}});// #endif
}

php 后端代码

<?php
namespace hsC;
class member{//......public function wxaes(){if(empty($_POST['session_key']) || empty($_POST['encryptedData']) || empty($_POST['iv'])){exit(jsonCode('error', 'data error'));}include HS_TOOLS.'WXBizDataCrypt.php';$pc = new \WXBizDataCrypt(HS_APPID, $_POST['session_key']);$data = '';$errCode = $pc->decryptData($_POST['encryptedData'], $_POST['iv'], $data);if ($errCode == 0) {exit($data);} else {exit(jsonCode('error', $errCode));}}
}

Uni-App - 实战《悦读》之多应用、多平台统一登录关系相关推荐

  1. C++ 纯WIN32 API编程 悦读器实战示例

    /* 最后修改:2020-09-21 14:04 <C++编程示例大全> 作者:张国鹏 本例功能:C++ 纯WIN32 API编程 悦读器实战示例 软件下载:http://lovegp.c ...

  2. uni app 调用网络打印机_一套代码,七端运行-uni-app

    为什么要使用uni-app uni-app 是一个使用 Vue.js 开发跨平台应用的前端框架,开发者编写一套代码,可编译到iOS.Android.H5.小程序等多个平台. 同时在别的方面它也有很大优 ...

  3. Uni-app “悦读”项目开发

    悦读APP 多页面 主要页面由三个页面组成:index.vue为入口页面,write.vue为写作页面,my.vue为登录页面 底部导航栏: Page.json中底部导航栏样式: "glob ...

  4. 喜讯|大脑营行苏引华荣获巨量引擎2023全民悦读会“悦读星推官”

    全民阅读时代,新的阅读模式打开了"流量之门",图书电商在抖音趋势正盛.为实现供求对接,推动全民阅读,将传统书商与用户需求相结合,巨量引擎投资消费业务中心发起「全民悦读会」IP,旨在 ...

  5. Python开发App实战(一)-Kivy入门

    写在最前: 开发App的主流语言中应该是Java,但是苦于没有学过Java但目前又没那么多时间重新学,因此就想着用已经入门的Python开发两个App练手,学习的过程中看过很多资料,也踩过很多坑,于是 ...

  6. 悦读FM客户端应用源码

    <ignore_js_op> <ignore_js_op><ignore_js_op> 正如悦读FM所表达的[当好的文字遇上好的声音],悦读FM提供了一个很好的文章 ...

  7. uni app页面传值

    传值是很常见的知识点,刚开始接触uni app总会踩到很多传值的坑,不是这里传不过去,就是那边接收不到,以下是我遇到过的一些传值方式,实在不行,咱就一个一个试,总有一个能"干起". ...

  8. 青龙羊毛——悦读(搬运)

    萝卜大佬写的新毛,我还没跑!也没啥介绍,自己跑了脚本研究一下吧! 跑完了,有毛! 1.入口 活动入口--悦读 2.脚本 我还没跑过,大佬说一个小时跑一次,毛毛在哪也没看到,大家拉库自己跑吧! ql r ...

  9. 切换 uniapp_万能前端框架uni app初探03:底部导航开发

    前言 本节我们使用uni app的底部导航功能,点击不同tab会显示不同页面,这个功能在实际项目开发中几乎是必备的. 一.基础知识 1.tabBar 如果应用是一个多 tab 应用,可以通过 tabB ...

最新文章

  1. mysql锁表_MYSQL锁表问题的解决方法
  2. OpenCV学习(20) grabcut分割算法
  3. go flag包获取命令行参数使用示例
  4. 安卓开源项目周报1220
  5. Mycat-server-1.6.5 常见分片方式
  6. ActiveMQ此例简单介绍基于docker的activemq安装与集群搭建
  7. SpringBoot修改默认端口号
  8. python numpy官方文档_[ Numpy中文文档 ] 介绍 - pytorch中文网
  9. 【复变函数与积分变换】【第一章 复数与复变函数】
  10. CPDA数据分析师认证,大数据分析的综合型人才
  11. 哪个大佬有c#三层架构写的餐饮管理系统源代码
  12. 【深度理解】如何评价GAN网络的好坏?IS(inception score)和FID(Fréchet Inception Distance)
  13. vm安装win xp镜像遇到的安装问题之一
  14. song -接小球游戏1
  15. VScode comment translate 无法使用问题
  16. 占优策略名词解释_占优策略均衡
  17. 联想台式计算机亮度怎么调,台式联想电脑亮度在哪里调(手把手教你调电脑亮度)...
  18. Python绘制气泡图
  19. 多分类中accuary与micro F1-score的恒等性
  20. 深度学习--解决模型过拟合的问题

热门文章

  1. Element UI + Vue 批量上传图片(只请求一次)
  2. Jquery查找父级添加样式
  3. 02 【ArcGIS JS API + eCharts系列】实现二、三维迁徙图的绘制
  4. 水桶服务器1.7.10服务器文件,我的世界1.7.10水桶开服包游戏
  5. 因果推断:断点回归应用于业务数据分析的思路
  6. MySQL HA方案:MMM,MHA,Orchestrator,MGR
  7. 一步一步的微软Lync 2010综合标准服务器安装指南
  8. 全民创业时代,程序员这样创业获得成功!
  9. python 穷举 排列组合
  10. 国赛来咯!第十八届全国大学生智能汽车竞赛百度竞速赛正式开启