uniapp中微信小程序取手机号(后端net7+盛派SDK)
uniapp中微信小程序取手机号(后端net7+盛派SDK)
2023年08月09日测试成功,不过看微信的小程序文档8月26日起微信小程序取手机号就要收费了,取一次3分钱。
原理:前端取到code后传到后端,后端再把code传给微信的某一接口取手机号
前端uniapp中的vue代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | <template> <view> <view> <button type= "default" open-type= "getPhoneNumber" @getphonenumber= "decryptPhoneNumber" >获取手机号</button> <text>{{phone}}</text> </view> </view> </template> <script> export default { data() { return { phone: '' , } }, methods: { decryptPhoneNumber(e) { var code = e.detail.code; var url = "http://localhost:5049/wx/getphone?code=" +code; uni.request({ url:url, method: 'GET' , success: (res) => { console.log(res); this .phone = res.data; } }) }, } } </script> <style> button, input { border: 1px solid darkgray; } </style> |
后端net7代码,用盛派SDK,按官网文档弄(https://sdk.weixin.senparc.com/Docs/WxOpen#title_install),之前还要引用一大堆nuget,然后在program里注册,然后才能直接用
nuget: Senparc.CO2NET, Senparc.Weixin, Senparc.Weixin.AspNet, Senparc.Weixin.WxOpen,
appsetting:
1 2 3 4 5 6 7 8 9 | "SenparcWeixinSetting" : { "IsDebug" : true , //小程序 "WxOpenAppId" : "wxd64fd8b6c1111111" , "WxOpenAppSecret" : "78eae7ca46111eb825044083fee88c6c" , "WxOpenToken" : "#{WxOpenToken}#" , "WxOpenEncodingAESKey" : "#{WxOpenEncodingAESKey}#" } |
program:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | using Senparc.Weixin.RegisterServices; using Senparc.Weixin; using Senparc.Weixin.AspNet; using Senparc.Weixin.WxOpen; #region 盛派SDK注册 builder.Services.AddMemoryCache(); builder.Services.AddSenparcWeixinServices(builder.Configuration); #endregion var app = builder.Build(); //盛派SDK, 启用微信配置 var registerService = app.UseSenparcWeixin(app.Environment, null , null , register => { }, (register, weixinSetting) => { register.RegisterWxOpenAccount(weixinSetting, "jct小程序" ); }); |
根据code取手机号的后端代码,直接调用方法即可:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | using JCT.DAL; using JCT.Model; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using Senparc.Weixin.WxOpen.AdvancedAPIs.WxApp; using SqlSugar.Extensions; namespace JCT.Web.ApiController { [Route( "api/[controller]" )] [ApiController] public class WXController : ControllerBase { [HttpGet( "GetPhone" )] public string GetPhone( string code) { try { string appid = "wxd64fd8b6ce111111" ; var result = BusinessApi.GetUserPhoneNumber(appid, code); return result.phone_info.phoneNumber; } catch (Exception ex) { return ex.Message; } } } } |
撸码:复制、粘贴,拿起键盘就是“干”!!!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具