news 2026/4/23 17:26:22

微信小程序 springboot获取手机号

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
微信小程序 springboot获取手机号

小程序增加一个button,在js中增加一个方法

<button open-type="getPhoneNumber" bindgetphonenumber="getPhoneNumber">{{phone}}</button> getPhoneNumber (e) { console.log(e.detail.code) // 动态令牌 var that = this; wx.request({ url: 'http://localhost:8080/wx/login', //仅为示例,并非真实的接口地址 data: { code: e.detail.code }, header: { 'content-type': 'application/json' // 默认值 }, success (res) { console.log(res.data); that.setData({ 'motto':res.data }) } }) }

在Springboot写一个工具类

package com.example.demo.utils; import cn.hutool.core.map.MapUtil; import cn.hutool.http.HttpUtil; import cn.hutool.json.JSONObject; import cn.hutool.json.JSONUtil; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component; import java.util.Map; @Component public class WxUtils { public static String APPID; public static String APPSECRET; @Value("${wx.appid}") public void initAppid(String s){ APPID = s; } @Value("${wx.appsecret}") public void initAppsecret(String s){ APPSECRET = s; } public static String getAccessToken(){ String url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET"; url = url.replace("APPID", APPID).replace("APPSECRET", APPSECRET); JSONObject jsonObject = JSONUtil.parseObj(HttpUtil.get(url)); return jsonObject.getStr("access_token"); } public static String getOpenId(String code){ String url = "https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code"; url = url.replace("APPID", APPID); url = url.replace("SECRET", APPSECRET); url = url.replace("CODE", code); JSONObject jsonObject = JSONUtil.parseObj(HttpUtil.get(url)); return jsonObject.getStr("openid"); } public static String getPhone(String code) { String url = "https://api.weixin.qq.com/wxa/business/getuserphonenumber?access_token=ACCESS_TOKEN"; url = url.replace("ACCESS_TOKEN", getAccessToken()); Map<String, Object> param = MapUtil.newHashMap(); param.put("code", code); JSONObject jsonObject = JSONUtil.parseObj(HttpUtil.post(url, JSONUtil.toJsonStr(param))); return jsonObject.getJSONObject("phone_info").getStr("phoneNumber"); } }

写一个测试类

package com.example.demo.controller; import com.example.demo.utils.WxUtils; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @RestController @RequestMapping("/wx") public class WxController { public String index(){ return "index"; } @GetMapping("/login") public String login(String code) { return WxUtils.getPhone(code); } }

点击login,弹出确认对话框

允许后向后台发送请求,返回电话号码

2025-12-18T22:09:33.360+08:00 INFO 18656 --- [demo1] [nio-8080-exec-2] c.e.demo.intercepter.GlobalInterceptor : 请求地址:http://localhost:8080/wx/login

成功!

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/23 16:12:22

AI如何解决Linux依赖问题:以sunloginclient为例

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 开发一个AI辅助工具&#xff0c;能够自动分析Linux系统中dpkg报出的依赖关系错误。输入为错误日志&#xff08;如sunloginclient依赖问题&#xff09;&#xff0c;输出应包括&#…

作者头像 李华
网站建设 2026/4/23 11:33:58

SCRAM认证机制入门:从报错到解决

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 创建一个新手教学项目&#xff1a;1. 解释SCRAM认证机制的基本原理&#xff1b;2. 演示invalid or unsupported by client scram mechanisms错误的常见原因&#xff1b;3. 提供简单…

作者头像 李华
网站建设 2026/4/23 13:46:27

工业控制Agent容错设计:5大关键机制确保系统零宕机运行

第一章&#xff1a;工业控制Agent容错设计的核心理念在高可靠性要求的工业控制系统中&#xff0c;Agent作为执行关键任务的智能单元&#xff0c;其容错能力直接决定了系统的稳定性和安全性。容错设计不仅仅是故障发生后的恢复机制&#xff0c;更应贯穿于系统架构、通信协议与运…

作者头像 李华
网站建设 2026/4/23 12:18:57

15分钟构建内存测试Web服务:memtester+Flask

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 开发一个基于Flask的memtester Web界面&#xff0c;功能包括&#xff1a;1) 网页表单配置测试参数&#xff1b;2) 后台执行memtester命令&#xff1b;3) 实时显示测试进度&#xff…

作者头像 李华
网站建设 2026/4/23 17:24:29

Springboot无人酒店的设计与实现up550(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。

系统程序文件列表项目功能&#xff1a;用户,酒店房型,酒店信息,员工,酒店预约,登记入住1,清洁信息,登记入住开题报告内容一、选题背景与意义1.1 选题背景随着科技的飞速发展&#xff0c;人工智能、物联网、大数据等技术逐渐渗透到各个行业&#xff0c;深刻改变着人们的生活方式…

作者头像 李华
网站建设 2026/4/23 12:18:14

Springboot校园订餐管理系统k2pr7(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。

系统程序文件列表项目功能&#xff1a;用户,菜品分类,菜品信息,美食资讯开题报告内容一、选题背景与意义1.1 选题背景随着互联网技术的迅猛发展和智能手机的普及&#xff0c;网络订餐已成为人们日常生活中不可或缺的一部分。尤其在校园环境中&#xff0c;学生和教职工对便捷、高…

作者头像 李华