WeChatアプレットがログインインターフェースを実装

WeChatアプレットがログインインターフェースを実装

WeChatアプレットのログインインターフェースは参考までに実装されています。具体的な内容は次のとおりです。

<ビュークラス="コンテナ">
  <ビュークラス="ラッパー">
    <view class="left-top-sign">ログイン</view>
    <view class="welcome">
      おかえり!
    </ビュー>
    <view class="input-content">
      <view class="input-item">
        <text class="tit">携帯電話番号</text>
        <input type="text" placeholder="電話番号を入力してください" id='phone' data-type='phone' bindinput='handerInput' />
      </ビュー>
      <view class="input-item">
        <text class="tit">パスワード</text>
        <input type="password" placeholder="パスワードを入力してください" id='password' data-type='password' bindinput='handerInput' />
      </ビュー>
    </ビュー>
    <button class="confirm-btn">ログイン</button>
    <view class="forget-section">
      パスワードを忘れましたか?
    </ビュー>
  </ビュー>
  <view class="register-section">
    まだアカウントがありませんか?
    <text>今すぐ登録</text>
  </ビュー>
</ビュー>

最も基本的なフォーム送信。

データ: {
    電話: ''、//電話番号 パスワード: '' //パスワード}、

  /**
   * ライフサイクル機能 - ページの読み込みをリッスンする*/
  onLoad: 関数 (オプション) {

  },
  ハンドラ入力(イベント) {
    // type = event.currentTarget.dataset.type とします。
    type = event.currentTarget.id; とします。
    console.log(イベント);
    this.setData({
      [タイプ]: イベントの詳細値
   })
  },
  /**

双方向バインディングを実装するには、bindinput イベントを使用し、id または dataset を使用してデータを一意に識別します。

1 つのデータは id に渡すことができ、複数のデータは dataset に渡すことができます。

WeChat アプレットのインタラクション: メッセージ表示ボックス。 (公式リンク)

クリック コールバック関数をログイン ボタンにバインドします。

//html
<button class="confirm-btn" bindtap="login">ログイン</button>

//js
ログイン() {
    let { 電話番号、パスワード } = this.data;
    console.log(パスワード);
    /**
     * 電話番号の確認* 電話番号が空です* 電話番号の形式が間違っています* 電話番号は正しいです*/
    if (!電話) {
      wx.showToast({
        タイトル: 「携帯電話番号は空欄にできません」
        アイコン: 'なし'
      })
      戻る;
    }
    //電話番号の正規表現を定義します。let phoneReg = /^1(3|4|5|6|7|8|9)\d{9}$/
    if (!phoneReg.test(phone)) {
      wx.showToast({
        タイトル: 「携帯電話番号の形式が間違っています」
        アイコン: 'なし'
      })
      戻る;
    }

    if (!パスワード) {
      wx.showToast({
        タイトル: 「パスワードは空欄にできません」
        アイコン: 'なし'
      })
      戻る;
    }

    wx.showToast({
      タイトル: 「フロントエンド検証に合格しました」

    })

バックエンドの検証、インターフェースの呼び出し、応答ステータス コードを通じてユーザーにログイン情報を返します。

result = await request('/login/cellphone', { phone, password }); を実行します。
    結果コード === 200 の場合
      wx.showToast({
        タイトル: 「ログイン成功」
      })
    }
    そうでない場合(結果コード === 400){
      wx.showToast({
        タイトル: 「電話番号が間違っています」
        アイコン: 'なし'
      })
    }
    そうでない場合(結果コード === 502){
      wx.showToast({
        タイトル: 「パスワードが間違っています」
        アイコン: 'なし'
      })
    }
    それ以外 {
      wx.showToast({
        タイトル: 「ログインに失敗しました。もう一度ログインしてください」
        アイコン: 'なし'
      })
    }
},

パーソナルセンターのアバターをクリックすると、ログインインターフェースにジャンプします。ログインに成功したら、ユーザーの個人情報データをキャッシュし(setStorageSyncメソッドとgetStorageSyncメソッドを使用)、switchTabを使用してタブバーの下のパーソナルセンターページにジャンプし、取得したキャッシュデータをjsデータに保存します。json形式の変換に注意し、最後に

HTML における三項演算に関する特別な判断。

