欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

vue 項(xiàng)目如何引入微信sdk接口的方法

 更新時(shí)間:2017年12月18日 11:04:57   作者:OB丶Koro1  
本篇文章主要介紹了vue 項(xiàng)目如何引入微信sdk接口的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧

做微信的網(wǎng)頁(yè)基本上都要接入微信的sdk,我在做的時(shí)候,也頗費(fèi)了一番功夫,然后就想記錄一下,供自己日后翻閱,以及讓有需要的朋友可以做一下參考,如果喜歡的可以點(diǎn)波贊,或者關(guān)注一下,希望可以幫到大家。

安裝sdk

npm install weixin-js-sdk --save

開(kāi)始之前大家可以先讀一讀微信公眾號(hào)的 接入文檔 ,vue是單頁(yè)面項(xiàng)目,比如你想要接入微信分享功能,分享功能在每個(gè)路由地址都要有,因?yàn)槊總€(gè)路由的url是不一樣的,搜易就需要在每個(gè)路由地址都引入一遍。

整體步驟:

vue引入sdk的話,就是在路由組件里面的,組件生命周期的:creatd()和mounted()里面放代碼。

用偽代碼,熟悉一下整體的流程,要做哪些事情:

//wx是引入的微信sdk
 wx.config('這里有一些參數(shù)');//通過(guò)config接口注入權(quán)限驗(yàn)證配置
 
 wx.ready(function() { //通過(guò)ready接口處理成功驗(yàn)證
 // config信息驗(yàn)證成功后會(huì)執(zhí)行ready方法
   wx.onMenuShareAppMessage({ // 分享給朋友 ,在config里面填寫(xiě)需要使用的JS接口列表,然后這個(gè)方法才可以用 
     title: '這里是標(biāo)題', // 分享標(biāo)題
     desc: 'This is a test!', // 分享描述
     link: '鏈接', // 分享鏈接
     imgUrl: '圖片', // 分享圖標(biāo)
     type: '', // 分享類型,music、video或link,不填默認(rèn)為link
     dataUrl: '', // 如果type是music或video,則要提供數(shù)據(jù)鏈接,默認(rèn)為空
     success: function() {
       // 用戶確認(rèn)分享后執(zhí)行的回調(diào)函數(shù)
     },
     cancel: function() {
       // 用戶取消分享后執(zhí)行的回調(diào)函數(shù)
     }
     });
     wx.onMenuShareTimeline({ //分享朋友圈
     title: '標(biāo)題', // 分享標(biāo)題
     link: '鏈接',
     imgUrl: '圖片', // 分享圖標(biāo)
     success: function() {
       // 用戶確認(rèn)分享后執(zhí)行的回調(diào)函數(shù)
     },
     cancel: function() {
       // 用戶取消分享后執(zhí)行的回調(diào)函數(shù)
     }
   });
 });
 wxx.error(function(res){//通過(guò)error接口處理失敗驗(yàn)證
   // config信息驗(yàn)證失敗會(huì)執(zhí)行error函數(shù)
 });

上面的流程多看幾遍,對(duì)整個(gè)流程有個(gè)概念,其中最重要的一步就是下面這個(gè)借口注入權(quán)限。

config接口注入權(quán)限

接入微信接口的最主要也是最重要一步步就是填寫(xiě)下面這些信息,填完這些信息之后,基本就好了。下面這些信息通常是通過(guò)后端接口來(lái)獲取的。

wx.config({
  debug: true, // 開(kāi)啟調(diào)試模式,調(diào)用的所有api的返回值會(huì)在客戶端alert出來(lái),若要查看傳入的參數(shù),可以在pc端打開(kāi),參數(shù)信息會(huì)通過(guò)log打出,僅在pc端時(shí)才會(huì)打印。
  appId: '', // 必填,公眾號(hào)的唯一標(biāo)識(shí)
  timestamp: , // 必填,生成簽名的時(shí)間戳
  nonceStr: '', // 必填,生成簽名的隨機(jī)串
  signature: '',// 必填,簽名,見(jiàn)附錄1
  jsApiList: [] // 必填,需要使用的JS接口列表,所有JS接口列表見(jiàn)附錄2
});

獲取config配置信息:

前端要獲取上面那些信息,不用做太多東西,只要調(diào)后端接口就可以了。后端會(huì)把那些信息處理好,然后通過(guò)一個(gè)接口返給你這些參數(shù)。你要給后端傳一個(gè) 當(dāng)前路由頁(yè)面的完整url ,后端就會(huì)返回上述的那些信息給你,后面就可以根據(jù)自己的需求調(diào)用相應(yīng)的接口,自定義里面的東西。

坑點(diǎn):url

這里要注意的就是url的問(wèn)題,如果url沒(méi)有正確傳遞,后端也會(huì)返回信息,但是簽名信息會(huì)是錯(cuò)誤的。

上面提到的完整url指的是:'http(s)://'部分,以及'?'后面的GET參數(shù)部分,但不包括'#'hash后面的部分??梢酝ㄟ^(guò) location.href 來(lái)獲取。

注意: 如果你的vue項(xiàng)目,路由沒(méi)有開(kāi)啟history 模式,也就是你的url上面包含“#”,這個(gè)時(shí)候要從后端正確獲取簽名,就需要 去掉url上#后面的字符 。(url去掉'#'hash部分,可用 location.href.split('#')[0] )

封裝調(diào)用sdk注入:

因?yàn)橐诿總€(gè)路由頁(yè)面都注入sdk,這個(gè)肯定要復(fù)用的,不然那么多代碼,看著就頭大。

我是這么做的:

