Jadual Kandungan
1. Pengenalan kepada uniapp
2. Proses pelaksanaan
2.1 Menulis antara muka log masuk
2.2 Mengurus status pengguna
2.3 Lakukan pengesahan log masuk
2.4 Log keluar
2.5 Menentukan status log masuk pengguna dalam aplikasi
3. Ringkasan
Rumah hujung hadapan web uni-app pembangunan hibrid uniapp melaksanakan fungsi log masuk

pembangunan hibrid uniapp melaksanakan fungsi log masuk

May 26, 2023 am 10:02 AM

Dengan populariti peranti mudah alih, aplikasi mudah alih telah menjadi bahagian yang amat diperlukan dalam kehidupan seharian orang ramai. Melaksanakan fungsi log masuk adalah salah satu fungsi asas mana-mana aplikasi. Dalam artikel ini, kami akan memperkenalkan cara menggunakan rangka kerja pembangunan hibrid uniapp untuk melaksanakan fungsi log masuk.

1. Pengenalan kepada uniapp

Uniapp ialah rangka kerja pembangunan hibrid berdasarkan Vue.js. Ia boleh menggunakan set kod yang sama untuk membangunkan aplikasi untuk berbilang platform seperti iOS, Android, H5 , dan program kecil. Lebih penting lagi, ia turut menyokong pembungkusan tempatan dan fungsi pembungkusan awan, yang boleh meningkatkan kecekapan pembangunan aplikasi dan pengalaman pengguna dengan banyak.

2. Proses pelaksanaan

Proses melaksanakan fungsi log masuk adalah secara kasar seperti berikut:

  1. Tulis antara muka log masuk, termasuk kotak input nama pengguna dan kata laluan, dan butang log masuk.
  2. Urus status log masuk pengguna dalam vuex uniapp (pengurus status Vue.js).
  3. Hantar maklumat log masuk pengguna ke pelayan untuk pengesahan melalui permintaan rangkaian.
  4. Selepas pengesahan berjaya, maklumat berkaitan pengguna disimpan dalam cache setempat dan status pengguna dalam vuex dikemas kini pada masa yang sama.
  5. Tentukan sama ada pengguna log masuk dalam aplikasi untuk melaksanakan fungsi berkaitan.

Seterusnya, kami akan melaksanakan proses di atas langkah demi langkah.

Dalam projek uniapp, antara muka dilaksanakan dengan menulis komponen Vue. Kami mencipta fail Login.vue dalam folder halaman, dan menulis kod untuk antara muka log masuk seperti berikut:

<!-- Login.vue -->
<template>
  <view class="container">
    <view class="input-box">
      <input v-model="username" type="text" placeholder="用户名">
    </view>
    <view class="input-box">
      <input v-model="password" type="password" placeholder="密码">
    </view>
    <view class="btn-wrapper">
      <button @click="handleLogin">登录</button>
    </view>
  </view>
</template>

<script>
export default {
  data() {
    return {
      username: '',
      password: ''
    }
  },
  methods: {
    handleLogin() {
      /* 登录验证 */
    }
  }
}
</script>

<style>
/* 样式 */
</style>
Salin selepas log masuk

Dalam kod di atas, kami menggunakan komponen Vue yang disediakan oleh uniapp dan beberapa gaya mudah untuk membina antara muka log masuk. Kami mentakrifkan kotak input dan butang log masuk, dan memanggil kaedah handleLogin apabila butang log masuk diklik.

2.2 Mengurus status pengguna

Dalam uniapp, alat untuk mengurus status aplikasi ialah vuex. Anda perlu membuat folder kedai dahulu dalam projek (jika ia tidak wujud) dan mencipta fail index.js di bawah folder kedai. Seterusnya, kami mentakrifkan status dan operasi pengguna dalam index.js:

// store/index.js
import Vue from 'vue'
import Vuex from 'vuex'

Vue.use(Vuex)

const store = new Vuex.Store({
  state: {
    userInfo: null, // 用户信息
    isLogin: false // 是否登录
  },
  mutations: {
    setUserInfo(state, userInfo) {
      state.userInfo = userInfo
    },
    setIsLogin(state, isLogin) {
      state.isLogin = isLogin
    }
  },
  actions: {
    login({ commit }, userInfo) {
      /* 登录验证 */
    },
    logout({ commit }) {
      /* 退出登录 */
    }
  }
})

export default store
Salin selepas log masuk

Dalam kod di atas, kami mula-mula menggunakan pemalam Vuex melalui kaedah Vue.use() dan kemudian menentukan objek kedai. Dalam objek kedai, kami menggunakan konsep asas Vue.js seperti keadaan, mutasi dan tindakan. Keadaan digunakan untuk menyimpan keadaan aplikasi, mutasi digunakan untuk mengubah suai keadaan, dan tindakan digunakan untuk menyerahkan mutasi. Kami telah menentukan dua keadaan: userInfo dan isLogin, yang digunakan untuk menyimpan maklumat pengguna dan sama ada pengguna log masuk masing-masing. Seterusnya, kami mentakrifkan dua operasi: log masuk dan log keluar. Operasi ini adalah pengubahsuaian dan penyerahan kepada negeri.

