Table des matières
Pile technologique
Processus général
Maison interface Web js tutoriel Vue.js écrit un exemple de page de connexion SPA

Vue.js écrit un exemple de page de connexion SPA

Jun 23, 2017 am 10:55 AM
javascript vue.js 登录 processus

Pile technologique

  • framework principal vue.js

  • gestion de l'état vuex

  • vue -gestion du routage du routeur

Processus général

Dans le processus général de connexion, une solution frontale est :

  1. vérifier Statut : Vérifiez s'il y a un statut de connexion lors de l'entrée sur la page ou lorsque l'itinéraire change (la valeur enregistrée dans cookie ou 本地存储) ; les informations de connexion (uid, avatar, etc...) et enregistrez-les sinon, accédez à la page de connexion

  2. Sur la page de connexion (ou la boîte de connexion), vérifiez si les informations saisies par l'utilisateur sont légales ;

  3. Envoyer une demande de connexion une fois la vérification réussie ; si la vérification échoue, elle sera renvoyée à l'utilisateur

  4. Si la connexion réussit, elle sera supprimée des données back-end

    Les informations enregistrent l'état de connexion (il faudra peut-être sauter si la connexion échoue, l'utilisateur le fera) ; être invité à échouer ;
  5. sessionLe statut de connexion sera supprimé lorsque l'utilisateur effectuera une opération de déconnexion.

  6. Ci-dessous, j'analyserai comment implémenter le code un par un selon les étapes répertoriées, le tout dans le code, avec des commentaires plus détaillés pour aider à comprendre le code.

  7. Avant cela, on suppose que l'itinéraire de la page de connexion est
et l'itinéraire après la connexion est

. De cette façon, il vous suffit de placer

dans

pour stocker et restituer ces deux itinéraires. /login/user_infoApp.vueEt faites la router-view configuration :

// component/App.vue
<template><div class="container" id="app">  <transition name="fade"><keep-alive>      <router-view></router-view></keep-alive>  </transition></div></template>
...
Copier après la connexion

Vérifiez l'état et sautezvue-router

Nous devons vérifier l'état à deux reprises :
// js/app.jsimport Vue from &#39;vue&#39;import VueRouter from &#39;vue-router&#39;import Login from &#39;../component/Login.vue&#39;import UserInfo from &#39;../component/UserInfo.vue&#39;

Vue.use(VueRouter);const router = new VueRouter({  routes: [{path: &#39;/login&#39;,component: Login
  }, {path: &#39;/user_info&#39;,component: UserInfo
  }]
})
...
Copier après la connexion
1 . Lorsque l'utilisateur ouvre la page ;

2. Lorsque le routage change

Tout d'abord, vous devez écrire une méthode pour vérifier l'état de connexion  :

Afin d'améliorer l'expérience utilisateur, lorsque l'utilisateur ouvre la page, le front-end doit vérifier s'il s'est connecté et ne demande pas à l'utilisateur de se reconnecter. Cette implémentation est très simple. Nous l'avons écrite dans le crochet checkLogin de

 :
// js/app.js
...
var app = new Vue({  data: {},  el: &#39;#app&#39;,  render: h => h(App),
  router,
  store,  methods:{
    checkLogin(){      //检查是否存在session      //cookie操作方法在源码里有或者参考网上的即可      if(!this.getCookie(&#39;session&#39;)){//如果没有登录状态则跳转到登录页this.$router.push(&#39;/login&#39;);
      }else{//否则跳转到登录后的页面this.$router.push(&#39;/user_info&#39;);
      }
    }
  }
})
Copier après la connexion

vue实例 De plus, nous devons également vérifier la connexion lorsque created change. changement de routage), si nous ne le faisons pas. Une erreur peut survenir lors de la vérification de l'état de connexion :

// js/app.js
...
var app = new Vue({
  ...
  created() {this.checkLogin();
  },  methods:{
    checkLogin(){
     ...
    }
  }
})
Copier après la connexion

