@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.
Files changed (556) hide show
  1. package/CHANGELOG.md +43 -0
  2. package/dist/index.cjs +9 -9
  3. package/dist/index.js +9 -9
  4. package/package.json +4 -3
  5. package/dist/configs/_common/.editorconfig +0 -23
  6. package/dist/configs/_common/.env.template +0 -13
  7. package/dist/configs/_common/.gitattributes +0 -2
  8. package/dist/configs/_common/.github/workflows/general-check.yml +0 -41
  9. package/dist/configs/_common/.github/workflows/release.yml +0 -81
  10. package/dist/configs/_common/.gitignore.template +0 -64
  11. package/dist/configs/_common/.husky/commit-msg +0 -3
  12. package/dist/configs/_common/.husky/pre-commit +0 -3
  13. package/dist/configs/_common/.prettierignore +0 -17
  14. package/dist/configs/_common/.prettierrc.js +0 -7
  15. package/dist/configs/_common/.vscode/extensions.json +0 -9
  16. package/dist/configs/_common/.vscode/react.code-snippets +0 -19
  17. package/dist/configs/_common/.vscode/settings.json +0 -16
  18. package/dist/configs/_common/commitlint.config.js +0 -10
  19. package/dist/configs/_common/package.json.template +0 -75
  20. package/dist/configs/node-lib/eslint.config.js +0 -50
  21. package/dist/templates/next-app/.env.template +0 -25
  22. package/dist/templates/next-app/.prettierignore +0 -58
  23. package/dist/templates/next-app/README.en.md +0 -130
  24. package/dist/templates/next-app/README.md +0 -130
  25. package/dist/templates/next-app/config/IOCIdentifier.ts +0 -74
  26. package/dist/templates/next-app/config/Identifier/api.ts +0 -41
  27. package/dist/templates/next-app/config/Identifier/common/admint.table.ts +0 -69
  28. package/dist/templates/next-app/config/Identifier/common/common.ts +0 -90
  29. package/dist/templates/next-app/config/Identifier/common/index.ts +0 -3
  30. package/dist/templates/next-app/config/Identifier/common/validators.ts +0 -34
  31. package/dist/templates/next-app/config/Identifier/index.ts +0 -3
  32. package/dist/templates/next-app/config/Identifier/pages/index.ts +0 -7
  33. package/dist/templates/next-app/config/Identifier/pages/page.about.ts +0 -20
  34. package/dist/templates/next-app/config/Identifier/pages/page.admin.home.ts +0 -27
  35. package/dist/templates/next-app/config/Identifier/pages/page.admin.locales.ts +0 -266
  36. package/dist/templates/next-app/config/Identifier/pages/page.admin.user.ts +0 -293
  37. package/dist/templates/next-app/config/Identifier/pages/page.home.ts +0 -56
  38. package/dist/templates/next-app/config/Identifier/pages/page.login.ts +0 -159
  39. package/dist/templates/next-app/config/Identifier/pages/page.register.ts +0 -177
  40. package/dist/templates/next-app/config/adminNavs.ts +0 -19
  41. package/dist/templates/next-app/config/common.ts +0 -43
  42. package/dist/templates/next-app/config/cookies.ts +0 -23
  43. package/dist/templates/next-app/config/i18n/AboutI18n.ts +0 -14
  44. package/dist/templates/next-app/config/i18n/HomeI18n.ts +0 -24
  45. package/dist/templates/next-app/config/i18n/PageI18nInterface.ts +0 -51
  46. package/dist/templates/next-app/config/i18n/admin18n.ts +0 -75
  47. package/dist/templates/next-app/config/i18n/i18nConfig.ts +0 -16
  48. package/dist/templates/next-app/config/i18n/i18nKeyScheam.ts +0 -36
  49. package/dist/templates/next-app/config/i18n/index.ts +0 -7
  50. package/dist/templates/next-app/config/i18n/loginI18n.ts +0 -50
  51. package/dist/templates/next-app/config/i18n/register18n.ts +0 -44
  52. package/dist/templates/next-app/config/route.ts +0 -9
  53. package/dist/templates/next-app/config/theme.ts +0 -28
  54. package/dist/templates/next-app/docs/en/api.md +0 -387
  55. package/dist/templates/next-app/docs/en/component.md +0 -544
  56. package/dist/templates/next-app/docs/en/database.md +0 -496
  57. package/dist/templates/next-app/docs/en/development-guide.md +0 -727
  58. package/dist/templates/next-app/docs/en/env.md +0 -563
  59. package/dist/templates/next-app/docs/en/i18n.md +0 -287
  60. package/dist/templates/next-app/docs/en/index.md +0 -165
  61. package/dist/templates/next-app/docs/en/page.md +0 -457
  62. package/dist/templates/next-app/docs/en/project-structure.md +0 -176
  63. package/dist/templates/next-app/docs/en/router.md +0 -427
  64. package/dist/templates/next-app/docs/en/theme.md +0 -532
  65. package/dist/templates/next-app/docs/en/validator.md +0 -478
  66. package/dist/templates/next-app/docs/zh/api.md +0 -387
  67. package/dist/templates/next-app/docs/zh/component.md +0 -544
  68. package/dist/templates/next-app/docs/zh/database.md +0 -496
  69. package/dist/templates/next-app/docs/zh/development-guide.md +0 -727
  70. package/dist/templates/next-app/docs/zh/env.md +0 -563
  71. package/dist/templates/next-app/docs/zh/i18n.md +0 -287
  72. package/dist/templates/next-app/docs/zh/index.md +0 -165
  73. package/dist/templates/next-app/docs/zh/page.md +0 -457
  74. package/dist/templates/next-app/docs/zh/project-structure.md +0 -176
  75. package/dist/templates/next-app/docs/zh/router.md +0 -427
  76. package/dist/templates/next-app/docs/zh/theme.md +0 -532
  77. package/dist/templates/next-app/docs/zh/validator.md +0 -476
  78. package/dist/templates/next-app/eslint.config.mjs +0 -285
  79. package/dist/templates/next-app/make/generateLocales.ts +0 -32
  80. package/dist/templates/next-app/migrations/schema/LocalesSchema.ts +0 -15
  81. package/dist/templates/next-app/migrations/schema/UserSchema.ts +0 -38
  82. package/dist/templates/next-app/migrations/sql/1694244000000.sql +0 -21
  83. package/dist/templates/next-app/next.config.ts +0 -25
  84. package/dist/templates/next-app/package.json +0 -87
  85. package/dist/templates/next-app/postcss.config.mjs +0 -5
  86. package/dist/templates/next-app/public/favicon.ico +0 -0
  87. package/dist/templates/next-app/public/file.svg +0 -1
  88. package/dist/templates/next-app/public/globe.svg +0 -1
  89. package/dist/templates/next-app/public/locales/en.json +0 -182
  90. package/dist/templates/next-app/public/locales/zh.json +0 -182
  91. package/dist/templates/next-app/public/next.svg +0 -1
  92. package/dist/templates/next-app/public/vercel.svg +0 -1
  93. package/dist/templates/next-app/public/window.svg +0 -1
  94. package/dist/templates/next-app/src/app/[locale]/admin/AdminI18nProvider.tsx +0 -37
  95. package/dist/templates/next-app/src/app/[locale]/admin/layout.tsx +0 -42
  96. package/dist/templates/next-app/src/app/[locale]/admin/locales/page.tsx +0 -153
  97. package/dist/templates/next-app/src/app/[locale]/admin/page.tsx +0 -20
  98. package/dist/templates/next-app/src/app/[locale]/admin/users/page.tsx +0 -67
  99. package/dist/templates/next-app/src/app/[locale]/auth/layout.tsx +0 -18
  100. package/dist/templates/next-app/src/app/[locale]/auth/login/LoginForm.tsx +0 -126
  101. package/dist/templates/next-app/src/app/[locale]/auth/login/page.tsx +0 -90
  102. package/dist/templates/next-app/src/app/[locale]/auth/page.tsx +0 -8
  103. package/dist/templates/next-app/src/app/[locale]/auth/register/RegisterForm.tsx +0 -197
  104. package/dist/templates/next-app/src/app/[locale]/auth/register/page.tsx +0 -90
  105. package/dist/templates/next-app/src/app/[locale]/layout.tsx +0 -63
  106. package/dist/templates/next-app/src/app/[locale]/not-found.tsx +0 -24
  107. package/dist/templates/next-app/src/app/[locale]/page.tsx +0 -98
  108. package/dist/templates/next-app/src/app/api/admin/locales/create/route.ts +0 -13
  109. package/dist/templates/next-app/src/app/api/admin/locales/import/route.ts +0 -13
  110. package/dist/templates/next-app/src/app/api/admin/locales/route.ts +0 -20
  111. package/dist/templates/next-app/src/app/api/admin/locales/update/route.ts +0 -13
  112. package/dist/templates/next-app/src/app/api/admin/users/route.ts +0 -20
  113. package/dist/templates/next-app/src/app/api/ai/completions/route.ts +0 -32
  114. package/dist/templates/next-app/src/app/api/auth/callback/route.ts +0 -11
  115. package/dist/templates/next-app/src/app/api/callback/route.ts +0 -49
  116. package/dist/templates/next-app/src/app/api/locales/json/route.ts +0 -33
  117. package/dist/templates/next-app/src/app/api/user/login/route.ts +0 -10
  118. package/dist/templates/next-app/src/app/api/user/logout/route.ts +0 -8
  119. package/dist/templates/next-app/src/app/api/user/register/route.ts +0 -11
  120. package/dist/templates/next-app/src/app/manifest.ts +0 -16
  121. package/dist/templates/next-app/src/app/robots.txt +0 -2
  122. package/dist/templates/next-app/src/base/cases/AdminPageManager.ts +0 -28
  123. package/dist/templates/next-app/src/base/cases/AppConfig.ts +0 -40
  124. package/dist/templates/next-app/src/base/cases/Datetime.ts +0 -18
  125. package/dist/templates/next-app/src/base/cases/DialogErrorPlugin.ts +0 -57
  126. package/dist/templates/next-app/src/base/cases/DialogHandler.ts +0 -116
  127. package/dist/templates/next-app/src/base/cases/InversifyContainer.ts +0 -45
  128. package/dist/templates/next-app/src/base/cases/NavigateBridge.ts +0 -32
  129. package/dist/templates/next-app/src/base/cases/RequestEncryptPlugin.ts +0 -77
  130. package/dist/templates/next-app/src/base/cases/ResourceState.ts +0 -17
  131. package/dist/templates/next-app/src/base/cases/RouterService.ts +0 -52
  132. package/dist/templates/next-app/src/base/cases/StringEncryptor.ts +0 -73
  133. package/dist/templates/next-app/src/base/cases/TranslateI18nUtil.ts +0 -53
  134. package/dist/templates/next-app/src/base/cases/ZodColumnBuilder.ts +0 -212
  135. package/dist/templates/next-app/src/base/port/AdminLayoutInterface.ts +0 -26
  136. package/dist/templates/next-app/src/base/port/AppApiInterface.ts +0 -36
  137. package/dist/templates/next-app/src/base/port/AppUserApiInterface.ts +0 -27
  138. package/dist/templates/next-app/src/base/port/I18nServiceInterface.ts +0 -25
  139. package/dist/templates/next-app/src/base/port/IOCInterface.ts +0 -33
  140. package/dist/templates/next-app/src/base/port/RouterInterface.ts +0 -11
  141. package/dist/templates/next-app/src/base/port/UserServiceInterface.ts +0 -25
  142. package/dist/templates/next-app/src/base/port/ZodBuilderInterface.ts +0 -8
  143. package/dist/templates/next-app/src/base/services/AdminPageEvent.ts +0 -26
  144. package/dist/templates/next-app/src/base/services/AdminPageScheduler.ts +0 -42
  145. package/dist/templates/next-app/src/base/services/AppApiRequester.ts +0 -67
  146. package/dist/templates/next-app/src/base/services/AppUserGateway.ts +0 -110
  147. package/dist/templates/next-app/src/base/services/I18nService.ts +0 -87
  148. package/dist/templates/next-app/src/base/services/ResourceService.ts +0 -139
  149. package/dist/templates/next-app/src/base/services/UserService.ts +0 -68
  150. package/dist/templates/next-app/src/base/services/adminApi/AdminLocalesApi.ts +0 -106
  151. package/dist/templates/next-app/src/base/services/adminApi/AdminUserApi.ts +0 -87
  152. package/dist/templates/next-app/src/base/services/appApi/AppApiPlugin.ts +0 -110
  153. package/dist/templates/next-app/src/base/services/appApi/AppUserApiBootstrap.ts +0 -52
  154. package/dist/templates/next-app/src/base/types/AppPageRouter.ts +0 -12
  155. package/dist/templates/next-app/src/base/types/PagesRouter.ts +0 -9
  156. package/dist/templates/next-app/src/core/bootstraps/BootstrapClient.ts +0 -76
  157. package/dist/templates/next-app/src/core/bootstraps/BootstrapServer.ts +0 -125
  158. package/dist/templates/next-app/src/core/bootstraps/BootstrapsRegistry.ts +0 -50
  159. package/dist/templates/next-app/src/core/bootstraps/IocIdentifierTest.ts +0 -26
  160. package/dist/templates/next-app/src/core/bootstraps/PrintBootstrap.ts +0 -18
  161. package/dist/templates/next-app/src/core/clientIoc/ClientIOC.ts +0 -68
  162. package/dist/templates/next-app/src/core/clientIoc/ClientIOCRegister.ts +0 -100
  163. package/dist/templates/next-app/src/core/globals.ts +0 -28
  164. package/dist/templates/next-app/src/core/serverIoc/ServerIOC.ts +0 -80
  165. package/dist/templates/next-app/src/core/serverIoc/ServerIOCRegister.ts +0 -66
  166. package/dist/templates/next-app/src/i18n/loadMessages.ts +0 -103
  167. package/dist/templates/next-app/src/i18n/request.ts +0 -31
  168. package/dist/templates/next-app/src/i18n/routing.ts +0 -35
  169. package/dist/templates/next-app/src/lib/supabase/client.ts +0 -8
  170. package/dist/templates/next-app/src/lib/supabase/conts.ts +0 -2
  171. package/dist/templates/next-app/src/lib/supabase/proxy.ts +0 -84
  172. package/dist/templates/next-app/src/lib/supabase/server.ts +0 -38
  173. package/dist/templates/next-app/src/pages/[locale]/about.tsx +0 -61
  174. package/dist/templates/next-app/src/pages/_app.tsx +0 -50
  175. package/dist/templates/next-app/src/pages/_document.tsx +0 -13
  176. package/dist/templates/next-app/src/proxy.ts +0 -33
  177. package/dist/templates/next-app/src/server/AppErrorApi.ts +0 -10
  178. package/dist/templates/next-app/src/server/AppPageRouteParams.ts +0 -110
  179. package/dist/templates/next-app/src/server/AppSuccessApi.ts +0 -7
  180. package/dist/templates/next-app/src/server/NextApiServer.ts +0 -61
  181. package/dist/templates/next-app/src/server/PagesRouteParams.ts +0 -145
  182. package/dist/templates/next-app/src/server/PasswordEncrypt.ts +0 -18
  183. package/dist/templates/next-app/src/server/ServerAuth.ts +0 -81
  184. package/dist/templates/next-app/src/server/SupabaseBridge.ts +0 -262
  185. package/dist/templates/next-app/src/server/UserCredentialToken.ts +0 -53
  186. package/dist/templates/next-app/src/server/controllers/AdminLocalesController.ts +0 -86
  187. package/dist/templates/next-app/src/server/controllers/AdminUserController.ts +0 -42
  188. package/dist/templates/next-app/src/server/controllers/LocalesController.ts +0 -36
  189. package/dist/templates/next-app/src/server/controllers/UserController.ts +0 -91
  190. package/dist/templates/next-app/src/server/port/AIControllerInterface.ts +0 -8
  191. package/dist/templates/next-app/src/server/port/AdminLocalesControllerInterface.ts +0 -21
  192. package/dist/templates/next-app/src/server/port/AdminUserControllerInterface.ts +0 -11
  193. package/dist/templates/next-app/src/server/port/CrentialTokenInterface.ts +0 -5
  194. package/dist/templates/next-app/src/server/port/DBBridgeInterface.ts +0 -36
  195. package/dist/templates/next-app/src/server/port/DBTableInterface.ts +0 -12
  196. package/dist/templates/next-app/src/server/port/LocalesControllerInterface.ts +0 -10
  197. package/dist/templates/next-app/src/server/port/LocalesRepositoryInterface.ts +0 -43
  198. package/dist/templates/next-app/src/server/port/PaginationInterface.ts +0 -6
  199. package/dist/templates/next-app/src/server/port/RouteParamsnHandlerInterface.ts +0 -18
  200. package/dist/templates/next-app/src/server/port/ServerAuthInterface.ts +0 -15
  201. package/dist/templates/next-app/src/server/port/ServerInterface.ts +0 -23
  202. package/dist/templates/next-app/src/server/port/UserRepositoryInterface.ts +0 -15
  203. package/dist/templates/next-app/src/server/port/UserServiceInterface.ts +0 -14
  204. package/dist/templates/next-app/src/server/port/ValidatorInterface.ts +0 -23
  205. package/dist/templates/next-app/src/server/repositorys/LocalesRepository.ts +0 -216
  206. package/dist/templates/next-app/src/server/repositorys/UserRepository.ts +0 -102
  207. package/dist/templates/next-app/src/server/services/AIService.ts +0 -45
  208. package/dist/templates/next-app/src/server/services/AdminAuthPlugin.ts +0 -21
  209. package/dist/templates/next-app/src/server/services/AdminLocalesService.ts +0 -20
  210. package/dist/templates/next-app/src/server/services/ApiLocaleService.ts +0 -137
  211. package/dist/templates/next-app/src/server/services/ApiUserService.ts +0 -29
  212. package/dist/templates/next-app/src/server/services/UserService.ts +0 -134
  213. package/dist/templates/next-app/src/server/validators/ExtendedExecutorError.ts +0 -6
  214. package/dist/templates/next-app/src/server/validators/LocalesValidator.ts +0 -145
  215. package/dist/templates/next-app/src/server/validators/LoginValidator.ts +0 -82
  216. package/dist/templates/next-app/src/server/validators/PaginationValidator.ts +0 -70
  217. package/dist/templates/next-app/src/server/validators/SignupVerifyValidator.ts +0 -68
  218. package/dist/templates/next-app/src/styles/css/antd-themes/_common/_default.css +0 -280
  219. package/dist/templates/next-app/src/styles/css/antd-themes/_common/dark.css +0 -233
  220. package/dist/templates/next-app/src/styles/css/antd-themes/_common/index.css +0 -3
  221. package/dist/templates/next-app/src/styles/css/antd-themes/_common/pink.css +0 -246
  222. package/dist/templates/next-app/src/styles/css/antd-themes/index.css +0 -4
  223. package/dist/templates/next-app/src/styles/css/antd-themes/menu/_default.css +0 -108
  224. package/dist/templates/next-app/src/styles/css/antd-themes/menu/dark.css +0 -67
  225. package/dist/templates/next-app/src/styles/css/antd-themes/menu/index.css +0 -3
  226. package/dist/templates/next-app/src/styles/css/antd-themes/menu/pink.css +0 -67
  227. package/dist/templates/next-app/src/styles/css/antd-themes/no-context.css +0 -34
  228. package/dist/templates/next-app/src/styles/css/antd-themes/pagination/_default.css +0 -34
  229. package/dist/templates/next-app/src/styles/css/antd-themes/pagination/dark.css +0 -31
  230. package/dist/templates/next-app/src/styles/css/antd-themes/pagination/index.css +0 -3
  231. package/dist/templates/next-app/src/styles/css/antd-themes/pagination/pink.css +0 -36
  232. package/dist/templates/next-app/src/styles/css/antd-themes/table/_default.css +0 -44
  233. package/dist/templates/next-app/src/styles/css/antd-themes/table/dark.css +0 -43
  234. package/dist/templates/next-app/src/styles/css/antd-themes/table/index.css +0 -3
  235. package/dist/templates/next-app/src/styles/css/antd-themes/table/pink.css +0 -43
  236. package/dist/templates/next-app/src/styles/css/index.css +0 -6
  237. package/dist/templates/next-app/src/styles/css/page.css +0 -20
  238. package/dist/templates/next-app/src/styles/css/scrollbar.css +0 -34
  239. package/dist/templates/next-app/src/styles/css/tailwind.css +0 -5
  240. package/dist/templates/next-app/src/styles/css/themes/_default.css +0 -30
  241. package/dist/templates/next-app/src/styles/css/themes/dark.css +0 -30
  242. package/dist/templates/next-app/src/styles/css/themes/index.css +0 -3
  243. package/dist/templates/next-app/src/styles/css/themes/pink.css +0 -30
  244. package/dist/templates/next-app/src/styles/css/zIndex.css +0 -9
  245. package/dist/templates/next-app/src/uikit/components/AdminLayout.tsx +0 -150
  246. package/dist/templates/next-app/src/uikit/components/BootstrapsProvider.tsx +0 -39
  247. package/dist/templates/next-app/src/uikit/components/ClientRootProvider.tsx +0 -64
  248. package/dist/templates/next-app/src/uikit/components/ClientSeo.tsx +0 -36
  249. package/dist/templates/next-app/src/uikit/components/ClinetRenderProvider.tsx +0 -42
  250. package/dist/templates/next-app/src/uikit/components/EditableCell.tsx +0 -118
  251. package/dist/templates/next-app/src/uikit/components/FeatureItem.tsx +0 -13
  252. package/dist/templates/next-app/src/uikit/components/IOCProvider.tsx +0 -34
  253. package/dist/templates/next-app/src/uikit/components/LocaleLink.tsx +0 -50
  254. package/dist/templates/next-app/src/uikit/components/With.tsx +0 -17
  255. package/dist/templates/next-app/src/uikit/components/localesImportButton/LocalesImportButton.tsx +0 -62
  256. package/dist/templates/next-app/src/uikit/components/localesImportButton/LocalesImportEvent.ts +0 -28
  257. package/dist/templates/next-app/src/uikit/components/localesImportButton/import.module.css +0 -6
  258. package/dist/templates/next-app/src/uikit/components-app/AdminButton.tsx +0 -29
  259. package/dist/templates/next-app/src/uikit/components-app/AppBridge.tsx +0 -17
  260. package/dist/templates/next-app/src/uikit/components-app/AppRoutePage.tsx +0 -105
  261. package/dist/templates/next-app/src/uikit/components-app/AuthButton.tsx +0 -20
  262. package/dist/templates/next-app/src/uikit/components-app/LanguageSwitcher.tsx +0 -75
  263. package/dist/templates/next-app/src/uikit/components-app/LogoutButton.tsx +0 -45
  264. package/dist/templates/next-app/src/uikit/components-app/ThemeSwitcher.tsx +0 -144
  265. package/dist/templates/next-app/src/uikit/components-pages/LanguageSwitcher.tsx +0 -98
  266. package/dist/templates/next-app/src/uikit/components-pages/PagesRoutePage.tsx +0 -93
  267. package/dist/templates/next-app/src/uikit/context/IOCContext.ts +0 -25
  268. package/dist/templates/next-app/src/uikit/hook/useI18nInterface.ts +0 -22
  269. package/dist/templates/next-app/src/uikit/hook/useIOC.ts +0 -37
  270. package/dist/templates/next-app/src/uikit/hook/useStrictEffect.ts +0 -32
  271. package/dist/templates/next-app/src/uikit/hook/useWarnTranslations.ts +0 -11
  272. package/dist/templates/next-app/src/uikit/utils/getHashParams.ts +0 -8
  273. package/dist/templates/next-app/src/uikit/utils/getHashVerifyEmailParams.ts +0 -42
  274. package/dist/templates/next-app/tailwind.config.ts +0 -8
  275. package/dist/templates/next-app/tsconfig.json +0 -39
  276. package/dist/templates/node-lib/__tests__/readJson.test.ts +0 -26
  277. package/dist/templates/node-lib/bin/test.js +0 -30
  278. package/dist/templates/node-lib/package.json +0 -66
  279. package/dist/templates/node-lib/rollup.config.js +0 -79
  280. package/dist/templates/node-lib/src/index.ts +0 -7
  281. package/dist/templates/node-lib/src/readJson.ts +0 -12
  282. package/dist/templates/node-lib/tsconfig.json +0 -23
  283. package/dist/templates/pack-app/README.md +0 -108
  284. package/dist/templates/pack-app/eslint.config.js +0 -97
  285. package/dist/templates/pack-app/fe-config.json +0 -35
  286. package/dist/templates/pack-app/package.json +0 -86
  287. package/dist/templates/pack-app/pnpm-workspace.yaml +0 -2
  288. package/dist/templates/pack-app/tsconfig.json +0 -9
  289. package/dist/templates/pack-app/tsconfig.test.json +0 -10
  290. package/dist/templates/pack-app/vite.config.ts +0 -14
  291. package/dist/templates/react-app/.env.template +0 -22
  292. package/dist/templates/react-app/.prettierignore +0 -17
  293. package/dist/templates/react-app/README.en.md +0 -274
  294. package/dist/templates/react-app/README.md +0 -273
  295. package/dist/templates/react-app/__tests__/__mocks__/BootstrapTest.ts +0 -16
  296. package/dist/templates/react-app/__tests__/__mocks__/MockAppConfig.ts +0 -48
  297. package/dist/templates/react-app/__tests__/__mocks__/MockDialogHandler.ts +0 -17
  298. package/dist/templates/react-app/__tests__/__mocks__/MockLogger.ts +0 -14
  299. package/dist/templates/react-app/__tests__/__mocks__/components/TestApp.tsx +0 -38
  300. package/dist/templates/react-app/__tests__/__mocks__/components/TestBootstrapsProvider.tsx +0 -53
  301. package/dist/templates/react-app/__tests__/__mocks__/components/TestRouter.tsx +0 -46
  302. package/dist/templates/react-app/__tests__/__mocks__/components/index.ts +0 -12
  303. package/dist/templates/react-app/__tests__/__mocks__/createMockGlobals.ts +0 -96
  304. package/dist/templates/react-app/__tests__/__mocks__/i18nextHttpBackend.ts +0 -110
  305. package/dist/templates/react-app/__tests__/__mocks__/testIOC/TestIOC.ts +0 -55
  306. package/dist/templates/react-app/__tests__/__mocks__/testIOC/TestIOCRegister.ts +0 -74
  307. package/dist/templates/react-app/__tests__/setup/index.ts +0 -1
  308. package/dist/templates/react-app/__tests__/setup/setupGlobal.ts +0 -64
  309. package/dist/templates/react-app/__tests__/src/App.structure.test.tsx +0 -115
  310. package/dist/templates/react-app/__tests__/src/base/cases/AppConfig.test.ts +0 -288
  311. package/dist/templates/react-app/__tests__/src/base/cases/DialogHandler.test.ts +0 -226
  312. package/dist/templates/react-app/__tests__/src/base/cases/I18nKeyErrorPlugin.test.ts +0 -178
  313. package/dist/templates/react-app/__tests__/src/base/cases/InversifyContainer.test.ts +0 -181
  314. package/dist/templates/react-app/__tests__/src/base/cases/PublicAssetsPath.test.ts +0 -61
  315. package/dist/templates/react-app/__tests__/src/base/cases/RequestLogger.test.ts +0 -177
  316. package/dist/templates/react-app/__tests__/src/base/cases/RequestStatusCatcher.test.ts +0 -191
  317. package/dist/templates/react-app/__tests__/src/base/cases/RouterLoader.test.ts +0 -245
  318. package/dist/templates/react-app/__tests__/src/base/services/I18nService.test.ts +0 -240
  319. package/dist/templates/react-app/__tests__/src/core/IOC.test.ts +0 -242
  320. package/dist/templates/react-app/__tests__/src/core/bootstraps/BootstrapClient.test.ts +0 -135
  321. package/dist/templates/react-app/__tests__/src/core/bootstraps/BootstrapsApp.test.ts +0 -74
  322. package/dist/templates/react-app/__tests__/src/main.test.tsx +0 -46
  323. package/dist/templates/react-app/__tests__/src/uikit/components/BaseHeader.test.tsx +0 -97
  324. package/dist/templates/react-app/__tests__/src/uikit/components/chatMessage/ChatRoot.test.tsx +0 -274
  325. package/dist/templates/react-app/config/IOCIdentifier.ts +0 -91
  326. package/dist/templates/react-app/config/Identifier/common/common.error.ts +0 -34
  327. package/dist/templates/react-app/config/Identifier/common/common.ts +0 -62
  328. package/dist/templates/react-app/config/Identifier/common/index.ts +0 -2
  329. package/dist/templates/react-app/config/Identifier/components/component.chatMessage.ts +0 -56
  330. package/dist/templates/react-app/config/Identifier/components/component.messageBaseList.ts +0 -103
  331. package/dist/templates/react-app/config/Identifier/index.ts +0 -2
  332. package/dist/templates/react-app/config/Identifier/pages/index.ts +0 -9
  333. package/dist/templates/react-app/config/Identifier/pages/page.about.ts +0 -189
  334. package/dist/templates/react-app/config/Identifier/pages/page.executor.ts +0 -275
  335. package/dist/templates/react-app/config/Identifier/pages/page.home.ts +0 -71
  336. package/dist/templates/react-app/config/Identifier/pages/page.identifiter.ts +0 -102
  337. package/dist/templates/react-app/config/Identifier/pages/page.jsonStorage.ts +0 -77
  338. package/dist/templates/react-app/config/Identifier/pages/page.login.ts +0 -162
  339. package/dist/templates/react-app/config/Identifier/pages/page.message.ts +0 -20
  340. package/dist/templates/react-app/config/Identifier/pages/page.register.ts +0 -159
  341. package/dist/templates/react-app/config/Identifier/pages/page.request.ts +0 -169
  342. package/dist/templates/react-app/config/app.router.ts +0 -338
  343. package/dist/templates/react-app/config/common.ts +0 -85
  344. package/dist/templates/react-app/config/feapi.mock.json +0 -34
  345. package/dist/templates/react-app/config/i18n/PageI18nInterface.ts +0 -51
  346. package/dist/templates/react-app/config/i18n/aboutI18n.ts +0 -42
  347. package/dist/templates/react-app/config/i18n/chatMessageI18n.ts +0 -17
  348. package/dist/templates/react-app/config/i18n/executorI18n.ts +0 -51
  349. package/dist/templates/react-app/config/i18n/homeI18n.ts +0 -24
  350. package/dist/templates/react-app/config/i18n/i18nConfig.ts +0 -30
  351. package/dist/templates/react-app/config/i18n/identifiter18n.ts +0 -30
  352. package/dist/templates/react-app/config/i18n/jsonStorage18n.ts +0 -27
  353. package/dist/templates/react-app/config/i18n/login18n.ts +0 -42
  354. package/dist/templates/react-app/config/i18n/messageBaseListI18n.ts +0 -22
  355. package/dist/templates/react-app/config/i18n/messageI18n.ts +0 -14
  356. package/dist/templates/react-app/config/i18n/notFoundI18n.ts +0 -34
  357. package/dist/templates/react-app/config/i18n/register18n.ts +0 -40
  358. package/dist/templates/react-app/config/i18n/request18n.ts +0 -41
  359. package/dist/templates/react-app/config/theme.ts +0 -21
  360. package/dist/templates/react-app/docs/en/bootstrap.md +0 -1891
  361. package/dist/templates/react-app/docs/en/components/chat-message-component.md +0 -320
  362. package/dist/templates/react-app/docs/en/components/chat-message-refactor.md +0 -283
  363. package/dist/templates/react-app/docs/en/components/message-base-list-component.md +0 -171
  364. package/dist/templates/react-app/docs/en/development-guide.md +0 -1199
  365. package/dist/templates/react-app/docs/en/env.md +0 -1336
  366. package/dist/templates/react-app/docs/en/global.md +0 -509
  367. package/dist/templates/react-app/docs/en/i18n.md +0 -979
  368. package/dist/templates/react-app/docs/en/index.md +0 -802
  369. package/dist/templates/react-app/docs/en/ioc.md +0 -1365
  370. package/dist/templates/react-app/docs/en/playwright/e2e-tests.md +0 -321
  371. package/dist/templates/react-app/docs/en/playwright/index.md +0 -19
  372. package/dist/templates/react-app/docs/en/playwright/installation-summary.md +0 -332
  373. package/dist/templates/react-app/docs/en/playwright/overview.md +0 -222
  374. package/dist/templates/react-app/docs/en/playwright/quickstart.md +0 -325
  375. package/dist/templates/react-app/docs/en/playwright/reorganization-notes.md +0 -340
  376. package/dist/templates/react-app/docs/en/playwright/setup-complete.md +0 -290
  377. package/dist/templates/react-app/docs/en/playwright/testing-guide.md +0 -565
  378. package/dist/templates/react-app/docs/en/request.md +0 -423
  379. package/dist/templates/react-app/docs/en/router.md +0 -404
  380. package/dist/templates/react-app/docs/en/store.md +0 -1331
  381. package/dist/templates/react-app/docs/en/test-guide.md +0 -976
  382. package/dist/templates/react-app/docs/en/theme.md +0 -424
  383. package/dist/templates/react-app/docs/en/typescript-guide.md +0 -473
  384. package/dist/templates/react-app/docs/en/why-no-globals.md +0 -797
  385. package/dist/templates/react-app/docs/zh/bootstrap.md +0 -1891
  386. package/dist/templates/react-app/docs/zh/components/chat-message-component.md +0 -320
  387. package/dist/templates/react-app/docs/zh/components/chat-message-refactor.md +0 -283
  388. package/dist/templates/react-app/docs/zh/components/message-base-list-component.md +0 -171
  389. package/dist/templates/react-app/docs/zh/development-guide.md +0 -1199
  390. package/dist/templates/react-app/docs/zh/env.md +0 -1336
  391. package/dist/templates/react-app/docs/zh/global.md +0 -511
  392. package/dist/templates/react-app/docs/zh/i18n.md +0 -979
  393. package/dist/templates/react-app/docs/zh/index.md +0 -786
  394. package/dist/templates/react-app/docs/zh/ioc.md +0 -1364
  395. package/dist/templates/react-app/docs/zh/playwright/e2e-tests.md +0 -321
  396. package/dist/templates/react-app/docs/zh/playwright/index.md +0 -19
  397. package/dist/templates/react-app/docs/zh/playwright/installation-summary.md +0 -332
  398. package/dist/templates/react-app/docs/zh/playwright/overview.md +0 -222
  399. package/dist/templates/react-app/docs/zh/playwright/quickstart.md +0 -325
  400. package/dist/templates/react-app/docs/zh/playwright/reorganization-notes.md +0 -340
  401. package/dist/templates/react-app/docs/zh/playwright/setup-complete.md +0 -290
  402. package/dist/templates/react-app/docs/zh/playwright/testing-guide.md +0 -565
  403. package/dist/templates/react-app/docs/zh/request.md +0 -427
  404. package/dist/templates/react-app/docs/zh/router.md +0 -408
  405. package/dist/templates/react-app/docs/zh/store.md +0 -1329
  406. package/dist/templates/react-app/docs/zh/test-guide.md +0 -976
  407. package/dist/templates/react-app/docs/zh/theme.md +0 -424
  408. package/dist/templates/react-app/docs/zh/typescript-guide.md +0 -473
  409. package/dist/templates/react-app/docs/zh/why-no-globals.md +0 -797
  410. package/dist/templates/react-app/e2e/App.spec.ts +0 -319
  411. package/dist/templates/react-app/e2e/fixtures/base.fixture.ts +0 -40
  412. package/dist/templates/react-app/e2e/main.spec.ts +0 -20
  413. package/dist/templates/react-app/e2e/utils/test-helpers.ts +0 -19
  414. package/dist/templates/react-app/eslint.config.mjs +0 -325
  415. package/dist/templates/react-app/index.html +0 -13
  416. package/dist/templates/react-app/makes/generateTs2LocalesOptions.ts +0 -26
  417. package/dist/templates/react-app/package.json +0 -125
  418. package/dist/templates/react-app/playwright.config.ts +0 -79
  419. package/dist/templates/react-app/postcss.config.js +0 -5
  420. package/dist/templates/react-app/public/locales/en/common.json +0 -235
  421. package/dist/templates/react-app/public/locales/zh/common.json +0 -235
  422. package/dist/templates/react-app/public/logo.svg +0 -1
  423. package/dist/templates/react-app/public/router-root/logo.svg +0 -1
  424. package/dist/templates/react-app/src/App.tsx +0 -35
  425. package/dist/templates/react-app/src/assets/react.svg +0 -1
  426. package/dist/templates/react-app/src/base/apis/AiApi.ts +0 -68
  427. package/dist/templates/react-app/src/base/apis/feApi/FeApi.ts +0 -29
  428. package/dist/templates/react-app/src/base/apis/feApi/FeApiAdapter.ts +0 -14
  429. package/dist/templates/react-app/src/base/apis/feApi/FeApiBootstarp.ts +0 -86
  430. package/dist/templates/react-app/src/base/apis/feApi/FeApiType.ts +0 -21
  431. package/dist/templates/react-app/src/base/apis/userApi/UserApi.ts +0 -142
  432. package/dist/templates/react-app/src/base/apis/userApi/UserApiAdapter.ts +0 -14
  433. package/dist/templates/react-app/src/base/apis/userApi/UserApiBootstarp.ts +0 -86
  434. package/dist/templates/react-app/src/base/apis/userApi/UserApiType.ts +0 -70
  435. package/dist/templates/react-app/src/base/cases/AppConfig.ts +0 -123
  436. package/dist/templates/react-app/src/base/cases/DialogHandler.ts +0 -115
  437. package/dist/templates/react-app/src/base/cases/I18nKeyErrorPlugin.ts +0 -64
  438. package/dist/templates/react-app/src/base/cases/InversifyContainer.ts +0 -45
  439. package/dist/templates/react-app/src/base/cases/PublicAssetsPath.ts +0 -23
  440. package/dist/templates/react-app/src/base/cases/RequestLanguages.ts +0 -55
  441. package/dist/templates/react-app/src/base/cases/RequestLogger.ts +0 -80
  442. package/dist/templates/react-app/src/base/cases/RequestStatusCatcher.ts +0 -40
  443. package/dist/templates/react-app/src/base/cases/ResourceState.ts +0 -23
  444. package/dist/templates/react-app/src/base/cases/RouterLoader.ts +0 -173
  445. package/dist/templates/react-app/src/base/cases/TranslateI18nInterface.ts +0 -26
  446. package/dist/templates/react-app/src/base/port/ExecutorPageBridgeInterface.ts +0 -23
  447. package/dist/templates/react-app/src/base/port/I18nServiceInterface.ts +0 -10
  448. package/dist/templates/react-app/src/base/port/IOCInterface.ts +0 -38
  449. package/dist/templates/react-app/src/base/port/JSONStoragePageBridgeInterface.ts +0 -21
  450. package/dist/templates/react-app/src/base/port/RequestPageBridgeInterface.ts +0 -23
  451. package/dist/templates/react-app/src/base/port/RequestStatusInterface.ts +0 -5
  452. package/dist/templates/react-app/src/base/port/RouteServiceInterface.ts +0 -29
  453. package/dist/templates/react-app/src/base/port/UserServiceInterface.ts +0 -20
  454. package/dist/templates/react-app/src/base/services/BaseLayoutService.ts +0 -61
  455. package/dist/templates/react-app/src/base/services/I18nService.ts +0 -146
  456. package/dist/templates/react-app/src/base/services/IdentifierService.ts +0 -162
  457. package/dist/templates/react-app/src/base/services/RouteService.ts +0 -115
  458. package/dist/templates/react-app/src/base/services/UserBootstrap.ts +0 -45
  459. package/dist/templates/react-app/src/base/services/UserService.ts +0 -88
  460. package/dist/templates/react-app/src/base/types/Page.ts +0 -47
  461. package/dist/templates/react-app/src/base/types/deprecated-antd.d.ts +0 -60
  462. package/dist/templates/react-app/src/base/types/global.d.ts +0 -8
  463. package/dist/templates/react-app/src/core/IOC.ts +0 -28
  464. package/dist/templates/react-app/src/core/bootstraps/BootstrapClient.ts +0 -108
  465. package/dist/templates/react-app/src/core/bootstraps/BootstrapsRegistry.ts +0 -54
  466. package/dist/templates/react-app/src/core/bootstraps/IocIdentifierTest.ts +0 -26
  467. package/dist/templates/react-app/src/core/bootstraps/PrintBootstrap.ts +0 -14
  468. package/dist/templates/react-app/src/core/bootstraps/SaveAppInfo.ts +0 -28
  469. package/dist/templates/react-app/src/core/clientIoc/ClientIOC.ts +0 -47
  470. package/dist/templates/react-app/src/core/clientIoc/ClientIOCRegister.ts +0 -142
  471. package/dist/templates/react-app/src/core/globals.ts +0 -47
  472. package/dist/templates/react-app/src/main.tsx +0 -19
  473. package/dist/templates/react-app/src/pages/404.tsx +0 -19
  474. package/dist/templates/react-app/src/pages/500.tsx +0 -18
  475. package/dist/templates/react-app/src/pages/NoRouteFound.tsx +0 -5
  476. package/dist/templates/react-app/src/pages/auth/Layout.tsx +0 -27
  477. package/dist/templates/react-app/src/pages/auth/LoginPage.tsx +0 -166
  478. package/dist/templates/react-app/src/pages/auth/RegisterPage.tsx +0 -226
  479. package/dist/templates/react-app/src/pages/base/AboutPage.tsx +0 -123
  480. package/dist/templates/react-app/src/pages/base/ExecutorPage.tsx +0 -467
  481. package/dist/templates/react-app/src/pages/base/HomePage.tsx +0 -81
  482. package/dist/templates/react-app/src/pages/base/IdentifierPage.tsx +0 -117
  483. package/dist/templates/react-app/src/pages/base/JSONStoragePage.tsx +0 -132
  484. package/dist/templates/react-app/src/pages/base/Layout.tsx +0 -20
  485. package/dist/templates/react-app/src/pages/base/MessagePage.tsx +0 -71
  486. package/dist/templates/react-app/src/pages/base/RedirectPathname.tsx +0 -18
  487. package/dist/templates/react-app/src/pages/base/RequestPage.tsx +0 -193
  488. package/dist/templates/react-app/src/styles/css/antd-themes/_common/_default.css +0 -280
  489. package/dist/templates/react-app/src/styles/css/antd-themes/_common/dark.css +0 -233
  490. package/dist/templates/react-app/src/styles/css/antd-themes/_common/index.css +0 -3
  491. package/dist/templates/react-app/src/styles/css/antd-themes/_common/pink.css +0 -246
  492. package/dist/templates/react-app/src/styles/css/antd-themes/index.css +0 -4
  493. package/dist/templates/react-app/src/styles/css/antd-themes/menu/_default.css +0 -108
  494. package/dist/templates/react-app/src/styles/css/antd-themes/menu/dark.css +0 -67
  495. package/dist/templates/react-app/src/styles/css/antd-themes/menu/index.css +0 -3
  496. package/dist/templates/react-app/src/styles/css/antd-themes/menu/pink.css +0 -67
  497. package/dist/templates/react-app/src/styles/css/antd-themes/no-context.css +0 -34
  498. package/dist/templates/react-app/src/styles/css/antd-themes/pagination/_default.css +0 -34
  499. package/dist/templates/react-app/src/styles/css/antd-themes/pagination/dark.css +0 -31
  500. package/dist/templates/react-app/src/styles/css/antd-themes/pagination/index.css +0 -3
  501. package/dist/templates/react-app/src/styles/css/antd-themes/pagination/pink.css +0 -36
  502. package/dist/templates/react-app/src/styles/css/antd-themes/table/_default.css +0 -44
  503. package/dist/templates/react-app/src/styles/css/antd-themes/table/dark.css +0 -43
  504. package/dist/templates/react-app/src/styles/css/antd-themes/table/index.css +0 -3
  505. package/dist/templates/react-app/src/styles/css/antd-themes/table/pink.css +0 -43
  506. package/dist/templates/react-app/src/styles/css/index.css +0 -6
  507. package/dist/templates/react-app/src/styles/css/page.css +0 -20
  508. package/dist/templates/react-app/src/styles/css/scrollbar.css +0 -34
  509. package/dist/templates/react-app/src/styles/css/tailwind.css +0 -5
  510. package/dist/templates/react-app/src/styles/css/themes/_default.css +0 -30
  511. package/dist/templates/react-app/src/styles/css/themes/dark.css +0 -30
  512. package/dist/templates/react-app/src/styles/css/themes/index.css +0 -3
  513. package/dist/templates/react-app/src/styles/css/themes/pink.css +0 -30
  514. package/dist/templates/react-app/src/styles/css/zIndex.css +0 -9
  515. package/dist/templates/react-app/src/uikit/bridges/ExecutorPageBridge.ts +0 -72
  516. package/dist/templates/react-app/src/uikit/bridges/JSONStoragePageBridge.ts +0 -41
  517. package/dist/templates/react-app/src/uikit/bridges/NavigateBridge.ts +0 -22
  518. package/dist/templates/react-app/src/uikit/bridges/RequestPageBridge.ts +0 -136
  519. package/dist/templates/react-app/src/uikit/components/AppRouterProvider.tsx +0 -35
  520. package/dist/templates/react-app/src/uikit/components/BaseHeader.tsx +0 -51
  521. package/dist/templates/react-app/src/uikit/components/BaseLayoutProvider.tsx +0 -44
  522. package/dist/templates/react-app/src/uikit/components/BaseRouteProvider.tsx +0 -21
  523. package/dist/templates/react-app/src/uikit/components/BaseRouteSeo.tsx +0 -18
  524. package/dist/templates/react-app/src/uikit/components/BootstrapsProvider.tsx +0 -11
  525. package/dist/templates/react-app/src/uikit/components/ClientSeo.tsx +0 -62
  526. package/dist/templates/react-app/src/uikit/components/ComboProvider.tsx +0 -38
  527. package/dist/templates/react-app/src/uikit/components/LanguageSwitcher.tsx +0 -78
  528. package/dist/templates/react-app/src/uikit/components/Loading.tsx +0 -49
  529. package/dist/templates/react-app/src/uikit/components/LocaleLink.tsx +0 -43
  530. package/dist/templates/react-app/src/uikit/components/LogoutButton.tsx +0 -58
  531. package/dist/templates/react-app/src/uikit/components/MessageBaseList.tsx +0 -258
  532. package/dist/templates/react-app/src/uikit/components/RouterRenderComponent.tsx +0 -19
  533. package/dist/templates/react-app/src/uikit/components/ThemeSwitcher.tsx +0 -137
  534. package/dist/templates/react-app/src/uikit/components/With.tsx +0 -17
  535. package/dist/templates/react-app/src/uikit/components/chatMessage/ChatMessageBridge.ts +0 -205
  536. package/dist/templates/react-app/src/uikit/components/chatMessage/ChatRoot.tsx +0 -21
  537. package/dist/templates/react-app/src/uikit/components/chatMessage/FocusBar.tsx +0 -108
  538. package/dist/templates/react-app/src/uikit/components/chatMessage/MessageApi.ts +0 -282
  539. package/dist/templates/react-app/src/uikit/components/chatMessage/MessageItem.tsx +0 -102
  540. package/dist/templates/react-app/src/uikit/components/chatMessage/MessagesList.tsx +0 -86
  541. package/dist/templates/react-app/src/uikit/contexts/BaseRouteContext.ts +0 -42
  542. package/dist/templates/react-app/src/uikit/contexts/IOCContext.ts +0 -13
  543. package/dist/templates/react-app/src/uikit/hooks/useAppTranslation.ts +0 -26
  544. package/dist/templates/react-app/src/uikit/hooks/useI18nInterface.ts +0 -25
  545. package/dist/templates/react-app/src/uikit/hooks/useIOC.ts +0 -35
  546. package/dist/templates/react-app/src/uikit/hooks/useNavigateBridge.ts +0 -21
  547. package/dist/templates/react-app/src/uikit/hooks/useRouterI18nGuard.ts +0 -25
  548. package/dist/templates/react-app/src/uikit/hooks/useStrictEffect.ts +0 -31
  549. package/dist/templates/react-app/src/vite-env.d.ts +0 -1
  550. package/dist/templates/react-app/tailwind.config.js +0 -4
  551. package/dist/templates/react-app/tsconfig.app.json +0 -36
  552. package/dist/templates/react-app/tsconfig.e2e.json +0 -24
  553. package/dist/templates/react-app/tsconfig.json +0 -22
  554. package/dist/templates/react-app/tsconfig.node.json +0 -27
  555. package/dist/templates/react-app/tsconfig.test.json +0 -18
  556. package/dist/templates/react-app/vite.config.ts +0 -144
