首页 > 编程语言 >uniapp中微信小程序取手机号(后端net7+盛派SDK)

uniapp中微信小程序取手机号(后端net7+盛派SDK)

时间:2023-08-09 11:13:17浏览次数:48  
标签:uniapp code 手机号 Weixin Senparc 盛派 net7 using SDK

uniapp中微信小程序取手机号(后端net7+盛派SDK) 2023年08月09日测试成功,不过看微信的小程序文档8月26日起微信小程序取手机号就要收费了,取一次3分钱。 原理:前端取到code后传到后端,后端再把code传给微信的某一接口取手机号 前端uniapp中的vue代码:

<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:
  "SenparcWeixinSetting": {
    "IsDebug": true,

    //小程序
    "WxOpenAppId": "wxd64fd8b6c1111111",
    "WxOpenAppSecret": "78eae7ca46111eb825044083fee88c6c",
    "WxOpenToken": "#{WxOpenToken}#",
    "WxOpenEncodingAESKey": "#{WxOpenEncodingAESKey}#"
  }

  

program:
 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取手机号的后端代码,直接调用方法即可:
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; 
            }
        }
 
    }
}

  

标签:uniapp,code,手机号,Weixin,Senparc,盛派,net7,using,SDK
From: https://www.cnblogs.com/niunan/p/17616308.html

相关文章

  • uniapp自动引入 vue3(ref, toRefs, reactive...), uni-app
    1.装包npmiunplugin-auto-import--save-dev2.在项目的vue.config.js中引入并使用import{defineConfig}from'vite'importunifrom'@dcloudio/vite-plugin-uni'importpathfrom'path'//----导入插件----importAutoImportfrom......
  • uniapp中微信小程序取微信头像并上传到.net core后端
    uniapp中微信小程序取微信头像并上传到.netcore后端2023年08月09日后端net7测试成功,先记下来,以后要用的时候直接来这复制粘贴前端uniapp里的vue代码: <template><view><buttonclass="avatar-wrapper"open-type="chooseAvatar"@chooseavatar="o......
  • uniapp vuex用法详细讲解
    uni-app小程序项目三1.商品列表、过滤器、封装商品item组件、上拉加载、节流阀、下拉刷新、2.商品详情、轮播图、商品价格闪烁问题3.加入购物车、vuex、持久化存储、mixiins_小程序商品列表加载_Hyman-ya的博客-CSDN博客......
  • uniapp获取位置时显示getLocation:fail the api need to be declared in the required
    uniapp获取位置时显示getLocation:failtheapineedtobedeclaredintherequiredPrivateInfosfieldinapp.json/ext.json解决方式:1.manifest.json文件 "mp-weixin" 中添加"permission":{"scope.userLocation":{&quo......
  • uniapp 只选择月份与日的时间选择器
    1、使用 <picker> 组件的 mode 属性设置为 "multiSelector",然后通过设置 range 属性来提供可选的月份和日的列表。<template><view><pickermode="multiSelector":range="range"@change="onPickerChange"><viewclass=......
  • uniapp实现左滑删除功能
      <delSlideLeft:item="item":data_transit="{index:index,item:item}"@delItem="delItem"></delSlideLeft><template><view><viewclass="box-slideLeft">......
  • Uniapp开发:配置运行到手机或模拟器功能
    一、配置环境变量将使用的adb环境路径(D:\HBuilderX3.4.6\HBuilderX\plugins\launcher\tools\adbs)配置到环境变量(控制面板-》系统-》高级系统设置-》环境变量编辑)中:二、查看adb相关信息打开cmd命令行1、使用adbversion命令查看adb版本。adbversion......
  • 2023-08-04 uniapp之scroll-view无法横向滚动
    解决方案:给scroll-view设置样式white-space:nowrap然后scroll-view里面的子项要设置样式为display:inline-block;接着scroll-view的属性scroll-x要设置为truescroll-x="true"如果这都不出现滚动,那么原因可能有二:1.scroll-view的宽度大于或等于父级的宽度,解决方......
  • 直播系统源代码,uniapp实现禁止video拖拽快进
    直播系统源代码,uniapp实现禁止video拖拽快进 <!--1.video标签--><videoid="myVideo"@timeupdate="videoFun":src="videourl"initial-time="initial_time"><script>exportdefault{data(){  //2.data数据部分return{videour......
  • uniapp 使用camera组件IOS圆角不生效问题
    <viewclass="cameraViewgui-margin-top"><cameraclass="camera-box"device-position="front"flash="off"></camera></view>.cameraView{width:600rpx;height:600rpx;border-radius:50%;bord......