一、前言

很多时候,我们需要获取用户的手机号码,一般是由用户自己输入,然后我们需要保证手机号的准确性比较高的话,可能还需要搭配一个验证码的功能来确保一定的准确性。这样实现起来的开发成本以及用户体验感都不是最佳的,毕竟于开发者而言,需要承担验证码的费用以及代码的开发;于用户来说,需要手动输入自己的手机号码然后再等待验证码的过来等。

本文主要基于微信小程序云开发去实现快速获取用户绑定微信的手机号,可以很大程度的解决上述的痛点。

二、实现的效果

开始实现之前,先看看效果。

三、实现代码

wxml

<view>你的手机号码是:{{userPhone}}</view>
<button type="primary" open-type="getPhoneNumber" bindgetphonenumber="getPhoneNumber">快速获取手机号</button>

js

async getPhoneNumber(res) {console.log(res)const errMsg = res.detail.errMsgif (errMsg != "getPhoneNumber:ok"){wx.showToast({title: '授权失败',icon: 'error'})return}const cloudId = res.detail.cloudIDconst cloudIdList = [cloudId]wx.showLoading({title: '获取中',mask: true})const cloudFunRes = await wx.cloud.callFunction({name: "getOpenData",data: {cloudIdList}})const jsonStr = cloudFunRes.result.dataList[0].jsonconst jsonData = JSON.parse(jsonStr)const phoneNumber = jsonData.data.phoneNumberconsole.log(phoneNumber)this.setData({userPhone: phoneNumber})wx.hideLoading({success: (res) => {},})},

云函数:getOpenData

index.js

const cloud = require('wx-server-sdk')cloud.init({env: cloud.DYNAMIC_CURRENT_ENV
})// 云函数入口函数
exports.main = async (event) => {const wxContext = cloud.getWXContext()const openid = wxContext.OPENIDconst cloudIdList = event.cloudIdListtry {const result = await cloud.openapi.cloudbase.getOpenData({openid: openid,cloudidList: cloudIdList})return result} catch (err) {return err}
}

config.json

这个很重要,需要配置一下云函数的权限。

{"permissions": {"openapi": ["phonenumber.getPhoneNumber"]}
}

四、最终效果

五、常规结语

分享的是思维不是技术。所以很多地方写得并不是很严谨,仅仅是把逻辑跑了一遍。(大佬们手下留情,谢谢)

实际开发中的其他逻辑就不写了,这里只是最简单的实现。

有任何疑问可以在评论区留下。我每天都会进行回复,私聊不回。(为了刷积分)

以上均是本人开发过程中的一些经验总结与领悟,如果有什么不正确的地方,希望大佬们评论区斧正。

