微信小程序wx.login调用次数优化

wx.login拿到code,调用后台获取到openid,将openid存储起来,后面直接用openid不用再调用wx.login

1、前台在app.js里定义个wxlogin函数

// app.jsApp({  wxlogin(options){    let skey = "openid";    let svalue = wx.getStorageSync(skey);       console.log("svalue="+svalue);    if(svalue==""){      wx.login({        success: function(res1){          let thaturl = "https://xxx/code2openid?js_code="+res1.code;          wx.request({            url: thaturl,            success: function(res){              console.log(res);              console.log(res.data);              wx.setStorageSync(skey, res.data);              options.success({code: res.data});            }          });        }      });      }else{      options.success({code: svalue});    }  }})


2、前台调用wxlogin函数代码

    getApp().wxlogin({      success(res){        console.log(res);        //res.code --openid      }    });


3、后台code2openid的java代码示例

    private String getOpenid(String appid, String secret, String js_code) {    String url = "https://api.weixin.qq.com/sns/jscode2session?appid="+appid+"&secret="+secret+"&js_code="+js_code+"&grant_type=authorization_code";    Map map = HttpUtil.call(url, "");    return (String)map.get("openid");    }@RequestMapping(path="/code2openid")    public String code2openid(@RequestParam("js_code")  String js_code) {return this.getOpenid("这里是appid", "这里是secret", js_code);    }
发表评论
留言与评论(共有 0 条评论) “”
   
验证码:

相关文章

推荐文章