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

然后在相应的云函数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. 密码错误Neo.ClientError.Security.Unauthorized: The client is unauthorized due to authentication failure
  2. Lync和Exchange 2013集成PART5:UCS和HD头像
  3. IIS7中WCF配置问题集合
  4. python数据可视化的特点_Python数据可视化 pyecharts实现各种统计图表过程详解
  5. guava 并发_Google Guava并发– ListenableFuture
  6. 1盒子刷webpad_拉宽带送的盒子也有春天:一招解放各种束缚限制
  7. Objective-C的基础数据结构
  8. hdu 2546 饭卡 01背包
  9. HTML5+CSS把footer固定在底部
  10. 实锤了!Chrome存在严重漏洞!
  11. python 进程通信方式_python 进程 进程池 进程间通信实现解析
  12. 一维数组二维数组(排序 最大值 插入排序)
  13. Codeforces C. Destroying Array
  14. 取消苹果商店简短验证_苹果:其实我赚钱的是配件!
  15. Python爬取两个城市之间的直线距离
  16. 【秋招纪实录】一篇特别正经的【基恩士】求职经验分享
  17. PADS9.5如何导出的光绘文件(Gerber),应该检查什么?
  18. j3455文件服务器,看烦了千篇一律的J3455?让黑群晖显示真实的CPU信息
  19. postgresql 事务隔离级别 set transaction isolation level
  20. cae计算机仿真分析技术,仿真分析工作在研发中的定位

热门文章

  1. app能不能跳转外部h5_APP内部H5页面跳转 H5唤起APP 怎么做?
  2. 自用的卡尔曼滤波推导
  3. 利用Python编写代码实现消息自动回复
  4. 日期格式化问题tostring(“yyyy-MM-dd HH:mm:ss.fff“)
  5. Redis系列(三)-Redis哨兵模式(一篇文章让你全面的了解reids哨兵模式)
  6. 极光认证——手机号一键登录
  7. 3大技巧完美演示怎么提取图片中的文字全过程
  8. 【Kotlin】Kotlin 中使用 Lambda 表达式替代对象表达式原理分析 ( 尾随 Lambda - Trailing Lambda 语法 | 接口对象表达式 = 接口#函数类型对象 )
  9. 恢复电脑误删除文件的小技巧
  10. 数据结构在编程项目中的作用和认识