Rumah hujung hadapan web uni-app Bagaimanakah uniapp menentukan sama ada log masuk pengguna telah tamat tempoh?

Bagaimanakah uniapp menentukan sama ada log masuk pengguna telah tamat tempoh?

Apr 17, 2023 am 11:27 AM

Dalam pembangunan aplikasi mudah alih, log masuk pengguna dan pengesahan pengguna adalah tugas penting mereka memastikan keselamatan dan pengalaman pengguna aplikasi. Apabila menggunakan Uniapp untuk pembangunan, kami perlu memberi perhatian khusus kepada isu log masuk pengguna. Artikel ini akan memperkenalkan cara untuk menentukan sama ada log masuk pengguna dalam Uniapp telah tamat tempoh dan memberikan contoh kod yang berkaitan.

1. Apakah tamat tempoh log masuk pengguna

Tamat tempoh log masuk pengguna merujuk kepada situasi di mana pengguna tidak melakukan sebarang operasi dalam tempoh masa tertentu dan bukti kelayakan log masuk dikitar semula oleh pelayan . Ini adalah langkah yang diambil oleh sistem untuk memastikan keselamatan akaun pengguna. Dalam Uniapp, masalah tamat tempoh log masuk pengguna juga perlu diselesaikan, jika tidak, pengguna tidak akan dapat terus menggunakan aplikasi tersebut.

2. Penyelesaian untuk tamat tempoh log masuk pengguna dalam Uniapp

Dalam Uniapp, anda boleh menggunakan pemintas permintaan dan pemintas respons untuk menyelesaikan masalah tamat tempoh log masuk pengguna. Secara khusus, anda boleh menambah Token dalam pemintas permintaan untuk mengesahkan maklumat identiti pengguna dan menentukan sama ada Token telah tamat tempoh dalam pemintas respons.

  1. Pemintas permintaan

Pemintas permintaan boleh mendapatkan Token sebelum menghantar permintaan dan menambah Token pada Pengepala. Dengan cara ini, dalam permintaan seterusnya, pelayan boleh mengesahkan maklumat identiti pengguna melalui Token.

Mengambil Axios sebagai contoh, anda boleh menambah kod berikut dalam pemintas permintaan:

axios.interceptor.request.use(config => {
  // 从本地Storage获取Token
  const token = uni.getStorageSync('token')
  // 在Header中添加Token
  if (token) {
    config.headers.common['Authorization'] = token
  }
  return config
})
Salin selepas log masuk
  1. Pemintas respons

Pemintas respons boleh berada dalam Selepas pelayan mengembalikan keputusan, Token disahkan. Jika token tamat tempoh, anda perlu log masuk semula dan melompat ke halaman log masuk.

Mengambil Axios sebagai contoh, anda boleh menambah kod berikut pada pemintas respons:

axios.interceptor.response.use(response => {
  if (response.data.code === 401) {
    // Token过期,需要重新登录
    uni.showToast({
      title: '登录过期,请重新登录',
      icon: 'none'
    })
    uni.redirectTo({
      url: '/pages/login/login'
    })
  }
  return response
})
Salin selepas log masuk

Dalam contoh ini, pemintas respons akan menentukan kod hasil yang dikembalikan ialah 401, kemudian Lompat ke halaman log masuk.

3. Pemprosesan automatik tamat tempoh log masuk pengguna

Selain menambah Token secara manual, anda juga boleh mengendalikan isu tamat tempoh log masuk pengguna secara automatik melalui beberapa fungsi yang disediakan oleh rangka kerja Uniapp.

  1. Gunakan vuex

Vuex ialah alat pengurusan keadaan yang boleh menyimpan dan mendapatkan semula data dengan mudah dalam aplikasi. Dalam Uniapp, status log masuk pengguna boleh disimpan melalui Vuex. Dengan cara ini, di mana status pengguna perlu diperolehi, ia boleh diperolehi terus daripada Vuex.

const store = new Vuex.Store({
  state: {
    isLogin: false,
    user: {}
  },
  mutations: {
    login(state, user) {
      state.isLogin = true
      state.user = user
    },
    logout(state) {
      state.isLogin = false
      state.user = {}
    }
  },
  actions: {},
  modules: {},
  getters: {}
})
Salin selepas log masuk

Dalam contoh ini, melalui alat pengurusan keadaan Vuex, dua keadaan isLogin dan pengguna boleh disimpan untuk memudahkan panggilan di tempat lain.

  1. Pemalam dibangunkan menggunakan aplikasi Uni

Apl Uni, sebagai rangka kerja merentas platform, menyediakan banyak pemalam pembangunan yang kami perlukan. Antaranya, terdapat pemalam vuex-persistedstate yang sangat berguna, yang boleh menyimpan data Vuex dalam Storan tempatan.

import createPersistedState from 'vuex-persistedstate'

const store = new Vuex.Store({
  plugins: [
    createPersistedState({
      storage: uni.getStorageSync('vuex')
    })
  ]
})
Salin selepas log masuk

Dalam contoh ini, keadaan Vuex boleh disimpan dalam Storan tempatan melalui pemalam vuex-persistedstate. Dengan cara ini, apabila pengguna membuka semula apl, data masih dikekalkan.