路由L'utilisateur est connecté en entrant dans la page, mais la connexion a expiré lors de l'opération ;

  • L'utilisateur a supprimé manuellement

    /
  • et a effectué l'opération
  • cookie本地storageL'utilisateur a saisi manuellement (ou a saisi à partir des favoris ; ) un itinéraire qui nécessitait une connexion sans se connecter.

  • L'utilisateur entre dans l'itinéraire de la page de connexion lorsqu'il est connecté

  • Ce sont des raisons suffisantes pour nous pour surveiller l'itinéraire. Si elle est mise en œuvre, nous pouvons l'utiliser

    avec la fonction
  •  :

vueÀ ce stade, nous avons terminé la première étape de watch. Ensuite, mettez en œuvre comment obtenir les informations personnelles des utilisateurs.

// js/app.js
...
var app = new Vue({
  ...  //监听路由检查登录
  watch:{"$route" : &#39;checkLogin&#39;
  },  //进入页面时
  created() {this.checkLogin();
  },  methods:{
    checkLogin(){
     ...
    }
  }
})
Copier après la connexion
Obtenir des informations utilisateur

一般过程Après une connexion réussie, nous devons généralement afficher certaines informations utilisateur depuis le backend, telles que le pseudo, l'avatar, le niveau, etc... L'obtenir est très simple, envoyez les requêtes http sont extraites du backend ; mais généralement, ces informations seront utilisées dans plusieurs routes (par exemple, l'uid doit généralement être transporté comme paramètre dans chaque interface backend), elles doivent donc être enregistrées dans l'état global (

) :

Bien sûr, nous devons le configurer avant, par exemple l'écrire dans vuex ou l'écrire séparément comme

et l'introduire dans
// component/App.vue
...
<script>export default {
  ...
  mounted(){//组件开始挂载时获取用户信息this.getUserInfo();
  },  methods: {//请求用户的一些信息
    getUserInfo(){      this.userInfo = {nick: &#39;Doterlin&#39;,ulevel: 20,uid: &#39;10000&#39;,portrait: &#39;images/profile.png&#39;
      }      //获取信息请求
      ts.$http.get(url, {//参数"params": this.userInfo
      }).then((response) => {//Successif(response.data.code == 0){          this.$store.commit(&#39;updateUserInfo&#39;, this.userInfo); 
        }
      }, (response) => {//Error
      });

    }
  }
}
</script>
...
Copier après la connexion
(recommandé) :

app.jsstore.js saisie Vérifier et envoyer les demandes de connexion app.js

Afin d'éviter que certains caractères inattendus et demandes trop fréquentes soient transmises en arrière-plan, le front-end doit vérifier la saisie de l'utilisateur et éviter les demandes répétées . Bien entendu, les caractères légaux des différents sites Web sont différents. Ici, nous vérifions uniquement les caractères illégaux lorsque
// js/app.js// Vuex配置
...
const store = new Vuex.Store({  state: {domain:&#39;http://test.example.com&#39;, //保存后台请求的地址,修改时方便(比方说从测试服改成正式服域名)
    userInfo: { //保存用户信息
      nick: null,      ulevel: null,      uid: null,      portrait: null
    }
  },  mutations: {//更新用户信息
    updateUserInfo(state, newUserInfo) {
      state.userInfo = newUserInfo;
    }
  }
})
...
Copier après la connexion
est utilisé :

Le 为空 voici la méthode de demande de connexion, et le mot de passe est. envoyé au backend dans

