@qlover/create-app 1.0.2 → 2.0.0
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/CHANGELOG.md +43 -0
- package/dist/index.cjs +9 -9
- package/dist/index.js +9 -9
- package/package.json +4 -3
- package/dist/configs/_common/.editorconfig +0 -23
- package/dist/configs/_common/.env.template +0 -13
- package/dist/configs/_common/.gitattributes +0 -2
- package/dist/configs/_common/.github/workflows/general-check.yml +0 -41
- package/dist/configs/_common/.github/workflows/release.yml +0 -81
- package/dist/configs/_common/.gitignore.template +0 -64
- package/dist/configs/_common/.husky/commit-msg +0 -3
- package/dist/configs/_common/.husky/pre-commit +0 -3
- package/dist/configs/_common/.prettierignore +0 -17
- package/dist/configs/_common/.prettierrc.js +0 -7
- package/dist/configs/_common/.vscode/extensions.json +0 -9
- package/dist/configs/_common/.vscode/react.code-snippets +0 -19
- package/dist/configs/_common/.vscode/settings.json +0 -16
- package/dist/configs/_common/commitlint.config.js +0 -10
- package/dist/configs/_common/package.json.template +0 -75
- package/dist/configs/node-lib/eslint.config.js +0 -50
- package/dist/templates/next-app/.env.template +0 -25
- package/dist/templates/next-app/.prettierignore +0 -58
- package/dist/templates/next-app/README.en.md +0 -130
- package/dist/templates/next-app/README.md +0 -130
- package/dist/templates/next-app/config/IOCIdentifier.ts +0 -74
- package/dist/templates/next-app/config/Identifier/api.ts +0 -41
- package/dist/templates/next-app/config/Identifier/common/admint.table.ts +0 -69
- package/dist/templates/next-app/config/Identifier/common/common.ts +0 -90
- package/dist/templates/next-app/config/Identifier/common/index.ts +0 -3
- package/dist/templates/next-app/config/Identifier/common/validators.ts +0 -34
- package/dist/templates/next-app/config/Identifier/index.ts +0 -3
- package/dist/templates/next-app/config/Identifier/pages/index.ts +0 -7
- package/dist/templates/next-app/config/Identifier/pages/page.about.ts +0 -20
- package/dist/templates/next-app/config/Identifier/pages/page.admin.home.ts +0 -27
- package/dist/templates/next-app/config/Identifier/pages/page.admin.locales.ts +0 -266
- package/dist/templates/next-app/config/Identifier/pages/page.admin.user.ts +0 -293
- package/dist/templates/next-app/config/Identifier/pages/page.home.ts +0 -56
- package/dist/templates/next-app/config/Identifier/pages/page.login.ts +0 -159
- package/dist/templates/next-app/config/Identifier/pages/page.register.ts +0 -177
- package/dist/templates/next-app/config/adminNavs.ts +0 -19
- package/dist/templates/next-app/config/common.ts +0 -43
- package/dist/templates/next-app/config/cookies.ts +0 -23
- package/dist/templates/next-app/config/i18n/AboutI18n.ts +0 -14
- package/dist/templates/next-app/config/i18n/HomeI18n.ts +0 -24
- package/dist/templates/next-app/config/i18n/PageI18nInterface.ts +0 -51
- package/dist/templates/next-app/config/i18n/admin18n.ts +0 -75
- package/dist/templates/next-app/config/i18n/i18nConfig.ts +0 -16
- package/dist/templates/next-app/config/i18n/i18nKeyScheam.ts +0 -36
- package/dist/templates/next-app/config/i18n/index.ts +0 -7
- package/dist/templates/next-app/config/i18n/loginI18n.ts +0 -50
- package/dist/templates/next-app/config/i18n/register18n.ts +0 -44
- package/dist/templates/next-app/config/route.ts +0 -9
- package/dist/templates/next-app/config/theme.ts +0 -28
- package/dist/templates/next-app/docs/en/api.md +0 -387
- package/dist/templates/next-app/docs/en/component.md +0 -544
- package/dist/templates/next-app/docs/en/database.md +0 -496
- package/dist/templates/next-app/docs/en/development-guide.md +0 -727
- package/dist/templates/next-app/docs/en/env.md +0 -563
- package/dist/templates/next-app/docs/en/i18n.md +0 -287
- package/dist/templates/next-app/docs/en/index.md +0 -165
- package/dist/templates/next-app/docs/en/page.md +0 -457
- package/dist/templates/next-app/docs/en/project-structure.md +0 -176
- package/dist/templates/next-app/docs/en/router.md +0 -427
- package/dist/templates/next-app/docs/en/theme.md +0 -532
- package/dist/templates/next-app/docs/en/validator.md +0 -478
- package/dist/templates/next-app/docs/zh/api.md +0 -387
- package/dist/templates/next-app/docs/zh/component.md +0 -544
- package/dist/templates/next-app/docs/zh/database.md +0 -496
- package/dist/templates/next-app/docs/zh/development-guide.md +0 -727
- package/dist/templates/next-app/docs/zh/env.md +0 -563
- package/dist/templates/next-app/docs/zh/i18n.md +0 -287
- package/dist/templates/next-app/docs/zh/index.md +0 -165
- package/dist/templates/next-app/docs/zh/page.md +0 -457
- package/dist/templates/next-app/docs/zh/project-structure.md +0 -176
- package/dist/templates/next-app/docs/zh/router.md +0 -427
- package/dist/templates/next-app/docs/zh/theme.md +0 -532
- package/dist/templates/next-app/docs/zh/validator.md +0 -476
- package/dist/templates/next-app/eslint.config.mjs +0 -285
- package/dist/templates/next-app/make/generateLocales.ts +0 -32
- package/dist/templates/next-app/migrations/schema/LocalesSchema.ts +0 -15
- package/dist/templates/next-app/migrations/schema/UserSchema.ts +0 -38
- package/dist/templates/next-app/migrations/sql/1694244000000.sql +0 -21
- package/dist/templates/next-app/next.config.ts +0 -25
- package/dist/templates/next-app/package.json +0 -87
- package/dist/templates/next-app/postcss.config.mjs +0 -5
- package/dist/templates/next-app/public/favicon.ico +0 -0
- package/dist/templates/next-app/public/file.svg +0 -1
- package/dist/templates/next-app/public/globe.svg +0 -1
- package/dist/templates/next-app/public/locales/en.json +0 -182
- package/dist/templates/next-app/public/locales/zh.json +0 -182
- package/dist/templates/next-app/public/next.svg +0 -1
- package/dist/templates/next-app/public/vercel.svg +0 -1
- package/dist/templates/next-app/public/window.svg +0 -1
- package/dist/templates/next-app/src/app/[locale]/admin/AdminI18nProvider.tsx +0 -37
- package/dist/templates/next-app/src/app/[locale]/admin/layout.tsx +0 -42
- package/dist/templates/next-app/src/app/[locale]/admin/locales/page.tsx +0 -153
- package/dist/templates/next-app/src/app/[locale]/admin/page.tsx +0 -20
- package/dist/templates/next-app/src/app/[locale]/admin/users/page.tsx +0 -67
- package/dist/templates/next-app/src/app/[locale]/auth/layout.tsx +0 -18
- package/dist/templates/next-app/src/app/[locale]/auth/login/LoginForm.tsx +0 -126
- package/dist/templates/next-app/src/app/[locale]/auth/login/page.tsx +0 -90
- package/dist/templates/next-app/src/app/[locale]/auth/page.tsx +0 -8
- package/dist/templates/next-app/src/app/[locale]/auth/register/RegisterForm.tsx +0 -197
- package/dist/templates/next-app/src/app/[locale]/auth/register/page.tsx +0 -90
- package/dist/templates/next-app/src/app/[locale]/layout.tsx +0 -63
- package/dist/templates/next-app/src/app/[locale]/not-found.tsx +0 -24
- package/dist/templates/next-app/src/app/[locale]/page.tsx +0 -98
- package/dist/templates/next-app/src/app/api/admin/locales/create/route.ts +0 -13
- package/dist/templates/next-app/src/app/api/admin/locales/import/route.ts +0 -13
- package/dist/templates/next-app/src/app/api/admin/locales/route.ts +0 -20
- package/dist/templates/next-app/src/app/api/admin/locales/update/route.ts +0 -13
- package/dist/templates/next-app/src/app/api/admin/users/route.ts +0 -20
- package/dist/templates/next-app/src/app/api/ai/completions/route.ts +0 -32
- package/dist/templates/next-app/src/app/api/auth/callback/route.ts +0 -11
- package/dist/templates/next-app/src/app/api/callback/route.ts +0 -49
- package/dist/templates/next-app/src/app/api/locales/json/route.ts +0 -33
- package/dist/templates/next-app/src/app/api/user/login/route.ts +0 -10
- package/dist/templates/next-app/src/app/api/user/logout/route.ts +0 -8
- package/dist/templates/next-app/src/app/api/user/register/route.ts +0 -11
- package/dist/templates/next-app/src/app/manifest.ts +0 -16
- package/dist/templates/next-app/src/app/robots.txt +0 -2
- package/dist/templates/next-app/src/base/cases/AdminPageManager.ts +0 -28
- package/dist/templates/next-app/src/base/cases/AppConfig.ts +0 -40
- package/dist/templates/next-app/src/base/cases/Datetime.ts +0 -18
- package/dist/templates/next-app/src/base/cases/DialogErrorPlugin.ts +0 -57
- package/dist/templates/next-app/src/base/cases/DialogHandler.ts +0 -116
- package/dist/templates/next-app/src/base/cases/InversifyContainer.ts +0 -45
- package/dist/templates/next-app/src/base/cases/NavigateBridge.ts +0 -32
- package/dist/templates/next-app/src/base/cases/RequestEncryptPlugin.ts +0 -77
- package/dist/templates/next-app/src/base/cases/ResourceState.ts +0 -17
- package/dist/templates/next-app/src/base/cases/RouterService.ts +0 -52
- package/dist/templates/next-app/src/base/cases/StringEncryptor.ts +0 -73
- package/dist/templates/next-app/src/base/cases/TranslateI18nUtil.ts +0 -53
- package/dist/templates/next-app/src/base/cases/ZodColumnBuilder.ts +0 -212
- package/dist/templates/next-app/src/base/port/AdminLayoutInterface.ts +0 -26
- package/dist/templates/next-app/src/base/port/AppApiInterface.ts +0 -36
- package/dist/templates/next-app/src/base/port/AppUserApiInterface.ts +0 -27
- package/dist/templates/next-app/src/base/port/I18nServiceInterface.ts +0 -25
- package/dist/templates/next-app/src/base/port/IOCInterface.ts +0 -33
- package/dist/templates/next-app/src/base/port/RouterInterface.ts +0 -11
- package/dist/templates/next-app/src/base/port/UserServiceInterface.ts +0 -25
- package/dist/templates/next-app/src/base/port/ZodBuilderInterface.ts +0 -8
- package/dist/templates/next-app/src/base/services/AdminPageEvent.ts +0 -26
- package/dist/templates/next-app/src/base/services/AdminPageScheduler.ts +0 -42
- package/dist/templates/next-app/src/base/services/AppApiRequester.ts +0 -67
- package/dist/templates/next-app/src/base/services/AppUserGateway.ts +0 -110
- package/dist/templates/next-app/src/base/services/I18nService.ts +0 -87
- package/dist/templates/next-app/src/base/services/ResourceService.ts +0 -139
- package/dist/templates/next-app/src/base/services/UserService.ts +0 -68
- package/dist/templates/next-app/src/base/services/adminApi/AdminLocalesApi.ts +0 -106
- package/dist/templates/next-app/src/base/services/adminApi/AdminUserApi.ts +0 -87
- package/dist/templates/next-app/src/base/services/appApi/AppApiPlugin.ts +0 -110
- package/dist/templates/next-app/src/base/services/appApi/AppUserApiBootstrap.ts +0 -52
- package/dist/templates/next-app/src/base/types/AppPageRouter.ts +0 -12
- package/dist/templates/next-app/src/base/types/PagesRouter.ts +0 -9
- package/dist/templates/next-app/src/core/bootstraps/BootstrapClient.ts +0 -76
- package/dist/templates/next-app/src/core/bootstraps/BootstrapServer.ts +0 -125
- package/dist/templates/next-app/src/core/bootstraps/BootstrapsRegistry.ts +0 -50
- package/dist/templates/next-app/src/core/bootstraps/IocIdentifierTest.ts +0 -26
- package/dist/templates/next-app/src/core/bootstraps/PrintBootstrap.ts +0 -18
- package/dist/templates/next-app/src/core/clientIoc/ClientIOC.ts +0 -68
- package/dist/templates/next-app/src/core/clientIoc/ClientIOCRegister.ts +0 -100
- package/dist/templates/next-app/src/core/globals.ts +0 -28
- package/dist/templates/next-app/src/core/serverIoc/ServerIOC.ts +0 -80
- package/dist/templates/next-app/src/core/serverIoc/ServerIOCRegister.ts +0 -66
- package/dist/templates/next-app/src/i18n/loadMessages.ts +0 -103
- package/dist/templates/next-app/src/i18n/request.ts +0 -31
- package/dist/templates/next-app/src/i18n/routing.ts +0 -35
- package/dist/templates/next-app/src/lib/supabase/client.ts +0 -8
- package/dist/templates/next-app/src/lib/supabase/conts.ts +0 -2
- package/dist/templates/next-app/src/lib/supabase/proxy.ts +0 -84
- package/dist/templates/next-app/src/lib/supabase/server.ts +0 -38
- package/dist/templates/next-app/src/pages/[locale]/about.tsx +0 -61
- package/dist/templates/next-app/src/pages/_app.tsx +0 -50
- package/dist/templates/next-app/src/pages/_document.tsx +0 -13
- package/dist/templates/next-app/src/proxy.ts +0 -33
- package/dist/templates/next-app/src/server/AppErrorApi.ts +0 -10
- package/dist/templates/next-app/src/server/AppPageRouteParams.ts +0 -110
- package/dist/templates/next-app/src/server/AppSuccessApi.ts +0 -7
- package/dist/templates/next-app/src/server/NextApiServer.ts +0 -61
- package/dist/templates/next-app/src/server/PagesRouteParams.ts +0 -145
- package/dist/templates/next-app/src/server/PasswordEncrypt.ts +0 -18
- package/dist/templates/next-app/src/server/ServerAuth.ts +0 -81
- package/dist/templates/next-app/src/server/SupabaseBridge.ts +0 -262
- package/dist/templates/next-app/src/server/UserCredentialToken.ts +0 -53
- package/dist/templates/next-app/src/server/controllers/AdminLocalesController.ts +0 -86
- package/dist/templates/next-app/src/server/controllers/AdminUserController.ts +0 -42
- package/dist/templates/next-app/src/server/controllers/LocalesController.ts +0 -36
- package/dist/templates/next-app/src/server/controllers/UserController.ts +0 -91
- package/dist/templates/next-app/src/server/port/AIControllerInterface.ts +0 -8
- package/dist/templates/next-app/src/server/port/AdminLocalesControllerInterface.ts +0 -21
- package/dist/templates/next-app/src/server/port/AdminUserControllerInterface.ts +0 -11
- package/dist/templates/next-app/src/server/port/CrentialTokenInterface.ts +0 -5
- package/dist/templates/next-app/src/server/port/DBBridgeInterface.ts +0 -36
- package/dist/templates/next-app/src/server/port/DBTableInterface.ts +0 -12
- package/dist/templates/next-app/src/server/port/LocalesControllerInterface.ts +0 -10
- package/dist/templates/next-app/src/server/port/LocalesRepositoryInterface.ts +0 -43
- package/dist/templates/next-app/src/server/port/PaginationInterface.ts +0 -6
- package/dist/templates/next-app/src/server/port/RouteParamsnHandlerInterface.ts +0 -18
- package/dist/templates/next-app/src/server/port/ServerAuthInterface.ts +0 -15
- package/dist/templates/next-app/src/server/port/ServerInterface.ts +0 -23
- package/dist/templates/next-app/src/server/port/UserRepositoryInterface.ts +0 -15
- package/dist/templates/next-app/src/server/port/UserServiceInterface.ts +0 -14
- package/dist/templates/next-app/src/server/port/ValidatorInterface.ts +0 -23
- package/dist/templates/next-app/src/server/repositorys/LocalesRepository.ts +0 -216
- package/dist/templates/next-app/src/server/repositorys/UserRepository.ts +0 -102
- package/dist/templates/next-app/src/server/services/AIService.ts +0 -45
- package/dist/templates/next-app/src/server/services/AdminAuthPlugin.ts +0 -21
- package/dist/templates/next-app/src/server/services/AdminLocalesService.ts +0 -20
- package/dist/templates/next-app/src/server/services/ApiLocaleService.ts +0 -137
- package/dist/templates/next-app/src/server/services/ApiUserService.ts +0 -29
- package/dist/templates/next-app/src/server/services/UserService.ts +0 -134
- package/dist/templates/next-app/src/server/validators/ExtendedExecutorError.ts +0 -6
- package/dist/templates/next-app/src/server/validators/LocalesValidator.ts +0 -145
- package/dist/templates/next-app/src/server/validators/LoginValidator.ts +0 -82
- package/dist/templates/next-app/src/server/validators/PaginationValidator.ts +0 -70
- package/dist/templates/next-app/src/server/validators/SignupVerifyValidator.ts +0 -68
- package/dist/templates/next-app/src/styles/css/antd-themes/_common/_default.css +0 -280
- package/dist/templates/next-app/src/styles/css/antd-themes/_common/dark.css +0 -233
- package/dist/templates/next-app/src/styles/css/antd-themes/_common/index.css +0 -3
- package/dist/templates/next-app/src/styles/css/antd-themes/_common/pink.css +0 -246
- package/dist/templates/next-app/src/styles/css/antd-themes/index.css +0 -4
- package/dist/templates/next-app/src/styles/css/antd-themes/menu/_default.css +0 -108
- package/dist/templates/next-app/src/styles/css/antd-themes/menu/dark.css +0 -67
- package/dist/templates/next-app/src/styles/css/antd-themes/menu/index.css +0 -3
- package/dist/templates/next-app/src/styles/css/antd-themes/menu/pink.css +0 -67
- package/dist/templates/next-app/src/styles/css/antd-themes/no-context.css +0 -34
- package/dist/templates/next-app/src/styles/css/antd-themes/pagination/_default.css +0 -34
- package/dist/templates/next-app/src/styles/css/antd-themes/pagination/dark.css +0 -31
- package/dist/templates/next-app/src/styles/css/antd-themes/pagination/index.css +0 -3
- package/dist/templates/next-app/src/styles/css/antd-themes/pagination/pink.css +0 -36
- package/dist/templates/next-app/src/styles/css/antd-themes/table/_default.css +0 -44
- package/dist/templates/next-app/src/styles/css/antd-themes/table/dark.css +0 -43
- package/dist/templates/next-app/src/styles/css/antd-themes/table/index.css +0 -3
- package/dist/templates/next-app/src/styles/css/antd-themes/table/pink.css +0 -43
- package/dist/templates/next-app/src/styles/css/index.css +0 -6
- package/dist/templates/next-app/src/styles/css/page.css +0 -20
- package/dist/templates/next-app/src/styles/css/scrollbar.css +0 -34
- package/dist/templates/next-app/src/styles/css/tailwind.css +0 -5
- package/dist/templates/next-app/src/styles/css/themes/_default.css +0 -30
- package/dist/templates/next-app/src/styles/css/themes/dark.css +0 -30
- package/dist/templates/next-app/src/styles/css/themes/index.css +0 -3
- package/dist/templates/next-app/src/styles/css/themes/pink.css +0 -30
- package/dist/templates/next-app/src/styles/css/zIndex.css +0 -9
- package/dist/templates/next-app/src/uikit/components/AdminLayout.tsx +0 -150
- package/dist/templates/next-app/src/uikit/components/BootstrapsProvider.tsx +0 -39
- package/dist/templates/next-app/src/uikit/components/ClientRootProvider.tsx +0 -64
- package/dist/templates/next-app/src/uikit/components/ClientSeo.tsx +0 -36
- package/dist/templates/next-app/src/uikit/components/ClinetRenderProvider.tsx +0 -42
- package/dist/templates/next-app/src/uikit/components/EditableCell.tsx +0 -118
- package/dist/templates/next-app/src/uikit/components/FeatureItem.tsx +0 -13
- package/dist/templates/next-app/src/uikit/components/IOCProvider.tsx +0 -34
- package/dist/templates/next-app/src/uikit/components/LocaleLink.tsx +0 -50
- package/dist/templates/next-app/src/uikit/components/With.tsx +0 -17
- package/dist/templates/next-app/src/uikit/components/localesImportButton/LocalesImportButton.tsx +0 -62
- package/dist/templates/next-app/src/uikit/components/localesImportButton/LocalesImportEvent.ts +0 -28
- package/dist/templates/next-app/src/uikit/components/localesImportButton/import.module.css +0 -6
- package/dist/templates/next-app/src/uikit/components-app/AdminButton.tsx +0 -29
- package/dist/templates/next-app/src/uikit/components-app/AppBridge.tsx +0 -17
- package/dist/templates/next-app/src/uikit/components-app/AppRoutePage.tsx +0 -105
- package/dist/templates/next-app/src/uikit/components-app/AuthButton.tsx +0 -20
- package/dist/templates/next-app/src/uikit/components-app/LanguageSwitcher.tsx +0 -75
- package/dist/templates/next-app/src/uikit/components-app/LogoutButton.tsx +0 -45
- package/dist/templates/next-app/src/uikit/components-app/ThemeSwitcher.tsx +0 -144
- package/dist/templates/next-app/src/uikit/components-pages/LanguageSwitcher.tsx +0 -98
- package/dist/templates/next-app/src/uikit/components-pages/PagesRoutePage.tsx +0 -93
- package/dist/templates/next-app/src/uikit/context/IOCContext.ts +0 -25
- package/dist/templates/next-app/src/uikit/hook/useI18nInterface.ts +0 -22
- package/dist/templates/next-app/src/uikit/hook/useIOC.ts +0 -37
- package/dist/templates/next-app/src/uikit/hook/useStrictEffect.ts +0 -32
- package/dist/templates/next-app/src/uikit/hook/useWarnTranslations.ts +0 -11
- package/dist/templates/next-app/src/uikit/utils/getHashParams.ts +0 -8
- package/dist/templates/next-app/src/uikit/utils/getHashVerifyEmailParams.ts +0 -42
- package/dist/templates/next-app/tailwind.config.ts +0 -8
- package/dist/templates/next-app/tsconfig.json +0 -39
- package/dist/templates/node-lib/__tests__/readJson.test.ts +0 -26
- package/dist/templates/node-lib/bin/test.js +0 -30
- package/dist/templates/node-lib/package.json +0 -66
- package/dist/templates/node-lib/rollup.config.js +0 -79
- package/dist/templates/node-lib/src/index.ts +0 -7
- package/dist/templates/node-lib/src/readJson.ts +0 -12
- package/dist/templates/node-lib/tsconfig.json +0 -23
- package/dist/templates/pack-app/README.md +0 -108
- package/dist/templates/pack-app/eslint.config.js +0 -97
- package/dist/templates/pack-app/fe-config.json +0 -35
- package/dist/templates/pack-app/package.json +0 -86
- package/dist/templates/pack-app/pnpm-workspace.yaml +0 -2
- package/dist/templates/pack-app/tsconfig.json +0 -9
- package/dist/templates/pack-app/tsconfig.test.json +0 -10
- package/dist/templates/pack-app/vite.config.ts +0 -14
- package/dist/templates/react-app/.env.template +0 -22
- package/dist/templates/react-app/.prettierignore +0 -17
- package/dist/templates/react-app/README.en.md +0 -274
- package/dist/templates/react-app/README.md +0 -273
- package/dist/templates/react-app/__tests__/__mocks__/BootstrapTest.ts +0 -16
- package/dist/templates/react-app/__tests__/__mocks__/MockAppConfig.ts +0 -48
- package/dist/templates/react-app/__tests__/__mocks__/MockDialogHandler.ts +0 -17
- package/dist/templates/react-app/__tests__/__mocks__/MockLogger.ts +0 -14
- package/dist/templates/react-app/__tests__/__mocks__/components/TestApp.tsx +0 -38
- package/dist/templates/react-app/__tests__/__mocks__/components/TestBootstrapsProvider.tsx +0 -53
- package/dist/templates/react-app/__tests__/__mocks__/components/TestRouter.tsx +0 -46
- package/dist/templates/react-app/__tests__/__mocks__/components/index.ts +0 -12
- package/dist/templates/react-app/__tests__/__mocks__/createMockGlobals.ts +0 -96
- package/dist/templates/react-app/__tests__/__mocks__/i18nextHttpBackend.ts +0 -110
- package/dist/templates/react-app/__tests__/__mocks__/testIOC/TestIOC.ts +0 -55
- package/dist/templates/react-app/__tests__/__mocks__/testIOC/TestIOCRegister.ts +0 -74
- package/dist/templates/react-app/__tests__/setup/index.ts +0 -1
- package/dist/templates/react-app/__tests__/setup/setupGlobal.ts +0 -64
- package/dist/templates/react-app/__tests__/src/App.structure.test.tsx +0 -115
- package/dist/templates/react-app/__tests__/src/base/cases/AppConfig.test.ts +0 -288
- package/dist/templates/react-app/__tests__/src/base/cases/DialogHandler.test.ts +0 -226
- package/dist/templates/react-app/__tests__/src/base/cases/I18nKeyErrorPlugin.test.ts +0 -178
- package/dist/templates/react-app/__tests__/src/base/cases/InversifyContainer.test.ts +0 -181
- package/dist/templates/react-app/__tests__/src/base/cases/PublicAssetsPath.test.ts +0 -61
- package/dist/templates/react-app/__tests__/src/base/cases/RequestLogger.test.ts +0 -177
- package/dist/templates/react-app/__tests__/src/base/cases/RequestStatusCatcher.test.ts +0 -191
- package/dist/templates/react-app/__tests__/src/base/cases/RouterLoader.test.ts +0 -245
- package/dist/templates/react-app/__tests__/src/base/services/I18nService.test.ts +0 -240
- package/dist/templates/react-app/__tests__/src/core/IOC.test.ts +0 -242
- package/dist/templates/react-app/__tests__/src/core/bootstraps/BootstrapClient.test.ts +0 -135
- package/dist/templates/react-app/__tests__/src/core/bootstraps/BootstrapsApp.test.ts +0 -74
- package/dist/templates/react-app/__tests__/src/main.test.tsx +0 -46
- package/dist/templates/react-app/__tests__/src/uikit/components/BaseHeader.test.tsx +0 -97
- package/dist/templates/react-app/__tests__/src/uikit/components/chatMessage/ChatRoot.test.tsx +0 -274
- package/dist/templates/react-app/config/IOCIdentifier.ts +0 -91
- package/dist/templates/react-app/config/Identifier/common/common.error.ts +0 -34
- package/dist/templates/react-app/config/Identifier/common/common.ts +0 -62
- package/dist/templates/react-app/config/Identifier/common/index.ts +0 -2
- package/dist/templates/react-app/config/Identifier/components/component.chatMessage.ts +0 -56
- package/dist/templates/react-app/config/Identifier/components/component.messageBaseList.ts +0 -103
- package/dist/templates/react-app/config/Identifier/index.ts +0 -2
- package/dist/templates/react-app/config/Identifier/pages/index.ts +0 -9
- package/dist/templates/react-app/config/Identifier/pages/page.about.ts +0 -189
- package/dist/templates/react-app/config/Identifier/pages/page.executor.ts +0 -275
- package/dist/templates/react-app/config/Identifier/pages/page.home.ts +0 -71
- package/dist/templates/react-app/config/Identifier/pages/page.identifiter.ts +0 -102
- package/dist/templates/react-app/config/Identifier/pages/page.jsonStorage.ts +0 -77
- package/dist/templates/react-app/config/Identifier/pages/page.login.ts +0 -162
- package/dist/templates/react-app/config/Identifier/pages/page.message.ts +0 -20
- package/dist/templates/react-app/config/Identifier/pages/page.register.ts +0 -159
- package/dist/templates/react-app/config/Identifier/pages/page.request.ts +0 -169
- package/dist/templates/react-app/config/app.router.ts +0 -338
- package/dist/templates/react-app/config/common.ts +0 -85
- package/dist/templates/react-app/config/feapi.mock.json +0 -34
- package/dist/templates/react-app/config/i18n/PageI18nInterface.ts +0 -51
- package/dist/templates/react-app/config/i18n/aboutI18n.ts +0 -42
- package/dist/templates/react-app/config/i18n/chatMessageI18n.ts +0 -17
- package/dist/templates/react-app/config/i18n/executorI18n.ts +0 -51
- package/dist/templates/react-app/config/i18n/homeI18n.ts +0 -24
- package/dist/templates/react-app/config/i18n/i18nConfig.ts +0 -30
- package/dist/templates/react-app/config/i18n/identifiter18n.ts +0 -30
- package/dist/templates/react-app/config/i18n/jsonStorage18n.ts +0 -27
- package/dist/templates/react-app/config/i18n/login18n.ts +0 -42
- package/dist/templates/react-app/config/i18n/messageBaseListI18n.ts +0 -22
- package/dist/templates/react-app/config/i18n/messageI18n.ts +0 -14
- package/dist/templates/react-app/config/i18n/notFoundI18n.ts +0 -34
- package/dist/templates/react-app/config/i18n/register18n.ts +0 -40
- package/dist/templates/react-app/config/i18n/request18n.ts +0 -41
- package/dist/templates/react-app/config/theme.ts +0 -21
- package/dist/templates/react-app/docs/en/bootstrap.md +0 -1891
- package/dist/templates/react-app/docs/en/components/chat-message-component.md +0 -320
- package/dist/templates/react-app/docs/en/components/chat-message-refactor.md +0 -283
- package/dist/templates/react-app/docs/en/components/message-base-list-component.md +0 -171
- package/dist/templates/react-app/docs/en/development-guide.md +0 -1199
- package/dist/templates/react-app/docs/en/env.md +0 -1336
- package/dist/templates/react-app/docs/en/global.md +0 -509
- package/dist/templates/react-app/docs/en/i18n.md +0 -979
- package/dist/templates/react-app/docs/en/index.md +0 -802
- package/dist/templates/react-app/docs/en/ioc.md +0 -1365
- package/dist/templates/react-app/docs/en/playwright/e2e-tests.md +0 -321
- package/dist/templates/react-app/docs/en/playwright/index.md +0 -19
- package/dist/templates/react-app/docs/en/playwright/installation-summary.md +0 -332
- package/dist/templates/react-app/docs/en/playwright/overview.md +0 -222
- package/dist/templates/react-app/docs/en/playwright/quickstart.md +0 -325
- package/dist/templates/react-app/docs/en/playwright/reorganization-notes.md +0 -340
- package/dist/templates/react-app/docs/en/playwright/setup-complete.md +0 -290
- package/dist/templates/react-app/docs/en/playwright/testing-guide.md +0 -565
- package/dist/templates/react-app/docs/en/request.md +0 -423
- package/dist/templates/react-app/docs/en/router.md +0 -404
- package/dist/templates/react-app/docs/en/store.md +0 -1331
- package/dist/templates/react-app/docs/en/test-guide.md +0 -976
- package/dist/templates/react-app/docs/en/theme.md +0 -424
- package/dist/templates/react-app/docs/en/typescript-guide.md +0 -473
- package/dist/templates/react-app/docs/en/why-no-globals.md +0 -797
- package/dist/templates/react-app/docs/zh/bootstrap.md +0 -1891
- package/dist/templates/react-app/docs/zh/components/chat-message-component.md +0 -320
- package/dist/templates/react-app/docs/zh/components/chat-message-refactor.md +0 -283
- package/dist/templates/react-app/docs/zh/components/message-base-list-component.md +0 -171
- package/dist/templates/react-app/docs/zh/development-guide.md +0 -1199
- package/dist/templates/react-app/docs/zh/env.md +0 -1336
- package/dist/templates/react-app/docs/zh/global.md +0 -511
- package/dist/templates/react-app/docs/zh/i18n.md +0 -979
- package/dist/templates/react-app/docs/zh/index.md +0 -786
- package/dist/templates/react-app/docs/zh/ioc.md +0 -1364
- package/dist/templates/react-app/docs/zh/playwright/e2e-tests.md +0 -321
- package/dist/templates/react-app/docs/zh/playwright/index.md +0 -19
- package/dist/templates/react-app/docs/zh/playwright/installation-summary.md +0 -332
- package/dist/templates/react-app/docs/zh/playwright/overview.md +0 -222
- package/dist/templates/react-app/docs/zh/playwright/quickstart.md +0 -325
- package/dist/templates/react-app/docs/zh/playwright/reorganization-notes.md +0 -340
- package/dist/templates/react-app/docs/zh/playwright/setup-complete.md +0 -290
- package/dist/templates/react-app/docs/zh/playwright/testing-guide.md +0 -565
- package/dist/templates/react-app/docs/zh/request.md +0 -427
- package/dist/templates/react-app/docs/zh/router.md +0 -408
- package/dist/templates/react-app/docs/zh/store.md +0 -1329
- package/dist/templates/react-app/docs/zh/test-guide.md +0 -976
- package/dist/templates/react-app/docs/zh/theme.md +0 -424
- package/dist/templates/react-app/docs/zh/typescript-guide.md +0 -473
- package/dist/templates/react-app/docs/zh/why-no-globals.md +0 -797
- package/dist/templates/react-app/e2e/App.spec.ts +0 -319
- package/dist/templates/react-app/e2e/fixtures/base.fixture.ts +0 -40
- package/dist/templates/react-app/e2e/main.spec.ts +0 -20
- package/dist/templates/react-app/e2e/utils/test-helpers.ts +0 -19
- package/dist/templates/react-app/eslint.config.mjs +0 -325
- package/dist/templates/react-app/index.html +0 -13
- package/dist/templates/react-app/makes/generateTs2LocalesOptions.ts +0 -26
- package/dist/templates/react-app/package.json +0 -125
- package/dist/templates/react-app/playwright.config.ts +0 -79
- package/dist/templates/react-app/postcss.config.js +0 -5
- package/dist/templates/react-app/public/locales/en/common.json +0 -235
- package/dist/templates/react-app/public/locales/zh/common.json +0 -235
- package/dist/templates/react-app/public/logo.svg +0 -1
- package/dist/templates/react-app/public/router-root/logo.svg +0 -1
- package/dist/templates/react-app/src/App.tsx +0 -35
- package/dist/templates/react-app/src/assets/react.svg +0 -1
- package/dist/templates/react-app/src/base/apis/AiApi.ts +0 -68
- package/dist/templates/react-app/src/base/apis/feApi/FeApi.ts +0 -29
- package/dist/templates/react-app/src/base/apis/feApi/FeApiAdapter.ts +0 -14
- package/dist/templates/react-app/src/base/apis/feApi/FeApiBootstarp.ts +0 -86
- package/dist/templates/react-app/src/base/apis/feApi/FeApiType.ts +0 -21
- package/dist/templates/react-app/src/base/apis/userApi/UserApi.ts +0 -142
- package/dist/templates/react-app/src/base/apis/userApi/UserApiAdapter.ts +0 -14
- package/dist/templates/react-app/src/base/apis/userApi/UserApiBootstarp.ts +0 -86
- package/dist/templates/react-app/src/base/apis/userApi/UserApiType.ts +0 -70
- package/dist/templates/react-app/src/base/cases/AppConfig.ts +0 -123
- package/dist/templates/react-app/src/base/cases/DialogHandler.ts +0 -115
- package/dist/templates/react-app/src/base/cases/I18nKeyErrorPlugin.ts +0 -64
- package/dist/templates/react-app/src/base/cases/InversifyContainer.ts +0 -45
- package/dist/templates/react-app/src/base/cases/PublicAssetsPath.ts +0 -23
- package/dist/templates/react-app/src/base/cases/RequestLanguages.ts +0 -55
- package/dist/templates/react-app/src/base/cases/RequestLogger.ts +0 -80
- package/dist/templates/react-app/src/base/cases/RequestStatusCatcher.ts +0 -40
- package/dist/templates/react-app/src/base/cases/ResourceState.ts +0 -23
- package/dist/templates/react-app/src/base/cases/RouterLoader.ts +0 -173
- package/dist/templates/react-app/src/base/cases/TranslateI18nInterface.ts +0 -26
- package/dist/templates/react-app/src/base/port/ExecutorPageBridgeInterface.ts +0 -23
- package/dist/templates/react-app/src/base/port/I18nServiceInterface.ts +0 -10
- package/dist/templates/react-app/src/base/port/IOCInterface.ts +0 -38
- package/dist/templates/react-app/src/base/port/JSONStoragePageBridgeInterface.ts +0 -21
- package/dist/templates/react-app/src/base/port/RequestPageBridgeInterface.ts +0 -23
- package/dist/templates/react-app/src/base/port/RequestStatusInterface.ts +0 -5
- package/dist/templates/react-app/src/base/port/RouteServiceInterface.ts +0 -29
- package/dist/templates/react-app/src/base/port/UserServiceInterface.ts +0 -20
- package/dist/templates/react-app/src/base/services/BaseLayoutService.ts +0 -61
- package/dist/templates/react-app/src/base/services/I18nService.ts +0 -146
- package/dist/templates/react-app/src/base/services/IdentifierService.ts +0 -162
- package/dist/templates/react-app/src/base/services/RouteService.ts +0 -115
- package/dist/templates/react-app/src/base/services/UserBootstrap.ts +0 -45
- package/dist/templates/react-app/src/base/services/UserService.ts +0 -88
- package/dist/templates/react-app/src/base/types/Page.ts +0 -47
- package/dist/templates/react-app/src/base/types/deprecated-antd.d.ts +0 -60
- package/dist/templates/react-app/src/base/types/global.d.ts +0 -8
- package/dist/templates/react-app/src/core/IOC.ts +0 -28
- package/dist/templates/react-app/src/core/bootstraps/BootstrapClient.ts +0 -108
- package/dist/templates/react-app/src/core/bootstraps/BootstrapsRegistry.ts +0 -54
- package/dist/templates/react-app/src/core/bootstraps/IocIdentifierTest.ts +0 -26
- package/dist/templates/react-app/src/core/bootstraps/PrintBootstrap.ts +0 -14
- package/dist/templates/react-app/src/core/bootstraps/SaveAppInfo.ts +0 -28
- package/dist/templates/react-app/src/core/clientIoc/ClientIOC.ts +0 -47
- package/dist/templates/react-app/src/core/clientIoc/ClientIOCRegister.ts +0 -142
- package/dist/templates/react-app/src/core/globals.ts +0 -47
- package/dist/templates/react-app/src/main.tsx +0 -19
- package/dist/templates/react-app/src/pages/404.tsx +0 -19
- package/dist/templates/react-app/src/pages/500.tsx +0 -18
- package/dist/templates/react-app/src/pages/NoRouteFound.tsx +0 -5
- package/dist/templates/react-app/src/pages/auth/Layout.tsx +0 -27
- package/dist/templates/react-app/src/pages/auth/LoginPage.tsx +0 -166
- package/dist/templates/react-app/src/pages/auth/RegisterPage.tsx +0 -226
- package/dist/templates/react-app/src/pages/base/AboutPage.tsx +0 -123
- package/dist/templates/react-app/src/pages/base/ExecutorPage.tsx +0 -467
- package/dist/templates/react-app/src/pages/base/HomePage.tsx +0 -81
- package/dist/templates/react-app/src/pages/base/IdentifierPage.tsx +0 -117
- package/dist/templates/react-app/src/pages/base/JSONStoragePage.tsx +0 -132
- package/dist/templates/react-app/src/pages/base/Layout.tsx +0 -20
- package/dist/templates/react-app/src/pages/base/MessagePage.tsx +0 -71
- package/dist/templates/react-app/src/pages/base/RedirectPathname.tsx +0 -18
- package/dist/templates/react-app/src/pages/base/RequestPage.tsx +0 -193
- package/dist/templates/react-app/src/styles/css/antd-themes/_common/_default.css +0 -280
- package/dist/templates/react-app/src/styles/css/antd-themes/_common/dark.css +0 -233
- package/dist/templates/react-app/src/styles/css/antd-themes/_common/index.css +0 -3
- package/dist/templates/react-app/src/styles/css/antd-themes/_common/pink.css +0 -246
- package/dist/templates/react-app/src/styles/css/antd-themes/index.css +0 -4
- package/dist/templates/react-app/src/styles/css/antd-themes/menu/_default.css +0 -108
- package/dist/templates/react-app/src/styles/css/antd-themes/menu/dark.css +0 -67
- package/dist/templates/react-app/src/styles/css/antd-themes/menu/index.css +0 -3
- package/dist/templates/react-app/src/styles/css/antd-themes/menu/pink.css +0 -67
- package/dist/templates/react-app/src/styles/css/antd-themes/no-context.css +0 -34
- package/dist/templates/react-app/src/styles/css/antd-themes/pagination/_default.css +0 -34
- package/dist/templates/react-app/src/styles/css/antd-themes/pagination/dark.css +0 -31
- package/dist/templates/react-app/src/styles/css/antd-themes/pagination/index.css +0 -3
- package/dist/templates/react-app/src/styles/css/antd-themes/pagination/pink.css +0 -36
- package/dist/templates/react-app/src/styles/css/antd-themes/table/_default.css +0 -44
- package/dist/templates/react-app/src/styles/css/antd-themes/table/dark.css +0 -43
- package/dist/templates/react-app/src/styles/css/antd-themes/table/index.css +0 -3
- package/dist/templates/react-app/src/styles/css/antd-themes/table/pink.css +0 -43
- package/dist/templates/react-app/src/styles/css/index.css +0 -6
- package/dist/templates/react-app/src/styles/css/page.css +0 -20
- package/dist/templates/react-app/src/styles/css/scrollbar.css +0 -34
- package/dist/templates/react-app/src/styles/css/tailwind.css +0 -5
- package/dist/templates/react-app/src/styles/css/themes/_default.css +0 -30
- package/dist/templates/react-app/src/styles/css/themes/dark.css +0 -30
- package/dist/templates/react-app/src/styles/css/themes/index.css +0 -3
- package/dist/templates/react-app/src/styles/css/themes/pink.css +0 -30
- package/dist/templates/react-app/src/styles/css/zIndex.css +0 -9
- package/dist/templates/react-app/src/uikit/bridges/ExecutorPageBridge.ts +0 -72
- package/dist/templates/react-app/src/uikit/bridges/JSONStoragePageBridge.ts +0 -41
- package/dist/templates/react-app/src/uikit/bridges/NavigateBridge.ts +0 -22
- package/dist/templates/react-app/src/uikit/bridges/RequestPageBridge.ts +0 -136
- package/dist/templates/react-app/src/uikit/components/AppRouterProvider.tsx +0 -35
- package/dist/templates/react-app/src/uikit/components/BaseHeader.tsx +0 -51
- package/dist/templates/react-app/src/uikit/components/BaseLayoutProvider.tsx +0 -44
- package/dist/templates/react-app/src/uikit/components/BaseRouteProvider.tsx +0 -21
- package/dist/templates/react-app/src/uikit/components/BaseRouteSeo.tsx +0 -18
- package/dist/templates/react-app/src/uikit/components/BootstrapsProvider.tsx +0 -11
- package/dist/templates/react-app/src/uikit/components/ClientSeo.tsx +0 -62
- package/dist/templates/react-app/src/uikit/components/ComboProvider.tsx +0 -38
- package/dist/templates/react-app/src/uikit/components/LanguageSwitcher.tsx +0 -78
- package/dist/templates/react-app/src/uikit/components/Loading.tsx +0 -49
- package/dist/templates/react-app/src/uikit/components/LocaleLink.tsx +0 -43
- package/dist/templates/react-app/src/uikit/components/LogoutButton.tsx +0 -58
- package/dist/templates/react-app/src/uikit/components/MessageBaseList.tsx +0 -258
- package/dist/templates/react-app/src/uikit/components/RouterRenderComponent.tsx +0 -19
- package/dist/templates/react-app/src/uikit/components/ThemeSwitcher.tsx +0 -137
- package/dist/templates/react-app/src/uikit/components/With.tsx +0 -17
- package/dist/templates/react-app/src/uikit/components/chatMessage/ChatMessageBridge.ts +0 -205
- package/dist/templates/react-app/src/uikit/components/chatMessage/ChatRoot.tsx +0 -21
- package/dist/templates/react-app/src/uikit/components/chatMessage/FocusBar.tsx +0 -108
- package/dist/templates/react-app/src/uikit/components/chatMessage/MessageApi.ts +0 -282
- package/dist/templates/react-app/src/uikit/components/chatMessage/MessageItem.tsx +0 -102
- package/dist/templates/react-app/src/uikit/components/chatMessage/MessagesList.tsx +0 -86
- package/dist/templates/react-app/src/uikit/contexts/BaseRouteContext.ts +0 -42
- package/dist/templates/react-app/src/uikit/contexts/IOCContext.ts +0 -13
- package/dist/templates/react-app/src/uikit/hooks/useAppTranslation.ts +0 -26
- package/dist/templates/react-app/src/uikit/hooks/useI18nInterface.ts +0 -25
- package/dist/templates/react-app/src/uikit/hooks/useIOC.ts +0 -35
- package/dist/templates/react-app/src/uikit/hooks/useNavigateBridge.ts +0 -21
- package/dist/templates/react-app/src/uikit/hooks/useRouterI18nGuard.ts +0 -25
- package/dist/templates/react-app/src/uikit/hooks/useStrictEffect.ts +0 -31
- package/dist/templates/react-app/src/vite-env.d.ts +0 -1
- package/dist/templates/react-app/tailwind.config.js +0 -4
- package/dist/templates/react-app/tsconfig.app.json +0 -36
- package/dist/templates/react-app/tsconfig.e2e.json +0 -24
- package/dist/templates/react-app/tsconfig.json +0 -22
- package/dist/templates/react-app/tsconfig.node.json +0 -27
- package/dist/templates/react-app/tsconfig.test.json +0 -18
- package/dist/templates/react-app/vite.config.ts +0 -144
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
import { IOCIdentifier } from '@config/IOCIdentifier';
|
|
2
|
-
import {
|
|
3
|
-
ExecutorContextInterface,
|
|
4
|
-
ExecutorError,
|
|
5
|
-
LifecyclePluginInterface
|
|
6
|
-
} from '@qlover/fe-corekit';
|
|
7
|
-
import { inject, injectable } from 'inversify';
|
|
8
|
-
import type { I18nServiceInterface } from '../port/I18nServiceInterface';
|
|
9
|
-
import type { LoggerInterface } from '@qlover/logger';
|
|
10
|
-
|
|
11
|
-
/**
|
|
12
|
-
* When throw error, it will be converted to i18n key
|
|
13
|
-
*
|
|
14
|
-
* If the error thrown is an i18n key, it will be converted to the corresponding text
|
|
15
|
-
*/
|
|
16
|
-
@injectable()
|
|
17
|
-
export class I18nKeyErrorPlugin implements LifecyclePluginInterface<
|
|
18
|
-
ExecutorContextInterface<unknown, unknown>
|
|
19
|
-
> {
|
|
20
|
-
public readonly pluginName = 'I18nKeyErrorPlugin';
|
|
21
|
-
|
|
22
|
-
constructor(
|
|
23
|
-
@inject(IOCIdentifier.Logger) protected logger: LoggerInterface,
|
|
24
|
-
@inject(IOCIdentifier.I18nServiceInterface)
|
|
25
|
-
protected i18nService: I18nServiceInterface
|
|
26
|
-
) {}
|
|
27
|
-
|
|
28
|
-
protected translateById(id: string): string {
|
|
29
|
-
return this.i18nService.t(id);
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
/**
|
|
33
|
-
* @override
|
|
34
|
-
*/
|
|
35
|
-
public onError(
|
|
36
|
-
context: ExecutorContextInterface<unknown, unknown>
|
|
37
|
-
): ExecutorError | void {
|
|
38
|
-
const { error } = context;
|
|
39
|
-
|
|
40
|
-
if (!error) {
|
|
41
|
-
return;
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
if (error instanceof ExecutorError) {
|
|
45
|
-
const i18nText = this.translateById(error.id);
|
|
46
|
-
this.logger.error('i18nText', i18nText);
|
|
47
|
-
return new ExecutorError(error.id, i18nText);
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
if (error instanceof Error) {
|
|
51
|
-
const i18nKey = error.message;
|
|
52
|
-
|
|
53
|
-
if (i18nKey && typeof i18nKey === 'string') {
|
|
54
|
-
const i18nText = this.translateById(i18nKey);
|
|
55
|
-
|
|
56
|
-
if (i18nText && i18nText !== i18nKey) {
|
|
57
|
-
this.logger.debug('I18nKeyErrorPlugin Error:', i18nText);
|
|
58
|
-
// Use i18nText as cause (string) so ExecutorError.message will be the translated text
|
|
59
|
-
return new ExecutorError(i18nKey, i18nText);
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
}
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import { Container } from 'inversify';
|
|
2
|
-
import type { IOCIdentifierMap } from '@config/IOCIdentifier';
|
|
3
|
-
import type {
|
|
4
|
-
IOCContainerInterface,
|
|
5
|
-
ServiceIdentifier
|
|
6
|
-
} from '@qlover/corekit-bridge';
|
|
7
|
-
|
|
8
|
-
export class InversifyContainer implements IOCContainerInterface {
|
|
9
|
-
protected container: Container;
|
|
10
|
-
|
|
11
|
-
constructor() {
|
|
12
|
-
this.container = new Container({
|
|
13
|
-
// allow `@injectable` decorator, auto bind injectable classes
|
|
14
|
-
autobind: true,
|
|
15
|
-
// use singleton scope
|
|
16
|
-
defaultScope: 'Singleton'
|
|
17
|
-
});
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
/**
|
|
21
|
-
* @override
|
|
22
|
-
*/
|
|
23
|
-
public bind<T>(key: ServiceIdentifier<T>, value: T): void {
|
|
24
|
-
this.container.bind<T>(key).toConstantValue(value);
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
/**
|
|
28
|
-
* @override
|
|
29
|
-
*/
|
|
30
|
-
public get<K extends keyof IOCIdentifierMap>(
|
|
31
|
-
serviceIdentifier: K
|
|
32
|
-
): IOCIdentifierMap[K];
|
|
33
|
-
/**
|
|
34
|
-
* @override
|
|
35
|
-
*/
|
|
36
|
-
public get<T>(serviceIdentifier: ServiceIdentifier<T>): T;
|
|
37
|
-
/**
|
|
38
|
-
* @override
|
|
39
|
-
*/
|
|
40
|
-
public get<T, K extends keyof IOCIdentifierMap>(
|
|
41
|
-
serviceIdentifier: ServiceIdentifier<T> | K
|
|
42
|
-
): T | IOCIdentifierMap[K] {
|
|
43
|
-
return this.container.get<T>(serviceIdentifier);
|
|
44
|
-
}
|
|
45
|
-
}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { routerPrefix } from '@config/common';
|
|
2
|
-
import { injectable } from 'inversify';
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* Get Publish Assets Path
|
|
6
|
-
*
|
|
7
|
-
* - If router has prefix, the path will be `prefix/path`
|
|
8
|
-
* - If router has no prefix, the path will be `path`
|
|
9
|
-
*/
|
|
10
|
-
@injectable()
|
|
11
|
-
export class PublicAssetsPath {
|
|
12
|
-
constructor(protected prefix: string = routerPrefix) {}
|
|
13
|
-
|
|
14
|
-
public getPath(path: string): string {
|
|
15
|
-
if (!this.prefix) {
|
|
16
|
-
return path.startsWith('/') ? path : `/${path}`;
|
|
17
|
-
}
|
|
18
|
-
const prefix = this.prefix.endsWith('/')
|
|
19
|
-
? this.prefix.slice(0, -1)
|
|
20
|
-
: this.prefix;
|
|
21
|
-
return prefix + (path.startsWith('/') ? path : `/${path}`);
|
|
22
|
-
}
|
|
23
|
-
}
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
import type { I18nServiceInterface } from '@/base/port/I18nServiceInterface';
|
|
2
|
-
import type {
|
|
3
|
-
ExecutorContextInterface,
|
|
4
|
-
LifecyclePluginInterface,
|
|
5
|
-
RequestAdapterConfig
|
|
6
|
-
} from '@qlover/fe-corekit';
|
|
7
|
-
|
|
8
|
-
export class RequestLanguages implements LifecyclePluginInterface<
|
|
9
|
-
ExecutorContextInterface<RequestAdapterConfig, unknown>
|
|
10
|
-
> {
|
|
11
|
-
public readonly pluginName = 'RequestLanguages';
|
|
12
|
-
|
|
13
|
-
constructor(
|
|
14
|
-
protected i18nService: I18nServiceInterface,
|
|
15
|
-
protected headerName = 'accept-language'
|
|
16
|
-
) {}
|
|
17
|
-
|
|
18
|
-
public buildAcceptLanguage(langs: string[]): string {
|
|
19
|
-
return langs
|
|
20
|
-
.map((lang, index) => {
|
|
21
|
-
const q = Math.max(1 - index * 0.1, 0.1).toFixed(1);
|
|
22
|
-
return index === 0 ? lang : `${lang};q=${q}`;
|
|
23
|
-
})
|
|
24
|
-
.join(',');
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
/**
|
|
28
|
-
* @override
|
|
29
|
-
*/
|
|
30
|
-
public onBefore(
|
|
31
|
-
context: ExecutorContextInterface<RequestAdapterConfig, unknown>
|
|
32
|
-
): void {
|
|
33
|
-
const currentLanguage = this.i18nService.getCurrentLanguage();
|
|
34
|
-
const languages = this.i18nService.getSupportedLanguages();
|
|
35
|
-
|
|
36
|
-
if (!context.parameters.headers) {
|
|
37
|
-
context.setParameters({
|
|
38
|
-
...context.parameters,
|
|
39
|
-
headers: {}
|
|
40
|
-
});
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
const languageValue = this.buildAcceptLanguage(
|
|
44
|
-
Array.from(new Set([currentLanguage, ...languages]))
|
|
45
|
-
);
|
|
46
|
-
|
|
47
|
-
context.setParameters({
|
|
48
|
-
...context.parameters,
|
|
49
|
-
headers: {
|
|
50
|
-
...context.parameters.headers,
|
|
51
|
-
[this.headerName]: languageValue
|
|
52
|
-
}
|
|
53
|
-
});
|
|
54
|
-
}
|
|
55
|
-
}
|
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
import { IOCIdentifier } from '@config/IOCIdentifier';
|
|
2
|
-
import { type ApiCatchPluginResponse } from '@qlover/corekit-bridge';
|
|
3
|
-
import {
|
|
4
|
-
type LifecyclePluginInterface,
|
|
5
|
-
type ExecutorContextInterface,
|
|
6
|
-
type RequestAdapterFetchConfig,
|
|
7
|
-
type RequestAdapterResponse
|
|
8
|
-
} from '@qlover/fe-corekit';
|
|
9
|
-
import { injectable, inject } from 'inversify';
|
|
10
|
-
import type { LoggerInterface } from '@qlover/logger';
|
|
11
|
-
|
|
12
|
-
@injectable()
|
|
13
|
-
export class RequestLogger implements LifecyclePluginInterface<
|
|
14
|
-
ExecutorContextInterface<RequestAdapterFetchConfig, unknown>
|
|
15
|
-
> {
|
|
16
|
-
public readonly pluginName = 'RequestLogger';
|
|
17
|
-
|
|
18
|
-
constructor(@inject(IOCIdentifier.Logger) public logger: LoggerInterface) {}
|
|
19
|
-
|
|
20
|
-
/**
|
|
21
|
-
* @override
|
|
22
|
-
*/
|
|
23
|
-
public onBefore(
|
|
24
|
-
context: ExecutorContextInterface<RequestAdapterFetchConfig, unknown>
|
|
25
|
-
): void {
|
|
26
|
-
this.logger.log(
|
|
27
|
-
`%c[Request before]%c [${new Date().toLocaleString()}] ${context.parameters.method} ${context.parameters.url}`,
|
|
28
|
-
'color: #0ff;',
|
|
29
|
-
'color: inherit;',
|
|
30
|
-
context.parameters
|
|
31
|
-
);
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
/**
|
|
35
|
-
* @override
|
|
36
|
-
*/
|
|
37
|
-
public async onSuccess({
|
|
38
|
-
parameters,
|
|
39
|
-
returnValue
|
|
40
|
-
}: ExecutorContextInterface<
|
|
41
|
-
RequestAdapterFetchConfig,
|
|
42
|
-
unknown
|
|
43
|
-
>): Promise<void> {
|
|
44
|
-
const _returnValue = returnValue as RequestAdapterResponse &
|
|
45
|
-
ApiCatchPluginResponse;
|
|
46
|
-
|
|
47
|
-
// If the apiCatchResult is not null, it means that the error has been caught
|
|
48
|
-
// from `ApiCatchPlugin`
|
|
49
|
-
if (_returnValue.apiCatchResult) {
|
|
50
|
-
this.loggerError(parameters, _returnValue.apiCatchResult);
|
|
51
|
-
return;
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
this.logger.log(
|
|
55
|
-
`%c[Request success]%c [${new Date().toLocaleString()}] ${parameters.method} ${parameters.url}`,
|
|
56
|
-
'color: #0f0;',
|
|
57
|
-
'color: inherit;',
|
|
58
|
-
_returnValue
|
|
59
|
-
);
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
/**
|
|
63
|
-
* @override
|
|
64
|
-
*/
|
|
65
|
-
public onError({
|
|
66
|
-
parameters,
|
|
67
|
-
error
|
|
68
|
-
}: ExecutorContextInterface<RequestAdapterFetchConfig, unknown>): void {
|
|
69
|
-
this.loggerError(parameters, error);
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
public loggerError(config: RequestAdapterFetchConfig, error: unknown): void {
|
|
73
|
-
this.logger.log(
|
|
74
|
-
`%c[Request error]%c [${new Date().toLocaleString()}] ${config.method} ${config.url}`,
|
|
75
|
-
'color: #f00;',
|
|
76
|
-
'color: inherit;',
|
|
77
|
-
error
|
|
78
|
-
);
|
|
79
|
-
}
|
|
80
|
-
}
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import { IOCIdentifier } from '@config/IOCIdentifier';
|
|
2
|
-
import { inject, injectable } from 'inversify';
|
|
3
|
-
import type { RequestCatcherInterface } from '@qlover/corekit-bridge';
|
|
4
|
-
import type { RequestAdapterResponse } from '@qlover/fe-corekit';
|
|
5
|
-
import type { LoggerInterface } from '@qlover/logger';
|
|
6
|
-
|
|
7
|
-
@injectable()
|
|
8
|
-
export class RequestStatusCatcher implements RequestCatcherInterface<RequestAdapterResponse> {
|
|
9
|
-
constructor(
|
|
10
|
-
@inject(IOCIdentifier.Logger) protected logger: LoggerInterface
|
|
11
|
-
) {}
|
|
12
|
-
|
|
13
|
-
/**
|
|
14
|
-
* default handler
|
|
15
|
-
* @override
|
|
16
|
-
*/
|
|
17
|
-
public default(context: RequestAdapterResponse<unknown, unknown>): void {
|
|
18
|
-
this.logger.warn(`RequestStatusCatcher default handler`, context);
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
/**
|
|
22
|
-
* handler
|
|
23
|
-
* @override
|
|
24
|
-
*/
|
|
25
|
-
public handler(context: RequestAdapterResponse<unknown, unknown>): void {
|
|
26
|
-
const { status } = context;
|
|
27
|
-
|
|
28
|
-
const _handler = this[`case${status}` as keyof RequestStatusCatcher];
|
|
29
|
-
|
|
30
|
-
if (typeof _handler === 'function') {
|
|
31
|
-
return _handler.call(this, context);
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
return this.default(context);
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
public case200(_context: RequestAdapterResponse<unknown, unknown>): void {
|
|
38
|
-
// this.logger.info(`RequestStatusCatcher case200 handler`, context);
|
|
39
|
-
}
|
|
40
|
-
}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { RequestState } from '@qlover/corekit-bridge';
|
|
2
|
-
import type {
|
|
3
|
-
ResourceQuery,
|
|
4
|
-
ResourceStateInterface
|
|
5
|
-
} from '@qlover/corekit-bridge';
|
|
6
|
-
|
|
7
|
-
export interface PaginationInterface<T> {
|
|
8
|
-
list: T[];
|
|
9
|
-
total: number;
|
|
10
|
-
page: number;
|
|
11
|
-
pageSize: number;
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
export class ResourceState implements ResourceStateInterface {
|
|
15
|
-
public searchParams: ResourceQuery = {
|
|
16
|
-
page: 1,
|
|
17
|
-
pageSize: 10,
|
|
18
|
-
orderBy: 'updated_at',
|
|
19
|
-
order: 1
|
|
20
|
-
};
|
|
21
|
-
public initState = new RequestState<unknown>();
|
|
22
|
-
public listState = new RequestState<PaginationInterface<unknown>>();
|
|
23
|
-
}
|
|
@@ -1,173 +0,0 @@
|
|
|
1
|
-
import isString from 'lodash/isString';
|
|
2
|
-
import type { RouteMeta } from '../types/Page';
|
|
3
|
-
import type { LoggerInterface } from '@qlover/logger';
|
|
4
|
-
import type { ComponentType, LazyExoticComponent, ReactNode } from 'react';
|
|
5
|
-
import type { RouteObject } from 'react-router-dom';
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* Component mapping type for lazy-loaded components
|
|
9
|
-
* @description Maps component identifiers to their lazy-loaded implementations
|
|
10
|
-
*/
|
|
11
|
-
export type ComponentValue = Record<string, () => unknown>;
|
|
12
|
-
|
|
13
|
-
/**
|
|
14
|
-
* Route component type definition supporting both regular and lazy-loaded components
|
|
15
|
-
*/
|
|
16
|
-
type RouteComponentType<T = unknown> =
|
|
17
|
-
| ComponentType<T>
|
|
18
|
-
| LazyExoticComponent<ComponentType<T>>;
|
|
19
|
-
|
|
20
|
-
/**
|
|
21
|
-
* Extended route configuration interface
|
|
22
|
-
* @description Extends React Router's RouteObject with additional meta information
|
|
23
|
-
*/
|
|
24
|
-
export type RouteConfigValue = Omit<RouteObject, 'element' | 'children'> & {
|
|
25
|
-
/**
|
|
26
|
-
* Component identifier string that maps to a component in componentMaps
|
|
27
|
-
*
|
|
28
|
-
* TODO: support `ReactNode`
|
|
29
|
-
*
|
|
30
|
-
* @description Used to lookup the actual component implementation
|
|
31
|
-
*/
|
|
32
|
-
element?: string;
|
|
33
|
-
|
|
34
|
-
/**
|
|
35
|
-
* Nested route configurations
|
|
36
|
-
*/
|
|
37
|
-
children?: RouteConfigValue[];
|
|
38
|
-
|
|
39
|
-
/**
|
|
40
|
-
* Additional metadata for the route
|
|
41
|
-
* @description Can store any route-specific data like permissions, titles, etc.
|
|
42
|
-
*/
|
|
43
|
-
meta?: RouteMeta;
|
|
44
|
-
};
|
|
45
|
-
|
|
46
|
-
/**
|
|
47
|
-
* Route rendering function type
|
|
48
|
-
* @description Function to customize how route components are rendered
|
|
49
|
-
*/
|
|
50
|
-
export type RouterLoaderRender = (
|
|
51
|
-
route: Omit<RouteConfigValue, 'element'> & {
|
|
52
|
-
element: () => RouteComponentType;
|
|
53
|
-
}
|
|
54
|
-
) => ReactNode;
|
|
55
|
-
|
|
56
|
-
/**
|
|
57
|
-
* Router loader configuration options
|
|
58
|
-
*/
|
|
59
|
-
export type RouterLoaderOptions = {
|
|
60
|
-
/**
|
|
61
|
-
* Route configuration array
|
|
62
|
-
* @description Defines the application's routing structure
|
|
63
|
-
*/
|
|
64
|
-
routes?: RouteConfigValue[];
|
|
65
|
-
|
|
66
|
-
/**
|
|
67
|
-
* Component mapping object
|
|
68
|
-
* @description Maps component identifiers to their actual implementations
|
|
69
|
-
* @example
|
|
70
|
-
* {
|
|
71
|
-
* 'Home': () => import('./pages/Home'),
|
|
72
|
-
* 'About': () => import('./pages/About')
|
|
73
|
-
* }
|
|
74
|
-
*/
|
|
75
|
-
componentMaps?: ComponentValue;
|
|
76
|
-
|
|
77
|
-
/**
|
|
78
|
-
* Custom route rendering function
|
|
79
|
-
* @description Controls how route components are rendered
|
|
80
|
-
* @required
|
|
81
|
-
*/
|
|
82
|
-
render: RouterLoaderRender;
|
|
83
|
-
|
|
84
|
-
/**
|
|
85
|
-
* Logger
|
|
86
|
-
*/
|
|
87
|
-
logger?: LoggerInterface;
|
|
88
|
-
};
|
|
89
|
-
|
|
90
|
-
/**
|
|
91
|
-
* Router Configuration Loader
|
|
92
|
-
*
|
|
93
|
-
* Significance: Manages dynamic route configuration and component loading
|
|
94
|
-
* Core idea: Separate route definitions from component implementations
|
|
95
|
-
* Main function: Transform route configurations into React Router compatible routes
|
|
96
|
-
* Main purpose: Enable dynamic and code-split routing with lazy loading
|
|
97
|
-
*
|
|
98
|
-
* @example
|
|
99
|
-
* const loader = new RouterLoader({
|
|
100
|
-
* routes: [{
|
|
101
|
-
* path: '/',
|
|
102
|
-
* element: 'Home',
|
|
103
|
-
* children: [{
|
|
104
|
-
* path: 'about',
|
|
105
|
-
* element: 'About'
|
|
106
|
-
* }]
|
|
107
|
-
* }],
|
|
108
|
-
* componentMaps: {
|
|
109
|
-
* 'Home': () => import('./pages/Home'),
|
|
110
|
-
* 'About': () => import('./pages/About')
|
|
111
|
-
* },
|
|
112
|
-
* render: (route) => <Suspense><route.element /></Suspense>
|
|
113
|
-
* });
|
|
114
|
-
*/
|
|
115
|
-
export class RouterLoader {
|
|
116
|
-
constructor(protected options: RouterLoaderOptions) {
|
|
117
|
-
if (!options.render) {
|
|
118
|
-
throw new Error('RouterLoader render is required');
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
/**
|
|
123
|
-
* Get the component mapping object
|
|
124
|
-
* @returns Component mapping dictionary
|
|
125
|
-
*/
|
|
126
|
-
public getComponentMaps(): ComponentValue {
|
|
127
|
-
const { componentMaps = {} } = this.options;
|
|
128
|
-
return componentMaps;
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
/**
|
|
132
|
-
* Retrieve a component implementation by its identifier
|
|
133
|
-
* @param element Component identifier string
|
|
134
|
-
* @returns Component loader function
|
|
135
|
-
* @throws Error if component is not found in componentMaps
|
|
136
|
-
*/
|
|
137
|
-
public getComponent(element: string): () => RouteComponentType {
|
|
138
|
-
const maps = this.getComponentMaps();
|
|
139
|
-
const component = maps[element];
|
|
140
|
-
|
|
141
|
-
if (!component) {
|
|
142
|
-
throw new Error(`Component not found: ${element}`);
|
|
143
|
-
}
|
|
144
|
-
|
|
145
|
-
return component as () => RouteComponentType;
|
|
146
|
-
}
|
|
147
|
-
|
|
148
|
-
/**
|
|
149
|
-
* Transform a route configuration into a React Router compatible route
|
|
150
|
-
* @param route Route configuration object
|
|
151
|
-
* @returns React Router route object
|
|
152
|
-
*/
|
|
153
|
-
public toRoute(route: RouteConfigValue): RouteObject {
|
|
154
|
-
const { render } = this.options;
|
|
155
|
-
const { element, children, ...rest } = route;
|
|
156
|
-
|
|
157
|
-
if (!element || !isString(element)) {
|
|
158
|
-
this.options.logger?.warn(
|
|
159
|
-
`Invalid route, path is: ${route.path}, element is: ${element}`
|
|
160
|
-
);
|
|
161
|
-
}
|
|
162
|
-
|
|
163
|
-
const componet = this.getComponent(element || '404');
|
|
164
|
-
const Element = render({ ...rest, element: componet });
|
|
165
|
-
|
|
166
|
-
// @ts-expect-error
|
|
167
|
-
return {
|
|
168
|
-
...rest,
|
|
169
|
-
element: Element,
|
|
170
|
-
children: children?.map((child) => this.toRoute(child))
|
|
171
|
-
};
|
|
172
|
-
}
|
|
173
|
-
}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import type { PageI18nInterface } from '@config/i18n/PageI18nInterface';
|
|
2
|
-
import type { TFunction } from 'i18next';
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* Translate I18n Interface tools class
|
|
6
|
-
*
|
|
7
|
-
* @param i18nInterface - The i18n interface to translate
|
|
8
|
-
* @param t - The translations function
|
|
9
|
-
* @returns The translated i18n interface
|
|
10
|
-
*/
|
|
11
|
-
export class TranslateI18nInterface {
|
|
12
|
-
public static translate<T extends PageI18nInterface | Record<string, string>>(
|
|
13
|
-
source: T,
|
|
14
|
-
t: TFunction<string, string>
|
|
15
|
-
): T {
|
|
16
|
-
return Object.fromEntries(
|
|
17
|
-
Object.entries(source).map(([key, value]) => {
|
|
18
|
-
if (typeof value === 'string') {
|
|
19
|
-
// 禁用命名空间分隔符,避免冒号被解析为命名空间
|
|
20
|
-
return [key, t(value, { nsSeparator: false })];
|
|
21
|
-
}
|
|
22
|
-
return [key, value];
|
|
23
|
-
})
|
|
24
|
-
) as T;
|
|
25
|
-
}
|
|
26
|
-
}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { StoreInterface } from '@qlover/corekit-bridge';
|
|
2
|
-
import type { StoreStateInterface, RequestState } from '@qlover/corekit-bridge';
|
|
3
|
-
|
|
4
|
-
export interface ExecutorPageStateInterface extends StoreStateInterface {
|
|
5
|
-
helloState: RequestState<any>;
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
/**
|
|
9
|
-
* Executor Page Bridge Interface
|
|
10
|
-
*
|
|
11
|
-
* This interface provides a bridge for the ExecutorPage component to interact with the ExecutorController.
|
|
12
|
-
* It allows the ExecutorPage component to subscribe to the ExecutorController's state and trigger actions.
|
|
13
|
-
*
|
|
14
|
-
* @example
|
|
15
|
-
* const executorPageBridge = new ExecutorPageBridge();
|
|
16
|
-
*/
|
|
17
|
-
export abstract class ExecutorPageBridgeInterface extends StoreInterface<ExecutorPageStateInterface> {
|
|
18
|
-
public selector = {
|
|
19
|
-
helloState: (state: ExecutorPageStateInterface) => state.helloState
|
|
20
|
-
};
|
|
21
|
-
|
|
22
|
-
public abstract onTestPlugins: () => Promise<void>;
|
|
23
|
-
}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import type { BootstrapExecutorPlugin } from '@qlover/corekit-bridge';
|
|
2
|
-
|
|
3
|
-
export interface I18nServiceInterface extends BootstrapExecutorPlugin {
|
|
4
|
-
t(key: string, params?: Record<string, unknown>): string;
|
|
5
|
-
changeLanguage(language: string): void;
|
|
6
|
-
changeLoading(loading: boolean): void;
|
|
7
|
-
getCurrentLanguage(): string;
|
|
8
|
-
isValidLanguage(language: string): boolean;
|
|
9
|
-
getSupportedLanguages(): string[];
|
|
10
|
-
}
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
EnvConfigInterface,
|
|
3
|
-
IOCContainerInterface,
|
|
4
|
-
IOCFunctionInterface,
|
|
5
|
-
IOCRegisterInterface
|
|
6
|
-
} from '@qlover/corekit-bridge';
|
|
7
|
-
|
|
8
|
-
/**
|
|
9
|
-
* IOC register options
|
|
10
|
-
*/
|
|
11
|
-
export type IocRegisterOptions = {
|
|
12
|
-
/**
|
|
13
|
-
* The pathname of the current page
|
|
14
|
-
*/
|
|
15
|
-
pathname: string;
|
|
16
|
-
|
|
17
|
-
/**
|
|
18
|
-
* The app config
|
|
19
|
-
*/
|
|
20
|
-
appConfig: EnvConfigInterface;
|
|
21
|
-
};
|
|
22
|
-
|
|
23
|
-
export interface IOCInterface<
|
|
24
|
-
IdentifierMap,
|
|
25
|
-
IOCContainer extends IOCContainerInterface
|
|
26
|
-
> {
|
|
27
|
-
create(
|
|
28
|
-
options: IocRegisterOptions
|
|
29
|
-
): IOCFunctionInterface<IdentifierMap, IOCContainer>;
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
/**
|
|
33
|
-
* 提供一个快捷的注册器类型名
|
|
34
|
-
*/
|
|
35
|
-
export interface IOCRegister extends IOCRegisterInterface<
|
|
36
|
-
IOCContainerInterface,
|
|
37
|
-
IocRegisterOptions
|
|
38
|
-
> {}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { StoreInterface } from '@qlover/corekit-bridge';
|
|
2
|
-
import type { StoreStateInterface } from '@qlover/corekit-bridge';
|
|
3
|
-
|
|
4
|
-
export interface JSONStoragePageStateInterface extends StoreStateInterface {
|
|
5
|
-
testKey1?: number;
|
|
6
|
-
testKey2?: number;
|
|
7
|
-
expireTime: number;
|
|
8
|
-
requestTimeout: number;
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
export abstract class JSONStoragePageBridgeInterface extends StoreInterface<JSONStoragePageStateInterface> {
|
|
12
|
-
public selector = {
|
|
13
|
-
requestTimeout: (state: JSONStoragePageStateInterface) =>
|
|
14
|
-
state.requestTimeout
|
|
15
|
-
};
|
|
16
|
-
|
|
17
|
-
public abstract changeRandomTestKey1: () => void;
|
|
18
|
-
public abstract onChangeRandomTestKey2: () => void;
|
|
19
|
-
public abstract changeExpireTime: (expireTime: number) => void;
|
|
20
|
-
public abstract changeRequestTimeout: (requestTimeout: number) => void;
|
|
21
|
-
}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { StoreInterface } from '@qlover/corekit-bridge';
|
|
2
|
-
import type { StoreStateInterface, RequestState } from '@qlover/corekit-bridge';
|
|
3
|
-
|
|
4
|
-
export interface RequestPageStateInterface extends StoreStateInterface {
|
|
5
|
-
helloState: RequestState<unknown>;
|
|
6
|
-
ipInfoState: RequestState<unknown>;
|
|
7
|
-
randomUserState: RequestState<unknown>;
|
|
8
|
-
abortState: RequestState<unknown>;
|
|
9
|
-
apiCatchResultState: RequestState<unknown>;
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
export abstract class RequestPageBridgeInterface extends StoreInterface<RequestPageStateInterface> {
|
|
13
|
-
public abstract onHello: () => void;
|
|
14
|
-
public abstract onIpInfo: () => void;
|
|
15
|
-
public abstract onRandomUser: () => void;
|
|
16
|
-
public abstract onTriggerApiCatchResult: () => void;
|
|
17
|
-
public abstract onTriggerAbortRequest: () => void;
|
|
18
|
-
public abstract stopAbortRequest: () => void;
|
|
19
|
-
|
|
20
|
-
public emitState(state: Partial<RequestPageStateInterface>): void {
|
|
21
|
-
this.emit(this.cloneState(state));
|
|
22
|
-
}
|
|
23
|
-
}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import { StoreInterface } from '@qlover/corekit-bridge';
|
|
2
|
-
import type { RouteConfigValue } from '../cases/RouterLoader';
|
|
3
|
-
import type { StoreStateInterface } from '@qlover/corekit-bridge';
|
|
4
|
-
import type { LoggerInterface } from '@qlover/logger';
|
|
5
|
-
import type { NavigateFunction, NavigateOptions } from 'react-router-dom';
|
|
6
|
-
|
|
7
|
-
export interface RouteServiceStateInterface extends StoreStateInterface {
|
|
8
|
-
routes: RouteConfigValue[];
|
|
9
|
-
localeRoutes: boolean;
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
export abstract class RouteServiceInterface extends StoreInterface<RouteServiceStateInterface> {
|
|
13
|
-
public abstract get logger(): LoggerInterface;
|
|
14
|
-
|
|
15
|
-
public abstract getRoutes(): RouteConfigValue[];
|
|
16
|
-
public abstract changeRoutes(routes: RouteConfigValue[]): void;
|
|
17
|
-
public abstract goto(
|
|
18
|
-
path: string,
|
|
19
|
-
options?: NavigateOptions & { navigate?: NavigateFunction }
|
|
20
|
-
): void;
|
|
21
|
-
public abstract gotoLogin(): void;
|
|
22
|
-
public abstract replaceToHome(): void;
|
|
23
|
-
public abstract redirectToDefault(navigate: NavigateFunction): void;
|
|
24
|
-
public abstract i18nGuard(
|
|
25
|
-
currentPath: string,
|
|
26
|
-
lng: string,
|
|
27
|
-
navigate?: NavigateFunction
|
|
28
|
-
): void;
|
|
29
|
-
}
|