<template><view class="login apple-safari-page"><button class="autho-btn" plain open-type="getPhoneNumber"                 @getphonenumber="onGetPhoneNumber" withCredentials>微信授权登录</button></view>
</template>

一定在onLoad获取微信code,防止有时候授权解密失败

onLoad() {let _this = this;// 登录// #ifdef MP-WEIXINuni.login({provider: 'weixin',success: res => {_this.wxCode = res.code}})// #endif
},
methods: {// 微信授权获取微信手机号onGetPhoneNumber(e) {let _this = this;wx.checkSession({success() {//session_key 未过期,并且在本生命周期一直有效// 登录_this.$u.api.getWXSmall({code: _this.wxCode}).then(v => {// 调用后端接口解密if (e.detail.errMsg == "getPhoneNumber:ok") {let encryptedData = e.detail.encryptedDatalet errMsg = e.detail.errMsglet iv = e.detail.iv_this.$u.api.getWXDecryptData({appId: 'wxd1xxxxxxxxxxxxx',// 小程序appIdsessionKey: v.data.session_key,iv,encryptedData}).then(numData => {const {phoneNumber} = numData.data_this.getCommunityInfo(phoneNumber)})} else {uni.navigateBack()}})},fail() {// session_key 已经失效,需要重新执行登录流程wx.showToast({title: '登录信息过期~ 重新登录中……',icon: 'none'})uni.login({provider: 'weixin',success: res => {_this.wxCode = res.code}})},complete() {}})}}

uniapp实现微信授权一键登录相关推荐

  1. uniapp获取微信授权登录和手机号一键登录(保姆教程)

    uniapp获取微信授权登录(保姆教程) 第一步 下载官方给的解密文件'mWXBizDataCrypt' 没有文件就复制该文件的代码创建一个 var crypto = require('crypto' ...

  2. uniapp写微信授权登录

    html部分 <button class="login-btn" type="primary" @click="getUserInfo" ...

  3. uniapp中调用QQ一键登录实现方法

    要在uniapp中实现QQ一键登录,主要步骤: 1.manifest.json的模块设置中,启用QQ登录,并填入appid 3.新建登录页 <template><view>正在 ...

  4. mui微信授权和登录

    微信授权和登录 var authBtns = ['weixin']; //配置业务支持的第三方登录var auths = {};var oauthArea = document.querySelect ...

  5. uniapp app微信授权登录

    先在微信开放平台申请移动应用,然后拿到appid和appsecret秘钥 进入管理中心,选择移动应用,创建移动应用,按步骤来就行了,可能唯一会让你卡住的就是应用签名了 现在要生成应用签名就得用自有证书 ...

  6. springBoot实战微信扫一扫授权一键登录

    之前文章讲了JWT的登陆校验,SpringCloud等微服务下登录校验解决方案JWT 今天再讲一下微信的扫一扫登陆,并结合一下之前写的JWT 首先我们需要了解一下微信开发的官方文档 https://d ...

  7. 在uni-app中如何使用一键登录,如何使用手机号一键登录

    1.首先需要在dcloud开发者控制台开通一键登录, dcloudhttps://dev.dcloud.net.cn/uniLoginhttps://dev.dcloud.net.cn/uniLogi ...

  8. 在uni-app中使用手机号一键登录

    1.首先需要在dcloud开发者控制台开通一键登录 https://dev.dcloud.net.cn/uniLogin 开通一键登录服务, 获取关键最关键的两个参数 ApiKey 和 ApiSecr ...

  9. 关于微信授权与登录的相关操作(纯手敲)

    1.通过授权网址,拿到code 固定式授权网址: https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx70697366a034c0f ...

最新文章

  1. 怎么设计一个合适的延时队列?
  2. Java开源Web Service(转)
  3. OC-Foundation框架
  4. Windows server 2016 搭建RDS服务
  5. CentOS安装nginx方法命令教程
  6. .NETFramework、C#、VisualStudio 这三者之间关系,你了解吗!
  7. 2022-强烈推荐的7款浏览器插件
  8. PHP 解压 ZIP 文件到指定文件夹
  9. 数据平台投标方案模板
  10. win10系统如何查询本机的IP地址和外网IP地址
  11. Node.js安装(window10需要管理员权限)
  12. Qua Vadis Eclipse? 第二部分
  13. OneZero第四周第二次站立会议(2016.4.12)
  14. 但愿人长久,千里共婵娟---众智云
  15. Ubuntu16.04 安装NVIDIA英伟达驱动教程
  16. PostgreSQL行级安全策略RLS和数据加密
  17. StarUML使用文档
  18. Erlang之父去世,忠告程序员:先思考再编程,累的时候不要写代码
  19. 繁易MQTT简单操作说明
  20. 小米品牌广告引擎与算法实践

热门文章

  1. 背水一战 Windows 10 (38) - 控件(布局类): Panel, Canvas, RelativePanel, StackPanel, Grid
  2. BeautifulSoup4解析器
  3. edger多组差异性分析_转录组edgeR分析差异基因
  4. Web服务模拟器——wiremock
  5. 快速排序(java代码实现)
  6. 在StackEdit中实现TitleCapitalization
  7. java最好用的json工具_推荐 9 个 爱不释手的 JSON 工具!
  8. 小程序中定位功能的实现
  9. iOS开屏广告解决方案XHLaunchAd 3.0
  10. Python ftplib实现图片管理中心