溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

微信公眾號(hào)里“JS接口域名”實(shí)現(xiàn)分享功能的示例分析

發(fā)布時(shí)間:2021-03-06 14:36:48 來源:億速云 閱讀:238 作者:小新 欄目:移動(dòng)開發(fā)

這篇文章將為大家詳細(xì)講解有關(guān)微信公眾號(hào)里“JS接口域名”實(shí)現(xiàn)分享功能的示例分析,小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。

1.準(zhǔn)備工作

APPID公眾號(hào)id、申請(qǐng)好友分享接口、ip白名單、js接口安全域名設(shè)置(必須是通過備案)。要先登錄微信公眾平臺(tái)進(jìn)入“公眾號(hào)設(shè)置”的功能設(shè)置里填寫“JS接口域名”

2.引入js

注意:支持使用AMD/CMD標(biāo)準(zhǔn)加載方法

<script src="http://res.wx.qq.com/open/js/jweixin-1.2.0.js"></script>

3.通過config接口注入權(quán)限驗(yàn)證配置

所有需要使用JS-SDK的頁面必須先注入配置信息,否則將無法調(diào)用(同一個(gè)url僅需要調(diào)用一次,對(duì)于變化url的SPA的web app可在每次url變化時(shí)進(jìn)行調(diào)用,目前Android微信客戶端不支持pushShate的H5新特性,所以使用pushState來實(shí)現(xiàn)web app的頁面會(huì)導(dǎo)致簽名失敗,此問題在Android6.2修復(fù))

wx.config({
  debug: true,         //開啟調(diào)試模式,調(diào)用所有的api的返回值會(huì)在客戶端alert出來,若要查看傳入的參數(shù),可以在PC端打印出來
  appId: '',           //必填,公賬號(hào)的唯一標(biāo)識(shí)
  timestamp: '',       //必填,生成簽名的時(shí)間戳
  nonceStr: '',        //必填,生成簽名的隨機(jī)串
  signature: '',       //必填,簽名
  jsApiList: [         //必填,需要使用js列表,否則無法分享成功
    'onMenuShareTimeline',     //朋友圈
    'onMenuShareAppMessage',   //朋友
    'onMenuShareQQ',           //QQ
    'onMenuShareWeibo',       //QQ空間
  ]
})

4.通過ready接口處理成功驗(yàn)證

wx.ready(function(){
   //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ù)中
});

5.通過error接口處理失敗驗(yàn)證

wx.error({
  //config信息驗(yàn)證失敗會(huì)執(zhí)行error函數(shù),如簽名過期導(dǎo)致驗(yàn)證失敗,具體錯(cuò)誤信息可以打開config的debug模式查看,也可以在返回的res參數(shù)中查看,對(duì)于SPA可以在這里更新簽名
});

js代碼

var data = {
  title: '',
  summary: '',
  pic: '',
  url: '',
  success: function(){
    getWeixin() ;//用戶確認(rèn)分享后執(zhí)行的回調(diào)函數(shù)
  },
  cancel: function(){
    //用戶取消分享后執(zhí)行的回調(diào)函數(shù)
  }
}

wx.config({
  swapTitleInWX: true,
  appId: "<?php echo $weixin_package['appid'];?>",
  timestamp: "<?php echo $weixin_package['timestamp'];?>",
  nonceStr: "<?php echo $weixin_package['noncestr'];?>",
  signature: "<?php echo $weixin_package['signature'];?>",
  jsApiList: [
    'onMenuShareTimeline',
    'onMenuShareAppMessage',
    'onMenuShareQQ',
    'onMenuShareWeibo',
   ]
})

wx.ready(function () {
  wx.onMenuShareTimeline(data);
  wx.onMenuShareAppMessage(data);
  wx.onMenuShareQQ(data)
  wx.onMenuShareWeibo(data)
})

注意點(diǎn):

  1. title,建議在14個(gè)字以內(nèi)

  2. 圖片尺寸: 300*300像素;圖片格式:大小不超過10kB,不支持GIF格式;會(huì)取當(dāng)前頁面body內(nèi)最前面的一張符合條件的圖片

  3. 對(duì)標(biāo)題簡(jiǎn)要解讀,建議20字以內(nèi)

  4. link:'', //分享鏈接,改鏈接域名或路徑必須與當(dāng)前頁面對(duì)應(yīng)的公賬號(hào)JS安全域名一致

二、QQ分享

QQ是通過head里面的標(biāo)簽來識(shí)別分享的圖標(biāo)和標(biāo)題,涉及到h6微數(shù)據(jù)的一個(gè)屬性itemprop,

<meta itemprop="name" content="標(biāo)題"/>
<meta itemprop="description" name="description" content="描述"/>
<meta itemprop="image" content="縮列圖地址"/>

關(guān)于“微信公眾號(hào)里“JS接口域名”實(shí)現(xiàn)分享功能的示例分析”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),請(qǐng)把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI