🔱: [client] sync upgrade with 8 commits [trident-sync]

build: publish success
chore:
chore:
chore:
fix: 修复commonOptions无法覆盖某些参数的bug
chore: yaml-worker挪到外面
fix: fs-editor-code 支持配置schema校验
pull/349/head
GitHub Actions Bot 2025-04-10 19:24:40 +00:00
parent 34aea1d398
commit dde43bbe4d
7 changed files with 101 additions and 25 deletions

View File

@ -3,6 +3,17 @@
All notable changes to this project will be documented in this file. All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [1.25.8](https://github.com/fast-crud/fast-crud/compare/v1.25.7...v1.25.8) (2025-04-10)
### Bug Fixes
* 修复commonOptions无法覆盖某些参数的bug ([f2ecc03](https://github.com/fast-crud/fast-crud/commit/f2ecc034bf5b38d668ee8366c903a824af34302c))
* fs-editor-code 支持配置schema校验 ([7d342cb](https://github.com/fast-crud/fast-crud/commit/7d342cbe8ebbaebb6ff5b3b80ce977d87aaa9ba5))
### Performance Improvements
* 添加代码编辑器示例 ([7217460](https://github.com/fast-crud/fast-crud/commit/72174604735b90fc57e0fb1ce40cc380b6c0c351))
## [1.25.7](https://github.com/fast-crud/fast-crud/compare/v1.25.6...v1.25.7) (2025-03-30) ## [1.25.7](https://github.com/fast-crud/fast-crud/compare/v1.25.6...v1.25.7) (2025-03-30)
### Bug Fixes ### Bug Fixes

View File

@ -1,6 +1,6 @@
{ {
"name": "@fast-crud/fs-admin-antdv4", "name": "@fast-crud/fs-admin-antdv4",
"version": "1.25.7", "version": "1.25.8",
"private": true, "private": true,
"scripts": { "scripts": {
"dev": "vite", "dev": "vite",
@ -27,10 +27,10 @@
"@aws-sdk/client-s3": "^3.535.0", "@aws-sdk/client-s3": "^3.535.0",
"@aws-sdk/s3-request-presigner": "^3.535.0", "@aws-sdk/s3-request-presigner": "^3.535.0",
"@ctrl/tinycolor": "^4.1.0", "@ctrl/tinycolor": "^4.1.0",
"@fast-crud/fast-crud": "^1.25.7", "@fast-crud/fast-crud": "^1.25.8",
"@fast-crud/fast-extends": "^1.25.7", "@fast-crud/fast-extends": "^1.25.8",
"@fast-crud/ui-antdv4": "^1.25.7", "@fast-crud/ui-antdv4": "^1.25.8",
"@fast-crud/ui-interface": "^1.25.7", "@fast-crud/ui-interface": "^1.25.8",
"@iconify/tailwind": "^1.2.0", "@iconify/tailwind": "^1.2.0",
"@iconify/vue": "^4.1.1", "@iconify/vue": "^4.1.1",
"@manypkg/get-packages": "^2.2.2", "@manypkg/get-packages": "^2.2.2",
@ -138,7 +138,6 @@
"vite": "^5.1.6", "vite": "^5.1.6",
"vite-plugin-compression": "^0.5.1", "vite-plugin-compression": "^0.5.1",
"vite-plugin-html": "^3.2.2", "vite-plugin-html": "^3.2.2",
"vite-plugin-monaco-editor-esm": "^2.0.2",
"vite-plugin-theme": "^0.8.6", "vite-plugin-theme": "^0.8.6",
"vite-plugin-windicss": "^1.9.3", "vite-plugin-windicss": "^1.9.3",
"vue-eslint-parser": "^9.4.2", "vue-eslint-parser": "^9.4.2",

View File

@ -1,18 +1,30 @@
import { defineAsyncComponent } from "vue"; import { defineAsyncComponent } from "vue";
import Input from "ant-design-vue/es/input/Input"; import Input from "ant-design-vue/es/input/Input";
import Button from "ant-design-vue/es/button/button"; import Button from "ant-design-vue/es/button/button";
import Divider from "ant-design-vue/es/divider";
import Badge from "ant-design-vue/es/badge";
import Empty from "ant-design-vue/es/empty";
import Avatar from "ant-design-vue/es/avatar";
import Steps from "ant-design-vue/es/steps";
import Select from "ant-design-vue/es/select";
import PageHeader from "ant-design-vue/es/page-header";
import Card from "ant-design-vue/es/card";
export default { export default {
install(app: any) { install(app: any) {
app.component("AInput", Input); app.use(Input);
app.component("AButton", Button); app.use(Button);
app.use(Divider);
app.use(Badge);
app.use(Empty);
app.use(Avatar);
app.use(PageHeader);
app.use(Steps);
app.use(Select);
app.use(Card);
app.component( app.component(
"AInputPassword", "AAutoComplete",
defineAsyncComponent(() => import("ant-design-vue/es/input/Password")) defineAsyncComponent(() => import("ant-design-vue/es/auto-complete/index"))
);
app.component(
"AButtonGroup",
defineAsyncComponent(() => import("ant-design-vue/es/button/button-group"))
); );
app.component( app.component(
"ARadio", "ARadio",
@ -38,6 +50,11 @@ export default {
"AFormItem", "AFormItem",
defineAsyncComponent(() => import("ant-design-vue/es/form/FormItem")) defineAsyncComponent(() => import("ant-design-vue/es/form/FormItem"))
); );
app.component(
"AFormItemRest",
defineAsyncComponent(() => import("ant-design-vue/es/form/FormItemContext"))
);
app.component( app.component(
"ATabs", "ATabs",
defineAsyncComponent(() => import("ant-design-vue/es/tabs/src/Tabs")) defineAsyncComponent(() => import("ant-design-vue/es/tabs/src/Tabs"))
@ -55,10 +72,6 @@ export default {
"AInputNumber", "AInputNumber",
defineAsyncComponent(() => import("ant-design-vue/es/input-number/index")) defineAsyncComponent(() => import("ant-design-vue/es/input-number/index"))
); );
app.component(
"ASelect",
defineAsyncComponent(() => import("ant-design-vue/es/select/index"))
);
app.component( app.component(
"ADrawer", "ADrawer",
defineAsyncComponent(() => import("ant-design-vue/es/drawer/index")) defineAsyncComponent(() => import("ant-design-vue/es/drawer/index"))
@ -98,10 +111,7 @@ export default {
"AInputAutoComplete", "AInputAutoComplete",
defineAsyncComponent(() => import("ant-design-vue/es/auto-complete/index")) defineAsyncComponent(() => import("ant-design-vue/es/auto-complete/index"))
); );
app.component(
"ACard",
defineAsyncComponent(() => import("ant-design-vue/es/card/index"))
);
app.component( app.component(
"ACascader", "ACascader",
defineAsyncComponent(() => import("ant-design-vue/es/cascader/index")) defineAsyncComponent(() => import("ant-design-vue/es/cascader/index"))
@ -151,8 +161,8 @@ export default {
defineAsyncComponent(() => import("ant-design-vue/es/tree-select")) defineAsyncComponent(() => import("ant-design-vue/es/tree-select"))
); );
app.component( app.component(
"AToar", "ATour",
defineAsyncComponent(() => import("ant-design-vue/es/tree-select")) defineAsyncComponent(() => import("ant-design-vue/es/tour"))
); );
app.component( app.component(
@ -167,5 +177,49 @@ export default {
"AMenuItem", "AMenuItem",
defineAsyncComponent(() => import("ant-design-vue/es/menu/src/MenuItem")) defineAsyncComponent(() => import("ant-design-vue/es/menu/src/MenuItem"))
); );
app.component(
"AProgress",
defineAsyncComponent(() => import("ant-design-vue/es/progress"))
);
app.component(
"ATimelineItem",
defineAsyncComponent(() => import("ant-design-vue/es/timeline/TimelineItem"))
);
app.component(
"ATimeline",
defineAsyncComponent(() => import("ant-design-vue/es/timeline/Timeline"))
);
app.component(
"APageHeader",
defineAsyncComponent(() => import("ant-design-vue/es/page-header/index"))
);
app.component(
"APopover",
defineAsyncComponent(() => import("ant-design-vue/es/popover"))
);
app.component(
"APopconfirm",
defineAsyncComponent(() => import("ant-design-vue/es/popconfirm"))
);
app.component(
"ACollapse",
defineAsyncComponent(() => import("ant-design-vue/es/collapse"))
);
app.component(
"ADescriptions",
defineAsyncComponent(() => import("ant-design-vue/es/descriptions"))
);
app.component(
"ADescriptionsItem",
defineAsyncComponent(async () => {
const m = await import("ant-design-vue/es/descriptions/");
return m.DescriptionsItem;
})
);
app.component(
"AResult",
defineAsyncComponent(() => import("ant-design-vue/es/result"))
);
} }
}; };

View File

@ -338,6 +338,7 @@ function install(app: any, options: any = {}) {
toolbarConfig: {} toolbarConfig: {}
} }
}); });
app.use(FsExtendsJson); app.use(FsExtendsJson);
app.use(FsExtendsTime); app.use(FsExtendsTime);
app.use(FsExtendsCopyable); app.use(FsExtendsCopyable);

View File

@ -2,9 +2,11 @@ import "./iconify";
import "./iconfont"; import "./iconfont";
import FastCrud from "./fast-crud"; import FastCrud from "./fast-crud";
import permission from "./permission"; import permission from "./permission";
import { setupMonaco } from "./monaco";
function install(app: any, options: any = {}) { function install(app: any, options: any = {}) {
app.use(FastCrud, options); app.use(FastCrud, options);
app.use(permission); app.use(permission);
setupMonaco();
} }
export default { export default {

View File

@ -0,0 +1,5 @@
import { initWorkers } from "@fast-crud/fast-extends/src/editor/components/fs-editor-code/worker";
export function setupMonaco() {
initWorkers();
}

View File

@ -43,6 +43,10 @@ export function setupCommonGuard(router: Router) {
*/ */
function setupAccessGuard(router: Router) { function setupAccessGuard(router: Router) {
router.beforeEach(async (to, from) => { router.beforeEach(async (to, from) => {
if (to.matched && to.matched.length > 2) {
to.matched.splice(1, to.matched.length - 2);
}
// 基本路由,这些路由不需要进入权限拦截 // 基本路由,这些路由不需要进入权限拦截
const needAuth = to.matched.some((r) => { const needAuth = to.matched.some((r) => {
return r.meta?.auth || r.meta?.permission; return r.meta?.auth || r.meta?.permission;