1. 程式人生 > 程式設計 >詳解在vue使用weixin-js-sdk常見使用方法

詳解在vue使用weixin-js-sdk常見使用方法

連結:https://qydev.weixin.qq.com/wiki/index.php?title=%E5%BE%AE%E4%BF%A1js-SDK%E6%8E%A5%E5%8F%A3#.E6.AD.A5.E9.AA.A4.E4.B8.80.EF.BC.9A.E5.BC.95.E5.85.A5JS.E6.96.87.E4.BB.B6

1.匯入依賴包

npm install weixin-js-sdk

2.判斷是否是在微信瀏覽器中

env.js

<script>
var ua = navigator.userAgent.toLowerCase();
var isWeixin = ua.indexOf('micromessenger') != -1;
var is
android
= ua.indexOf('android') != -1; var isIos = (ua.indexOf('iphone') != -1) || (ua.indexOf('ipad') != -1); if(!isWeixin) { document.head.innerHTML = '<title>抱歉,出錯了</title><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=0"><link rel="stylesheet" type="text/
css
" href="https://res.wx.qq.com/open/libs/weui/0.4.1/weui.css" rel="external nofollow" >'; document.body.innerHTML = '<div class="weui_msg"><div class="weui_icon_area"><i class="weui_icon_info weui_icon_msg"></i></div><div class="weui_text_area"><h4 class="weui_msg_title">請在微信客戶端開啟連結</h4></div></div>'; }

在main.js中引用:

import env from "./env";//執行環境

微信登入,通過code換取openid,在起始頁使用該方法:

<script>
methods:{
 // 微信登陸
    wxLogin() {
      var that = this;
      axios
        .get("/common/loginAuth")
        .then(function(res) {
          console.log("後臺返回的連結地址",res.data);
          window.location.href = res.data;//跳轉後臺返回的連結地址
        })
        .catch(function(error) {});
    },//換取使用者資訊
    postCode(res) {
      var that = this;
      axios
        .post("程式設計客棧/common/getUserInfo",{
          code: res
        })
        .then(function(res) {
          cowww.cppcns.comokie.set("openid",res.data.openid);//code像後臺換取openid並存入
        })
        .catch(function(error) {
          console.log(error);
        });
    }},created() {
    var r = window.lohttp://www.cppcns.comcation.href;//獲取當前連結,拆分當前連結
    //當前連結地址為後臺返回的引數,有拆分得到連結中的code,通過postCode()方法獲取openid,沒有則通過wxLogin()方法開始微信登入
    if (r.indexOf("?") != -1) {
      r = r.split("?");
      r = r[1].split("&");
      r = r[0].split("=");
      r = r[1];
    } else {
      this.wxLogin();
    }
    if (r) {
      this.postCode(r);
    } else {
      this.wxLogin();
    }
  },</script>

3.前端頁面使用

import wx from 'weixin-js-sdk'
this.axios({
  method: 'post',  url: 'url',  data:{ url:location.href.split('#')[0] } //向服務端提供授權url引數,並且不需要#後面的部分
}).then((res)=>{
  wx.config({
    debug: true,// 開啟除錯模式,    appId: res.appId,// 必填,企業號的唯一標識,此處填寫企業號corpid
    timestamp: res.timestamp,// 必填,生成簽名LbagPAUb的時間戳
    nonceStr: res.nonceStr,// 必填,生成簽名的隨機串
    signatur程式設計客棧e: res.signature,// 必填,簽名,見附錄1
    jsApiList: ['scanQRCode'] // 必填,需要使用的JS介面列表,所有JS介面列
  });
})

到此這篇關於 詳解在vue使用weixin-js-sdk常見使用方法的文章就介紹到這了,更多相關vue weixin-js-sdk內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!