Il n'est pas envoyé directement. Il est généralement crypté selon les règles définies par le backend avant l'envoi, comme
//component/Login.vue
<template><div class="login" id="login">
   ...<div class="log-email"><input type="text" placeholder="Email" :class="&#39;log-input&#39; + (account==&#39;&#39;?&#39; log-input-empty&#39;:&#39;&#39;)" v-model="account"><input type="password" placeholder="Password" :class="&#39;log-input&#39; + (password==&#39;&#39;?&#39; log-input-empty&#39;:&#39;&#39;)"  v-model="password"><a href="javascript:;" class="log-btn" @click="login">Login</a></div>
    ...</div></template><script>import Loading from &#39;./Loading.vue&#39;export default {  name: &#39;Login&#39;,
  data(){      return {          isLoging: false,          account: &#39;&#39;,          password: &#39;&#39;
      }
  },  components:{
    Loading
  },  methods:{      //登录逻辑
      login(){          if(this.account!=&#39;&#39; && this.password!=&#39;&#39;){              this.toLogin();
          }
      }

}</script>
...
Copier après la connexion
L'exemple utilise un cryptage à double hachage et des guillemets

. est la suivante : this.toLoginpost哈希算法Cela termine les étapes 3, 4 et 5. La dernière étape consiste à vous déconnecter. js/sha1.min.js

Déconnexion
...      //登录请求
      toLogin(){          //一般要跟后端了解密码的加密规则          //这里例子用的哈希算法来自./js/sha1.min.js          let password_sha = hex_sha1(hex_sha1( this.password ));          //需要想后端发送的登录参数          let loginParam = {              account: this.account,
              password_sha
          }          //设置在登录状态          this.isLoging = true;          //请求后端          this.$http.post( &#39;example.com/login.php&#39;, {          param: loginParam).then((response) => {if(response.data.code == 1){              //如果登录成功则保存登录状态并设置有效期              let expireDays = 1000 * 60 * 60 * 24 * 15;              this.setCookie(&#39;session&#39;, response.data.session, expireDays);              //跳转              this.$router.push(&#39;/user_info&#39;); 
            }
          }, (response) => {//Error
          });

...
Copier après la connexion

Lors de la déconnexion, certains doivent demander le backend et d'autres non. L'essentiel est de supprimer le statut de connexion enregistré :

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!

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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Que dois-je faire si je télécharge les fonds d'écran d'autres personnes après m'être connecté à un autre compte sur WallpaperEngine ? Que dois-je faire si je télécharge les fonds d'écran d'autres personnes après m'être connecté à un autre compte sur WallpaperEngine ? Mar 19, 2024 pm 02:00 PM

Lorsque vous vous connectez au compte Steam de quelqu'un d'autre sur votre ordinateur et que le compte de cette autre personne dispose d'un logiciel de fond d'écran, Steam téléchargera automatiquement les fonds d'écran abonnés au compte de l'autre personne après être revenu à votre propre compte. Les utilisateurs peuvent résoudre ce problème en. désactiver la synchronisation du cloud Steam. Que faire si WallpaperEngine télécharge les fonds d'écran d'autres personnes après s'être connecté à un autre compte 1. Connectez-vous à votre propre compte Steam, recherchez la synchronisation cloud dans les paramètres et désactivez la synchronisation cloud Steam. 2. Connectez-vous au compte Steam de quelqu'un d'autre auquel vous vous êtes connecté auparavant, ouvrez Wallpaper Creative Workshop, recherchez le contenu de l'abonnement, puis annulez tous les abonnements. (Si vous ne trouvez pas le fond d'écran à l'avenir, vous pouvez d'abord le récupérer, puis annuler l'abonnement) 3. Revenez à votre propre Steam

Comment puis-je me connecter à mon ancien compte sur Xiaohongshu ? Que dois-je faire si le numéro d'origine est perdu après sa reconnexion ? Comment puis-je me connecter à mon ancien compte sur Xiaohongshu ? Que dois-je faire si le numéro d'origine est perdu après sa reconnexion ? Mar 21, 2024 pm 09:41 PM

