Table des matières
Aller vers un site Web tiers
接收返回参数
Maison interface Web Questions et réponses frontales vue accède au site Web tiers et renvoie les paramètres après la connexion

vue accède au site Web tiers et renvoie les paramètres après la connexion

May 24, 2023 am 09:23 AM

Vue.js est actuellement l'un des frameworks les plus populaires en matière de développement front-end, offrant un moyen simple et efficace de créer des interfaces utilisateur interactives. Lors du développement d'applications Web, vous devez souvent interagir avec des sites Web tiers, tels que la connexion autorisée OAuth2, le paiement Alipay, etc. Ces opérations seront redirigées vers le site Web tiers, puis reviendront à l'application d'origine une fois l'opération terminée. Cet article explique comment accéder à un site Web tiers pour se connecter dans Vue et le gérer en conséquence lors du renvoi des paramètres.

Aller vers un site Web tiers

Tout d'abord, nous devons introduire un lien vers un site Web tiers dans Vue. Généralement, ce lien aura certains paramètres, tels que redirect_uri, client_id, etc. utilisés pour identifier l'application et l'URI de redirection. Supposons que nous voulions accéder à http://example.com/login, nous devons utiliser la balise <a> pour construire un lien : redirect_uriclient_id 等用于标识应用程序和重定向 URI 的参数。假设我们希望跳转到 http://example.com/login,我们需要使用 <a> 标签构造一个链接:

<template>
  <div>
    <a href="http://example.com/login?redirect_uri={{redirect_uri}}&client_id={{client_id}}">
      跳转到第三方网站
    </a>
  </div>
</template>
Copier après la connexion

在这个链接中,我们使用了 Vue 模板语法插入了两个参数 redirect_uriclient_id。这些参数需要事先定义并传入组件中。

接收返回参数

当用户完成第三方网站上的操作后,会被重定向回我们的应用程序。在这个过程中,第三方网站会在重定向链接的查询字符串中添加一些参数,例如 codestate 等。我们需要提取并处理这些参数,以完成后续的操作。

在 Vue 中处理查询字符串可以使用 vue-routerQuery 对象,它会自动提取 URL 查询参数,并将它们作为对象暴露给我们。假设我们在路由中定义了以下路由:

import VueRouter from 'vue-router';
import LoginCallback from './components/LoginCallback.vue';

const router = new VueRouter({
  routes: [
    {
      path: '/login/callback',
      component: LoginCallback
    }
  ]
});
Copier après la connexion

我们可以在 LoginCallback 组件中通过 $route.query 来获取返回参数:

<template>
  <div>
    <p v-if="code">授权码: {{code}}</p>
    <p v-if="state">状态码: {{state}}</p>
  </div>
</template>

<script>
export default {
  name: 'LoginCallback',
  data() {
    return {
      code: this.$route.query.code,
      state: this.$route.query.state
    }
  }
}
</script>
Copier après la connexion

在这个示例中,我们通过 data 方法将 $route.query 中的 codestate 属性挂载到组件的实例上,并在模板中使用了 v-if 来根据参数是否存在来控制显示。如果参数存在,我们会显示相应的值;如果参数不存在,那么不会显示任何内容。

在实际开发中,我们可能还需要进行一些额外的操作,比如将授权码提交给服务器进行验证、根据参数中的状态码来判断操作是否成功等。这些操作可以在组件的生命周期钩子函数中完成。例如,在 created 钩子函数中,我们可以使用 axios 库将授权码提交给服务器:

<script>
  import axios from 'axios';

  export default {
    name: 'LoginCallback',
    created() {
      if (this.code) {
        axios.post('/oauth/token', {
          grant_type: 'authorization_code',
          code: this.code,
          redirect_uri: 'http://localhost:8080/login/callback',
          client_id: 'my_client_id',
          client_secret: 'my_client_secret'
        }).then(response => {
          console.log(response.data);
        }).catch(error => {
          console.log(error);
        });
      }
    },
    data() {
      return {
        code: this.$route.query.code,
        state: this.$route.query.state
      }
    }
  }
</script>
Copier après la connexion

在这个示例中,我们使用 axiosrrreee

Dans ce lien, nous avons utilisé la syntaxe du modèle Vue pour insérer deux paramètres redirect_uri et client_id. Ces paramètres doivent être définis à l'avance et transmis au composant.

Recevoir les paramètres de retour

