Rumah hujung hadapan web uni-app Bagaimana untuk kekal log masuk dalam uniapp

Bagaimana untuk kekal log masuk dalam uniapp

Apr 27, 2023 am 09:03 AM

Cara mengekalkan status log masuk dalam Uniapp

Uniapp ialah rangka kerja pembangunan merentas platform berdasarkan Vue.js, yang boleh digunakan untuk membangunkan aplikasi berbilang platform seperti iOS, Android dan H5. Dalam pembangunan projek sebenar, menghadapi isu seperti log masuk, log keluar dan interaksi data, cara mengekalkan status log masuk sentiasa menjadi kesukaran. Di bawah, kami akan memperkenalkan cara Uniapp mengekalkan status log masuk dari beberapa aspek.

  1. Log masuk dan simpan maklumat pengesahan

Dalam pembangunan sebenar, kita perlu log masuk dahulu sebelum kita boleh melakukan operasi lain. Apabila pengguna log masuk, pelayan akan mengembalikan maklumat pengesahan (seperti token) kepada klien Selepas klien menerima maklumat pengesahan, ia perlu menyimpannya untuk operasi interaksi data seterusnya. Uniapp menyediakan kaedah untuk menyimpan maklumat pengesahan, yang boleh disimpan dalam objek global uni-storage atau uni-app.

uni.setStorageSync('token', res.data.token); // storan uni-storage
uni.$app.globalData.token = res.data.token; Storan Objek Global

  1. Log Masuk Automatik

Apabila pengguna menutup apl dan kemudian membuka apl semula, kami mahu boleh log masuk secara automatik tanpa perlu log masuk secara manual setiap masa. Untuk mencapai log masuk automatik, kami boleh melakukan pertimbangan pengesahan apabila aplikasi dibuka untuk menentukan sama ada anda telah log masuk. Jika anda telah log masuk, pergi ke halaman utama, jika tidak pergi ke halaman log masuk. Berikut ialah contoh kod:

async onLaunch() {

const token = uni.getStorageSync('token');
if (token) {
    // 已经登录,获取用户信息,进入主页面
    try {
        const userInfo = await getUserInfo(token);
        store.commit('setUserInfo', userInfo);
        uni.switchTab({
            url: '/pages/home/home'
        });
    } catch (e) {
        console.log(e);
    }
} else {
    // 未登录,进入登录页面
    uni.reLaunch({
        url: '/pages/login/login'
    });
}
Salin selepas log masuk

}

  1. Pemintas

Pemintas (pemintas) boleh Digunakan untuk pemprosesan permintaan, seperti penapisan, pengalihan, dsb. Kami boleh menggunakan pemintas untuk menentukan sama ada antara muka yang diminta pada masa ini memerlukan pengesahan log masuk. Jika ya, tentukan sama ada anda telah log masuk. Jika anda telah log masuk, tambah maklumat pengesahan, jika tidak, lompat ke halaman log masuk.

Berikut ialah contoh kod untuk pemintas:

// Tambah pemintas sebelum permintaan
uni.addInterceptor({

// 请求前拦截
invoke(request) {
    const token = uni.getStorageSync('token');
    // 判断接口是否需要登录认证
    if (request.header.Authorization === 'Bearer ${token}') {
        // 已经登录,添加认证信息
        request.header.Authorization = 'Bearer ${token}';
    } else {
        // 未登录,跳转到登录页面
        uni.navigateTo({
            url: '/pages/login/login'
        });
    }
    // 继续请求
    return request;
},
// 响应后拦截
intercept(response, request) {
    // 处理响应结果
    return response;
}
Salin selepas log masuk

});

  1. Log keluar

Apabila pengguna log keluar, kami perlu mengosongkan maklumat pengesahan yang disimpan pada klien.

uni.removeStorageSync('token'); // uni-storage clear
uni.$app.globalData.token = null; // uni-app global object clear

Ringkasan

Di atas ialah cara Uniapp kekal log masuk. Mengekalkan status log masuk melalui kaedah log masuk dan pengesahan piawai, log masuk automatik, pemintas dan log keluar boleh memberikan jaminan untuk keselamatan aplikasi dan pengalaman pengguna.

Atas ialah kandungan terperinci Bagaimana untuk kekal 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.

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

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.

See all articles