vue+tp5はシンプルなログイン機能を実現

vue+tp5はシンプルなログイン機能を実現

この記事では、参考までに、簡単なログイン機能を実装するためのvue+tp5の具体的なコードを紹介します。具体的な内容は次のとおりです。

準備: package.jsonに示されているように、vue-cli、element-uiをインストールします。インストール手順に従ってください。

1. srcディレクトリにビューページを作成する

2. /src/router/index.js に次のコードを記述します。

'vue' から Vue をインポートします
'vue-router' から Router をインポートします。
'@/components/HelloWorld' から HelloWorld をインポートします。
'@/views/login/index.vue' からログインをインポートします。
 
Vue.use(ルーター)
 
デフォルトの新しいルーターをエクスポートします({
  ルート: [
    {
      パス: '/'、
      名前: 'HelloWorld',
      コンポーネント: HelloWorld
    }, {
      パス: '/login',
      コンポーネント: ログイン
    }
  ]
})

3. app.vue を次の図のように復元します。

4. /src/views/login/index.vue でコードの記述を開始します (ログイン テンプレートを見つけます)。

<テンプレート>
    <div id="app-1">
        <div class="content">
            <div class="content_input">
                <div class="title">
                    <p>管理者ログイン</p>
                </div>
                <el-input v-model="UserName" clearable placeholder="ユーザー名"></el-input>
                <el-input v-model="PassWord" clearable show-password placeholder="Password"></el-input>
                <div class="content_button">
                    <el-button type="primary" @click="SignIn">ログイン</el-button>
                </div>
            </div>
        </div>
    </div>
</テンプレート>
 
<スクリプト>
'@/assets/css/style.css' をインポートします
定数 axios = require('axios')
エクスポートデフォルト{
  名前: 'ログイン',
  データ () {
    戻る {
      ユーザー名: '',
      パスワード: ''
    }
  },
  メソッド: {
    サインイン () {
      それを = これとする
      ユーザー名 = that.UserName とします
      パスワード = that.PassWord とします
      if (!ユーザー名) {
        this.$notify.error({
          タイトル: 「エラー」、
          メッセージ: 'ユーザー名は空欄にできません'
        });
        偽を返す
      } そうでなければ (!パスワード) {
        this.$notify.error({
          タイトル: 「エラー」、
          メッセージ: 「パスワードは空欄にできません」
        })
        偽を返す
      } それ以外 {
        // 処理のために情報をバックエンドに渡す axios.post('/api/login/doLogin', {
          名前: ユーザー名、
          psw: パスワード
        })
          .then(関数 (応答) {
            console.log(応答)
          })
          .catch(関数 (エラー) {
            コンソール.log(エラー)
          })
      }
    }
  }
}
</スクリプト>

5. config/index.js で proxytable を設定し、クロスドメインリクエストに axios を使用する

プロキシテーブル: {
        '/api/*': { // api はプロキシインターフェースです target: 'http://localhost:8085/index.php/index', // ここでローカルサービスにプロキシします changeOrigin: true,
            パス書き換え: {
              // これはリンクを追加します。たとえば、インターフェースに実際に /api が含まれている場合、この構成は必須です。
              '^/api': '/', // と次の 2 つの書き方があり、人によってニーズが異なります。
              // /api + /api == http://localhost:54321/api と同等
              // '^/api' と記述した場合: '/'
              // /api + / == http://localhost:54321/ と同等
              // /api ここ == http://localhost:54321
            }
        }
    },

6. /src/main.js

// `import` コマンドで読み込む Vue ビルド バージョン
// (ランタイムのみまたはスタンドアロン) が webpack.base.conf にエイリアスとともに設定されています。
'vue' から Vue をインポートします
'./App' から App をインポートします
'vue-router' から Router をインポートします。
'./router' からルーターをインポートします
'axios' から axios をインポートします
'element-ui' から ElementUI をインポートします。
'element-ui/lib/theme-chalk/index.css' をインポートします。
'font-awesome/css/font-awesome.min.css' をインポートします。
 
Vue.use(要素UI)
Vue.use(ルーター)
 
Vue.config.productionTip = false
Vue.prototype.$axios = axios
 
/* eslint を無効にする no-new */
新しいVue({
  el: '#app',
  ルーター、
  コンポーネント: { アプリ },
  テンプレート: '<App/>'
})