微信小程序云开发入门-快速获取手机号相关推荐

  1. 微信小程序云开发入门(二)-数据库详解

    微信小程序云开发入门(二)-数据库详解 接上一篇:微信小程序云开发入门(一) 摘要: 因为微信小程序云数据库有点类似传统的关系型数据库,但又有所不同.所以刚入手的时候会有点困扰,经过一段时间的学习和摸 ...

  2. 微信小程序云开发入门(一)

    微信小程序云开发入门(一) 摘要:微信小程序云开发是包含了服务器以及数据库的运行环境,而且只需要开发者进行简单的管理,关键是不用服务器进行权限验证,步骤简单不少,非常适合个人开发者和创业者使用.虽然云 ...

  3. 微信小程序云开发入门(图文详解)

    以下内容是我第一次微信小程序云开发的一次记录,从真正的0基础入门,到基本掌握一些内容. 其中遇到的一些问题,和根据网上 的一些资料,整理出来真正可用的,实测可行的源代码. 以下放出我的github源码 ...

  4. 解决微信小程序云开发模式无法获取数据库数据问题

    解决微信小程序云开发模式无法获取数据库数据问题 问题: 在数据库有两条数据,获取数据时输出窗口没有任何反应 错误原因: 检查数据库名字是否对应 检查你是否有多个云开发环境 如果有多个云开发环境,就需要 ...

  5. 微信小程序云开发入门实践

    云开发介绍 什么是云开发 2017年微信小程序发布后,一度的开发模式是前端页面使用微信小程序的相关组件,在涉及到后台登录及业务交互的时候,需要使用自建的服务器,后台不管是PHP还是JAVA架构,都需要 ...

  6. 微信小程序云开发入门-数据库插入数据(包含批量)

    一.前言 文章将介绍如何在微信小程序云开发中向云开发数据库插入数据(单条或批量). 写法有好几种,文章将会一一进行对比,看看每种写法之间有何优缺点,如何让代码看起来更优雅. 为了更加贴合实际的开发逻辑 ...

  7. ebs开发入门 oracle 知乎_微信小程序云开发入门第一篇---开发准备事项

    在开始本文的正式内容之前,先允许我做一个简单的自我介绍,我是一名嵌入式软件开发人员,目前在一家音视频处理芯片公司做linux系统下音视频开发的相关工作,算是嵌入式软件开发行业的老人了,如果您对嵌入式行 ...

  8. 微信小程序云开发入门第一篇---开发准备事项

    在开始本文的正式内容之前,先允许我做一个简单的自我介绍,我是一名嵌入式软件开发人员,目前在一家音视频处理芯片公司做linux系统下音视频开发的相关工作,算是嵌入式软件开发行业的老人了,如果您对嵌入式行 ...

  9. 微信小程序云开发,快速生成短信验证码

    使用微信小程序云函数实现注册短信验证码的管理,并不是一件分分钟的事,目前想要存储验证码只能放到数据库中,因为存储后才能和用户提交上来的验证码做比较. 管理验证码主要涉及到:生成.存储.校验.有效期管理 ...

最新文章

  1. stark组件开发之添加功能实现
  2. 手机能上网,电脑联不上网
  3. 博途项目服务器,博图服务器客户端架构
  4. 【Pycharm】专业版连接xshell 远程服务器
  5. 车联网大数据框架_FEV:基于最新网关技术管理车联网大数据
  6. 华为云WeLink正式发布,这是更懂企业的智能工作平台一枚!
  7. (7)<a>标签之锚点和回到顶部功能
  8. python回归结果可视化图表解读_一个基于可视化理论的完美Python图表,快学起来
  9. 使用 BoringSSL 优化 HTTPS 加密算法选择(不同终端加密算法不同)
  10. 让海底电缆给数据中心提供更快的直连
  11. Report Service 为用户“NT AUTHORITY、NETWORK SERVICE”授予的权限不足,无法进行此操作。(rsAccessDenied)处理...
  12. VC获得本机网络连接状态
  13. 复工后的前端学习建议,非常实用!
  14. pytorch 权重weight 与 梯度grad 可视化
  15. [递推] 费解的开关
  16. 最受程序员欢迎的深度学习框架出新版啦(文末留言赠书)
  17. html是什么意思 它是一种什么样的语言,HTML 是什么?
  18. windows下DxDiag查看笔记本电脑主板型号信息
  19. 图神经网络系列(二)图卷积神经网络
  20. 大都会人寿培训第二天

热门文章

  1. 投掷骰子的python代码_Python基础篇——模拟掷骰子小游戏
  2. mysql实现年龄大于17小于30_mysql基础
  3. 文本 - CL_GUI_TEXTEDIT
  4. kwebio/kweb-core:面向后端的轻量级 Kotlin Web 框架
  5. Java语言基础,面向对象
  6. python整数范围_python 数字范围
  7. 征战奥斯卡,3部冲奥动画短片制作解析抢鲜看
  8. 经典算法大全51例——3.杨辉三角(又称帕斯卡三角形)
  9. 在u盘运行linux系统软件,主编帮你xp系统利用U盘直接运行Linux软件 的步骤【图】...
  10. linux导出文件夹到u盘,把Linux系统放在U盘上直接在U盘上运行Linux