java spring boot 微信公众号 分享功能
生活随笔
收集整理的這篇文章主要介紹了
java spring boot 微信公众号 分享功能
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
/*** 方法名:getWxConfig</br>* 詳述:獲取微信的配置信息 </br>* @param* @return 說明返回值含義* @throws*/public Map<String, String> getWxConfig(HttpServletRequest request, HttpServletResponse response) {response.setHeader("Access-Control-Allow-Origin", "*");Map<String, String> ret = new HashMap<>();//獲取前臺(tái)傳來的三個(gè)參數(shù)String timestamp = WXPayUtil.getCurrentTimestamp()+"";String nonce_str = WXPayUtil.generateNonceStr();String url = request.getParameter("url");logger.info("url"+url+"==============="+nonce_str+"============"+timestamp);//從緩存中讀取token信息,如果沒有則獲取一個(gè)新的token,通過token獲取ticket信息String access_token = (String)request.getSession().getAttribute("access_token");if(access_token == null) {/** 獲取AccessToKen*/String getAccessToKen = "https://api.weixin.qq.com/cgi-bin/token?"+ "grant_type=client_credential&appid="+env.getProperty("wxlog.appid")+"&secret="+ env.getProperty("wxlog.appsecret");String jsonObject = MyHttpUtils.doPost(getAccessToKen,"",Charset.forName("UTF-8").toString());JSONObject rq = JSON.parseObject(jsonObject);/**獲取jsapi_ticket*/String getTicket = "https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token="+rq.get("access_token").toString()+"&type=jsapi";String rest = MyHttpUtils.doPost(getTicket,"",Charset.forName("UTF-8").toString());JSONObject re = JSON.parseObject(rest);/**將信息保存入緩存中*/request.getSession().setAttribute("token", rq.get("access_token").toString());request.getSession().setAttribute("ticket", re.get("ticket").toString());}/**生成簽名*/String ticket = (String)request.getSession().getAttribute("ticket"); //微信返回的ticketString signature = shareUtil.getSignature(ticket,url,nonce_str,timestamp); //獲取簽名ret.put("appId", env.getProperty("wxlog.appid"));ret.put("nonceStr", nonce_str);ret.put("timestamp", timestamp);ret.put("signature", signature);return ret;}
---------------------------------------------------------------------------------var url2=location.href.split('#')[0];function getwxconfing(title,pretext,preimage){mui.post('/wxpya/getWxConfig',{url:url2},function (data) {console.log(url);console.log(data);if (data!=undefined) {wx.config({debug: false, // 開啟調(diào)試模式,調(diào)用的所有api的返回值會(huì)在客戶端alert出來,若要查看傳入的參數(shù),可以在pc端打開,參數(shù)信息會(huì)通過log打出,僅在pc端時(shí)才會(huì)打印。appId: data.appId, // 必填,公眾號(hào)的唯一標(biāo)識(shí)timestamp: data.timestamp, // 必填,生成簽名的時(shí)間戳nonceStr: data.nonceStr, // 必填,生成簽名的隨機(jī)串signature: data.signature,// 必填,簽名jsApiList: [//需要調(diào)用的JS接口列表'checkJsApi',//判斷當(dāng)前客戶端版本是否支持指定JS接口'onMenuShareAppMessage',//分享給好友'onMenuShareTimeline'//分享到朋友圈]});var config = {title: title, // 分享標(biāo)題desc: pretext, // 分享描述link: url, // 分享鏈接imgUrl: imgsrcpath()+preimage,success: function () { /*$.alert("成功分享");*/ },cancel: function () { /*$.alert("分享失敗,您取消了分享!");*/ }};wx.ready(function () {wx.onMenuShareAppMessage(config);wx.onMenuShareTimeline(config);});}}, 'json')}
?
總結(jié)
以上是生活随笔為你收集整理的java spring boot 微信公众号 分享功能的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 对面装修,办公室放置绿萝,袋装活性炭,空
- 下一篇: 蓝桥云课练习题 用杂志拼接信件