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 インストール チュートリアル

推薦する

Java で ffmpeg を呼び出してビデオ形式を flv に変換する方法の詳細な説明

Java で ffmpeg を呼び出してビデオ形式を flv に変換する方法の詳細な説明注:以下のプ...

使用状況分析を備えたMySQL

持つことの使用法having 句を使用すると、グループ化後にさまざまなデータをフィルター処理できます...

検証コード干渉を実装する js (動的)

この記事の例では、検証コードの動的干渉を実装するためのjsの具体的なコードを共有しています。具体的な...

Uniappがスライディングスコアリング効果を実現

この記事では、スライディングスコアリングを実装するためのuniappの具体的なコードを参考までに共有...

Vue ルーティングフォールバックに最適なソリューション (vue-route-manager)

目次ルーティングマネージャー背景はじめる問題を解決する方法要約するルーティングマネージャー各ジャンプ...

mysql replace into の使用法の詳細な説明

replace ステートメントは、一般的に insert ステートメントに似ています。ただし、テーブ...

Mysql 5.7.19 無料インストール バージョンで遭遇した落とし穴 (コレクション)

1. 公式ウェブサイトから 64 ビットの zip ファイルをダウンロードします。 2. インスト...

Vueのログインとログアウトの詳細な説明

目次ログインビジネスプロセスログイン機能の実装要約するまず、エフェクトの実装プロセスを見てみましょう...

MySQL 5.6 の「暗黙的な変換」によりインデックスが失敗し、データが不正確になる

背景SQL クエリを実行するときに、where 条件の vachar 型フィールドの単一引用符を削除...

rem をモバイル デバイスに適応させる方法の例

序文モバイル端末のREM適応ソリューションのレビューと概要remの使い方rem 単位の計算は、HTM...

Linux 編集の開始、停止、再起動の Springboot jar パッケージ スクリプトの例

序文springboot設定ファイルでは、設定ファイルの名前には独自の意味と用途があります。 dev...

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

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

入力ボックスのプレースホルダーテキストのデフォルトの色を変更する -webkit-input-placeholder メソッド

HTML5 では、入力用のネイティブ プレースホルダー属性が追加されており、これは高度なブラウザでサ...

mysql を解決: エラー 1045 (28000): ユーザー 'root'@'localhost' のアクセスが拒否されました (パスワードの使用: NO/YES)

1. 問題時々Mysqlにログインしてパスワードを入力すると、この状況が発生しますmysql -u...

iframe src 割り当ての問題 (サーバー側)

今日この問題に遭遇しました。サーバー側でiframeのsrc値を再割り当てし、iframeにIDを追...