uniapp 一键登录

链接: link

    // 判断是否支持一键登陆isAutoLogin() {let _that = thisuni.preLogin({ //预登录provider: 'univerify', //用手机号登录success() {console.log('预登录成功')uni.login({ //正式登录,弹出授权窗provider: 'univerify',univerifyStyle: { // 自定义登录框样式//参考`univerifyStyle 数据结构`"fullScreen": true, // 是否全屏显示,默认值: false"title": '快速登录',"backgroundColor": "#ffffff", // 授权页面背景颜色,默认值:#ffffff"icon": {"path": "" // 自定义显示在授权框中的logo,仅支持本地图片 默认显示App logo},"phoneNum": {"color": "#000000", // 手机号文字颜色 默认值:#000000"fontSize": "18" // 手机号字体大小 默认值:18},"slogan": {"color": "#8a8b90", //  slogan 字体颜色 默认值:#8a8b90"fontSize": "12" // slogan 字体大小 默认值:12},// 一键登录"authButton": {"normalColor": "#3479f5", // 授权按钮正常状态背景颜色 默认值:#3479f5"highlightColor": "#2861c5", // 授权按钮按下状态背景颜色 默认值:#2861c5(仅ios支持)"disabledColor": "#73aaf5", // 授权按钮不可点击时背景颜色 默认值:#73aaf5(仅ios支持)"textColor": "#ffffff", // 授权按钮文字颜色 默认值:#ffffff"title": "本机号码一键登录" // 授权按钮文案 默认值:“本机号码一键登录”},// 其他登录方式"otherLoginButton": {"visible": "true", // 是否显示其他登录按钮,默认值:true"normalColor": "#f8f8f8", // 其他登录按钮正常状态背景颜色 默认值:#f8f8f8"highlightColor": "#dedede", // 其他登录按钮按下状态背景颜色 默认值:#dedede"textColor": "#000000", // 其他登录按钮文字颜色 默认值:#000000"title": "密码登录", // 其他登录方式按钮文字 默认值:“其他登录方式”"borderWidth": "1px", // 边框宽度 默认值:1px(仅ios支持)"borderColor": "#c5c5c5" //边框颜色 默认值: #c5c5c5(仅ios支持)},// 自定义按钮登录方式"buttons": { // 仅全屏模式生效,配置页面下方按钮  (3.1.14+ 版本支持)  "iconWidth": "45px",        // 图标宽度(高度等比例缩放) 默认值:45px  "list": [{"provider": "apple","iconPath": "",  // 图标路径仅支持本地图片  },{"provider": "weixin","iconPath": "",}]},"privacyTerms": {"defaultCheckBoxState": "true", // 条款勾选框初始状态 默认值: true"textColor": "#8a8b90", // 文字颜色 默认值:#8a8b90"termsColor": "#1d4788", //  协议文字颜色 默认值: #1d4788"prefix": "我已阅读并同意0", // 条款前的文案 默认值:“我已阅读并同意”"suffix": "并使用本机号码登录1", // 条款后的文案 默认值:“并使用本机号码登录”"fontSize": "12", // 字体大小 默认值:12,"privacyItems": [// 自定义协议条款,最大支持2个,需要同时设置url和title. 否则不生效{"url": "https://", // 点击跳转的协议详情页面"title": "用户服务协议" // 协议名称}]}},success(res) {console.log(res, 'uni.login');// 在得到access_token后,通过callfunction调用云函数uniCloud.callFunction({name: 'getPhoneNumber', // 云函数名称data: { //传给云函数的参数'access_token': res.authResult.access_token, // 客户端一键登录接口返回的access_token'openid': res.authResult.openid // 客户端一键登录接口返回的openid},success(callRes) {console.log('调用云函数成功', callRes)// 此处可获得手机号,调用后端接口console.log(callRes.result.data)// {"code":0,"success":true,"phoneNumber":"15131084428"} },fail(callErr) {console.log('调用云函数出错', callErr)},complete() {uni.closeAuthView() //关闭授权登录界面}})},fail(err) { // 正式登录失败console.log(err)console.log(err.errMsg)uni.closeAuthView() //关闭授权登录界面}})},fail(err) { //预登录失败console.log('错误码:', err)console.log(err.errMsg)}})},