2.3 Lakukan pengesahan log masuk

Seterusnya, kita perlu melaksanakan logik pengesahan log masuk. Dalam tindakan, kami menentukan kaedah log masuk. Dalam kaedah ini kita boleh melakukan operasi tak segerak untuk meminta pelayan untuk pengesahan.

// store/index.js
actions: {
  async login({ commit }, userInfo) {
    const res = await uni.request({
      url: 'http://api.example.com/login',
      method: 'POST',
      data: userInfo
    })

    if(res.data.code === 0) {
      // 登录成功
      const userInfo = res.data.userInfo

      // 更新本地存储信息
      uni.setStorageSync('userInfo', userInfo)

      // 更新Vuex状态
      commit('setUserInfo', userInfo) // 存储用户信息
      commit('setIsLogin', true) // 修改登录状态
    } else {
      // 登录失败
      uni.showToast({
        title: '登录失败',
        icon: 'none'
      })
    }
  }
}
Salin selepas log masuk

Dalam kaedah log masuk, kami mula-mula menghantar permintaan POST ke pelayan melalui kaedah uni.request dan menghantar maklumat pengguna di sana. Selepas menerima maklum balas daripada pelayan, kami membuat pertimbangan yang mudah. Jika pengesahan log masuk lulus, maklumat pengguna yang dikembalikan oleh pelayan disimpan dalam cache tempatan, dan maklumat pengguna dan status log masuk dalam vuex dikemas kini. Jika pengesahan gagal, mesej gesaan akan muncul.

2.4 Log keluar

Dalam fail store/index.js, kami juga mentakrifkan kaedah log keluar untuk mengendalikan tingkah laku log keluar pengguna:

// store/index.js
actions: {
  // ...省略上文中的代码
  async logout({ commit }) {
    // 清除本地缓存信息
    uni.removeStorageSync('userInfo')

    // 清除App Store
    commit('setUserInfo', null)
    commit('setIsLogin', false)
  }
}
Salin selepas log masuk

Dalam kaedah log keluar, Kami boleh menggunakan kaedah uni.removeStorageSync untuk mengosongkan maklumat cache setempat. Pada masa yang sama, maklumat pengguna dan status log masuk dalam vuex juga perlu dikemas kini.

2.5 Menentukan status log masuk pengguna dalam aplikasi

Dalam aplikasi, adalah perlu untuk menentukan sama ada pengguna telah log masuk. Jika anda tidak log masuk, anda perlu melompat ke halaman log masuk. Kami menggunakan cangkuk penghalaan global beforeEach dalam Vue.js untuk menentukan sama ada untuk log masuk. Kod adalah seperti berikut:

// main.js
import Vue from 'vue'
import App from './App'
import store from './store'

Vue.config.productionTip = false

App.mpType = 'app'

const app = new Vue({
  store,
  ...App
})

app.$mount()

// 全局路由钩子
uni.$on('routeUpdate', function() {
  uni.getStorage({
    key: 'userInfo',
    success: function(res) {
      // 用户已登录,更新Vuex状态
      store.commit('setIsLogin', true)
      store.commit('setUserInfo', res.data)
    },
    fail: function() {
      // 用户未登录,跳转到登录页
      if(uni.getStorageSync('isLogin') !== 'true' && uni.getStorageSync('isLogin') !== true) {
        uni.navigateTo({
          url: '/pages/Login'
        })
      }
    }
  })
})
Salin selepas log masuk

Dalam kod di atas, kami menggunakan kaedah uni.$on untuk mendengar acara kemas kini laluan apabila laluan berubah, pertimbangan pada masa itu. Pertama, kami mendapatkan maklumat pengguna dalam cache tempatan melalui kaedah uni.getStorage. Jika maklumat pengguna berjaya diperoleh, bermakna pengguna telah log masuk, dan kami boleh mengemas kini status pengguna dalam vuex. Jika tidak, ia akan melompat ke halaman log masuk.

3. Ringkasan

Dalam artikel ini, kami memperkenalkan cara menggunakan rangka kerja pembangunan hibrid uniapp untuk melaksanakan fungsi log masuk. Pertama, kami membina antara muka aplikasi dengan menulis antara muka log masuk kemudian, kami menggunakan vuex untuk mengurus status aplikasi dan merekod dan mengurus status log masuk pengguna kemudian, kami mengesahkan maklumat log masuk pengguna melalui permintaan rangkaian dalam aplikasi, dan menggunakan Tempatan; teknologi caching merekodkan status pengguna; akhirnya, kami menggunakan mekanisme cangkuk penghalaan untuk menentukan dan melompat ke status log masuk pengguna.

Atas ialah kandungan terperinci pembangunan hibrid uniapp melaksanakan fungsi log masuk. 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

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

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

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 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.

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 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.

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.

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