Lorsque l'utilisateur termine l'opération sur le site tiers, il sera redirigé vers notre application. Au cours de ce processus, le site Web tiers ajoutera certains paramètres à la chaîne de requête du lien de redirection, tels que code, state, etc. Nous devons extraire et traiter ces paramètres pour effectuer les opérations ultérieures. 🎜🎜Pour traiter les chaînes de requête dans Vue, vous pouvez utiliser l'objet Query de vue-router, qui extraira automatiquement les paramètres de requête d'URL et nous les exposera en tant qu'objets. Supposons que la route suivante soit définie dans la route : 🎜rrreee🎜 Nous pouvons obtenir les paramètres de retour via $route.query dans le composant LoginCallback : 🎜rrreee🎜Dans cet exemple , nous montons les propriétés code et state dans $route.query sur l'instance du composant via les data méthode activée et utilisé v-if dans le modèle pour contrôler l'affichage en fonction de l'existence ou non du paramètre. Si le paramètre existe, on affiche la valeur correspondante ; si le paramètre n'existe pas, rien n'est affiché. 🎜🎜Dans le développement réel, nous devrons peut-être effectuer certaines opérations supplémentaires, telles que soumettre le code d'autorisation au serveur pour vérification, juger si l'opération a réussi en fonction du code d'état dans les paramètres, etc. Ces opérations peuvent être réalisées dans la fonction hook de cycle de vie du composant. Par exemple, dans la fonction hook created, nous pouvons utiliser la bibliothèque axios pour soumettre le code d'autorisation au serveur : 🎜rrreee🎜Dans cet exemple, nous utilisons axios code> La bibliothèque envoie une requête POST au serveur pour demander un jeton d'accès. Nous emballons les paramètres tels que le code d'autorisation, l'URI de redirection, l'ID client et le secret client dans la requête POST et les traitons respectivement dans les fonctions de rappel de réussite et d'échec. De cette façon, nous pouvons facilement terminer l'opération consistant à accéder au site Web tiers pour nous connecter et recevoir les paramètres de retour dans Vue. 🎜🎜Résumé🎜🎜Dans cet article, nous avons présenté comment accéder à un site Web tiers pour se connecter dans Vue et le traiter lors du renvoi des paramètres. Nous avons utilisé la syntaxe du modèle pour insérer des paramètres de saut et extraire et traiter les paramètres de retour dans le composant. En tant que développeur front-end, il est important de comprendre comment interagir avec des sites Web tiers et gérer les paramètres de retour. Je pense que grâce à l'introduction de cet article, vous avez pu maîtriser cette compétence et l'appliquer dans le cadre d'un développement réel. 🎜

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.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

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)

Qu'est-ce que l'utilisation Effecte? Comment l'utilisez-vous pour effectuer des effets secondaires? Qu'est-ce que l'utilisation Effecte? Comment l'utilisez-vous pour effectuer des effets secondaires? Mar 19, 2025 pm 03:58 PM

L'article traite de l'utilisation Effecte dans React, un crochet pour gérer les effets secondaires comme la récupération des données et la manipulation DOM dans les composants fonctionnels. Il explique l'utilisation, les effets secondaires courants et le nettoyage pour éviter des problèmes comme les fuites de mémoire.

Expliquez le concept de chargement paresseux. Expliquez le concept de chargement paresseux. Mar 13, 2025 pm 07:47 PM

Le chargement paresseux retarde le chargement du contenu jusqu'à ce qu'il soit nécessaire, améliorant les performances du Web et l'expérience utilisateur en réduisant les temps de chargement initiaux et la charge du serveur.

Comment fonctionne l'algorithme de réconciliation React? Comment fonctionne l'algorithme de réconciliation React? Mar 18, 2025 pm 01:58 PM

L'article explique l'algorithme de réconciliation de React, qui met à jour efficacement le DOM en comparant les arbres DOM virtuels. Il traite des avantages de la performance, des techniques d'optimisation et des impacts sur l'expérience utilisateur. Compte de charge: 159

Quelles sont les fonctions d'ordre supérieur en JavaScript, et comment peuvent-ils être utilisés pour écrire du code plus concis et réutilisable? Quelles sont les fonctions d'ordre supérieur en JavaScript, et comment peuvent-ils être utilisés pour écrire du code plus concis et réutilisable? Mar 18, 2025 pm 01:44 PM

Les fonctions d'ordre supérieur dans JavaScript améliorent la concision du code, la réutilisabilité, la modularité et les performances par abstraction, modèles communs et techniques d'optimisation.

Comment fonctionne le currying en JavaScript et quels sont ses avantages? Comment fonctionne le currying en JavaScript et quels sont ses avantages? Mar 18, 2025 pm 01:45 PM

L'article traite du curry dans JavaScript, une technique transformant les fonctions mulguments en séquences de fonctions à argument unique. Il explore la mise en œuvre du currying, des avantages tels que des applications partielles et des utilisations pratiques, améliorant le code

Qu'est-ce que UseContext? Comment l'utilisez-vous pour partager l'état entre les composants? Qu'est-ce que UseContext? Comment l'utilisez-vous pour partager l'état entre les composants? Mar 19, 2025 pm 03:59 PM

L'article explique UseContext dans React, qui simplifie la gestion de l'État en évitant le forage des accessoires. Il traite des avantages tels que les améliorations centralisées de l'État et des performances grâce à des redevances réduites.

Comment empêchez-vous le comportement par défaut dans les gestionnaires d'événements? Comment empêchez-vous le comportement par défaut dans les gestionnaires d'événements? Mar 19, 2025 pm 04:10 PM

L'article discute de la prévention des comportements par défaut dans les gestionnaires d'événements à l'aide de la méthode empêchée dedEfault (), de ses avantages tels que une expérience utilisateur améliorée et des problèmes potentiels tels que les problèmes d'accessibilité.

Comment connectez-vous les composants React au magasin Redux à l'aide de Connect ()? Comment connectez-vous les composants React au magasin Redux à l'aide de Connect ()? Mar 21, 2025 pm 06:23 PM

L'article discute de la connexion des composants React à Redux Store à l'aide de Connect (), expliquant MapStateToproprop, MapDispatchToprops et des impacts de performances.

See all articles