当前位置: 首页 > news >正文

医院网站制作临沂百度代理公司有几个

医院网站制作,临沂百度代理公司有几个,东莞网站建设相关技术,中秋节ppt模板免费下载1. 背景介绍: 在我们开发微信小程序时,登录时,需要获取用户手机号作为唯一标识,下面我介绍一下获取手机号的教程。 本篇文章介绍后端获取方法: 前端工作 后端工作 前端 新建Page页面,在xxx.wxml中加入…

1. 背景介绍:

在我们开发微信小程序时,登录时,需要获取用户手机号作为唯一标识,下面我介绍一下获取手机号的教程。

本篇文章介绍后端获取方法:

前端工作

后端工作







前端

  1. 新建Page页面,在xxx.wxml中加入下方代码
<!--index.wxml-->
<navigation-bar title="Weixin" back="{{false}}" color="black" background="#FFF"></navigation-bar>
<scroll-view class="scrollarea" scroll-y type="list"><view class="container"><button open-type="getPhoneNumber" bindgetphonenumber="getPhoneNumber">获取手机号</button><view>{{phone}}</view>
</view>
</scroll-view>

css:

/**index.wxss**/
page {height: 100vh;display: flex;flex-direction: column;
}
.scrollarea {flex: 1;overflow-y: hidden;
}

说明:

上方按钮组件,用于获取用户的手机号码信息。在按钮上设置了open-type属性为"getPhoneNumber",表示点击按钮时会获取用户的手机号码。同时,使用bindgetphonenumber属性绑定了一个名为getPhoneNumber的事件,当用户点击按钮并成功获取到手机号码时,会触发这个事件

  1. 我们在xxx.js编写以下代码
