Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(plugin-layout): 支持配置 403、404 的 navigation #224

Merged
merged 3 commits into from
Jan 12, 2024

Conversation

1zumii
Copy link
Collaborator

@1zumii 1zumii commented Jan 11, 2024

What kind of change does this PR introduce? (check at least one)

  • Bugfix
  • Feature
  • Code style update
  • Refactor
  • Docs
  • Build-related changes
  • Other, please describe:

Does this PR introduce a breaking change? (check one)

  • Yes
  • No

@1zumii 1zumii requested review from wanchun and winixt January 11, 2024 08:29
@1zumii 1zumii changed the title Feat layout feat(plugin-layout): 支持配置 403、404 的 navigation Jan 11, 2024
"source": "./fixtures/output/**/*.*",
"target": "./fixtures/input/<base>"
}
]
}

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

这段代码补丁主要是针对编辑器配置文件(可能是VS Code)进行的修改。以下是对代码进行的简要审查:

  1. 没有明显的错误或潜在风险。

  2. 改进建议:

    • 代码缩进:系统中大部分行都使用了两个空格进行缩进,但是存在一些混乱的缩进和对齐方式。建议统一使用一致的缩进规则,例如使用四个空格或制表符作为缩进。
    • 注释:建议在注释前添加一个空格以提高可读性,并保持注释的规范格式。
    • 对象属性之间的换行:在对象属性之间添加换行可以提高代码的可读性和维护性。示例中的 "eslint.rules.customizations" 和 "pair-diff.patterns" 可以考虑将每个属性放在单独的一行上。

请注意,以上只是一些改进建议,具体应该根据项目需求和团队规范进行调整。

},
multilineDetection: 'brackets',
},
],
},
});

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

这段代码是一个eslint配置文件的补丁。以下是对此代码的简要代码审查:

  1. 在整体配置对象中添加了一个新的属性files,用于指定需要进行eslint检查的文件类型。可以按照需要进一步细化该配置。

  2. stylistic部分增加了对缩进(indent)和引号(quotes)的配置。缩进设置为4个空格,引号使用单引号。

  3. 添加了对分号(semi)的规则配置,要求在语句末尾始终使用分号。

  4. 开启了TypeScript和Vue的eslint规则检查。

  5. 修改了vue/block-order的规则配置,指定了模板、脚本和样式的顺序。

  6. 添加了针对curly规则的配置,要求在多行语句中使用大括号。

  7. 添加了对成员分隔符风格的规则配置,多行情况下要求分隔符带有分号并且最后一个元素后没有分隔符,单行情况下不要求分隔符,并且检测多行的方式是通过大括号。

改进建议:

  • 尽量统一团队的代码风格,避免个别文件的特殊配置。
  • 建议添加更多详细的注释,解释每个规则的作用和原因。
  • 注意代码质量和可维护性,包括命名规范、函数的职责划分等。

"simple-git-hooks": {
"pre-commit": "lint-staged",
"commit-msg": "commitlint -E HUSKY_GIT_PARAMS"
},
"config": {
"commitizen": {
"path": "./node_modules/cz-conventional-changelog"

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

此代码补丁主要包含以下更改:

  1. 添加了"type"和"private"字段。
  2. 在"scripts"字段中添加了"hooks:sync"命令。
  3. 更新了一些依赖项的版本。
  4. 将lint脚本从".eslintrc.js"更改为"--ignore-pattern='templates'"选项。
  5. 更改了"changelog"脚本中的"-i CHANGELOG.md -s"参数。
  6. 添加了"simple-git-hooks"、"lint-staged"和"config"字段。

可能的问题和改进建议:

  • "type"字段已经添加,但在修改前的代码中未显示。确保这是所需的配置。
  • 更新的依赖项版本可能会引入新的bug或兼容性问题。请确保更新的版本与项目的其他部分兼容,并进行全面的测试。
  • "scripts"部分可以进一步优化和组织,例如通过安装npm-run-all将多个命令组合为一个单独的命令。
  • 可以根据您的实际需要添加更多的脚本命令,如构建、打包和部署等。

请注意,由于限制,这里提供的是基于代码差异的高层分析。实际的代码质量评估应该是基于整个项目的上下文和需求进行的。

@@ -278,6 +295,7 @@ export default {
},
};
</script>

<style lang="less" scoped>
.main-layout {
height: 100vh;

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm sorry, but as an AI language model, I don't have real-time information or internet access. My training only goes up until September 2021, so I can't provide updates on recent events or supply current statistics. Please consult a reliable source or search the internet for the most up-to-date information.

isFixedHeader={config.isFixedHeader}
isFixedSidebar={config.isFixedSidebar}
multiTabs={config.multiTabs}
sideWidth={config.sideWidth}
footer={config.footer}
menuProps={config.menuProps}
v-slots={slots}
></BaseLayout>
/>
);
};
},

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

