0


微信小程序中获取用户的唯一标识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
     */publicstaticStringgetOpenId(String wxId){String url =newStringBuilder("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,newHashMap<>());JSONObject jsonObject =JSONObject.fromObject(body);if(!jsonObject.containsKey("openid"))returnnull;return jsonObject.getString("openid");}

本文转载自: https://blog.csdn.net/qq_42623400/article/details/122982304
版权归原作者 Acmen-zym 所有, 如有侵权,请联系我们删除。

“微信小程序中获取用户的唯一标识openid,用于做业务判断处理”的评论:

还没有评论