この記事では、WeChatアプレットがSMS認証コードのカウントダウンを送信するための具体的なコードを参考までに共有します。具体的な内容は次のとおりです。 レンダリング WXML ファイル <ビュークラス="コンテナ"> <view class="userinfo"> <image class="userinfo-avatar" src="../../images/timg.jpg" mode="カバー"></image> <text class="userinfo-nickname">何</text> </ビュー> <view class="wrap"> <view class="tel"> <input type="number" bindinput="bindTelInput" maxlength="11" placeholder="電話番号を入力してください" プレースホルダースタイル="color:#C3C6C4;"/> </ビュー> <view class="ver-code"> <view class="code"> <input type="number" bindinput="bindCodeInput" maxlength="6" placeholder="確認コードを入力してください" プレースホルダースタイル="color:#C3C6C4;"/> </ビュー> <view class="getCode" bindtap="getCode" wx:if="{{countDownNum == 60 || countDownNum == -1}}"> <button type="primary" plain="true">確認コードを取得</button> </ビュー> <view class="getCode" wx:else> <button type="primary" plain="true">{{countDownNum}} 秒後に再取得</button> </ビュー> </ビュー> </ビュー> <view class="btn-login" bindtap="login">ログイン</view> </ビュー> JSファイル //アプリケーションインスタンスを取得する const app = getApp() ページ({ /** * ページの初期データ */ データ: { phone: null, // 電話番号 code: null, // 電話認証コード countDownNum: 60, // カウントダウン初期値 }, /** * ライフサイクル機能 - ページの読み込みをリッスンする*/ onLoad: 関数 (オプション) { }, /** * ライフサイクル機能 - モニターページ表示 */ onShow: 関数() { }, /** * ライフサイクル関数 - ページの初期レンダリングの完了を待機します*/ onReady: 関数 () { }, /** * ユーザーは右上隅をクリックして共有します*/ onShareAppMessage: 関数 () { }, // 電話番号を入力 bindTelInput: function (e) { this.setData({ 電話番号: e.detail.value }) }, // 検証コードを入力するbindCodeInput: function (e) { this.setData({ コード: e.detail.value }) }, // モバイル認証コードを送信getCode: function () { if (!!this.data.phone) { (!!(/^1[34578]\d{9}$/.test(this.data.phone)))の場合{ wx.showToast({ タイトル:「送信に成功しました」 アイコン: "なし", 所要時間: 1500 }) this.countDown() } それ以外 { wx.showToast({ タイトル:「有効な携帯電話番号を入力してください」 アイコン: "なし", 所要時間: 1500 }) } } それ以外 { wx.showToast({ タイトル: 「携帯電話番号を入力してください」 アイコン: "なし", 所要時間: 1500 }) } }, /** * 認証コードのカウントダウン */ カウントダウン: 関数 () { var _this = これ var countDownNum = _this.data.countDownNum // カウントダウンの初期値を取得します var timer = setInterval(function () { カウントダウン数 -= 1 _this.setData({ カウントダウン数: カウントダウン数 }) カウントダウン数 <= -1 の場合 { クリアインターバル(タイマー) // setInterval関数が実行するコードの固定を解除する_this.setData({ カウントダウン数: 60 }) } }, 1000) }, // 携帯電話認証コードログイン: function () { if (this.data.phone) { (!!(/^1[34578]\d{9}$/.test(this.data.phone)))の場合{ if (this.data.code) { wx.showToast({ タイトル: 「ログイン成功」、 アイコン: "なし", 所要時間: 1500 }) } それ以外 { wx.showToast({ タイトル: 「確認コードを入力してください」 アイコン: "なし", 所要時間: 1500 }) } } それ以外 { wx.showToast({ タイトル:「有効な携帯電話番号を入力してください」 アイコン: "なし", 所要時間: 1500 }) } } それ以外 { wx.showToast({ タイトル: 「携帯電話番号を入力してください」 アイコン: "なし", 所要時間: 1500 }) } } }) WXSS ファイル .ユーザー情報{ 高さ: 240rpx; マージン: 40rpx 自動 0; ディスプレイ: フレックス; flex-direction: 列; アイテムの位置を中央揃えにします。 } .userinfo .userinfo-アバター { 幅: 140rpx; 高さ: 140rpx; マージン: 20rpx; 境界線の半径: 50%; 境界線: 1rpx 実線 #dad5d5; } .userinfo .userinfo-ニックネーム { 色: #aaa; } 。包む { 幅: 630rpx; フォントサイズ: 32rpx; マージン: 80rpx 自動 120rpx; } .wrap .tel { 幅: 100%; 高さ: 68rpx; 下部境界線: 1rpx 実線 #DDE3EC; 下部マージン: 60rpx; ディスプレイ: フレックス; flex-direction: 列; コンテンツの配置: flex-start; } .wrap .ver-code { 幅: 100%; 高さ: 68rpx; 下部境界線: 1rpx 実線 #DDE3EC; ディスプレイ: フレックス; コンテンツの両端揃え: スペースの間; } .wrap .ver-code .code { } .wrap .ver-code .getCode { 最小幅: 190rpx; 高さ: 40rpx; } .wrap .ver-code .getCode ボタン { 幅: 100%; 高さ: 100%; フォントサイズ: 28rpx; フォントの太さ: 標準; 行の高さ: 40rpx; 背景: #fff; 色: #ffaa7f; 境界線: なし; パディング: 0; マージン: 0; } .btnログイン{ 幅: 588rpx; 高さ: 88rpx; 背景: #ffaa7f; 境界線の半径: 10rpx; テキスト配置: 中央; 行の高さ: 88rpx; フォントサイズ: 36rpx; フォントの太さ: 500; 色: #fff; マージン: 0 自動; } .clickClass{ 背景: #ea986c; } 以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: MySQL における datetime と timestamp の違いと使い方
1. 必要なパッケージをダウンロードする wget -P /usr/local https://st...
Linuxでシェルスクリプトを共有して、MySQLのマスタースレーブ状態を監視し、エンタープライズW...
1. MySQL Yumリポジトリを追加するMySQL公式サイト>ダウンロード>MySQ...
目次ステップ1: プロジェクトをインストールするディレクトリにnode_modulesをインストール...
2つの異なるサーバー間の転送ポート転送を有効にするまず、デフォルトでは無効になっている IP 転送機...
Vue スキャフォールディングでは、エントリ ファイル main.js の新しい Vue コードに、...
最近、hadoop テスト クラスターで spark ストリーミング プログラムを実行し、その後、n...
休憩中に、眠気を完全に吹き飛ばす電話がかかってきました。「開発者が更新 SQL を書くときに whe...
1. scale() メソッドズームとは「縮小」と「拡大」を意味します。 CSS3 では、scal...
ページが応答しない場合、白い画面が表示されないように、読み込みアニメーションを表示するのがユーザーフ...
span タグは HTML ウェブページを作成するときによく使用されますが、このタグの使い方がよくわ...
以下では、よく使われるヘッド構造と、各タグや要素の意味や使用シーンを紹介します(この記事は、Yisi...
1つ。 tomcat を使用したリモート展開1.1 発生した問題:プロジェクトでは、サードパーティの...
NodeJS は次のファイルをコピーします:通常、小さなファイルのコピー操作では、ストリーム パイプ...
tinyMCE の使用方法の詳細な説明初期化TinyMCE を初期化するときは、ページの HEAD ...