WeChatアプレットがSMSログインを実装

WeChatアプレットがSMSログインを実装

このプロジェクトでは、SMSログインと顔認識ログイン機能の追加が必要です。以下のSMSログイン機能を実装してみましょう。

1. インターフェース効果のプレビュー

2.uViewのインストール

uView公式サイト: https://www.uviewui.com
npmインストールを例にとると、 npm install uview-uiを実行します。

3.uViewの設定

3.1 main.js での紹介

「uview-ui」から uView をインポートします。
Vue.use(uView);

3.2 uni.scssの紹介

@import 'uview-ui/theme.scss';

3.3 App.vue での紹介

<スタイル lang="scss">
	/* 最初の行に記述する必要があり、スタイルタグに lang="scss" 属性を追加する必要があることに注意してください */
	@import "uview-ui/index.scss";
</スタイル>

3.4 pages.json での設定

"イージーコム": {
		"^u-(.*)": "@/uview-ui/components/u-$1/u-$1.vue",
	},

easycom に他の構成がある場合、uView スタイルの読み込みに失敗する可能性があることに注意してください。

4. SMSログインインターフェース

<テンプレート>
  <view class="wrap">
    <view class="ログイン">
      <view class="login-logo">
        <画像 src="../../../../static/img/logo.png"
               モード=""></image>
      </ビュー>
      <view class="form-view"></view>
    </ビュー>

    <u-form :model="モデル"
            ref="uフォーム">
      <u-form-item :rightIconStyle="{ color: '#888', fontSize: '32rpx' }"
                   :label-position="ラベルの位置"
                   label="携帯電話番号"
                   プロパティ="電話"
                   ラベル幅="150">
        <u-input :border="境界線"
                 placeholder="電話番号を入力してください"
                 v-model="モデル.phone"
                 type="number"></u-input>
      </u-form-item>
      <u-form-item :label-position="ラベルの位置"
                   label="確認コード"
                   prop="コード"
                   ラベル幅="150">
        <u-input :border="境界線"
                 placeholder="確認コードを入力してください"
                 v-model="モデルコード"
                 タイプ="テキスト"></u-input>
        <u-ボタンスロット="右"
                  タイプ="成功"
                  サイズ="ミニ"
                  @click="getCheckNum">{{ codeTips }}</u-button>
      </u-form-item>

      <view class="bot-view">

        <button class="btn btn-submit"
                @click="doLogin">ログイン</button>
      </ビュー>
    </u-フォーム>
    <u-検証コード秒数="60"
                         ref="uコード"
                         @change="codeChange"></u-verification-code>
  </ビュー>
</テンプレート>

5. クリックして認証コードインターフェースを取得します

'../../../../utils/UtilTools.js' から utilTools をインポートします。
'../../../../utils/validate.js' から { isMobile } をインポートします。
	チェック番号を取得する() {
			obj = utilTools.getParams(); とします。
			obj.method = 'xxx';
			obj.message = JSON.stringify({ mobile_phone: this.model.phone });
			this.$Api.getDataFromWeb(obj).then(データ => {
					if (!!data && data['success'] == 'true') {
						this.$refs.uCode.start();
					} それ以外 {
						this.$Api.messHint(`${data.detail}`);
					}
				})
				.catch(エラー => {
					 this.$Api.messHint(`${err.errMsg}`);
				});
		}

UtilTools にカプセル化されたメソッド

'./request.js' からリクエストをインポートします。
定数 request = 新しい Request().http;

ホストアドレス:'xxxx',

getDataFromWeb:関数(データ){
		リクエストを返します(`${this.hostAddress}`,data,'POST')
	}

「検証コードを取得」ボタンをクリックして、バックエンド インターフェイスを呼び出します。バックエンド インターフェイスは、Alibaba Cloud SMS を呼び出すメソッドをカプセル化し、現在渡されている携帯電話番号に固定のテンプレート情報を送信します。検証コードは、バックエンドによってランダムに生成され、テンプレートに書き込まれます。

WeChatミニプログラムでのSMSログインの実践的な実装に関するこの記事はこれで終わりです。ミニプログラムでのSMSログインに関する関連コンテンツの詳細については、123WORDPRESS.COMの以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後も123WORDPRESS.COMを応援していただければ幸いです。

以下もご興味があるかもしれません:
  • WeChat アプレットのシンプルなログイン ページの実装 (ソース コード付き)
  • WeChatアプレットでセッションを維持する方法
  • WeChat アプレットのセッション ID の不一致問題の解決
  • WeChat アプレット開発ワンクリックログインで session_key と openid インスタンスを取得
  • WeChat アプレット ログインの無効なセッション キーの解決策

<<:  MySQL ファジークエリの使用法 (通常、ワイルドカード、組み込み関数)

>>:  SpringBootをDockerにデプロイし、jarパッケージを置き換える方法の詳細な説明

推薦する

MySQLインスタンスが起動できない問題の分析と解決

目次序文シナリオ分析要約する序文数日前、友人がWeChatで私に連絡してきて、マシンがダウンタイムか...

ECMAscript の新機能の紹介

目次1. 関数パラメータのデフォルト値1.1 関数パラメータのデフォルト値の指定1.2 分離割り当て...

Docker と Intellij IDEA の融合により、Java 開発の生産性が 10 倍向上

目次1. 開発前の準備2. 新しいプロジェクトIdea は Java 開発のための強力なツールであり...

Linux の MySQL 設定の変更が有効にならない問題の解決方法

背景AWS EC2 を使用するプロジェクトサービスがあります。セキュリティとパフォーマンスを考慮して...

Centos7でのパーティションのフォーマットとマウントの実装

Linux では、ハードディスクの追加やパーティションの再マウントといった状況に頻繁に遭遇します。こ...

HTMLでマスクレイヤーを実装する方法 HTMLでマスクレイヤーを使用する方法

Web ページでマスク レイヤーを使用すると、繰り返しの操作を防ぎ、読み込みを促進できます。また、ポ...

Docker での Jenkins と Docker を使用した継続的デリバリー

1. 継続的デリバリーとは何かソフトウェア製品の出力プロセスは、ソフトウェアがいつでもリリースできる...

Angularの親子コンポーネント通信の詳細な説明

目次使用されるAPI簡単な例人.ts親コンポーネントサブコンポーネント効果要約する使用されるAPI ...

dl、dt、dd はいつ使用するのが適切ですか?

dl:定義一覧定義リストdt:定義タイトルタイトルを定義するdd:定義説明定義の説明dt は情報のタ...

JavaScript Canvas で三目並べゲームを実装

この記事では、JavaScript Canvasで三目並べゲームを実装するための具体的なコードを参考...

MySQL の異常なエラー ERROR: 2002 を解決する方法

最近、MySQL の起動中にエラーが発生しました。エラー メッセージは次のとおりです。 エラー 20...

HTML の marquee 属性の詳細な説明

このタグはHTML3.2の一部ではなく、MSIE3以降のカーネルでのみサポートされているため、IEカ...

Docker で MySQL を起動したときに SQL 文を自動的に実行する方法

Docker で MySQL コンテナを作成する場合、コンテナの起動後にデータベースとテーブルが自動...

PCとモバイルの適応の問題に対する迅速な解決策

Web ページを作成する場合、通常、コンピューターの画面サイズと携帯電話の画面サイズの違いなどの問題...

Win10 64 ビットで圧縮パッケージを使用して最新の MySQL 8.0.18 をインストールするチュートリアル (画像とテキスト付き)

WIN10 64ビットに最新のMySQL8.0.18をインストールダウンロード公式サイトから最新バ...