因?yàn)槲野補(bǔ)xios包了一層,然后把a(bǔ)xios接口,在main.js里面掛載到Vue實(shí)例。

然后在全局函數(shù)里面調(diào)用這個(gè)接口,然后在每個(gè)路由頁(yè)面的相應(yīng)組件里面調(diào)用這個(gè)函數(shù),把當(dāng)前頁(yè)面的url以及其他標(biāo)題、圖片什么的傳進(jìn)去。

里面的具體步驟就不說(shuō)了,最重要的是參考上面的那個(gè)流程,函數(shù)里面的東西也都是基于那個(gè)流程的。

簽名校驗(yàn):

當(dāng)你反復(fù)確認(rèn)步驟都沒(méi)有問(wèn)題,微信sdk注入還是簽名失敗的時(shí)候,這個(gè)時(shí)候你就要考慮是不是后端那邊的算法有問(wèn)題,可以把后端返回的簽名和微信提供的JS 接口簽名校驗(yàn)工具生成的簽名對(duì)比一下,或許是后端那邊算法的問(wèn)題也不一定。

后話

實(shí)不相瞞,當(dāng)時(shí)我做的時(shí)候就是被url這個(gè)坑了,第一次做這個(gè)東西,沒(méi)有經(jīng)驗(yàn),折騰了好久。引入sdk并不難,重要的是那個(gè)配置信息要填寫(xiě)正確,然后其他的就根據(jù)實(shí)際需求來(lái)做了。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • vue2.x數(shù)組劫持原理的實(shí)現(xiàn)

    vue2.x數(shù)組劫持原理的實(shí)現(xiàn)

    這篇文章主要介紹了vue2.x數(shù)組劫持原理的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-04-04
  • vue使用moment如何將時(shí)間戳轉(zhuǎn)為標(biāo)準(zhǔn)日期時(shí)間格式

    vue使用moment如何將時(shí)間戳轉(zhuǎn)為標(biāo)準(zhǔn)日期時(shí)間格式

    這篇文章主要介紹了vue使用moment如何將時(shí)間戳轉(zhuǎn)為標(biāo)準(zhǔn)日期時(shí)間格式問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • vue中router-view使用教程詳解

    vue中router-view使用教程詳解

    router-view組件作為vue最核心的路由管理組件,在項(xiàng)目中作為路由管理經(jīng)常被使用到,本文主要為大家詳細(xì)介紹了router-view具體使用,希望對(duì)大家有所幫助
    2023-12-12
  • 栽Vue3中傳遞路由參數(shù)的三種方式

    栽Vue3中傳遞路由參數(shù)的三種方式

    vue 路由傳參的使用場(chǎng)景一般都是應(yīng)用在父路由跳轉(zhuǎn)到子路由時(shí),攜帶參數(shù)跳轉(zhuǎn),傳參方式可劃分為 params 傳參和 query 傳參,本文將給大家介紹如何通過(guò)不同方式在 Vue 3 中傳遞路由參數(shù),需要的朋友可以參考下
    2024-07-07
  • 解決nuxt頁(yè)面中mounted、created、watch執(zhí)行兩遍的問(wèn)題

    解決nuxt頁(yè)面中mounted、created、watch執(zhí)行兩遍的問(wèn)題

    這篇文章主要介紹了解決nuxt頁(yè)面中mounted、created、watch執(zhí)行兩遍的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-11-11
  • 網(wǎng)站國(guó)際化多語(yǔ)言處理工具i18n安裝使用方法圖文詳解

    網(wǎng)站國(guó)際化多語(yǔ)言處理工具i18n安裝使用方法圖文詳解

    國(guó)際化是設(shè)計(jì)軟件應(yīng)用的過(guò)程中應(yīng)用被使用與不同語(yǔ)言和地區(qū),下面這篇文章主要給大家介紹了關(guān)于網(wǎng)站國(guó)際化多語(yǔ)言處理工具i18n安裝使用方法的相關(guān)資料,文中通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2022-09-09
  • vue圖片加載失敗時(shí)用默認(rèn)圖片替換的方法

    vue圖片加載失敗時(shí)用默認(rèn)圖片替換的方法

    這篇文章主要給大家介紹了關(guān)于vue圖片加載失敗時(shí)用默認(rèn)圖片替換的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用vue具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • vue watch如何深度監(jiān)聽(tīng)數(shù)組每一項(xiàng)的變化

    vue watch如何深度監(jiān)聽(tīng)數(shù)組每一項(xiàng)的變化

    這篇文章主要介紹了vue watch如何深度監(jiān)聽(tīng)數(shù)組每一項(xiàng)的變化問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-07-07
  • element-ui?tree?手動(dòng)展開(kāi)功能實(shí)現(xiàn)(異步樹(shù)也可以)

    element-ui?tree?手動(dòng)展開(kāi)功能實(shí)現(xiàn)(異步樹(shù)也可以)

    這篇文章主要介紹了element-ui?tree?手動(dòng)進(jìn)行展開(kāi)(異步樹(shù)也可以),項(xiàng)目中用到了vue的element-ui框架,用到了el-tree組件,需要的朋友可以參考下
    2022-08-08
  • vue中el-upload上傳圖片到七牛的示例代碼

    vue中el-upload上傳圖片到七牛的示例代碼

    這篇文章主要介紹了vue中el-upload上傳圖片到七牛的示例代碼,實(shí)現(xiàn)思路其實(shí)也很簡(jiǎn)單,需要從后臺(tái)獲取七牛token上傳圖片到七牛,具體示例代碼大家跟隨小編一起學(xué)習(xí)吧
    2018-10-10

最新評(píng)論