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 インストール weixin-js-sdk

2. WeChatブラウザにあるかどうかを確認する

js の

<スクリプト>
var ua = navigator.userAgent.toLowerCase();
var isWeixin = ua.indexOf('micromessenger') != -1;
var isAndroid = 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">WeChatクライアントでリンクを開いてください</h4></div></div>';
} 

main.js 内の参照:

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

WeChat でログインし、コードを openid に交換して、スタートページでこの方法を使用します。

<スクリプト>
方法:{
 // WeChatログイン wxLogin() {
      var that = this;
      アクシオス
        .get("/common/loginAuth")
        .then(関数(res) {
          console.log("バックグラウンドによって返されたリンクアドレス", res.data);
          window.location.href = res.data; // バックグラウンドで返されたリンクアドレスにジャンプします})
        .catch(関数(エラー) {});
    },
//ユーザー情報交換 postCode(res) {
      var that = this;
      アクシオス
        .post("/common/getUserInfo", {
          コード:res
        })
        .then(関数(res) {
          cookie.set("openid", res.data.openid); //コードはバックエンドのopenidを交換して保存します})
        .catch(関数(エラー) {
          コンソール.log(エラー);
        });
    }},
作成された() {
    var r = window.location.href; //現在のリンクを取得し、現在のリンクを分割します //現在のリンクアドレスは、バックグラウンドによって返されるパラメータです。分割されている場合は、リンク内のコードを取得し、postCode()メソッドを使用してopenidを取得します。openidがない場合は、wxLogin()メソッドを使用してWeChatログインを開始します if (r.indexOf("?") != -1) {
      r = r.split("?");
      r = r[1].split("&");
      r = r[0].split("=");
      r = r[1];
    } それ以外 {
      この.wxLogin();
    }
    もし(r){
      this.postCode(r);
    } それ以外 {
      この.wxLogin();
    }
  },
</スクリプト>

3. フロントエンドページの使用

'weixin-js-sdk' から wx をインポートします
this.axios({
  メソッド: 'post'、
  URL: 'URL',
  data:{ url:location.href.split('#')[0] } // 認証 URL パラメータをサーバーに提供します。# の後の部分は不要です}).then((res)=>{
  wx.config({
    debug: true, // デバッグモードを有効にする,
    appId: res.appId, // 必須、企業番号の一意の ID、ここに企業番号の corpid を入力します
    timestamp: res.timestamp, // 必須、署名のタイムスタンプを生成します nonceStr: res.nonceStr, // 必須、署名のランダム文字列を生成します signature: res.signature, // 必須、署名、付録 1 を参照してください
    jsApiList: ['scanQRCode'] // 必須、使用する JS インターフェースのリスト、すべての JS インターフェースがリストされます});
})

これで、vue での weixin-js-sdk の一般的な使用方法についての記事は終了です。vue weixin-js-sdk の関連コンテンツの詳細については、123WORDPRESS.COM で以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • js シンプルなネットワーク速度テスト方法の完全な例
  • Baidu と Google のスピードテストの JavaScript コードにアクセスする
  • JS 非同期コードユニットテストの魔法 Promise
  • ネイティブ js はフォームの定期的な検証を実装します (検証後にのみ送信)
  • JS での Reduce Fold Unfold の使用法の詳細な説明
  • JS WebSocketを使用して簡単なチャットを実装する方法
  • エレガントなJSコードの書き方
  • JSホモロジー戦略とCSRFの詳細な説明
  • JavaScript でネットワーク速度をテストする方法

<<:  MySQL マスタースレーブレプリケーション 読み書き分離の設定方法の詳細説明

>>:  VMware 12 での Ubuntu 16.04 インストール チュートリアル

推薦する

同じページを動的にロードするための Vue ルーティングリスニングの例

目次シナリオ分析発達要約するシナリオ分析システムでは、1 つのモジュールに 3 つのサブモジュールが...

mysqlは内部コマンドエラーの解決策ではありません

「mysqlは内部コマンドではありません」というエラーは、mysqlのbinディレクトリパスが環境変...

Red Hat Enterprise Linux 8 をベースにした CentOS 8 が正式にリリースされました

CentOS プロジェクトは、Red Hat の再配布要件に完全に準拠した、Red Hat Ente...

スクロールバーを非表示にしながらもスクロール効果を維持する純粋な CSS (モバイルと PC)

携帯モバイル ページは Chrome および Safari とのみ互換性があればよいため、カスタム ...

JS が WeChat の「クソ爆弾」機能を実装

みなさんこんにちは、Qiufengです。最近、WeChatは新しい機能をリリースしました(WeCha...

2 つの Linux サーバー間の自動ファイル同期

サーバーB(172.17.166.11)の電源がオンまたは再起動されると、サーバーA(172.17....

CSSインジェクションの知識の要約

最近のブラウザでは、CSS 内で JavaScript を実行することはできなくなりました。以前は、...

WeChatミニプログラムビデオ集中砲火位置ランダム

この記事では、WeChatミニプログラムのビデオ弾幕の位置をランダム化するための具体的なコードを紹介...

効率的な視覚化Nginxログ表示ツール

目次導入インストール表示フィールドフィルターソートキー導入Rhit は、標準フォルダー (gzip ...

よく使用される Linux コマンドの完全なリスト (推奨コレクション)

目次1. システム情報2. シャットダウン(システムのシャットダウン、再起動、ログアウト) 3. フ...

Linux LVM 論理ボリューム構成プロセス (作成、増加、削減、削除、アンインストール) の詳細な説明

Linux LVM論理ボリューム構成プロセスの詳細な説明多くの Linux ユーザーは、オペレーティ...

JS配列メソッドの詳細な説明

目次1. 元の配列が変更されます1. プッシュ(): 2.ポップ(): 3. シフト(): 4.un...

MySQLにおける時刻日付型と文字列型の選択について

目次1. DATETIMEとTIMESTAMPの使用1. 類似点2. 相違点3. 選択2. varc...

Nginxホットデプロイメントの実装

目次セマフォNginx ホットデプロイメント上記のブログ投稿に従ってください。ファイアウォールをオフ...

Web Storage APIの使用に関する簡単な説明

目次1. ブラウザのローカルストレージ技術1.1、セッションストレージ1.2、ローカルストレージ2....