uniCloud-aliyun文件下找到cloudfunctions
新建文件夹getPhoneNumber里创建index.js'use strict';
exports.main = async (event, context) => {const res = await uniCloud.getPhoneNumber({appid: '__UNI__6A6B707',// 在manifest.json里面可以找到provider: 'univerify',apiKey: 'e08ae3b7e18581b996589b0f84c2e5ba',// 在DCloud开发者中心开通一键登录基础服务时自动生成的apiSecret: '78ed705cb1534b3ab83f6e1210c341fb',// 开通一键登录基础服务时自动生成的access_token: event.access_token,openid: event.openid});console.log(res,"res"); // res里的数据格式   { code: 0, success: true, phoneNumber: '186*****078' }return {code: 0,data: res,message: '获取手机号成功'}
};

uniapp 一键登录相关推荐

  1. uniapp一键登录流程及代码

    原理流程: 通过三大运营商和uniCloud云函数,以移动网络(流量)去鉴别手机号,用户只需要点击"登录"按钮,前端开发者就可以获取到手机号,将这个手机号通过接口传递给后端,后端一 ...

  2. uniapp一键登录

    这里写目录标题 手机号一键登录 整理思路 手机号一键登录 参考:一键登录的开通过程 保姆式教程 前置条件 手机安装有sim卡 手机开启数据流量(与wifi无关,不要求关闭wifi,但数据流量不能禁用. ...

  3. uniapp一键登录功能

    ​​​​​​官方文档入口 实现条件 手机安装有sim卡 手机开启数据流量(与wifi无关,不要求关闭wifi,但数据流量不能禁用.) 开通uniCloud服务(但不要求所有后台代码都使用uniClou ...

  4. uniapp手机号一键登录

    uniapp手机号一键登录 先讲几个坑避免操作完以后会出bug无效喷我 部分机型会因为第一次在手机上编译普通基座无法触发手机号一键登录的弹框,这里当然是重启了,重启可以解决百分之八十的问题!!! 然后 ...

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

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

  6. unicloud云开发---uniapp云开发(四)---本机手机号一键登录以及第三方登陆

    我们来实现一键登录以及第三方登陆 一键登录手登陆机号使用 我们的视频教程(免费)链接为https://static-b5208986-2c02-437e-9a27-cfeba1779ced.bspap ...

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

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

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

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

  9. 基于uni-app实现微信小程序一键登录和退出登录功能

    起因 目前正在使用uni-app开发一个微信小程序,开发到登录模块时通过查阅uni-app官方教程.微信小程序官方文档.网上的教程终于是实现了微信小程序的登录模块,现总结分享给大家,共同学习. 总体思 ...

最新文章

  1. Appro DM8127 IPNC 挂载NFS遇到的问题及解决
  2. 【风控模型】Logistic算法构建标准信用评分卡模型python代码案例
  3. using a dict on a Series for aggregation is deprecated and will be removed in a future version
  4. PHP实现各种经典算法
  5. 网页视频直播、微信视频直播技术解决方案:EasyNVR与EasyDSS流媒体服务器组合之区分不同场景下的直播接入需求...
  6. 算法我也不知道有没有下一个---一个题目的开端(索引堆与图)
  7. debug [LTS]
  8. STEAM无法打开创意工坊或成就页面
  9. mac调节外接显示器亮度
  10. 业余设计不求人,30秒AI快速制作LOGO
  11. 服务器ping值不稳定,服务器网络ping值过高的原因
  12. word没有标题3和标题4的解决方式
  13. Vue:前端体系、前后端分离
  14. ChatGPT 使用 拓展资料:使用 HuggingFace+Gradio 部署快速搭建一个ChatGPT的聊天界面
  15. 龙智集团赢得2022年Atlassian与AWS云销售竞赛
  16. 开源库MusicPlayManager - 封装StarrySky音乐库
  17. 网上的音乐怎么下载成mp3格式歌曲?这3种一键下载的方法亲测好用!
  18. “无剑胜有剑”软件大师之路的一点探索(一)
  19. 让小家变得温馨的小诀窍
  20. vue 数字日期时钟

热门文章

  1. Echarts 打不开或者打开很慢的解决方案
  2. 预训练模型与传统方法在排序上有啥不同?
  3. (一)Linux ALSA 音频系统:物理链路篇
  4. 你要做鸡头,还是凤尾?
  5. NFT自由人有收藏价值吗?NFT发起的原因是什么,为什么这么贵?
  6. 《企业应用架构模式》30天阅读计划
  7. Mac 查看本机ip地址
  8. 人工智能时代教育现代化发展的突破与引领
  9. Axure整合ElementUI元件、蚂蚁金服元件,制作高保真原型
  10. ES 按照每隔几分钟,几小时,几天统计折线图