Avec le développement rapide des médias sociaux, Xiaohongshu est devenue une plateforme populaire permettant à de nombreux jeunes de partager leur vie et d'explorer de nouveaux produits. Pendant l'utilisation, les utilisateurs peuvent parfois rencontrer des difficultés pour se connecter aux comptes précédents. Cet article expliquera en détail comment résoudre le problème de connexion à l'ancien compte sur Xiaohongshu et comment gérer la possibilité de perdre le compte d'origine après avoir modifié la liaison. 1. Comment se connecter au compte précédent de Xiaohongshu ? 1. Récupérez le mot de passe et connectez-vous. Si vous ne vous connectez pas à Xiaohongshu pendant une longue période, votre compte peut être recyclé par le système. Afin de restaurer les droits d'accès, vous pouvez tenter de vous reconnecter à votre compte en récupérant votre mot de passe. Les étapes de fonctionnement sont les suivantes : (1) Ouvrez l'application Xiaohongshu ou le site officiel et cliquez sur le bouton « Connexion ». (2) Sélectionnez « Récupérer le mot de passe ». (3) Entrez le numéro de téléphone mobile que vous avez utilisé lors de l'enregistrement de votre compte

La solution au problème de connexion en arrière-plan Discuz révélée La solution au problème de connexion en arrière-plan Discuz révélée Mar 03, 2024 am 08:57 AM

La solution au problème de connexion en arrière-plan de Discuz est révélée. Des exemples de code spécifiques sont nécessaires Avec le développement rapide d'Internet, la construction de sites Web est devenue de plus en plus courante, et Discuz, en tant que système de création de sites Web de forum couramment utilisé, a été favorisé par. de nombreux webmasters. Cependant, précisément en raison de ses fonctions puissantes, nous rencontrons parfois des problèmes lors de l'utilisation de Discuz, comme des problèmes de connexion en arrière-plan. Aujourd'hui, nous allons révéler la solution au problème de connexion en arrière-plan de Discuz et fournir des exemples de code spécifiques. Nous espérons aider ceux qui en ont besoin.

Comment se connecter à la version PC de Kuaishou - Comment se connecter à la version PC de Kuaishou Comment se connecter à la version PC de Kuaishou - Comment se connecter à la version PC de Kuaishou Mar 04, 2024 pm 03:30 PM

Récemment, certains amis m'ont demandé comment se connecter à la version informatique de Kuaishou. Voici la méthode de connexion pour la version informatique de Kuaishou. Les amis dans le besoin peuvent venir en savoir plus. Étape 1 : Tout d’abord, recherchez le site officiel de Kuaishou sur Baidu dans le navigateur de votre ordinateur. Étape 2 : Sélectionnez le premier élément dans la liste des résultats de recherche. Étape 3 : Après avoir accédé à la page principale du site officiel de Kuaishou, cliquez sur l'option vidéo. Étape 4 : Cliquez sur l'avatar de l'utilisateur dans le coin supérieur droit. Étape 5 : Cliquez sur le code QR pour vous connecter dans le menu de connexion contextuel. Étape 6 : Ouvrez ensuite Kuaishou sur votre téléphone et cliquez sur l'icône dans le coin supérieur gauche. Étape 7 : Cliquez sur le logo du code QR. Étape 8 : Après avoir cliqué sur l'icône de numérisation dans le coin supérieur droit de l'interface Mon code QR, scannez le code QR sur votre ordinateur. Étape 9 : Connectez-vous enfin à la version informatique de Kuaishou

Comment se connecter à deux appareils sur Quark Comment se connecter à deux appareils sur Quark Feb 23, 2024 pm 10:55 PM

Comment se connecter à deux appareils avec Quark ? Quark Browser prend en charge la connexion à deux appareils en même temps, mais la plupart des amis ne savent pas comment se connecter à deux appareils avec Quark Browser. Ensuite, l'éditeur amène les utilisateurs de Quark à se connecter. à deux appareils. Méthode tutoriels graphiques, les utilisateurs intéressés viennent y jeter un oeil ! Didacticiel d'utilisation de Quark Browser Quark comment se connecter à deux appareils 1. Ouvrez d'abord l'application Quark Browser et cliquez sur [Quark Network Disk] sur la page principale. 2. Accédez ensuite à l'interface Quark Network Disk et sélectionnez la fonction de service [Ma sauvegarde] ; ; 3. Enfin, sélectionnez [Changer de périphérique] pour vous connecter à deux nouveaux appareils.

