vue項(xiàng)目中調(diào)用微信SDK實(shí)現(xiàn)掃一掃功能

最近開發(fā)的vue移動(dòng)端項(xiàng)目剛好涉及到掃一掃的功能。第一次遇到绎晃,也是費(fèi)了九牛二虎之力其實(shí)就是被一個(gè)小坑給坑死才把它搞定谬俄。


1.綁定域名
在微信公眾號(hào)平臺(tái)中配置安全域名: 公眾號(hào)設(shè)置 - 功能設(shè)置 - JS接口安全域名

image.png

詳細(xì)操作可以參考 :微信JS-SDK說明文檔
2.引用js文件
npm install weixin-js-sdk --save

<script>
  import wx from 'weixin-js-sdk'
  export default {

  }
</script>

3.通過config接口注入權(quán)限驗(yàn)證配置
簽名算法見文末的附錄1醇蝴,所有JS接口列表見文末的附錄2

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

在頁面上的具體操作如下 ↓ -- 放到你需要處理的地方

// 獲取微信簽名
$.ajax({
   url: '后端給的接口',
   data: { // 具體參數(shù)看后臺(tái)給你的文檔漾狼,我的只需要一個(gè)url
     url: location.href.splic('#')[0],
     // 這里是當(dāng)前頁面的url重慢,一定要 location.href 獲取,不然簽名會(huì)無效逊躁。
   },
   success: function (res) {
      // res 返回的簽名等數(shù)據(jù)
   }
})
wx.config({
   debug: false,
   appId: res.appId, // 必填,公眾號(hào)的唯一標(biāo)識(shí)
   timestamp: res.timeStamp, // 必填,生成簽名的時(shí)間戳
   nonceStr: res.nonceStr, // 必填,生成簽名的隨機(jī)串
   signature: res.signature, // 必填,簽名
   jsApiList: ['scanQRCode'] // 必填,需要使用的JS接口列表
})
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ā)是才調(diào)用的接口,則可以直接調(diào)用,不需要放在ready函數(shù)中
  wx.checkJsApi({ // 判斷當(dāng)前客戶端版本是否支持指定JS接口
    jsApiList: [
      'scanQRCode'
    ],
    success: function (res) { // 以鍵值對(duì)的形式返回似踱,可用true,不可用false稽煤。如:{"checkResult":{"scanQRCode":true},"errMsg":"checkJsApi:ok"}
      if (res.checkResult.scanQRCode === true) {
         wx.scanQRCode({ // 微信掃一掃接口
           desc: 'scanQRCode desc',
           needResult: 1, // 默認(rèn)為0核芽,掃描結(jié)果由微信處理,1則直接返回掃描結(jié)果酵熙,
           scanType: ['qrCode', 'barCode'], // 可以指定掃二維碼還是一維碼轧简,默認(rèn)二者都有
           success: function (res) {
             const getCode = res.resultStr // 當(dāng)needResult 為 1 時(shí),掃碼返回的結(jié)果
         }
      })
    } else {
       alert('抱歉匾二,當(dāng)前客戶端版本不支持掃一掃')
      }
    },
    fail: function (res) { // 檢測getNetworkType該功能失敗時(shí)處理
      alert('fail' + res)
    }
  })
})

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

具體的簽名等數(shù)據(jù)都是后臺(tái)大佬處理好了哮独,小前端調(diào)用接口拿數(shù)據(jù)就好啦。


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末察藐,一起剝皮案震驚了整個(gè)濱河市皮璧,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌分飞,老刑警劉巖悴务,帶你破解...
    沈念sama閱讀 222,183評(píng)論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異譬猫,居然都是意外死亡讯檐,警方通過查閱死者的電腦和手機(jī)羡疗,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,850評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來别洪,“玉大人顺囊,你說我怎么就攤上這事〗堵#” “怎么了?”我有些...
    開封第一講書人閱讀 168,766評(píng)論 0 361
  • 文/不壞的土叔 我叫張陵诚亚,是天一觀的道長晕换。 經(jīng)常有香客問我,道長站宗,這世上最難降的妖魔是什么闸准? 我笑而不...
    開封第一講書人閱讀 59,854評(píng)論 1 299
  • 正文 為了忘掉前任,我火速辦了婚禮梢灭,結(jié)果婚禮上夷家,老公的妹妹穿的比我還像新娘。我一直安慰自己敏释,他們只是感情好库快,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,871評(píng)論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著钥顽,像睡著了一般义屏。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上蜂大,一...
    開封第一講書人閱讀 52,457評(píng)論 1 311
  • 那天闽铐,我揣著相機(jī)與錄音,去河邊找鬼奶浦。 笑死兄墅,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的澳叉。 我是一名探鬼主播隙咸,決...
    沈念sama閱讀 40,999評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼成洗!你這毒婦竟也來了扎瓶?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,914評(píng)論 0 277
  • 序言:老撾萬榮一對(duì)情侶失蹤泌枪,失蹤者是張志新(化名)和其女友劉穎概荷,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體碌燕,經(jīng)...
    沈念sama閱讀 46,465評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡误证,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,543評(píng)論 3 342
  • 正文 我和宋清朗相戀三年继薛,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片愈捅。...
    茶點(diǎn)故事閱讀 40,675評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡遏考,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出蓝谨,到底是詐尸還是另有隱情灌具,我是刑警寧澤,帶...
    沈念sama閱讀 36,354評(píng)論 5 351
  • 正文 年R本政府宣布譬巫,位于F島的核電站咖楣,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏芦昔。R本人自食惡果不足惜诱贿,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,029評(píng)論 3 335
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望咕缎。 院中可真熱鬧珠十,春花似錦、人聲如沸凭豪。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,514評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽嫂伞。三九已至壳嚎,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間末早,已是汗流浹背烟馅。 一陣腳步聲響...
    開封第一講書人閱讀 33,616評(píng)論 1 274
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留然磷,地道東北人郑趁。 一個(gè)月前我還...
    沈念sama閱讀 49,091評(píng)論 3 378
  • 正文 我出身青樓,卻偏偏與公主長得像姿搜,于是被迫代替她去往敵國和親寡润。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,685評(píng)論 2 360

推薦閱讀更多精彩內(nèi)容