uniapp app端一键登录
使用云函数,添加一键登录模块
然后在相应的云函数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端一键登录相关推荐
- uni-app APP端-微信登录流程
uni-app APP端-微信登录流程 手把手教学 1.前期准备 在微信开放平台注册账户 微信开放平台 (qq.com) 在管理中心中创建移动应用项目,按要求填写相关信息 审核通过后即可获得我们所需的 ...
- uniApp APP端调起微信支付失败errCode:-100的踩坑
使用了在开放平台配置好包名和签名后调试,在有的机型上通过调试可以调起微信支付,但是打包成apk就调起失败,有一种可以成功的结果,反向推断出代码肯定没有问题.但是控制台报errCode:-100的错. ...
- uniapp App端使用高德地图
uniapp App端使用高德地图 第一步: 先去高德官网申请keyhttps://console.amap.com/dev/key/app 关于SHA1生成方法如下:https://lbs.amap ...
- uniapp APP端视频轮播问题
uniapp APP端视频轮播问题(黑屏,变形) 今天接到一个需求:需要在商品详情轮播展示视频,本以为很简单,但是发现好多坑,在app端出现黑屏,卡顿,变形,视频只展示半屏的情况. 完整代码放底下了 ...
- uniapp app端使用html2canvas和renderjs实现生成海报图
uniapp app端使用html2canvas和renderjs实现生成海报图 原本app端是无法使用html2canvas的因为,app端不支持浏览器js. 不过我在uniapp里面看到了rend ...
- 公众号微信一键登录 app微信一键登录
公众号微信一键登录 app微信一键登录 1.公众号微信一键登录 getCode() { // 非静默授权,第一次有弹框this.code = ''var local = location.href;/ ...
- uniapp 云开发APP手机号码一键登录
univerify 是DCloud 推出的一键登录产品,通过与运营商深度合作,实现APP用户无需输入帐号密码,即可使用本机手机号码自动登录的能力.univerify是替代短信验证登录的下一代登录验证方 ...
- uniapp实现手机号一键登录功能
1,第一步 HBuilder X开发者工具账号要和开发者中心控制台账号保持一致. 2,第二步 创建应用要和项目uni-appid一致. 3,第三步 开通一建登录基础配置,注:本地测试无需开通右下角 添 ...
- uniApp App端跳转到深色页面闪白记录及优化处理方法
此方法仅针对App端 (IOS 未测试). 问题产生 从亮色页面切换到深色页面,切换过程中会先出来白底(闪一下),然后才会出现页面内容. 一般首次打开深色页面时候不会出现,二次进入深色页面才会出现以上 ...
最新文章
- 密码错误Neo.ClientError.Security.Unauthorized: The client is unauthorized due to authentication failure
- Lync和Exchange 2013集成PART5:UCS和HD头像
- IIS7中WCF配置问题集合
- python数据可视化的特点_Python数据可视化 pyecharts实现各种统计图表过程详解
- guava 并发_Google Guava并发– ListenableFuture
- 1盒子刷webpad_拉宽带送的盒子也有春天:一招解放各种束缚限制
- Objective-C的基础数据结构
- hdu 2546 饭卡 01背包
- HTML5+CSS把footer固定在底部
- 实锤了!Chrome存在严重漏洞!
- python 进程通信方式_python 进程 进程池 进程间通信实现解析
- 一维数组二维数组(排序 最大值 插入排序)
- Codeforces C. Destroying Array
- 取消苹果商店简短验证_苹果:其实我赚钱的是配件!
- Python爬取两个城市之间的直线距离
- 【秋招纪实录】一篇特别正经的【基恩士】求职经验分享
- PADS9.5如何导出的光绘文件(Gerber),应该检查什么?
- j3455文件服务器,看烦了千篇一律的J3455?让黑群晖显示真实的CPU信息
- postgresql 事务隔离级别 set transaction isolation level
- cae计算机仿真分析技术,仿真分析工作在研发中的定位
热门文章
- app能不能跳转外部h5_APP内部H5页面跳转 H5唤起APP 怎么做?
- 自用的卡尔曼滤波推导
- 利用Python编写代码实现消息自动回复
- 日期格式化问题tostring(“yyyy-MM-dd HH:mm:ss.fff“)
- Redis系列(三)-Redis哨兵模式(一篇文章让你全面的了解reids哨兵模式)
- 极光认证——手机号一键登录
- 3大技巧完美演示怎么提取图片中的文字全过程
- 【Kotlin】Kotlin 中使用 Lambda 表达式替代对象表达式原理分析 ( 尾随 Lambda - Trailing Lambda 语法 | 接口对象表达式 = 接口#函数类型对象 )
- 恢复电脑误删除文件的小技巧
- 数据结构在编程项目中的作用和认识