小程序用户openid是用户在小程序中的唯一标识符,
openid长度官方建议是保存为64位,
但是在小程序支付接口中,
用户的openid是128位,
你可以根据情况处理。
猛击这里,
观看《小程序获取用户的openid》视频,
详细了解代码编写过程。
一、 小程序openid作用
在小程序开发过程中,
一些关键的地方,
会用到openid,
比如:
1) 在小程序中调用微信支付
一些小程序商城,小程序商铺想要实现在线支付,
发起统一下单时向微信服务器提交的数据中,
有一个必须填写的字段 openid,
代表支付用户的openid;
猛击这里,
观看《小程序支付开发》课程
2)自定义统计
为了给用户更好的服务,
有时候我们需要对用户身份进行识别跟踪,
由于openid是唯一标签符,
可以用它来判断是新用户还是老用户,
从而给他们个性化的服务。
二、 小程序获取用户openid的流程和方法
1) 首先调用 wx.login() 接口
获取小程序登录凭证(code),
是一个字符串。
2) 把 code 发送到你的 web 服务器
把第一步中获取到的 code,
通过 wx.request() 发送到你的web服务器,
wx.request({
url: ‘https://www.qinziheng.com/wxLogin.php’,
data: {
code: code
}
})
其中 https://www.qinziheng.com/wxLogin.php 是你的web服务器接收脚本,
wxLogin.php做演示,
在子恒老师的网站上并不存在。
3)web服务器接收 code
在你的 wxLogin.php脚本中,
接收小程序发送过来的 code
4) web服务器使用 code 换取用户的 openid
wxLogin.php获取到 code后,
向微信这个网址请求:
https://api.weixin.qq.com/sns/jscode2session?appid=APPID&secret=SECRET&js_code=JSCODE&grant_type=authorization_code
其中:
APPID:是你小程序的appid
SECRET:是你小程序的APPSECRET
JSCODE:是第三步中获取到的code
grant_type=authorization_code=authorization_code:是固定值
保持不变就行。
如果没有错误,
微信会返回一个json数据包:
{
“openid”: “OPENID”,
“session_key”: “SESSIONKEY”,
“unionid”: “UNIONID”
}
其中openid这个字段的值就是这个用户在小程序中的openid
猛击这里,
观看《小程序获取用户的openid》视频,
详细了解代码编写过程。
转自《秦子恒微信课堂》
地址:https://www.qinziheng.com/xiaochengxudev/weapp-pay-dev/4389.htm