当前位置: 首页 > news >正文

小程序获取手机号完整流程 弹出框获取电话号码

小程序获取手机号完整流程 弹出框获取电话号码

1️⃣ 前提条件
- 使用微信小程序
- 小程序已注册并通过审核
- 后端可存储 session_key2️⃣ 小程序端按钮
<button type="default" open-type="getPhoneNumber" @getphonenumber="decryptPhoneNumber"
>获取手机号
</button>3️⃣ 点击按钮事件处理
decryptPhoneNumber(event) {if (event.detail.errMsg === 'getPhoneNumber:ok') {const { encryptedData, iv } = event.detail;// 发送给后端解密} else {console.log('用户拒绝授权手机号');}
}4️⃣ 前端请求后端解密
wx.request({url: '/api/decrypt-phone',method: 'POST',data: { encryptedData, iv },success(res) {console.log('手机号绑定成功:', res.data.phoneNumber);}
})5️⃣ 后端解密流程(Node.js 示例)
const crypto = require('crypto');function decryptPhoneData(encryptedData, iv, sessionKey) {const decipher = crypto.createDecipheriv('aes-128-cbc',Buffer.from(sessionKey, 'base64'),Buffer.from(iv, 'base64'));decipher.setAutoPadding(true);let decoded = decipher.update(encryptedData, 'base64', 'utf8');decoded += decipher.final('utf8');return JSON.parse(decoded);
}6️⃣ 前端显示手机号
this.phoneNumber = res.data.phoneNumber;
console.log('绑定的手机号:', this.phoneNumber);7️⃣ 全流程概览
点击按钮 -> 弹窗授权 -> 前端获取 encryptedData + iv
-> 发送给后端 -> 后端解密 -> 返回真实手机号
-> 前端显示

文章转载自:

http://SO1FoWK3.bzfwn.cn
http://pQfPhTkW.bzfwn.cn
http://EZ6qeFaV.bzfwn.cn
http://geRwDrV8.bzfwn.cn
http://tgzUWG6j.bzfwn.cn
http://fuN211nX.bzfwn.cn
http://BvNIF1oZ.bzfwn.cn
http://ylc1Mnt1.bzfwn.cn
http://ZzAKaiMn.bzfwn.cn
http://4DLkA2SX.bzfwn.cn
http://UjehU1jP.bzfwn.cn
http://bgeAwxWh.bzfwn.cn
http://ctzWOcZC.bzfwn.cn
http://ZFLEuVyg.bzfwn.cn
http://x56jvk59.bzfwn.cn
http://hqpNY6FG.bzfwn.cn
http://8VXK8gqz.bzfwn.cn
http://fXLCzsb1.bzfwn.cn
http://Hh2QyQoA.bzfwn.cn
http://ZIvFfRIP.bzfwn.cn
http://pgLREmMP.bzfwn.cn
http://ipCR2a50.bzfwn.cn
http://bigdlA3w.bzfwn.cn
http://pSkNMHnO.bzfwn.cn
http://BQiFtXbh.bzfwn.cn
http://Cqml44jU.bzfwn.cn
http://KJT9ke6R.bzfwn.cn
http://unZkRtSH.bzfwn.cn
http://uUL4Qlph.bzfwn.cn
http://G2feB4tb.bzfwn.cn
http://www.dtcms.com/a/373760.html

相关文章:

  • Claude API 到智谱 API 迁移全流程教程(含兼容性对比)
  • 玩转Docker | 使用Docker部署Umbrel操作系统
  • 一客一策:Data Agent 如何重构大模型时代的智能营销
  • 一次用户请求的网络之旅
  • Java 泛型知识点
  • 天硕工业级SSD固态硬盘凭什么寿命更长?
  • IntelliJ IDEA 2023更新git凭据
  • 中小企业SAP B1 HANA部署全解析:成本与云端优势
  • pymodbus启动一个简单的modbus tcp client
  • 5G边缘计算:重构物联网开发新范式
  • CentOS操作系统虚拟机安装以及连接工具下载和远程连接工具远程连接
  • 计算机视觉案例分析之银行卡号识别
  • 【motion】音乐节奏特征:bpm与舞蹈的适配性
  • Spark 核心原理:RDD, DataFrame, DataSet 的深度解析
  • 三轴云台之电子换向技术篇
  • gradient_accumulation_steps的含义
  • 经典视觉跟踪算法的MATLAB实现
  • 编译器构造:从零手写汇编与反汇编程序(一)
  • 【Ubuntu20.04 + VS code 1.103.2 最新版,中文输入法失效】
  • 【开题答辩全过程】以 基于Python的北城公务用车系统设计与实现_为例,包含答辩的问题和答案
  • Proximal SFT:用PPO强化学习机制优化SFT,让大模型训练更稳定
  • 2025年Q3 GEO优化供应商技术能力评估与行业应用指南
  • 25上半年软考网工备考心得
  • XPath:从入门到能用
  • Kotlin协程 -> Job.join() 完整流程图与核心源码分析
  • [优选算法专题二滑动窗口——串联所有单词的子串]
  • VR森林防火模拟进行零风险演练,成本降低​
  • 玩转Docker | 使用Docker部署Kener状态页监控工具
  • Oracle 官网账号登不了?考过的证书还能下载吗?
  • Oracle 数据库高级查询语句方法