首頁 web前端 uni-app uniapp如何保持登入狀態

uniapp如何保持登入狀態

Apr 27, 2023 am 09:03 AM

Uniapp如何保持登入狀態

Uniapp是一個基於Vue.js的跨平台開發框架,可以用它來開發iOS、Android、H5等多平台應用程式。在開發實際專案中,面對登入、登出、資料互動等問題,如何保持登入狀態一直是個困難。下面,我們將從幾個方面來介紹Uniapp如何保持登入狀態。

  1. 登入和儲存認證資訊

在實際開發中,我們需要先進行登入操作,然後才能進行其他操作。在使用者登入時,伺服器會傳回認證資訊(如token)給客戶端,客戶端收到認證資訊後,需要將其儲存起來,以便後續的資料互動操作。 Uniapp提供了儲存認證資訊的方法,可將其儲存在uni-storage或uni-app全域物件中。

uni.setStorageSync('token', res.data.token);  // uni-storage儲存
uni.$app.globalData.token = res.data.token;   // uni-app全域物件儲存

  1. 自動登入

在使用者關閉應用程式後再開啟應用程式時,我們希望能夠自動登錄,而不需要每次都手動登入。為了實現自動登錄,我們可以在應用程式開啟時進行認證判斷,判斷是否已登錄,如果已登入則進入主頁面,否則進入登入頁面。以下是範例程式碼:

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'
    });
}
登入後複製

}

  1. 攔截器

攔截器(interceptor)可以用於請求過程的處理,如過濾、重定向等。我們可以使用攔截器來判斷目前請求的介面是否需要登入認證,如果需要,則判斷是否已經登錄,如果已經登入則新增認證訊息,否則跳到登入頁面。

以下是攔截器的範例程式碼:

// 在請求之前新增攔截器
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;
}
登入後複製

});

  1. 退出登入

當使用者登出登入時,我們需要清除儲存在客戶端的認證資訊。

uni.removeStorageSync('token');  // uni-storage清除
uni.$app.globalData.token = null;   // uni-app全域物件清除

以上就是Uniapp如何保持登入狀態的方法。透過規範的登入和認證方式、自動登入、攔截器和登出等手段來維持登入狀態,可以為應用程式的安全性和使用者體驗提供保障。

以上是uniapp如何保持登入狀態的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1664
14
CakePHP 教程
1423
52
Laravel 教程
1317
25
PHP教程
1268
29
C# 教程
1246
24