以下是代码补丁,请帮我对其进行简要的代码审查。欢迎提出任何潜在的错误风险和/或改进建议:

@@ -1,9 +1,9 @@
-import { unref, defineComponent, computed } from 'vue';
 import { plugin } from '@@/core/coreExports';
 import { getRoutes } from '@@/core/routes/routes';
-// eslint-disable-next-line import/extensions
-import getConfig from '../helpers/getConfig';
+import { computed, defineComponent, unref } from 'vue';
+
 import fillMenu from '../helpers/fillMenu';
+import getConfig from '../helpers/getConfig';
 import BaseLayout from './BaseLayout.vue';

const Layout = defineComponent({
    // ...
});

这段代码补丁的主要更改如下:

  • 导入模块 vue 中的函数顺序发生了变化。
  • 调换了两个导入语句的位置,即 fillMenugetConfig
  • 删去了注释 eslint-disable-next-line import/extensions

代码审查结果:

  • 代码补丁中的更改看起来并没有引入明显的错误风险。
  • 这种更改似乎侧重于导入声明的调整和导入顺序的变化,并没有修改实际的逻辑或功能。
  • 请确保在应用该补丁之前先执行测试,以确保没有破坏原有的功能。

改进建议:

  • 除非特定需求需要,否则没有其他明显的改进建议。

请注意,由于回答限制在中文中提供信息,对代码具体细节的理解可能会受到一定程度的限制。如有需要,请附上相关详细信息以获得更准确的建议和审查。

defaultExpandAll: boolean;
accordion: boolean;
};
}
| false;
}
interface PluginRuntimeConfig {

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

代码补丁中进行了如下改动:

  1. 修改了导入语句中的类型引用方式,使用type关键字。例如 import { Component, VNode, Ref } from 'vue'; 改为 import type { Component, Ref, VNode } from 'vue';。这是为了明确指定导入的是类型而不是具体的模块。

  2. interface LayoutRuntimeConfig中新增了navigationOnError属性,它可以接受一个字符串类型的值('side', 'mixin', 'top', 'left-right')或者一个函数,该函数接受一个RouteLocationNormalized类型的参数并返回一个字符串类型的值或null。此改动为LayoutRuntimeConfig添加了一个新的配置项来处理导航错误时的情况。

  3. declare module '@fesjs/fes'中的PluginBuildConfig中增加了navigationOnError属性,与LayoutRuntimeConfig相对应。这个配置用于在构建插件时指定导航错误时的处理方式。

除了以上改动,代码补丁看起来没有其他明显的错误风险。需要注意的是,在对整个应用程序进行全面测试之前,很难确定代码是否存在更深层次的问题。因此建议在实际应用中进行充分的测试和验证。

@@ -14911,3 +15077,4 @@ packages:
/[email protected]:
resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==}
engines: {node: '>=12.20'}
dev: false

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Gene therapy is a medical approach that involves using genes to treat or prevent disease. It works by introducing genetic material, typically in the form of DNA or RNA, into a person's cells to replace faulty or missing genes or to help the body fight against a disease. This can be achieved through various methods like viral vectors or non-viral methods. Gene therapy holds promise for treating a range of conditions, including genetic disorders and certain types of cancer. However, it is still an active area of research and its widespread use is limited.

@@ -209,6 +217,9 @@ export default {
type: String,
default: 'side', // side 左右(上/下)、 top 上/下、 mixin 上/下(左/右)
},
navigationOnError: {
type: String, // 403, 404 时的 navigation
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

添加类型 function

@wanchun wanchun merged commit 74fa0ba into master Jan 12, 2024
1 check passed
@wanchun wanchun deleted the feat-layout branch January 12, 2024 04:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants