百度360必应搜狗淘宝本站头条
当前位置:网站首页 > IT知识 > 正文

.NET6+uniapp微信小程序获取用户手机号

liuian 2025-01-17 12:18 47 浏览

最近一个朋友要去给他做个微信小程序,会涉及到获取用户手机号的场景,这里,我前端用的uniapp,后端则用的.NET6,如果用.NET开发微信公众号或小程序的话,我相信大部分人应该都有听说过盛派微信SDK

引入盛派SDK

这里先引入Senparc.Weixin.AspNetSenparc.Weixin.WxOpen两个包,安装完成后进入appsetting.json配置小程序的相关信息,

1
2
3
4
5
"SenparcWeixinSetting": {
  "IsDebug": false,
  "WxOpenAppId": "小程序appId",
  "WxOpenAppSecret": "小程序Secret"
}

再进入Program.cs注册盛派微信SDK的相关配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
builder.Services.AddMemoryCache();
builder.Services.AddSenparcWeixinServices(builder.Configuration);
var app = builder.Build();

var senparcWeixinSetting = app.Services.GetService<IOptions<SenparcWeixinSetting>>()!.Value;
//启用微信配置(必须)
var registerService = app.UseSenparcWeixin(app.Environment,
    null /* 不为 null 则覆盖 appsettings  中的 SenpacSetting 配置*/,
    null /* 不为 null 则覆盖 appsettings  中的 SenpacWeixinSetting 配置*/,
    register => { },
    (register, weixinSetting) =>
    {
        //注册公众号信息(可以执行多次,注册多个小程序)
        register.RegisterWxOpenAccount(weixinSetting, "小程序");
    });

现在,我们及可使用盛派微信SDK提供的API来获取手机号了。新建一个controller来调用API

1
2
3
4
5
6
7
8
9
10
11
12
13
public class WxOpenController : ControllerBase
    {
        public static readonly string WxOpenAppId = Config.SenparcWeixinSetting.WxOpenAppId;
        public static readonly string WxOpenAppSecret = Config.SenparcWeixinSetting.WxOpenAppSecret;

        [HttpGet("get-phone/{Code}")]
        public string GetUserPhone(string Code)
        {
            //通过`getPhoneNumber`得到的Code来获取手机号
            var result = BusinessApi.GetUserPhoneNumber(WxOpenAppId, Code);
            return result.phone_info.phoneNumber;
        }
    }

uniapp获取code

在2.21.2版本之后,获取手机号不需要提前调用login进行登录,直接通过按钮触发getPhoneNumber获得的code去换取手机号或者是encryptedDataIV去解密,


我们先在界面新增一个按钮

1
2
3
4
5
6
<template>
	<view class="content">
		<u-button size="normal" icon="account-fill" plain type="warning" open-type="getPhoneNumber"
			@getphonenumber="getPhoneNumber" text="获取手机号"></u-button>
	</view>
</template>

然后,编写getPhoneNumber方法

1
2
3
4
5
6
7
8
9
10
11
12
getPhoneNumber(e) {
				console.log(e);
				if (e.detail.errMsg != 'getPhoneNumber:ok') {
					uni.$u.toast("获取手机号失败");
					return;
				}
				console.log(e.detail.code);
				let url = `http://localhost/api/WxOpen/get-phone/${e.detail.code}`;
				uni.$u.http.get(url).then(result => {
					console.log(result);
				});
			},

这里的$u.http.getuView里面的工具类,如果没有用到uView就直接用uniapp里面的请求方法。

这里,我们是用的code获取手机号的方式。盛派SDK也提供了encryptedDataIV解密的API,用起来还是非常方便。

相关推荐

进入三星官网(三星官网首页登录界面)

找一找我自己的输入密码,就可以登录官网去了。三星云端的官网登录入口为https://support.samsungcloud.com/登陆三星帐户后可查看三星云使用情况及三星云中的照片和文档等信息,选...

光速虚拟机怎么用(光速虚拟机怎么用流量使用)

部落冲突光速虚拟机是一款可以加速部落冲突游戏运行的工具。使用方法很简单,首先需要下载并安装光速虚拟机软件,然后打开软件并登录你的部落冲突账号。接下来,在光速虚拟机内部运行部落冲突游戏,就可以享受到游戏...

以太网无法连接到internet怎么解决
以太网无法连接到internet怎么解决

