Maison> interface Web> uni-app> le corps du texte

Comment rester connecté à Uniapp

PHPz
Libérer: 2023-04-27 09:34:45
original
2392 Les gens l'ont consulté

Comment rester connecté avec Uniapp

Uniapp est un framework de développement multiplateforme basé sur Vue.js, qui peut être utilisé pour développer des applications multiplateformes telles que iOS, Android et H5. Dans le développement de projets réels, comment conserver le statut de connexion a toujours été une difficulté face à des problèmes tels que la connexion, la déconnexion et l'interaction des données. Ci-dessous, nous présenterons comment Uniapp maintient le statut de connexion sous plusieurs aspects.

  1. Connexion et stockage des informations d'authentification

Dans le développement réel, nous devons d'abord nous connecter avant de pouvoir effectuer d'autres opérations. Lorsque l'utilisateur se connecte, le serveur renvoie les informations d'authentification (telles que le jeton) au client. Une fois que le client a reçu les informations d'authentification, il doit les stocker pour les opérations d'interaction de données ultérieures. Uniapp fournit des méthodes de stockage des informations d'authentification, qui peuvent être stockées dans des objets globaux uni-storage ou uni-app.

uni.setStorageSync('token', res.data.token); // Stockage uni-storage
uni.$app.globalData.token = res.data.token; // Stockage d'objets global uni-app

  1. Connexion automatique

Nous voulons pouvoir se connecter automatiquement lorsque l'utilisateur ferme l'application puis la rouvre, sans avoir à se connecter manuellement à chaque fois. Afin d'obtenir une connexion automatique, nous pouvons effectuer un jugement d'authentification à l'ouverture de l'application pour déterminer si vous êtes connecté. Si vous êtes déjà connecté, accédez à la page principale, sinon accédez à la page de connexion. Voici un exemple de code :

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' }); }
Copier après la connexion

}

  1. Interceptor

Interceptor peut être utilisé pour traiter le processus de demande, tel que le filtrage, la redirection, etc. Nous pouvons utiliser un intercepteur pour déterminer si l'interface actuellement demandée nécessite une authentification de connexion. Si tel est le cas, déterminez si vous êtes déjà connecté. Si vous êtes déjà connecté, ajoutez des informations d'authentification, sinon passez à la page de connexion.

Voici un exemple de code pour l'intercepteur :

//Ajouter l'intercepteur avant la requête
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; }
Copier après la connexion

});

  1. Déconnexion

Lorsque l'utilisateur se déconnecte, nous devons effacez les informations d’authentification de stockage côté client.

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

Résumé

Ce qui précède explique comment Uniapp reste connecté méthode. Le maintien du statut de connexion grâce à des méthodes de connexion et d'authentification standardisées, une connexion automatique, des intercepteurs et une déconnexion peuvent fournir des garanties pour la sécurité des applications et l'expérience utilisateur.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!