vue 實現(xiàn)微信端網(wǎng)頁分享

這個問題折磨了好久锯厢,問了很多人都覺得很簡單海渊,的確很簡單相對于做過了的人來說的話,的確如此哲鸳,但是第一次做的話臣疑,太多坑要踩了,決定記錄下來

1徙菠、公眾號配置:

如果你們的公眾號有專人保管讯沈,那么跟他說把安全域名加一下,安全域名用于微信的驗證婿奔,沒有這一步操作缺狠,下面的都白搭。比如我們的測試公眾號萍摊,綁定的就是我們測試服務器的域名挤茄。同理,生產也是如此冰木。

2穷劈、后端配置VUE:

要想使用微信的JS-SDK功能,需要生成簽名踊沸,配合appId才能使用歇终,這些步驟通常是由后端生成的。這里省去3000字描述如何生成簽名逼龟,反正你找后端同學就對了评凝。

3、前端配置

終于輪到我們前端上場了腺律,啰嗦了那么多奕短,下面讓我們正式起飛宜肉。
4,安裝微信JS-SDK

首先我們通過npm 安裝 微信的js-sdk翎碑,當然你也可以在index.html頁面中直接加
<script type="text/javascript" src="http://res.wx.qq.com/open/js/jweixin-1.4.0.js"></script>
引用崖飘,哪種方式都可以。

//安裝
npm install weixin-js-sdk --save
//在需要使用的路由里進行引用   也可以進行全局引用
import wx from 'weixin-js-sdk'

話不多說杈女,先上代碼了

//微信分享
      WeChatshare(){
        let that=this;
        let data={url:window.location.href.split('#')[0]};
        this.axios.post('/api/v1/signture',data)
        .then((res)=>{
          wx.config({
            debug: false, //開啟調試模式,調用的所有api的返回值會在客戶端alert出來,若要查看傳入的參數(shù)吊圾,可以在pc端打開达椰,參數(shù)信息會通過log打出,僅在pc端時才會打印项乒。
            appId: res.data.data.appId, //必填啰劲,公眾號的唯一標識
            timestamp: res.data.data.timestamp, // 必填,生成簽名的時間戳
            nonceStr: res.data.data.nonceStr, // 必填檀何,生成簽名的隨機串
            signature: res.data.data.signature, // 必填蝇裤,簽名
            jsApiList: ['onMenuShareTimeline','onMenuShareAppMessage'] // 必填,需要使用的JS接口列表
          });

          //拼接當前地址
          let shareUrl=window.location.href.split('#')[0]+'#'+window.location.href.split('#')[1];
          shareUrl = shareUrl.split('#')[0] + 'static/html/redirect.html?app3Redirect=' + encodeURIComponent(shareUrl);

          wx.ready(function () {
            //分享給朋友
            wx.onMenuShareAppMessage({
              title: that.fenxi_title,
              desc: that.fenxi_describe,
              link: shareUrl,
              imgUrl: that.fenxi_img,
              success: function (res) {
                alert('分享成功频鉴!');
              },
              cancel:function(res){
                alert('分享失斔ü肌!');
              }
            })
            //分享到朋友圈
            wx.onMenuShareTimeline({
              title: that.fenxi_title,
              link: shareUrl,
              imgUrl: that.fenxi_img,
              success: function (res) {
                alert('分享成功垛孔!');
              },
              cancel:function(res){
                alert('分享失斉核Α!');
              }
            })
          });
        })
        .catch((res)=>{
          // console.log(res);
        })
      },

還是分解下吧
一開始還是先查看微信公眾平臺
https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421141115

wx.config({
    debug: true, // 開啟調試模式,調用的所有api的返回值會在客戶端alert出來周荐,若要查看傳入的參數(shù)狭莱,可以在pc端打開,參數(shù)信息會通過log打出概作,僅在pc端時才會打印腋妙。
    appId: '', // 必填,公眾號的唯一標識
    timestamp: , // 必填讯榕,生成簽名的時間戳
    nonceStr: '', // 必填骤素,生成簽名的隨機串
    signature: '',// 必填,簽名
    jsApiList: [] // 必填愚屁,需要使用的JS接口列表
});
wx.ready(function () {
            //分享給朋友
            wx.onMenuShareAppMessage({
              title: "",// 分享標題
              desc:  "",// 分享描述
              link:  "",// 分享鏈接谆甜,該鏈接域名或路徑必須與當前頁面對應的公眾號JS安全域名一致
              imgUrl:  "",// 分享圖標
              success: function (res) {
                alert('分享成功!');
              },
              cancel:function(res){
                alert('分享失敿隆规辱!');
              }
            })
            //分享到朋友圈
            wx.onMenuShareTimeline({
              title:  "",// 分享標題
              link:  "",// 分享鏈接,該鏈接域名或路徑必須與當前頁面對應的公眾號JS安全域名一致
              imgUrl: "",// 分享圖標
              success: function (res) {
                alert('分享成功栽燕!');
              },
              cancel:function(res){
                alert('分享失敽贝改淑!');
              }
            })
          });

