Rumah  >  Artikel  >  hujung hadapan web  >  Mari kita bincangkan tentang cara untuk log keluar dalam uniapp

Mari kita bincangkan tentang cara untuk log keluar dalam uniapp

PHPz
PHPzasal
2023-04-14 15:42:502418semak imbas

UniApp ialah rangka kerja pembangunan merentas platform yang boleh digunakan untuk membina aplikasi untuk berbilang platform seperti iOS, Android, H5, dll. Apabila pembangun menggunakan UniApp untuk membangunkan aplikasi, mereka mungkin menghadapi situasi di mana mereka perlu log keluar. Artikel ini akan memperkenalkan cara untuk log keluar dalam UniApp.

  1. Kosongkan storan setempat

Apabila log keluar, cara paling mudah ialah mengosongkan storan setempat, untuk mengelakkan pengguna daripada kembali ke keadaan sebelumnya semasa membuka apl sekali lagi selepas log keluar. Untuk mengosongkan storan setempat, gunakan kaedah uni.removeStorageSync(key). Antaranya, kunci mewakili nilai kunci yang disimpan secara tempatan yang perlu dikosongkan.

Contohnya:

uni.removeStorageSync('token');

Ini akan mengosongkan nilai kunci bernama "token" dalam storan setempat.

  1. Panggil antara muka hujung belakang

Apabila log keluar, selain mengosongkan storan setempat, anda juga boleh menghubungi antara muka hujung belakang untuk membenarkan pelayan hujung belakang mengosongkan pengguna semasa status log masuk. Apabila memanggil antara muka latar belakang, nilai token pengguna perlu dihantar ke pelayan supaya pelayan boleh mengenal pasti pengguna semasa.

Contohnya:

uni.request({
  url: 'http://localhost:3000/logout',
  method: 'POST',
  data: {
    token: uni.getStorageSync('token')
  },
  success: (res) => {
    // 请求成功,清除本地存储中的 token 值
    uni.removeStorageSync('token');
  }
});

Dalam kod ini, permintaan dihantar ke pelayan bahagian belakang melalui kaedah uni.request dan nilai token pengguna semasa dihantar ke pelayan . Jika permintaan itu berjaya, kosongkan nilai token dalam storan setempat.

  1. Menggunakan pemalam

Selain mengosongkan storan setempat dan memanggil antara muka latar belakang secara manual, UniApp juga menyediakan pemalam khusus untuk melaksanakan fungsi log keluar. Contohnya, pemalam uni-simple-router.

Melalui pemalam ini, anda boleh mencapai:

import {UniSimpleRouter} from 'uni-simple-router';
const router = new UniSimpleRouter({
  routes,
  login: {
    path: '/pages/login/login'
  },
  forbidNamed: ['index']
});

router.beforeEach((to, from, next) => {
  if (to.allowAnonymous === undefined) { // 不是通过 allowAnonymous 允许的匿名则判断登录状态
    const isLogin = uni.getStorageSync('isLogin');
    if (!isLogin) { // 如果未登录
      uni.removeStorageSync('token'); // 清除 token
      if (router.LOGIN_PAGE_NAME) { // 如果有指定的登录页面,则跳转到该页面
        router.push({name: router.LOGIN_PAGE_NAME});
      } else if (router.options.login) { // 如果有指定的全局登录页面,则跳转到该页面
        router.push({path: router.options.login.path});
      } else { // 否则跳转到默认登录页面
        router.push({name: 'login'});
      }
      next(false);
    } else { // 如果已登录,则继续执行
      next();
    }
  } else { // 如果是通过 allowAnonymous 允许的匿名,则直接执行
    next();
  }
});

export default router;

Dalam kod ini, gunakan pemalam uni-simple-router untuk log keluar nilai token dan kemudian lompat ke halaman yang ditentukan dan log masuk semula.

Ringkasan

Tiga kaedah di atas semuanya boleh merealisasikan fungsi log keluar dalam UniApp Menggunakan pemalam adalah lebih mudah, tetapi ia memerlukan muat turun dan konfigurasi pemalam untuk mencapainya. mengosongkan storan tempatan dan memanggil bahagian belakang Antara muka memerlukan pemprosesan manual dan sesuai untuk aplikasi kecil umum. Tidak kira kaedah yang digunakan, status log masuk perlu dikosongkan untuk mengelakkan pengguna daripada kembali kepada status log masuk sebelumnya apabila membuka aplikasi semula selepas log keluar.

Atas ialah kandungan terperinci Mari kita bincangkan tentang cara untuk log keluar dalam uniapp. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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