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

推薦する

echarts ワードクラウドチャートを使用した Vue の実践記録

echartsワードクラウドはechartsの拡張版ですhttps://echarts.apache...

MySQLデータベースについて学びましょう

目次1. データベースとは何ですか? 2. データベースの分類は? 3. データベースとデータ構造の...

NexusはAPIを使用して操作します

Nexus は RestApi を提供していますが、一部の API はまだ Groovy と組み合わ...

CSS3 で画像ドロワー効果を実装するためのサンプル コード

いつものように、まずは画像効果を投稿しましょう: このエフェクトの原理は非常にシンプルです。CSS3...

vue+px2rem(rem適応)を使用してPCで大画面適応を実装するためのサンプルコード

構成の序文プロジェクト構築: vue-cli3 をベースに構築、rem 適応には postcss-p...

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

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

MySQLデータベースを別のマシンに移行する方法の詳細な説明

1. まず、移行サーバー上のデータ ファイルを見つけます。MySQL 5.7 とデフォルトのインスト...

React コードを共有するためのベストプラクティス

プロジェクトがある程度複雑になると、必然的にロジックの再利用の問題に直面することになります。 Rea...

自動行折り返し機能付き CSS Flex レイアウトのサンプル コード

フレックス コンテナーを作成するには、要素に display: flex プロパティを追加するだけで...

テーブルを使用してフォームコントロールの形式を調整し、見栄えを良くします。

自分でウェブページを書きたいので、HTML 言語についても少し勉強しています。これは、大学時代にウェ...

mysqlは時間を自動的に追加し、時間を自動的に追加および更新する操作を実装します

時間フィールドは、データベースの使用時によく使用されます。よく使われるのは作成時間と更新時間です。し...

MySQLの構文、特殊記号、正規表現の詳細な説明

Mysql でよく使用される表示コマンド1. 現在のデータベース サーバー内のデータベースの一覧を表...

MySQL サーバーの接続、切断、および cmd 操作

mysql コマンドを使用して MySQL サーバーに接続します。 MySQL サーバーが起動したら...

React プロジェクトにおける axios カプセル化と API インターフェース管理の詳細な説明

目次序文インストール導入環境の切り替え傍受を要求するレスポンスインターセプションAPIの統合管理要約...

Vueのデータ応答性原則の詳細な説明

この記事は主に、Vue のレスポンシブ ソース コードを理解していない、または触れたことがない人向け...