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;
            }
        }
  
    }
}

  

posted @   牛腩  阅读(679)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示