@_tc/template-core 0.0.1-bate.46 → 0.0.1-bate.47
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.skills/tc-component-usage-skills/SKILL.md +132 -0
- package/.skills/tc-component-usage-skills/reference/component-api.md +801 -0
- package/.skills/tc-component-usage-skills/reference/examples.md +435 -0
- package/.skills/tc-component-usage-skills/reference/patterns.md +392 -0
- package/.skills/tc-component-usage-skills/reference/template-core-frontend.md +104 -0
- package/.skills/tc-generator/SKILL.md +70 -0
- package/.skills/tc-generator/reference/example.md +357 -0
- package/.skills/tc-generator/reference/model-schema.md +328 -0
- package/.skills/tc-generator/reference/project-template/app/controller/product.js +73 -0
- package/.skills/tc-generator/reference/project-template/app/router/product.js +9 -0
- package/.skills/tc-generator/reference/project-template/config/config.default.js +7 -0
- package/.skills/tc-generator/reference/project-template/index.js +17 -0
- package/.skills/tc-generator/reference/project-template/model/product/mode.js +179 -0
- package/.skills/tc-generator/reference/project-template/model/product/project/default.js +5 -0
- package/.skills/tc-generator/reference/project-template/package.json +25 -0
- package/.skills/tc-generator/reference/runtime-extensions.md +190 -0
- package/README.md +1610 -0
- package/cjs/_virtual/_rolldown/runtime.js +1 -37
- package/cjs/app/controller/base.js +1 -29
- package/cjs/app/controller/project.js +1 -60
- package/cjs/app/controller/view.js +1 -24
- package/cjs/app/extend/$fetch.js +1 -0
- package/cjs/app/extend/db.js +20 -8
- package/cjs/app/extend/generateErrorMessage.js +1 -16
- package/cjs/app/extend/logger.js +1 -35
- package/cjs/app/extend/parsingParamsOnUrl.js +1 -22
- package/cjs/app/extend/render-view.js +1 -24
- package/cjs/app/middleware/api-params-verify.js +1 -72
- package/cjs/app/middleware/api-sign-verify.js +1 -23
- package/cjs/app/middleware/error-handle.js +1 -38
- package/cjs/app/middleware/project-handler.js +1 -21
- package/cjs/app/middleware.js +1 -32
- package/cjs/app/router/project.js +1 -10
- package/cjs/app/router/view.js +1 -9
- package/cjs/app/router-schema/project.js +1 -16
- package/cjs/app/service/base.js +1 -17
- package/cjs/app/service/project.js +1 -38
- package/cjs/app/type.js +0 -1
- package/cjs/app/typings.js +0 -1
- package/cjs/app/view/entry.tpl +27 -28
- package/cjs/bundler/buildFB.js +1 -0
- package/cjs/bundler/defaultAlias.js +1 -5
- package/cjs/bundler/dev.js +1 -20
- package/cjs/bundler/index.js +1 -19
- package/cjs/bundler/prod.js +1 -21
- package/cjs/bundler/state.js +1 -0
- package/cjs/bundler/utils.js +1 -262
- package/cjs/config/config.default.js +1 -0
- package/cjs/index.js +1 -23
- package/cjs/packages/common/LRUCache.js +1 -4
- package/cjs/packages/common/array/index.js +1 -43
- package/cjs/packages/common/cache/LRUCache.js +1 -45
- package/cjs/packages/common/cache/index.js +1 -4
- package/cjs/packages/common/guards/index.js +1 -34
- package/cjs/packages/common/http/index.js +1 -0
- package/cjs/packages/common/i18n/default.js +1 -95
- package/cjs/packages/common/i18n/en-US.js +1 -95
- package/cjs/packages/common/i18n/index.js +1 -178
- package/cjs/packages/common/i18n/locales.js +1 -17
- package/cjs/packages/common/i18n/types.js +0 -1
- package/cjs/packages/common/index.js +1 -65
- package/cjs/packages/common/log/index.js +2 -160
- package/cjs/packages/common/number/index.js +1 -14
- package/cjs/packages/common/object/filterEmpty.js +1 -32
- package/cjs/packages/common/object/filtereEmpty.js +1 -5
- package/cjs/packages/common/object/index.js +1 -26
- package/cjs/packages/common/string/index.js +1 -17
- package/cjs/packages/common/types/index.js +0 -1
- package/cjs/packages/core/env.js +1 -27
- package/cjs/packages/core/index.js +1 -110
- package/cjs/packages/core/loader/config.js +1 -43
- package/cjs/packages/core/loader/controller.js +1 -33
- package/cjs/packages/core/loader/extend.js +1 -31
- package/cjs/packages/core/loader/middleware.js +1 -30
- package/cjs/packages/core/loader/model.js +1 -111
- package/cjs/packages/core/loader/router-schema.js +1 -36
- package/cjs/packages/core/loader/router.js +1 -62
- package/cjs/packages/core/loader/service.js +1 -30
- package/cjs/packages/core/paths.js +1 -12
- package/cjs/packages/core/types.js +0 -1
- package/cjs/packages/utils/getAllFilesInFolder.js +1 -14
- package/cjs/packages/utils/getAllFnReturnValue.js +0 -1
- package/cjs/packages/utils/index.js +1 -11
- package/cjs/packages/utils/loadFile.js +1 -55
- package/cjs/packages/utils/path.js +1 -31
- package/cjs/packages/utils/runFileFn.js +1 -51
- package/cjs/scripts/vite-build/build.js +3 -0
- package/cjs/scripts/vite-build/collect.js +1 -0
- package/cjs/scripts/vite-build/constants.js +1 -0
- package/cjs/scripts/vite-build/dts.js +1 -0
- package/cjs/scripts/vite-build/index.js +1 -0
- package/cjs/scripts/vite-build/normalize.js +1 -0
- package/cjs/scripts/vite-build/plugins.js +1 -0
- package/cjs/scripts/vite-build/resolve.js +1 -0
- package/cjs/scripts/vite-build/types.js +0 -0
- package/cjs/scripts/vite-build/utils.js +1 -0
- package/esm/_virtual/_rolldown/runtime.js +4 -29
- package/esm/app/controller/base.js +14 -16
- package/esm/app/controller/project.js +39 -46
- package/esm/app/controller/view.js +16 -14
- package/esm/app/extend/$fetch.js +15 -0
- package/esm/app/extend/db.js +138 -4
- package/esm/app/extend/generateErrorMessage.js +4 -12
- package/esm/app/extend/logger.js +9 -17
- package/esm/app/extend/parsingParamsOnUrl.js +11 -18
- package/esm/app/extend/render-view.js +18 -16
- package/esm/app/middleware/api-params-verify.js +36 -50
- package/esm/app/middleware/api-sign-verify.js +10 -16
- package/esm/app/middleware/error-handle.js +17 -30
- package/esm/app/middleware/project-handler.js +11 -16
- package/esm/app/middleware.js +12 -19
- package/esm/app/router/project.js +4 -6
- package/esm/app/router/view.js +4 -5
- package/esm/app/router-schema/project.js +2 -2
- package/esm/app/service/base.js +6 -7
- package/esm/app/service/project.js +18 -32
- package/esm/app/view/entry.tpl +27 -28
- package/esm/bundler/buildFB.js +54 -0
- package/esm/bundler/defaultAlias.js +2 -2
- package/esm/bundler/dev.js +8 -14
- package/esm/bundler/index.js +11 -9
- package/esm/bundler/prod.js +9 -14
- package/esm/bundler/state.js +10 -0
- package/esm/bundler/utils.js +115 -164
- package/esm/config/config.default.js +9 -0
- package/esm/index.js +12 -15
- package/esm/packages/common/LRUCache.js +2 -2
- package/esm/packages/common/array/index.js +21 -31
- package/esm/packages/common/cache/LRUCache.js +21 -25
- package/esm/packages/common/cache/index.js +2 -2
- package/esm/packages/common/guards/index.js +5 -23
- package/esm/packages/common/http/index.js +256 -0
- package/esm/packages/common/i18n/default.js +2 -7
- package/esm/packages/common/i18n/en-US.js +2 -7
- package/esm/packages/common/i18n/index.js +73 -144
- package/esm/packages/common/i18n/locales.js +6 -8
- package/esm/packages/common/index.js +14 -13
- package/esm/packages/common/log/index.js +69 -122
- package/esm/packages/common/number/index.js +7 -8
- package/esm/packages/common/object/filterEmpty.js +16 -22
- package/esm/packages/common/object/filtereEmpty.js +2 -2
- package/esm/packages/common/object/index.js +14 -17
- package/esm/packages/common/string/index.js +2 -11
- package/esm/packages/core/env.js +22 -24
- package/esm/packages/core/index.js +36 -92
- package/esm/packages/core/loader/config.js +21 -35
- package/esm/packages/core/loader/controller.js +8 -27
- package/esm/packages/core/loader/extend.js +19 -21
- package/esm/packages/core/loader/middleware.js +9 -22
- package/esm/packages/core/loader/model.js +50 -91
- package/esm/packages/core/loader/router-schema.js +13 -29
- package/esm/packages/core/loader/router.js +27 -51
- package/esm/packages/core/loader/service.js +8 -24
- package/esm/packages/core/paths.js +5 -5
- package/esm/packages/utils/getAllFilesInFolder.js +6 -8
- package/esm/packages/utils/index.js +5 -5
- package/esm/packages/utils/loadFile.js +28 -43
- package/esm/packages/utils/path.js +10 -22
- package/esm/packages/utils/runFileFn.js +32 -37
- package/esm/scripts/vite-build/build.js +141 -0
- package/esm/scripts/vite-build/collect.js +79 -0
- package/esm/scripts/vite-build/constants.js +34 -0
- package/esm/scripts/vite-build/dts.js +132 -0
- package/esm/scripts/vite-build/index.js +3 -0
- package/esm/scripts/vite-build/normalize.js +78 -0
- package/esm/scripts/vite-build/plugins.js +106 -0
- package/esm/scripts/vite-build/resolve.js +46 -0
- package/esm/scripts/vite-build/types.js +0 -0
- package/esm/scripts/vite-build/utils.js +24 -0
- package/fe/bundler/defaultAlias.js +4 -0
- package/fe/frontend/apps/dash/Dashboard.d.ts +6 -0
- package/fe/frontend/apps/dash/Dashboard.js +164 -0
- package/fe/frontend/apps/dash/dash.entry.js +54 -0
- package/fe/frontend/apps/dash/types.d.ts +25 -0
- package/fe/frontend/apps/dash/types.js +0 -0
- package/fe/frontend/apps/ui-components/index.js +16 -0
- package/fe/frontend/apps/ui-components/ui-components.entry.d.ts +2 -0
- package/fe/frontend/apps/ui-components/ui-components.entry.js +8 -0
- package/fe/frontend/extended/SchemaForm/data.d.ts +1 -1
- package/fe/frontend/extended/SchemaForm/data.js +7 -7
- package/fe/frontend/{widgets → src}/api/baseInfo.d.ts +2 -2
- package/fe/frontend/src/api/baseInfo.js +14 -0
- package/fe/frontend/src/common/CRUD/CRUD.d.ts +3 -0
- package/fe/frontend/src/common/CRUD/CRUD.js +2 -0
- package/fe/frontend/src/common/CRUD/index.d.ts +2 -0
- package/fe/frontend/src/common/CRUD/index.js +2 -0
- package/fe/frontend/src/common/auth/index.js +21 -0
- package/fe/frontend/{widgets/defaultPages/Schema/utils → src/common}/fetchErrorShow.d.ts +1 -1
- package/fe/frontend/src/common/fetchErrorShow.js +11 -0
- package/fe/frontend/src/common/generateMenuData.d.ts +4 -0
- package/fe/frontend/src/common/generateMenuData.js +16 -0
- package/fe/frontend/{widgets → src}/common/importComponent.d.ts +1 -1
- package/fe/frontend/src/common/importComponent.js +23 -0
- package/fe/frontend/src/common/language.d.ts +3 -0
- package/fe/frontend/src/common/language.js +12 -0
- package/fe/frontend/{widgets → src}/common/logFn/index.d.ts +1 -0
- package/fe/frontend/src/common/logFn/index.js +14 -0
- package/fe/frontend/{widgets → src}/common/menu.d.ts +1 -1
- package/fe/frontend/src/common/menu.js +97 -0
- package/fe/frontend/src/common/request.d.ts +37 -0
- package/fe/frontend/src/common/request.js +183 -0
- package/fe/frontend/{components → src/components}/AsyncSelect/AsyncSelect.d.ts +3 -3
- package/fe/frontend/src/components/AsyncSelect/AsyncSelect.js +35 -0
- package/fe/frontend/src/components/AsyncSelect/index.d.ts +4 -0
- package/fe/frontend/src/components/AsyncSelect/index.js +5 -0
- package/fe/frontend/{widgets → src}/components/BasePage/HeaderView.d.ts +1 -0
- package/fe/frontend/src/components/BasePage/HeaderView.js +55 -0
- package/fe/frontend/src/components/LanguageSwitch/LanguageSwitch.d.ts +14 -0
- package/fe/frontend/src/components/LanguageSwitch/LanguageSwitch.js +44 -0
- package/fe/frontend/src/components/LanguageSwitch/index.d.ts +4 -0
- package/fe/frontend/src/components/LanguageSwitch/index.js +5 -0
- package/fe/frontend/{widgets → src}/components/Router/index.d.ts +2 -2
- package/fe/frontend/src/components/Router/index.js +21 -0
- package/fe/frontend/src/components/Router/type.js +0 -0
- package/fe/frontend/src/components/ThemeSwitch/ThemeSwitch.d.ts +15 -0
- package/fe/frontend/src/components/ThemeSwitch/ThemeSwitch.js +83 -0
- package/fe/frontend/src/components/ThemeSwitch/index.d.ts +4 -0
- package/fe/frontend/src/components/ThemeSwitch/index.js +5 -0
- package/fe/frontend/src/components/index.d.ts +11 -0
- package/fe/frontend/src/components/index.js +7 -0
- package/fe/frontend/src/defaultPages/Iframe/index.js +15 -0
- package/fe/frontend/src/defaultPages/NotFoundPage/index.d.ts +3 -0
- package/fe/frontend/src/defaultPages/NotFoundPage/index.js +28 -0
- package/fe/frontend/{widgets/defaultPages/Schema → src/defaultPages/SchemaPage}/components/CallCom/DetailPanel.d.ts +1 -1
- package/fe/frontend/src/defaultPages/SchemaPage/components/CallCom/DetailPanel.js +102 -0
- package/fe/frontend/{widgets/defaultPages/Schema → src/defaultPages/SchemaPage}/components/CallCom/PopFrom.d.ts +1 -1
- package/fe/frontend/src/defaultPages/SchemaPage/components/CallCom/PopFrom.js +119 -0
- package/fe/frontend/src/defaultPages/SchemaPage/components/CallCom/builtIn.d.ts +44 -0
- package/fe/frontend/src/defaultPages/SchemaPage/components/CallCom/builtIn.js +10 -0
- package/fe/frontend/src/defaultPages/SchemaPage/components/CallCom/data.d.ts +4 -0
- package/fe/frontend/src/defaultPages/SchemaPage/components/CallCom/data.js +9 -0
- package/fe/frontend/src/defaultPages/SchemaPage/components/SchemaSearch/index.js +62 -0
- package/fe/frontend/{widgets/defaultPages/Schema → src/defaultPages/SchemaPage}/components/SchemaTable/index.d.ts +2 -2
- package/fe/frontend/src/defaultPages/SchemaPage/components/SchemaTable/index.js +200 -0
- package/fe/frontend/src/defaultPages/SchemaPage/data/eventInfo.js +9 -0
- package/fe/frontend/src/defaultPages/SchemaPage/data/index.js +4 -0
- package/fe/frontend/{widgets/defaultPages/Schema → src/defaultPages/SchemaPage}/hooks/useComConfig.d.ts +1 -1
- package/fe/frontend/src/defaultPages/SchemaPage/hooks/useComConfig.js +17 -0
- package/fe/frontend/src/defaultPages/SchemaPage/index.css +112 -0
- package/fe/frontend/{widgets/defaultPages/Schema → src/defaultPages/SchemaPage}/index.d.ts +1 -0
- package/fe/frontend/src/defaultPages/SchemaPage/index.js +90 -0
- package/fe/frontend/{widgets/defaultPages/Schema → src/defaultPages/SchemaPage}/schemaType.d.ts +7 -6
- package/fe/frontend/src/defaultPages/SchemaPage/schemaType.js +7 -0
- package/fe/frontend/src/defaultPages/SchemaPage/utils/permissions.js +6 -0
- package/fe/frontend/src/defaultPages/SchemaPage/utils/schemaConversion.d.ts +3 -0
- package/fe/frontend/src/defaultPages/SchemaPage/utils/schemaConversion.js +66 -0
- package/fe/frontend/src/defaultPages/SchemaPage/utils/validator.d.ts +11 -0
- package/fe/frontend/src/defaultPages/SchemaPage/utils/validator.js +122 -0
- package/fe/frontend/{widgets → src}/defaultPages/SidebarSlotPage/SidebarSlotContainer.d.ts +2 -2
- package/fe/frontend/src/defaultPages/SidebarSlotPage/SidebarSlotContainer.js +55 -0
- package/fe/frontend/src/defaultPages/SidebarSlotPage/index.js +21 -0
- package/fe/frontend/src/defaultPages/SidebarSlotPageTmp.js +21 -0
- package/fe/frontend/src/defaultPages/SlotPage/index.js +22 -0
- package/fe/frontend/src/exportStore.d.ts +17 -0
- package/fe/frontend/src/exportStore.js +5 -0
- package/fe/frontend/src/hooks/useCurrentMenuData.js +30 -0
- package/fe/frontend/src/hooks/useRouterParams.js +16 -0
- package/fe/frontend/src/index.d.ts +21 -0
- package/fe/frontend/src/index.js +19 -0
- package/fe/frontend/src/language/en-US.d.ts +89 -0
- package/fe/frontend/src/language/en-US.js +89 -0
- package/fe/frontend/src/language/index.d.ts +73 -0
- package/fe/frontend/src/language/index.js +79 -0
- package/fe/frontend/src/language/zh-CN.d.ts +89 -0
- package/fe/frontend/src/language/zh-CN.js +89 -0
- package/fe/frontend/src/main.css +96 -0
- package/fe/frontend/src/main.d.ts +27 -0
- package/fe/frontend/src/main.js +60 -0
- package/fe/frontend/src/stores/apiFreezer.d.ts +93 -0
- package/fe/frontend/src/stores/apiFreezer.js +53 -0
- package/fe/frontend/{widgets/store → src/stores}/mode.d.ts +3 -3
- package/fe/frontend/src/stores/mode.js +36 -0
- package/fe/frontend/{widgets/defaultPages/Schema → src}/stores/schemaEventBus.d.ts +1 -1
- package/fe/frontend/src/stores/schemaEventBus.js +53 -0
- package/fe/frontend/{widgets/defaultPages/Schema → src}/stores/schemaStore.d.ts +5 -5
- package/fe/frontend/src/stores/schemaStore.js +28 -0
- package/fe/frontend/{typing → src/typing}/scalability.d.ts +3 -3
- package/fe/frontend/src/typing/scalability.js +0 -0
- package/fe/frontend/src/typing/window.d.ts +9 -0
- package/fe/frontend/src/typing/window.js +0 -0
- package/fe/model/types/data/button.d.ts +4 -4
- package/fe/model/types/data/component.d.ts +32 -47
- package/fe/model/types/data/schema.d.ts +6 -6
- package/fe/model/types/data/search.d.ts +1 -1
- package/fe/model/types/model.d.ts +19 -12
- package/fe/packages/common/cache/LRUCache.js +43 -47
- package/fe/packages/common/guards/index.js +8 -24
- package/fe/packages/common/http/index.d.ts +90 -0
- package/fe/packages/common/http/index.js +300 -0
- package/fe/packages/common/i18n/default.js +91 -88
- package/fe/packages/common/i18n/en-US.js +91 -88
- package/fe/packages/common/i18n/index.d.ts +3 -3
- package/fe/packages/common/i18n/index.js +142 -153
- package/fe/packages/common/i18n/locales.d.ts +3 -3
- package/fe/packages/common/i18n/locales.js +10 -9
- package/fe/packages/common/index.d.ts +1 -0
- package/fe/packages/common/object/filterEmpty.js +25 -30
- package/fe/packages/react/hooks/useBreadcrumb.d.ts +10 -0
- package/fe/packages/react/hooks/useBreadcrumb.js +5 -0
- package/fe/packages/react/hooks/useExecuteOnce.js +47 -0
- package/fe/packages/react/hooks/useInit.js +11 -0
- package/fe/packages/react/hooks/useLanguage.d.ts +2 -0
- package/fe/packages/react/hooks/useLanguage.js +8 -0
- package/fe/packages/react/hooks/usePagination.js +30 -0
- package/fe/packages/{ui/react → react}/hooks/useRefState.d.ts +1 -1
- package/fe/packages/react/hooks/useRefState.js +35 -0
- package/fe/packages/react/hooks/useWatch.js +60 -0
- package/fe/packages/react/hooks/useWatch.test.js +24 -0
- package/fe/packages/react/ui/assets/table/no-result.js +4 -0
- package/fe/packages/{ui/react → react/ui}/components/Button/Button.d.ts +1 -1
- package/fe/packages/react/ui/components/Button/Button.js +88 -0
- package/fe/packages/react/ui/components/Button/SubmitButton.d.ts +13 -0
- package/fe/packages/react/ui/components/Button/SubmitButton.js +30 -0
- package/fe/packages/react/ui/components/Button/index.d.ts +4 -0
- package/fe/packages/react/ui/components/Button/index.js +3 -0
- package/fe/packages/react/ui/components/Card/Card.d.ts +15 -0
- package/fe/packages/react/ui/components/Card/Card.js +31 -0
- package/fe/packages/react/ui/components/Card/index.d.ts +2 -0
- package/fe/packages/react/ui/components/Card/index.js +2 -0
- package/fe/packages/{ui/react → react/ui}/components/Checkbox/Checkbox.d.ts +1 -1
- package/fe/packages/react/ui/components/Checkbox/Checkbox.js +52 -0
- package/fe/packages/react/ui/components/Checkbox/index.d.ts +2 -0
- package/fe/packages/react/ui/components/Checkbox/index.js +2 -0
- package/fe/packages/react/ui/components/ConfirmDialog/ConfirmDialog.js +41 -0
- package/fe/packages/react/ui/components/ConfirmDialog/index.d.ts +2 -0
- package/fe/packages/react/ui/components/ConfirmDialog/index.js +2 -0
- package/fe/packages/{ui/react → react/ui}/components/DataTable/ActionBtn.d.ts +1 -1
- package/fe/packages/react/ui/components/DataTable/ActionBtn.js +116 -0
- package/fe/packages/{ui/react → react/ui}/components/DataTable/index.d.ts +9 -7
- package/fe/packages/react/ui/components/DataTable/index.js +235 -0
- package/fe/packages/{ui/react → react/ui}/components/Date/Calendar.d.ts +2 -2
- package/fe/packages/react/ui/components/Date/Calendar.js +351 -0
- package/fe/packages/react/ui/components/Date/Date.js +210 -0
- package/fe/packages/react/ui/components/Date/DateTestPage.js +340 -0
- package/fe/packages/react/ui/components/Date/LocaleContext.js +11 -0
- package/fe/packages/{ui/react → react/ui}/components/Date/LocaleProvider.d.ts +2 -2
- package/fe/packages/react/ui/components/Date/LocaleProvider.js +31 -0
- package/fe/packages/react/ui/components/Date/TimePicker.js +136 -0
- package/fe/packages/react/ui/components/Date/data.js +7 -0
- package/fe/packages/{ui/react → react/ui}/components/Date/dateLocaleStore.d.ts +1 -1
- package/fe/packages/react/ui/components/Date/dateLocaleStore.js +14 -0
- package/fe/packages/react/ui/components/Date/dropdownPositioning.d.ts +3 -0
- package/fe/packages/react/ui/components/Date/dropdownPositioning.js +12 -0
- package/fe/packages/react/ui/components/Date/index.d.ts +6 -0
- package/fe/packages/react/ui/components/Date/index.js +6 -0
- package/fe/packages/react/ui/components/Date/locales.js +25 -0
- package/fe/packages/{ui/react → react/ui}/components/Drawer/Drawer.d.ts +1 -1
- package/fe/packages/react/ui/components/Drawer/Drawer.js +151 -0
- package/fe/packages/react/ui/components/Drawer/index.d.ts +3 -0
- package/fe/packages/react/ui/components/Drawer/index.js +2 -0
- package/fe/packages/{ui/react → react/ui}/components/Dropdown/Dropdown.d.ts +3 -2
- package/fe/packages/react/ui/components/Dropdown/Dropdown.js +105 -0
- package/fe/packages/react/ui/components/Dropdown/index.d.ts +2 -0
- package/fe/packages/react/ui/components/Dropdown/index.js +2 -0
- package/fe/packages/{ui/react → react/ui}/components/Form/Form.d.ts +2 -2
- package/fe/packages/react/ui/components/Form/Form.js +15 -0
- package/fe/packages/{ui/react → react/ui}/components/Form/FormItem.d.ts +3 -3
- package/fe/packages/react/ui/components/Form/FormItem.js +60 -0
- package/fe/packages/{ui/react → react/ui}/components/Form/SchemaForm/data.d.ts +8 -8
- package/fe/packages/react/ui/components/Form/SchemaForm/data.js +16 -0
- package/fe/packages/react/ui/components/Form/SchemaForm/defaultComponentsMap.d.ts +4 -0
- package/fe/packages/react/ui/components/Form/SchemaForm/defaultComponentsMap.js +4 -0
- package/fe/packages/{ui/react → react/ui}/components/Form/SchemaForm/index.d.ts +9 -9
- package/fe/packages/react/ui/components/Form/SchemaForm/index.js +119 -0
- package/fe/packages/react/ui/components/Form/index.d.ts +5 -0
- package/fe/packages/react/ui/components/Form/index.js +5 -0
- package/fe/packages/react/ui/components/Form/useForm.d.ts +3 -0
- package/fe/packages/react/ui/components/Form/useForm.js +2 -0
- package/fe/packages/react/ui/components/ImagePreview/ImagePreview.js +307 -0
- package/fe/packages/{ui/react → react/ui}/components/ImagePreview/PreviewImage.d.ts +2 -2
- package/fe/packages/react/ui/components/ImagePreview/PreviewImage.js +56 -0
- package/fe/packages/react/ui/components/ImagePreview/index.d.ts +3 -0
- package/fe/packages/react/ui/components/ImagePreview/index.js +3 -0
- package/fe/packages/{ui/react → react/ui}/components/Input/Input.d.ts +1 -1
- package/fe/packages/react/ui/components/Input/Input.js +88 -0
- package/fe/packages/react/ui/components/Input/index.d.ts +2 -0
- package/fe/packages/react/ui/components/Input/index.js +2 -0
- package/fe/packages/{ui/react → react/ui}/components/InputNumber/InputNumber.d.ts +2 -2
- package/fe/packages/react/ui/components/InputNumber/InputNumber.js +207 -0
- package/fe/packages/react/ui/components/InputNumber/index.d.ts +2 -0
- package/fe/packages/react/ui/components/InputNumber/index.js +2 -0
- package/fe/packages/react/ui/components/InputNumber/inputNumberUtils.js +45 -0
- package/fe/packages/react/ui/components/InputNumber/inputNumberUtils.test.js +59 -0
- package/fe/packages/{ui/react → react/ui}/components/Label/Label.d.ts +1 -1
- package/fe/packages/react/ui/components/Label/Label.js +58 -0
- package/fe/packages/react/ui/components/Label/index.d.ts +3 -0
- package/fe/packages/react/ui/components/Label/index.js +2 -0
- package/fe/packages/react/ui/components/Layout/Layout.d.ts +11 -0
- package/fe/packages/react/ui/components/Layout/Layout.js +33 -0
- package/fe/packages/react/ui/components/Layout/index.d.ts +2 -0
- package/fe/packages/react/ui/components/Layout/index.js +2 -0
- package/fe/packages/react/ui/components/Loading/Loading.d.ts +25 -0
- package/fe/packages/react/ui/components/Loading/Loading.js +48 -0
- package/fe/packages/react/ui/components/Loading/index.d.ts +2 -0
- package/fe/packages/react/ui/components/Loading/index.js +2 -0
- package/fe/packages/react/ui/components/Menu/Menu.js +147 -0
- package/fe/packages/react/ui/components/Menu/MenuContext.js +88 -0
- package/fe/packages/react/ui/components/Menu/MenuItem.js +78 -0
- package/fe/packages/react/ui/components/Menu/SubMenu.js +207 -0
- package/fe/packages/react/ui/components/Menu/index.d.ts +9 -0
- package/fe/packages/react/ui/components/Menu/index.js +5 -0
- package/fe/packages/{ui/react → react/ui}/components/Menu/menuTypes.d.ts +1 -1
- package/fe/packages/react/ui/components/Menu/menuTypes.js +0 -0
- package/fe/packages/react/ui/components/Menu/utils.js +8 -0
- package/fe/packages/{ui/react → react/ui}/components/Message/Message.d.ts +1 -1
- package/fe/packages/react/ui/components/Message/Message.js +76 -0
- package/fe/packages/{ui/react → react/ui}/components/Message/MessageManager.d.ts +2 -2
- package/fe/packages/react/ui/components/Message/MessageManager.js +104 -0
- package/fe/packages/react/ui/components/Message/data.js +4 -0
- package/fe/packages/react/ui/components/Message/index.d.ts +3 -0
- package/fe/packages/react/ui/components/Message/index.js +2 -0
- package/fe/packages/{ui/react → react/ui}/components/Modal/Modal.d.ts +1 -1
- package/fe/packages/react/ui/components/Modal/Modal.js +59 -0
- package/fe/packages/{ui/react → react/ui}/components/Modal/ModalManager.d.ts +5 -5
- package/fe/packages/react/ui/components/Modal/ModalManager.js +106 -0
- package/fe/packages/react/ui/components/Modal/index.d.ts +4 -0
- package/fe/packages/react/ui/components/Modal/index.js +3 -0
- package/fe/packages/react/ui/components/Notification/Notification.d.ts +14 -0
- package/fe/packages/react/ui/components/Notification/Notification.js +56 -0
- package/fe/packages/react/ui/components/Notification/index.d.ts +2 -0
- package/fe/packages/react/ui/components/Notification/index.js +2 -0
- package/fe/packages/{ui/react → react/ui}/components/Overlay/Overlay.d.ts +1 -1
- package/fe/packages/react/ui/components/Overlay/Overlay.js +61 -0
- package/fe/packages/react/ui/components/Overlay/index.d.ts +3 -0
- package/fe/packages/react/ui/components/Overlay/index.js +2 -0
- package/fe/packages/react/ui/components/Pagination/Pagination.js +115 -0
- package/fe/packages/react/ui/components/Pagination/index.d.ts +2 -0
- package/fe/packages/react/ui/components/Pagination/index.js +2 -0
- package/fe/packages/react/ui/components/Popup/Popup.js +86 -0
- package/fe/packages/react/ui/components/Popup/index.d.ts +2 -0
- package/fe/packages/react/ui/components/Popup/index.js +2 -0
- package/fe/packages/react/ui/components/Radio/Radio.d.ts +9 -0
- package/fe/packages/react/ui/components/Radio/Radio.js +36 -0
- package/fe/packages/react/ui/components/Radio/RadioGroup.d.ts +19 -0
- package/fe/packages/react/ui/components/Radio/RadioGroup.js +33 -0
- package/fe/packages/react/ui/components/Radio/index.d.ts +3 -0
- package/fe/packages/react/ui/components/Radio/index.js +3 -0
- package/fe/packages/{ui/react → react/ui}/components/Search/Search.d.ts +4 -4
- package/fe/packages/react/ui/components/Search/Search.js +24 -0
- package/fe/packages/react/ui/components/Search/index.d.ts +2 -0
- package/fe/packages/react/ui/components/Search/index.js +2 -0
- package/fe/packages/{ui/react → react/ui}/components/Select/Select.d.ts +1 -1
- package/fe/packages/react/ui/components/Select/Select.js +276 -0
- package/fe/packages/react/ui/components/Select/dropdownPositioning.d.ts +3 -0
- package/fe/packages/react/ui/components/Select/dropdownPositioning.js +16 -0
- package/fe/packages/react/ui/components/Select/index.d.ts +2 -0
- package/fe/packages/react/ui/components/Select/index.js +2 -0
- package/fe/packages/{ui/react → react/ui}/components/Skeleton/Skeleton.d.ts +1 -1
- package/fe/packages/react/ui/components/Skeleton/Skeleton.js +101 -0
- package/fe/packages/react/ui/components/Skeleton/index.d.ts +3 -0
- package/fe/packages/react/ui/components/Skeleton/index.js +2 -0
- package/fe/packages/{ui/react → react/ui}/components/Switch/Switch.d.ts +1 -1
- package/fe/packages/react/ui/components/Switch/Switch.js +28 -0
- package/fe/packages/react/ui/components/Switch/index.d.ts +2 -0
- package/fe/packages/react/ui/components/Switch/index.js +2 -0
- package/fe/packages/{ui/react → react/ui}/components/TableSearch/TableSearch.d.ts +6 -6
- package/fe/packages/react/ui/components/TableSearch/TableSearch.js +146 -0
- package/fe/packages/react/ui/components/TableSearch/index.d.ts +3 -0
- package/fe/packages/react/ui/components/TableSearch/index.js +2 -0
- package/fe/packages/react/ui/components/TableSearch/lang.js +14 -0
- package/fe/packages/{ui/react → react/ui}/components/TableSearch/tableSearchLocaleStore.d.ts +1 -1
- package/fe/packages/react/ui/components/TableSearch/tableSearchLocaleStore.js +10 -0
- package/fe/packages/react/ui/components/Tabs/Tabs.d.ts +16 -0
- package/fe/packages/react/ui/components/Tabs/Tabs.js +33 -0
- package/fe/packages/react/ui/components/Tabs/index.d.ts +2 -0
- package/fe/packages/react/ui/components/Tabs/index.js +2 -0
- package/fe/packages/react/ui/components/Textarea/Textarea.js +58 -0
- package/fe/packages/react/ui/components/Textarea/index.d.ts +2 -0
- package/fe/packages/react/ui/components/Textarea/index.js +2 -0
- package/fe/packages/react/ui/components/Tooltip/Tooltip.js +77 -0
- package/fe/packages/react/ui/components/Tooltip/index.d.ts +2 -0
- package/fe/packages/react/ui/components/Tooltip/index.js +2 -0
- package/fe/packages/react/ui/components/TreeSelect/TreeSelect.js +190 -0
- package/fe/packages/react/ui/components/TreeSelect/index.d.ts +2 -0
- package/fe/packages/react/ui/components/TreeSelect/index.js +2 -0
- package/fe/packages/react/ui/components/Upload/ImageUpload.js +101 -0
- package/fe/packages/{ui/react → react/ui}/components/Upload/Upload.d.ts +1 -1
- package/fe/packages/react/ui/components/Upload/Upload.js +29 -0
- package/fe/packages/react/ui/components/Upload/index.d.ts +3 -0
- package/fe/packages/react/ui/components/Upload/index.js +3 -0
- package/fe/packages/react/ui/components/breadcrumb/breadcrumb.js +155 -0
- package/fe/packages/react/ui/components/breadcrumb/index.d.ts +2 -0
- package/fe/packages/react/ui/components/breadcrumb/index.js +2 -0
- package/fe/packages/react/ui/components/hooks/useDropdownPositioning.js +121 -0
- package/fe/packages/react/ui/components/hooks/useInputController.js +39 -0
- package/fe/packages/react/ui/components/index.d.ts +36 -0
- package/fe/packages/react/ui/components/index.js +81 -0
- package/fe/packages/react/ui/components/table/index.d.ts +2 -0
- package/fe/packages/react/ui/components/table/index.js +2 -0
- package/fe/packages/{ui/react → react/ui}/components/table/table.d.ts +16 -3
- package/fe/packages/react/ui/components/table/table.js +166 -0
- package/fe/packages/react/ui/components/testPage/MenuTestPage.js +397 -0
- package/fe/packages/react/ui/components/testPage/index.js +1612 -0
- package/fe/packages/{ui/react → react/ui}/i18n/I18nProvider.d.ts +2 -2
- package/fe/packages/react/ui/i18n/I18nProvider.js +38 -0
- package/fe/packages/react/ui/i18n/index.d.ts +4 -0
- package/fe/packages/react/ui/i18n/index.js +7 -0
- package/fe/packages/react/ui/i18n/useI18n.d.ts +13 -0
- package/fe/packages/react/ui/i18n/useI18n.js +25 -0
- package/fe/packages/{ui/react → react/ui}/index.css +70 -9
- package/fe/packages/react/ui/index.d.ts +5 -0
- package/fe/packages/react/ui/index.js +58 -0
- package/fe/packages/{ui/react → react/ui}/lib/createStoreHook.d.ts +1 -1
- package/fe/packages/react/ui/lib/createStoreHook.js +9 -0
- package/fe/packages/{ui/react → react/ui}/lib/export.d.ts +1 -1
- package/fe/packages/react/ui/lib/export.js +112 -0
- package/fe/packages/react/ui/lib/utils.js +64 -0
- package/fe/packages/{ui/react → react/ui}/stores/breadcrumb.d.ts +1 -1
- package/fe/packages/react/ui/stores/breadcrumb.js +52 -0
- package/fe/packages/react/ui/stores/language.d.ts +4 -0
- package/fe/packages/react/ui/stores/language.js +4 -0
- package/fe/packages/react/ui/types/index.js +0 -0
- package/fe/typings/type.d.ts +1 -0
- package/model/index.d.ts +1 -1
- package/model/types/data/button.d.ts +4 -4
- package/model/types/data/component.d.ts +32 -47
- package/model/types/data/schema.d.ts +6 -6
- package/model/types/data/search.d.ts +1 -1
- package/model/types/index.d.ts +2 -1
- package/model/types/model.d.ts +19 -12
- package/package.json +37 -39
- package/types/app/controller/project.d.ts +14 -2
- package/types/app/controller/view.d.ts +1 -1
- package/types/app/extend/$fetch.d.ts +8 -0
- package/types/app/extend/db.d.ts +54 -1
- package/types/app/extend/render-view.d.ts +3 -0
- package/types/app/middleware/api-params-verify.d.ts +1 -1
- package/types/app/service/base.d.ts +3 -4
- package/types/app/service/project.d.ts +7 -2
- package/types/app/type.d.ts +5 -3
- package/types/app/typings.d.ts +4 -2
- package/types/bundler/buildFB.d.ts +13 -0
- package/types/bundler/index.d.ts +4 -1
- package/types/bundler/state.d.ts +18 -0
- package/types/bundler/utils.d.ts +5 -0
- package/types/config/config.default.d.ts +33 -2
- package/types/index.d.ts +6 -5
- package/{fe/frontend/widgets/common/CRUD/CRUD.d.ts → types/packages/common/http/index.d.ts} +29 -10
- package/types/packages/common/i18n/default.d.ts +5 -0
- package/types/packages/common/i18n/en-US.d.ts +5 -0
- package/types/packages/common/i18n/index.d.ts +24 -0
- package/types/packages/common/i18n/types.d.ts +24 -0
- package/types/packages/common/index.d.ts +1 -0
- package/types/packages/core/index.d.ts +3 -3
- package/types/packages/core/loader/config.d.ts +6 -0
- package/types/packages/core/loader/controller.d.ts +14 -0
- package/types/packages/core/loader/extend.d.ts +6 -1
- package/types/packages/core/loader/middleware.d.ts +8 -0
- package/types/packages/core/loader/model.d.ts +22 -0
- package/types/packages/core/loader/router-schema.d.ts +15 -0
- package/types/packages/core/loader/router.d.ts +5 -0
- package/types/packages/core/loader/service.d.ts +14 -0
- package/types/packages/core/paths.d.ts +10 -7
- package/types/packages/core/types.d.ts +59 -3
- package/types/packages/utils/getAllFilesInFolder.d.ts +5 -0
- package/types/packages/utils/loadFile.d.ts +6 -0
- package/types/packages/utils/path.d.ts +18 -0
- package/types/scripts/vite-build/build.d.ts +24 -0
- package/types/scripts/vite-build/collect.d.ts +57 -0
- package/types/scripts/vite-build/constants.d.ts +6 -0
- package/types/scripts/vite-build/dts.d.ts +53 -0
- package/types/scripts/vite-build/index.d.ts +2 -0
- package/types/scripts/vite-build/normalize.d.ts +66 -0
- package/types/scripts/vite-build/plugins.d.ts +67 -0
- package/types/scripts/vite-build/resolve.d.ts +61 -0
- package/types/scripts/vite-build/types.d.ts +174 -0
- package/types/scripts/vite-build/utils.d.ts +35 -0
- package/types/typings/type.d.ts +1 -0
- package/cjs/app/README.md +0 -286
- package/cjs/app/data/signKey.js +0 -23
- package/esm/app/README.md +0 -286
- package/esm/app/data/signKey.js +0 -10
- package/fe/frontend/components/AsyncSelect/AsyncSelect.js +0 -32
- package/fe/frontend/components/AsyncSelect/index.d.ts +0 -4
- package/fe/frontend/components/AsyncSelect/index.js +0 -3
- package/fe/frontend/dash/Dashboard.d.ts +0 -7
- package/fe/frontend/dash/Dashboard.js +0 -73
- package/fe/frontend/dash/dash.entry.js +0 -93
- package/fe/frontend/dash/types.d.ts +0 -17
- package/fe/frontend/dash/types.js +0 -1
- package/fe/frontend/index.d.ts +0 -5
- package/fe/frontend/index.js +0 -2
- package/fe/frontend/main.css +0 -5
- package/fe/frontend/main.d.ts +0 -11
- package/fe/frontend/main.js +0 -19
- package/fe/frontend/testPage/index.js +0 -6
- package/fe/frontend/testPage/testPage.entry.d.ts +0 -2
- package/fe/frontend/testPage/testPage.entry.js +0 -3
- package/fe/frontend/typing/scalability.js +0 -1
- package/fe/frontend/typing/window.d.ts +0 -7
- package/fe/frontend/typing/window.js +0 -1
- package/fe/frontend/widgets/api/baseInfo.js +0 -15
- package/fe/frontend/widgets/common/CRUD/CRUD.js +0 -208
- package/fe/frontend/widgets/common/CRUD/index.d.ts +0 -2
- package/fe/frontend/widgets/common/CRUD/index.js +0 -1
- package/fe/frontend/widgets/common/auth/index.js +0 -20
- package/fe/frontend/widgets/common/generateMenuData.d.ts +0 -4
- package/fe/frontend/widgets/common/generateMenuData.js +0 -14
- package/fe/frontend/widgets/common/importComponent.js +0 -8
- package/fe/frontend/widgets/common/language.d.ts +0 -2
- package/fe/frontend/widgets/common/language.js +0 -9
- package/fe/frontend/widgets/common/logFn/index.js +0 -8
- package/fe/frontend/widgets/common/menu.js +0 -101
- package/fe/frontend/widgets/common/request.d.ts +0 -36
- package/fe/frontend/widgets/common/request.js +0 -133
- package/fe/frontend/widgets/components/BasePage/HeaderView.js +0 -16
- package/fe/frontend/widgets/components/Router/index.js +0 -11
- package/fe/frontend/widgets/components/Router/type.js +0 -1
- package/fe/frontend/widgets/defaultPages/Iframe/index.js +0 -14
- package/fe/frontend/widgets/defaultPages/Schema/components/CallCom/DetailPanel.js +0 -94
- package/fe/frontend/widgets/defaultPages/Schema/components/CallCom/PopFrom.js +0 -124
- package/fe/frontend/widgets/defaultPages/Schema/components/CallCom/data.d.ts +0 -3
- package/fe/frontend/widgets/defaultPages/Schema/components/CallCom/data.js +0 -6
- package/fe/frontend/widgets/defaultPages/Schema/components/SchemaSearch/index.js +0 -63
- package/fe/frontend/widgets/defaultPages/Schema/components/SchemaTable/index.js +0 -188
- package/fe/frontend/widgets/defaultPages/Schema/data/eventInfo.js +0 -6
- package/fe/frontend/widgets/defaultPages/Schema/data/index.js +0 -1
- package/fe/frontend/widgets/defaultPages/Schema/hooks/useComConfig.js +0 -14
- package/fe/frontend/widgets/defaultPages/Schema/index.js +0 -74
- package/fe/frontend/widgets/defaultPages/Schema/schemaType.js +0 -4
- package/fe/frontend/widgets/defaultPages/Schema/stores/schemaEventBus.js +0 -70
- package/fe/frontend/widgets/defaultPages/Schema/stores/schemaStore.js +0 -26
- package/fe/frontend/widgets/defaultPages/Schema/utils/fetchErrorShow.js +0 -8
- package/fe/frontend/widgets/defaultPages/Schema/utils/permissions.js +0 -3
- package/fe/frontend/widgets/defaultPages/Schema/utils/schemaConversion.d.ts +0 -3
- package/fe/frontend/widgets/defaultPages/Schema/utils/schemaConversion.js +0 -115
- package/fe/frontend/widgets/defaultPages/Schema/utils/validator.d.ts +0 -7
- package/fe/frontend/widgets/defaultPages/Schema/utils/validator.js +0 -36
- package/fe/frontend/widgets/defaultPages/SidebarSlotPage/SidebarSlotContainer.js +0 -38
- package/fe/frontend/widgets/defaultPages/SidebarSlotPage/index.js +0 -16
- package/fe/frontend/widgets/defaultPages/SidebarSlotPageTmp.js +0 -17
- package/fe/frontend/widgets/defaultPages/SlotPage/index.js +0 -26
- package/fe/frontend/widgets/defaultPages/Todo.d.ts +0 -3
- package/fe/frontend/widgets/defaultPages/Todo.js +0 -5
- package/fe/frontend/widgets/hooks/useCurrentMenuData.js +0 -28
- package/fe/frontend/widgets/hooks/useRouterParams.js +0 -11
- package/fe/frontend/widgets/store/mode.js +0 -37
- package/fe/model/types/data/button.js +0 -16
- package/fe/model/types/data/component.js +0 -11
- package/fe/model/types/data/fetchInfo.js +0 -1
- package/fe/model/types/data/schema.js +0 -1
- package/fe/model/types/data/search.js +0 -1
- package/fe/model/types/menuType.js +0 -1
- package/fe/model/types/model.js +0 -1
- package/fe/packages/common/array/index.js +0 -40
- package/fe/packages/common/cache/index.js +0 -1
- package/fe/packages/common/i18n/types.js +0 -1
- package/fe/packages/common/index.js +0 -9
- package/fe/packages/common/log/index.js +0 -176
- package/fe/packages/common/number/index.js +0 -10
- package/fe/packages/common/object/index.js +0 -25
- package/fe/packages/common/string/index.js +0 -17
- package/fe/packages/common/types/index.js +0 -1
- package/fe/packages/ui/react/components/Button/Button.js +0 -72
- package/fe/packages/ui/react/components/Button/SumbitButton.d.ts +0 -13
- package/fe/packages/ui/react/components/Button/SumbitButton.js +0 -25
- package/fe/packages/ui/react/components/Button/index.d.ts +0 -4
- package/fe/packages/ui/react/components/Button/index.js +0 -2
- package/fe/packages/ui/react/components/Checkbox/Checkbox.js +0 -39
- package/fe/packages/ui/react/components/Checkbox/index.d.ts +0 -2
- package/fe/packages/ui/react/components/Checkbox/index.js +0 -1
- package/fe/packages/ui/react/components/ConfirmDialog/ConfirmDialog.js +0 -11
- package/fe/packages/ui/react/components/ConfirmDialog/index.d.ts +0 -2
- package/fe/packages/ui/react/components/ConfirmDialog/index.js +0 -1
- package/fe/packages/ui/react/components/DataTable/ActionBtn.js +0 -94
- package/fe/packages/ui/react/components/DataTable/index.js +0 -155
- package/fe/packages/ui/react/components/Date/Calendar.js +0 -216
- package/fe/packages/ui/react/components/Date/Date.js +0 -201
- package/fe/packages/ui/react/components/Date/DateTestPage.js +0 -29
- package/fe/packages/ui/react/components/Date/LocaleContext.js +0 -8
- package/fe/packages/ui/react/components/Date/LocaleProvider.js +0 -24
- package/fe/packages/ui/react/components/Date/TimePicker.js +0 -78
- package/fe/packages/ui/react/components/Date/data.js +0 -4
- package/fe/packages/ui/react/components/Date/dateLocaleStore.js +0 -14
- package/fe/packages/ui/react/components/Date/dropdownPositioning.d.ts +0 -3
- package/fe/packages/ui/react/components/Date/dropdownPositioning.js +0 -12
- package/fe/packages/ui/react/components/Date/index.d.ts +0 -6
- package/fe/packages/ui/react/components/Date/index.js +0 -5
- package/fe/packages/ui/react/components/Date/locales.js +0 -21
- package/fe/packages/ui/react/components/Drawer/Drawer.js +0 -100
- package/fe/packages/ui/react/components/Drawer/index.d.ts +0 -3
- package/fe/packages/ui/react/components/Drawer/index.js +0 -1
- package/fe/packages/ui/react/components/Dropdown/Dropdown.js +0 -28
- package/fe/packages/ui/react/components/Dropdown/index.d.ts +0 -2
- package/fe/packages/ui/react/components/Dropdown/index.js +0 -1
- package/fe/packages/ui/react/components/Form/Form.js +0 -8
- package/fe/packages/ui/react/components/Form/FormItem.js +0 -43
- package/fe/packages/ui/react/components/Form/SchemaForm/data.js +0 -18
- package/fe/packages/ui/react/components/Form/SchemaForm/index.js +0 -79
- package/fe/packages/ui/react/components/Form/index.d.ts +0 -5
- package/fe/packages/ui/react/components/Form/index.js +0 -4
- package/fe/packages/ui/react/components/Form/useForm.d.ts +0 -3
- package/fe/packages/ui/react/components/Form/useForm.js +0 -1
- package/fe/packages/ui/react/components/ImagePreview/ImagePreview.js +0 -169
- package/fe/packages/ui/react/components/ImagePreview/PreviewImage.js +0 -28
- package/fe/packages/ui/react/components/ImagePreview/index.d.ts +0 -3
- package/fe/packages/ui/react/components/ImagePreview/index.js +0 -2
- package/fe/packages/ui/react/components/Input/Input.js +0 -61
- package/fe/packages/ui/react/components/Input/index.d.ts +0 -2
- package/fe/packages/ui/react/components/Input/index.js +0 -1
- package/fe/packages/ui/react/components/InputNumber/InputNumber.js +0 -144
- package/fe/packages/ui/react/components/InputNumber/index.d.ts +0 -2
- package/fe/packages/ui/react/components/InputNumber/index.js +0 -1
- package/fe/packages/ui/react/components/InputNumber/inputNumberUtils.js +0 -63
- package/fe/packages/ui/react/components/InputNumber/inputNumberUtils.test.js +0 -27
- package/fe/packages/ui/react/components/Label/Label.js +0 -35
- package/fe/packages/ui/react/components/Label/index.d.ts +0 -3
- package/fe/packages/ui/react/components/Label/index.js +0 -2
- package/fe/packages/ui/react/components/Menu/Menu.js +0 -102
- package/fe/packages/ui/react/components/Menu/MenuContext.js +0 -97
- package/fe/packages/ui/react/components/Menu/MenuItem.js +0 -33
- package/fe/packages/ui/react/components/Menu/SubMenu.js +0 -169
- package/fe/packages/ui/react/components/Menu/index.d.ts +0 -9
- package/fe/packages/ui/react/components/Menu/index.js +0 -5
- package/fe/packages/ui/react/components/Menu/menuTypes.js +0 -1
- package/fe/packages/ui/react/components/Menu/utils.js +0 -7
- package/fe/packages/ui/react/components/Message/Message.js +0 -58
- package/fe/packages/ui/react/components/Message/MessageManager.js +0 -90
- package/fe/packages/ui/react/components/Message/data.js +0 -1
- package/fe/packages/ui/react/components/Message/index.d.ts +0 -3
- package/fe/packages/ui/react/components/Message/index.js +0 -1
- package/fe/packages/ui/react/components/Modal/Modal.js +0 -14
- package/fe/packages/ui/react/components/Modal/ModalManager.js +0 -90
- package/fe/packages/ui/react/components/Modal/index.d.ts +0 -4
- package/fe/packages/ui/react/components/Modal/index.js +0 -2
- package/fe/packages/ui/react/components/Overlay/Overlay.js +0 -53
- package/fe/packages/ui/react/components/Overlay/index.d.ts +0 -3
- package/fe/packages/ui/react/components/Overlay/index.js +0 -1
- package/fe/packages/ui/react/components/Pagination/Pagination.js +0 -88
- package/fe/packages/ui/react/components/Pagination/index.d.ts +0 -2
- package/fe/packages/ui/react/components/Pagination/index.js +0 -1
- package/fe/packages/ui/react/components/Popup/Popup.js +0 -81
- package/fe/packages/ui/react/components/Popup/index.d.ts +0 -2
- package/fe/packages/ui/react/components/Popup/index.js +0 -1
- package/fe/packages/ui/react/components/Search/Search.js +0 -12
- package/fe/packages/ui/react/components/Search/index.d.ts +0 -2
- package/fe/packages/ui/react/components/Search/index.js +0 -1
- package/fe/packages/ui/react/components/Select/Select.js +0 -123
- package/fe/packages/ui/react/components/Select/dropdownPositioning.d.ts +0 -3
- package/fe/packages/ui/react/components/Select/dropdownPositioning.js +0 -13
- package/fe/packages/ui/react/components/Select/index.d.ts +0 -2
- package/fe/packages/ui/react/components/Select/index.js +0 -1
- package/fe/packages/ui/react/components/Skeleton/Skeleton.js +0 -31
- package/fe/packages/ui/react/components/Skeleton/index.d.ts +0 -3
- package/fe/packages/ui/react/components/Skeleton/index.js +0 -1
- package/fe/packages/ui/react/components/Switch/Switch.js +0 -22
- package/fe/packages/ui/react/components/Switch/index.d.ts +0 -2
- package/fe/packages/ui/react/components/Switch/index.js +0 -1
- package/fe/packages/ui/react/components/TableSearch/TableSearch.js +0 -121
- package/fe/packages/ui/react/components/TableSearch/index.d.ts +0 -2
- package/fe/packages/ui/react/components/TableSearch/index.js +0 -1
- package/fe/packages/ui/react/components/TableSearch/lang.js +0 -14
- package/fe/packages/ui/react/components/TableSearch/tableSearchLocaleStore.js +0 -11
- package/fe/packages/ui/react/components/Textarea/Textarea.js +0 -37
- package/fe/packages/ui/react/components/Textarea/index.d.ts +0 -2
- package/fe/packages/ui/react/components/Textarea/index.js +0 -1
- package/fe/packages/ui/react/components/Tooltip/Tooltip.js +0 -79
- package/fe/packages/ui/react/components/Tooltip/index.d.ts +0 -2
- package/fe/packages/ui/react/components/Tooltip/index.js +0 -1
- package/fe/packages/ui/react/components/TreeSelect/TreeSelect.js +0 -160
- package/fe/packages/ui/react/components/TreeSelect/index.d.ts +0 -2
- package/fe/packages/ui/react/components/TreeSelect/index.js +0 -1
- package/fe/packages/ui/react/components/Upload/ImageUpload.js +0 -75
- package/fe/packages/ui/react/components/Upload/Upload.js +0 -6
- package/fe/packages/ui/react/components/Upload/index.d.ts +0 -3
- package/fe/packages/ui/react/components/Upload/index.js +0 -2
- package/fe/packages/ui/react/components/breadcrumb/breadcrumb.js +0 -81
- package/fe/packages/ui/react/components/breadcrumb/index.d.ts +0 -2
- package/fe/packages/ui/react/components/breadcrumb/index.js +0 -1
- package/fe/packages/ui/react/components/hooks/useDropdownPositioning.js +0 -137
- package/fe/packages/ui/react/components/hooks/useInputController.js +0 -45
- package/fe/packages/ui/react/components/index.d.ts +0 -30
- package/fe/packages/ui/react/components/index.js +0 -29
- package/fe/packages/ui/react/components/table/index.d.ts +0 -2
- package/fe/packages/ui/react/components/table/index.js +0 -1
- package/fe/packages/ui/react/components/table/table.js +0 -20
- package/fe/packages/ui/react/components/testPage/MenuTestPage.js +0 -104
- package/fe/packages/ui/react/components/testPage/index.js +0 -314
- package/fe/packages/ui/react/hooks/useBreadcrumb.d.ts +0 -10
- package/fe/packages/ui/react/hooks/useBreadcrumb.js +0 -2
- package/fe/packages/ui/react/hooks/useExecuteOnce.js +0 -57
- package/fe/packages/ui/react/hooks/useInit.js +0 -9
- package/fe/packages/ui/react/hooks/useLanguage.d.ts +0 -2
- package/fe/packages/ui/react/hooks/useLanguage.js +0 -4
- package/fe/packages/ui/react/hooks/usePagination.js +0 -27
- package/fe/packages/ui/react/hooks/useRefState.js +0 -29
- package/fe/packages/ui/react/hooks/useWatch.js +0 -87
- package/fe/packages/ui/react/hooks/useWatch.test.js +0 -22
- package/fe/packages/ui/react/i18n/I18nProvider.js +0 -25
- package/fe/packages/ui/react/i18n/index.d.ts +0 -4
- package/fe/packages/ui/react/i18n/index.js +0 -3
- package/fe/packages/ui/react/i18n/useI18n.d.ts +0 -13
- package/fe/packages/ui/react/i18n/useI18n.js +0 -18
- package/fe/packages/ui/react/index.d.ts +0 -5
- package/fe/packages/ui/react/index.js +0 -6
- package/fe/packages/ui/react/lib/createStoreHook.js +0 -6
- package/fe/packages/ui/react/lib/export.js +0 -138
- package/fe/packages/ui/react/lib/utils.js +0 -70
- package/fe/packages/ui/react/stores/breadcrumb.js +0 -66
- package/fe/packages/ui/react/stores/language.d.ts +0 -4
- package/fe/packages/ui/react/stores/language.js +0 -2
- package/fe/packages/ui/react/types/index.js +0 -1
- package/fe/typings/type.js +0 -1
- package/types/app/data/signKey.d.ts +0 -1
- /package/fe/frontend/{dash → apps/dash}/dash.entry.d.ts +0 -0
- /package/fe/frontend/{testPage → apps/ui-components}/index.d.ts +0 -0
- /package/fe/frontend/{widgets → src}/common/auth/index.d.ts +0 -0
- /package/fe/frontend/{widgets → src}/components/Router/type.d.ts +0 -0
- /package/fe/frontend/{widgets → src}/defaultPages/Iframe/index.d.ts +0 -0
- /package/fe/frontend/{widgets/defaultPages/Schema → src/defaultPages/SchemaPage}/components/SchemaSearch/index.d.ts +0 -0
- /package/fe/frontend/{widgets/defaultPages/Schema → src/defaultPages/SchemaPage}/data/eventInfo.d.ts +0 -0
- /package/fe/frontend/{widgets/defaultPages/Schema → src/defaultPages/SchemaPage}/data/index.d.ts +0 -0
- /package/fe/frontend/{widgets/defaultPages/Schema → src/defaultPages/SchemaPage}/utils/permissions.d.ts +0 -0
- /package/fe/frontend/{widgets → src}/defaultPages/SidebarSlotPage/index.d.ts +0 -0
- /package/fe/frontend/{widgets → src}/defaultPages/SidebarSlotPageTmp.d.ts +0 -0
- /package/fe/frontend/{widgets → src}/defaultPages/SlotPage/index.d.ts +0 -0
- /package/fe/frontend/{widgets → src}/hooks/useCurrentMenuData.d.ts +0 -0
- /package/fe/frontend/{widgets → src}/hooks/useRouterParams.d.ts +0 -0
- /package/fe/packages/{ui/react → react}/hooks/useExecuteOnce.d.ts +0 -0
- /package/fe/packages/{ui/react → react}/hooks/useInit.d.ts +0 -0
- /package/fe/packages/{ui/react → react}/hooks/usePagination.d.ts +0 -0
- /package/fe/packages/{ui/react → react}/hooks/useWatch.d.ts +0 -0
- /package/fe/packages/{ui/react → react}/hooks/useWatch.test.d.ts +0 -0
- /package/fe/packages/{ui/react → react/ui}/assets/table/no-result.svg +0 -0
- /package/fe/packages/{ui/react → react/ui}/components/ConfirmDialog/ConfirmDialog.d.ts +0 -0
- /package/fe/packages/{ui/react → react/ui}/components/Date/Date.d.ts +0 -0
- /package/fe/packages/{ui/react → react/ui}/components/Date/DateTestPage.d.ts +0 -0
- /package/fe/packages/{ui/react → react/ui}/components/Date/LocaleContext.d.ts +0 -0
- /package/fe/packages/{ui/react → react/ui}/components/Date/TimePicker.d.ts +0 -0
- /package/fe/packages/{ui/react → react/ui}/components/Date/data.d.ts +0 -0
- /package/fe/packages/{ui/react → react/ui}/components/Date/locales.d.ts +0 -0
- /package/fe/packages/{ui/react → react/ui}/components/ImagePreview/ImagePreview.d.ts +0 -0
- /package/fe/packages/{ui/react → react/ui}/components/InputNumber/inputNumberUtils.d.ts +0 -0
- /package/fe/packages/{ui/react → react/ui}/components/InputNumber/inputNumberUtils.test.d.ts +0 -0
- /package/fe/packages/{ui/react → react/ui}/components/Menu/Menu.d.ts +0 -0
- /package/fe/packages/{ui/react → react/ui}/components/Menu/MenuContext.d.ts +0 -0
- /package/fe/packages/{ui/react → react/ui}/components/Menu/MenuItem.d.ts +0 -0
- /package/fe/packages/{ui/react → react/ui}/components/Menu/SubMenu.d.ts +0 -0
- /package/fe/packages/{ui/react → react/ui}/components/Menu/utils.d.ts +0 -0
- /package/fe/packages/{ui/react → react/ui}/components/Message/data.d.ts +0 -0
- /package/fe/packages/{ui/react → react/ui}/components/Pagination/Pagination.d.ts +0 -0
- /package/fe/packages/{ui/react → react/ui}/components/Popup/Popup.d.ts +0 -0
- /package/fe/packages/{ui/react → react/ui}/components/TableSearch/lang.d.ts +0 -0
- /package/fe/packages/{ui/react → react/ui}/components/Textarea/Textarea.d.ts +0 -0
- /package/fe/packages/{ui/react → react/ui}/components/Tooltip/Tooltip.d.ts +0 -0
- /package/fe/packages/{ui/react → react/ui}/components/TreeSelect/TreeSelect.d.ts +0 -0
- /package/fe/packages/{ui/react → react/ui}/components/Upload/ImageUpload.d.ts +0 -0
- /package/fe/packages/{ui/react → react/ui}/components/breadcrumb/breadcrumb.d.ts +0 -0
- /package/fe/packages/{ui/react → react/ui}/components/hooks/useDropdownPositioning.d.ts +0 -0
- /package/fe/packages/{ui/react → react/ui}/components/hooks/useInputController.d.ts +0 -0
- /package/fe/packages/{ui/react → react/ui}/components/testPage/MenuTestPage.d.ts +0 -0
- /package/fe/packages/{ui/react → react/ui}/components/testPage/index.d.ts +0 -0
- /package/fe/packages/{ui/react → react/ui}/lib/utils.d.ts +0 -0
- /package/fe/packages/{ui/react → react/ui}/types/index.d.ts +0 -0
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import type { Alias } from "vite";
|
|
2
|
+
import type { BuildEntriesConfig, BuildFormat, CopyConfig, ExtensionConfig, IgnoreConfig, NormalizedCopyConfig, NormalizedDtsConfig } from "./types.ts";
|
|
3
|
+
/**
|
|
4
|
+
* 标准化文件扩展名配置
|
|
5
|
+
* 合并默认扩展名和自定义扩展名,确保扩展名以点开头
|
|
6
|
+
* @param extensionOptions - 扩展名配置,包含 input 数组和 mergeDefault 标志
|
|
7
|
+
* @returns 标准化后的扩展名数组(去重)
|
|
8
|
+
*/
|
|
9
|
+
export declare function normalizeExtensions(extensionOptions?: ExtensionConfig): string[];
|
|
10
|
+
/**
|
|
11
|
+
* 标准化忽略配置
|
|
12
|
+
* 提供默认值确保返回完整的配置对象
|
|
13
|
+
* @param ignoreOptions - 忽略配置
|
|
14
|
+
* @returns 包含 input 和 importPolicy 的完整配置对象
|
|
15
|
+
*/
|
|
16
|
+
export declare function normalizeIgnore(ignoreOptions?: IgnoreConfig): Required<IgnoreConfig>;
|
|
17
|
+
/**
|
|
18
|
+
* 标准化路径别名配置
|
|
19
|
+
* 支持对象格式和数组格式,将相对路径转换为绝对路径
|
|
20
|
+
* @param aliasOptions - 别名配置(对象或数组格式)
|
|
21
|
+
* @param rootDir - 项目根目录
|
|
22
|
+
* @returns Vite Alias 数组
|
|
23
|
+
*/
|
|
24
|
+
export declare function normalizeAlias(aliasOptions: BuildEntriesConfig['alias'], rootDir: string): Alias[];
|
|
25
|
+
/**
|
|
26
|
+
* 标准化非代码文件扩展名配置
|
|
27
|
+
* 用于识别需要复制而非编译的资源文件
|
|
28
|
+
* @param extensionOptions - 扩展名配置
|
|
29
|
+
* @returns 标准化后的扩展名数组(去重)
|
|
30
|
+
*/
|
|
31
|
+
export declare function normalizeNonCodeExtensions(extensionOptions?: ExtensionConfig): string[];
|
|
32
|
+
/**
|
|
33
|
+
* 标准化输出格式配置
|
|
34
|
+
* 确保返回有效的格式数组
|
|
35
|
+
* @param formatOptions - 格式配置(单个格式或数组)
|
|
36
|
+
* @returns 格式数组,默认 ['es', 'cjs']
|
|
37
|
+
*/
|
|
38
|
+
export declare function normalizeFormats(formatOptions?: BuildFormat | BuildFormat[]): BuildFormat[];
|
|
39
|
+
/**
|
|
40
|
+
* 标准化类型声明文件配置
|
|
41
|
+
* 支持布尔值、对象配置或 undefined
|
|
42
|
+
* @param dtsOptions - DTS 配置选项
|
|
43
|
+
* @param outputRoot - 输出根目录
|
|
44
|
+
* @returns 标准化的 DTS 配置对象
|
|
45
|
+
*/
|
|
46
|
+
export declare function normalizeDtsConfig(dtsOptions: BuildEntriesConfig['dts'], outputRoot: string): NormalizedDtsConfig;
|
|
47
|
+
/**
|
|
48
|
+
* 标准化格式输出目录映射
|
|
49
|
+
* 默认保持历史行为:es -> esm, cjs -> cjs
|
|
50
|
+
*/
|
|
51
|
+
export declare function normalizeFormatOutDir(formatOutDir: BuildEntriesConfig['formatOutDir']): Partial<Record<BuildFormat, string>>;
|
|
52
|
+
/**
|
|
53
|
+
* 检查并阻止将资源文件扩展名添加到代码扩展名列表
|
|
54
|
+
* 防止将 .css、.svg 等文件当作代码编译
|
|
55
|
+
* @param extensions - 代码文件扩展名列表
|
|
56
|
+
* @param nonCodeExtensions - 非代码文件扩展名列表
|
|
57
|
+
* @throws 如果发现资源文件扩展名混入代码扩展名列表
|
|
58
|
+
*/
|
|
59
|
+
export declare function assertNoCommonAssetExtensions(extensions: string[], nonCodeExtensions: string[]): void;
|
|
60
|
+
/**
|
|
61
|
+
* 标准化复制文件配置
|
|
62
|
+
* 配置需要原样复制的资源文件
|
|
63
|
+
* @param copyOptions - 复制配置
|
|
64
|
+
* @returns 标准化的复制配置对象
|
|
65
|
+
*/
|
|
66
|
+
export declare function normalizeCopy(copyOptions?: CopyConfig): NormalizedCopyConfig;
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import type { Plugin, PluginOption } from "vite";
|
|
2
|
+
import type { BuildContext, BuildEntriesFilePlugin, BuildEntriesFilePluginOptions, InternalPlugin } from "./types.ts";
|
|
3
|
+
/**
|
|
4
|
+
* 创建构建文件插件的基础工厂函数
|
|
5
|
+
* 用于创建可以处理文件复制或转换的 Vite 插件
|
|
6
|
+
* @param pluginOptions - 插件配置选项
|
|
7
|
+
* @returns BuildEntriesFilePlugin 对象
|
|
8
|
+
*/
|
|
9
|
+
export declare function createBuildEntriesFilePlugin(pluginOptions?: BuildEntriesFilePluginOptions): BuildEntriesFilePlugin;
|
|
10
|
+
/**
|
|
11
|
+
* 创建文件复制插件
|
|
12
|
+
* 用于将非代码文件原样复制到输出目录
|
|
13
|
+
* @param options - 插件配置选项
|
|
14
|
+
* @param options.rename - 可选的重命名函数
|
|
15
|
+
* @returns BuildEntriesFilePlugin 对象,kind 为 'copy'
|
|
16
|
+
*/
|
|
17
|
+
export declare function createCopyPlugin(options?: BuildEntriesFilePluginOptions): BuildEntriesFilePlugin;
|
|
18
|
+
/**
|
|
19
|
+
* 创建文件转换插件
|
|
20
|
+
* 用于对文件内容进行自定义转换处理
|
|
21
|
+
* @param options - 插件配置选项
|
|
22
|
+
* @param options.transform - 文件转换函数
|
|
23
|
+
* @returns BuildEntriesFilePlugin 对象
|
|
24
|
+
*/
|
|
25
|
+
export declare function createFilePlugin(options?: BuildEntriesFilePluginOptions): BuildEntriesFilePlugin;
|
|
26
|
+
/**
|
|
27
|
+
* 将 BuildEntriesFilePlugin 转换为实际的 Vite 插件
|
|
28
|
+
* 在 writeBundle 阶段处理文件并输出到目标目录
|
|
29
|
+
* @param plugin - BuildEntriesFilePlugin 实例
|
|
30
|
+
* @param buildContext - 构建上下文信息
|
|
31
|
+
* @returns Vite Plugin 对象
|
|
32
|
+
*/
|
|
33
|
+
export declare function hydrateFilePlugin(plugin: BuildEntriesFilePlugin, buildContext: BuildContext): Plugin;
|
|
34
|
+
/**
|
|
35
|
+
* 准备 Vite 插件列表
|
|
36
|
+
* 将内部插件格式转换为标准 Vite 插件
|
|
37
|
+
* @param plugins - 内部插件列表
|
|
38
|
+
* @param buildContext - 构建上下文信息
|
|
39
|
+
* @returns 标准 Vite 插件数组
|
|
40
|
+
*/
|
|
41
|
+
export declare function prepareVitePlugins(plugins: InternalPlugin[], buildContext: BuildContext): Plugin[];
|
|
42
|
+
/**
|
|
43
|
+
* 标准化插件配置
|
|
44
|
+
* 支持多种配置格式:数组、对象配置或 undefined
|
|
45
|
+
* @param pluginOptions - 插件配置
|
|
46
|
+
* @param defaultPlugins - 默认插件列表
|
|
47
|
+
* @returns 标准化的内部插件数组
|
|
48
|
+
*/
|
|
49
|
+
export declare function normalizePlugins(pluginOptions: {
|
|
50
|
+
input?: PluginOption[];
|
|
51
|
+
mergeDefault?: boolean;
|
|
52
|
+
} | PluginOption[] | undefined, defaultPlugins?: InternalPlugin[]): InternalPlugin[];
|
|
53
|
+
/**
|
|
54
|
+
* 合并默认插件和用户插件
|
|
55
|
+
* 如果用户提供了自定义复制插件,则移除默认的复制插件
|
|
56
|
+
* @param defaultPlugins - 默认插件列表
|
|
57
|
+
* @param inputPlugins - 用户插件列表
|
|
58
|
+
* @returns 合并后的插件数组
|
|
59
|
+
*/
|
|
60
|
+
export declare function mergePlugins(defaultPlugins: InternalPlugin[], inputPlugins: InternalPlugin[]): InternalPlugin[];
|
|
61
|
+
/**
|
|
62
|
+
* 扁平化插件选项数组
|
|
63
|
+
* 递归处理嵌套数组,过滤空值
|
|
64
|
+
* @param pluginOptions - 可能包含嵌套的插件选项数组
|
|
65
|
+
* @returns 扁平化的内部插件数组
|
|
66
|
+
*/
|
|
67
|
+
export declare function flattenPluginOptions(pluginOptions: PluginOption[]): InternalPlugin[];
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import type { Alias } from "vite";
|
|
2
|
+
import type { ExternalMatcher, ExternalOption, ExtensionConfig } from "./types.ts";
|
|
3
|
+
/**
|
|
4
|
+
* 解析导入路径的实际文件位置
|
|
5
|
+
* 处理相对路径、路径别名和扩展名补全
|
|
6
|
+
* @param importer - 导入文件的绝对路径
|
|
7
|
+
* @param source - 导入标识符
|
|
8
|
+
* @param extensions - 需要尝试的文件扩展名
|
|
9
|
+
* @param aliases - 路径别名配置
|
|
10
|
+
* @returns 解析后的文件绝对路径
|
|
11
|
+
*/
|
|
12
|
+
export declare function resolveImportPath(importer: string, source: string, extensions: string[], aliases: Alias[]): Promise<string>;
|
|
13
|
+
/**
|
|
14
|
+
* 创建路径忽略判断函数
|
|
15
|
+
* 用于检查给定路径是否在忽略列表中
|
|
16
|
+
* @param ignorePaths - 需要忽略的路径列表(相对或绝对)
|
|
17
|
+
* @param rootDir - 项目根目录
|
|
18
|
+
* @returns 判断函数,接收路径返回是否应被忽略
|
|
19
|
+
*/
|
|
20
|
+
export declare function createIgnoreMatcher(ignorePaths: string[], rootDir: string): (targetPath: string) => boolean;
|
|
21
|
+
/**
|
|
22
|
+
* 检查模块标识符是否匹配某个别名
|
|
23
|
+
* @param id - 模块标识符
|
|
24
|
+
* @param aliases - 路径别名配置
|
|
25
|
+
* @returns 是否匹配别名
|
|
26
|
+
*/
|
|
27
|
+
export declare function matchesAlias(id: string, aliases: Alias[]): boolean;
|
|
28
|
+
/**
|
|
29
|
+
* 判断导入是否为裸模块导入(npm 包)
|
|
30
|
+
* @param id - 模块标识符
|
|
31
|
+
* @returns 是否为裸模块导入
|
|
32
|
+
*/
|
|
33
|
+
export declare function isBareImport(id: string): boolean;
|
|
34
|
+
/**
|
|
35
|
+
* 检查模块是否匹配外部依赖规则
|
|
36
|
+
* @param id - 模块标识符
|
|
37
|
+
* @param importer - 导入者文件路径
|
|
38
|
+
* @param matcher - 匹配器(字符串、正则或函数)
|
|
39
|
+
* @returns 是否匹配外部依赖规则
|
|
40
|
+
*/
|
|
41
|
+
export declare function matchesExternalRule(id: string, importer: string | undefined, matcher: ExternalMatcher): boolean;
|
|
42
|
+
/**
|
|
43
|
+
* 创建外部依赖判断函数
|
|
44
|
+
* 用于判断模块是否应该被视为外部依赖(不打包)
|
|
45
|
+
* @param aliases - 路径别名配置
|
|
46
|
+
* @param externalOption - 外部依赖配置
|
|
47
|
+
* @param externalNodeBuiltins - 是否将 Node.js 内置模块视为外部依赖,默认 true
|
|
48
|
+
* @param externalPackages - 是否将所有 npm 包视为外部依赖,默认 false
|
|
49
|
+
* @returns 外部依赖判断函数
|
|
50
|
+
*/
|
|
51
|
+
export declare function createExternalPredicate(aliases: Alias[], externalOption?: ExternalOption, externalNodeBuiltins?: boolean, externalPackages?: boolean): (id: string, importer?: string) => boolean;
|
|
52
|
+
/**
|
|
53
|
+
* 创建扩展名匹配器
|
|
54
|
+
* 用于快速判断文件是否具有指定的扩展名
|
|
55
|
+
* @param extensionOptions - 扩展名配置
|
|
56
|
+
* @returns 包含扩展名数组和测试函数的对象
|
|
57
|
+
*/
|
|
58
|
+
export declare function createExtensionMatcher(extensionOptions?: ExtensionConfig): {
|
|
59
|
+
extensions: string[];
|
|
60
|
+
test: (filePath: string) => boolean;
|
|
61
|
+
};
|
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
import type { Alias, LibraryFormats, Plugin, PluginOption } from "vite";
|
|
2
|
+
export type ImportPolicy = 'error' | 'skip';
|
|
3
|
+
export type BuildFormat = LibraryFormats;
|
|
4
|
+
export type OutputStructure = 'preserve' | 'bundle';
|
|
5
|
+
export type ExtensionConfig = {
|
|
6
|
+
input?: string[];
|
|
7
|
+
mergeDefault?: boolean;
|
|
8
|
+
};
|
|
9
|
+
export type IgnoreConfig = {
|
|
10
|
+
input?: string[];
|
|
11
|
+
importPolicy?: ImportPolicy;
|
|
12
|
+
};
|
|
13
|
+
export type CopyConfig = {
|
|
14
|
+
input?: string[];
|
|
15
|
+
ignore?: {
|
|
16
|
+
input?: string[];
|
|
17
|
+
};
|
|
18
|
+
extensions?: ExtensionConfig;
|
|
19
|
+
onlyConfiguredExtensions?: boolean;
|
|
20
|
+
};
|
|
21
|
+
export type PluginsConfig = {
|
|
22
|
+
input?: PluginOption[];
|
|
23
|
+
mergeDefault?: boolean;
|
|
24
|
+
};
|
|
25
|
+
export type FilePluginOutput = {
|
|
26
|
+
type: 'copy';
|
|
27
|
+
fileName?: string;
|
|
28
|
+
sourcePath: string;
|
|
29
|
+
} | {
|
|
30
|
+
type: 'emit';
|
|
31
|
+
fileName?: string;
|
|
32
|
+
content: string;
|
|
33
|
+
};
|
|
34
|
+
export type FilePluginContext = {
|
|
35
|
+
filePath: string;
|
|
36
|
+
relativePath: string;
|
|
37
|
+
rootDir: string;
|
|
38
|
+
outDir: string;
|
|
39
|
+
format: BuildFormat;
|
|
40
|
+
read: () => Promise<string>;
|
|
41
|
+
};
|
|
42
|
+
export type BuildEntriesFilePluginOptions = {
|
|
43
|
+
name?: string;
|
|
44
|
+
apply?: 'build' | 'serve';
|
|
45
|
+
enforce?: 'pre' | 'post';
|
|
46
|
+
kind?: 'copy';
|
|
47
|
+
allowMissing?: boolean;
|
|
48
|
+
onlyConfiguredExtensions?: boolean;
|
|
49
|
+
input?: string[];
|
|
50
|
+
rootDir?: string;
|
|
51
|
+
ignore?: {
|
|
52
|
+
input?: string[];
|
|
53
|
+
};
|
|
54
|
+
extensions?: ExtensionConfig;
|
|
55
|
+
copyExtensions?: ExtensionConfig;
|
|
56
|
+
test?: (filePath: string) => boolean;
|
|
57
|
+
rename?: (relativePath: string, filePath: string) => string;
|
|
58
|
+
transform?: (context: FilePluginContext) => Promise<FilePluginOutput | FilePluginOutput[] | void> | FilePluginOutput | FilePluginOutput[] | void;
|
|
59
|
+
};
|
|
60
|
+
export type BuildEntriesFilePlugin = {
|
|
61
|
+
name: string;
|
|
62
|
+
apply?: 'build' | 'serve';
|
|
63
|
+
enforce?: 'pre' | 'post';
|
|
64
|
+
kind?: 'copy';
|
|
65
|
+
__buildEntriesFilePlugin: BuildEntriesFilePluginOptions;
|
|
66
|
+
};
|
|
67
|
+
export type InternalPlugin = Plugin & Partial<BuildEntriesFilePlugin>;
|
|
68
|
+
export type StringAlias = Alias & {
|
|
69
|
+
find: string;
|
|
70
|
+
};
|
|
71
|
+
export type BuildEntriesConfig = {
|
|
72
|
+
input?: string[];
|
|
73
|
+
format?: BuildFormat | BuildFormat[];
|
|
74
|
+
outputStructure?: OutputStructure;
|
|
75
|
+
formatOutDir?: Partial<Record<BuildFormat, string>>;
|
|
76
|
+
alias?: Record<string, string> | Alias[];
|
|
77
|
+
external?: ExternalOption;
|
|
78
|
+
externalNodeBuiltins?: boolean;
|
|
79
|
+
bundleDependencies?: boolean;
|
|
80
|
+
externalPackages?: boolean;
|
|
81
|
+
allowMissingInput?: boolean;
|
|
82
|
+
ignore?: IgnoreConfig;
|
|
83
|
+
copy?: CopyConfig;
|
|
84
|
+
minify?: boolean;
|
|
85
|
+
dtsOnly?: boolean;
|
|
86
|
+
preserveSideEffectStyleImports?: boolean;
|
|
87
|
+
extensions?: ExtensionConfig;
|
|
88
|
+
nonCodeExtensions?: ExtensionConfig;
|
|
89
|
+
plugins?: PluginOption[] | PluginsConfig;
|
|
90
|
+
dts?: boolean | {
|
|
91
|
+
enabled?: boolean;
|
|
92
|
+
outDir?: string;
|
|
93
|
+
tsconfig?: string;
|
|
94
|
+
tempDir?: string;
|
|
95
|
+
rewriteAliases?: boolean;
|
|
96
|
+
rewriteAliasMode?: 'source' | 'declaration';
|
|
97
|
+
rewriteAlias?: Record<string, string> | Alias[];
|
|
98
|
+
useInputFiles?: boolean;
|
|
99
|
+
clean?: boolean;
|
|
100
|
+
};
|
|
101
|
+
outDir?: string;
|
|
102
|
+
rootDir?: string;
|
|
103
|
+
};
|
|
104
|
+
export type ExternalMatcher = string | RegExp | ((id: string, importer?: string) => boolean);
|
|
105
|
+
export type ExternalOption = ExternalMatcher | ExternalMatcher[];
|
|
106
|
+
export type BuildEntriesResult = {
|
|
107
|
+
alias: Alias[];
|
|
108
|
+
formats: BuildFormat[];
|
|
109
|
+
outputStructure: OutputStructure;
|
|
110
|
+
bundleDependencies: boolean;
|
|
111
|
+
extensions: string[];
|
|
112
|
+
files: string[];
|
|
113
|
+
ignore: Required<IgnoreConfig>;
|
|
114
|
+
copy: NormalizedCopyConfig;
|
|
115
|
+
plugins: string[];
|
|
116
|
+
outputs: Record<string, string>;
|
|
117
|
+
dts: {
|
|
118
|
+
enabled: boolean;
|
|
119
|
+
outDir?: string;
|
|
120
|
+
};
|
|
121
|
+
};
|
|
122
|
+
export type PluginFileHandler = {
|
|
123
|
+
test: (filePath: string) => boolean;
|
|
124
|
+
transform: (context: FilePluginContext) => Promise<FilePluginOutput | FilePluginOutput[] | void> | FilePluginOutput | FilePluginOutput[] | void;
|
|
125
|
+
};
|
|
126
|
+
export type CollectedPluginFile = {
|
|
127
|
+
filePath: string;
|
|
128
|
+
plugin: PluginFileHandler;
|
|
129
|
+
};
|
|
130
|
+
export type BuildContext = {
|
|
131
|
+
inputPaths: string[];
|
|
132
|
+
rootDir: string;
|
|
133
|
+
ignorePaths: string[];
|
|
134
|
+
extensions: string[];
|
|
135
|
+
allowMissingInput: boolean;
|
|
136
|
+
outDir: string;
|
|
137
|
+
format: BuildFormat;
|
|
138
|
+
};
|
|
139
|
+
export type NormalizedCopyConfig = {
|
|
140
|
+
input?: string[];
|
|
141
|
+
ignore?: {
|
|
142
|
+
input?: string[];
|
|
143
|
+
};
|
|
144
|
+
extensions: ExtensionConfig;
|
|
145
|
+
onlyConfiguredExtensions: boolean;
|
|
146
|
+
};
|
|
147
|
+
export type RunBuildOptions = {
|
|
148
|
+
format: BuildFormat;
|
|
149
|
+
outDir: string;
|
|
150
|
+
entry: Record<string, string>;
|
|
151
|
+
outputStructure: OutputStructure;
|
|
152
|
+
emptyOutDir: boolean;
|
|
153
|
+
minify?: boolean;
|
|
154
|
+
rootDir: string;
|
|
155
|
+
preserveSideEffectStyleImports?: boolean;
|
|
156
|
+
plugins: Plugin[];
|
|
157
|
+
aliases: Alias[];
|
|
158
|
+
external: (id: string, importer?: string) => boolean;
|
|
159
|
+
};
|
|
160
|
+
export type NormalizedDtsConfig = {
|
|
161
|
+
enabled: boolean;
|
|
162
|
+
outDir: string;
|
|
163
|
+
tsconfig?: string;
|
|
164
|
+
tempDir?: string;
|
|
165
|
+
rewriteAliases: boolean;
|
|
166
|
+
rewriteAliasMode: 'source' | 'declaration';
|
|
167
|
+
rewriteAlias?: Record<string, string> | Alias[];
|
|
168
|
+
useInputFiles: boolean;
|
|
169
|
+
clean: boolean;
|
|
170
|
+
};
|
|
171
|
+
export type AliasRewriteRule = {
|
|
172
|
+
find: string;
|
|
173
|
+
replacement: string;
|
|
174
|
+
};
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import type { Alias } from "vite";
|
|
2
|
+
import type { StringAlias } from "./types.ts";
|
|
3
|
+
/**
|
|
4
|
+
* 检查路径是否存在
|
|
5
|
+
* @param targetPath - 目标路径
|
|
6
|
+
* @returns 路径是否存在
|
|
7
|
+
*/
|
|
8
|
+
export declare function pathExists(targetPath: string): Promise<boolean>;
|
|
9
|
+
/**
|
|
10
|
+
* 将路径转换为 POSIX 格式(使用正斜杠)
|
|
11
|
+
* 确保跨平台路径一致性
|
|
12
|
+
* @param value - 输入路径
|
|
13
|
+
* @returns POSIX 格式路径
|
|
14
|
+
*/
|
|
15
|
+
export declare function toPosixPath(value: string): string;
|
|
16
|
+
/**
|
|
17
|
+
* 确保相对导入路径格式正确
|
|
18
|
+
* 为不以点开头的相对路径添加 './' 前缀
|
|
19
|
+
* @param value - 相对路径
|
|
20
|
+
* @returns 格式化后的相对导入路径
|
|
21
|
+
*/
|
|
22
|
+
export declare function ensureRelativeImportPath(value: string): string;
|
|
23
|
+
/**
|
|
24
|
+
* 将值转换为数组
|
|
25
|
+
* @param value - 输入值(单个值、数组、null 或 undefined)
|
|
26
|
+
* @returns 数组
|
|
27
|
+
*/
|
|
28
|
+
export declare function toArray<T>(value: T | T[] | null | undefined): T[];
|
|
29
|
+
/**
|
|
30
|
+
* 判断别名是否为字符串类型别名
|
|
31
|
+
* 用于区分字符串别名和正则别名
|
|
32
|
+
* @param alias - Vite Alias 对象
|
|
33
|
+
* @returns 是否为字符串别名
|
|
34
|
+
*/
|
|
35
|
+
export declare function isStringAlias(alias: Alias): alias is StringAlias;
|
package/types/typings/type.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
export type MOmit<T, K extends keyof T> = Omit<T, K>;
|
|
2
2
|
export type UnionToTuple<T> = [T] extends [never] ? [] : ((t: T) => T) extends (t: infer U) => infer U ? [...UnionToTuple<Exclude<T, U>>, U] : never;
|
|
3
3
|
export type MergeType<T extends unknown[]> = T extends [infer F, ...infer R] ? F & (R extends [] ? MergeType<R> : {}) : {};
|
|
4
|
+
export type GetInstance<T extends (...args: never[]) => unknown> = T extends (...args: never[]) => infer R ? R extends new () => infer C ? C : R extends Promise<infer P> ? P extends new () => infer C2 ? C2 : never : never : never;
|
package/cjs/app/README.md
DELETED
|
@@ -1,286 +0,0 @@
|
|
|
1
|
-
# app 模块说明
|
|
2
|
-
|
|
3
|
-
## 0. 先看结论
|
|
4
|
-
|
|
5
|
-
`app` 是 TemplateCore 内置的 Koa 应用层。
|
|
6
|
-
|
|
7
|
-
- 它提供框架默认 controller、service、middleware、router、extend、router-schema 和页面模板。
|
|
8
|
-
- 它和业务项目的 `app/` 会被 `@tc/core` 一起加载,形成“框架默认能力 + 业务覆盖/扩展”的结构。
|
|
9
|
-
- 它主要承接两类请求:后台页面渲染,以及 `/api/project/*` 项目模型接口。
|
|
10
|
-
|
|
11
|
-
适合先读:
|
|
12
|
-
|
|
13
|
-
- 想看服务中间件顺序:看 `middleware.ts`。
|
|
14
|
-
- 想看页面怎么渲染:看 `router/view.ts`、`controller/view.ts`、`view/entry.tpl`。
|
|
15
|
-
- 想看项目数据接口:看 `router/project.ts`、`controller/project.ts`、`service/project.ts`。
|
|
16
|
-
|
|
17
|
-
## 关联阅读
|
|
18
|
-
|
|
19
|
-
- [packages/core 模块](../packages/core/README.md):Koa app 创建、loader 顺序和双路径加载。
|
|
20
|
-
- [frontend 模块](../frontend/README.md):页面模板加载后的 React 运行层。
|
|
21
|
-
- [bundler 模块](../bundler/README.md):生成 `app/public/dist/*.entry.tpl` 的构建逻辑。
|
|
22
|
-
- [model 模块](../model/README.md):项目 API 返回的模型配置结构。
|
|
23
|
-
|
|
24
|
-
## 1. 模块边界
|
|
25
|
-
|
|
26
|
-
`app` 做这些事:
|
|
27
|
-
|
|
28
|
-
- 装配内置 Koa 全局中间件。
|
|
29
|
-
- 提供静态资源服务。
|
|
30
|
-
- 渲染前端入口模板。
|
|
31
|
-
- 提供项目模型相关 API。
|
|
32
|
-
- 提供统一响应结构和基础 Controller/Service。
|
|
33
|
-
- 提供 API 签名校验、参数校验、错误处理。
|
|
34
|
-
- 对 `@tc/core` 做 TypeScript 类型增强。
|
|
35
|
-
|
|
36
|
-
`app` 不做这些事:
|
|
37
|
-
|
|
38
|
-
- 不实现 React 页面内部逻辑。
|
|
39
|
-
- 不扫描 `.entry.*` 前端入口。
|
|
40
|
-
- 不负责最终构建输出。
|
|
41
|
-
- 不直接维护业务 CRUD 数据;业务数据由业务 controller/service 实现。
|
|
42
|
-
|
|
43
|
-
## 2. 目录地图
|
|
44
|
-
|
|
45
|
-
| 路径 | 作用 |
|
|
46
|
-
| --- | --- |
|
|
47
|
-
| `middleware.ts` | 框架全局中间件装配入口。 |
|
|
48
|
-
| `middleware/*` | 具体中间件:错误处理、签名校验、参数校验、项目信息处理。 |
|
|
49
|
-
| `router/view.ts` | 页面路由,匹配 `pageBasePage + :page`。 |
|
|
50
|
-
| `controller/view.ts` | 渲染 `dist/{page}.entry.tpl`。 |
|
|
51
|
-
| `view/entry.tpl` | 默认页面模板,注入前端运行需要的全局变量。 |
|
|
52
|
-
| `router/project.ts` | 项目模型 API 路由。 |
|
|
53
|
-
| `controller/project.ts` | 项目模型 API controller。 |
|
|
54
|
-
| `service/project.ts` | 调用 `loaderModel(app)` 读取业务 model 配置。 |
|
|
55
|
-
| `controller/base.ts` | 基础 Controller,提供 `success/fail/sendData`。 |
|
|
56
|
-
| `service/base.ts` | 基础 Service,提供 `app/config/curl`。 |
|
|
57
|
-
| `router-schema/project.ts` | 项目 API 的 JSON Schema 校验配置。 |
|
|
58
|
-
| `extend/*` | 挂到 `app.extends` 的扩展能力。 |
|
|
59
|
-
| `typings.ts` | 对 `@tc/core` 的模块增强声明。 |
|
|
60
|
-
| `data/signKey.ts` | API 签名 key。 |
|
|
61
|
-
|
|
62
|
-
## 3. 服务加载链路
|
|
63
|
-
|
|
64
|
-
根入口 `index.ts` 导出 `serverStart(options)`,内部调用 `@tc/core` 的 `start`:
|
|
65
|
-
|
|
66
|
-
```text
|
|
67
|
-
serverStart(options)
|
|
68
|
-
-> start({ ...options, frameBaseDir })
|
|
69
|
-
-> core 加载 frame app + business app
|
|
70
|
-
-> config
|
|
71
|
-
-> extend
|
|
72
|
-
-> router-schema
|
|
73
|
-
-> service
|
|
74
|
-
-> controller
|
|
75
|
-
-> middleware 目录
|
|
76
|
-
-> app/middleware.ts 全局装配
|
|
77
|
-
-> router
|
|
78
|
-
-> listen
|
|
79
|
-
```
|
|
80
|
-
|
|
81
|
-
```mermaid
|
|
82
|
-
flowchart TD
|
|
83
|
-
A["serverStart(options)"] --> B["@tc/core start"]
|
|
84
|
-
B --> C["configLoader"]
|
|
85
|
-
C --> D["extendLoader"]
|
|
86
|
-
D --> E["routerSchemaLoader"]
|
|
87
|
-
E --> F["serviceLoader"]
|
|
88
|
-
F --> G["controllerLoader"]
|
|
89
|
-
G --> H["middlewareLoader"]
|
|
90
|
-
H --> I["app/middleware.ts"]
|
|
91
|
-
I --> J["routerLoader"]
|
|
92
|
-
J --> K["app.listen"]
|
|
93
|
-
```
|
|
94
|
-
|
|
95
|
-
这里的 `app/` 是框架内置目录,业务项目也可以有自己的 `app/`。`@tc/core` 会把两者放进 `app.paths`:
|
|
96
|
-
|
|
97
|
-
```text
|
|
98
|
-
frame app -> TemplateCore/app
|
|
99
|
-
business app -> project/app
|
|
100
|
-
```
|
|
101
|
-
|
|
102
|
-
大多数 loader 都会同时扫描这两个目录。
|
|
103
|
-
|
|
104
|
-
## 4. 中间件顺序
|
|
105
|
-
|
|
106
|
-
`app/middleware.ts` 中的顺序是运行时请求的主干:
|
|
107
|
-
|
|
108
|
-
```text
|
|
109
|
-
errorHandle
|
|
110
|
-
-> compress
|
|
111
|
-
-> koaStatic(frame app/public)
|
|
112
|
-
-> koaStatic(business app/public)
|
|
113
|
-
-> koaBody
|
|
114
|
-
-> projectHandler
|
|
115
|
-
-> apiSignVerify 非 local
|
|
116
|
-
-> apiParamsVerify
|
|
117
|
-
-> router/controller/service
|
|
118
|
-
```
|
|
119
|
-
|
|
120
|
-
设计原因:
|
|
121
|
-
|
|
122
|
-
- `errorHandle` 最靠前,用于捕获后续中间件和 controller 抛出的错误。
|
|
123
|
-
- 静态资源在 body parser 前,减少不必要的请求解析。
|
|
124
|
-
- `projectHandler` 在 API 校验前写入项目上下文。
|
|
125
|
-
- `apiSignVerify` 只在非 local 环境启用。
|
|
126
|
-
- `apiParamsVerify` 依赖 `app.routerSchema` 和当前路由信息。
|
|
127
|
-
|
|
128
|
-
## 5. 页面渲染链路
|
|
129
|
-
|
|
130
|
-
请求 `/dash?projk=xxx` 这类页面时:
|
|
131
|
-
|
|
132
|
-
```text
|
|
133
|
-
GET /dash
|
|
134
|
-
-> app/router/view.ts
|
|
135
|
-
-> app.controller.view.renderPage
|
|
136
|
-
-> app.extends.renderView("dist/dash.entry.tpl", ctx, context)
|
|
137
|
-
-> app/view/entry.tpl 或构建后的 tpl
|
|
138
|
-
-> 注入 window._basePath / window._projKey / window.appOptions
|
|
139
|
-
-> 浏览器加载前端 bundle
|
|
140
|
-
```
|
|
141
|
-
|
|
142
|
-
```mermaid
|
|
143
|
-
sequenceDiagram
|
|
144
|
-
participant Browser
|
|
145
|
-
participant Router as app/router/view.ts
|
|
146
|
-
participant Controller as app/controller/view.ts
|
|
147
|
-
participant Nunjucks as app.extends.renderView
|
|
148
|
-
participant Frontend as frontend bundle
|
|
149
|
-
Browser->>Router: GET /dash?projk=xxx
|
|
150
|
-
Router->>Controller: renderPage(ctx)
|
|
151
|
-
Controller->>Nunjucks: render dist/dash.entry.tpl
|
|
152
|
-
Nunjucks-->>Browser: HTML + window variables
|
|
153
|
-
Browser->>Frontend: load /dist assets
|
|
154
|
-
```
|
|
155
|
-
|
|
156
|
-
页面名和前端入口强绑定:
|
|
157
|
-
|
|
158
|
-
```text
|
|
159
|
-
frontend/dash/dash.entry.tsx
|
|
160
|
-
-> bundler 输出 app/public/dist/dash.entry.tpl
|
|
161
|
-
-> GET /dash 渲染 dist/dash.entry.tpl
|
|
162
|
-
```
|
|
163
|
-
|
|
164
|
-
## 6. 项目 API
|
|
165
|
-
|
|
166
|
-
内置项目 API 用于给前端 Dashboard 提供模型和菜单数据。
|
|
167
|
-
|
|
168
|
-
| 路由 | 作用 |
|
|
169
|
-
| --- | --- |
|
|
170
|
-
| `GET /api/project/model_list` | 返回模型列表和项目摘要。 |
|
|
171
|
-
| `GET /api/project/list?projk=xxx` | 返回项目列表,可按 key 过滤。 |
|
|
172
|
-
| `GET /api/project/:key` | 返回单个项目完整配置。 |
|
|
173
|
-
|
|
174
|
-
数据来源:
|
|
175
|
-
|
|
176
|
-
```text
|
|
177
|
-
app/service/project.ts
|
|
178
|
-
-> loaderModel(app)
|
|
179
|
-
-> 读取 business baseDir/model
|
|
180
|
-
-> 合并 model 配置和 project 覆盖配置
|
|
181
|
-
```
|
|
182
|
-
|
|
183
|
-
响应统一为:
|
|
184
|
-
|
|
185
|
-
```ts
|
|
186
|
-
{
|
|
187
|
-
data: unknown,
|
|
188
|
-
code: number,
|
|
189
|
-
message: string
|
|
190
|
-
}
|
|
191
|
-
```
|
|
192
|
-
|
|
193
|
-
## 7. Controller 和 Service 约定
|
|
194
|
-
|
|
195
|
-
框架内置 Controller/Service 都是工厂函数:
|
|
196
|
-
|
|
197
|
-
```ts
|
|
198
|
-
export default (app) => class XxxController {}
|
|
199
|
-
export default (app) => class XxxService {}
|
|
200
|
-
```
|
|
201
|
-
|
|
202
|
-
`@tc/core` loader 会:
|
|
203
|
-
|
|
204
|
-
1. 执行默认导出函数,传入 `app`。
|
|
205
|
-
2. 拿到 class。
|
|
206
|
-
3. `new` 出实例。
|
|
207
|
-
4. 挂到 `app.controller.xxx` 或 `app.service.xxx`。
|
|
208
|
-
|
|
209
|
-
基础 Controller 提供:
|
|
210
|
-
|
|
211
|
-
- `success(ctx, data)`
|
|
212
|
-
- `fail(ctx, code, message)`
|
|
213
|
-
- `sendData(ctx, data, code, message, status)`
|
|
214
|
-
|
|
215
|
-
基础 Service 提供:
|
|
216
|
-
|
|
217
|
-
- `app`
|
|
218
|
-
- `config`
|
|
219
|
-
- `curl`,即 `superagent`
|
|
220
|
-
|
|
221
|
-
## 8. 扩展能力
|
|
222
|
-
|
|
223
|
-
`app/extend/*` 会挂到 `app.extends`。
|
|
224
|
-
|
|
225
|
-
| 扩展 | 作用 |
|
|
226
|
-
| --- | --- |
|
|
227
|
-
| `render-view.ts` | Nunjucks 渲染封装。 |
|
|
228
|
-
| `logger.ts` | local 使用 console,非 local 使用 log4js。 |
|
|
229
|
-
| `generateErrorMessage.ts` | 构造并抛出可被 `errorHandle` 捕获的错误。 |
|
|
230
|
-
| `parsingParamsOnUrl.ts` | 根据路由模板解析 URL params。 |
|
|
231
|
-
| `db.ts` | 当前为占位扩展。 |
|
|
232
|
-
|
|
233
|
-
`logger.ts` 在非 local 环境下可覆盖原生 `console`,由 `overwriteOriginalLogs` 控制。
|
|
234
|
-
|
|
235
|
-
## 9. 参数校验与错误处理
|
|
236
|
-
|
|
237
|
-
`router-schema/*` 会被加载到 `app.routerSchema`。`apiParamsVerify` 会在 `/api` 请求中尝试:
|
|
238
|
-
|
|
239
|
-
1. 根据当前 path 找到匹配路由。
|
|
240
|
-
2. 从 route path 中解析 params。
|
|
241
|
-
3. 收集 `params/body/query/headers`。
|
|
242
|
-
4. 找到对应 schema。
|
|
243
|
-
5. 用 AJV 校验。
|
|
244
|
-
6. 失败时通过 `generateErrorMessage` 抛出错误。
|
|
245
|
-
|
|
246
|
-
`errorHandle` 会统一捕获错误。对 `template not found` 有特殊逻辑:
|
|
247
|
-
|
|
248
|
-
- 未超过 `notFoundRedirectCount` 时重定向到 `homePage`。
|
|
249
|
-
- 超过后返回普通错误响应。
|
|
250
|
-
|
|
251
|
-
## 10. 类型增强
|
|
252
|
-
|
|
253
|
-
`app/typings.ts` 通过 TypeScript module augmentation 扩展 `@tc/core`:
|
|
254
|
-
|
|
255
|
-
- `app.controller.project`
|
|
256
|
-
- `app.controller.view`
|
|
257
|
-
- `app.service.project`
|
|
258
|
-
- `app.extends.logger`
|
|
259
|
-
- `app.extends.renderView`
|
|
260
|
-
- `app.middlewares.errorHandle`
|
|
261
|
-
- `app.config` 默认配置类型
|
|
262
|
-
|
|
263
|
-
新增内置能力后,建议同步更新 `app/typings.ts`,否则调用侧类型会丢失。
|
|
264
|
-
|
|
265
|
-
## 11. 注意事项
|
|
266
|
-
|
|
267
|
-
- 页面模板名和前端入口名强绑定,请求 `/dash` 会寻找 `dist/dash.entry.tpl`。
|
|
268
|
-
- `projectHandler` 只对路径包含 `/api/proj/` 的请求强制要求 header `projk`,`/api/project/*` 不在这个判断内。
|
|
269
|
-
- `apiParamsVerify` 当前匹配路由时固定用 `r.match(path, "get")`,对非 GET 的覆盖需要结合实现确认。
|
|
270
|
-
- `renderPage` 中模板不存在会抛出 `template not found`,由 `errorHandle` 接住。
|
|
271
|
-
- `app/extend/db.ts` 当前是占位,不代表框架已内置数据库能力。
|
|
272
|
-
- 非 local 环境下 API 签名校验会生效,前后端签名 key 必须一致。
|
|
273
|
-
|
|
274
|
-
## 12. 常见问题
|
|
275
|
-
|
|
276
|
-
### 页面模板找不到
|
|
277
|
-
|
|
278
|
-
确认 `bundler` 已经生成 `app/public/dist/{page}.entry.tpl`,并且访问路径里的 `{page}` 和 entry 名一致。
|
|
279
|
-
|
|
280
|
-
### 非 local 环境接口返回签名错误
|
|
281
|
-
|
|
282
|
-
检查前端 `s_sign` 生成逻辑和服务端 `app/data/signKey.ts` 是否一致,同时确认请求时间戳没有超过超时时间。
|
|
283
|
-
|
|
284
|
-
### 新增 controller 后类型没有提示
|
|
285
|
-
|
|
286
|
-
运行时可能已经可用,但 TypeScript 类型需要在 `app/typings.ts` 或业务自己的模块增强文件中补充。
|