<view class="user-info-box" bindtap='toLogin'>
      <view class="portrait-box">
        <画像クラス="縦"
          src='{{userInfo.avatarUrl?userInfo.avatarUrl:"/static/images/personal/missing-face.png"}}'></image>
      </ビュー>
      <view class="info-box">
        <text class="username">{{userInfo.nickname?userInfo.nickname: '訪問者'}}</text>
      </ビュー>
</ビュー>
//ログイン.js
結果コード === 200 の場合
      wx.showToast({
        タイトル: 「ログイン成功」
      })

      wx.setStorageSync('userInfo', JSON.stringify(result.profile));

      wx.switchTab({
        URL: '/pages/personal/personal'
      })
    }
// 個人用.js
onLoad: 関数 (オプション) {

    userInfo = wx.getStorageSync('userInfo'); を設定します。
    if (ユーザー情報) {
      this.setData({
        ユーザー情報: JSON.parse(ユーザー情報)
      })
    }

  }, 

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • WeChatアプレットがログインページを実装
  • JSF は WeChat アプレット用のシンプルなログイン ページを実装します (ソース コード付き)
  • WeChat アプレットのシンプルなログイン ページの実装 (ソース コード付き)
  • WeChatミニプログラム実践:ログインページ制作(5)
  • WeChatアプレットのローカルストレージとログインページの処理例の詳細な説明
  • WeChat アプレット ログイン インターフェースの例

<<:  MySQL データ型における DECIMAL の使用法の詳細な説明

>>:  VMware Workstation のインストール Linux (Ubuntu) システム

推薦する

6秒でMySQLに100万件のレコードを挿入する方法を教えます

1. アイデアMySQL に 1,000,000 件のレコードを挿入するのにたった 6 秒しかかかり...

Webフロントエンドの一般的な操作(JS/HTML/CSSなどの知識を含む)

ul liの前のアイコン1をキャンセルしますクリア値1値を1に設定ラベル中央値1をクリアラベルの中央...

IE6かどうかを判定する最短JS(IEの書き方)

ブラウザが IE のどのバージョンであるかを検出するためによく使用される JavaScript コー...

MySql Installer 8.0.18 画像とテキストによるビジュアル インストール チュートリアル

目次1. MySQL 8.0.18のインストール2. 環境変数を設定する3. 接続テスト1. MyS...

CSSは座席選択効果を実現するためにautoflow属性を使用する

1. 自動フロー属性、要素コンテンツの長さと幅が要素自体の長さと幅を超える場合、スクロールバーが表示...

Docker クロスサーバー通信オーバーレイソリューション (パート 1) Consul 単一インスタンス

目次シナリオタスクアイデア分析するコンセプトと選択ちょっとしたテスト環境説明予防実践テスト引用シナリ...

ウェブデザインの発展と西洋建築の類似点は何でしょうか?

歴史は常に驚くほどうまく繰り返される。西洋建築とウェブデザインは、どちらも工学と芸術の組み合わせです...

CSSは、他のレイヤーを変更せずに、多層ネスト構造の最外層を回転させる効果を実現します。

次のようなシナリオがあります。円形のコンテナで、最も外側のコンテナの背景が円弧になっています。内側の...

理論: 2年間のユーザーエクスペリエンス

<br />国内のウェブサイトが本格的に普及し、ユーザーエクスペリエンスに重点が置かれる...

docker inspect コマンドの使用に関するヒント

説明と紹介Docker inspect は Docker クライアントのネイティブ コマンドであり、...

Mac ノードの削除と再インストールのケーススタディ

Macノードの削除と再インストール消去 ノード -v sudo npm アンインストール npm -...

HTML の blockquote タグの使用と美化

ブロック引用の定義と使用法<blockquote> タグは引用ブロックを定義します。 &...

MySQL ピボットテーブルについての簡単な説明

次のような製品部品表があります。一部 部品ID 部品タイプ 製品ID ---------------...

CSS スタイルを HTML 外部スタイルシートにインポートする方法

リンクインスタイルとは、すべてのスタイルを 1 つ以上の外部スタイルシート ファイルに配置することで...

Websocket+Vuexはリアルタイムチャットソフトウェアを実装します

目次序文1. 効果は図の通りです2. 具体的な実施手順1. Vuexの紹介2.webscoked実装...