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