方法一:
首先来介绍使用小程序直接获取的方法,这种方法在真实的开发中肯定是不可取的,审核也不会通过,这里只介绍一下,刚接触小程序的小伙伴可以尝试用一下即可,首先是把appid和微信小程序的提供的app_secret定义好,只需要执行以下的方法即可获取到想要的openid。
wx.login({
success: function (res) {
wx.request({
url: \'https://api.weixin.qq.com/sns/jscode2session\',
data: {
appid: APP_ID,
secret: APP_SECRET,
js_code: res.code,
grant_type: \'authorization_code\'
},
method: \'GET\',
success: function (res) {
OPEN_ID = res.data.openid;//获取到的openid
console.log(OPEN_ID)
}
})
}
})
方法二:
但是上面的方法在实际的开发中是没办法直接进行使用的,可以换一种思路把请求获取openid的方法放到java开发中的controller即可,很简单,直接上代码。
private final String AppId="你的appid";
private final String AppSecret="你的AppSecret";
/***在微信小程序里也可以获取,
* 但是审核不会过,并且也不安全*/
public void test(){
//授权(必填)
String grant_type = "authorization_code";
//URL
String requestUrl = "https://api.weixin.qq.com/sns/jscode2session?";
String code = getPara("js_code");
//请求参数
String params = "appid=" + AppId + "&secret=" + AppSecret + "&js_code=" + code + "&grant_type=" + grant_type;
//发送请求
String data = HttpUtils.get(requestUrl+params);
//解析相应内容(转换成json对象)
JSONObject json = JSONObject.fromObject(data);
//用户的唯一标识(openid)
String Openid =String.valueOf(json.get("openid"));
setAttr("openid",Openid);
System.out.println(Openid);
renderJson();
}
总结一下:
1、微信小程序的传值是使用的renderJson()进行传到小程序,小程序到java代码使用的是wx.request方法进行请求,在success中回调请求返回的参数。
2、在微信小程序页面加载的时候就想有一些加载的话可以写在onShow: function () {}函数。
请发表评论