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

微信小程序电话号码授权

前端:
文档:https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/getPhoneNumber.html

uniapp调用的时候,要将bind用@替换

<button open-type="getPhoneNumber" @getphonenumber="getPhoneNumber"></button>
function getPhoneNumber(e){console.log(e.detail.code)  // 动态令牌console.log(e.detail.errMsg) // 回调信息(成功失败都会返回)console.log(e.detail.errno)  // 错误码(失败时返回)if (e.detail.code){User.getUserTelNumber(e.detail.code).then(res=>{// 授权成功setTimeout(()=>{uni.navigateBack({delta:1 //返回的页面层级,1为返回上一个页面})},1000)}).catch((err)=>{console.log(err,"errrrrrr")})}else{// 拒绝授权toast("拒绝授权","error")setTimeout(()=>{uni.navigateBack({delta:1 //返回的页面层级,1为返回上一个页面})},1000)}}

java:
文档:https://developers.weixin.qq.com/miniprogram/dev/OpenApiDoc/user-info/phone-number/getPhoneNumber.html
掉这个获取电话号码,需要先获取access_token
https://developers.weixin.qq.com/miniprogram/dev/OpenApiDoc/mp-access-token/getAccessToken.html
获取token,有效期是两小时,需要缓存,

    @GetMapping("/getTelNumber")@LoginRequired@ApiOperation(value = "getTelNumber",notes = "getTelNumber")public RespBean getTelNumber(String code){userService.getWechatTelNumber(code);return RespBean.ok("授权成功");}
    /*** 获取微信的 accessToken,, 需要缓存起来,,, 两小时过期* @return*/public String getAccessToken(){String tokenUrl = String.format("https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=%s&secret=%s", wechatPayConfig.getAppId(), wechatPayConfig.getAppSecret());Map map = restTemplate.getForObject(tokenUrl, Map.class);String accessToken = (String) map.get("access_token");System.out.println("accessToken = " + accessToken);return accessToken;}
    public void getWechatTelNumber(String code) {try {String accessToken= globalMap.get("access_token");if (accessToken == null){accessToken = getAccessToken();globalMap.put("access_token",accessToken);}//通过token和code来获取用户手机号String url = "https://api.weixin.qq.com/wxa/business/getuserphonenumber?access_token=" + accessToken + "&code=" + code;Map<String, String> map = new HashMap<>();map.put("code",code);Object obj = restTemplate.postForObject(url, map, Object.class);System.out.println("obj = " + obj);Map<String,Object> resultMap = (Map<String,Object>) obj;Map<String,Object> phoneInfo = (Map<String, Object>) resultMap.get("phone_info");System.out.println("phoneInfo = " + phoneInfo);String phoneNumber = (String) phoneInfo.get("phoneNumber");// 将number更新到user表User user = SecurityContextHolder.getUser();user.setTel(phoneNumber);this.updateById(user);} catch (RestClientException e) {throw new ServiceException(e.getMessage());}}

因为授权手机号,必须要通过点击按钮,,用户授权,不能够直接调api,,必须要按钮,,可以将按钮展示为一个授权页面,,跳过去授权,,成功之后跳回

引用:https://blog.csdn.net/qq_46940224/article/details/136865901

https://blog.csdn.net/weixin_41698051/article/details/97777993

相关文章:

微信小程序电话号码授权

前端&#xff1a; 文档&#xff1a;https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/getPhoneNumber.html uniapp调用的时候&#xff0c;要将bind用替换 <button open-type"getPhoneNumber" getphonenumber"getPhoneNumber"…...

vue3 响应式 API:ref() 和 reactive()

在 Vue 3 中&#xff0c;响应式系统是其核心特性之一&#xff0c;它使得数据的变化能够自动触发视图的更新。 官方文档&#xff1a; 响应式 API&#xff1a;核心 要更好地了解响应式 API&#xff0c;推荐阅读官方指南中的章节&#xff1a; 响应式基础 (with the API preference…...

英智金融行业AI Agent,在金融领域全场景下的业务创新与应用实践

随着全球经济的数字化转型&#xff0c;金融行业也在迅速演变。传统的金融服务已经无法完全满足现代客户对快速、个性化和高效服务的需求。与此同时&#xff0c;市场竞争的加剧、监管环境的变化以及客户期望的提升&#xff0c;促使金融机构不断寻求新的技术来优化运营效率、提升…...

hyper-v安装window10操作系统

Hyper-V是微软的一款虚拟化产品&#xff0c;是微软第一个采用类似Vmware ESXi和Citrix Xen的基于hypervisor的技术。 目标&#xff1a;在window10的物理机上基于hyper-v运行虚拟window10。 准备条件 准备好window10操作系统&#xff0c;iso、wim、esd等都行&#xff0c;我这…...

华三(H3C)UIS3030 Uni-R4900服务器硬件监控指标解读

随着企业信息化建设的不断深入&#xff0c;服务器作为IT架构的核心组成部分&#xff0c;其稳定性和性能直接影响到业务的连续性和用户体验。为了保障服务器的稳定运行&#xff0c;监控易作为一款专业的监控软件&#xff0c;为华三&#xff08;H3C&#xff09;UIS3030和Uni-R490…...

opencv 控制鼠标键盘实现功能setMouseCallback

鼠标事件类型 OpenCV 支持多种鼠标事件类型&#xff0c;常见的包括&#xff1a; cv2.EVENT_LBUTTONDOWN&#xff1a;左键按下 cv2.EVENT_RBUTTONDOWN&#xff1a;右键按下 cv2.EVENT_MBUTTONDOWN&#xff1a;中键按下 cv2.EVENT_LBUTTONUP&#xff1a;左键释放 cv2.EVENT_RBUTT…...

【傅里叶分析】复数基础知识

【傅里叶分析】复数基础知识 复数复数的几何意义与点的对应与向量的对应 复数与极坐标辐角与辐角主值三角函数 参考文献 本文参考了网上的其他文章&#xff0c;已在文末参考文献中列出&#xff1b;如有侵权&#xff0c;请联系我删除。 复变函数是傅里叶分析的基础&#xff0c;而…...

从【人工智能】到【计算机视觉】,【深度学习】引领的未来科技创新与变革

前几天偶然发现了一个超棒的人工智能学习网站&#xff0c;内容通俗易懂&#xff0c;讲解风趣幽默&#xff0c;简直让人欲罢不能。忍不住分享给大家&#xff0c;点击这里立刻跳转&#xff0c;开启你的AI学习之旅吧&#xff01; 前言 – 人工智能教程https://www.captainbed.cn/l…...

基于YOLOv10深度学习的草莓成熟度检测与识别系统【python源码+Pyqt5界面+数据集+训练代码】目标检测、人工智能

《博主简介》 小伙伴们好&#xff0c;我是阿旭。专注于人工智能、AIGC、python、计算机视觉相关分享研究。 ✌更多学习资源&#xff0c;可关注公-仲-hao:【阿旭算法与机器学习】&#xff0c;共同学习交流~ &#x1f44d;感谢小伙伴们点赞、关注&#xff01; 《------往期经典推…...

log4j日志配置%X{TransId}

log4j日志配置文件中的%X{TransId}是怎么动态获取值的 在Log4j中&#xff0c;%X{TransId} 是用来从MDC&#xff08;Mapped Diagnostic Context&#xff09;中获取值的占位符。MDC 是 Log4j 提供的一种机制&#xff0c;用于在同一个线程的不同日志记录中传递上下文信息。通过 M…...

PHP模拟高并发异步请求测试+redis的setnx处理并发和防止死锁处理

/** PHP并发异步请求测试* /test/curlMulti*/public function curlMultiAction(){$urls ["http://localhost:801/api/order/create","http://localhost:801/api/order/create","http://localhost:801/api/order/create","http://localhos…...

访问网站出现“此站点不安全”如何解决

在网络浏览中&#xff0c;我们经常会遇到浏览器地址栏出现“此站点不安全”的警告。这通常意味着网站没有使用SSL&#xff08;安全套接层&#xff09;加密来保护用户数据的安全。那么&#xff0c;如何通过获得并安装SSL证书来消除这一警告&#xff0c;确保网站的安全可靠呢&…...

同一台电脑同时连接使用Gitee(码云)和Github

1、添加对应的密钥 ssh-keygen -t rsa -C "your_emailexample.com" -f ~/.ssh/github_id-rsa //生成github秘钥 ssh-keygen -t rsa -C "your_emailexample.com" -f ~/.ssh/gitee_id-rsa //生成码云秘钥 2、在 ~/.ssh 文件里会生成对应的文件 文件夹里会…...

GORM 插入和批量插入操作介绍

GORM 是一个功能强大的 Go 语言 ORM 库&#xff0c;它提供了简单易用的 API 来执行数据库操作。本文将介绍如何使用 GORM 进行单条记录插入和批量插入操作。 单条记录插入 在 GORM 中&#xff0c;插入一条记录非常简单。首先&#xff0c;你需要定义一个模型&#xff0c;该模型…...

企业CAD图纸加密软件推荐!2024年好用的10款CAD图纸加密软件排行

在现代企业中&#xff0c;CAD图纸作为重要的设计和工程数据&#xff0c;其安全性和保密性至关重要。为了防止图纸被非法获取、篡改或滥用&#xff0c;选择一款高效的CAD图纸加密软件显得尤为重要。本文将为您推荐2024年市场上十款好用的CAD图纸加密软件&#xff0c;帮助企业保护…...

智能电梯标志新时代:墨水屏电子标签引领变革

电梯安全墨水屏标签的智能设备悄然出现在各大写字楼和住宅区的电梯中&#xff0c;引发了广泛关注。这款设备替代了传统的纸质电梯标志&#xff0c;通过手机蓝牙标签APP直接进行编辑刷新内容&#xff0c;并具备Type-C接口充电功能。 本文将深入探讨这一创新技术的应用前景及其对…...

使用nvm下载nodejs版本报错

这里写自定义目录标题 使用nvm下载nodejs版本报错&#xff1a;Error retrieving "http://npm.taobao.org/mirrors/node/latest/SHASUMS256.txt": HTTP Status 404问题原因解决办法 使用nvm下载nodejs版本报错&#xff1a;Error retrieving “http://npm.taobao.org/m…...

深入理解CSS的:valid和:invalid伪类:增强表单验证的艺术

在现代网页设计中&#xff0c;用户输入验证是一个重要的环节&#xff0c;它不仅关乎用户体验&#xff0c;也是数据准确性和安全性的保障。CSS3引入了两个强大的伪类选择器&#xff1a;:valid和:invalid&#xff0c;它们允许开发者通过CSS来增强表单输入的验证过程&#xff0c;而…...

稚晖君发布5款全能人形机器人,开源创新,全能应用

8月18日&#xff0c;智元机器人举行“智元远征 商用启航” 2024年度新品发布会&#xff0c;智元联合创始人彭志辉主持并发布了“远征”与“灵犀”两大系列共五款商用人形机器人新品——远征A2、远征A2-W、远征A2-Max、灵犀X1及灵犀X1-W&#xff0c;并展示了在机器人动力、感知、…...

【总结】冲击偶的概念与性质

冲击偶的概念与性质...

【JavaEE】-- HTTP

1. HTTP是什么&#xff1f; HTTP&#xff08;全称为"超文本传输协议"&#xff09;是一种应用非常广泛的应用层协议&#xff0c;HTTP是基于TCP协议的一种应用层协议。 应用层协议&#xff1a;是计算机网络协议栈中最高层的协议&#xff0c;它定义了运行在不同主机上…...

从WWDC看苹果产品发展的规律

WWDC 是苹果公司一年一度面向全球开发者的盛会&#xff0c;其主题演讲展现了苹果在产品设计、技术路线、用户体验和生态系统构建上的核心理念与演进脉络。我们借助 ChatGPT Deep Research 工具&#xff0c;对过去十年 WWDC 主题演讲内容进行了系统化分析&#xff0c;形成了这份…...

day52 ResNet18 CBAM

在深度学习的旅程中&#xff0c;我们不断探索如何提升模型的性能。今天&#xff0c;我将分享我在 ResNet18 模型中插入 CBAM&#xff08;Convolutional Block Attention Module&#xff09;模块&#xff0c;并采用分阶段微调策略的实践过程。通过这个过程&#xff0c;我不仅提升…...

中南大学无人机智能体的全面评估!BEDI:用于评估无人机上具身智能体的综合性基准测试

作者&#xff1a;Mingning Guo, Mengwei Wu, Jiarun He, Shaoxian Li, Haifeng Li, Chao Tao单位&#xff1a;中南大学地球科学与信息物理学院论文标题&#xff1a;BEDI: A Comprehensive Benchmark for Evaluating Embodied Agents on UAVs论文链接&#xff1a;https://arxiv.…...

抖音增长新引擎:品融电商,一站式全案代运营领跑者

抖音增长新引擎&#xff1a;品融电商&#xff0c;一站式全案代运营领跑者 在抖音这个日活超7亿的流量汪洋中&#xff0c;品牌如何破浪前行&#xff1f;自建团队成本高、效果难控&#xff1b;碎片化运营又难成合力——这正是许多企业面临的增长困局。品融电商以「抖音全案代运营…...

Element Plus 表单(el-form)中关于正整数输入的校验规则

目录 1 单个正整数输入1.1 模板1.2 校验规则 2 两个正整数输入&#xff08;联动&#xff09;2.1 模板2.2 校验规则2.3 CSS 1 单个正整数输入 1.1 模板 <el-formref"formRef":model"formData":rules"formRules"label-width"150px"…...

2023赣州旅游投资集团

单选题 1.“不登高山&#xff0c;不知天之高也&#xff1b;不临深溪&#xff0c;不知地之厚也。”这句话说明_____。 A、人的意识具有创造性 B、人的认识是独立于实践之外的 C、实践在认识过程中具有决定作用 D、人的一切知识都是从直接经验中获得的 参考答案: C 本题解…...

使用Matplotlib创建炫酷的3D散点图:数据可视化的新维度

文章目录 基础实现代码代码解析进阶技巧1. 自定义点的大小和颜色2. 添加图例和样式美化3. 真实数据应用示例实用技巧与注意事项完整示例(带样式)应用场景在数据科学和可视化领域,三维图形能为我们提供更丰富的数据洞察。本文将手把手教你如何使用Python的Matplotlib库创建引…...

基于IDIG-GAN的小样本电机轴承故障诊断

目录 🔍 核心问题 一、IDIG-GAN模型原理 1. 整体架构 2. 核心创新点 (1) ​梯度归一化(Gradient Normalization)​​ (2) ​判别器梯度间隙正则化(Discriminator Gradient Gap Regularization)​​ (3) ​自注意力机制(Self-Attention)​​ 3. 完整损失函数 二…...

AI语音助手的Python实现

引言 语音助手(如小爱同学、Siri)通过语音识别、自然语言处理(NLP)和语音合成技术,为用户提供直观、高效的交互体验。随着人工智能的普及,Python开发者可以利用开源库和AI模型,快速构建自定义语音助手。本文由浅入深,详细介绍如何使用Python开发AI语音助手,涵盖基础功…...