首页 > 其他分享 >view-login-重新定向

view-login-重新定向

时间:2024-11-06 11:11:57浏览次数:1  
标签:code hash admin window localStorage oauth login 定向 view

当然可以!让我们详细解释一下这段代码,并纠正其中的拼写错误和语法问题。

修正后的代码

<template>
  <div>
    <h1>重定向中...</h1>
  </div>
</template>

<script>
export default {
  name: 'AuthRedirect',
  created() {
    const hash = window.location.search.slice(1);
    if (window.localStorage) {
      window.localStorage.setItem("x-admin-oauth-code", hash);
      window.close();
    }
  },
  render(h) {
    return h();
  }
};
</script>

<style scoped>
div {
  text-align: center;
  margin-top: 50px;
}
</style>

详细解释

1. 模板部分 (<template>)

<template>
  <div>
    <h1>重定向中...</h1>
  </div>
</template>
  • <div>: 包含一个简单的HTML结构。
  • <h1>: 显示一个标题“重定向中...”,告诉用户当前正在进行重定向操作。

2. 脚本部分 (<script>)

<script>
export default {
  name: 'AuthRedirect',
  created() {
    const hash = window.location.search.slice(1);
    if (window.localStorage) {
      window.localStorage.setItem("x-admin-oauth-code", hash);
      window.close();
    }
  },
  render(h) {
    return h();
  }
};
</script>
  • name: 'AuthRedirect': 定义组件的名称为 AuthRedirect

  • created() 生命周期钩子:

    • const hash = window.location.search.slice(1);:
      • window.location.search 获取URL中的查询字符串部分,例如 ?code=12345
      • slice(1) 去掉查询字符串的第一个字符(问号),得到 code=12345
    • if (window.localStorage):
      • 检查 window.localStorage 是否存在。如果存在,执行后续代码。
    • window.localStorage.setItem("x-admin-oauth-code", hash);:
      • 将查询字符串 hash 存储到 localStorage 中,键名为 "x-admin-oauth-code"
    • window.close();:
      • 尝试关闭当前窗口。注意:window.close() 方法通常只能关闭由脚本打开的窗口,如果当前窗口是由用户手动打开的,大多数浏览器会阻止这个操作。
  • render(h) 方法:

    • render(h) { return h(); }:
      • 这是一个渲染函数,用于返回一个空的Vue组件。h 是 Vue 的 createElement 函数,返回一个 VNode。return h(); 返回一个空的 VNode,这意味着组件不会渲染任何内容。

3. 样式部分 (<style scoped>)

<style scoped>
div {
  text-align: center;
  margin-top: 50px;
}
</style>
  • text-align: center;: 将文本居中对齐。
  • margin-top: 50px;: 设置顶部外边距为50像素,使标题在页面中居中显示。

总结

  1. 获取查询字符串

    • const hash = window.location.search.slice(1); 获取URL中的查询字符串部分并去掉问号。
  2. 检查 localStorage 是否可用

    • if (window.localStorage) 检查 localStorage 是否存在。
  3. 存储查询字符串到 localStorage

    • window.localStorage.setItem("x-admin-oauth-code", hash); 将查询字符串存储到 localStorage 中,键名为 "x-admin-oauth-code"
  4. 关闭窗口

    • window.close(); 尝试关闭当前窗口。注意:这个方法通常只能关闭由脚本打开的窗口。
  5. 渲染函数

    • render(h) { return h(); } 返回一个空的VNode,确保组件在创建时不会渲染任何内容。

希望这些解释对你有所帮助!如果有更多问题,请随时提问。

标签:code,hash,admin,window,localStorage,oauth,login,定向,view
From: https://www.cnblogs.com/lmzzr24/p/18529543

相关文章

  • 解决mysql 的 [HY000][1356] View ‘information_schema.TABLES‘ references invalid
    同事在修改mysql用户权限时修改了关于mysql.infoschema的权限信息,导致无法访问information_schema库下的所有视图,使用数据库连接工具连接MySQL数据库时出现报错情况,使用MySQL终端登录并执行show命令同样报错。报错信息如下:ERROR1356(HY000):View'information_s......
  • WPF ListBox MVVM scrollintoview via behavior
    publicclassListBoxAutoScrollBehavior:Behavior<ListBox>{protectedoverridevoidOnAttached(){base.OnAttached();AssociatedObject.SelectionChanged+=AssociatedObject_SelectionChanged;}privatevoidAsso......
  • EViews13下载与安装教程
    EViews13是一款经济计量分析软件,由QMS开发,专门用于时间序列分析、数据管理和预测建模。它广泛应用于经济学研究、金融分析、市场预测和政策评估等领域,为用户提供了丰富的数据分析和建模工具;1、安装包  EViews13(64bit):链接:https://pan.quark.cn/s/13bfd3f50051提取码:6w......
  • C++20 STL CookBook 4:使用range在容器中创建view
    目录rangeviewrange_adaptor的三个概念以std::string和std::string_view为例子初次入手补充ranges的一些操作rangeviewrange_adaptor的三个概念新的范围库是C++20中更重要的新增功能之一。它为过滤和处理容器提供了新的范例。范围为更有效和可读的代码提供了简......
  • Android高级进阶之路【二】十分钟彻底弄明白 View 事件分发机制
    前言Android事件分发机制是Android开发者必须了解的基础网上有大量关于Android事件分发机制的文章,但存在一些问题:内容不全、思路不清晰、无源码分析、简单问题复杂化等等今天,我将全面总结Android的事件分发机制,我能保证这是市面上的最全面、最清晰、最易懂的本文秉着“结论......
  • 1day未公开索贝融媒体工作平台 login 存在弱口令漏洞
    0x01阅读须知        技术文章仅供参考,此文所提供的信息只为网络安全人员对自己所负责的网站、服务器等(包括但不限于)进行检测或维护参考,未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。利用此文所提供的信息而造成的直接或间接后果和损失,均由使用者......
  • Android的自定义View和自定义ViewGroup
    Android自定义视图(View)和视图组(ViewGroup)详解在Android开发中,有时候我们需要创建一些标准控件无法满足需求的自定义视图(View)和视图组(ViewGroup)。本文将详细介绍如何创建自定义视图和视图组,包括构造方法、自定义属性、绘制逻辑、测量逻辑、布局逻辑和设置布局参数等内容。1.......
  • Laravel 11.x 未认证用户如何自定义重定向
    很久没玩Laravel,这次将原来的一个内容网站升级到最新版Laravel,发现版本已从laravel7.x到laravel11.x了,网站比较简单大部分更新都很顺利。但是也遇到了问题网站前端和后台分别使用了2套用户登录验证,前端使用了laravel/ui的用户认证,打开需要用户认证的界面时,能正常跳转到登录......
  • 网络请求中的重定向处理与资源管理:优化网络性能的关键
    ......
  • AutoDWG DWGViewX 2024
    AutoDWGDWGViewX,比以往更快!DWGViewX是一款ActiveX控件,它可在一个查看器中查看您的DWG、DXF和DWF图纸。它非常简单,您只需一个查看器即可管理所有CAD图纸。DWGViewX在线演示主要特点:查看从R2.5到2025版本的DWG、DXF和DWF。支持相对路径:加载本地磁盘或网......