Jadual Kandungan
Pengetahuan prasyarat
Kerja penyediaan
Melaksanakan fungsi log masuk
Rumah hujung hadapan web uni-app Cara menggunakan vuex untuk melaksanakan fungsi log masuk dalam uniapp

Cara menggunakan vuex untuk melaksanakan fungsi log masuk dalam uniapp

Apr 20, 2023 pm 01:55 PM

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:

  1. 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.
  2. 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
  3. 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 masuk

    uni-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:

  1. 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
  2. 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
  3. 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
  4. Dalam

    tentukan store.js untuk mendapatkan dan menetapkan maklumat pengguna semasa dan state 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
  5. mentakrifkan

    dalam store.js untuk mengemas kini mutations. 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
  6. Tentukan

    dalam store.js untuk memanggil pelayan bahagian belakang secara tak segerak untuk log masuk dan kemas kini pengguna actions. Anda boleh menggunakan pustaka state 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
  7. 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
Ringkasan

Dalam artikel ini, kami mempelajari cara menggunakan Vuex untuk melaksanakan fungsi log masuk dalam apl uni. Kami juga menunjukkan cara menggunakan pustaka

untuk membuat permintaan tak segerak dan cara mentakrifkan uni-request dan actions untuk mengemas kini data dalam mutations. state

Menggunakan Vuex boleh memudahkan kami mengurus keadaan aplikasi kami dan membantu kami membangunkan aplikasi yang kompleks dengan cepat. Jika anda bercadang untuk membangunkan aplikasi merentas platform dalam apl uni, adalah sangat penting untuk menguasai penggunaan Vuex.

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!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

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

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Apakah jenis ujian yang boleh anda lakukan dalam aplikasi UNIAPP? Apakah jenis ujian yang boleh anda lakukan dalam aplikasi UNIAPP? Mar 27, 2025 pm 04:59 PM

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

Bagaimanakah anda dapat mengurangkan saiz pakej aplikasi UNIAPP anda? Bagaimanakah anda dapat mengurangkan saiz pakej aplikasi UNIAPP anda? Mar 27, 2025 pm 04:45 PM

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

Apakah alat penyahpepijatan yang tersedia untuk pembangunan Uniapp? Apakah alat penyahpepijatan yang tersedia untuk pembangunan Uniapp? Mar 27, 2025 pm 05:05 PM

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

Bagaimanakah anda boleh menggunakan pemuatan malas untuk meningkatkan prestasi? Bagaimanakah anda boleh menggunakan pemuatan malas untuk meningkatkan prestasi? Mar 27, 2025 pm 04:47 PM

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.

Bagaimanakah anda boleh mengoptimumkan imej untuk prestasi web di Uniapp? Bagaimanakah anda boleh mengoptimumkan imej untuk prestasi web di Uniapp? Mar 27, 2025 pm 04:50 PM

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.

Bagaimanakah UNIPP mengendalikan konfigurasi dan gaya global? Bagaimanakah UNIPP mengendalikan konfigurasi dan gaya global? Mar 25, 2025 pm 02:20 PM

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.

Apakah beberapa corak umum untuk menguruskan struktur data yang kompleks di UNIPP? Apakah beberapa corak umum untuk menguruskan struktur data yang kompleks di UNIPP? Mar 25, 2025 pm 02:31 PM

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.

Apakah sifat yang dikira di Uniapp? Bagaimana mereka digunakan? Apakah sifat yang dikira di Uniapp? Bagaimana mereka digunakan? Mar 25, 2025 pm 02:23 PM

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

See all articles