微信小程序中获取用户的唯一标识openid,用于做业务判断处理
Posted Acmen-zym
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了微信小程序中获取用户的唯一标识openid,用于做业务判断处理相关的知识,希望对你有一定的参考价值。
我是小程序加载时就调用,执行顺序如下:
1、进入小程序时会调用onLoad,onLoad函数是监听页面加载的;
2、在onLoad引用wx.login,获取一个临时访问code,当前code有效时间为5分钟,并且只能使用一次;
3、将code传入后端,在后端访问https://api.weixin.qq.com/sns/jscode2session?appid=APP_ID&secret=SECRET&js_code=code&grant_type=authorization_code链接,获取openId并且关联用户;
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options)
var tempThis = this;
wx.login(
success: function (res)
wx.request(
url: 'https://127.0.0.1/student/getStudentJointInfo', //接口地址
data: wxId: res.code ,//res.code就是当前调用wx.login生成的,有效时间5分钟
success: function (d)
if (d.data == null || d.data == "")
tempThis.setData( hiddenmodalput: false, wxId: res.code );//意味着没有关联需要进行关联
console.log(d.data);
else
tempThis.setData( phoneNum: d.data, wxId: res.code );//意味着没有关联需要进行关联
);
);
,
后端访问代码
/**
* 获取微信用户唯一标识ID
*
* @param wxId 也就是wx.login生成的code,有效时间五分钟,只能使用一次
* @return 验证成功则返回openid,失败则为null
*/
public static String getOpenId(String wxId)
String url = new StringBuilder("https://api.weixin.qq.com/sns/jscode2session?appid=").append(APP_ID)
.append("&secret=").append(SECRET)
.append("&js_code=").append(wxId).append("&grant_type=authorization_code").toString();
String body = OkHttpClientUtil.getBody(url, 8L, new HashMap<>());
JSONObject jsonObject = JSONObject.fromObject(body);
if (!jsonObject.containsKey("openid")) return null;
return jsonObject.getString("openid");
以上是关于微信小程序中获取用户的唯一标识openid,用于做业务判断处理的主要内容,如果未能解决你的问题,请参考以下文章