let data;
async function onShare(shareTitle = '標(biāo)題', description = '描述', imgUrl = 'http://f.hiphotos.baidu.com/image/pic/item/38dbb6fd5266d016c4faadfb9d2bd40734fa3505.jpg') {
data = data || (await getSign()).data.retdata; //此處是獲取 signature, nonceStr, timestamp的接口,若已獲取到了那就不再請(qǐng)求接口
wx.config({
debug: false, // 開啟調(diào)試模式,調(diào)用的所有api的返回值會(huì)在客戶端alert出來(lái),若要查看傳入的參數(shù),可以在pc端打開,參數(shù)信息會(huì)通過(guò)log打出,僅在pc端時(shí)才會(huì)打印。
appId: w.appid, // 必填,公眾號(hào)的唯一標(biāo)識(shí)
timestamp: data.timestamp, // 必填,生成簽名的時(shí)間戳
nonceStr: data.nonceStr, // 必填,生成簽名的隨機(jī)串
signature: data.signature, // 必填,簽名,見附錄1
jsApiList: ['onMenuShareTimeline', 'onMenuShareAppMessage'], // 必填,需要使用的JS接口列表,所有JS接口列表見附錄2
});
wx.ready(() => {
let l = window.location;
let link = `${l.origin}${l.pathname}${l.hash}`; // 分享的時(shí)候去除url中?部分
if (shareTitle.length >= 20) {
shareTitle = `${shareTitle.slice(0, 20)}...`;
}
let title = shareTitle;
wx.onMenuShareTimeline({
title, // 分享標(biāo)題
link, // 分享鏈接,該鏈接域名或路徑必須與當(dāng)前頁(yè)面對(duì)應(yīng)的公眾號(hào)JS安全域名一致
imgUrl, // 分享圖標(biāo)
type: 'link', // 分享類型,music、video或link,不填默認(rèn)為link
dataUrl: '', // 如果type是music或video,則要提供數(shù)據(jù)鏈接,默認(rèn)為空
success() {
// 用戶確認(rèn)分享后執(zhí)行的回調(diào)函數(shù)
},
cancel() {
// 用戶取消分享后執(zhí)行的回調(diào)函數(shù)
},
});
wx.onMenuShareAppMessage({
title, // 分享標(biāo)題
desc: description, // 分享描述
link, // 分享鏈接,該鏈接域名或路徑必須與當(dāng)前頁(yè)面對(duì)應(yīng)的公眾號(hào)JS安全域名一致
imgUrl, // 分享圖標(biāo)
type: 'link', // 分享類型,music、video或link,不填默認(rèn)為link
dataUrl: '', // 如果type是music或video,則要提供數(shù)據(jù)鏈接,默認(rèn)為空
success() {
// 用戶確認(rèn)分享后執(zhí)行的回調(diào)函數(shù)
},
cancel() {
},
});
});
wx.error(function (res) {
// config信息驗(yàn)證失敗會(huì)執(zhí)行error函數(shù),如簽名過(guò)期導(dǎo)致驗(yàn)證失敗,具體錯(cuò)誤信息可以打開config的debug模式查看,也可以在返回的res參數(shù)中查看,對(duì)于SPA可以在這里更新簽名。
window.popupTips.show(res.errMsg);
});
}
首先說(shuō)明,項(xiàng)目是SPA
以上是調(diào)用微信jssdk的函數(shù),在每次路由切換的時(shí)候都會(huì)調(diào)用onShare。
為什么有的時(shí)候分享成功了,標(biāo)題、描述、圖片都正確,就單單鏈接不正確呢?
現(xiàn)在項(xiàng)目有2個(gè)頁(yè)面#/home,#/info
在#/info調(diào)用onShare,然后用戶分享給了別人。 但是第二者進(jìn)去就直接進(jìn)去#/home了....
分享鏈接的代碼
let l = window.location;
let link = `${l.origin}${l.pathname}${l.hash}`; // 分享的時(shí)候去除url中?部分
求老司機(jī)指點(diǎn)_(:з」∠)_
北大青鳥APTECH成立于1999年。依托北京大學(xué)優(yōu)質(zhì)雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國(guó)IT技能型緊缺人才,是大數(shù)據(jù)專業(yè)的國(guó)家
達(dá)內(nèi)教育集團(tuán)成立于2002年,是一家由留學(xué)海歸創(chuàng)辦的高端職業(yè)教育培訓(xùn)機(jī)構(gòu),是中國(guó)一站式人才培養(yǎng)平臺(tái)、一站式人才輸送平臺(tái)。2014年4月3日在美國(guó)成功上市,融資1
北大課工場(chǎng)是北京大學(xué)校辦產(chǎn)業(yè)為響應(yīng)國(guó)家深化產(chǎn)教融合/校企合作的政策,積極推進(jìn)“中國(guó)制造2025”,實(shí)現(xiàn)中華民族偉大復(fù)興的升級(jí)產(chǎn)業(yè)鏈。利用北京大學(xué)優(yōu)質(zhì)教育資源及背
博為峰,中國(guó)職業(yè)人才培訓(xùn)領(lǐng)域的先行者
曾工作于聯(lián)想擔(dān)任系統(tǒng)開發(fā)工程師,曾在博彥科技股份有限公司擔(dān)任項(xiàng)目經(jīng)理從事移動(dòng)互聯(lián)網(wǎng)管理及研發(fā)工作,曾創(chuàng)辦藍(lán)懿科技有限責(zé)任公司從事總經(jīng)理職務(wù)負(fù)責(zé)iOS教學(xué)及管理工作。
浪潮集團(tuán)項(xiàng)目經(jīng)理。精通Java與.NET 技術(shù), 熟練的跨平臺(tái)面向?qū)ο箝_發(fā)經(jīng)驗(yàn),技術(shù)功底深厚。 授課風(fēng)格 授課風(fēng)格清新自然、條理清晰、主次分明、重點(diǎn)難點(diǎn)突出、引人入勝。
精通HTML5和CSS3;Javascript及主流js庫(kù),具有快速界面開發(fā)的能力,對(duì)瀏覽器兼容性、前端性能優(yōu)化等有深入理解。精通網(wǎng)頁(yè)制作和網(wǎng)頁(yè)游戲開發(fā)。
具有10 年的Java 企業(yè)應(yīng)用開發(fā)經(jīng)驗(yàn)。曾經(jīng)歷任德國(guó)Software AG 技術(shù)顧問(wèn),美國(guó)Dachieve 系統(tǒng)架構(gòu)師,美國(guó)AngelEngineers Inc. 系統(tǒng)架構(gòu)師。