@@ -1,727 +0,0 @@
1
- # 开发规范指南
2
-
3
- ## 目录
4
-
5
- 1. [项目结构规范](#项目结构规范)
6
- 2. [代码风格规范](#代码风格规范)
7
- 3. [组件开发规范](#组件开发规范)
8
- 4. [状态管理规范](#状态管理规范)
9
- 5. [路由开发规范](#路由开发规范)
10
- 6. [国际化开发规范](#国际化开发规范)
11
- 7. [主题样式规范](#主题样式规范)
12
- 8. [测试规范](#测试规范)
13
- 9. [文档规范](#文档规范)
14
-
15
- ## 项目结构规范
16
-
17
- > 💡 这里仅列出基本规范,完整的项目结构说明请参考 [项目结构文档](./project-structure.md)
18
-
19
- ### 1. 目录结构
20
-
21
- ```
22
- src/
23
- ├── base/ # 基础功能实现
24
- │ ├── cases/ # 业务场景实现
25
- │ ├── services/ # 核心服务实现
26
- │ └── types/ # 类型定义
27
- ├── core/ # 核心功能
28
- │ ├── bootstraps/ # 启动相关
29
- │ ├── clientIoc/ # 客户端 IOC 实现
30
- │ ├── serverIoc/ # 服务端 IOC 实现
31
- │ └── globals.ts # 全局变量
32
- ├── pages/ # 页面组件
33
- │ ├── auth/ # 认证相关页面
34
- │ └── base/ # 基础页面
35
- ├── styles/ # 样式文件
36
- │ └── css/
37
- │ ├── themes/ # 主题相关
38
- │ └── antd-themes/ # Ant Design 主题
39
- ├── uikit/ # UI 组件库
40
- │ ├── components/ # 通用组件
41
- │ ├── contexts/ # React Context
42
- │ ├── hooks/ # 自定义 Hooks
43
- │ └── providers/ # 提供者组件
44
- └── App.tsx # 应用入口
45
- ```
46
-
47
- ### 2. 应用启动流程
48
-
49
- #### 2.1 客户端启动流程
50
-
51
- 客户端的启动流程由 `BootstrapClient` 类负责,主要包含以下步骤:
52
-
53
- 1. **初始化 IOC 容器**
54
-
55
- ```typescript
56
- // 创建 IOC 容器实例
57
- const clientIOC = new ClientIOC();
58
- const ioc = clientIOC.create();
59
- ```
60
-
61
- 2. **注册依赖**
62
- - 通过 `ClientIOCRegister` 注册全局依赖和服务
63
- - 主要包括三类注册:
64
-
65
- ```typescript
66
- // 1. 注册全局依赖
67
- registerGlobals(ioc: IOCContainerInterface) {
68
- ioc.bind(I.JSONSerializer, JSON);
69
- ioc.bind(I.Logger, logger);
70
- ioc.bind(I.AppConfig, appConfig);
71
- ioc.bind(I.DialogHandler, dialogHandler);
72
- }
73
-
74
- // 2. 注册核心服务实现
75
- registerImplement(ioc: IOCContainerInterface) {
76
- ioc.bind(I.I18nServiceInterface, new I18nService());
77
- ioc.bind(I.RouterServiceInterface, ioc.get(RouterService));
78
- ioc.bind(I.UserServiceInterface, ioc.get(UserService));
79
- }
80
-
81
- // 3. 注册通用服务和插件
82
- registerCommon(ioc: IOCContainerInterface) {
83
- // 注册请求插件、Mock插件等
84
- }
85
- ```
86
-
87
- 3. **启动应用**
88
-
89
- ```typescript
90
- export class BootstrapClient {
91
- static async main(args: BootstrapAppArgs) {
92
- const bootstrap = new Bootstrap({
93
- root,
94
- logger,
95
- ioc: { manager: IOC },
96
- globalOptions: { sources: globals }
97
- });
98
-
99
- // 初始化启动器
100
- await bootstrap.initialize();
101
-
102
- // 注册启动插件
103
- const bootstrapsRegistry = new BootstrapsRegistry(args);
104
- await bootstrap.use(bootstrapsRegistry.register()).start();
105
- }
106
- }
107
- ```
108
-
109
- 4. **启动插件注册**
110
- ```typescript
111
- class BootstrapsRegistry {
112
- register(): BootstrapExecutorPlugin[] {
113
- return [
114
- i18nService, // 国际化服务
115
- new AppUserApiBootstrap(), // 用户 API
116
- printBootstrap, // 开发环境打印
117
- IocIdentifierTest // IOC 标识符测试
118
- ];
119
- }
120
- }
121
- ```
122
-
123
- #### 2.2 服务端启动流程
124
-
125
- 服务端的启动流程由 `BootstrapServer` 类负责,主要包含以下步骤:
126
-
127
- 1. **初始化 IOC 容器**
128
-
129
- ```typescript
130
- export class ServerIOC {
131
- static create(): ServerIOC {
132
- if (this.instance) return this.instance;
133
- this.instance = new ServerIOC();
134
- return this.instance;
135
- }
136
-
137
- create() {
138
- this.ioc = createIOCFunction<IOCIdentifierMapServer>(
139
- new InversifyContainer()
140
- );
141
- const register = new ServerIOCRegister({
142
- appConfig: new AppConfig()
143
- });
144
- register.register(this.ioc.implemention!, this.ioc);
145
- return this.ioc;
146
- }
147
- }
148
- ```
149
-
150
- 2. **注册服务端依赖**
151
- - 通过 `ServerIOCRegister` 注册服务端特有的依赖:
152
-
153
- ```typescript
154
- class ServerIOCRegister {
155
- // 1. 注册全局依赖
156
- registerGlobals(ioc: IOCContainerInterface) {
157
- ioc.bind(I.AppConfig, appConfig);
158
- ioc.bind(
159
- I.Logger,
160
- new Logger({
161
- handlers: new ConsoleHandler(new TimestampFormatter()),
162
- level: appConfig.env === 'development' ? 'debug' : 'info'
163
- })
164
- );
165
- }
166
-
167
- // 2. 注册服务端实现
168
- registerImplement(ioc: IOCContainerInterface) {
169
- ioc.bind(I.DBBridgeInterface, ioc.get(SupabaseBridge));
170
- }
171
- }
172
- ```
173
-
174
- 3. **服务器启动**
175
-
176
- ```typescript
177
- export class BootstrapServer implements ServerInterface {
178
- constructor() {
179
- const serverIOC = ServerIOC.create();
180
- const ioc = serverIOC.create();
181
- const logger = ioc(I.Logger);
182
-
183
- this.executor = new AsyncExecutor();
184
- this.IOC = ioc;
185
- this.logger = logger;
186
- }
187
-
188
- // 注册服务端插件
189
- use(plugin: BootstrapExecutorPlugin): this {
190
- this.executor.use(plugin);
191
- return this;
192
- }
193
-
194
- // 执行启动任务
195
- execNoError(task?: PromiseTask) {
196
- const context = {
197
- logger: this.logger,
198
- root: this.root,
199
- ioc: this.IOC.implemention!,
200
- IOC: this.IOC
201
- };
202
- return this.executor.execNoError(context, task);
203
- }
204
- }
205
- ```
206
-
207
- ### 3. IOC 容器使用
208
-
209
- #### 3.1 获取服务实例
210
-
211
- ```typescript
212
- // 在组件中使用
213
- function UserProfile() {
214
- const userService = IOC(UserService);
215
- const i18nService = IOC(I.I18nServiceInterface);
216
-
217
- // 使用服务...
218
- }
219
- ```
220
-
221
- #### 3.2 注册新服务
222
-
223
- ```typescript
224
- // 1. 定义服务接口
225
- interface MyServiceInterface {
226
- doSomething(): void;
227
- }
228
-
229
- // 2. 添加 IOC 标识符
230
- export const IOCIdentifier = {
231
- MyService: Symbol('MyService')
232
- } as const;
233
-
234
- // 3. 实现服务
235
- @injectable()
236
- class MyService implements MyServiceInterface {
237
- doSomething() {
238
- // 实现...
239
- }
240
- }
241
-
242
- // 4. 在 IOC 注册器中注册
243
- class ClientIOCRegister {
244
- registerImplement(ioc: IOCContainerInterface) {
245
- ioc.bind(I.MyService, ioc.get(MyService));
246
- }
247
- }
248
- ```
249
-
250
- ### 2. 命名规范
251
-
252
- - **文件命名**:
253
- - 组件文件:`PascalCase.tsx`(如:`UserProfile.tsx`)
254
- - 工具文件:`camelCase.ts`(如:`formatDate.ts`)
255
- - 类型文件:`PascalCase.types.ts`(如:`User.types.ts`)
256
- - 样式文件:`camelCase.css`(如:`buttonStyles.css`)
257
-
258
- - **目录命名**:
259
- - 全小写,使用连字符分隔(如:`user-profile/`)
260
- - 功能模块使用单数形式(如:`auth/`,而不是 `auths/`)
261
-
262
- ## 代码风格规范
263
-
264
- > 💡 这里仅列出基本规范,更多 TypeScript 和 React 开发规范请参考 [TypeScript 开发规范](./typescript-guide.md)
265
-
266
- ### 1. TypeScript 规范
267
-
268
- ```typescript
269
- // 使用 interface 定义对象类型
270
- interface UserProfile {
271
- id: string;
272
- name: string;
273
- age?: number; // 可选属性使用 ?
274
- }
275
-
276
- // 使用 type 定义联合类型或工具类型
277
- type Theme = 'light' | 'dark' | 'pink';
278
- type Nullable<T> = T | null;
279
-
280
- // 使用 enum 定义常量枚举
281
- enum UserRole {
282
- ADMIN = 'ADMIN',
283
- USER = 'USER',
284
- GUEST = 'GUEST'
285
- }
286
-
287
- // 函数类型声明
288
- function processUser(user: UserProfile): void {
289
- // 实现
290
- }
291
-
292
- // 泛型使用有意义的名称
293
- interface Repository<TEntity> {
294
- find(id: string): Promise<TEntity>;
295
- }
296
- ```
297
-
298
- ### 2. React 规范
299
-
300
- ```tsx
301
- // 函数组件使用 FC 类型
302
- interface Props {
303
- name: string;
304
- age: number;
305
- }
306
-
307
- const UserCard: FC<Props> = ({ name, age }) => {
308
- return (
309
- <div>
310
- <h3>{name}</h3>
311
- <p>{age}</p>
312
- </div>
313
- );
314
- };
315
-
316
- // Hooks 规范
317
- const useUser = (userId: string) => {
318
- const [user, setUser] = useState<UserProfile | null>(null);
319
- const [loading, setLoading] = useState(false);
320
-
321
- useEffect(() => {
322
- // 实现
323
- }, [userId]);
324
-
325
- return { user, loading };
326
- };
327
- ```
328
-
329
- ## 组件开发规范
330
-
331
- > 💡 这里仅列出基本规范,完整的组件开发指南请参考 [组件开发指南](./component-guide.md)
332
-
333
- ### 1. 组件分类
334
-
335
- - **页面组件**:放在 `pages/` 目录下
336
- - **业务组件**:放在对应业务模块目录下
337
- - **通用组件**:放在 `uikit/components/` 目录下
338
- - **布局组件**:放在 `uikit/layouts/` 目录下
339
-
340
- ### 2. 组件实现
341
-
342
- ```tsx
343
- // 1. 导入顺序
344
- import { FC, useEffect, useState } from 'react'; // React 相关
345
- import { useTranslation } from 'react-i18next'; // 第三方库
346
- import { UserService } from '@/services/user'; // 项目内部导入
347
- import { Button } from './Button'; // 相对路径导入
348
-
349
- // 2. 类型定义
350
- interface Props {
351
- userId: string;
352
- onUpdate?: (user: User) => void;
353
- }
354
-
355
- // 3. 组件实现
356
- export const UserProfile: FC<Props> = ({ userId, onUpdate }) => {
357
- // 3.1 Hooks 声明
358
- const { t } = useTranslation();
359
- const [user, setUser] = useState<User | null>(null);
360
-
361
- // 3.2 副作用
362
- useEffect(() => {
363
- // 实现
364
- }, [userId]);
365
-
366
- // 3.3 事件处理
367
- const handleUpdate = () => {
368
- // 实现
369
- };
370
-
371
- // 3.4 渲染方法
372
- const renderHeader = () => {
373
- return <h2>{user?.name}</h2>;
374
- };
375
-
376
- // 3.5 返回 JSX
377
- return (
378
- <div>
379
- {renderHeader()}
380
- <Button onClick={handleUpdate}>{t('common.update')}</Button>
381
- </div>
382
- );
383
- };
384
- ```
385
-
386
- ## 状态管理规范
387
-
388
- > 💡 这里仅列出基本规范,完整的状态管理指南请参考 [Store 开发指南](./store.md)
389
-
390
- ### 1. Store 实现
391
-
392
- ```typescript
393
- // 1. 状态接口定义
394
- interface UserState extends StoreStateInterface {
395
- currentUser: User | null;
396
- loading: boolean;
397
- error: string | null;
398
- }
399
-
400
- // 2. Store 实现
401
- @injectable()
402
- export class UserStore extends StoreInterface<UserState> {
403
- constructor() {
404
- super(() => ({
405
- currentUser: null,
406
- loading: false,
407
- error: null
408
- }));
409
- }
410
-
411
- // 3. 选择器定义
412
- selector = {
413
- currentUser: (state: UserState) => state.currentUser,
414
- loading: (state: UserState) => state.loading
415
- };
416
-
417
- // 4. 操作方法
418
- async fetchUser(id: string) {
419
- try {
420
- this.emit({ ...this.state, loading: true });
421
- const user = await api.getUser(id);
422
- this.emit({ ...this.state, currentUser: user, loading: false });
423
- } catch (error) {
424
- this.emit({
425
- ...this.state,
426
- error: error.message,
427
- loading: false
428
- });
429
- }
430
- }
431
- }
432
- ```
433
-
434
- ### 2. Store 使用
435
-
436
- ```tsx
437
- function UserProfile() {
438
- const userStore = IOC(UserStore);
439
- const user = useStore(userStore, userStore.selector.currentUser);
440
- const loading = useStore(userStore, userStore.selector.loading);
441
-
442
- return <div>{loading ? <Loading /> : <UserInfo user={user} />}</div>;
443
- }
444
- ```
445
-
446
- ## 路由开发规范
447
-
448
- > 💡 这里仅列出基本规范,完整的路由开发指南请参考 [路由开发指南](./router.md)
449
-
450
- ### 1. 基本规范
451
-
452
- - 路由配置集中管理在 `config/app.router.ts` 中
453
- - 使用声明式路由配置
454
- - 路由组件放置在 `pages` 目录下
455
- - 支持路由级别的代码分割
456
- - 路由配置包含元数据支持
457
-
458
- ### 2. 示例
459
-
460
- ```typescript
461
- // 路由配置示例
462
- export const baseRoutes: RouteConfigValue[] = [
463
- {
464
- path: '/:lng',
465
- element: 'base/Layout',
466
- meta: {
467
- category: 'main'
468
- },
469
- children: [
470
- {
471
- path: 'users',
472
- element: 'users/UserList',
473
- meta: {
474
- title: i18nKeys.PAGE_USERS_TITLE,
475
- auth: true
476
- }
477
- }
478
- ]
479
- }
480
- ];
481
- ```
482
-
483
- 更多路由配置和使用示例,请参考 [路由开发指南](./router.md)。
484
-
485
- ## 国际化开发规范
486
-
487
- > 💡 这里仅列出基本规范,完整的国际化开发指南请参考 [国际化开发指南](./i18n.md)
488
-
489
- ### 1. 基本规范
490
-
491
- - 使用标识符常量管理翻译键
492
- - 通过 TypeScript 注释生成翻译资源
493
- - 支持多语言路由
494
- - 集中管理翻译文件
495
-
496
- ### 2. 示例
497
-
498
- ```typescript
499
- /**
500
- * @description User list page title
501
- * @localZh 用户列表
502
- * @localEn User List
503
- */
504
- export const PAGE_USERS_TITLE = 'page.users.title';
505
- ```
506
-
507
- 更多国际化配置和使用示例,请参考 [国际化开发指南](./i18n.md)。
508
-
509
- ## 主题样式规范
510
-
511
- > 💡 这里仅列出基本规范,完整的主题开发指南请参考 [主题开发指南](./theme.md)
512
-
513
- ### 1. 基本规范
514
-
515
- - 使用 CSS 变量管理主题
516
- - 遵循 Tailwind CSS 使用规范
517
- - 组件样式模块化
518
- - 支持多主题切换
519
-
520
- ### 2. 示例
521
-
522
- ```css
523
- :root {
524
- --color-brand: 37 99 235;
525
- --text-primary: 15 23 42;
526
- }
527
- ```
528
-
529
- 更多主题配置和使用示例,请参考 [主题开发指南](./theme.md)。
530
-
531
- ## 测试规范
532
-
533
- > 💡 这里仅列出基本规范,完整的测试指南请参考 [测试开发指南](./testing.md)
534
-
535
- ### 1. 基本规范
536
-
537
- - 单元测试覆盖核心逻辑
538
- - 组件测试关注交互和渲染
539
- - 使用 Jest 和 Testing Library
540
- - 保持测试简单和可维护
541
-
542
- ### 2. 示例
543
-
544
- ```typescript
545
- describe('UserProfile', () => {
546
- it('should render user info', () => {
547
- const user = { id: '1', name: 'Test' };
548
- render(<UserProfile user={user} />);
549
- expect(screen.getByText(user.name)).toBeInTheDocument();
550
- });
551
- });
552
- ```
553
-
554
- 更多测试示例和最佳实践,请参考 [测试开发指南](./testing.md)。
555
-
556
- ## 文档规范
557
-
558
- > 💡 这里仅列出基本规范,完整的文档编写指南请参考 [文档编写指南](./documentation.md)
559
-
560
- ### 1. 代码注释
561
-
562
- ```typescript
563
- /**
564
- * 用户服务
565
- *
566
- * @description 处理用户相关的业务逻辑
567
- * @example
568
- * const userService = IOC(UserService);
569
- * await userService.login(credentials);
570
- */
571
- @injectable()
572
- export class UserService {
573
- /**
574
- * 用户登录
575
- *
576
- * @param credentials - 登录凭证
577
- * @returns 登录成功的用户信息
578
- * @throws {AuthError} 认证失败时抛出
579
- */
580
- async login(credentials: Credentials): Promise<User> {
581
- // 实现
582
- }
583
- }
584
- ```
585
-
586
- ### 2. 文档结构
587
-
588
- - **README.md**:项目概述、安装说明、快速开始
589
- - **docs/**:
590
- - `zh/`:中文文档
591
- - `en/`:英文文档
592
- - 按功能模块组织文档文件
593
-
594
- ### 3. 文档格式
595
-
596
- ```markdown
597
- # 模块名称
598
-
599
- ## 概述
600
-
601
- 简要说明模块的功能和用途。
602
-
603
- ## 使用方式
604
-
605
- 代码示例和使用说明。
606
-
607
- ## API 文档
608
-
609
- 详细的 API 说明。
610
-
611
- ## 最佳实践
612
-
613
- 使用建议和注意事项。
614
- ```
615
-
616
- ## Git 提交规范
617
-
618
- > 💡 这里仅列出基本规范,完整的 Git 工作流程请参考 [Git 工作流指南](./git-workflow.md)
619
-
620
- ### 1. 提交消息格式
621
-
622
- ```
623
- <type>(<scope>): <subject>
624
-
625
- <body>
626
-
627
- <footer>
628
- ```
629
-
630
- - **type**:
631
- - `feat`:新功能
632
- - `fix`:修复
633
- - `docs`:文档更新
634
- - `style`:代码格式(不影响代码运行的变动)
635
- - `refactor`:重构
636
- - `test`:增加测试
637
- - `chore`:构建过程或辅助工具的变动
638
-
639
- - **scope**:影响范围(可选)
640
- - **subject**:简短描述
641
- - **body**:详细描述(可选)
642
- - **footer**:不兼容变动、关闭 issue(可选)
643
-
644
- ### 2. 示例
645
-
646
- ```
647
- feat(auth): 添加用户角色管理功能
648
-
649
- - 添加角色创建和编辑界面
650
- - 实现角色权限配置
651
- - 添加角色分配功能
652
-
653
- Closes #123
654
- ```
655
-
656
- ## 性能优化规范
657
-
658
- > 💡 这里仅列出基本规范,完整的性能优化指南请参考 [性能优化指南](./performance.md)
659
-
660
- ### 1. 代码分割
661
-
662
- ```typescript
663
- // 路由级别的代码分割
664
- const UserModule = lazy(() => import('./pages/users'));
665
-
666
- // 组件级别的代码分割
667
- const HeavyComponent = lazy(() => import('./components/Heavy'));
668
- ```
669
-
670
- ### 2. 性能考虑
671
-
672
- ```typescript
673
- // 使用 useMemo 缓存计算结果
674
- const sortedUsers = useMemo(() => {
675
- return users.sort((a, b) => a.name.localeCompare(b.name));
676
- }, [users]);
677
-
678
- // 使用 useCallback 缓存函数
679
- const handleUpdate = useCallback(() => {
680
- // 实现
681
- }, [dependencies]);
682
-
683
- // 使用 React.memo 避免不必要的重渲染
684
- const UserCard = React.memo(({ user }) => {
685
- return <div>{user.name}</div>;
686
- });
687
- ```
688
-
689
- ## 安全规范
690
-
691
- > 💡 这里仅列出基本规范,完整的安全开发指南请参考 [安全开发指南](./security.md)
692
-
693
- ### 1. 数据处理
694
-
695
- ```typescript
696
- // 敏感数据加密
697
- const encryptedData = encrypt(sensitiveData);
698
-
699
- // XSS 防护
700
- const sanitizedHtml = sanitizeHtml(userInput);
701
-
702
- // CSRF 防护
703
- api.defaults.headers['X-CSRF-Token'] = getCsrfToken();
704
- ```
705
-
706
- ### 2. 权限控制
707
-
708
- ```typescript
709
- // 路由权限
710
- const PrivateRoute: FC = ({ children }) => {
711
- const auth = useAuth();
712
- return auth.isAuthenticated ? children : <Navigate to="/login" />;
713
- };
714
-
715
- // 操作权限
716
- function AdminPanel() {
717
- const { hasPermission } = useAuth();
718
-
719
- return (
720
- <div>
721
- {hasPermission('ADMIN') && (
722
- <button>管理员操作</button>
723
- )}
724
- </div>
725
- );
726
- }
727
- ```