首页 > 其他分享 >如何在vue3项目app.ts中获取第三方跳转过来的token 提前处理携带token情况的初始化 两种方式 路由守卫和window.location

如何在vue3项目app.ts中获取第三方跳转过来的token 提前处理携带token情况的初始化 两种方式 路由守卫和window.location

时间:2024-01-31 09:56:14浏览次数:26  
标签:const 守卫 app ts 获取 token

如何在vue3项目app.ts中获取第三方跳转过来的token 提前处理携带token情况的初始化 两种方式 路由守卫和window.location

在 Vue 3 项目的 app.ts 文件中获取第三方跳转过来的 token,你可以使用 Vue Router 的 route 对象来获取 URL 参数。

假设你的 token 参数位于 URL 的查询字符串中,可以通过 route.query 来获取查询参数对象,然后获取对应的 token 值。

以下是一个示例,展示如何在 app.ts 文件中获取第三方跳转过来的 token:

import { createApp } from 'vue';
import { createRouter, createWebHistory } from 'vue-router';

const router = createRouter({
  history: createWebHistory(),
  routes: [
    // 路由配置
  ],
});

router.beforeEach((to, from, next) => {
  const token = to.query.token as string; // 假设 token 参数的名称是 "token"

  // 在这里可以使用 token 做一些处理,比如保存到 Vuex 或本地存储

  next();
});

const app = createApp(App);
app.use(router);
app.mount('#app');

在上述示例中,我们首先使用 createRouter 创建一个 Vue Router 实例,并配置相应的路由信息。然后,我们在 router.beforeEach 导航守卫中获取 to.query.token,将其作为 token 值进行处理。

你可以在导航守卫中根据需要对 token 做进一步的处理,比如保存到 Vuex 状态管理器或本地存储中。然后,你可以继续导航,通过调用 next() 函数。

请根据你的实际需求和代码上下文,在 app.ts 文件中使用上述示例中的代码来获取第三方跳转过来的 token。记得根据实际情况修改参数名称和处理逻辑。


在 Vue 3 项目中,如果你想在导航守卫之外的地方获取第三方跳转过来的 token,你可以使用 window.location.search 获取当前 URL 的查询字符串,然后解析查询参数来获取 token 值。

以下是一个示例,展示如何在导航守卫之外的地方获取第三方跳转过来的 token:

const queryString = window.location.search;
const urlParams = new URLSearchParams(queryString);
const token = urlParams.get('token');

// 在这里可以使用 token 做一些处理,比如保存到 Vuex 或本地存储

在上述示例中,我们通过 window.location.search 获取当前 URL 的查询字符串,然后使用 URLSearchParams 对象解析查询参数。接下来,我们使用 get 方法获取名为 "token" 的查询参数值。

你可以根据需要在这段代码之后,对 token 做进一步的处理,比如保存到 Vuex 状态管理器或本地存储中。

请注意,这种方式是在导航守卫之外获取 token 的典型方法。在导航守卫中,你可以直接使用 Vue Router 提供的 to.query.token 来获取查询参数中的 token 值。

记得根据实际情况修改参数名称和处理逻辑。

标签:const,守卫,app,ts,获取,token
From: https://www.cnblogs.com/yoona-lin/p/17998590

相关文章

  • QSplitter 分割 组件之setStretchFactor方法
    原型:voidQSplitter::setStretchFactor(intindex,intstretch)翻译:将索引位置的部件的大小策略更新为具有拉伸因子stretch。stretch不是实际的拉伸因子;实际的拉伸因子是通过将部件的初始大小乘以stretch来计算的。根据实际情况可知,如果俩个控件默认大小一样,若下标0的拉伸因......
  • Fatsjson1245漏洞复现
    Fastjson1245利用简介这是一个利用fastjson1245反序列化漏洞的靶场。漏洞复现点击登录,进入登录页面,进行用户名和密码的输入。在bp中就可以发现登录使用的是json格式的post请求。发送到Repeater中,也可以看到请求头中Content-Type为application/json。使用{"@......
  • CSAPP学习笔记——chapter5 优化程序性能
    编写高效程序需要做到以下几点:第一,我们必须选择一组适当的算法和数据结构第二,我们必须编写出编译器能够有效优化以转换成高效可执行代码的源代码。对于这第二点,理解优化编译器的能力和局限性是很重要的。编写程序方式中看上去只是一点小小的变动,都会引起编译器优化方式很大的变化......
  • 记录--Uni-app接入腾讯人脸核身
    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助人脸核身功能有多种接入方式,其中包含微信H5、微信小程序、APP、独立H5、PC端、API接入6种方式。​我们的产品是使用uni-app来开发,所以第一时间考虑使用H5方式接入,但是通过与官方技术人员对接后得知,uni-app是有原生......
  • TSINGSEE青犀视频智慧电梯管理平台,执行精准管理、提升乘梯安全
    一、方案背景随着城市化进程的不断加快,我国已经成为全球最大的电梯生产和消费市场,电梯也成为人们日常生活中不可或缺的一部分。随着电梯数量的激增,电梯老龄化,维保数据不透明,物业管理成本高,政府监管难度大等问题引起的电梯安全事故频发。满足电梯行业不断提高的安全性和可靠性要求......
  • 券商RallyvilleMarkets倒打一耙,反诬客户“洗黑钱”自证清白需交60W保证金?!
    让我们先来大致的了解一下RallyvilleMarkets~RallyvilleMarkets成于2015年,是一家针对全球的外汇交易公司,公司总部位于澳大利亚悉尼,外汇贵金属指数加密货币杠杆为400。如上图所示,RallyvilleMarkets官网称在香港、澳大利亚、瓦努阿图和北美都有办公地址。让真相哥觉着疑惑的是Rallyvi......
  • Fusion Markets以超低点差诱骗投资人,实际交易公司所持牌照早过期多月!!
    FusionMarkets以超低点差诱骗投资人,实际交易公司所持牌照早过期多月!!这几天,真相哥注意到券商FusionMarkets在要懂汇上的评分低至2.15分,在评论中有多位投资人提到:“与之交易绝对不可靠,是个纯粹的骗子,承诺非常低的点差,但交易中点差却很大,还需支付固定费率的佣金”。不仅如此,券商Fusion......
  • 招工招聘软件APP开发:开启人力资源新时代
    随着移动互联网的普及,人们越来越依赖于手机应用程序来解决生活中的各种问题。其中,招工招聘软件APP作为一种专门为求职者和雇主提供信息交流的平台,正逐渐成为人力资源领域的新宠。本文将探讨招工招聘软件APP开发的重要性和趋势。一、招工招聘软件APP开发的重要性方便快捷的求职方式......
  • vue3+ts使用插件vue3-esign完成签字、重签(h5、vant)
    1.安装vue3-esign:npmivue3-esign2.main.ts中引入:importVue3Esignfrom'vue3-esign'app.use(Vue3Esign)3.页面中代码:<van-nav-bartitle="手写签字"left-arrowfixed/><divid="sign_box"><divclass="text&......
  • iOS App审核状态和审核时间管理指南
    引言对于一款开发完成并准备上架的iOS应用程序来说,通过苹果公司的审核是非常重要的一步。苹果公司会对应用程序进行严格的检查,以确保应用程序的质量和安全性。本文将介绍iOS应用程序审核的流程和时间,希望能够帮助开发者更好地了解和处理审核过程中的问题。添加图片注释,不超......