Vue.js は、今日のフロントエンド開発で最も人気のある JavaScript フレームワークの 1 つです。 uni-app は、Vue.js を使用してクロスプラットフォーム アプリケーションを開発するためのフレームワークです。 Vuex は Vue.js の状態管理ライブラリであり、uni-app におけるデータ状態管理の重要な部分です。この記事では、uni-app が Vuex を使用してログイン機能を実装する方法と、この方法を通じてより詳細な状態管理を実現する方法を紹介します。
前提知識
uni-app が Vuex を使用してログイン機能を実装する方法を理解する前に、次の関連テクノロジを学習する必要があります:
- HTML と CSS の基本
- Vue.js の基礎知識
- uni-app の基礎知識
- Vuex の基礎知識
上記の技術を習得していれば、読み続けて。
準備作業
異なるページ間の状態転送を開始する前に、次の作業を準備する必要があります。
- uni-appで新しいプロジェクトを作成して使用します。ビュークス。 HBuilderX などのツールを使用してユニアプリ プロジェクトを作成し、デフォルトで Vuex の統合を選択できます。
-
HBuilderX でプロジェクトを開き、pages ディレクトリに Login.vue ファイルを作成します。 App.vue ファイルを変更し、その内容を次のように変更します。
<template> <div> <router-view></router-view> </div> </template> <script> export default { onLaunch() { uni.reLaunch({ url: '/pages/login/login' }) } } </script>
-
uni-app に uni-request ライブラリをインストールして構成し、main.js ファイルの先頭で引用します。
import uniRequest from 'uni-request'; uniRequest.defaults.baseURL = 'http://localhost:3000/api'; // 请求拦截器 uniRequest.interceptors.request.use((config) => { const token = uni.getStorageSync('token') || ''; config.headers.Authorization = token; return config; }); // 响应拦截器 uniRequest.interceptors.response.use((response) => { if (response.statusCode === 401) { uni.removeStorageSync('token'); uni.reLaunch({ url: '/pages/login/login' }); } return response.data; }, (error) => { return Promise.reject(error); });
uni-request
このライブラリを使用すると、uni-app での HTTP リクエストの作成が簡単になります。
ログイン機能の実装
上記の作業が完了したら、ログイン機能の実装を開始できます。具体的な実装方法は次のとおりです。
-
ユーザー名入力ボックスとパスワード入力ボックスを含むログイン フォームを Login.vue ファイルに書き込みます。コードは次のとおりです。
<template> <view> <form> <view> <input> </view> <view> <input> </view> <view> <button>登录</button> </view> </form> </view> </template>
-
Login.vue ファイル内に
computed
を作成して、ユーザー名とパスワードが空かどうかを確認し、## を作成します。 #methodsログイン フォームを送信する
#handleSubmitメソッドを記述します。コードは次のとおりです。
export default { data() { return { form: { username: '', password: '' } }; }, computed: { isFormValid() { return this.form.username.trim() !== '' && this.form.password.trim() !== ''; } }, methods: { async handleSubmit() { const data = await this.$store.dispatch('login', this.form); uni.setStorageSync('token', data.token); uni.reLaunch({ url: '/pages/index/index' }); } } };
- ストア ディレクトリに
store.js
ファイルを作成し、
userという名前の Vuex モジュールを定義します。このモジュールには次の 3 つの部分が含まれています:
- state
: ユーザー情報とトークンを含む状態オブジェクト。
- ゲッター
: ユーザー名やログインしているかどうかなど、新しい状態を導出するために使用される計算されたプロパティ。
- actions
: ログインやログアウトなどの非同期操作に使用されます。
- state
- 現在のユーザー情報を取得および設定し、新しい状態を計算するために、
store.js
で
stateを定義します。 ##getters
、コードは次のとおりです:<pre class="brush:php;toolbar:false">const state = { user: null, token: null }; const getters = { username: (state) => { return state.user ? state.user.username : ''; }, isLoggedIn: (state) => { return !!state.token; } };</pre>
更新用に - store.js
で
mutations
を定義します州###。この例では、ユーザー情報とトークンを更新します。コードは次のとおりです。
const mutations = { setUser(state, user) { state.user = user; }, setToken(state, token) { state.token = token; } };
バックエンド サーバーを非同期に呼び出すために使用される
store.js - で
actions
を定義します。ユーザーのログインと
stateの更新。
uni-requestライブラリを使用して、非同期リクエストを行うことができます。コードは次のとおりです。
const actions = { async login({ commit }, { username, password }) { const { data } = await uniRequest.post('/login', { username, password }); commit('setUser', data.user); commit('setToken', data.token); return data; } };
store.js - に
index.js
を作成して、定義したモジュールを公開します。コードは次のとおりです。
import Vue from 'vue'; import Vuex from 'vuex'; import user from './modules/user'; Vue.use(Vuex); const store = new Vuex.Store({ modules: { user } }); export default store;
概要
uni-request
ライブラリを使用して非同期リクエストを行う方法、およびactions と
mutations を定義して
state# のデータを更新する方法も示しました。 ## 。 Vuex を使用すると、アプリケーションの状態の管理が容易になり、複雑なアプリケーションを迅速に開発できるようになります。ユニアプリでクロスプラットフォーム アプリケーションを開発する予定がある場合は、Vuex の使用法をマスターすることが非常に重要です。
以上がvuexを使用してuniappにログイン機能を実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

この記事では、モバイルプラットフォームとWebプラットフォームのデバッグ戦略について説明し、Android Studio、Xcode、Chrome Devtoolsなどのツールを強調し、OSとパフォーマンスの最適化全体で一貫した結果を得るためのテクニックについて説明します。

この記事では、Hbuilderx、Wechat開発者ツール、Chrome Devtoolsなどのツールに焦点を当てたUniapp開発のためのデバッグツールとベストプラクティスについて説明します。

この記事では、複数のプラットフォームにわたるUNIAPPアプリケーションのエンドツーエンドテストについて説明します。テストシナリオの定義、Appiumやサイプレスなどのツールの選択、環境のセットアップ、テストの書き込みと実行、結果の分析、インテグラートをカバーします

この記事では、ユニット、統合、機能、UI/UX、パフォーマンス、クロスプラットフォーム、セキュリティテストなど、UNIAPPアプリケーションのさまざまなテストタイプについて説明します。また、クロスプラットフォームの互換性を確保し、JESのようなツールを推奨しています

この記事では、過剰なグローバルデータの使用や非効率的なデータバインディングなど、UNIAPP開発における一般的なパフォーマンスアンチパターンについて説明し、これらの問題を特定して緩和してアプリのパフォーマンスを向上させる戦略を提供します。

この記事では、プロファイリングツールを使用して、Uniappのパフォーマンスボトルネックを識別および解決し、セットアップ、データ分析、最適化に焦点を当てています。

この記事では、Uniappでネットワーク要求を最適化するための戦略について説明し、遅延の削減、キャッシュの実装、および監視ツールを使用してアプリケーションのパフォーマンスを向上させることに焦点を当てています。

この記事では、圧縮、レスポンシブデザイン、怠zyなロード、キャッシング、およびWebP形式の使用を通じて、Webパフォーマンスを向上させるために、Uniappの画像の最適化について説明します。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境

メモ帳++7.3.1
使いやすく無料のコードエディター

mPDF
mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

EditPlus 中国語クラック版
サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

ドリームウィーバー CS6
ビジュアル Web 開発ツール
