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

无锡市锡山建设局网站想做网络推广如何去做

无锡市锡山建设局网站,想做网络推广如何去做,做产品推广哪个网站好,山东正元建设网站前言 小程序中有很多地方都会用到用户的手机号,比如登陆注册,填写收货地址等等。有了这个组件可以快速获取微信绑定手机号码,无须用户填写。网上大多数教程还是往年的,而微信官方的api已做了修改。本篇文章将使用最新的方法获取手…

前言

  • 小程序中有很多地方都会用到用户的手机号,比如登陆注册,填写收货地址等等。有了这个组件可以快速获取微信绑定手机号码,无须用户填写
  • 网上大多数教程还是往年的,而微信官方的api已做了修改。本篇文章将使用最新的方法获取手机号

具体实现

前端

  • 获取手机号|微信开放文档

  • 因为需要用户主动触发才能发起获取手机号接口,所以该功能不由 API 来调用,需用 button 组件的点击来触发。

  • 另外,新版本接口不再需要提前调用wx.login进行登录。
    在这里插入图片描述

  • 需要将 button 组件 open-type 的值设置为 getPhoneNumber,当用户点击并同意之后,可以通过 bindgetphonenumber 事件回调获取到动态令牌code

  • 然后把code传到开发者后台,并在开发者后台调用微信后台提供的 phonenumber.getPhoneNumber 接口,消费code来换取用户手机号。

  • 每个code有效期为5分钟,且只能消费一次。

:getPhoneNumber 返回的 code 与 wx.login 返回的 code 作用是不一样的,不能混用。

总结成一句话就是:我们前端只要把getPhoneNumber获取到的code,传给后端就可以了。

在这里插入图片描述
代码示例

<view style="padding: 50rpx;"><button open-type="getPhoneNumber" type="primary" bindgetphonenumber="getPhoneNumber">微信账号一键登录</button>
</view>
Page({getPhoneNumber (e) {let detail = e.detail;console.log(detail);if (detail.errMsg === "getPhoneNumber:ok") {console.log('用户同意授权');let code = detail.code; // 动态令牌console.log(code);wx.request({url: '你的接口,比如登录',data: {code},success(res) {console.log(res.data); // 后端返回解析出的手机号,或者直接返回登录成功的信息}})} else {console.log('用户拒绝授权');}}
})

在这里插入图片描述

后端(服务端)

1. 获取请求参数code和access_token

  • 我们服务端调用获取手机号是调用接口:getPhoneNumber

  • 服务端获取手机号 | 微信开放文档
    在这里插入图片描述

  • 该接口需要两个请求参数:
    在这里插入图片描述

  • code就是我们前端发送过来的那个

  • access_token需要服务端调用getAccessToken接口获取:获取接口调用凭据 | 微信开放文档
    在这里插入图片描述
    请求参数:

https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=换成你的APPID&secret=换成你的APPSECRET

在这里插入图片描述
然后我们就可以获取到access_token

{
"access_token":"ACCESS_TOKEN",
"expires_in":7200
} 

2. 获取手机号

最后使用我们上面提到的getPhoneNumber接口,请求参数为前端传过来的code和我们刚刚获取的access_token即可。

https://api.weixin.qq.com/wxa/business/getuserphonenumber?access_token=ACCESS_TOKEN

请求参数

{
"code": "e31968a7f94cc5ee25fafc2aef2773f0bb8c3937b22520eb8ee345274d00c144"
}

注意access_token是放在URL里面code放body里面
返回的数据里面就包含了手机号


{"errcode":0,"errmsg":"ok","phone_info": {"phoneNumber":"xxxxxx","purePhoneNumber": "xxxxxx","countryCode": 86,"watermark": {"timestamp": 1637744274,"appid": "xxxx"}}
}

然后后端获取到手机之后,可以顺便把其他业务逻辑处理了,比如登录

一句话总结

前端把getPhoneNumber获取到的code传给后端,后端获取access_token和前端传过来的code,请求getPhoneNumber服务端接口,即可获取到手机号。

❤如果觉得有用的话,请给我个三连

http://www.yayakq.cn/news/298169/

相关文章:

  • 合理的网站结构wordpress密码对的登不不了
  • 一个自己的网站企业网站数据库
  • 购物网站建设方案ppt科学小制作小发明
  • 揭阳购物网站开发设计网站建设php论文
  • 企业网站营销的典型案例做门窗接活的网站
  • 高档手表网站无锡网站制作高端
  • 徐州网站开发软件开发技术方案模板
  • 做基因功能注释的网站北京网站开发价格
  • 宿州市埇桥区建设局网站网页相册制作
  • 室内设计学校网站网站关键词数量
  • 外贸网站搜索 引擎优化方法下载建设银行官方网站
  • 做精神科医院网站费用有什么管理系统
  • 空白网站建设专业网站建设电话
  • 做网站万网中国建设网站红黑榜名单
  • 专业网站运营制作北京企业网站推广价格
  • 深圳网站制作网络建设公司建立网站需要哪些
  • 什么网站可以做兼职美工263net企业邮箱
  • 辽宁建设工程信息网官方网站百度搜索引擎广告投放
  • 筑云电商网站建设公司做一网站要什么软件
  • 做与食品安全有关的网站深圳创业板
  • 莱芜融媒体中心网站无锡富通电力建设有限公司网站
  • 列表怎么做网站企业网站开发环境
  • 自学制作网站难不难郑州粒米seo顾问
  • 网站如何导入百度地图智慧团建电脑版登录
  • 安徽义信建设网站扬州市邗江区城乡建设局网站
  • 微信企业网站 源码wordpress用户名
  • 商贸公司的网站建设沧州句号网络科技有限公司
  • dns是不是做网站用的江苏搜索引擎优化公司
  • 山西太原网站建设公司自己做网站广告
  • 生物科技 网站模板下载WordPress中文空格