4. Ringkasan

Dalam Uniapp, tamat tempoh log masuk pengguna adalah masalah yang sangat biasa. Dengan menggunakan kaedah pemintas permintaan dan pemintas tindak balas, serta sokongan pemalam Vuex dan vuex-persistedstate, kami boleh menyelesaikan masalah tamat tempoh log masuk pengguna dengan mudah. Pada masa yang sama, menyelesaikan masalah ini juga boleh meningkatkan keselamatan dan pengalaman pengguna aplikasi, jadi ia perlu diambil serius.

Atas ialah kandungan terperinci Bagaimanakah uniapp menentukan sama ada log masuk pengguna telah tamat tempoh?. 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.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Repo: Cara menghidupkan semula rakan sepasukan
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Cara mendapatkan biji gergasi
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

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)

Bagaimana saya mengendalikan storan tempatan di uni-app? Bagaimana saya mengendalikan storan tempatan di uni-app? Mar 11, 2025 pm 07:12 PM

Artikel ini memperincikan API penyimpanan tempatan Uni-App (uni.setstoragesync (), uni.getstoragesync (), dan rakan-rakan async mereka), menekankan amalan terbaik seperti menggunakan kekunci deskriptif, mengehadkan saiz data, dan mengendalikan parsing JSON. Ia menekankan bahawa lo

Cara menamakan semula fail muat turun uniapp Cara menamakan semula fail muat turun uniapp Mar 04, 2025 pm 03:43 PM

Artikel ini memperincikan penyelesaian untuk menamakan semula fail yang dimuat turun di UNIAPP, kekurangan sokongan API langsung. Android/IOS memerlukan plugin asli untuk penamaan semula pasca muat turun, manakala penyelesaian H5 terhad kepada mencadangkan nama fail. Proses ini melibatkan tempor

Cara Mengendalikan Pengekodan Fail Dengan Muat turun Uniapp Cara Mengendalikan Pengekodan Fail Dengan Muat turun Uniapp Mar 04, 2025 pm 03:32 PM

Artikel ini menangani isu pengekodan fail dalam muat turun Uniapp. Ia menekankan pentingnya pengepala jenis kandungan server dan menggunakan TextDecoder JavaScript untuk penyahkodan sisi klien berdasarkan tajuk ini. Penyelesaian untuk Prob Pengekodan Biasa

Bagaimana saya membuat permintaan API dan mengendalikan data dalam uni app? Bagaimana saya membuat permintaan API dan mengendalikan data dalam uni app? Mar 11, 2025 pm 07:09 PM

Butiran artikel ini membuat dan mendapatkan permintaan API dalam Uni-app menggunakan Uni.request atau Axios. Ia meliputi pengendalian tindak balas JSON, amalan keselamatan terbaik (HTTPS, pengesahan, pengesahan input), kegagalan penyelesaian masalah (isu rangkaian, kors, s

Bagaimana saya menggunakan API Geolocation Uni-App? Bagaimana saya menggunakan API Geolocation Uni-App? Mar 11, 2025 pm 07:14 PM

Artikel ini memperincikan API Geolocation Uni-App, yang memberi tumpuan kepada uni.getLocation (). Ia menangani perangkap biasa seperti sistem koordinat yang salah (GCJ02 vs WGS84) dan isu kebenaran. Meningkatkan ketepatan lokasi melalui bacaan dan pengendalian purata

Bagaimanakah saya menguruskan Negeri dalam Uni App menggunakan Vuex atau Pinia? Bagaimanakah saya menguruskan Negeri dalam Uni App menggunakan Vuex atau Pinia? Mar 11, 2025 pm 07:08 PM

Artikel ini membandingkan Vuex dan Pinia untuk pengurusan negeri di Uni-App. Ia memperincikan ciri -ciri, pelaksanaan, dan amalan terbaik mereka, menonjolkan kesederhanaan Pinia berbanding struktur Vuex. Pilihan bergantung pada kerumitan projek, dengan pinia sutia

Bagaimana saya menggunakan API perkongsian sosial Uni-app? Bagaimana saya menggunakan API perkongsian sosial Uni-app? Mar 13, 2025 pm 06:30 PM

Artikel ini memperincikan bagaimana untuk mengintegrasikan perkongsian sosial ke dalam projek Uni-app menggunakan API Uni.share, meliputi persediaan, konfigurasi, dan ujian di seluruh platform seperti WeChat dan Weibo.

Bagaimanakah saya menggunakan ciri Easycom Uni-App untuk pendaftaran komponen automatik? Bagaimanakah saya menggunakan ciri Easycom Uni-App untuk pendaftaran komponen automatik? Mar 11, 2025 pm 07:11 PM

Artikel ini menerangkan ciri Easycom UNI-APP, mengautomasikan pendaftaran komponen. Ia memperincikan konfigurasi, termasuk pemetaan komponen autoscan dan adat, menonjolkan faedah seperti dikurangkan boilerplate, kelajuan yang lebih baik, dan kebolehbacaan yang dipertingkatkan.

See all articles