十年網(wǎng)站開發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營維護(hù)+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
這篇文章將為大家詳細(xì)講解有關(guān)微信開發(fā)中分享接口的示例分析,小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。

我們提供的服務(wù)有:成都做網(wǎng)站、成都網(wǎng)站制作、微信公眾號(hào)開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、上杭ssl等。為千余家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的上杭網(wǎng)站制作公司
最近在做微信服務(wù)號(hào)開發(fā),簡(jiǎn)單總結(jié)一下,便于自己學(xué)習(xí)積累和分享給大家:
環(huán)境介紹:
Spring+ Spring MVC +Mybatis
開發(fā)語言:
JAVA
微信公眾平臺(tái)的開發(fā)中,微信只公布了一個(gè)基于Http協(xié)議的接口和加解密的算法sdk,在開發(fā)的過程中可以自己根據(jù)需求來配置數(shù)據(jù),調(diào)用相關(guān)接口,也可以引用比較成熟的基于java語言的微信公眾號(hào)sdk。筆者引用的是目前比較流行的
weixin-java-tools
可以參考:點(diǎn)擊打開鏈接
項(xiàng)目中引入了 weixin-java-mp-2.9.0.jar 和 weixin-java-common-2.9.0.jar 就可直接調(diào)用相關(guān)功能接口和完成jssdk認(rèn)證
分享接口:
1.后臺(tái)準(zhǔn)備:
建一個(gè)公用控制類: WeXinJsSdkController ,通過ajax 訪問完成jssdk認(rèn)證:
@Controller
@RequestMapping("jssdk")
public class WeXinJsSdkController {
@Autowired
private WxMpService wxMpService;
@RequestMapping(value = "/config", method = RequestMethod.GET)
@ResponseBody
public WxJsapiSignature wxJsSdkConfig(HttpServletRequest request,String url) {
try { // 直接調(diào)用wxMpServer 接口
WxJsapiSignature wxJsapiSignature = wxMpService.createJsapiSignature(url);
return wxJsapiSignature;
} catch (WxErrorException e) {
return null;
}
}
}
2.頁面初始化js 配置相關(guān)接口:
<%--通過config接口注入權(quán)限驗(yàn)證配置--%>
/* 初始化jssdk 分享功能 */
$.get("${basePath}/jssdk/config.do",{url:window.location.href},function(data,status){
if(status == "success"){
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,// 必填,簽名,見附錄1
jsApiList: ['checkJsApi', 'onMenuShareTimeline', 'onMenuShareAppMessage', 'onMenuShareQQ'] // 必填,需要使用的JS接口列表,所有JS接口列表見附錄2
});
wx.ready(function(){
// layer.msg("jssdk初始化成功");
// config信息驗(yàn)證后會(huì)執(zhí)行ready方法,所有接口調(diào)用都必須在config接口獲得結(jié)果之后,config是一個(gè)客戶端的異步操作,
//所以如果需要在頁面加載時(shí)就調(diào)用相關(guān)接口,則須把相關(guān)接口放在ready函數(shù)中調(diào)用來確保正確執(zhí)行。對(duì)于用戶觸發(fā)時(shí)才調(diào)用的接口,則可以直接調(diào)用,不需要放在ready函數(shù)中。
<%-- 分型內(nèi)容 分享給朋友、朋友圈、 --%>
var shareData = {
title: '${requestScope.atc.trainsubject}',
desc: '${description}',
// link: 'https://www.baidu.com', // 分享域名要和當(dāng)前域名保持一致??!
imgUrl: 'http://www.cyfd.cn/tektcrm/EventNoti/images/attendance.png',
success: function (res) {
// alert('已分享');
},
cancel: function (res) {
// alert('已取消');
},
fail: function (res) {
// alert(JSON.stringify(res));
}
};
<%--分享給朋友接口--%>
wx.onMenuShareAppMessage(shareData);
<%--分享到朋友圈接口--%>
wx.onMenuShareTimeline(shareData);
<%--分享到QQ朋友接口--%>
wx.onMenuShareQQ(shareData);
});
wx.error(function(res){
// config信息驗(yàn)證失敗會(huì)執(zhí)行error函數(shù),如簽名過期導(dǎo)致驗(yàn)證失敗,具體錯(cuò)誤信息可以打開config的debug模式查看,
//也可以在返回的res參數(shù)中查看,對(duì)于SPA可以在這里更新簽名。
// layer.msg(res);
});
}
},"json");關(guān)于“微信開發(fā)中分享接口的示例分析”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),請(qǐng)把它分享出去讓更多的人看到。