肿瘤康复网,内容丰富有趣,生活中的好帮手!
肿瘤康复网 > spring boot 微信分享到朋友圈 微信分享给朋友

spring boot 微信分享到朋友圈 微信分享给朋友

时间:2019-09-29 19:43:58

相关推荐

一、微信公众号

获取appid,secret

二、设置JS接口安全域名

公众号设置-》功能设置-》JS接口安全域名

三、设置白名单

基本设置-》IP白名单

这个不设置获取不了TOKEN

四、获取签名相关

@GetMapping(path = "getWxInfo")public CommonResult getWxInfo(String url) {CommonResult result = new CommonResult();if (obj != null) {Map map = new HashMap();map.putAll((Map)obj);result.setData(map);} else {String hp = get("https://api./cgi-bin/token?grant_type=client_credential&appid=" + DEFAULT_SOCIAL_WEIXIN_Tmp_APP_ID + "&secret=" + DEFAULT_SOCIAL_WEIXIN_Tmp_APP_SECRET + "");JSONObject json = JSON.parseObject(hp);if (null != json.get("access_token")) {String ticket = get("https://api./cgi-bin/ticket/getticket?access_token=" + json.get("access_token") + "&type=jsapi");JSONObject json1 = JSON.parseObject(ticket);if (null != json1.get("ticket")) {Map map = Sign.sign(json1.get("ticket").toString(), url);result.setData(map);}}}return result;}

public static String get(String urlStr) {HttpGet get = new HttpGet(urlStr);try {HttpClient client = HttpClients.createDefault();HttpResponse response = client.execute(get);HttpEntity entity = response.getEntity();String result = EntityUtils.toString(entity, "UTF-8");System.out.print(result);;return result;} catch (ClientProtocolException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}return null;}

签名一天只多2000次,时间为7200秒,可以用REDIS缓存

五、HTML页面

<script src="https://res2./open/js/jweixin-1.4.0.js"></script>

<script>wx.config({debug: false, //是否 开启调试模式,建议调试的时候debug 改为trueappId: 'xxxxx', // 必填,公众号的唯一标识timestamp: '1556602084', // 必填,生成签名的时间戳nonceStr: '96e2140a-be7f-4d61-a1e5-123a7898476e', // 必填,生成签名的随机串signature: 'a1545d56ae3c5d2d388e20ba4a92e5bda74e11ed', // 必填,签名,见附录1jsApiList: ['checkJsApi','updateAppMessageShareData','updateTimelineShareData','onMenuShareAppMessage','onMenuShareTimeline','showOptionMenu',] // 必填,需要使用的JS接口列表 声明});wx.error(function(res) {// alert("微信接口初始化失败;错误信息:"+res.toString());});window.onload = function() {// alert("当前域名是:"+url);}wx.ready(function() {//wx.onMenuShareAppMessage({wx.updateAppMessageShareData({debug: false,title: '分享标题', // 分享标题desc: '分享描述', // 分享描述link: "", // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致imgUrl: "", // 分享图标success: function() {// 用户点击了分享后执行的回调函数}});wx.updateTimelineShareData({debug: false,title: '分享标题', // 分享标题desc: '分享描述', // 分享描述link: "", // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致imgUrl: "", // 分享图标success: function() {// 用户点击了分享后执行的回调函数}});});</script>

为了好看明白,这里是写死的签名信息,

//wx.onMenuShareAppMessage({

wx.updateAppMessageShareData({微信开发工具不支持这个方法,手机微信支持,开发工具onMenuShareAppMessage

备注:检查签名URLhttps://mp./debug/cgi-bin/sandbox?t=jsapisign

要分享的URL必须是当前签名的URL,不能用aURL的签名分享bURL的链接

若是检查签名没错,报invalid sign,

一、检查公众号是否完成验证,拥有权限

二、检查签名的URL与分享URL,微信上输入实际打开的地址是/后面会多个斜杠

varurl1=location.href.split('#')[0];

三、检查HTML wx.config里的大小写是否正确,jsApiList里是否有相应方法。

如果觉得《spring boot 微信分享到朋友圈 微信分享给朋友》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。