Comment accéder à la version Web de Baidu Netdisk ? Entrée de connexion à la version Web de Baidu Netdisk Comment accéder à la version Web de Baidu Netdisk ? Entrée de connexion à la version Web de Baidu Netdisk Mar 13, 2024 pm 04:58 PM

Baidu Netdisk peut non seulement stocker diverses ressources logicielles, mais également les partager avec d'autres. Il prend en charge la synchronisation multi-terminal. Si aucun client n'est téléchargé sur votre ordinateur, vous pouvez choisir d'accéder à la version Web. Alors, comment se connecter à la version Web de Baidu Netdisk ? Jetons un coup d’œil à l’introduction détaillée. Entrée de connexion à la version Web de Baidu Netdisk : https://pan.baidu.com (copiez le lien vers le navigateur pour l'ouvrir) Introduction au logiciel 1. Partage Fournit une fonction de partage de fichiers, les utilisateurs peuvent organiser des fichiers et les partager avec des amis dans le besoin. 2. Cloud : il ne prend pas trop de mémoire. La plupart des fichiers sont enregistrés dans le cloud, ce qui permet d'économiser efficacement de l'espace informatique. 3. Album photo : prend en charge la fonction d'album photo cloud, importe des photos sur le disque cloud, puis les organise pour que tout le monde puisse les voir.​

Comment se connecter si Xiaohongshu se souvient uniquement du compte ? Je me souviens juste comment récupérer mon compte ? Comment se connecter si Xiaohongshu se souvient uniquement du compte ? Je me souviens juste comment récupérer mon compte ? Mar 23, 2024 pm 05:31 PM

Xiaohongshu est désormais intégré dans la vie quotidienne de nombreuses personnes, et son contenu riche et ses méthodes de fonctionnement pratiques en font profiter les utilisateurs. Parfois, nous pouvons oublier le mot de passe du compte. Il est vraiment ennuyeux de se souvenir uniquement du compte sans pouvoir se connecter. 1. Comment se connecter si Xiaohongshu se souvient uniquement du compte ? Lorsque nous oublions notre mot de passe, nous pouvons nous connecter à Xiaohongshu via le code de vérification sur notre téléphone mobile. Les opérations spécifiques sont les suivantes : 1. Ouvrez l'application Xiaohongshu ou la version Web de Xiaohongshu ; 2. Cliquez sur le bouton « Connexion » et sélectionnez « Connexion au compte et au mot de passe » 3. Cliquez sur le bouton « Mot de passe oublié ? . Entrez votre numéro de compte. Cliquez sur « Suivant » ; 5. Le système enverra un code de vérification sur votre téléphone mobile, entrez le code de vérification et cliquez sur « OK » ; 6. Définissez un nouveau mot de passe et confirmez. Vous pouvez également utiliser un compte tiers (tel que

115 Entrée de connexion à la version Web de Netdisk 115 Entrée de connexion à la version Web de Netdisk Feb 23, 2024 pm 02:04 PM

115 Netdisk est un netdisk qui peut stocker de nombreuses ressources, alors quelle est l'entrée de connexion pour la version Web de 115 Netdisk. Les utilisateurs doivent saisir l'URL https://115.com pour accéder au Netdisk, et ils peuvent l'utiliser après s'être connectés ? . Ce dernier partage d'entrée de connexion à la version Web 115 Netdisk peut vous indiquer comment utiliser cette fonction, alors jetez-y un œil. 115 Partage de site Web du portail de connexion de la version Web de Netdisk : https://115.com Introduction détaillée : 1. Tout d'abord, vous devez choisir un moyen de vous connecter à Netdisk. 2. Vous pouvez voir le fichier téléchargé dans le coin supérieur droit. 3. Vous pouvez créer un nouveau dossier ici et basculer entre différents modes. 4. Vous pouvez ajouter différentes balises au fichier. 5. Les messages privés des utilisateurs peuvent être consultés sur le site Web.

See all articles