根據(jù)sdk文檔的教程來,如果都沒問題的話還是報簽名錯誤浴讯,那應該是后臺的問題了

后面可能還會出現(xiàn)分享的鏈接一直跳轉至首頁問題朵夏,我用的vue 帶hash '#/' 微信分享后點開鏈依然是首頁,百度了下榆纽,記錄下來

第一種方法

網(wǎng)上很多網(wǎng)友都說這個方法可行 通過嘗試后發(fā)現(xiàn)依然還是出現(xiàn)那個問題

//將地址拼接
window.location.href.split('#')[0]+'#'+window.location.href.split('#')[1]

第二種方法 使用url重定向 測試有效

在static文件夾下仰猖,新建html/redirect.html。
redirect.html 內容:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title></title>
    </head>
    <body>
    <script>
      let url = location.href.split('?')
      let pars = url[1].split('&')
      let data = {}
      pars.forEach((n, i) => {
          let p = n.split('=')
          data[p[0]] = p[1]
      })
      if (!!data.app3Redirect) {
          self.location = decodeURIComponent(data.app3Redirect)
      }
  </script>
    </body>
</html>

然后最后的地址

let shareUrl=window.location.href.split('#')[0]+'#'+window.location.href.split('#')[1];
shareUrl = shareUrl.split('#')[0] + 'static/html/redirect.html?app3Redirect=' + encodeURIComponent(shareUrl);//需要分享的地址

到了這里就結束了奈籽,可能寫的不是太好饥侵,請打算指教

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市衣屏,隨后出現(xiàn)的幾起案子躏升,更是在濱河造成了極大的恐慌,老刑警劉巖狼忱,帶你破解...
    沈念sama閱讀 216,591評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件膨疏,死亡現(xiàn)場離奇詭異,居然都是意外死亡钻弄,警方通過查閱死者的電腦和手機佃却,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,448評論 3 392
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來窘俺,“玉大人双霍,你說我怎么就攤上這事∨” “怎么了洒闸?”我有些...
    開封第一講書人閱讀 162,823評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長均芽。 經(jīng)常有香客問我丘逸,道長,這世上最難降的妖魔是什么掀宋? 我笑而不...
    開封第一講書人閱讀 58,204評論 1 292
  • 正文 為了忘掉前任深纲,我火速辦了婚禮,結果婚禮上劲妙,老公的妹妹穿的比我還像新娘湃鹊。我一直安慰自己,他們只是感情好镣奋,可當我...
    茶點故事閱讀 67,228評論 6 388
  • 文/花漫 我一把揭開白布币呵。 她就那樣靜靜地躺著,像睡著了一般侨颈。 火紅的嫁衣襯著肌膚如雪余赢。 梳的紋絲不亂的頭發(fā)上芯义,一...
    開封第一講書人閱讀 51,190評論 1 299
  • 那天,我揣著相機與錄音妻柒,去河邊找鬼扛拨。 笑死,一個胖子當著我的面吹牛举塔,可吹牛的內容都是我干的绑警。 我是一名探鬼主播,決...
    沈念sama閱讀 40,078評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼央渣,長吁一口氣:“原來是場噩夢啊……” “哼计盒!你這毒婦竟也來了?” 一聲冷哼從身側響起痹屹,我...
    開封第一講書人閱讀 38,923評論 0 274
  • 序言:老撾萬榮一對情侶失蹤纷跛,失蹤者是張志新(化名)和其女友劉穎拌屏,沒想到半個月后裙犹,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體荠藤,經(jīng)...
    沈念sama閱讀 45,334評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡啡省,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,550評論 2 333
  • 正文 我和宋清朗相戀三年按灶,在試婚紗的時候發(fā)現(xiàn)自己被綠了寿桨。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片汉柒。...
    茶點故事閱讀 39,727評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡惹悄,死狀恐怖春叫,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情泣港,我是刑警寧澤暂殖,帶...
    沈念sama閱讀 35,428評論 5 343
  • 正文 年R本政府宣布,位于F島的核電站当纱,受9級特大地震影響呛每,放射性物質發(fā)生泄漏。R本人自食惡果不足惜坡氯,卻給世界環(huán)境...
    茶點故事閱讀 41,022評論 3 326
  • 文/蒙蒙 一晨横、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧箫柳,春花似錦手形、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,672評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至涮毫,卻和暖如春曼玩,著一層夾襖步出監(jiān)牢的瞬間鳞骤,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,826評論 1 269
  • 我被黑心中介騙來泰國打工黍判, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留豫尽,地道東北人。 一個月前我還...
    沈念sama閱讀 47,734評論 2 368
  • 正文 我出身青樓顷帖,卻偏偏與公主長得像美旧,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子贬墩,可洞房花燭夜當晚...
    茶點故事閱讀 44,619評論 2 354

推薦閱讀更多精彩內容