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

一、微信公众号

获取appid,secret

二、设置JS接口安全域名

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

spring boot 微信分享到朋友圈,微信分享给朋友,_第1张图片

三、设置白名单

基本设置-》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.weixin.qq.com/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.weixin.qq.com/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页面

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

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

 

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

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

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

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

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

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

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

你可能感兴趣的:(spring,boot2.0)