微信小程序 + node
前端:
步骤一: 要使用 button 按钮 open-type 属性值设置为 “getPhoneNumber” 并绑定 bindgetphonenumber 事件,目的为得到 encryptedData 和 iv 字段。或者调用 wx.getUserProfile(Object object) 也可以得到 encryptedData 和 iv 字段。
步骤二: 使用 wx.login(Object object) 目的为得到 code 字段。
步骤三:发请求 wx.request(Object object) 把 code 、encryptedData 和 iv 字段 传到后端。
后端:
步骤一: 向腾讯服务器发请求 ( 详情请查看官方文档地址:https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/login/auth.code2Session.html ) ,服务器 ====》 登录 ====》auth.code2Session 文档 , 目的是为了得到 session_key 字段。
本地服务器 和 微信服务器 之间 的
1.请求接口 : https://api.weixin.qq.com/sns/jscode2session?appid=APPID&secret=SECRET&js_code=JSCODE&grant_type=authorization_code
2.请求类型: GET
3.请求参数: js_code(前端传过来的 code)、appid(自己的小程序 appId)、secret(自己的小程序 appSecret)、grant_type(授权类型,此处只需填写 authorization_code)
4.如何获取: appid 、 appSecret 登录到 " 微信公众平台 ====》 左边导航栏(点击开发 ) ====》点击开发管理 ====》开发设置(就可以看到 appid 、 appSecret)"
步骤二:解密电话号码 从腾讯服务端换取的 session_key 和 前端传过来的 encryptedData、iv 就可以解密出电话号码。
案例一
小程序代码
<!--wxml-->
<view>
<button open-type="getPhoneNumber" bindgetphonenumber="getPhoneNumber">获取手机号码</button>
<button bindtap="onLogin">登录</button>
</view>
//js
Page({
data: {
code: '',
iv: '',
encryptedData: '',
user_phone: '',
user_image: '',
user_sex: '',
user_name: ''
},
onLoad: function(options) {
//获取 code
wx.login({
//注意一下: 如果使用箭头函数 this 指向 Page 页面 ,不是箭头函数 this 指向 微信对象。
//不是箭头函数 需要在外面保存 this
success:(res)=>{
this.s

本文介绍了微信小程序结合Node.js实现登录功能和获取用户手机号的详细步骤。前端通过button组件获取encryptedData和iv,使用wx.login获取code,然后发送请求至后端。后端通过调用微信API获取session_key,并利用session_key解密获取电话号码。
最低0.47元/天 解锁文章
3127

被折叠的 条评论
为什么被折叠?



