微信公眾號分享給朋友onMenuShareAppMessage失效


解決方案:

之前用的是1.6.0版本,改成jweixin-1.2.0.js,wx.onMenuShareTimeline,wx.onMenuShareAppMessage就成功了。

不知道是不是微信的bug?

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>微信js分享接口</title>
</head>
<body>
    {$name}<br />
    {$nonceStr}<br />
    {$signature}<br />
    
    <div id="div" style="border:1px solid red;width:100px;height:100px;"></div>
    
    <script src="https://cdn.staticfile.org/jquery/1.10.0/jquery.js" ></script>
    <script src="https://res.wx.qq.com/open/js/jweixin-1.2.0.js"></script>
    <script>
        
        // alert(location.href.split('#')[0]);
        wx.config({
          debug: true, // 開啟調試模式,調用的所有api的返回值會在客戶端alert出來,若要查看傳入的參數,可以在pc端打開,參數信息會通過log打出,僅在pc端時才會打印。
          appId: 'wx9d6a08c4c094a2ab', // 必填,公眾號的唯一標識
          timestamp: '{$time}', // 必填,生成簽名的時間戳
          nonceStr: '{$nonceStr}', // 必填,生成簽名的隨機串
          signature: '{$signature}',// 必填,簽名
          jsApiList: [
              'chooseImage', // 拍照
              'scanQRCode', // 微信掃一掃
              'updateAppMessageShareData',
              'onMenuShareAppMessage',
          ] // 必填,需要使用的JS接口列表
          
        });

        wx.ready(function(){    
            
            wx.onMenuShareAppMessage({
              title: 'title', // 分享標題
              desc: 'desc', // 分享描述
              link: 'https://h5.kehu.fun', // 分享鏈接,該鏈接域名或路徑必須與當前頁面對應的公眾號JS安全域名一致
              imgUrl: 'https://h5.kehu.fun/static/img/2.jpg', // 分享圖標
              type: '', // 分享類型,music、video或link,不填默認為link
              dataUrl: '', // 如果type是music或video,則要提供數據鏈接,默認為空
              success: function () {
                // 用戶點擊了分享后執行的回調函數
                $('#div').html('已經分享了哦~');
                
                setTimeout(function(){
                    //回調要執行的代碼
                    $('#div').html('已經分享了哦~');
                }, 500);


              }
            });
        });
        
        // 微信拍照
        function show(){
            $('#div').html('show');
            
            wx.chooseImage({
              count: 1, // 默認9
              sizeType: ['original', 'compressed'], // 可以指定是原圖還是壓縮圖,默認二者都有
              sourceType: ['album', 'camera'], // 可以指定來源是相冊還是相機,默認二者都有
              success: function (res) {
                var localIds = res.localIds; // 返回選定照片的本地ID列表,localId可以作為img標簽的src屬性顯示圖片
              }
            });
        }
        
        // 微信掃一掃
        function scan(){
            $('#div').html('scan');
            
            wx.scanQRCode({
              needResult: 0, // 默認為0,掃描結果由微信處理,1則直接返回掃描結果,
              scanType: ["qrCode","barCode"], // 可以指定掃二維碼還是一維碼,默認二者都有
              success: function (res) {
                var result = res.resultStr; // 當needResult 為 1 時,掃碼返回的結果
              }
            });
        }
        
        wx.error(function(res){
          // config信息驗證失敗會執行error函數,如簽名過期導致驗證失敗,具體錯誤信息可以打開config的debug模式查看,也可以在返回的res參數中查看,對於SPA可以在這里更新簽名。
        });
    </script>    
    
    <button onclick="show()">拍照</button>
    <button onclick="scan()">掃一掃</button>
</body>
</html>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM