@_tc/template-core 0.1.16 → 0.2.0-bate.1

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 (923) hide show
  1. package/.skills/tc-component-usage-skills/SKILL.md +9 -2
  2. package/.skills/tc-component-usage-skills/reference/component-api.md +6 -3
  3. package/.skills/tc-component-usage-skills/reference/patterns.md +3 -3
  4. package/.skills/tc-component-usage-skills/reference/template-core-frontend.md +11 -2
  5. package/.skills/tc-generator/SKILL.md +3 -2
  6. package/.skills/tc-generator/reference/example.md +5 -1
  7. package/.skills/tc-generator/reference/project-template/config/config.default.js +4 -0
  8. package/.skills/tc-generator/reference/project-template/index.js +1 -1
  9. package/.skills/tc-generator/reference/project-template/model/product/project/default.js +2 -0
  10. package/.skills/tc-generator/reference/runtime-extensions.md +112 -2
  11. package/AGENT_README.md +635 -0
  12. package/README.md +464 -41
  13. package/cjs/app/controller/project.js +1 -1
  14. package/cjs/app/controller/view.js +1 -1
  15. package/cjs/app/extends/crypto.js +1 -0
  16. package/cjs/app/{extend → extends}/db.js +1 -1
  17. package/cjs/app/extends/localCacheHtmlEtag.js +1 -0
  18. package/cjs/app/extends/render-view.js +1 -0
  19. package/cjs/app/middleware.js +1 -1
  20. package/cjs/app/middlewares/api-params-verify.js +1 -0
  21. package/cjs/app/middlewares/api-sign-verify.js +1 -0
  22. package/cjs/app/{middleware → middlewares}/error-handle.js +1 -1
  23. package/cjs/app/middlewares/project-handler.js +1 -0
  24. package/cjs/app/middlewares/request-parameter-parsing.js +1 -0
  25. package/cjs/app/router/project.js +1 -1
  26. package/cjs/app/view/entry.tpl +3 -0
  27. package/cjs/bundler/buildBE.js +1 -0
  28. package/cjs/bundler/defaultRouteGuard.js +1 -0
  29. package/cjs/bundler/index.js +1 -1
  30. package/cjs/bundler/state.js +1 -1
  31. package/cjs/bundler/utils.js +3 -1
  32. package/cjs/config/config.default.js +1 -1
  33. package/cjs/packages/common/index.js +1 -1
  34. package/cjs/packages/common/string/index.js +1 -1
  35. package/cjs/packages/core/env.js +1 -1
  36. package/cjs/packages/core/index.js +1 -1
  37. package/cjs/packages/core/loader/controller.js +1 -1
  38. package/cjs/packages/core/loader/extend.js +1 -1
  39. package/cjs/packages/core/loader/middleware.js +1 -1
  40. package/cjs/packages/core/loader/router-schema.js +1 -1
  41. package/cjs/packages/core/loader/router.js +1 -1
  42. package/cjs/packages/core/loader/service.js +1 -1
  43. package/cjs/packages/utils/runFileFn.js +1 -1
  44. package/cjs/scripts/vite-build/build.js +3 -0
  45. package/cjs/scripts/vite-build/collect.js +1 -0
  46. package/cjs/scripts/vite-build/constants.js +1 -0
  47. package/cjs/scripts/vite-build/dts.js +1 -0
  48. package/cjs/scripts/vite-build/index.js +1 -0
  49. package/cjs/scripts/vite-build/normalize.js +1 -0
  50. package/cjs/scripts/vite-build/plugins.js +1 -0
  51. package/cjs/scripts/vite-build/resolve.js +1 -0
  52. package/cjs/scripts/vite-build/types.js +0 -0
  53. package/cjs/scripts/vite-build/utils.js +1 -0
  54. package/esm/app/controller/project.js +7 -2
  55. package/esm/app/controller/view.js +33 -20
  56. package/esm/app/{extend → extends}/$fetch.js +1 -1
  57. package/esm/app/extends/crypto.js +31 -0
  58. package/esm/app/{extend → extends}/db.js +2 -2
  59. package/esm/app/{extend → extends}/generateErrorMessage.js +1 -1
  60. package/esm/app/extends/localCacheHtmlEtag.js +41 -0
  61. package/esm/app/{extend → extends}/logger.js +1 -1
  62. package/esm/app/{extend → extends}/parsingParamsOnUrl.js +1 -1
  63. package/esm/app/extends/render-view.js +18 -0
  64. package/esm/app/middleware.js +13 -12
  65. package/esm/app/{middleware → middlewares}/api-params-verify.js +2 -2
  66. package/esm/app/{middleware → middlewares}/api-sign-verify.js +2 -2
  67. package/esm/app/{middleware → middlewares}/error-handle.js +2 -2
  68. package/esm/app/middlewares/project-handler.js +15 -0
  69. package/esm/app/middlewares/request-parameter-parsing.js +18 -0
  70. package/esm/app/router/project.js +2 -2
  71. package/esm/app/view/entry.tpl +3 -0
  72. package/esm/bundler/buildBE.js +54 -0
  73. package/esm/bundler/defaultRouteGuard.js +4 -0
  74. package/esm/bundler/index.js +10 -13
  75. package/esm/bundler/state.js +5 -1
  76. package/esm/bundler/utils.js +160 -92
  77. package/esm/config/config.default.js +4 -0
  78. package/esm/packages/common/index.js +6 -6
  79. package/esm/packages/common/string/index.js +11 -2
  80. package/esm/packages/core/env.js +1 -1
  81. package/esm/packages/core/index.js +34 -24
  82. package/esm/packages/core/loader/controller.js +6 -6
  83. package/esm/packages/core/loader/extend.js +6 -6
  84. package/esm/packages/core/loader/middleware.js +6 -6
  85. package/esm/packages/core/loader/router-schema.js +7 -7
  86. package/esm/packages/core/loader/router.js +18 -15
  87. package/esm/packages/core/loader/service.js +6 -6
  88. package/esm/packages/utils/runFileFn.js +10 -10
  89. package/esm/scripts/vite-build/build.js +141 -0
  90. package/esm/scripts/vite-build/collect.js +79 -0
  91. package/esm/scripts/vite-build/constants.js +34 -0
  92. package/esm/scripts/vite-build/dts.js +132 -0
  93. package/esm/scripts/vite-build/index.js +3 -0
  94. package/esm/scripts/vite-build/normalize.js +78 -0
  95. package/esm/scripts/vite-build/plugins.js +106 -0
  96. package/esm/scripts/vite-build/resolve.js +46 -0
  97. package/esm/scripts/vite-build/types.js +0 -0
  98. package/esm/scripts/vite-build/utils.js +24 -0
  99. package/fe/frontend/apps/dash/Dashboard.d.ts +0 -1
  100. package/fe/frontend/apps/dash/Dashboard.js +178 -169
  101. package/fe/frontend/apps/dash/dash.entry.d.ts +0 -1
  102. package/fe/frontend/apps/dash/dash.entry.js +58 -78
  103. package/fe/frontend/apps/dash/types.d.ts +16 -14
  104. package/fe/frontend/apps/dash/types.js +0 -1
  105. package/fe/frontend/apps/ui-components/index.d.ts +0 -1
  106. package/fe/frontend/apps/ui-components/index.js +7 -7
  107. package/fe/frontend/apps/ui-components/ui-components.entry.d.ts +0 -1
  108. package/fe/frontend/apps/ui-components/ui-components.entry.js +7 -5
  109. package/fe/frontend/extended/SchemaForm/data.d.ts +1 -5
  110. package/fe/frontend/extended/SchemaForm/data.js +7 -7
  111. package/fe/frontend/src/api/baseInfo.d.ts +1 -2
  112. package/fe/frontend/src/api/baseInfo.js +12 -13
  113. package/fe/frontend/src/common/CRUD/CRUD.d.ts +2 -3
  114. package/fe/frontend/src/common/CRUD/CRUD.js +2 -2
  115. package/fe/frontend/src/common/CRUD/index.d.ts +1 -2
  116. package/fe/frontend/src/common/CRUD/index.js +2 -1
  117. package/fe/frontend/src/common/auth/index.d.ts +6 -2
  118. package/fe/frontend/src/common/auth/index.js +23 -16
  119. package/fe/frontend/src/common/fetchErrorShow.d.ts +1 -2
  120. package/fe/frontend/src/common/fetchErrorShow.js +10 -8
  121. package/fe/frontend/src/common/generateMenuData.d.ts +2 -3
  122. package/fe/frontend/src/common/generateMenuData.js +15 -12
  123. package/fe/frontend/src/common/importComponent.d.ts +1 -2
  124. package/fe/frontend/src/common/importComponent.js +21 -9
  125. package/fe/frontend/src/common/language.d.ts +1 -2
  126. package/fe/frontend/src/common/language.js +11 -10
  127. package/fe/frontend/src/common/logFn/index.d.ts +0 -1
  128. package/fe/frontend/src/common/logFn/index.js +11 -8
  129. package/fe/frontend/src/common/menu.d.ts +1 -14
  130. package/fe/frontend/src/common/menu.js +94 -98
  131. package/fe/frontend/src/common/request.d.ts +2 -6
  132. package/fe/frontend/src/common/request.js +159 -195
  133. package/fe/frontend/src/components/AsyncSelect/AsyncSelect.d.ts +3 -4
  134. package/fe/frontend/src/components/AsyncSelect/AsyncSelect.js +35 -31
  135. package/fe/frontend/src/components/AsyncSelect/index.d.ts +2 -3
  136. package/fe/frontend/src/components/AsyncSelect/index.js +5 -3
  137. package/fe/frontend/src/components/BasePage/HeaderView.d.ts +1 -2
  138. package/fe/frontend/src/components/BasePage/HeaderView.js +53 -17
  139. package/fe/frontend/src/components/LanguageSwitch/LanguageSwitch.d.ts +14 -5
  140. package/fe/frontend/src/components/LanguageSwitch/LanguageSwitch.js +80 -31
  141. package/fe/frontend/src/components/LanguageSwitch/index.d.ts +2 -3
  142. package/fe/frontend/src/components/LanguageSwitch/index.js +5 -3
  143. package/fe/frontend/src/components/Router/index.d.ts +2 -3
  144. package/fe/frontend/src/components/Router/index.js +20 -10
  145. package/fe/frontend/src/components/Router/type.d.ts +0 -1
  146. package/fe/frontend/src/components/Router/type.js +0 -1
  147. package/fe/frontend/src/components/ThemeSwitch/ThemeSwitch.d.ts +0 -1
  148. package/fe/frontend/src/components/ThemeSwitch/ThemeSwitch.js +83 -55
  149. package/fe/frontend/src/components/ThemeSwitch/index.d.ts +2 -3
  150. package/fe/frontend/src/components/ThemeSwitch/index.js +5 -3
  151. package/fe/frontend/src/components/index.d.ts +10 -11
  152. package/fe/frontend/src/components/index.js +7 -10
  153. package/fe/frontend/src/defaultPages/Iframe/index.d.ts +0 -1
  154. package/fe/frontend/src/defaultPages/Iframe/index.js +14 -7
  155. package/fe/frontend/src/defaultPages/NotFoundPage/index.d.ts +0 -1
  156. package/fe/frontend/src/defaultPages/NotFoundPage/index.js +27 -6
  157. package/fe/frontend/src/defaultPages/SchemaPage/components/CallCom/DetailPanel.d.ts +1 -2
  158. package/fe/frontend/src/defaultPages/SchemaPage/components/CallCom/DetailPanel.js +97 -90
  159. package/fe/frontend/src/defaultPages/SchemaPage/components/CallCom/PopFrom.d.ts +1 -2
  160. package/fe/frontend/src/defaultPages/SchemaPage/components/CallCom/PopFrom.js +116 -127
  161. package/fe/frontend/src/defaultPages/SchemaPage/components/CallCom/builtIn.d.ts +2 -18
  162. package/fe/frontend/src/defaultPages/SchemaPage/components/CallCom/builtIn.js +9 -6
  163. package/fe/frontend/src/defaultPages/SchemaPage/components/CallCom/data.d.ts +1 -2
  164. package/fe/frontend/src/defaultPages/SchemaPage/components/CallCom/data.js +8 -5
  165. package/fe/frontend/src/defaultPages/SchemaPage/components/SchemaSearch/index.d.ts +0 -1
  166. package/fe/frontend/src/defaultPages/SchemaPage/components/SchemaSearch/index.js +60 -61
  167. package/fe/frontend/src/defaultPages/SchemaPage/components/SchemaTable/index.d.ts +2 -3
  168. package/fe/frontend/src/defaultPages/SchemaPage/components/SchemaTable/index.js +199 -186
  169. package/fe/frontend/src/defaultPages/SchemaPage/data/eventInfo.d.ts +0 -1
  170. package/fe/frontend/src/defaultPages/SchemaPage/data/eventInfo.js +8 -5
  171. package/fe/frontend/src/defaultPages/SchemaPage/data/index.d.ts +0 -1
  172. package/fe/frontend/src/defaultPages/SchemaPage/data/index.js +4 -1
  173. package/fe/frontend/src/defaultPages/SchemaPage/hooks/useComConfig.d.ts +1 -2
  174. package/fe/frontend/src/defaultPages/SchemaPage/hooks/useComConfig.js +16 -13
  175. package/fe/frontend/src/defaultPages/SchemaPage/index.css +1 -26
  176. package/fe/frontend/src/defaultPages/SchemaPage/index.d.ts +1 -2
  177. package/fe/frontend/src/defaultPages/SchemaPage/index.js +89 -76
  178. package/fe/frontend/src/defaultPages/SchemaPage/schemaType.d.ts +4 -14
  179. package/fe/frontend/src/defaultPages/SchemaPage/schemaType.js +7 -4
  180. package/fe/frontend/src/defaultPages/SchemaPage/utils/permissions.d.ts +0 -1
  181. package/fe/frontend/src/defaultPages/SchemaPage/utils/permissions.js +6 -3
  182. package/fe/frontend/src/defaultPages/SchemaPage/utils/schemaConversion.d.ts +1 -2
  183. package/fe/frontend/src/defaultPages/SchemaPage/utils/schemaConversion.js +63 -112
  184. package/fe/frontend/src/defaultPages/SchemaPage/utils/validator.d.ts +1 -5
  185. package/fe/frontend/src/defaultPages/SchemaPage/utils/validator.js +116 -165
  186. package/fe/frontend/src/defaultPages/SidebarSlotPage/SidebarSlotContainer.d.ts +2 -3
  187. package/fe/frontend/src/defaultPages/SidebarSlotPage/SidebarSlotContainer.js +54 -37
  188. package/fe/frontend/src/defaultPages/SidebarSlotPage/index.d.ts +0 -1
  189. package/fe/frontend/src/defaultPages/SidebarSlotPage/index.js +20 -16
  190. package/fe/frontend/src/defaultPages/SidebarSlotPageTmp.d.ts +0 -1
  191. package/fe/frontend/src/defaultPages/SidebarSlotPageTmp.js +20 -16
  192. package/fe/frontend/src/defaultPages/SlotPage/index.d.ts +0 -1
  193. package/fe/frontend/src/defaultPages/SlotPage/index.js +21 -26
  194. package/fe/frontend/src/exportStore.d.ts +4 -17
  195. package/fe/frontend/src/exportStore.js +5 -16
  196. package/fe/frontend/src/hooks/useCurrentMenuData.d.ts +1 -10
  197. package/fe/frontend/src/hooks/useCurrentMenuData.js +28 -26
  198. package/fe/frontend/src/hooks/useRouterParams.d.ts +0 -1
  199. package/fe/frontend/src/hooks/useRouterParams.js +15 -10
  200. package/fe/frontend/src/index.d.ts +13 -21
  201. package/fe/frontend/src/index.js +20 -18
  202. package/fe/frontend/src/language/en-US.d.ts +0 -1
  203. package/fe/frontend/src/language/en-US.js +89 -88
  204. package/fe/frontend/src/language/index.d.ts +1 -2
  205. package/fe/frontend/src/language/index.js +77 -74
  206. package/fe/frontend/src/language/zh-CN.d.ts +0 -1
  207. package/fe/frontend/src/language/zh-CN.js +89 -88
  208. package/fe/frontend/src/main.css +1 -1
  209. package/fe/frontend/src/main.d.ts +13 -20
  210. package/fe/frontend/src/main.js +75 -70
  211. package/fe/frontend/src/stores/apiFreezer.d.ts +1 -68
  212. package/fe/frontend/src/stores/apiFreezer.js +50 -46
  213. package/fe/frontend/src/stores/mode.d.ts +2 -6
  214. package/fe/frontend/src/stores/mode.js +35 -36
  215. package/fe/frontend/src/stores/schemaEventBus.d.ts +1 -21
  216. package/fe/frontend/src/stores/schemaEventBus.js +52 -69
  217. package/fe/frontend/src/stores/schemaStore.d.ts +5 -20
  218. package/fe/frontend/src/stores/schemaStore.js +27 -25
  219. package/fe/frontend/src/typing/scalability.d.ts +3 -35
  220. package/fe/frontend/src/typing/scalability.js +0 -1
  221. package/fe/frontend/src/typing/window.d.ts +0 -1
  222. package/fe/frontend/src/typing/window.js +0 -1
  223. package/fe/model/types/data/button.d.ts +2 -12
  224. package/fe/model/types/data/component.d.ts +4 -14
  225. package/fe/model/types/data/fetchInfo.d.ts +0 -13
  226. package/fe/model/types/data/schema.d.ts +6 -58
  227. package/fe/model/types/data/search.d.ts +1 -2
  228. package/{model → fe/model}/types/index.d.ts +2 -3
  229. package/fe/model/types/menuType.d.ts +0 -30
  230. package/fe/model/types/model.d.ts +1 -15
  231. package/fe/packages/common/LRUCache.d.ts +1 -0
  232. package/fe/packages/common/array/index.d.ts +0 -1
  233. package/fe/packages/common/cache/LRUCache.d.ts +0 -1
  234. package/fe/packages/common/cache/LRUCache.js +43 -47
  235. package/fe/packages/common/cache/index.d.ts +0 -1
  236. package/fe/packages/common/guards/index.d.ts +0 -1
  237. package/fe/packages/common/guards/index.js +8 -24
  238. package/fe/packages/common/http/index.d.ts +0 -1
  239. package/fe/packages/common/http/index.js +272 -282
  240. package/fe/packages/common/i18n/default.d.ts +0 -6
  241. package/fe/packages/common/i18n/default.js +91 -88
  242. package/fe/packages/common/i18n/en-US.d.ts +0 -6
  243. package/fe/packages/common/i18n/en-US.js +91 -88
  244. package/fe/packages/common/i18n/index.d.ts +3 -28
  245. package/fe/packages/common/i18n/index.js +142 -153
  246. package/fe/packages/common/i18n/locales.d.ts +3 -4
  247. package/fe/packages/common/i18n/locales.js +10 -9
  248. package/fe/packages/common/i18n/types.d.ts +0 -25
  249. package/fe/packages/common/index.d.ts +0 -1
  250. package/fe/packages/common/log/index.d.ts +0 -1
  251. package/fe/packages/common/number/index.d.ts +0 -1
  252. package/fe/packages/common/object/filterEmpty.d.ts +0 -1
  253. package/fe/packages/common/object/filterEmpty.js +25 -30
  254. package/fe/packages/common/object/filtereEmpty.d.ts +1 -0
  255. package/fe/packages/common/object/index.d.ts +0 -1
  256. package/fe/packages/common/string/index.d.ts +9 -1
  257. package/fe/packages/common/types/index.d.ts +0 -1
  258. package/fe/packages/{ui/react → react}/hooks/useBreadcrumb.d.ts +3 -4
  259. package/fe/packages/react/hooks/useBreadcrumb.js +5 -0
  260. package/fe/packages/react/hooks/useExecuteOnce.d.ts +11 -0
  261. package/fe/packages/react/hooks/useExecuteOnce.js +47 -0
  262. package/fe/packages/{ui/react → react}/hooks/useInit.d.ts +0 -1
  263. package/fe/packages/react/hooks/useInit.js +11 -0
  264. package/fe/packages/react/hooks/useLanguage.d.ts +1 -0
  265. package/fe/packages/react/hooks/useLanguage.js +8 -0
  266. package/fe/packages/{ui/react → react}/hooks/usePagination.d.ts +0 -1
  267. package/fe/packages/react/hooks/usePagination.js +30 -0
  268. package/fe/packages/{ui/react → react}/hooks/useRefState.d.ts +1 -14
  269. package/fe/packages/react/hooks/useRefState.js +35 -0
  270. package/fe/packages/{ui/react → react}/hooks/useWatch.d.ts +0 -9
  271. package/fe/packages/react/hooks/useWatch.js +60 -0
  272. package/fe/packages/react/hooks/useWatch.test.js +24 -0
  273. package/fe/packages/react/ui/assets/table/no-result.js +4 -0
  274. package/fe/packages/{ui/react → react/ui}/components/Button/Button.d.ts +1 -35
  275. package/fe/packages/react/ui/components/Button/Button.js +88 -0
  276. package/fe/packages/{ui/react → react/ui}/components/Button/SubmitButton.d.ts +2 -7
  277. package/fe/packages/react/ui/components/Button/SubmitButton.js +30 -0
  278. package/fe/packages/react/ui/components/Button/index.d.ts +3 -0
  279. package/fe/packages/react/ui/components/Button/index.js +3 -0
  280. package/fe/packages/{ui/react → react/ui}/components/Card/Card.d.ts +1 -6
  281. package/fe/packages/react/ui/components/Card/Card.js +31 -0
  282. package/fe/packages/react/ui/components/Card/index.d.ts +1 -0
  283. package/fe/packages/react/ui/components/Card/index.js +2 -0
  284. package/fe/packages/{ui/react → react/ui}/components/Checkbox/Checkbox.d.ts +1 -2
  285. package/fe/packages/react/ui/components/Checkbox/Checkbox.js +52 -0
  286. package/fe/packages/react/ui/components/Checkbox/index.d.ts +1 -0
  287. package/fe/packages/react/ui/components/Checkbox/index.js +2 -0
  288. package/fe/packages/{ui/react → react/ui}/components/ConfirmDialog/ConfirmDialog.d.ts +0 -9
  289. package/fe/packages/react/ui/components/ConfirmDialog/ConfirmDialog.js +41 -0
  290. package/fe/packages/react/ui/components/ConfirmDialog/index.d.ts +1 -0
  291. package/fe/packages/react/ui/components/ConfirmDialog/index.js +2 -0
  292. package/fe/packages/{ui/react → react/ui}/components/DataTable/ActionBtn.d.ts +1 -2
  293. package/fe/packages/react/ui/components/DataTable/ActionBtn.js +116 -0
  294. package/fe/packages/{ui/react → react/ui}/components/DataTable/index.d.ts +8 -28
  295. package/fe/packages/react/ui/components/DataTable/index.js +235 -0
  296. package/fe/packages/{ui/react → react/ui}/components/Date/Calendar.d.ts +2 -16
  297. package/fe/packages/react/ui/components/Date/Calendar.js +351 -0
  298. package/fe/packages/{ui/react → react/ui}/components/Date/Date.d.ts +0 -12
  299. package/fe/packages/react/ui/components/Date/Date.js +210 -0
  300. package/fe/packages/{ui/react → react/ui}/components/Date/DateTestPage.d.ts +0 -1
  301. package/fe/packages/react/ui/components/Date/DateTestPage.js +340 -0
  302. package/fe/packages/react/ui/components/Date/LocaleContext.d.ts +1 -0
  303. package/fe/packages/react/ui/components/Date/LocaleContext.js +11 -0
  304. package/fe/packages/react/ui/components/Date/LocaleProvider.d.ts +7 -0
  305. package/fe/packages/react/ui/components/Date/LocaleProvider.js +31 -0
  306. package/fe/packages/{ui/react → react/ui}/components/Date/TimePicker.d.ts +0 -1
  307. package/fe/packages/react/ui/components/Date/TimePicker.js +136 -0
  308. package/fe/packages/{ui/react → react/ui}/components/Date/data.d.ts +0 -1
  309. package/fe/packages/react/ui/components/Date/data.js +7 -0
  310. package/fe/packages/{ui/react → react/ui}/components/Date/dateLocaleStore.d.ts +1 -8
  311. package/fe/packages/react/ui/components/Date/dateLocaleStore.js +14 -0
  312. package/fe/packages/react/ui/components/Date/dropdownPositioning.d.ts +2 -0
  313. package/fe/packages/react/ui/components/Date/dropdownPositioning.js +12 -0
  314. package/fe/packages/react/ui/components/Date/index.d.ts +5 -0
  315. package/fe/packages/react/ui/components/Date/index.js +6 -0
  316. package/fe/packages/{ui/react → react/ui}/components/Date/locales.d.ts +0 -20
  317. package/fe/packages/react/ui/components/Date/locales.js +25 -0
  318. package/fe/packages/{ui/react → react/ui}/components/Drawer/Drawer.d.ts +1 -8
  319. package/fe/packages/react/ui/components/Drawer/Drawer.js +151 -0
  320. package/fe/packages/react/ui/components/Drawer/index.d.ts +2 -0
  321. package/fe/packages/react/ui/components/Drawer/index.js +2 -0
  322. package/fe/packages/{ui/react → react/ui}/components/Dropdown/Dropdown.d.ts +2 -4
  323. package/fe/packages/react/ui/components/Dropdown/Dropdown.js +105 -0
  324. package/fe/packages/react/ui/components/Dropdown/index.d.ts +1 -0
  325. package/fe/packages/react/ui/components/Dropdown/index.js +2 -0
  326. package/fe/packages/{ui/react → react/ui}/components/Form/Form.d.ts +2 -9
  327. package/fe/packages/react/ui/components/Form/Form.js +15 -0
  328. package/fe/packages/{ui/react → react/ui}/components/Form/FormItem.d.ts +3 -25
  329. package/fe/packages/react/ui/components/Form/FormItem.js +60 -0
  330. package/fe/packages/{ui/react → react/ui}/components/Form/SchemaForm/data.d.ts +8 -9
  331. package/fe/packages/react/ui/components/Form/SchemaForm/data.js +16 -0
  332. package/fe/packages/react/ui/components/Form/SchemaForm/defaultComponentsMap.d.ts +3 -0
  333. package/fe/packages/react/ui/components/Form/SchemaForm/defaultComponentsMap.js +4 -0
  334. package/fe/packages/{ui/react → react/ui}/components/Form/SchemaForm/index.d.ts +9 -103
  335. package/fe/packages/react/ui/components/Form/SchemaForm/index.js +119 -0
  336. package/fe/packages/react/ui/components/Form/index.d.ts +4 -0
  337. package/fe/packages/react/ui/components/Form/index.js +5 -0
  338. package/fe/packages/react/ui/components/Form/useForm.d.ts +2 -0
  339. package/fe/packages/react/ui/components/Form/useForm.js +2 -0
  340. package/fe/packages/{ui/react → react/ui}/components/ImagePreview/ImagePreview.d.ts +0 -1
  341. package/fe/packages/react/ui/components/ImagePreview/ImagePreview.js +307 -0
  342. package/fe/packages/{ui/react → react/ui}/components/ImagePreview/PreviewImage.d.ts +2 -6
  343. package/fe/packages/react/ui/components/ImagePreview/PreviewImage.js +56 -0
  344. package/fe/packages/react/ui/components/ImagePreview/index.d.ts +2 -0
  345. package/fe/packages/react/ui/components/ImagePreview/index.js +3 -0
  346. package/fe/packages/{ui/react → react/ui}/components/Input/Input.d.ts +1 -24
  347. package/fe/packages/react/ui/components/Input/Input.js +142 -0
  348. package/fe/packages/react/ui/components/Input/index.d.ts +1 -0
  349. package/fe/packages/react/ui/components/Input/index.js +2 -0
  350. package/fe/packages/{ui/react → react/ui}/components/InputNumber/InputNumber.d.ts +2 -5
  351. package/fe/packages/react/ui/components/InputNumber/InputNumber.js +207 -0
  352. package/fe/packages/react/ui/components/InputNumber/index.d.ts +1 -0
  353. package/fe/packages/react/ui/components/InputNumber/index.js +2 -0
  354. package/fe/packages/{ui/react → react/ui}/components/InputNumber/inputNumberUtils.d.ts +0 -1
  355. package/fe/packages/react/ui/components/InputNumber/inputNumberUtils.js +45 -0
  356. package/fe/packages/react/ui/components/InputNumber/inputNumberUtils.test.js +59 -0
  357. package/fe/packages/{ui/react → react/ui}/components/Label/Label.d.ts +1 -31
  358. package/fe/packages/react/ui/components/Label/Label.js +58 -0
  359. package/fe/packages/react/ui/components/Label/index.d.ts +2 -0
  360. package/fe/packages/react/ui/components/Label/index.js +2 -0
  361. package/fe/packages/{ui/react → react/ui}/components/Layout/Layout.d.ts +1 -2
  362. package/fe/packages/react/ui/components/Layout/Layout.js +33 -0
  363. package/fe/packages/react/ui/components/Layout/index.d.ts +1 -0
  364. package/fe/packages/react/ui/components/Layout/index.js +2 -0
  365. package/fe/packages/{ui/react → react/ui}/components/Loading/Loading.d.ts +1 -13
  366. package/fe/packages/react/ui/components/Loading/Loading.js +48 -0
  367. package/fe/packages/react/ui/components/Loading/index.d.ts +1 -0
  368. package/fe/packages/react/ui/components/Loading/index.js +2 -0
  369. package/fe/packages/{ui/react → react/ui}/components/Menu/Menu.d.ts +0 -1
  370. package/fe/packages/react/ui/components/Menu/Menu.js +147 -0
  371. package/fe/packages/{ui/react → react/ui}/components/Menu/MenuContext.d.ts +0 -1
  372. package/fe/packages/react/ui/components/Menu/MenuContext.js +88 -0
  373. package/fe/packages/{ui/react → react/ui}/components/Menu/MenuItem.d.ts +0 -1
  374. package/fe/packages/react/ui/components/Menu/MenuItem.js +78 -0
  375. package/fe/packages/react/ui/components/Menu/SubMenu.d.ts +2 -0
  376. package/fe/packages/react/ui/components/Menu/SubMenu.js +207 -0
  377. package/fe/packages/react/ui/components/Menu/index.d.ts +8 -0
  378. package/fe/packages/react/ui/components/Menu/index.js +5 -0
  379. package/fe/packages/{ui/react → react/ui}/components/Menu/menuTypes.d.ts +1 -3
  380. package/fe/packages/react/ui/components/Menu/menuTypes.js +0 -0
  381. package/fe/packages/{ui/react → react/ui}/components/Menu/utils.d.ts +0 -1
  382. package/fe/packages/react/ui/components/Menu/utils.js +8 -0
  383. package/fe/packages/{ui/react → react/ui}/components/Message/Message.d.ts +1 -9
  384. package/fe/packages/react/ui/components/Message/Message.js +76 -0
  385. package/fe/packages/{ui/react → react/ui}/components/Message/MessageManager.d.ts +2 -3
  386. package/fe/packages/react/ui/components/Message/MessageManager.js +104 -0
  387. package/fe/packages/{ui/react → react/ui}/components/Message/data.d.ts +0 -1
  388. package/fe/packages/react/ui/components/Message/data.js +4 -0
  389. package/fe/packages/react/ui/components/Message/index.d.ts +2 -0
  390. package/fe/packages/react/ui/components/Message/index.js +2 -0
  391. package/fe/packages/{ui/react → react/ui}/components/Modal/Modal.d.ts +1 -8
  392. package/fe/packages/react/ui/components/Modal/Modal.js +59 -0
  393. package/fe/packages/{ui/react → react/ui}/components/Modal/ModalManager.d.ts +3 -16
  394. package/fe/packages/react/ui/components/Modal/ModalManager.js +106 -0
  395. package/fe/packages/react/ui/components/Modal/index.d.ts +3 -0
  396. package/fe/packages/react/ui/components/Modal/index.js +3 -0
  397. package/fe/packages/{ui/react → react/ui}/components/Notification/Notification.d.ts +1 -2
  398. package/fe/packages/react/ui/components/Notification/Notification.js +56 -0
  399. package/fe/packages/react/ui/components/Notification/index.d.ts +1 -0
  400. package/fe/packages/react/ui/components/Notification/index.js +2 -0
  401. package/fe/packages/{ui/react → react/ui}/components/Overlay/Overlay.d.ts +1 -5
  402. package/fe/packages/react/ui/components/Overlay/Overlay.js +61 -0
  403. package/fe/packages/react/ui/components/Overlay/index.d.ts +2 -0
  404. package/fe/packages/react/ui/components/Overlay/index.js +2 -0
  405. package/fe/packages/{ui/react → react/ui}/components/Pagination/Pagination.d.ts +0 -8
  406. package/fe/packages/react/ui/components/Pagination/Pagination.js +115 -0
  407. package/fe/packages/react/ui/components/Pagination/index.d.ts +1 -0
  408. package/fe/packages/react/ui/components/Pagination/index.js +2 -0
  409. package/fe/packages/{ui/react → react/ui}/components/Popup/Popup.d.ts +0 -1
  410. package/fe/packages/react/ui/components/Popup/Popup.js +86 -0
  411. package/fe/packages/react/ui/components/Popup/index.d.ts +1 -0
  412. package/fe/packages/react/ui/components/Popup/index.js +2 -0
  413. package/fe/packages/{ui/react → react/ui}/components/Radio/Radio.d.ts +1 -2
  414. package/fe/packages/react/ui/components/Radio/Radio.js +36 -0
  415. package/fe/packages/{ui/react → react/ui}/components/Radio/RadioGroup.d.ts +1 -2
  416. package/fe/packages/react/ui/components/Radio/RadioGroup.js +33 -0
  417. package/fe/packages/react/ui/components/Radio/index.d.ts +2 -0
  418. package/fe/packages/react/ui/components/Radio/index.js +3 -0
  419. package/fe/packages/{ui/react → react/ui}/components/Search/Search.d.ts +4 -8
  420. package/fe/packages/react/ui/components/Search/Search.js +24 -0
  421. package/fe/packages/react/ui/components/Search/index.d.ts +1 -0
  422. package/fe/packages/react/ui/components/Search/index.js +2 -0
  423. package/fe/packages/{ui/react → react/ui}/components/Select/Select.d.ts +2 -7
  424. package/fe/packages/react/ui/components/Select/Select.js +282 -0
  425. package/fe/packages/react/ui/components/Select/dropdownPositioning.d.ts +2 -0
  426. package/fe/packages/react/ui/components/Select/dropdownPositioning.js +16 -0
  427. package/fe/packages/react/ui/components/Select/index.d.ts +1 -0
  428. package/fe/packages/react/ui/components/Select/index.js +2 -0
  429. package/fe/packages/react/ui/components/Skeleton/Skeleton.d.ts +12 -0
  430. package/fe/packages/react/ui/components/Skeleton/Skeleton.js +101 -0
  431. package/fe/packages/react/ui/components/Skeleton/index.d.ts +2 -0
  432. package/fe/packages/react/ui/components/Skeleton/index.js +2 -0
  433. package/fe/packages/{ui/react → react/ui}/components/Switch/Switch.d.ts +1 -2
  434. package/fe/packages/react/ui/components/Switch/Switch.js +28 -0
  435. package/fe/packages/react/ui/components/Switch/index.d.ts +1 -0
  436. package/fe/packages/react/ui/components/Switch/index.js +2 -0
  437. package/fe/packages/react/ui/components/TableSearch/TableSearch.d.ts +30 -0
  438. package/fe/packages/react/ui/components/TableSearch/TableSearch.js +146 -0
  439. package/fe/packages/react/ui/components/TableSearch/index.d.ts +2 -0
  440. package/fe/packages/react/ui/components/TableSearch/index.js +2 -0
  441. package/fe/packages/{ui/react → react/ui}/components/TableSearch/lang.d.ts +0 -1
  442. package/fe/packages/react/ui/components/TableSearch/lang.js +14 -0
  443. package/fe/packages/{ui/react → react/ui}/components/TableSearch/tableSearchLocaleStore.d.ts +1 -2
  444. package/fe/packages/react/ui/components/TableSearch/tableSearchLocaleStore.js +10 -0
  445. package/fe/packages/{ui/react → react/ui}/components/Tabs/Tabs.d.ts +1 -2
  446. package/fe/packages/react/ui/components/Tabs/Tabs.js +33 -0
  447. package/fe/packages/react/ui/components/Tabs/index.d.ts +1 -0
  448. package/fe/packages/react/ui/components/Tabs/index.js +2 -0
  449. package/fe/packages/{ui/react → react/ui}/components/Textarea/Textarea.d.ts +0 -47
  450. package/fe/packages/react/ui/components/Textarea/Textarea.js +58 -0
  451. package/fe/packages/react/ui/components/Textarea/index.d.ts +1 -0
  452. package/fe/packages/react/ui/components/Textarea/index.js +2 -0
  453. package/fe/packages/{ui/react → react/ui}/components/Tooltip/Tooltip.d.ts +0 -17
  454. package/fe/packages/react/ui/components/Tooltip/Tooltip.js +77 -0
  455. package/fe/packages/react/ui/components/Tooltip/index.d.ts +1 -0
  456. package/fe/packages/react/ui/components/Tooltip/index.js +2 -0
  457. package/fe/packages/{ui/react → react/ui}/components/TreeSelect/TreeSelect.d.ts +0 -7
  458. package/fe/packages/react/ui/components/TreeSelect/TreeSelect.js +190 -0
  459. package/fe/packages/react/ui/components/TreeSelect/index.d.ts +1 -0
  460. package/fe/packages/react/ui/components/TreeSelect/index.js +2 -0
  461. package/fe/packages/{ui/react → react/ui}/components/Upload/ImageUpload.d.ts +0 -1
  462. package/fe/packages/react/ui/components/Upload/ImageUpload.js +101 -0
  463. package/fe/packages/react/ui/components/Upload/Upload.d.ts +13 -0
  464. package/fe/packages/react/ui/components/Upload/Upload.js +29 -0
  465. package/fe/packages/react/ui/components/Upload/index.d.ts +2 -0
  466. package/fe/packages/react/ui/components/Upload/index.js +3 -0
  467. package/fe/packages/{ui/react → react/ui}/components/breadcrumb/breadcrumb.d.ts +0 -1
  468. package/fe/packages/react/ui/components/breadcrumb/breadcrumb.js +155 -0
  469. package/fe/packages/react/ui/components/breadcrumb/index.d.ts +1 -0
  470. package/fe/packages/react/ui/components/breadcrumb/index.js +2 -0
  471. package/fe/packages/{ui/react → react/ui}/components/hooks/useDropdownPositioning.d.ts +0 -7
  472. package/fe/packages/react/ui/components/hooks/useDropdownPositioning.js +121 -0
  473. package/fe/packages/{ui/react → react/ui}/components/hooks/useInputController.d.ts +0 -4
  474. package/fe/packages/react/ui/components/hooks/useInputController.js +39 -0
  475. package/fe/packages/react/ui/components/index.d.ts +35 -0
  476. package/fe/packages/react/ui/components/index.js +81 -0
  477. package/fe/packages/react/ui/components/table/index.d.ts +1 -0
  478. package/fe/packages/react/ui/components/table/index.js +2 -0
  479. package/fe/packages/{ui/react → react/ui}/components/table/table.d.ts +1 -2
  480. package/fe/packages/react/ui/components/table/table.js +166 -0
  481. package/fe/packages/{ui/react → react/ui}/components/testPage/MenuTestPage.d.ts +0 -1
  482. package/fe/packages/react/ui/components/testPage/MenuTestPage.js +397 -0
  483. package/fe/packages/{ui/react → react/ui}/components/testPage/index.d.ts +0 -1
  484. package/fe/packages/react/ui/components/testPage/index.js +1638 -0
  485. package/fe/packages/react/ui/i18n/I18nProvider.d.ts +12 -0
  486. package/fe/packages/react/ui/i18n/I18nProvider.js +38 -0
  487. package/fe/packages/react/ui/i18n/index.d.ts +3 -0
  488. package/fe/packages/react/ui/i18n/index.js +7 -0
  489. package/fe/packages/react/ui/i18n/useI18n.d.ts +8 -0
  490. package/fe/packages/react/ui/i18n/useI18n.js +25 -0
  491. package/fe/packages/react/ui/index.d.ts +4 -0
  492. package/fe/packages/react/ui/index.js +58 -0
  493. package/fe/packages/{ui/react → react/ui}/lib/createStoreHook.d.ts +1 -2
  494. package/fe/packages/react/ui/lib/createStoreHook.js +9 -0
  495. package/fe/packages/react/ui/lib/export.d.ts +21 -0
  496. package/fe/packages/react/ui/lib/export.js +112 -0
  497. package/fe/packages/react/ui/lib/utils.d.ts +9 -0
  498. package/fe/packages/react/ui/lib/utils.js +64 -0
  499. package/fe/packages/{ui/react → react/ui}/stores/breadcrumb.d.ts +1 -2
  500. package/fe/packages/react/ui/stores/breadcrumb.js +52 -0
  501. package/fe/packages/react/ui/stores/language.d.ts +3 -0
  502. package/fe/packages/react/ui/stores/language.js +4 -0
  503. package/fe/packages/{ui/react → react/ui}/types/index.d.ts +0 -1
  504. package/fe/packages/react/ui/types/index.js +0 -0
  505. package/fe/typings/type.d.ts +0 -1
  506. package/model/frontend/extended/SchemaForm/data.d.ts +9 -0
  507. package/model/frontend/src/common/auth/index.d.ts +11 -0
  508. package/model/frontend/src/common/fetchErrorShow.d.ts +2 -0
  509. package/model/frontend/src/common/language.d.ts +2 -0
  510. package/model/frontend/src/common/logFn/index.d.ts +4 -0
  511. package/model/frontend/src/common/request.d.ts +33 -0
  512. package/model/frontend/src/components/AsyncSelect/AsyncSelect.d.ts +7 -0
  513. package/model/frontend/src/components/AsyncSelect/index.d.ts +3 -0
  514. package/model/frontend/src/defaultPages/SchemaPage/components/CallCom/DetailPanel.d.ts +6 -0
  515. package/model/frontend/src/defaultPages/SchemaPage/components/CallCom/PopFrom.d.ts +12 -0
  516. package/model/frontend/src/defaultPages/SchemaPage/components/CallCom/builtIn.d.ts +28 -0
  517. package/model/frontend/src/defaultPages/SchemaPage/data/eventInfo.d.ts +7 -0
  518. package/model/frontend/src/defaultPages/SchemaPage/data/index.d.ts +2 -0
  519. package/model/frontend/src/defaultPages/SchemaPage/hooks/useComConfig.d.ts +9 -0
  520. package/model/frontend/src/defaultPages/SchemaPage/schemaType.d.ts +41 -0
  521. package/model/frontend/src/defaultPages/SchemaPage/utils/permissions.d.ts +2 -0
  522. package/model/frontend/src/defaultPages/SchemaPage/utils/validator.d.ts +7 -0
  523. package/model/frontend/src/language/en-US.d.ts +88 -0
  524. package/model/frontend/src/language/index.d.ts +72 -0
  525. package/model/frontend/src/language/zh-CN.d.ts +88 -0
  526. package/model/frontend/src/stores/apiFreezer.d.ts +26 -0
  527. package/model/frontend/src/stores/schemaEventBus.d.ts +22 -0
  528. package/model/frontend/src/stores/schemaStore.d.ts +32 -0
  529. package/model/frontend/src/typing/scalability.d.ts +15 -0
  530. package/model/frontend/src/typing/window.d.ts +8 -0
  531. package/model/{index.d.ts → model/index.d.ts} +1 -2
  532. package/model/{types → model/types}/data/button.d.ts +2 -12
  533. package/model/{types → model/types}/data/component.d.ts +4 -14
  534. package/model/model/types/data/fetchInfo.d.ts +7 -0
  535. package/model/model/types/data/schema.d.ts +46 -0
  536. package/model/{types → model/types}/data/search.d.ts +1 -2
  537. package/model/model/types/index.d.ts +2 -0
  538. package/model/{types → model/types}/menuType.d.ts +0 -30
  539. package/model/{types → model/types}/model.d.ts +1 -15
  540. package/model/packages/common/array/index.d.ts +6 -0
  541. package/model/packages/common/cache/LRUCache.d.ts +12 -0
  542. package/model/packages/common/guards/index.d.ts +8 -0
  543. package/model/packages/common/http/index.d.ts +89 -0
  544. package/model/packages/common/i18n/default.d.ts +86 -0
  545. package/model/packages/common/i18n/en-US.d.ts +86 -0
  546. package/model/packages/common/i18n/index.d.ts +18 -0
  547. package/model/packages/common/i18n/locales.d.ts +7 -0
  548. package/model/packages/common/i18n/types.d.ts +46 -0
  549. package/model/packages/common/log/index.d.ts +32 -0
  550. package/model/packages/common/number/index.d.ts +2 -0
  551. package/model/packages/common/object/filterEmpty.d.ts +2 -0
  552. package/model/packages/common/object/index.d.ts +4 -0
  553. package/model/packages/common/string/index.d.ts +12 -0
  554. package/model/packages/common/types/index.d.ts +3 -0
  555. package/model/packages/react/hooks/useBreadcrumb.d.ts +9 -0
  556. package/model/packages/react/hooks/useExecuteOnce.d.ts +11 -0
  557. package/model/packages/react/hooks/useLanguage.d.ts +1 -0
  558. package/model/packages/react/ui/components/Button/Button.d.ts +24 -0
  559. package/model/packages/react/ui/components/Button/SubmitButton.d.ts +8 -0
  560. package/model/packages/react/ui/components/Button/index.d.ts +3 -0
  561. package/model/packages/react/ui/components/Card/Card.d.ts +10 -0
  562. package/model/packages/react/ui/components/Card/index.d.ts +1 -0
  563. package/model/packages/react/ui/components/Checkbox/Checkbox.d.ts +16 -0
  564. package/model/packages/react/ui/components/Checkbox/index.d.ts +1 -0
  565. package/model/packages/react/ui/components/ConfirmDialog/ConfirmDialog.d.ts +11 -0
  566. package/model/packages/react/ui/components/ConfirmDialog/index.d.ts +1 -0
  567. package/model/packages/react/ui/components/DataTable/ActionBtn.d.ts +7 -0
  568. package/model/packages/react/ui/components/DataTable/index.d.ts +32 -0
  569. package/model/packages/react/ui/components/Date/Calendar.d.ts +21 -0
  570. package/model/packages/react/ui/components/Date/Date.d.ts +26 -0
  571. package/model/packages/react/ui/components/Date/LocaleContext.d.ts +1 -0
  572. package/model/packages/react/ui/components/Date/LocaleProvider.d.ts +7 -0
  573. package/model/packages/react/ui/components/Date/TimePicker.d.ts +6 -0
  574. package/model/packages/react/ui/components/Date/data.d.ts +5 -0
  575. package/model/packages/react/ui/components/Date/dateLocaleStore.d.ts +9 -0
  576. package/model/packages/react/ui/components/Date/dropdownPositioning.d.ts +2 -0
  577. package/model/packages/react/ui/components/Date/index.d.ts +5 -0
  578. package/model/packages/react/ui/components/Date/locales.d.ts +23 -0
  579. package/model/packages/react/ui/components/Drawer/Drawer.d.ts +22 -0
  580. package/model/packages/react/ui/components/Drawer/index.d.ts +2 -0
  581. package/model/packages/react/ui/components/Dropdown/Dropdown.d.ts +24 -0
  582. package/model/packages/react/ui/components/Dropdown/index.d.ts +1 -0
  583. package/model/packages/react/ui/components/Form/Form.d.ts +11 -0
  584. package/model/packages/react/ui/components/Form/FormItem.d.ts +19 -0
  585. package/model/packages/react/ui/components/Form/SchemaForm/data.d.ts +39 -0
  586. package/model/packages/react/ui/components/Form/SchemaForm/index.d.ts +59 -0
  587. package/model/packages/react/ui/components/Form/index.d.ts +4 -0
  588. package/model/packages/react/ui/components/Form/useForm.d.ts +2 -0
  589. package/model/packages/react/ui/components/ImagePreview/ImagePreview.d.ts +7 -0
  590. package/model/packages/react/ui/components/ImagePreview/PreviewImage.d.ts +7 -0
  591. package/model/packages/react/ui/components/ImagePreview/index.d.ts +2 -0
  592. package/model/packages/react/ui/components/Input/Input.d.ts +22 -0
  593. package/model/packages/react/ui/components/Input/index.d.ts +1 -0
  594. package/model/packages/react/ui/components/InputNumber/InputNumber.d.ts +25 -0
  595. package/model/packages/react/ui/components/InputNumber/index.d.ts +1 -0
  596. package/model/packages/react/ui/components/InputNumber/inputNumberUtils.d.ts +29 -0
  597. package/model/packages/react/ui/components/Label/Label.d.ts +21 -0
  598. package/model/packages/react/ui/components/Label/index.d.ts +2 -0
  599. package/model/packages/react/ui/components/Layout/Layout.d.ts +10 -0
  600. package/model/packages/react/ui/components/Layout/index.d.ts +1 -0
  601. package/model/packages/react/ui/components/Loading/Loading.d.ts +13 -0
  602. package/model/packages/react/ui/components/Loading/index.d.ts +1 -0
  603. package/model/packages/react/ui/components/Menu/Menu.d.ts +17 -0
  604. package/model/packages/react/ui/components/Menu/MenuContext.d.ts +38 -0
  605. package/model/packages/react/ui/components/Menu/MenuItem.d.ts +2 -0
  606. package/model/packages/react/ui/components/Menu/SubMenu.d.ts +2 -0
  607. package/model/packages/react/ui/components/Menu/index.d.ts +8 -0
  608. package/model/packages/react/ui/components/Menu/menuTypes.d.ts +57 -0
  609. package/model/packages/react/ui/components/Menu/utils.d.ts +1 -0
  610. package/model/packages/react/ui/components/Message/Message.d.ts +12 -0
  611. package/model/packages/react/ui/components/Message/MessageManager.d.ts +36 -0
  612. package/model/packages/react/ui/components/Message/data.d.ts +1 -0
  613. package/model/packages/react/ui/components/Message/index.d.ts +2 -0
  614. package/model/packages/react/ui/components/Modal/Modal.d.ts +20 -0
  615. package/model/packages/react/ui/components/Modal/ModalManager.d.ts +46 -0
  616. package/model/packages/react/ui/components/Modal/index.d.ts +3 -0
  617. package/model/packages/react/ui/components/Notification/Notification.d.ts +13 -0
  618. package/model/packages/react/ui/components/Notification/index.d.ts +1 -0
  619. package/model/packages/react/ui/components/Overlay/Overlay.d.ts +19 -0
  620. package/model/packages/react/ui/components/Overlay/index.d.ts +2 -0
  621. package/model/packages/react/ui/components/Pagination/Pagination.d.ts +10 -0
  622. package/model/packages/react/ui/components/Pagination/index.d.ts +1 -0
  623. package/model/packages/react/ui/components/Popup/Popup.d.ts +25 -0
  624. package/model/packages/react/ui/components/Popup/index.d.ts +1 -0
  625. package/model/packages/react/ui/components/Radio/Radio.d.ts +8 -0
  626. package/model/packages/react/ui/components/Radio/RadioGroup.d.ts +18 -0
  627. package/model/packages/react/ui/components/Radio/index.d.ts +2 -0
  628. package/model/packages/react/ui/components/Search/Search.d.ts +13 -0
  629. package/model/packages/react/ui/components/Search/index.d.ts +1 -0
  630. package/model/packages/react/ui/components/Select/Select.d.ts +21 -0
  631. package/model/packages/react/ui/components/Select/dropdownPositioning.d.ts +2 -0
  632. package/model/packages/react/ui/components/Select/index.d.ts +1 -0
  633. package/model/packages/react/ui/components/Skeleton/Skeleton.d.ts +12 -0
  634. package/model/packages/react/ui/components/Skeleton/index.d.ts +2 -0
  635. package/model/packages/react/ui/components/Switch/Switch.d.ts +10 -0
  636. package/model/packages/react/ui/components/Switch/index.d.ts +1 -0
  637. package/model/packages/react/ui/components/TableSearch/TableSearch.d.ts +30 -0
  638. package/model/packages/react/ui/components/TableSearch/index.d.ts +2 -0
  639. package/model/packages/react/ui/components/TableSearch/lang.d.ts +14 -0
  640. package/model/packages/react/ui/components/TableSearch/tableSearchLocaleStore.d.ts +8 -0
  641. package/model/packages/react/ui/components/Tabs/Tabs.d.ts +15 -0
  642. package/model/packages/react/ui/components/Tabs/index.d.ts +1 -0
  643. package/model/packages/react/ui/components/Textarea/Textarea.d.ts +20 -0
  644. package/model/packages/react/ui/components/Textarea/index.d.ts +1 -0
  645. package/model/packages/react/ui/components/Tooltip/Tooltip.d.ts +8 -0
  646. package/model/packages/react/ui/components/Tooltip/index.d.ts +1 -0
  647. package/model/packages/react/ui/components/TreeSelect/TreeSelect.d.ts +18 -0
  648. package/model/packages/react/ui/components/TreeSelect/index.d.ts +1 -0
  649. package/model/packages/react/ui/components/Upload/ImageUpload.d.ts +8 -0
  650. package/model/packages/react/ui/components/Upload/Upload.d.ts +13 -0
  651. package/model/packages/react/ui/components/Upload/index.d.ts +2 -0
  652. package/model/packages/react/ui/components/breadcrumb/breadcrumb.d.ts +34 -0
  653. package/model/packages/react/ui/components/breadcrumb/index.d.ts +1 -0
  654. package/model/packages/react/ui/components/hooks/useDropdownPositioning.d.ts +42 -0
  655. package/model/packages/react/ui/components/hooks/useInputController.d.ts +20 -0
  656. package/model/packages/react/ui/components/index.d.ts +35 -0
  657. package/model/packages/react/ui/components/table/index.d.ts +1 -0
  658. package/model/packages/react/ui/components/table/table.d.ts +29 -0
  659. package/model/packages/react/ui/i18n/I18nProvider.d.ts +12 -0
  660. package/model/packages/react/ui/i18n/index.d.ts +3 -0
  661. package/model/packages/react/ui/i18n/useI18n.d.ts +8 -0
  662. package/model/packages/react/ui/index.d.ts +4 -0
  663. package/model/packages/react/ui/lib/createStoreHook.d.ts +8 -0
  664. package/model/packages/react/ui/lib/export.d.ts +21 -0
  665. package/model/packages/react/ui/lib/utils.d.ts +9 -0
  666. package/model/packages/react/ui/stores/breadcrumb.d.ts +14 -0
  667. package/model/packages/react/ui/stores/language.d.ts +3 -0
  668. package/model/packages/react/ui/types/index.d.ts +1 -0
  669. package/model/typings/type.d.ts +4 -0
  670. package/package.json +24 -9
  671. package/types/app/controller/view.d.ts +2 -1
  672. package/types/app/extends/crypto.d.ts +64 -0
  673. package/types/app/extends/localCacheHtmlEtag.d.ts +10 -0
  674. package/types/app/extends/render-view.d.ts +7 -0
  675. package/types/app/middlewares/project-handler.d.ts +4 -0
  676. package/types/app/middlewares/request-parameter-parsing.d.ts +7 -0
  677. package/types/app/router/project.d.ts +1 -1
  678. package/types/app/service/base.d.ts +1 -1
  679. package/types/app/service/project.d.ts +1 -1
  680. package/types/app/type.d.ts +31 -1
  681. package/types/app/typings.d.ts +12 -7
  682. package/types/bundler/buildBE.d.ts +13 -0
  683. package/types/bundler/defaultRouteGuard.d.ts +2 -0
  684. package/types/bundler/index.d.ts +3 -1
  685. package/types/bundler/state.d.ts +4 -0
  686. package/types/bundler/utils.d.ts +5 -0
  687. package/types/config/config.default.d.ts +27 -1
  688. package/types/index.d.ts +4 -3
  689. package/types/packages/common/string/index.d.ts +16 -0
  690. package/types/packages/core/loader/config.d.ts +1 -1
  691. package/types/packages/core/loader/extend.d.ts +1 -1
  692. package/types/packages/core/loader/middleware.d.ts +1 -1
  693. package/types/packages/core/types.d.ts +11 -0
  694. package/types/scripts/vite-build/build.d.ts +24 -0
  695. package/types/scripts/vite-build/collect.d.ts +57 -0
  696. package/types/scripts/vite-build/constants.d.ts +6 -0
  697. package/types/scripts/vite-build/dts.d.ts +53 -0
  698. package/types/scripts/vite-build/index.d.ts +2 -0
  699. package/types/scripts/vite-build/normalize.d.ts +66 -0
  700. package/types/scripts/vite-build/plugins.d.ts +67 -0
  701. package/types/scripts/vite-build/resolve.d.ts +61 -0
  702. package/types/scripts/vite-build/types.d.ts +174 -0
  703. package/types/scripts/vite-build/utils.d.ts +35 -0
  704. package/cjs/app/extend/render-view.js +0 -1
  705. package/cjs/app/middleware/api-params-verify.js +0 -1
  706. package/cjs/app/middleware/api-sign-verify.js +0 -1
  707. package/cjs/app/middleware/project-handler.js +0 -1
  708. package/esm/app/extend/render-view.js +0 -23
  709. package/esm/app/middleware/project-handler.js +0 -15
  710. package/fe/model/types/data/button.js +0 -16
  711. package/fe/model/types/data/component.js +0 -11
  712. package/fe/model/types/data/schema.js +0 -1
  713. package/fe/model/types/data/search.js +0 -1
  714. package/fe/model/types/menuType.js +0 -1
  715. package/fe/model/types/model.js +0 -1
  716. package/fe/packages/common/array/index.js +0 -40
  717. package/fe/packages/common/i18n/types.js +0 -1
  718. package/fe/packages/common/log/index.js +0 -176
  719. package/fe/packages/common/number/index.js +0 -10
  720. package/fe/packages/common/object/index.js +0 -25
  721. package/fe/packages/common/string/index.js +0 -17
  722. package/fe/packages/common/types/index.js +0 -1
  723. package/fe/packages/ui/react/components/Button/Button.js +0 -73
  724. package/fe/packages/ui/react/components/Button/SubmitButton.js +0 -25
  725. package/fe/packages/ui/react/components/Button/index.d.ts +0 -4
  726. package/fe/packages/ui/react/components/Button/index.js +0 -2
  727. package/fe/packages/ui/react/components/Card/Card.js +0 -12
  728. package/fe/packages/ui/react/components/Card/index.d.ts +0 -2
  729. package/fe/packages/ui/react/components/Card/index.js +0 -1
  730. package/fe/packages/ui/react/components/Checkbox/Checkbox.js +0 -39
  731. package/fe/packages/ui/react/components/Checkbox/index.d.ts +0 -2
  732. package/fe/packages/ui/react/components/Checkbox/index.js +0 -1
  733. package/fe/packages/ui/react/components/ConfirmDialog/ConfirmDialog.js +0 -11
  734. package/fe/packages/ui/react/components/ConfirmDialog/index.d.ts +0 -2
  735. package/fe/packages/ui/react/components/ConfirmDialog/index.js +0 -1
  736. package/fe/packages/ui/react/components/DataTable/ActionBtn.js +0 -96
  737. package/fe/packages/ui/react/components/DataTable/index.js +0 -191
  738. package/fe/packages/ui/react/components/Date/Calendar.js +0 -216
  739. package/fe/packages/ui/react/components/Date/Date.js +0 -201
  740. package/fe/packages/ui/react/components/Date/DateTestPage.js +0 -29
  741. package/fe/packages/ui/react/components/Date/LocaleContext.d.ts +0 -6
  742. package/fe/packages/ui/react/components/Date/LocaleContext.js +0 -8
  743. package/fe/packages/ui/react/components/Date/LocaleProvider.d.ts +0 -19
  744. package/fe/packages/ui/react/components/Date/LocaleProvider.js +0 -24
  745. package/fe/packages/ui/react/components/Date/TimePicker.js +0 -78
  746. package/fe/packages/ui/react/components/Date/data.js +0 -4
  747. package/fe/packages/ui/react/components/Date/dateLocaleStore.js +0 -14
  748. package/fe/packages/ui/react/components/Date/dropdownPositioning.d.ts +0 -3
  749. package/fe/packages/ui/react/components/Date/dropdownPositioning.js +0 -12
  750. package/fe/packages/ui/react/components/Date/index.d.ts +0 -6
  751. package/fe/packages/ui/react/components/Date/index.js +0 -5
  752. package/fe/packages/ui/react/components/Date/locales.js +0 -21
  753. package/fe/packages/ui/react/components/Drawer/Drawer.js +0 -109
  754. package/fe/packages/ui/react/components/Drawer/index.d.ts +0 -3
  755. package/fe/packages/ui/react/components/Drawer/index.js +0 -1
  756. package/fe/packages/ui/react/components/Dropdown/Dropdown.js +0 -89
  757. package/fe/packages/ui/react/components/Dropdown/index.d.ts +0 -2
  758. package/fe/packages/ui/react/components/Dropdown/index.js +0 -1
  759. package/fe/packages/ui/react/components/Form/Form.js +0 -8
  760. package/fe/packages/ui/react/components/Form/FormItem.js +0 -43
  761. package/fe/packages/ui/react/components/Form/SchemaForm/data.js +0 -18
  762. package/fe/packages/ui/react/components/Form/SchemaForm/index.js +0 -79
  763. package/fe/packages/ui/react/components/Form/index.d.ts +0 -5
  764. package/fe/packages/ui/react/components/Form/index.js +0 -4
  765. package/fe/packages/ui/react/components/Form/useForm.d.ts +0 -3
  766. package/fe/packages/ui/react/components/Form/useForm.js +0 -1
  767. package/fe/packages/ui/react/components/ImagePreview/ImagePreview.js +0 -171
  768. package/fe/packages/ui/react/components/ImagePreview/PreviewImage.js +0 -28
  769. package/fe/packages/ui/react/components/ImagePreview/index.d.ts +0 -3
  770. package/fe/packages/ui/react/components/ImagePreview/index.js +0 -2
  771. package/fe/packages/ui/react/components/Input/Input.js +0 -61
  772. package/fe/packages/ui/react/components/Input/index.d.ts +0 -2
  773. package/fe/packages/ui/react/components/Input/index.js +0 -1
  774. package/fe/packages/ui/react/components/InputNumber/InputNumber.js +0 -144
  775. package/fe/packages/ui/react/components/InputNumber/index.d.ts +0 -2
  776. package/fe/packages/ui/react/components/InputNumber/index.js +0 -1
  777. package/fe/packages/ui/react/components/InputNumber/inputNumberUtils.js +0 -63
  778. package/fe/packages/ui/react/components/InputNumber/inputNumberUtils.test.d.ts +0 -2
  779. package/fe/packages/ui/react/components/InputNumber/inputNumberUtils.test.js +0 -27
  780. package/fe/packages/ui/react/components/Label/Label.js +0 -35
  781. package/fe/packages/ui/react/components/Label/index.d.ts +0 -3
  782. package/fe/packages/ui/react/components/Label/index.js +0 -2
  783. package/fe/packages/ui/react/components/Layout/Layout.js +0 -8
  784. package/fe/packages/ui/react/components/Layout/index.d.ts +0 -2
  785. package/fe/packages/ui/react/components/Layout/index.js +0 -1
  786. package/fe/packages/ui/react/components/Loading/Loading.js +0 -21
  787. package/fe/packages/ui/react/components/Loading/index.d.ts +0 -2
  788. package/fe/packages/ui/react/components/Loading/index.js +0 -1
  789. package/fe/packages/ui/react/components/Menu/Menu.js +0 -110
  790. package/fe/packages/ui/react/components/Menu/MenuContext.js +0 -97
  791. package/fe/packages/ui/react/components/Menu/MenuItem.js +0 -33
  792. package/fe/packages/ui/react/components/Menu/SubMenu.d.ts +0 -10
  793. package/fe/packages/ui/react/components/Menu/SubMenu.js +0 -169
  794. package/fe/packages/ui/react/components/Menu/index.d.ts +0 -9
  795. package/fe/packages/ui/react/components/Menu/index.js +0 -5
  796. package/fe/packages/ui/react/components/Menu/menuTypes.js +0 -1
  797. package/fe/packages/ui/react/components/Menu/utils.js +0 -7
  798. package/fe/packages/ui/react/components/Message/Message.js +0 -58
  799. package/fe/packages/ui/react/components/Message/MessageManager.js +0 -90
  800. package/fe/packages/ui/react/components/Message/data.js +0 -1
  801. package/fe/packages/ui/react/components/Message/index.d.ts +0 -3
  802. package/fe/packages/ui/react/components/Message/index.js +0 -1
  803. package/fe/packages/ui/react/components/Modal/Modal.js +0 -14
  804. package/fe/packages/ui/react/components/Modal/ModalManager.js +0 -90
  805. package/fe/packages/ui/react/components/Modal/index.d.ts +0 -4
  806. package/fe/packages/ui/react/components/Modal/index.js +0 -2
  807. package/fe/packages/ui/react/components/Notification/Notification.js +0 -29
  808. package/fe/packages/ui/react/components/Notification/index.d.ts +0 -2
  809. package/fe/packages/ui/react/components/Notification/index.js +0 -1
  810. package/fe/packages/ui/react/components/Overlay/Overlay.js +0 -53
  811. package/fe/packages/ui/react/components/Overlay/index.d.ts +0 -3
  812. package/fe/packages/ui/react/components/Overlay/index.js +0 -1
  813. package/fe/packages/ui/react/components/Pagination/Pagination.js +0 -96
  814. package/fe/packages/ui/react/components/Pagination/index.d.ts +0 -2
  815. package/fe/packages/ui/react/components/Pagination/index.js +0 -1
  816. package/fe/packages/ui/react/components/Popup/Popup.js +0 -81
  817. package/fe/packages/ui/react/components/Popup/index.d.ts +0 -2
  818. package/fe/packages/ui/react/components/Popup/index.js +0 -1
  819. package/fe/packages/ui/react/components/Radio/Radio.js +0 -20
  820. package/fe/packages/ui/react/components/Radio/RadioGroup.js +0 -21
  821. package/fe/packages/ui/react/components/Radio/index.d.ts +0 -3
  822. package/fe/packages/ui/react/components/Radio/index.js +0 -2
  823. package/fe/packages/ui/react/components/Search/Search.js +0 -8
  824. package/fe/packages/ui/react/components/Search/index.d.ts +0 -2
  825. package/fe/packages/ui/react/components/Search/index.js +0 -1
  826. package/fe/packages/ui/react/components/Select/Select.js +0 -220
  827. package/fe/packages/ui/react/components/Select/dropdownPositioning.d.ts +0 -3
  828. package/fe/packages/ui/react/components/Select/dropdownPositioning.js +0 -13
  829. package/fe/packages/ui/react/components/Select/index.d.ts +0 -2
  830. package/fe/packages/ui/react/components/Select/index.js +0 -1
  831. package/fe/packages/ui/react/components/Skeleton/Skeleton.d.ts +0 -28
  832. package/fe/packages/ui/react/components/Skeleton/Skeleton.js +0 -31
  833. package/fe/packages/ui/react/components/Skeleton/index.d.ts +0 -3
  834. package/fe/packages/ui/react/components/Skeleton/index.js +0 -1
  835. package/fe/packages/ui/react/components/Switch/Switch.js +0 -22
  836. package/fe/packages/ui/react/components/Switch/index.d.ts +0 -2
  837. package/fe/packages/ui/react/components/Switch/index.js +0 -1
  838. package/fe/packages/ui/react/components/TableSearch/TableSearch.d.ts +0 -68
  839. package/fe/packages/ui/react/components/TableSearch/TableSearch.js +0 -121
  840. package/fe/packages/ui/react/components/TableSearch/index.d.ts +0 -3
  841. package/fe/packages/ui/react/components/TableSearch/index.js +0 -1
  842. package/fe/packages/ui/react/components/TableSearch/lang.js +0 -14
  843. package/fe/packages/ui/react/components/TableSearch/tableSearchLocaleStore.js +0 -11
  844. package/fe/packages/ui/react/components/Tabs/Tabs.js +0 -19
  845. package/fe/packages/ui/react/components/Tabs/index.d.ts +0 -2
  846. package/fe/packages/ui/react/components/Tabs/index.js +0 -1
  847. package/fe/packages/ui/react/components/Textarea/Textarea.js +0 -37
  848. package/fe/packages/ui/react/components/Textarea/index.d.ts +0 -2
  849. package/fe/packages/ui/react/components/Textarea/index.js +0 -1
  850. package/fe/packages/ui/react/components/Tooltip/Tooltip.js +0 -79
  851. package/fe/packages/ui/react/components/Tooltip/index.d.ts +0 -2
  852. package/fe/packages/ui/react/components/Tooltip/index.js +0 -1
  853. package/fe/packages/ui/react/components/TreeSelect/TreeSelect.js +0 -160
  854. package/fe/packages/ui/react/components/TreeSelect/index.d.ts +0 -2
  855. package/fe/packages/ui/react/components/TreeSelect/index.js +0 -1
  856. package/fe/packages/ui/react/components/Upload/ImageUpload.js +0 -75
  857. package/fe/packages/ui/react/components/Upload/Upload.d.ts +0 -41
  858. package/fe/packages/ui/react/components/Upload/Upload.js +0 -7
  859. package/fe/packages/ui/react/components/Upload/index.d.ts +0 -3
  860. package/fe/packages/ui/react/components/Upload/index.js +0 -2
  861. package/fe/packages/ui/react/components/breadcrumb/breadcrumb.js +0 -81
  862. package/fe/packages/ui/react/components/breadcrumb/index.d.ts +0 -2
  863. package/fe/packages/ui/react/components/breadcrumb/index.js +0 -1
  864. package/fe/packages/ui/react/components/hooks/useDropdownPositioning.js +0 -137
  865. package/fe/packages/ui/react/components/hooks/useInputController.js +0 -44
  866. package/fe/packages/ui/react/components/index.d.ts +0 -36
  867. package/fe/packages/ui/react/components/index.js +0 -35
  868. package/fe/packages/ui/react/components/table/index.d.ts +0 -2
  869. package/fe/packages/ui/react/components/table/index.js +0 -1
  870. package/fe/packages/ui/react/components/table/table.js +0 -116
  871. package/fe/packages/ui/react/components/testPage/MenuTestPage.js +0 -104
  872. package/fe/packages/ui/react/components/testPage/index.js +0 -475
  873. package/fe/packages/ui/react/hooks/useBreadcrumb.js +0 -2
  874. package/fe/packages/ui/react/hooks/useExecuteOnce.d.ts +0 -30
  875. package/fe/packages/ui/react/hooks/useExecuteOnce.js +0 -57
  876. package/fe/packages/ui/react/hooks/useInit.js +0 -9
  877. package/fe/packages/ui/react/hooks/useLanguage.d.ts +0 -2
  878. package/fe/packages/ui/react/hooks/useLanguage.js +0 -4
  879. package/fe/packages/ui/react/hooks/usePagination.js +0 -27
  880. package/fe/packages/ui/react/hooks/useRefState.js +0 -29
  881. package/fe/packages/ui/react/hooks/useWatch.js +0 -87
  882. package/fe/packages/ui/react/hooks/useWatch.test.d.ts +0 -2
  883. package/fe/packages/ui/react/hooks/useWatch.test.js +0 -22
  884. package/fe/packages/ui/react/i18n/I18nProvider.d.ts +0 -31
  885. package/fe/packages/ui/react/i18n/I18nProvider.js +0 -25
  886. package/fe/packages/ui/react/i18n/index.d.ts +0 -4
  887. package/fe/packages/ui/react/i18n/index.js +0 -3
  888. package/fe/packages/ui/react/i18n/useI18n.d.ts +0 -13
  889. package/fe/packages/ui/react/i18n/useI18n.js +0 -18
  890. package/fe/packages/ui/react/index.d.ts +0 -5
  891. package/fe/packages/ui/react/index.js +0 -6
  892. package/fe/packages/ui/react/lib/createStoreHook.js +0 -6
  893. package/fe/packages/ui/react/lib/export.d.ts +0 -66
  894. package/fe/packages/ui/react/lib/export.js +0 -138
  895. package/fe/packages/ui/react/lib/utils.d.ts +0 -34
  896. package/fe/packages/ui/react/lib/utils.js +0 -70
  897. package/fe/packages/ui/react/stores/breadcrumb.js +0 -66
  898. package/fe/packages/ui/react/stores/language.d.ts +0 -4
  899. package/fe/packages/ui/react/stores/language.js +0 -2
  900. package/fe/packages/ui/react/types/index.js +0 -1
  901. package/fe/typings/type.js +0 -1
  902. package/model/test.d.ts +0 -2
  903. package/model/types/data/fetchInfo.d.ts +0 -20
  904. package/model/types/data/schema.d.ts +0 -98
  905. package/types/app/extend/render-view.d.ts +0 -6
  906. package/types/app/middleware/project-handler.d.ts +0 -4
  907. /package/cjs/app/{extend → extends}/$fetch.js +0 -0
  908. /package/cjs/app/{extend → extends}/generateErrorMessage.js +0 -0
  909. /package/cjs/app/{extend → extends}/logger.js +0 -0
  910. /package/cjs/app/{extend → extends}/parsingParamsOnUrl.js +0 -0
  911. /package/fe/packages/{ui/react → react/ui}/assets/table/no-result.svg +0 -0
  912. /package/fe/packages/{ui/react → react/ui}/index.css +0 -0
  913. /package/{fe/model/types/data/fetchInfo.js → model/model/test.d.ts} +0 -0
  914. /package/{fe/packages/common/cache/index.js → model/packages/common/cache/index.d.ts} +0 -0
  915. /package/{fe/packages/common/index.js → model/packages/common/index.d.ts} +0 -0
  916. /package/types/app/{extend → extends}/$fetch.d.ts +0 -0
  917. /package/types/app/{extend → extends}/db.d.ts +0 -0
  918. /package/types/app/{extend → extends}/generateErrorMessage.d.ts +0 -0
  919. /package/types/app/{extend → extends}/logger.d.ts +0 -0
  920. /package/types/app/{extend → extends}/parsingParamsOnUrl.d.ts +0 -0
  921. /package/types/app/{middleware → middlewares}/api-params-verify.d.ts +0 -0
  922. /package/types/app/{middleware → middlewares}/api-sign-verify.d.ts +0 -0
  923. /package/types/app/{middleware → middlewares}/error-handle.d.ts +0 -0
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # @_tc/template-core
2
2
 
3
- TemplateCore 是一个基于 TypeScript、Koa、React 的后台框架包。它把后端约定式加载、前端 Dashboard、Schema CRUD 页面、模型配置和类型扩展放到同一个 npm 包里,项目只需要按目录补充自己的 `app/`、`model/`、`frontend/`。
3
+ TemplateCore 是一个基于 TypeScript、Koa、React 的后台框架包。它把后端约定式加载、前端 Dashboard、Schema CRUD 页面、model 类型和类型扩展放到同一个 npm 包里,项目只需要按目录补充自己的 `app/`、`model/`、`frontend/`。
4
4
 
5
5
  ## 安装
6
6
 
@@ -12,9 +12,11 @@ pnpm add @_tc/template-core
12
12
 
13
13
  - Node.js >= 18
14
14
  - pnpm >= 8
15
- - 使用内置前端时,需要安装 React、Vite peer dependencies
15
+ - 使用内置前端时,需要安装 peer dependencies;完整清单以包内 `package.json` 的 `peerDependencies` 为准,包括 Koa、React、Vite、路由、状态、表单和 UI 相关依赖。
16
16
 
17
- ## 可选:AI Agent Skill
17
+ ## 可选:给项目 AI 助手的文档与 Skill
18
+
19
+ 如果你在项目中让 AI 助手协助开发,可以让它优先读取 npm 包内的 `AGENT_README.md`。安装后的路径通常是 `node_modules/@_tc/template-core/AGENT_README.md`。这份文档面向“协助使用 TemplateCore 的 AI 助手”,覆盖公开入口、最小启动、目录约定、model 配置、前端使用和构建方式。
18
20
 
19
21
  包内附带两份 Agent Skill,本质是可复用的 Agent 指令包,采用渐进式披露(SKILL.md + reference/)结构。
20
22
 
@@ -26,9 +28,9 @@ pnpm add @_tc/template-core
26
28
  如果你的 Agent 支持本地 skills 目录,可以从已安装的 npm 包复制安装。以 Codex 为例:
27
29
 
28
30
  ```bash
29
- mkdir -p “${CODEX_HOME:-$HOME/.codex}/skills
30
- cp -R node_modules/@_tc/template-core/.skills/tc-generator “${CODEX_HOME:-$HOME/.codex}/skills/tc-generator
31
- cp -R node_modules/@_tc/template-core/.skills/tc-component-usage-skills “${CODEX_HOME:-$HOME/.codex}/skills/tc-component-usage-skills
31
+ mkdir -p "${CODEX_HOME:-$HOME/.codex}/skills"
32
+ cp -R node_modules/@_tc/template-core/.skills/tc-generator "${CODEX_HOME:-$HOME/.codex}/skills/tc-generator"
33
+ cp -R node_modules/@_tc/template-core/.skills/tc-component-usage-skills "${CODEX_HOME:-$HOME/.codex}/skills/tc-component-usage-skills"
32
34
  ```
33
35
 
34
36
  安装后重启对应 Agent,让新 skill 生效。使用时可以直接说”用 tc-generator 生成一个商品管理模块”或”用 tc-component-usage-skills 帮我写一个带搜索的分页表格”。
@@ -75,7 +77,7 @@ async function main() {
75
77
  name: 'my-admin',
76
78
  baseDir: join(__dirname, '.'),
77
79
  pageBasePage: '/',
78
- additionalPublicPaths: join(__dirname, 'dist/public'),
80
+ additionalPublicPaths: [join(__dirname, 'dist/public')],
79
81
  })
80
82
 
81
83
  await buildFE('dev')
@@ -97,12 +99,26 @@ main().catch((error) => {
97
99
  | `baseDir` | `string` | 否 | - | 项目根目录,通常为 `join(__dirname, '.')` |
98
100
  | `pageBasePage` | `string` | 否 | `'/'` | 页面访问前缀,所有前端页面路由的基础路径 |
99
101
  | `homePage` | `string` | 否 | - | 应用首页路径 |
100
- | `frameBaseDir` | `string` | 否 | - | 框架根目录,通常不需要手动设置 |
101
- | `additionalPublicPaths` | `string | string[]` | 否 | - | 追加静态资源目录和 Nunjucks 模板查找目录,必须传绝对路径 |
102
+ | `additionalPublicPaths` | `string | string[]` | 否 | - | 追加静态资源目录;如需同时作为 Nunjucks 模板查找目录,建议传绝对路径数组 |
103
+
104
+ 框架会自动读取 `config/config.default.ts` 中的配置(如 `port`、`env`、`auth` 等)。
105
+
106
+ 常用默认配置示例:
107
+
108
+ ```ts
109
+ // config/config.default.ts
110
+ export default {
111
+ port: 9000,
112
+ auth: {
113
+ ATKey: 'Authorization',
114
+ RTKey: 'RT',
115
+ },
116
+ }
117
+ ```
102
118
 
103
- 框架会自动读取 `config/config.default.ts` 中的配置(如 `port`、`env` 等)。
119
+ `auth.ATKey` / `auth.RTKey` 用于约定业务鉴权中间件读取短 token 和刷新 token 的 header 名;默认分别为 `Authorization` 和 `RT`。
104
120
 
105
- 静态资源挂载和 Nunjucks 模板查找顺序均为:框架 `app/public`、项目 `app/public`、`additionalPublicPaths`。当 `buildFE` 输出到自定义目录时,可以用 `additionalPublicPaths` 把该目录交给 Koa 提供静态资源访问和模板渲染。
121
+ 静态资源挂载顺序为:项目 `app/public`、框架 `app/public`、`additionalPublicPaths`。Nunjucks 模板查找顺序为:项目 `app/public/dist`、框架 `app/public/dist`、`additionalPublicPaths/dist`。这些目录由 `app.publicsPath` 统一维护。当 `buildFE` 输出到自定义目录时,可以用 `additionalPublicPaths` 把该目录交给 Koa 提供静态资源访问和模板渲染;如果需要模板查找也命中追加目录,请传绝对路径数组。
106
122
 
107
123
  ### buildFE 参数说明
108
124
 
@@ -111,27 +127,34 @@ buildFE(mode: 'dev' | 'prod', options?: BuildFEOptions)
111
127
  ```
112
128
 
113
129
  **mode**:构建模式
114
- - `'dev'`:开发模式,启动 Vite 开发服务器,支持热更新
130
+ - `'dev'`:开发模式,构建一次并监听业务 `frontend/` 变化后重建
115
131
  - `'prod'`:生产模式,构建优化后的静态资源
116
132
 
117
133
  **options.output**:构建输出位置
118
- - `'frame'`(默认):输出到框架包内的 `node_modules/@_tc/template-core/app/public/dist`
134
+ - `'frame'`(默认):输出到当前导入格式对应的框架静态目录,例如 `node_modules/@_tc/template-core/esm/app/public/dist` 或 `node_modules/@_tc/template-core/cjs/app/public/dist`
119
135
  - `'run'`:输出到项目根目录的 `app/public/dist`,适合 TypeScript 编译后的项目
120
- - `() => string`:自定义函数,返回输出目录的绝对路径
136
+ - `() => string`:自定义函数,返回输出目录;建议返回绝对路径
137
+
138
+ **options.minifyHtml**:是否压缩 Vite 输出的 HTML 内容后再写出最终 `.tpl` / `.html` 文件,默认 `false`
139
+
140
+ 构建完成后会在输出目录写入 `FEBuildKey`。服务端渲染 HTML 时会读取 `public/dist/FEBuildKey`,构建 key 变化后自动清空本地 HTML ETag 缓存。
121
141
 
122
142
  示例:
123
143
 
124
144
  ```ts
125
145
  // 开发模式,默认输出到框架包
126
- buildFE('dev')
146
+ await buildFE('dev')
127
147
 
128
148
  // 生产模式,输出到项目目录
129
- buildFE('prod', { output: 'run' })
149
+ await buildFE('prod', { output: 'run' })
130
150
 
131
151
  // 自定义输出路径
132
- buildFE('prod', {
152
+ await buildFE('prod', {
133
153
  output: () => join(__dirname, 'dist/public')
134
154
  })
155
+
156
+ // 压缩最终模板输出
157
+ await buildFE('prod', { minifyHtml: true })
135
158
  ```
136
159
 
137
160
  配置文件:
@@ -151,17 +174,62 @@ http://localhost:9000/dash?projk=demo
151
174
 
152
175
  `projk` 对应 `model/{modelKey}/project/{projectKey}.ts` 里的 `projectKey`。
153
176
 
154
- ## 公开入口
177
+ ## 常用公开入口
178
+
179
+ 完整 exports 以发布包内 `package.json` 为准,除下表外还包含 `./fe/main`、`./fe/*`、`./fe/rc/*`、`./fe/rc/hooks/*` 等子路径。
155
180
 
156
181
  | 入口 | 用途 |
157
182
  | --- | --- |
158
183
  | `@_tc/template-core` | 服务启动、基础 Controller/Service、Koa 类型 |
159
- | `@_tc/template-core/bundler` | 前端构建函数 `buildFE` |
184
+ | `@_tc/template-core/bundler` | 构建入口,提供前端资源构建 `buildFE` 和消费方 Node/backend 构建 `buildBE` |
160
185
  | `@_tc/template-core/fe` | 前端初始化、Dash 路由扩展、请求方法、SchemaPage 事件、共享状态和内置前端组件 |
161
186
  | `@_tc/template-core/fe/rc` | UI/SchemaForm 组件和类型 |
162
187
  | `@_tc/template-core/fe/tailwind_ui.css` | 前端全局样式入口,源码对应 `frontend/src/main.css` |
163
188
  | `@_tc/template-core/model` | model 配置类型 |
164
189
 
190
+ ### 后端类型
191
+
192
+ `@_tc/template-core` 会导出常用 Node 侧类型,业务项目写 `app/*` 文件时建议优先复用这些类型。
193
+
194
+ | 类型 | 使用场景 |
195
+ | --- | --- |
196
+ | `Ctx` | Controller、middleware、router handler 的 Koa 请求上下文类型,包含框架补充的 `ctx.params` 和可选 `ctx.reqData`。 |
197
+ | `ControllerFN` | `app/controller/*.ts` 默认导出工厂函数的约束类型,适合配合 `satisfies ControllerFN` 保留 controller 实例方法类型。 |
198
+ | `ServiceFN` | `app/service/*.ts` 默认导出工厂函数的约束类型,适合配合 `satisfies ServiceFN` 约束 service class 工厂。 |
199
+ | `MiddlewareFN` | `app/middlewares/*.ts` 默认导出工厂函数的约束类型,返回标准 Koa middleware。 |
200
+ | `RouterFN` | `app/router/*.ts` 默认导出函数的约束类型,用于接收 `app` 和 `router` 并注册路由。 |
201
+
202
+ 示例:
203
+
204
+ ```ts
205
+ import { baseFn, type ControllerFN, type Ctx, type MiddlewareFN, type RouterFN, type ServiceFN } from '@_tc/template-core'
206
+
207
+ export const getDemoController = ((app) => {
208
+ const BaseController = baseFn.baseControllerFn(app)
209
+
210
+ return class DemoController extends BaseController {
211
+ list = async (ctx: Ctx) => {
212
+ this.success(ctx, ctx.reqData?.data ?? {})
213
+ }
214
+ }
215
+ }) satisfies ControllerFN
216
+
217
+ export const getDemoService = ((app) => {
218
+ return class DemoService {
219
+ readonly app = app
220
+ }
221
+ }) satisfies ServiceFN
222
+
223
+ export const demoMiddleware = ((app) => async (ctx, next) => {
224
+ app.extends.logger?.info(ctx.path)
225
+ await next()
226
+ }) satisfies MiddlewareFN
227
+
228
+ export const demoRouter = ((app, router) => {
229
+ router.get(`${app.options.apiPrefix}/demo/list`, app.controller.demo.list)
230
+ }) satisfies RouterFN
231
+ ```
232
+
165
233
  ## 样式与 Tailwind V4
166
234
 
167
235
  使用内置前端或 UI 组件时,需要引入包内样式。默认 `@_tc/template-core/fe` 的 `initApp` 会经过源码入口 `frontend/src/main.tsx` 引入 `frontend/src/main.css`;如果项目侧自定义入口、只使用 `fe/rc` 组件,或希望样式入口更明确,建议显式引入:
@@ -219,7 +287,7 @@ VS Code 建议安装官方 Tailwind CSS IntelliSense 插件,并在工作区 `.
219
287
  ## 内置功能
220
288
 
221
289
  - Koa 服务启动:`serverStart(options)`。
222
- - 约定式加载:自动加载 `config`、`extend`、`router-schema`、`service`、`controller`、`middleware`、`router`。
290
+ - 约定式加载:自动加载 `config`、`extends`、`router-schema`、`service`、`controller`、`middlewares`、根级 `middleware`、`router`。
223
291
  - 双层 app:框架内置 `app/` 和项目 `app/` 一起加载。
224
292
  - 默认项目接口:
225
293
  - `GET /api/project/model_list`
@@ -231,7 +299,7 @@ VS Code 建议安装官方 Tailwind CSS IntelliSense 插件,并在工作区 `.
231
299
  - Schema CRUD:根据 `model` 中的 `schemaConfig` 生成搜索、表格、新增、编辑、详情。
232
300
  - 内置 UI 组件:提供丰富的 React 组件库,详见下方"内置 UI 组件"章节。
233
301
  - API 中间件:错误处理、静态资源、body parser、项目上下文、接口签名、参数校验。
234
- - 前端构建:扫描 `frontend/**/*.entry.{ts,tsx,js,jsx}`,输出服务端可渲染的 `.entry.tpl`。
302
+ - 前端构建:扫描框架和项目的 `frontend/**/*.entry.{ts,tsx,js,jsx}`,输出服务端可渲染的 `.entry.tpl`,并写入 `FEBuildKey` 供 HTML ETag 缓存失效使用。
235
303
  - 类型扩展:支持扩展 SchemaForm、CallCom、KoaApp。
236
304
 
237
305
  ## 前端公共能力
@@ -240,6 +308,7 @@ VS Code 建议安装官方 Tailwind CSS IntelliSense 插件,并在工作区 `.
240
308
 
241
309
  ```ts
242
310
  import {
311
+ api,
243
312
  apiFreezerStore,
244
313
  AsyncSelect,
245
314
  eventsInfo,
@@ -259,12 +328,18 @@ import {
259
328
  } from '@_tc/template-core/fe'
260
329
 
261
330
  import type {
331
+ BaseResponse,
262
332
  CallComComponentsMap,
263
333
  CallComRenderer,
264
334
  DashComponentsMap,
335
+ DashRouteGuard,
265
336
  DashRoutesExtender,
266
337
  FormFieldSchema,
267
338
  ApiFreezerRequestMatcher,
339
+ PageParams,
340
+ PageResponse,
341
+ RequestConfig,
342
+ ResponseConfig,
268
343
  SchemaFormComponentsMap,
269
344
  SchemaFormNamespace,
270
345
  SelectProps,
@@ -277,24 +352,27 @@ import type {
277
352
  | --- | --- |
278
353
  | 应用启动 | `initApp` |
279
354
  | 内置前端组件 | `AsyncSelect`、`LanguageSwitch`、`ThemeSwitch` |
280
- | Dash 扩展类型 | `DashRoutesExtender`、`DashRoutesContext`、`DashComponentsMap`、`DashHeaderUserAreaProps` |
355
+ | Dash 扩展类型 | `DashRoutesExtender`、`DashRoutesContext`、`DashComponentsMap`、`DashHeaderUserAreaProps`、`DashRouteGuard` |
281
356
  | SchemaPage 类型 | `CallComComponentsMap`、`CallComRenderer` |
282
357
  | SchemaForm 类型 | `FormFieldSchema`、`SchemaFormComponentsMap`、`SchemaFormNamespace`、`SelectProps` |
283
- | 请求方法 | `request`、`get`、`post`、`put`、`patch`、`del` |
358
+ | 请求方法 | `api`、`request`、`get`、`post`、`put`、`patch`、`del` |
359
+ | 请求类型 | `BaseResponse`、`PageParams`、`PageResponse`、`RequestConfig`、`ResponseConfig`、`AxiosError` |
284
360
  | 请求冻结 | `apiFreezerStore`、`useApiFreezer`、`FreezeState`、`ApiFreezerRequestMatcher` |
285
361
  | 事件工具 | `eventsInfo`、`merge` |
286
362
  | 共享状态 | `modeStore`、`useModeStore`、`schemaStore`、`useSchemaStore`、`schemaEventBus` |
287
363
 
288
364
  `modeStore` 管项目模型和当前项目数据,`schemaStore` 管当前 Schema 页面的 schema/cache,`schemaEventBus` 用来在 Search、Table、CallCom 之间通信。
289
365
 
366
+ 只使用请求层时,也可以从 `@_tc/template-core/fe/common/request` 导入 `api`、请求方法和请求类型;这是发布包显式子路径,不要下钻到 `frontend/src/common/request`。
367
+
290
368
  ### 前端多语言
291
369
 
292
- TemplateCore 前端复用 `@tc/ui-react/i18n`。框架内置中文、英文资源,项目可以继续追加自己的资源。
370
+ TemplateCore 前端通过 `@_tc/template-core/fe` 暴露 i18n 能力。框架内置中文、英文资源,项目可以继续追加自己的资源。
293
371
 
294
372
  **追加自定义语言资源**:
295
373
 
296
374
  ```ts
297
- import { i18nStore } from '@tc/ui-react/i18n'
375
+ import { i18nStore } from '@_tc/template-core/fe'
298
376
 
299
377
  i18nStore.getState().addResources('zh-CN', {
300
378
  business: {
@@ -380,7 +458,7 @@ const title = '$i18n::business.product.createTitle'
380
458
  **切换语言**:
381
459
 
382
460
  ```ts
383
- import { i18nStore } from '@tc/ui-react/i18n'
461
+ import { i18nStore } from '@_tc/template-core/fe'
384
462
 
385
463
  i18nStore.getState().setLanguage('en-US')
386
464
  i18nStore.getState().setLanguage('zh-CN')
@@ -398,7 +476,7 @@ export function Toolbar() {
398
476
  }
399
477
  ```
400
478
 
401
- `LanguageSwitch` 默认提供 `zh-CN` 和 `en-US`,也支持传入 `options` 覆盖语言列表。组件内部会调用 `i18nStore.getState().setLanguage()`,因此会沿用 `tc_language` 的持久化行为。
479
+ `LanguageSwitch` 默认提供 `zh-CN` 和 `en-US`,也支持传入 `options` 覆盖语言列表。组件当前是按钮 + 下拉菜单形态,`option.label` 支持 ReactNode,`buttonClassName` 可自定义触发按钮样式。组件内部会调用 `i18nStore.getState().setLanguage()`,因此会沿用 `tc_language` 的持久化行为。
402
480
 
403
481
  **AJV 校验文案**:
404
482
 
@@ -459,6 +537,8 @@ export function Toolbar() {
459
537
  }
460
538
  ```
461
539
 
540
+ `Authorization` 默认对应服务端配置 `config.auth.ATKey`。前端本地 token 存在 `localStorage.auth_token`,项目 key 存在 `localStorage.p_J_k`;刷新 token header 名预留为 `config.auth.RTKey`,默认是 `RT`。
541
+
462
542
  **签名机制**:
463
543
  - 签名密钥:服务端从 `app.config.signKey` 读取,并在页面渲染时注入为 `window._signKey`
464
544
  - 签名算法:`md5(签名密钥_${时间戳})`
@@ -474,7 +554,8 @@ export function Toolbar() {
474
554
  **使用示例**:
475
555
 
476
556
  ```ts
477
- import { get, post, put, del } from '@_tc/template-core/fe'
557
+ import { api, get, post, put, del } from '@_tc/template-core/fe'
558
+ import type { BaseResponse, RequestConfig, ResponseConfig } from '@_tc/template-core/fe'
478
559
 
479
560
  // GET 请求
480
561
  const data = await get('/product/list', { page: 1, pageSize: 10 })
@@ -489,6 +570,22 @@ await put('/product', { id: 1, name: '新名称' })
489
570
  await del('/product', { id: 1 })
490
571
  ```
491
572
 
573
+ 如果希望把请求能力单独拆出来导入:
574
+
575
+ ```ts
576
+ import {
577
+ api,
578
+ get,
579
+ post,
580
+ request,
581
+ } from '@_tc/template-core/fe/common/request'
582
+ import type {
583
+ BaseResponse,
584
+ RequestConfig,
585
+ ResponseConfig,
586
+ } from '@_tc/template-core/fe/common/request'
587
+ ```
588
+
492
589
  **请求冻结器**:
493
590
 
494
591
  请求冻结器用于在某段流程中暂停普通 API 请求,典型场景是 RT 刷新 token:刷新期间冻结其它请求,刷新接口本身走白名单放行,刷新完成后再解冻并回放队列。
@@ -536,7 +633,7 @@ try {
536
633
  | 组件 | 用途 | 导入路径 |
537
634
  | --- | --- | --- |
538
635
  | `Button` | 按钮组件,支持多种样式和尺寸 | `@_tc/template-core/fe/rc` |
539
- | `Input` | 输入框组件 | `@_tc/template-core/fe/rc` |
636
+ | `Input` | 输入框组件,支持清空、右侧附加内容和密码显隐 | `@_tc/template-core/fe/rc` |
540
637
  | `InputNumber` | 数字输入框组件 | `@_tc/template-core/fe/rc` |
541
638
  | `Textarea` | 多行文本输入框组件 | `@_tc/template-core/fe/rc` |
542
639
  | `Select` | 下拉选择组件,支持单选和多选 | `@_tc/template-core/fe/rc` |
@@ -579,7 +676,7 @@ try {
579
676
  | --- | --- | --- |
580
677
  | `Modal` | 模态框组件 | `@_tc/template-core/fe/rc` |
581
678
  | `Drawer` | 抽屉组件 | `@_tc/template-core/fe/rc` |
582
- | `Message` | 消息提示组件 | `@_tc/template-core/fe/rc` |
679
+ | `message` | 消息提示方法 | `@_tc/template-core/fe/rc` |
583
680
  | `Notification` | 通知组件 | `@_tc/template-core/fe/rc` |
584
681
  | `ConfirmDialog` | 确认对话框组件 | `@_tc/template-core/fe/rc` |
585
682
  | `Popup` | 弹出层组件 | `@_tc/template-core/fe/rc` |
@@ -619,6 +716,7 @@ function MyComponent() {
619
716
  </Button>
620
717
 
621
718
  <Input placeholder="请输入内容" />
719
+ <Input type="password" placeholder="请输入密码" />
622
720
 
623
721
  <Select
624
722
  options={[
@@ -643,20 +741,40 @@ function MyComponent() {
643
741
  ```text
644
742
  app/controller/**/*.(js|ts) -> app.controller
645
743
  app/service/**/*.(js|ts) -> app.service
646
- app/middleware/**/*.(js|ts) -> app.middlewares
744
+ app/middlewares/**/*.(js|ts) -> app.middlewares
745
+ app/middleware.(js|ts) -> 全局中间件编排,按框架 -> 项目顺序执行
647
746
  app/router/**/*.(js|ts) -> Koa router
648
747
  app/router-schema/**/*.(js|ts) -> app.routerSchema
649
- app/extend/*.(js|ts) -> app.extends
748
+ app/extends/*.(js|ts) -> app.extends
650
749
  config/config.default.(js|ts) -> app.config
651
750
  config/config.{env}.(js|ts) -> app.config
652
- model/**/*.(js|ts) -> 项目模型配置
751
+ model/**/*.(js|ts) -> 内置 project service 按需读取的项目模型配置
653
752
  ```
654
753
 
655
754
  内置扩展:
656
755
 
657
756
  - `app.extends.$fetch`:Node 侧基于 `fetch` 的 axios 风格请求实例,支持 `get/post/put/patch/delete` 和 `create(config)`。
757
+ - `app.extends.crypto`:Node 侧加密辅助方法,支持 base64url 编解码、HMAC 签名、签名 payload 和常量时间比较。
658
758
  - `app.extends.db`:默认 SQLite 框架数据库,提供 `getDBData/setDBData` 等通用数据方法。
659
759
 
760
+ API controller 可以通过 `ctx.reqData` 读取统一请求参数:
761
+
762
+ ```ts
763
+ const { query, body, headers, data } = ctx.reqData ?? {
764
+ query: {},
765
+ body: undefined,
766
+ headers: {},
767
+ data: {},
768
+ }
769
+ ```
770
+
771
+ - `query` 来自 `ctx.query`。
772
+ - `body` 来自 `ctx.request.body`。
773
+ - `headers` 来自 `ctx.headers`。
774
+ - `data` 是便捷合并层,当前按 `query -> body` 顺序合并;字段冲突时 body 覆盖 query。
775
+
776
+ `ctx.reqData` 只在 API 请求中由内置中间件注入,类型上是可选字段。router params 不在 `reqData` 里,仍然从 `ctx.params` 获取。
777
+
660
778
  ### 数据库扩展
661
779
 
662
780
  默认 `app.extends.db` 使用 SQLite 保存数据,数据库文件位于项目根目录 `.template-core/template-core.sqlite`。可以在配置中调整路径:
@@ -718,6 +836,36 @@ SQL 注入边界:
718
836
  - `queryDB`、`runDB`、`getDBFirst` 是原始 SQL 入口,用户输入必须放到 `params`,不要拼接到 SQL 字符串里。
719
837
  - `execDB` 没有参数绑定能力,只建议用于固定 SQL,例如建表或迁移。
720
838
 
839
+ ### 加密扩展
840
+
841
+ `app.extends.crypto` 默认使用 `app.config.signKey` 作为签名密钥,适合生成登录 token、接口签名和安全比较。
842
+
843
+ 常用方法:
844
+
845
+ - `base64urlEncode(value)`:把字符串或二进制数据编码为 base64url。
846
+ - `base64urlDecode(value)`:把 base64url 解码回 UTF-8 字符串。
847
+ - `base64urlDecodeToBuffer(value)`:把 base64url 解码回 Buffer。
848
+ - `hmacSign(payload, options)`:对文本做 HMAC 签名,默认算法 `sha256`。
849
+ - `safeEqual(left, right)`:常量时间比较字符串。
850
+ - `createSignedPayload(payload, options)`:生成 `payload.signature` 形式的签名串。
851
+ - `verifySignedPayload(token, options)`:验证并解析签名串,失败返回 `null`。
852
+
853
+ ```ts
854
+ const token = app.extends.crypto.createSignedPayload({
855
+ account: 'admin',
856
+ exp: Date.now() + 1000 * 60 * 60 * 24 * 7,
857
+ iat: Date.now(),
858
+ })
859
+
860
+ const payload = app.extends.crypto.verifySignedPayload<{
861
+ account: string
862
+ exp: number
863
+ iat: number
864
+ }>(token)
865
+
866
+ const same = app.extends.crypto.safeEqual('abc', 'abc')
867
+ ```
868
+
721
869
  ```ts
722
870
  // 推荐:参数绑定
723
871
  const users = app.extends.db.queryDB(
@@ -731,10 +879,10 @@ const unsafeUsers = app.extends.db.queryDB(
731
879
  )
732
880
  ```
733
881
 
734
- 业务项目可以用自己的 `app/extend/db.ts` 覆盖默认实现。建议保留同一组方法名,这样 controller/service 调用方不用调整。
882
+ 业务项目可以用自己的 `app/extends/db.ts` 覆盖默认实现。建议保留同一组方法名,这样 controller/service 调用方不用调整。
735
883
 
736
884
  ```ts
737
- // app/extend/db.ts
885
+ // app/extends/db.ts
738
886
  import type { DB, DBFactory } from '@_tc/template-core'
739
887
 
740
888
  interface DataOptions {
@@ -842,6 +990,22 @@ export default (app: KoaApp, router: Router) => {
842
990
  }
843
991
  ```
844
992
 
993
+ 路由挂载顺序:
994
+
995
+ - 每个 `app/router/*.ts` 文件都会获得独立的 `koa-router` 实例。
996
+ - 可以通过 `router.level = number` 控制挂载顺序,数值越小越早挂载。
997
+ - 默认 `level` 是 `0`,框架兜底 router 是 `99`。
998
+ - 通配、兜底、重定向类路由建议设置较大的 `level`,避免抢先匹配业务 API。
999
+
1000
+ ```ts
1001
+ import type { KoaApp, Router } from '@_tc/template-core'
1002
+
1003
+ export default (app: KoaApp, router: Router) => {
1004
+ router.level = 10
1005
+ router.get('/api/fallback/:id', app.controller.fallback.detail)
1006
+ }
1007
+ ```
1008
+
845
1009
  ## model 数据如何配置
846
1010
 
847
1011
  `model` 是后台菜单、项目和 Schema 页面的数据源。框架会读取:
@@ -1118,6 +1282,29 @@ DELETE {api} -> 删除
1118
1282
 
1119
1283
  `$schema::字段名` 表示从当前表格行读取字段值,常用于删除按钮参数。
1120
1284
 
1285
+ ### 服务端兜底路由守卫
1286
+
1287
+ 业务项目可以创建 `app/router-guard.ts` 或 `app/router-guard.js`。它只在所有正常 `app/router/*` 路由都没有命中时执行。
1288
+
1289
+ ```ts
1290
+ import type { Ctx, KoaApp } from '@_tc/template-core'
1291
+
1292
+ export default (_app: KoaApp) => {
1293
+ return (ctx: Ctx) => {
1294
+ if (ctx.path.startsWith('/api/')) {
1295
+ return {
1296
+ status: 404,
1297
+ body: { code: 404, message: `${ctx.path} not found` },
1298
+ }
1299
+ }
1300
+
1301
+ return '/dash'
1302
+ }
1303
+ }
1304
+ ```
1305
+
1306
+ 返回字符串会 `ctx.redirect()`;返回 `{ status, body }` 会直接设置响应;无返回则使用框架默认兜底:API 路径返回 HTTP 200 + `{ code: 404, message }`,非 API 路径返回 HTTP 404 + `notFound`。
1307
+
1121
1308
  ## 如何扩展组件
1122
1309
 
1123
1310
  ### 扩展 Dashboard 顶部用户区域
@@ -1141,6 +1328,28 @@ export default components
1141
1328
 
1142
1329
  - `HeaderView.userArea`:Dashboard 顶部右侧区域。
1143
1330
 
1331
+ ### 扩展 Dashboard 登录守卫
1332
+
1333
+ 业务项目可以创建 `frontend/extended/dash/routeGuard.ts`,用于在 Dashboard 内置 `homePage` / 首菜单重定向前做登录判断。
1334
+
1335
+ ```ts
1336
+ // frontend/extended/dash/routeGuard.ts
1337
+ import type { DashRouteGuard } from '@_tc/template-core/fe'
1338
+
1339
+ const dashRouteGuard: DashRouteGuard = ({ isLoggedIn }) => {
1340
+ if (!isLoggedIn) return '/login'
1341
+ }
1342
+
1343
+ export default dashRouteGuard
1344
+ ```
1345
+
1346
+ 返回值规则:
1347
+
1348
+ - 返回 `string`:框架使用 `window.location.href` 跳转,登录页不需要在 Dash 路由下。
1349
+ - 返回非 `string`:中断 Dashboard 内置重定向,业务方可自行跳转或处理提示。
1350
+ - `DashRouteGuardResult` 是 `string | undefined`;`undefined`(包括已登录分支的隐式返回)也会打断 Dashboard 内置重定向。
1351
+ - 没有业务 `routeGuard` 文件时,框架使用兜底空对象,不影响默认 Dashboard 重定向。
1352
+
1144
1353
  ### 扩展 SchemaForm 字段组件
1145
1354
 
1146
1355
  1. 声明字段类型。
@@ -1472,6 +1681,55 @@ frontend/admin/admin.entry.tsx
1472
1681
 
1473
1682
  入口文件名必须包含 `.entry.`,构建器才会扫描。
1474
1683
 
1684
+ 最小入口示例:
1685
+
1686
+ ```tsx
1687
+ // frontend/admin/admin.entry.tsx
1688
+ import { initApp } from '@_tc/template-core/fe'
1689
+ import type { ReactNode } from 'react'
1690
+
1691
+ const AdminApp = ({ children }: { children: ReactNode }) => (
1692
+ <main>{children}</main>
1693
+ )
1694
+
1695
+ initApp(AdminApp, {
1696
+ initModeData: false,
1697
+ })
1698
+ ```
1699
+
1700
+ 如果需要给页面加额外 `meta`、预连接资源或启动脚本,可以在入口同目录放 `.html` 插槽文件。这个文件不是完整 HTML,只能包含 `tc-slot` 块:
1701
+
1702
+ ```html
1703
+ <!-- frontend/admin/admin.html -->
1704
+ <!-- tc-slot:head -->
1705
+ <meta name="description" content="Admin Console" />
1706
+ <link rel="preconnect" href="https://example.com" />
1707
+ <!-- /tc-slot:head -->
1708
+
1709
+ <!-- tc-slot:body-before-root -->
1710
+ <div id="boot-mask"></div>
1711
+ <!-- /tc-slot:body-before-root -->
1712
+
1713
+ <!-- tc-slot:body-after-root -->
1714
+ <script>
1715
+ window.__ADMIN_BOOT_TIME__ = Date.now()
1716
+ </script>
1717
+ <!-- /tc-slot:body-after-root -->
1718
+ ```
1719
+
1720
+ 命名规则:
1721
+
1722
+ ```text
1723
+ frontend/admin/admin.entry.tsx
1724
+ frontend/admin/admin.html yes
1725
+
1726
+ frontend/report/index.entry.tsx
1727
+ frontend/report/index.html yes
1728
+ frontend/report/report.html yes
1729
+ ```
1730
+
1731
+ 不要在插槽文件里写 `<!DOCTYPE html>`、`<html>`、`<body>` 或 `<div id="root"></div>`。页面外壳由 TemplateCore 的 `app/view/entry.tpl` 统一生成,`window._basePath`、`window._projKey`、`window._signKey`、`window.appOptions` 也由它注入。
1732
+
1475
1733
  扩展 Dashboard 路由:
1476
1734
 
1477
1735
  ```tsx
@@ -1517,30 +1775,193 @@ model 中用 `custom` 菜单指向自定义路径:
1517
1775
  }
1518
1776
  ```
1519
1777
 
1520
- ## 构建
1778
+ ## 前端构建 buildFE
1521
1779
 
1522
1780
  开发构建:
1523
1781
 
1524
1782
  ```ts
1525
1783
  import { buildFE } from '@_tc/template-core/bundler'
1526
1784
 
1527
- buildFE('dev')
1785
+ await buildFE('dev')
1528
1786
  ```
1529
1787
 
1530
1788
  生产构建:
1531
1789
 
1532
1790
  ```ts
1533
- buildFE('prod')
1791
+ await buildFE('prod')
1534
1792
  ```
1535
1793
 
1536
- 默认输出到框架包的 `app/public/dist`。如果要输出到项目:
1794
+ 默认输出到当前导入格式对应的框架静态目录,例如 `esm/app/public/dist` 或 `cjs/app/public/dist`。如果要输出到项目:
1537
1795
 
1538
1796
  ```ts
1539
- buildFE('prod', {
1797
+ await buildFE('prod', {
1540
1798
  output: 'run',
1541
1799
  })
1542
1800
  ```
1543
1801
 
1802
+ 也可以压缩最终模板输出:
1803
+
1804
+ ```ts
1805
+ await buildFE('prod', {
1806
+ minifyHtml: true,
1807
+ })
1808
+ ```
1809
+
1810
+ 构建完成后会在输出目录写入 `FEBuildKey`,服务端渲染 HTML 时会用它判断本地 HTML ETag 缓存是否需要清空。
1811
+
1812
+ ## Node/backend 构建 buildBE
1813
+
1814
+ 消费方 Node/backend 侧构建使用 `buildBE()`。它复用发布包内的 `scripts/vite-build/buildEntries`,只是提供消费方默认配置。
1815
+
1816
+ 最小用法:
1817
+
1818
+ ```ts
1819
+ import { buildBE } from '@_tc/template-core/bundler'
1820
+
1821
+ await buildBE()
1822
+ ```
1823
+
1824
+ 消费方脚本示例:
1825
+
1826
+ ```js
1827
+ // scripts/build-be.mjs
1828
+ import { buildBE } from '@_tc/template-core/bundler'
1829
+
1830
+ await buildBE({
1831
+ rootDir: process.cwd(),
1832
+ input: ['index.ts', 'index.js', 'app', 'config', 'model'],
1833
+ outDir: 'dist',
1834
+ format: 'cjs',
1835
+ alias: {
1836
+ '@app': './app',
1837
+ '@model': './model',
1838
+ },
1839
+ })
1840
+ ```
1841
+
1842
+ ```json
1843
+ {
1844
+ "scripts": {
1845
+ "build:be": "node scripts/build-be.mjs"
1846
+ }
1847
+ }
1848
+ ```
1849
+
1850
+ 监听文件变化并重新构建:
1851
+
1852
+ ```js
1853
+ // scripts/watch-be.mjs
1854
+ import chokidar from 'chokidar'
1855
+ import { buildBE } from '@_tc/template-core/bundler'
1856
+
1857
+ const input = ['index.ts', 'index.js', 'app', 'config', 'model']
1858
+
1859
+ let building = false
1860
+ let pending = false
1861
+
1862
+ async function runBuild() {
1863
+ if (building) {
1864
+ pending = true
1865
+ return
1866
+ }
1867
+
1868
+ building = true
1869
+
1870
+ try {
1871
+ console.log('[buildBE] building...')
1872
+ await buildBE({
1873
+ rootDir: process.cwd(),
1874
+ input,
1875
+ outDir: 'dist',
1876
+ format: 'cjs',
1877
+ alias: {
1878
+ '@app': './app',
1879
+ '@model': './model',
1880
+ },
1881
+ })
1882
+ console.log('[buildBE] done')
1883
+ } catch (error) {
1884
+ console.error('[buildBE] failed')
1885
+ console.error(error)
1886
+ } finally {
1887
+ building = false
1888
+
1889
+ if (pending) {
1890
+ pending = false
1891
+ await runBuild()
1892
+ }
1893
+ }
1894
+ }
1895
+
1896
+ await runBuild()
1897
+
1898
+ chokidar
1899
+ .watch(input, {
1900
+ ignored: ['dist/**', 'node_modules/**'],
1901
+ ignoreInitial: true,
1902
+ })
1903
+ .on('all', async (_event, filePath) => {
1904
+ console.log(`[buildBE] changed: ${filePath}`)
1905
+ await runBuild()
1906
+ })
1907
+ ```
1908
+
1909
+ ```json
1910
+ {
1911
+ "scripts": {
1912
+ "build:be": "node scripts/build-be.mjs",
1913
+ "build:be:watch": "node scripts/watch-be.mjs"
1914
+ },
1915
+ "devDependencies": {
1916
+ "chokidar": "^4.0.3"
1917
+ }
1918
+ }
1919
+ ```
1920
+
1921
+ 默认会在当前工作目录构建这些入口:
1922
+
1923
+ ```ts
1924
+ ['index.ts', 'index.js', 'app', 'config', 'model']
1925
+ ```
1926
+
1927
+ 不存在的默认入口会自动跳过;如果没有任何匹配源码,构建仍会失败。输出到 `dist`,格式为 `cjs`。默认 `outputStructure: "preserve"` 按源路径输出,`bundleDependencies: false` 会 external Node 内置模块和 npm 包,不会把依赖打进产物。`buildBE` 会按同一组 input 扫描并复制内置白名单资源扩展,主要覆盖 `app`、`config`、`model` 目录。
1928
+
1929
+ 常见配置:
1930
+
1931
+ ```ts
1932
+ await buildBE({
1933
+ input: ['app', 'config', 'model'],
1934
+ outDir: 'dist',
1935
+ format: ['es', 'cjs'],
1936
+ alias: {
1937
+ '@app': './app',
1938
+ '@model': './model',
1939
+ },
1940
+ })
1941
+ ```
1942
+
1943
+ 如果需要声明文件:
1944
+
1945
+ ```ts
1946
+ await buildBE({
1947
+ dts: {
1948
+ outDir: 'types',
1949
+ tsconfig: 'tsconfig.json',
1950
+ },
1951
+ })
1952
+ ```
1953
+
1954
+ `buildEntries()` 底层默认生成 d.ts,但 `buildBE()` 默认关闭声明文件;需要时按上面这样显式传 `dts`。
1955
+
1956
+ 如果传入自定义 `input`,缺失路径默认会报错;需要跳过时显式打开:
1957
+
1958
+ ```ts
1959
+ await buildBE({
1960
+ input: ['app', 'config', 'model'],
1961
+ allowMissingInput: true,
1962
+ })
1963
+ ```
1964
+
1544
1965
  ## 注意事项
1545
1966
 
1546
1967
  - 不要在项目代码里引用 `dist/fe/*`、`dist/model/*` 这类构建产物路径。
@@ -1548,5 +1969,7 @@ buildFE('prod', {
1548
1969
  - SchemaForm 和 CallCom 的类型扩展、运行时注册都要做,少一个就只会“类型通过但页面不显示”或“页面能配但类型报错”。
1549
1970
  - `model` 数组合并依赖稳定 `key`。
1550
1971
  - Dashboard 默认需要 URL 带 `?projk=项目key`。
1972
+ - Dashboard 登录守卫放在 `frontend/extended/dash/routeGuard.ts`;登录页通常不在 Dash 路由下,返回登录页 URL 即可。
1973
+ - 服务端兜底守卫放在业务 `app/router-guard.ts|js`,不是 `app/business` 子目录。
1551
1974
  - 前端入口必须命名为 `.entry.tsx`、`.entry.ts`、`.entry.jsx` 或 `.entry.js`。
1552
- - **使用方不建议在 `/frontend/apps/` 下保留 `html` 文件。** Vite 构建时会根据模板文件(`app/view/entry.tpl`)自动生成 html,如果保留 html 文件,可能与模板不同步而导致内容过时。
1975
+ - 入口同目录的 `.html` 只能作为插槽文件使用,不能写完整 HTML 文档;页面外壳始终由 `app/view/entry.tpl` 生成。