首頁 >微信小程式 >微信開發 >微信公眾號裡「JS介面網域」實現分享功能

微信公眾號裡「JS介面網域」實現分享功能

php是最好的语言
php是最好的语言原創
2018-08-08 09:28:306538瀏覽

1.準備工作

  APPID公眾號id、申請好友分享介面、ip白名單、js介面安全網域設定(必須透過備案) 。要先登入微信公眾平台進入「公眾號設定」的功能設定裡填寫「JS介面網域」

#2.引入js

注意:支援使用AMD/CMD標準載入方法

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

 3.透過config介面注入權限驗證設定

  所有需要使用JS-SDK的頁面必須先註入設定訊息,否則將無法呼叫(同一個url只需要呼叫一次,對於變化url的SPA的web app可在每次url變化時進行調用,目前Android微信客戶端不支援pushShate的H5新特性,所以使用pushState來實現web app的頁面會導致簽名失敗,此問題在Android6.2修復)

wx.config({
  debug: true,         //开启调试模式,调用所有的api的返回值会在客户端alert出来,若要查看传入的参数,可以在PC端打印出来
  appId: &#39;&#39;,           //必填,公账号的唯一标识
  timestamp: &#39;&#39;,       //必填,生成签名的时间戳
  nonceStr: &#39;&#39;,        //必填,生成签名的随机串
  signature: &#39;&#39;,       //必填,签名
  jsApiList: [         //必填,需要使用js列表,否则无法分享成功
    &#39;onMenuShareTimeline&#39;,     //朋友圈
    &#39;onMenuShareAppMessage&#39;,   //朋友
    &#39;onMenuShareQQ&#39;,           //QQ
    &#39;onMenuShareWeibo&#39;,       //QQ空间
  ]
})

4.透過ready介面處理成功驗證

wx.ready(function(){
   //config信息验证后会执行ready方法,所有接口调用必须在config接口获得结果之后,config是一个客户端的异步操作,所以如果需要在页面加载时就调用相关接口,则须把相关接口放在ready函数中调用来确保正确执行。对于用户触发时才调用的接口,则可以直接调用,不需要放在ready函数中
});

5.透過error介面處理失敗驗證

wx.error({
  //config信息验证失败会执行error函数,如签名过期导致验证失败,具体错误信息可以打开config的debug模式查看,也可以在返回的res参数中查看,对于SPA可以在这里更新签名
});

js程式碼

var data = {
  title: &#39;&#39;,
  summary: &#39;&#39;,
  pic: &#39;&#39;,
  url: &#39;&#39;,
  success: function(){
    getWeixin() ;//用户确认分享后执行的回调函数
  },
  cancel: function(){
    //用户取消分享后执行的回调函数
  }
}

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

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

注意點:

  1. title,建議在14個字以內

  2. #圖片尺寸:300*300 像素;圖片格式:大小不超過10kB,不支援GIF格式;會取目前頁面body內最前面的一張符合條件的圖片

  3. 對標題簡單解讀,建議20字以內

  4. link:'', //分享鏈接,改鏈接網域或路徑必須與目前頁面對應的公帳號JS安全網域一致

二、QQ分享 

  QQ是透過head裡面的標籤來識別分享的圖示和標題,涉及h5微資料的一個屬性itemprop,

<meta itemprop="name" content="标题"/>
<meta itemprop="description" name="description" content="描述"/>
<meta itemprop="image" content="缩列图地址"/>

相關推薦:

微信公眾號自訂分享內容實現

微信公眾號授權設置,微信公眾授權 

#

以上是微信公眾號裡「JS介面網域」實現分享功能的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn