


Cara menggunakan vuex untuk melaksanakan fungsi log masuk dalam uniapp
Vue.js ialah salah satu rangka kerja JavaScript yang paling popular dalam pembangunan bahagian hadapan hari ini. Dan uni-app ialah rangka kerja untuk membangunkan aplikasi merentas platform menggunakan Vue.js. Vuex ialah perpustakaan pengurusan negeri Vue.js dan bahagian penting dalam pengurusan keadaan data dalam apl uni. Dalam artikel ini, kami akan memperkenalkan cara aplikasi uni menggunakan Vuex untuk melaksanakan fungsi log masuk, dan boleh mencapai lebih banyak pengurusan keadaan melalui kaedah ini.
Pengetahuan prasyarat
Sebelum memahami cara uni-app menggunakan Vuex untuk melaksanakan fungsi log masuk, anda perlu mempelajari teknologi berkaitan berikut:
- Asas HTML dan CSS
- Pengetahuan asas Vue.js
- Pengetahuan asas uni-app
- Pengetahuan asas Vuex
Jika anda telah menguasai teknologi di atas , anda boleh teruskan membaca.
Kerja penyediaan
Sebelum memulakan pemindahan keadaan antara halaman yang berbeza, kita perlu menyediakan kerja berikut:
- Buat projek baharu dalam apl uni dan Gunakan Vuex. Anda boleh menggunakan alatan seperti HBuilderX untuk mencipta projek uni-app dan memilih untuk menyepadukan Vuex secara lalai.
-
Buka projek dalam HBuilderX dan buat fail Login.vue dalam direktori halaman. Ubah suai fail App.vue dan ubah suai kandungannya seperti berikut:
<template> <div> <router-view /> </div> </template> <script> export default { onLaunch() { uni.reLaunch({ url: '/pages/login/login' }) } } </script>
Salin selepas log masuk -
Pasang dan konfigurasikan perpustakaan permintaan-satu dalam apl uni, dan sebutkan ia di bahagian atas utama Fail .js seperti berikut: Pustaka
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); });
Salin selepas log masukuni-request
memudahkan kami membuat permintaan HTTP dalam apl uni.
Melaksanakan fungsi log masuk
Selepas kerja di atas selesai, kita boleh mula melaksanakan fungsi log masuk. Berikut ialah kaedah pelaksanaan khusus:
-
Tulis borang log masuk dalam fail Login.vue, termasuk kotak input nama pengguna dan kotak input kata laluan. Kodnya adalah seperti berikut:
<template> <view class="container"> <form @submit.prevent="handleSubmit"> <view class="field"> <input type="text" name="username" v-model="form.username" placeholder="请输入用户名" /> </view> <view class="field"> <input type="password" name="password" v-model="form.password" placeholder="请输入密码" /> </view> <view class="field"> <button class="btn" type="submit">登录</button> </view> </form> </view> </template>
Salin selepas log masuk -
Buat
computed
dalam fail Login.vue untuk menyemak sama ada nama pengguna dan kata laluan kosong, dan tulis methods > Kaedah untuk menghantar borang log masuk. Kodnya adalah seperti berikut: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' }); } } };
Salin selepas log masuk - Buat fail
dalam direktori kedai dan tentukan modul Vuex bernama
store.js
. Modul ini mengandungi tiga bahagian berikut:user
- : nyatakan objek, termasuk maklumat pengguna dan token.
state
- : Sifat dikira, digunakan untuk memperoleh status baharu, termasuk nama pengguna dan sama ada log masuk.
getters
- : digunakan untuk operasi tak segerak, termasuk log masuk dan log keluar.
actions
- : nyatakan objek, termasuk maklumat pengguna dan token.
- Dalam
tentukan
store.js
untuk mendapatkan dan menetapkan maklumat pengguna semasa danstate
untuk mengira status baharu, kodnya adalah seperti berikut:getters
const state = { user: null, token: null }; const getters = { username: (state) => { return state.user ? state.user.username : ''; }, isLoggedIn: (state) => { return !!state.token; } };
Salin selepas log masuk - mentakrifkan
dalam
store.js
untuk mengemas kinimutations
. Dalam contoh ini, kami akan mengemas kini maklumat dan token pengguna. Kodnya adalah seperti berikut:state
const mutations = { setUser(state, user) { state.user = user; }, setToken(state, token) { state.token = token; } };
Salin selepas log masuk - Tentukan
dalam
store.js
untuk memanggil pelayan bahagian belakang secara tak segerak untuk log masuk dan kemas kini penggunaactions
. Anda boleh menggunakan pustakastate
untuk membuat permintaan tak segerak. Kodnya adalah seperti berikut: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; } };
Salin selepas log masuk - Buat
dalam
store.js
untuk mendedahkan modul yang kami takrifkan. Kodnya adalah seperti berikut: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;
Salin selepas log masuk
untuk membuat permintaan tak segerak dan cara mentakrifkan uni-request
dan actions
untuk mengemas kini data dalam mutations
. state
Atas ialah kandungan terperinci Cara menggunakan vuex untuk melaksanakan fungsi log masuk dalam uniapp. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Artikel ini membincangkan pelbagai jenis ujian untuk aplikasi UNIAPP, termasuk unit, integrasi, fungsional, UI/UX, prestasi, silang platform, dan ujian keselamatan. Ia juga meliputi memastikan keserasian silang platform dan mengesyorkan alat seperti JES

Artikel ini membincangkan strategi untuk mengurangkan saiz pakej UNIAPP, memberi tumpuan kepada pengoptimuman kod, pengurusan sumber, dan teknik seperti pemisahan kod dan pemuatan malas.

Artikel ini membincangkan alat penyahpepijatan dan amalan terbaik untuk pembangunan UNIPP, yang memberi tumpuan kepada alat seperti HBuildex, WeChat Developer Tools, dan Chrome Devtools.

Lazy Loading Delers Non-kritikal Sumber untuk meningkatkan prestasi tapak, mengurangkan masa beban dan penggunaan data. Amalan utama termasuk mengutamakan kandungan kritikal dan menggunakan API yang cekap.

Artikel ini membincangkan mengoptimumkan imej dalam UNIPP untuk prestasi web yang lebih baik melalui mampatan, reka bentuk responsif, pemuatan malas, caching, dan menggunakan format WEBP.

UNIPP menguruskan konfigurasi global melalui manifest.json dan gaya melalui app.vue atau app.scss, menggunakan uni.scss untuk pembolehubah dan campuran. Amalan terbaik termasuk menggunakan SCSS, gaya modular, dan reka bentuk responsif.

Artikel ini membincangkan menguruskan struktur data yang kompleks di UNIPP, yang memberi tumpuan kepada corak seperti Singleton, Observer, Kilang, dan Negeri, dan strategi untuk mengendalikan perubahan keadaan data menggunakan API VUEX dan VUE 3 API.

Ciri -ciri yang dikira oleh Uniapp, yang diperolehi dari Vue.js, meningkatkan pembangunan dengan menyediakan pengendalian data reaktif, boleh diguna semula, dan dioptimumkan. Mereka mengemas kini secara automatik apabila kebergantungan berubah, menawarkan manfaat prestasi dan memudahkan Co -Management Co