7.tp5バックエンドのindex/controller/Login.phpで:

<?php
/**
 * PhpStorm によって作成されました。
 * ユーザー: mx1
 * 日付: 2021/11/9
 * 時間: 15:21
 */
 
名前空間 app\index\controller;
 
 
think\Controller を使用します。
 
クラスLoginはControllerを拡張します
{
    パブリック関数doLogin(){
        $name=input('post.name');
        $psw=入力('post.psw');
        json([$name,$psw]) を返します。
    }
 
}

注: 設定したプロキシテーブルが機能しない場合は、インターフェースが正しいことを確認してから、cmd でプロジェクト ディレクトリを見つけて、npm run dev を実行します。

効果:

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

以下もご興味があるかもしれません:
  • Vueはログインしていないときにログインページにジャンプする方法を実装します
  • Vue 学習ロード ログイン登録サンプルコード
  • Vue WeChat 認証ログインソリューション
  • Vue+springboot フロントエンドとバックエンドの分離により、シングルサインオンのクロスドメイン問題解決を実現
  • Vue はログイン後に前のページへのページジャンプを実装します
  • Vue.jsとElement-UIを使用してシンプルなログインページを作成する例
  • vueルーティングジャンプ時にユーザーがログインしているか判断する実装
  • Vueはログインインターフェースの検証コード機能を実装します
  • Vue はログインページの検証コードと検証プロセスの分析を実装します (初心者向け)
  • Vue.jsは、ユーザーコメント、ログイン、登録、情報変更機能を実装します。

<<:  ChromeとIEに対応したWMPに埋め込まれたHTMLの詳細な紹介

>>:  CSS 要素を表示および非表示にする 9 つの方法

推薦する

Git サーバーを使用してデバッグ ブランチを表示し、修正する方法を 1 日 1 分で学習します。

デバッグブランチプロジェクトの通常の開発中に、以前にリリースされたバージョンにバグがある場合がありま...

MySQLの誤操作後にbinlog2sqlを使用して素早くロールバックする方法の詳細な説明

序文日常の仕事や勉強では、データベースを操作するときに「不注意」によるミスを犯すことは避けられません...

TomcatはNginxリバースプロキシのクライアントドメイン名を取得します

質問Nginx リバース プロキシの後、Tomcat アプリケーションは、クライアント ブラウザーの...

MySQL で重複を削除するには、distinct または group by を使用する必要がありますか?

序文group by と distinctive のパフォーマンス比較について: インターネット上の...

crontab スケジュールされたタスクが実行されない理由の分析と解決

序文Linux のスケジュールされたタスクを実装する方法としては、cron、anacron、at な...

MySQL ログイン警告問題の解決策

1. はじめにMySQL にログインすると、次のような警告が表示されることがよくあります。警告: コ...

mysql-5.7.21-winx64 無料インストール版のインストール - Windows チュートリアル詳細説明

1 ダウンロードアドレスは https://dev.mysql.com/downloads/mysq...

Ubuntu で起動時に自動的に起動するシェル スクリプトを作成する (推奨)

スクリプトを書く目的は、さまざまなサービスを手動で起動しなくて済むようにすることです(怠惰のためでも...

Linux サーバーのグラフィック カードのクラッシュの解決策

ログインインターフェースの解像度が特に大きい場合、グラフィカルインターフェース全体が特に大きくなり、...

Expressを使用してプロジェクトを自動的にビルドするNode.jsのプロセス全体

1. Expressライブラリとジェネレータをインストールするcmdを開いて、次のコマンドを入力しま...

JS で Websocket ベースのマルチターミナル ブリッジング プラットフォームを実装する方法

目次1. デバッグ対象2. WebSocketの機能3. ソケット接続を確立する3.1 部屋の作成方...

docker ベースの mariadb のインストール構成プロセスの分析

1. インストール dockerhub を通じてインストールする mariadb のバージョンを検索...

MySQLインデックスとは何ですか?わからない場合は聞いてください

目次概要二分木からB+木へクラスター化インデックス非クラスター化インデックスジョイントインデックスと...

レアタグフィールドセットと凡例の使用方法の詳細な説明

<fieldset>と<legend>については、ほとんどの人はおそらく馴染...

H5ウェイクアップアプリの実装方法と注意点のまとめ

目次序文APPメソッドにジャンプURLスキームメタタグユニバーサルリンクさまざまな使い方URLスキー...