小編這次要給大家分享的是詳解如何開發(fā)微信公眾號網頁分享功能,文章內容豐富,感興趣的小伙伴可以來了解一下,希望大家閱讀完這篇文章之后能夠有所收獲。
創(chuàng)新互聯(lián)建站專注于茶陵網站建設服務及定制,我們擁有豐富的企業(yè)做網站經驗。 熱誠為您提供茶陵營銷型網站建設,茶陵網站制作、茶陵網頁設計、茶陵網站官網定制、重慶小程序開發(fā)服務,打造茶陵網絡公司原創(chuàng)品牌,更為您提供茶陵網站排名全網營銷落地服務。現在每天都可以看到很多微信分享的鏈接上面有網站或者商家的自定義的分享標題,和分享鏈接的描述及分享出去的圖像,例如下面的分享出去的鏈接:
上面這個是微信的js-SDK頁面分享給微信好友在聊天列表中顯示的視覺效果。
微信JS-SDK Demo :這個是微信網頁分享出去的標題。
微信JS-SDK,幫助第三方為用戶提供更優(yōu)質的移動web服務:這個是被分享的這個頁面的分享描述。
微信圖標:這個就是自己網站或者自己自定義的圖像。
上面這個是微信官方網頁分享出去的定義描述,那么怎樣實現自己網站網頁的自定義分享的標題,描述及分享出去的顯示圖片呢,下面就具體的來探討一下微信網頁第三方分享自定的實現方式。
關于微信網頁分享自定義主要有兩方面的工作需要我們來做,一是:分享頁面的js分享代碼的編寫,二是:微信分享網頁的鏈接地址簽名。
首先來看一下網頁的連接地址簽名,這個功能主要是在服務端來時實現。
第一步:基礎數據的準備,需要如下數據信息:
APPID:微信公眾號的id; APP_SECRECT:公眾號號的密鑰。簽名的網站域名(這個建議配置在配置文件中)。
第二步:微信簽名數據的準備:
appid,secret,url將這三個參數放入map中, 鍵值為:appid=微信公眾號的id,secret=APP_SECRECT,url=網站的域名+網頁的請求地址+請求的參數。
代碼的實現方式如下:
1. controller層的代碼實現:
@RequestMapping("cover") public String identifyCover(HttpServletRequest request, HttpServletResponse response) //微信分享授權開始 String appId = ;//取項目中配置的公眾號id String secret = ;//取項目中配置的公眾號密鑰 //例如我們有一個分享的鏈接為:http://test.weixinfwenx.cn/project/fenxiang.do?id=1&name=2; //那么domainAddr = http://test.weixinfwenx.cn,這個可以動態(tài)的配置在項目里,方便測試環(huán)境和生產 //域名的切換 String domainAddr = "";//項目中配置的網站的域名 //這個取的是鏈接上的參數,例如在上面的這個鏈接中,id=1&name=2就是我們要動態(tài)去的參數,可能有人 //會想到,這個兩個參數直接寫在地址中不是挺簡單的為啥還要動態(tài)去獲取這個參數呢;在這里我們引出了一 //個微信二次分享的問題,就是別人轉發(fā)的鏈接給你,然后你再轉發(fā)給別人,在你轉發(fā)給別人后這個鏈接的簽 //名就會失敗,為啥呢,因為經過再次轉發(fā)的鏈接,微信會自動加上一些自己的參數,這樣會導致頁面上微信 //分享的鏈接和簽名的鏈接不一致。直接導致自定義的標題和鏈接描述,顯示失敗,失敗原因是微信默認的在 //我們的分享鏈接上加上了&from=singlemessage。 String str = request.getQueryString(); Mapmap = new HashMap (); map.put("appid", appId); map.put("secret", secret); String url = domainAddr + "/project/fenxiang.do?"+str; map.put("url", url); //這個地址是傳給頁面使用 request.setAttribute("fenxurl", url); //開始微信分享鏈接簽名 Map params = weixinService.weixinjsIntefaceSign(map); request.setAttribute("params", params); return "自己的頁面";