使用云函数,添加一键登录模块

然后在相应的云函数index中编写

'use strict';
const crypto = require('crypto')   //下载crypto,引入  npm install crypto-js
exports.main = async (event, context) => {//event为客户端上传的参数console.log('event : ', event)//返回数据给客户端// return eventif(event.path=='/getphone'){const secret = 'XXX' // 自己的密钥不要直接使用示例值,且注意不要泄露const hmac = crypto.createHmac('sha256', secret);let params = event.queryStringParametersconst sign = params.signdelete params.signconst signStr = Object.keys(params).sort().map(key => {return `${key}=${params[key]}`}).join('&')hmac.update(signStr);if(sign!==hmac.digest('hex')){throw new Error('非法访问')}const {access_token,openid} = paramsconst res = await uniCloud.getPhoneNumber({provider: 'univerify',appid: 'XXX', // DCloud appid,不同于callFunction方式调用,使用云函数Url化需要传递DCloud appid参数apiKey: 'XXX', // 在开发者中心开通服务并获取apiKeyapiSecret: 'XXX', // 在开发者中心开通服务并获取apiSecretaccess_token: access_token,openid: openid})// 返回手机号给自己服务器return res}
};

安装crypto的时候记得提前把自己安装的插件先复制一下,不知道是我当时搞错的原因还是啥,把我的插件删了好些

复制package.json文件就行,到时候可以直接npm i 安装所有依赖

login(){let that = thisif(!this.selected){uni.showToast({icon:"none",title:'请先同意协议和隐私政策'})return false}uni.login({provider: 'univerify',univerifyStyle: { fullScreen: true},success(res){console.log(res)let data = {access_token:res.authResult.access_token,openid:res.authResult.openid}let sys = plus.push.getClientInfo();data.cid = sys.clientid;let params = {data: data,that: that,type:2};that.$store.dispatch('login', params);  //这是在store中写的登录函数,就是调用接口,参数是uni.login获得的access_token和openid,然后进行相应操作}})
}

登录接口请求成功后,关闭权限请求页面

uni.closeAuthView()

uniapp app端一键登录相关推荐

  1. uni-app APP端-微信登录流程

    uni-app APP端-微信登录流程 手把手教学 1.前期准备 在微信开放平台注册账户 微信开放平台 (qq.com) 在管理中心中创建移动应用项目,按要求填写相关信息 审核通过后即可获得我们所需的 ...

  2. uniApp APP端调起微信支付失败errCode:-100的踩坑

    使用了在开放平台配置好包名和签名后调试,在有的机型上通过调试可以调起微信支付,但是打包成apk就调起失败,有一种可以成功的结果,反向推断出代码肯定没有问题.但是控制台报errCode:-100的错. ...

  3. uniapp App端使用高德地图

    uniapp App端使用高德地图 第一步: 先去高德官网申请keyhttps://console.amap.com/dev/key/app 关于SHA1生成方法如下:https://lbs.amap ...

  4. uniapp APP端视频轮播问题

    uniapp APP端视频轮播问题(黑屏,变形) 今天接到一个需求:需要在商品详情轮播展示视频,本以为很简单,但是发现好多坑,在app端出现黑屏,卡顿,变形,视频只展示半屏的情况. 完整代码放底下了 ...

  5. uniapp app端使用html2canvas和renderjs实现生成海报图

    uniapp app端使用html2canvas和renderjs实现生成海报图 原本app端是无法使用html2canvas的因为,app端不支持浏览器js. 不过我在uniapp里面看到了rend ...

  6. 公众号微信一键登录 app微信一键登录

    公众号微信一键登录 app微信一键登录 1.公众号微信一键登录 getCode() { // 非静默授权,第一次有弹框this.code = ''var local = location.href;/ ...

  7. uniapp 云开发APP手机号码一键登录

    univerify 是DCloud 推出的一键登录产品,通过与运营商深度合作,实现APP用户无需输入帐号密码,即可使用本机手机号码自动登录的能力.univerify是替代短信验证登录的下一代登录验证方 ...

  8. uniapp实现手机号一键登录功能

    1,第一步 HBuilder X开发者工具账号要和开发者中心控制台账号保持一致. 2,第二步 创建应用要和项目uni-appid一致. 3,第三步 开通一建登录基础配置,注:本地测试无需开通右下角 添 ...

  9. uniApp App端跳转到深色页面闪白记录及优化处理方法

    此方法仅针对App端 (IOS 未测试). 问题产生 从亮色页面切换到深色页面,切换过程中会先出来白底(闪一下),然后才会出现页面内容. 一般首次打开深色页面时候不会出现,二次进入深色页面才会出现以上 ...

最新文章

  1. .NET引用类型与值类型
  2. [转载]Java web应用中的常见字符编码问题的解决方法
  3. http有哪些请求方法
  4. java中什么表示打印_在java中打印对象时会发生什么
  5. 大数据计算引擎:impala对比hive
  6. Windows环境 下载、安装、使用 RabbitMQ_(入门试炼_第1篇)
  7. 重磅!Vue3.0终终终于要来了!
  8. 三分钟学会.NET微服务之Polly
  9. AudioContext
  10. Linux命令行解析参数之getopt_long
  11. HiveSQL解析过程详解
  12. TAOCP_READING 1.1完
  13. D525安装黑群晖DSM6.1.7教程
  14. Android Q - 设置默认输入法
  15. 计算机会议等级排名,中国计算机学会推荐国际学术期刊(搬运于中国计算机学会)
  16. 雀巢咖啡旗下感CAFÉ推出高端鎏光咖啡;武田剥离中国大陆非核心业务至海森 | 美通企业日报...
  17. 什么是企业移动化?以及企业移动化的4大特征
  18. 如何修改图片的dpi?图片怎么调dpi?
  19. 一键反编译安卓apk文件
  20. 4个工具,个个都是精品!修复图片视频画质超好用

热门文章

  1. Microsoft_Malware_Mrediction_kaggle_2nd
  2. 洗衣机计算机控制系统设计图,【论文精选】基于STC89C52的智能全自动洗衣机控制系统设计...
  3. 正经网站爬虫实战,如何快速使用Selenium爬取租房信息
  4. python批量识别图片中文字_Python识别图片中的文字
  5. 分子偶极矩大小如何判断_如何判断分子极性的大小
  6. 大型生产制造执行MES系统源码
  7. HTML5+CSS3模拟实现《亮剑》平安县城一役精彩微信群聊-谁开的炮?
  8. MPAndroidChart BarChart 圆角
  9. Css鼠标移动变小手 pointer
  10. 彻底删除mysql5.1_MySQL5.1安装与卸载教程