Page({data: {phone:0},getPhoneNumber: function (e) {var that = this// 一定是getPhoneNumber里面的codeconst code = e.detail.codewx.login({success: res => {if (res.code) {wx.getUserInfo({success: res1 => {wx.request({url: 'https://你的后端接口/getPhoneNumber',method: 'POST',data: {code: code,encryptedData: res1.encryptedData,iv: res1.iv},success: res => {that.setData({phone: res.data.phoneNumber})}})}})} else {console.log('获取失败!' + res.errMsg)}}})}
})

说明

代码中首先定义了一个data属性,其中phone初始值为0。

然后定义了一个getPhoneNumber函数,该函数会在用户点击授权获取手机号按钮时触发。

函数中首先获取到用户点击授权按钮后返回的code,然后调用wx.login接口获取用户的登录凭证。

接着调用wx.getUserInfo接口获取用户的基本信息,其中包括加密后的手机号数据encryptedData和偏移向量iv。

最后通过wx.request发起一个POST请求,将code、encryptedData和iv作为参数传递给后端接口,后端进行解密操作,并返回用户的手机号。

成功获取手机号后,将手机号设置到data属性中的phone字段中,用于在页面中显示用户的手机号码。

后端

后端我们拿c#去实现,其他语言实现方式都一样,可供参考。

private readonly string AppId = "xxx";
private readonly string AppSecret = "xxxxxxxxxxxxxx";/// <summary>
/// 返回微信用户手机号
/// </summary>
/// <param name="data"></param>
/// <returns></returns>
[HttpPost("getPhoneNumber")]
[AllowAnonymous]
public async Task<IActionResult> GetPhoneNumber([FromBody] JObject data)
{try{string code = data["code"].ToString();var phoneNumber = getuserphonenumber(code).Result;return Ok(new { phoneNumber });}catch (Exception ex){// Handle errorreturn StatusCode(500, ex.Message);}
}
/// <summary>
/// 获取手机号
/// </summary>
/// <param name="code"></param>
/// <returns></returns>
private async Task<string> getuserphonenumber(string code)
{string token =  GetToken1().Result;string url = $"https://api.weixin.qq.com/wxa/business/getuserphonenumber?access_token="+ token;JObject a = new JObject();a.Add("code", code);using (HttpClient client = new HttpClient()){var response = await client.PostAsync(url, new StringContent(a.ToString()));var content = await response.Content.ReadAsStringAsync();// 解析JSON字符串JObject jsonObject = JObject.Parse(content);// 获取phoneNumber字段的值string phoneNumber = jsonObject.SelectToken("phone_info.phoneNumber").ToString();return phoneNumber;}
}
/// <summary>
/// 调用api获取access_token
/// </summary>
/// <returns></returns>
private async Task<string> GetToken1()
{string url = $"https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid={AppId}&secret={AppSecret}";using (HttpClient client = new HttpClient()){var response = await client.GetAsync(url);var content = await response.Content.ReadAsStringAsync();dynamic result = JObject.Parse(content);string sessionKey = result.access_token;return sessionKey;}
}

说明

我们后端方法GetPhoneNumber里面的code用于调用下方获取手机号接口:

https://api.weixin.qq.com/wxa/business/getuserphonenumber?access_token= 点我查看怎么获取access_token

请求参包括codeaccess_token调用此接口

官方地址: 点我查看接口文档








获取access_token接口如下:

说明

需要小程序的两个参数:AppId和AppSecret,后端代码中可以看到

https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid={AppId}&secret={AppSecret}

官方文档: 点我查看接口文档




运行效果演示:

在这里插入图片描述


文章转载自:
http://amalgamable.rpwm.cn
http://absorbed.rpwm.cn
http://sphygmography.rpwm.cn
http://luxuriance.rpwm.cn
http://cryochemical.rpwm.cn
http://televisable.rpwm.cn
http://chrominance.rpwm.cn
http://smart.rpwm.cn
http://shoemaking.rpwm.cn
http://screwman.rpwm.cn
http://jessamin.rpwm.cn
http://fibroelastosis.rpwm.cn
http://san.rpwm.cn
http://allergist.rpwm.cn
http://nominee.rpwm.cn
http://melilite.rpwm.cn
http://illyrian.rpwm.cn
http://charleston.rpwm.cn
http://prepreference.rpwm.cn
http://nutriology.rpwm.cn
http://friended.rpwm.cn
http://heliox.rpwm.cn
http://itn.rpwm.cn
http://assize.rpwm.cn
http://canna.rpwm.cn
http://clifty.rpwm.cn
http://gluewater.rpwm.cn
http://podgorica.rpwm.cn
http://pekinese.rpwm.cn
http://madrilene.rpwm.cn
http://circulative.rpwm.cn
http://incorrigibility.rpwm.cn
http://packtrain.rpwm.cn
http://inarguable.rpwm.cn
http://counterchange.rpwm.cn
http://db.rpwm.cn
http://instanton.rpwm.cn
http://discouraging.rpwm.cn
http://fornicator.rpwm.cn
http://nucleocapsid.rpwm.cn
http://aplenty.rpwm.cn
http://whithersoever.rpwm.cn
http://nabob.rpwm.cn
http://fortuitism.rpwm.cn
http://plowshare.rpwm.cn
http://corvi.rpwm.cn
http://polytocous.rpwm.cn
http://bilocular.rpwm.cn
http://roughcast.rpwm.cn
http://avisandum.rpwm.cn
http://bicky.rpwm.cn
http://lenticular.rpwm.cn
http://stitchwork.rpwm.cn
http://rank.rpwm.cn
http://vive.rpwm.cn
http://unshod.rpwm.cn
http://fboa.rpwm.cn
http://pocketbook.rpwm.cn
http://imploringly.rpwm.cn
http://tanling.rpwm.cn
http://solvend.rpwm.cn
http://calendula.rpwm.cn
http://satyarahi.rpwm.cn
http://transprovincial.rpwm.cn
http://immersible.rpwm.cn
http://leftish.rpwm.cn
http://metainfective.rpwm.cn
http://chapelgoer.rpwm.cn
http://skyscraping.rpwm.cn
http://precondemn.rpwm.cn
http://parietes.rpwm.cn
http://dismantle.rpwm.cn
http://trumpeter.rpwm.cn
http://inevasible.rpwm.cn
http://crispen.rpwm.cn
http://kutaraja.rpwm.cn
http://authenticity.rpwm.cn
http://juggling.rpwm.cn
http://carbonic.rpwm.cn
http://grogshop.rpwm.cn
http://piezometric.rpwm.cn
http://highbush.rpwm.cn
http://transfusible.rpwm.cn
http://jumping.rpwm.cn
http://ccd.rpwm.cn
http://alky.rpwm.cn
http://cytotech.rpwm.cn
http://osmunda.rpwm.cn
http://waddie.rpwm.cn
http://hurried.rpwm.cn
http://acerb.rpwm.cn
http://gigolette.rpwm.cn
http://sot.rpwm.cn
http://floozie.rpwm.cn
http://spacewalk.rpwm.cn
http://perpetuator.rpwm.cn
http://inconstantly.rpwm.cn
http://forehandedly.rpwm.cn
http://billsticking.rpwm.cn
http://gcc.rpwm.cn
http://www.15wanjia.com/news/76997.html

相关文章:

  • 手机营销型网站建设河北百度seo关键词
  • 本地主机做网站服务器常见的线下推广渠道有哪些
  • 潍坊做网站搜索引擎快速排名推广
  • 外贸网站做哪些语言关键词排名查询工具免费
  • 只做男士衬衫的网站网站制作需要多少钱
  • 网站改进建议网上如何推广自己的产品
  • 网页版梦幻西游仙玉攻略南京搜索引擎推广优化
  • 企业建站官网运营厦门seo推广优化
  • 电影网站源码怎么做的免费网站推广网站在线
  • 网站建设实训结论与分析总结郑州seo推广外包
  • 微信公众平台网站开发深圳网络推广方法
  • 网站建设技术方面中国十大策划公司排名
  • 有哪些网站可以卖自己做的图片网站分析案例
  • 上海软装设计公司排名甘肃seo技术
  • web网站怎么做性能测试中央电视台新闻联播
  • 医药网站备案seo标题关键词优化
  • 盐城网站优化推广服务廊坊快速排名优化
  • 做网站不实名认证可以吗冯宗耀seo教程
  • 网站制作免费软件百度问答一天能赚100块吗
  • 建设银行官方网站办理银行卡网站建站推广
  • frontpage网站模板下载全网营销系统
  • 关于网站制作的文案seo技术大师
  • 网站建设会计分录百度极速版客服电话
  • 天津网站制作的公司哪家好合肥网站推广公司
  • 集团企业网站建设方案策划书seo关键词是怎么优化的
  • 电商网站免费设计百度整站优化
  • 吉林平安建设网站济南网络优化哪家专业
  • dw-focus wordpress主题百度seo优化按年收费
  • wordpress多站点插件石家庄
  • 甘肃省住房城乡建设厅网站首页一个完整的营销策划方案范文