以太网不能连接到internet连接的原因,有可能是路由器的外网连接不通或者当前的主机无法获取有效IP地址导致的。这个时候需要具体问题具体分析,如果是前者的话,那么我们需要进入路由器中配置WAN上网条件。如果配置好了以后还是上不了网的话,那...

2025-12-20 01:05 liuian

cad注册表怎么彻底删除(cad2019注册表怎么彻底删除)

注:在操作注册表之前,请先备份注册表,以免操作失误造成系统故障,另外,本文中使用的操作方法适用于Windows操作系统。以下是详细的删除cad在注册表中的操作步骤:1.打开“运行”窗口,可以通过快...

内存不够用了怎么办(内存不够用了怎么办手机)

我们的手机在使用过程中,会产生各种各样的垃圾和缓存文件,这些东西占据了很大的内存空间,所以我们平时需要定期清理这些垃圾文件。安卓的手机基本都自带手机管家类型的APP,我们可以利用这类APP实现清理垃圾...

联想电脑怎么连接wifi(联想电脑怎么连接wifi步骤台式)
  • 联想电脑怎么连接wifi(联想电脑怎么连接wifi步骤台式)
  • 联想电脑怎么连接wifi(联想电脑怎么连接wifi步骤台式)
  • 联想电脑怎么连接wifi(联想电脑怎么连接wifi步骤台式)
  • 联想电脑怎么连接wifi(联想电脑怎么连接wifi步骤台式)
三星官方固件下载地址(三星官方固件下载网站)

请您参考:1.通过手机中“三星应用商店”或“Galaxy特色订制”搜索需要的软件并下载安装。2.通过手机浏览器搜索需要的软件下载安装(若是自带的浏览器,下载的安装包保存在我的文件-Download文件...

win10企业版和专业版有什么区别哪个好

就性能而言,Windows10企业版比专业版好。1.企业版的更新频率比专业版少,可以降低更新所需要的可用时间。2.如果你是企业,在管理、保护数据安全、部署和集中管理设备方面,企业版会比专业版更具优势...

51重装系统后怎么恢复原来的系统

方法/步骤分步阅读1/5在开始菜单中打开控制面板,打开控制面板之后,选择:备份和还原选项。2/5点击:打开系统还原,如果有账户控制则会有所提示,通过即可。3/5然后会开始还原文件和设置的向导,你只需要...

可能没有权限使用网络资源(可能没有权限使用网络资源 win10)

右击“我的电脑”→“属性”→“计算机名”,看该选项卡中有没有出现你的局域网工作组名称,如“workgroup”等。然后单击“网络ID”按钮,开始“网络标识向导”:单击“下一步”,选择“本机是商业网络...

怎么查看宽带账号和密码(怎么查宽带帐号和密码)
怎么查看宽带账号和密码(怎么查宽带帐号和密码)

宽带账号密码要记牢,重要的账号密码要记小本本上!下面我来具体讲讲获取方法。1.查看发票、合同、官方小卡片是否标明。以我们这个城市为例,发票上的用户号码就是宽带账号。047403100006就是宽带账号,密码是123456,密码错误就是身份证...

2025-12-19 21:05 liuian

预装系统的固态硬盘怎么安装

首先,安装系统有三个办法可以选择:一是在固态硬盘上全新安装系统;二是在PE系统下,将机械硬盘上的系统克隆到固态硬盘上。注意GPT格式的硬盘不能用这个方法。三是HDD安装。然后,主板设置中将固态硬盘设置...

如何还原已经被删除的文件(如何还原彻底删除的文件)

首先我们需要通过浏览器搜索互盾数据恢复软件,将这款软件下载到我们的电脑上1、下载好后运行互盾数据恢复软件,软件界面有六大功能,因为我们需要对回收站清空的数据进行恢复,所以点击界面的“误清空回收站”即...

mhdd硬盘修复教程(如何用mhdd修复硬盘)

eraser这个选项试试。mhdd修复效果不是很好哦打开MHDD的重映射功能,就是REMAP选为NO,然后再重新扫描就可以自动映射了1在DOS下运行MHDD,软件启动后按F4;2点一下上方向键,再...

手机真伪查询官网入口(荣耀手机真伪查询官网入口)

进入http://www.tenaa.com.cn/网站后,首先输入的是您的省份,城市,和许可证号.许可证号需要去掉电池,在手机的后面看一个贴条:进网许可;第一行就是许可证号;第二行是设备型号;第三行...