@ysjdemo/umi-create-cli 0.0.2 → 0.0.4

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 (447) hide show
  1. package/README.md +50 -16
  2. package/bin/cli.js +2 -2
  3. package/lib/constants/index.js +5 -0
  4. package/lib/create.js +123 -87
  5. package/lib/templates/antd/package.json +10 -10
  6. package/lib/templates/basic/package.json +9 -9
  7. package/lib/templates/basic/src/pages/Home/index.tsx +1 -1
  8. package/lib/templates/common/.prettierrc +1 -1
  9. package/lib/templates/index.js +91 -21
  10. package/lib/templates/qiankun/README.md +65 -0
  11. package/lib/templates/qiankun/azure-pipelines.yml +103 -0
  12. package/lib/templates/qiankun/cf-workbench-base/.env +1 -0
  13. package/lib/templates/qiankun/cf-workbench-base/.eslintrc.js +8 -0
  14. package/lib/templates/qiankun/cf-workbench-base/.husky/commit-msg +1 -0
  15. package/lib/templates/qiankun/cf-workbench-base/.husky/pre-commit +1 -0
  16. package/lib/templates/qiankun/cf-workbench-base/.lintstagedrc +17 -0
  17. package/lib/templates/qiankun/cf-workbench-base/.prettierignore +3 -0
  18. package/lib/templates/qiankun/cf-workbench-base/.prettierrc +8 -0
  19. package/lib/templates/qiankun/cf-workbench-base/.stylelintrc.js +3 -0
  20. package/lib/templates/qiankun/cf-workbench-base/.yarnrc.yml +1 -0
  21. package/lib/templates/qiankun/cf-workbench-base/Dockerfile +11 -0
  22. package/lib/templates/qiankun/cf-workbench-base/README.md +3 -0
  23. package/lib/templates/qiankun/cf-workbench-base/config/config.develop.ts +39 -0
  24. package/lib/templates/qiankun/cf-workbench-base/config/config.local.ts +39 -0
  25. package/lib/templates/qiankun/cf-workbench-base/config/config.production.ts +36 -0
  26. package/lib/templates/qiankun/cf-workbench-base/config/config.ts +23 -0
  27. package/lib/templates/qiankun/cf-workbench-base/config/defaultSettings.ts +50 -0
  28. package/lib/templates/qiankun/cf-workbench-base/config/proxy.ts +29 -0
  29. package/lib/templates/qiankun/cf-workbench-base/config/routes.ts +431 -0
  30. package/lib/templates/qiankun/cf-workbench-base/mock/userAPI.ts +20 -0
  31. package/lib/templates/qiankun/cf-workbench-base/package.json +35 -0
  32. package/lib/templates/qiankun/cf-workbench-base/plugins/libs/qiankun/master/AntdErrorBoundary.tsx +34 -0
  33. package/lib/templates/qiankun/cf-workbench-base/plugins/libs/qiankun/master/AntdLoader.tsx +15 -0
  34. package/lib/templates/qiankun/cf-workbench-base/plugins/libs/qiankun/master/ErrorBoundary.tsx +7 -0
  35. package/lib/templates/qiankun/cf-workbench-base/plugins/libs/qiankun/master/MicroApp.tsx +310 -0
  36. package/lib/templates/qiankun/cf-workbench-base/plugins/libs/qiankun/master/MicroAppWithMemoHistory.tsx +43 -0
  37. package/lib/templates/qiankun/cf-workbench-base/plugins/libs/qiankun/master/common.ts +174 -0
  38. package/lib/templates/qiankun/cf-workbench-base/plugins/libs/qiankun/master/constants.ts +7 -0
  39. package/lib/templates/qiankun/cf-workbench-base/plugins/libs/qiankun/master/getMicroAppRouteComponent.tsx.tpl +37 -0
  40. package/lib/templates/qiankun/cf-workbench-base/plugins/libs/qiankun/master/masterRuntimePlugin.tsx +153 -0
  41. package/lib/templates/qiankun/cf-workbench-base/plugins/libs/qiankun/master/routeUtils.ts +26 -0
  42. package/lib/templates/qiankun/cf-workbench-base/plugins/libs/qiankun/master/types.ts +48 -0
  43. package/lib/templates/qiankun/cf-workbench-base/plugins/libs/qiankun/slave/MicroAppLink.tsx +122 -0
  44. package/lib/templates/qiankun/cf-workbench-base/plugins/libs/qiankun/slave/connectMaster.tsx +14 -0
  45. package/lib/templates/qiankun/cf-workbench-base/plugins/libs/qiankun/slave/constants.ts +5 -0
  46. package/lib/templates/qiankun/cf-workbench-base/plugins/libs/qiankun/slave/lifecycles.ts +164 -0
  47. package/lib/templates/qiankun/cf-workbench-base/plugins/libs/qiankun/slave/qiankunModel.ts +18 -0
  48. package/lib/templates/qiankun/cf-workbench-base/plugins/libs/qiankun/slave/slaveRuntimePlugin.ts +30 -0
  49. package/lib/templates/qiankun/cf-workbench-base/plugins/qiankun/constants.ts +5 -0
  50. package/lib/templates/qiankun/cf-workbench-base/plugins/qiankun/master.ts +179 -0
  51. package/lib/templates/qiankun/cf-workbench-base/plugins/qiankun.ts +24 -0
  52. package/lib/templates/qiankun/cf-workbench-base/plugins/utils/withTmpPath.ts +19 -0
  53. package/lib/templates/qiankun/cf-workbench-base/public/CNAME +1 -0
  54. package/lib/templates/qiankun/cf-workbench-base/public/favicon.ico +0 -0
  55. package/lib/templates/qiankun/cf-workbench-base/public/home_bg.png +0 -0
  56. package/lib/templates/qiankun/cf-workbench-base/public/icons/icon-128x128.png +0 -0
  57. package/lib/templates/qiankun/cf-workbench-base/public/icons/icon-192x192.png +0 -0
  58. package/lib/templates/qiankun/cf-workbench-base/public/icons/icon-512x512.png +0 -0
  59. package/lib/templates/qiankun/cf-workbench-base/public/js/dayjs.min.js +1 -0
  60. package/lib/templates/qiankun/cf-workbench-base/public/js/echarts.min.js +45 -0
  61. package/lib/templates/qiankun/cf-workbench-base/public/js/exceljs.min.js +45 -0
  62. package/lib/templates/qiankun/cf-workbench-base/public/js/lodash.min.js +140 -0
  63. package/lib/templates/qiankun/cf-workbench-base/public/js/xlsx.full.min.js +22 -0
  64. package/lib/templates/qiankun/cf-workbench-base/public/logo.png +0 -0
  65. package/lib/templates/qiankun/cf-workbench-base/public/pro_icon.svg +5 -0
  66. package/lib/templates/qiankun/cf-workbench-base/public/version.json +1 -0
  67. package/lib/templates/qiankun/cf-workbench-base/src/app.tsx +111 -0
  68. package/lib/templates/qiankun/cf-workbench-base/src/assets/.gitkeep +0 -0
  69. package/lib/templates/qiankun/cf-workbench-base/src/assets/logo.png +0 -0
  70. package/lib/templates/qiankun/cf-workbench-base/src/assets/logo.svg +1 -0
  71. package/lib/templates/qiankun/cf-workbench-base/src/assets/user.png +0 -0
  72. package/lib/templates/qiankun/cf-workbench-base/src/components/DicDropDownList/index.tsx +81 -0
  73. package/lib/templates/qiankun/cf-workbench-base/src/components/GlobalHeader/RightContent.tsx +30 -0
  74. package/lib/templates/qiankun/cf-workbench-base/src/components/GlobalHeader/WorkCenterDropdown.tsx +187 -0
  75. package/lib/templates/qiankun/cf-workbench-base/src/components/Layout/getLayoutConfig.tsx +256 -0
  76. package/lib/templates/qiankun/cf-workbench-base/src/components/Layout/layout.tsx +237 -0
  77. package/lib/templates/qiankun/cf-workbench-base/src/components/Layout/utils.tsx +131 -0
  78. package/lib/templates/qiankun/cf-workbench-base/src/constants/index.ts +11 -0
  79. package/lib/templates/qiankun/cf-workbench-base/src/echarsDarkTheme.ts +210 -0
  80. package/lib/templates/qiankun/cf-workbench-base/src/global.less +0 -0
  81. package/lib/templates/qiankun/cf-workbench-base/src/hooks/useRouteAuth.ts +121 -0
  82. package/lib/templates/qiankun/cf-workbench-base/src/lib/echarts/i18n/langHK.ts +136 -0
  83. package/lib/templates/qiankun/cf-workbench-base/src/loading.tsx +4 -0
  84. package/lib/templates/qiankun/cf-workbench-base/src/locales/en-US/commonMsg.ts +53 -0
  85. package/lib/templates/qiankun/cf-workbench-base/src/locales/en-US/index.ts +11 -0
  86. package/lib/templates/qiankun/cf-workbench-base/src/locales/en-US/menu.ts +105 -0
  87. package/lib/templates/qiankun/cf-workbench-base/src/locales/en-US/pageValue/AndroidClientVersion.ts +66 -0
  88. package/lib/templates/qiankun/cf-workbench-base/src/locales/en-US/pageValue/AutoRegisterValidate.ts +29 -0
  89. package/lib/templates/qiankun/cf-workbench-base/src/locales/en-US/pageValue/ClientDownloadDashboard.ts +17 -0
  90. package/lib/templates/qiankun/cf-workbench-base/src/locales/en-US/pageValue/ClientPermission.ts +55 -0
  91. package/lib/templates/qiankun/cf-workbench-base/src/locales/en-US/pageValue/ClientStatus.ts +7 -0
  92. package/lib/templates/qiankun/cf-workbench-base/src/locales/en-US/pageValue/ClientVersion.ts +57 -0
  93. package/lib/templates/qiankun/cf-workbench-base/src/locales/en-US/pageValue/Dictionary.ts +57 -0
  94. package/lib/templates/qiankun/cf-workbench-base/src/locales/en-US/pageValue/File.ts +34 -0
  95. package/lib/templates/qiankun/cf-workbench-base/src/locales/en-US/pageValue/JobLog.ts +27 -0
  96. package/lib/templates/qiankun/cf-workbench-base/src/locales/en-US/pageValue/Menu.ts +78 -0
  97. package/lib/templates/qiankun/cf-workbench-base/src/locales/en-US/pageValue/MenuPermission.ts +54 -0
  98. package/lib/templates/qiankun/cf-workbench-base/src/locales/en-US/pageValue/OperationLog.ts +60 -0
  99. package/lib/templates/qiankun/cf-workbench-base/src/locales/en-US/pageValue/Role.ts +69 -0
  100. package/lib/templates/qiankun/cf-workbench-base/src/locales/en-US/pageValue/SelectPermission.ts +4 -0
  101. package/lib/templates/qiankun/cf-workbench-base/src/locales/en-US/pageValue/SoftwareEcology.ts +39 -0
  102. package/lib/templates/qiankun/cf-workbench-base/src/locales/en-US/pageValue/SystemJob.ts +69 -0
  103. package/lib/templates/qiankun/cf-workbench-base/src/locales/en-US/pageValue/Template.tsx +31 -0
  104. package/lib/templates/qiankun/cf-workbench-base/src/locales/en-US/pageValue/TimeZone.ts +31 -0
  105. package/lib/templates/qiankun/cf-workbench-base/src/locales/en-US/pageValue/User.ts +85 -0
  106. package/lib/templates/qiankun/cf-workbench-base/src/locales/en-US/pageValue/index.ts +49 -0
  107. package/lib/templates/qiankun/cf-workbench-base/src/locales/en-US/settings.ts +136 -0
  108. package/lib/templates/qiankun/cf-workbench-base/src/locales/en-US.ts +5 -0
  109. package/lib/templates/qiankun/cf-workbench-base/src/locales/th-TH.ts +5 -0
  110. package/lib/templates/qiankun/cf-workbench-base/src/locales/zh-CN/commonMsg.ts +48 -0
  111. package/lib/templates/qiankun/cf-workbench-base/src/locales/zh-CN/index.ts +11 -0
  112. package/lib/templates/qiankun/cf-workbench-base/src/locales/zh-CN/menu.ts +103 -0
  113. package/lib/templates/qiankun/cf-workbench-base/src/locales/zh-CN/pageValue/AndroidClientVersion.ts +61 -0
  114. package/lib/templates/qiankun/cf-workbench-base/src/locales/zh-CN/pageValue/AutoRegisterValidate.ts +29 -0
  115. package/lib/templates/qiankun/cf-workbench-base/src/locales/zh-CN/pageValue/ClientDownloadDashboard.ts +17 -0
  116. package/lib/templates/qiankun/cf-workbench-base/src/locales/zh-CN/pageValue/ClientPermission.ts +55 -0
  117. package/lib/templates/qiankun/cf-workbench-base/src/locales/zh-CN/pageValue/ClientStatus.ts +7 -0
  118. package/lib/templates/qiankun/cf-workbench-base/src/locales/zh-CN/pageValue/ClientVersion.ts +56 -0
  119. package/lib/templates/qiankun/cf-workbench-base/src/locales/zh-CN/pageValue/Dictionary.ts +60 -0
  120. package/lib/templates/qiankun/cf-workbench-base/src/locales/zh-CN/pageValue/File.ts +34 -0
  121. package/lib/templates/qiankun/cf-workbench-base/src/locales/zh-CN/pageValue/JobLog.ts +27 -0
  122. package/lib/templates/qiankun/cf-workbench-base/src/locales/zh-CN/pageValue/Menu.ts +78 -0
  123. package/lib/templates/qiankun/cf-workbench-base/src/locales/zh-CN/pageValue/MenuPermission.ts +55 -0
  124. package/lib/templates/qiankun/cf-workbench-base/src/locales/zh-CN/pageValue/OperationLog.ts +62 -0
  125. package/lib/templates/qiankun/cf-workbench-base/src/locales/zh-CN/pageValue/Role.ts +72 -0
  126. package/lib/templates/qiankun/cf-workbench-base/src/locales/zh-CN/pageValue/SelectPermission.ts +4 -0
  127. package/lib/templates/qiankun/cf-workbench-base/src/locales/zh-CN/pageValue/SoftwareEcology.ts +39 -0
  128. package/lib/templates/qiankun/cf-workbench-base/src/locales/zh-CN/pageValue/SystemJob.ts +68 -0
  129. package/lib/templates/qiankun/cf-workbench-base/src/locales/zh-CN/pageValue/Template.tsx +31 -0
  130. package/lib/templates/qiankun/cf-workbench-base/src/locales/zh-CN/pageValue/TimeZone.ts +31 -0
  131. package/lib/templates/qiankun/cf-workbench-base/src/locales/zh-CN/pageValue/User.ts +85 -0
  132. package/lib/templates/qiankun/cf-workbench-base/src/locales/zh-CN/pageValue/index.ts +49 -0
  133. package/lib/templates/qiankun/cf-workbench-base/src/locales/zh-CN/settings.ts +128 -0
  134. package/lib/templates/qiankun/cf-workbench-base/src/locales/zh-CN.ts +5 -0
  135. package/lib/templates/qiankun/cf-workbench-base/src/locales/zh-TW/commonMsg.ts +54 -0
  136. package/lib/templates/qiankun/cf-workbench-base/src/locales/zh-TW/index.ts +11 -0
  137. package/lib/templates/qiankun/cf-workbench-base/src/locales/zh-TW/menu.ts +103 -0
  138. package/lib/templates/qiankun/cf-workbench-base/src/locales/zh-TW/pageValue/AndroidClientVersion.ts +61 -0
  139. package/lib/templates/qiankun/cf-workbench-base/src/locales/zh-TW/pageValue/AutoRegisterValidate.ts +29 -0
  140. package/lib/templates/qiankun/cf-workbench-base/src/locales/zh-TW/pageValue/ClientDownloadDashboard.ts +17 -0
  141. package/lib/templates/qiankun/cf-workbench-base/src/locales/zh-TW/pageValue/ClientPermission.ts +55 -0
  142. package/lib/templates/qiankun/cf-workbench-base/src/locales/zh-TW/pageValue/ClientStatus.ts +7 -0
  143. package/lib/templates/qiankun/cf-workbench-base/src/locales/zh-TW/pageValue/ClientVersion.ts +56 -0
  144. package/lib/templates/qiankun/cf-workbench-base/src/locales/zh-TW/pageValue/Dictionary.ts +60 -0
  145. package/lib/templates/qiankun/cf-workbench-base/src/locales/zh-TW/pageValue/File.ts +34 -0
  146. package/lib/templates/qiankun/cf-workbench-base/src/locales/zh-TW/pageValue/JobLog.ts +27 -0
  147. package/lib/templates/qiankun/cf-workbench-base/src/locales/zh-TW/pageValue/Menu.ts +78 -0
  148. package/lib/templates/qiankun/cf-workbench-base/src/locales/zh-TW/pageValue/MenuPermission.ts +55 -0
  149. package/lib/templates/qiankun/cf-workbench-base/src/locales/zh-TW/pageValue/OperationLog.ts +62 -0
  150. package/lib/templates/qiankun/cf-workbench-base/src/locales/zh-TW/pageValue/Role.ts +69 -0
  151. package/lib/templates/qiankun/cf-workbench-base/src/locales/zh-TW/pageValue/SelectPermission.ts +4 -0
  152. package/lib/templates/qiankun/cf-workbench-base/src/locales/zh-TW/pageValue/SoftwareEcology.ts +39 -0
  153. package/lib/templates/qiankun/cf-workbench-base/src/locales/zh-TW/pageValue/SystemJob.ts +68 -0
  154. package/lib/templates/qiankun/cf-workbench-base/src/locales/zh-TW/pageValue/Template.tsx +31 -0
  155. package/lib/templates/qiankun/cf-workbench-base/src/locales/zh-TW/pageValue/TimeZone.ts +31 -0
  156. package/lib/templates/qiankun/cf-workbench-base/src/locales/zh-TW/pageValue/User.ts +81 -0
  157. package/lib/templates/qiankun/cf-workbench-base/src/locales/zh-TW/pageValue/index.ts +49 -0
  158. package/lib/templates/qiankun/cf-workbench-base/src/locales/zh-TW/settings.ts +130 -0
  159. package/lib/templates/qiankun/cf-workbench-base/src/locales/zh-TW.ts +5 -0
  160. package/lib/templates/qiankun/cf-workbench-base/src/models/global.ts +96 -0
  161. package/lib/templates/qiankun/cf-workbench-base/src/models/globalRef.ts +19 -0
  162. package/lib/templates/qiankun/cf-workbench-base/src/models/login.ts +47 -0
  163. package/lib/templates/qiankun/cf-workbench-base/src/models/user.ts +140 -0
  164. package/lib/templates/qiankun/cf-workbench-base/src/overrides.less +43 -0
  165. package/lib/templates/qiankun/cf-workbench-base/src/pages/404.tsx +3 -0
  166. package/lib/templates/qiankun/cf-workbench-base/src/pages/Client/ClientPermission/components/ClientPermissionSelecter.tsx +167 -0
  167. package/lib/templates/qiankun/cf-workbench-base/src/pages/Client/ClientPermission/components/UpdateForm.tsx +105 -0
  168. package/lib/templates/qiankun/cf-workbench-base/src/pages/Client/ClientPermission/data.d.ts +39 -0
  169. package/lib/templates/qiankun/cf-workbench-base/src/pages/Client/ClientPermission/index.tsx +172 -0
  170. package/lib/templates/qiankun/cf-workbench-base/src/pages/Client/ClientPermission/service.ts +28 -0
  171. package/lib/templates/qiankun/cf-workbench-base/src/pages/Client/androidClientVersion/components/UpdateForm.tsx +118 -0
  172. package/lib/templates/qiankun/cf-workbench-base/src/pages/Client/androidClientVersion/data.d.ts +58 -0
  173. package/lib/templates/qiankun/cf-workbench-base/src/pages/Client/androidClientVersion/dataMap.ts +36 -0
  174. package/lib/templates/qiankun/cf-workbench-base/src/pages/Client/androidClientVersion/index.tsx +164 -0
  175. package/lib/templates/qiankun/cf-workbench-base/src/pages/Client/androidClientVersion/service.ts +51 -0
  176. package/lib/templates/qiankun/cf-workbench-base/src/pages/Client/clientDownloadDashboard/index.tsx +460 -0
  177. package/lib/templates/qiankun/cf-workbench-base/src/pages/Client/clientDownloadDashboard/service.ts +28 -0
  178. package/lib/templates/qiankun/cf-workbench-base/src/pages/Client/clientVersion/components/UpdateForm.tsx +187 -0
  179. package/lib/templates/qiankun/cf-workbench-base/src/pages/Client/clientVersion/data.d.ts +60 -0
  180. package/lib/templates/qiankun/cf-workbench-base/src/pages/Client/clientVersion/index.tsx +178 -0
  181. package/lib/templates/qiankun/cf-workbench-base/src/pages/Client/clientVersion/service.ts +28 -0
  182. package/lib/templates/qiankun/cf-workbench-base/src/pages/System/AccountandSettings/components/BaseView.less +56 -0
  183. package/lib/templates/qiankun/cf-workbench-base/src/pages/System/AccountandSettings/components/LocaleSetting.tsx +87 -0
  184. package/lib/templates/qiankun/cf-workbench-base/src/pages/System/AccountandSettings/components/base.tsx +146 -0
  185. package/lib/templates/qiankun/cf-workbench-base/src/pages/System/AccountandSettings/components/changePassword.tsx +106 -0
  186. package/lib/templates/qiankun/cf-workbench-base/src/pages/System/AccountandSettings/components/notification.tsx +47 -0
  187. package/lib/templates/qiankun/cf-workbench-base/src/pages/System/AccountandSettings/index.tsx +119 -0
  188. package/lib/templates/qiankun/cf-workbench-base/src/pages/System/AccountandSettings/style.less +95 -0
  189. package/lib/templates/qiankun/cf-workbench-base/src/pages/System/Dictionary/components/UpdateForm.tsx +84 -0
  190. package/lib/templates/qiankun/cf-workbench-base/src/pages/System/Dictionary/data.d.ts +34 -0
  191. package/lib/templates/qiankun/cf-workbench-base/src/pages/System/Dictionary/index.tsx +104 -0
  192. package/lib/templates/qiankun/cf-workbench-base/src/pages/System/Dictionary/service.ts +35 -0
  193. package/lib/templates/qiankun/cf-workbench-base/src/pages/System/Menu/components/MenuDropDownList.tsx +105 -0
  194. package/lib/templates/qiankun/cf-workbench-base/src/pages/System/Menu/components/UpdateForm.tsx +177 -0
  195. package/lib/templates/qiankun/cf-workbench-base/src/pages/System/Menu/data.d.ts +39 -0
  196. package/lib/templates/qiankun/cf-workbench-base/src/pages/System/Menu/index.tsx +334 -0
  197. package/lib/templates/qiankun/cf-workbench-base/src/pages/System/Menu/service.ts +34 -0
  198. package/lib/templates/qiankun/cf-workbench-base/src/pages/System/MenuPermission/components/UpdateForm.tsx +79 -0
  199. package/lib/templates/qiankun/cf-workbench-base/src/pages/System/MenuPermission/data.d.ts +32 -0
  200. package/lib/templates/qiankun/cf-workbench-base/src/pages/System/MenuPermission/index.tsx +315 -0
  201. package/lib/templates/qiankun/cf-workbench-base/src/pages/System/MenuPermission/service.ts +34 -0
  202. package/lib/templates/qiankun/cf-workbench-base/src/pages/System/Role/components/CreateForm.tsx +189 -0
  203. package/lib/templates/qiankun/cf-workbench-base/src/pages/System/Role/components/SelectRole.tsx +158 -0
  204. package/lib/templates/qiankun/cf-workbench-base/src/pages/System/Role/components/UpdateForm.tsx +199 -0
  205. package/lib/templates/qiankun/cf-workbench-base/src/pages/System/Role/data.d.ts +48 -0
  206. package/lib/templates/qiankun/cf-workbench-base/src/pages/System/Role/index.tsx +261 -0
  207. package/lib/templates/qiankun/cf-workbench-base/src/pages/System/Role/service.ts +44 -0
  208. package/lib/templates/qiankun/cf-workbench-base/src/pages/System/SoftwareEcology/components/UpdateForm.tsx +170 -0
  209. package/lib/templates/qiankun/cf-workbench-base/src/pages/System/SoftwareEcology/data.d.ts +18 -0
  210. package/lib/templates/qiankun/cf-workbench-base/src/pages/System/SoftwareEcology/index.tsx +265 -0
  211. package/lib/templates/qiankun/cf-workbench-base/src/pages/System/SoftwareEcology/services.ts +28 -0
  212. package/lib/templates/qiankun/cf-workbench-base/src/pages/System/Template/components/TemplateDownloadModal.tsx +226 -0
  213. package/lib/templates/qiankun/cf-workbench-base/src/pages/System/Template/components/UpdateForm.tsx +135 -0
  214. package/lib/templates/qiankun/cf-workbench-base/src/pages/System/Template/data.d.ts +22 -0
  215. package/lib/templates/qiankun/cf-workbench-base/src/pages/System/Template/index.tsx +277 -0
  216. package/lib/templates/qiankun/cf-workbench-base/src/pages/System/Template/map.ts +8 -0
  217. package/lib/templates/qiankun/cf-workbench-base/src/pages/System/Template/services.ts +32 -0
  218. package/lib/templates/qiankun/cf-workbench-base/src/pages/System/TimeZone/components/UpdateForm.tsx +74 -0
  219. package/lib/templates/qiankun/cf-workbench-base/src/pages/System/TimeZone/data.d.ts +13 -0
  220. package/lib/templates/qiankun/cf-workbench-base/src/pages/System/TimeZone/index.tsx +91 -0
  221. package/lib/templates/qiankun/cf-workbench-base/src/pages/System/TimeZone/services.ts +32 -0
  222. package/lib/templates/qiankun/cf-workbench-base/src/pages/System/User/components/CreateForm.tsx +235 -0
  223. package/lib/templates/qiankun/cf-workbench-base/src/pages/System/User/components/Selectuser.tsx +113 -0
  224. package/lib/templates/qiankun/cf-workbench-base/src/pages/System/User/components/UpdateForm.tsx +222 -0
  225. package/lib/templates/qiankun/cf-workbench-base/src/pages/System/User/components/UserListModal.tsx +171 -0
  226. package/lib/templates/qiankun/cf-workbench-base/src/pages/System/User/components/UserWorkCenterMappingSelector.tsx +108 -0
  227. package/lib/templates/qiankun/cf-workbench-base/src/pages/System/User/data.d.ts +69 -0
  228. package/lib/templates/qiankun/cf-workbench-base/src/pages/System/User/index.tsx +445 -0
  229. package/lib/templates/qiankun/cf-workbench-base/src/pages/System/User/service.ts +84 -0
  230. package/lib/templates/qiankun/cf-workbench-base/src/pages/SystemJob/JobLog/data.d.ts +34 -0
  231. package/lib/templates/qiankun/cf-workbench-base/src/pages/SystemJob/JobLog/index.tsx +150 -0
  232. package/lib/templates/qiankun/cf-workbench-base/src/pages/SystemJob/JobLog/service.ts +10 -0
  233. package/lib/templates/qiankun/cf-workbench-base/src/pages/SystemJob/SystemJob/components/UpdateForm.tsx +145 -0
  234. package/lib/templates/qiankun/cf-workbench-base/src/pages/SystemJob/SystemJob/data.d.ts +35 -0
  235. package/lib/templates/qiankun/cf-workbench-base/src/pages/SystemJob/SystemJob/index.tsx +402 -0
  236. package/lib/templates/qiankun/cf-workbench-base/src/pages/SystemJob/SystemJob/service.ts +22 -0
  237. package/lib/templates/qiankun/cf-workbench-base/src/pages/SystemLog/OperationLog/data.d.ts +38 -0
  238. package/lib/templates/qiankun/cf-workbench-base/src/pages/SystemLog/OperationLog/index.tsx +144 -0
  239. package/lib/templates/qiankun/cf-workbench-base/src/pages/SystemLog/OperationLog/service.ts +16 -0
  240. package/lib/templates/qiankun/cf-workbench-base/src/pages/UserDisable.tsx +3 -0
  241. package/lib/templates/qiankun/cf-workbench-base/src/pages/UserNoPagePermission.tsx +3 -0
  242. package/lib/templates/qiankun/cf-workbench-base/src/pages/UserNoPermission.tsx +3 -0
  243. package/lib/templates/qiankun/cf-workbench-base/src/pages/document.ejs +201 -0
  244. package/lib/templates/qiankun/cf-workbench-base/src/services/file.ts +16 -0
  245. package/lib/templates/qiankun/cf-workbench-base/src/services/user.ts +22 -0
  246. package/lib/templates/qiankun/cf-workbench-base/src/typings.d.ts +32 -0
  247. package/lib/templates/qiankun/cf-workbench-base/src/utils/keycloak.ts +81 -0
  248. package/lib/templates/qiankun/cf-workbench-base/src/utils/qiankunConfig.ts +75 -0
  249. package/lib/templates/qiankun/cf-workbench-base/src/utils/request.ts +45 -0
  250. package/lib/templates/qiankun/cf-workbench-base/tsconfig.json +3 -0
  251. package/lib/templates/qiankun/cf-workbench-base/typings.d.ts +1 -0
  252. package/lib/templates/qiankun/cf-workbench-function/.env +1 -0
  253. package/lib/templates/qiankun/cf-workbench-function/.eslintrc.js +8 -0
  254. package/lib/templates/qiankun/cf-workbench-function/.husky/commit-msg +1 -0
  255. package/lib/templates/qiankun/cf-workbench-function/.husky/pre-commit +1 -0
  256. package/lib/templates/qiankun/cf-workbench-function/.lintstagedrc +17 -0
  257. package/lib/templates/qiankun/cf-workbench-function/.prettierignore +3 -0
  258. package/lib/templates/qiankun/cf-workbench-function/.prettierrc +8 -0
  259. package/lib/templates/qiankun/cf-workbench-function/.stylelintrc.js +3 -0
  260. package/lib/templates/qiankun/cf-workbench-function/.yarnrc.yml +1 -0
  261. package/lib/templates/qiankun/cf-workbench-function/Dockerfile +11 -0
  262. package/lib/templates/qiankun/cf-workbench-function/README.md +3 -0
  263. package/lib/templates/qiankun/cf-workbench-function/config/config.develop.ts +23 -0
  264. package/lib/templates/qiankun/cf-workbench-function/config/config.local.ts +21 -0
  265. package/lib/templates/qiankun/cf-workbench-function/config/config.production.ts +22 -0
  266. package/lib/templates/qiankun/cf-workbench-function/config/config.ts +30 -0
  267. package/lib/templates/qiankun/cf-workbench-function/config/routes.ts +438 -0
  268. package/lib/templates/qiankun/cf-workbench-function/mock/userAPI.ts +20 -0
  269. package/lib/templates/qiankun/cf-workbench-function/package.json +50 -0
  270. package/lib/templates/qiankun/cf-workbench-function/src/app.tsx +9 -0
  271. package/lib/templates/qiankun/cf-workbench-function/src/assets/.gitkeep +0 -0
  272. package/lib/templates/qiankun/cf-workbench-function/src/assets/logo.png +0 -0
  273. package/lib/templates/qiankun/cf-workbench-function/src/assets/user.png +0 -0
  274. package/lib/templates/qiankun/cf-workbench-function/src/components/DicDropDownList/index.tsx +81 -0
  275. package/lib/templates/qiankun/cf-workbench-function/src/components/Flow/ContextMenu/index.less +19 -0
  276. package/lib/templates/qiankun/cf-workbench-function/src/components/Flow/ContextMenu/index.tsx +53 -0
  277. package/lib/templates/qiankun/cf-workbench-function/src/components/Flow/CustomDndPanel/index.less +32 -0
  278. package/lib/templates/qiankun/cf-workbench-function/src/components/Flow/CustomDndPanel/index.tsx +121 -0
  279. package/lib/templates/qiankun/cf-workbench-function/src/components/Flow/CustomNode/ConnectionLine.tsx +33 -0
  280. package/lib/templates/qiankun/cf-workbench-function/src/components/Flow/CustomNode/CustomBezierEdge.tsx +54 -0
  281. package/lib/templates/qiankun/cf-workbench-function/src/components/Flow/CustomNode/GroupNode.tsx +162 -0
  282. package/lib/templates/qiankun/cf-workbench-function/src/components/Flow/CustomNode/RectNode.tsx +200 -0
  283. package/lib/templates/qiankun/cf-workbench-function/src/components/Flow/CustomNode/TextNode.tsx +50 -0
  284. package/lib/templates/qiankun/cf-workbench-function/src/components/Flow/CustomNode/createNodeWithExtras.tsx +12 -0
  285. package/lib/templates/qiankun/cf-workbench-function/src/components/Flow/CustomNode/index.less +50 -0
  286. package/lib/templates/qiankun/cf-workbench-function/src/components/Flow/CustomNode/types.d.ts +47 -0
  287. package/lib/templates/qiankun/cf-workbench-function/src/components/Flow/CustomNode/utils.ts +67 -0
  288. package/lib/templates/qiankun/cf-workbench-function/src/components/Flow/FlowControl/data.d.ts +18 -0
  289. package/lib/templates/qiankun/cf-workbench-function/src/components/Flow/FlowControl/index.less +17 -0
  290. package/lib/templates/qiankun/cf-workbench-function/src/components/Flow/FlowControl/index.tsx +350 -0
  291. package/lib/templates/qiankun/cf-workbench-function/src/components/Flow/NodeBadge/index.tsx +39 -0
  292. package/lib/templates/qiankun/cf-workbench-function/src/components/Flow/UpdateEdgeDrawer/index.less +21 -0
  293. package/lib/templates/qiankun/cf-workbench-function/src/components/Flow/UpdateEdgeDrawer/index.tsx +87 -0
  294. package/lib/templates/qiankun/cf-workbench-function/src/components/Flow/UpdateNodeDrawer/index.less +21 -0
  295. package/lib/templates/qiankun/cf-workbench-function/src/components/Flow/UpdateNodeDrawer/index.tsx +195 -0
  296. package/lib/templates/qiankun/cf-workbench-function/src/components/Flow/hooks/useFlowHooks.ts +813 -0
  297. package/lib/templates/qiankun/cf-workbench-function/src/components/Flow/index.ts +26 -0
  298. package/lib/templates/qiankun/cf-workbench-function/src/components/LogicFlow/FlowControl/data.d.ts +12 -0
  299. package/lib/templates/qiankun/cf-workbench-function/src/components/LogicFlow/FlowControl/index.less +18 -0
  300. package/lib/templates/qiankun/cf-workbench-function/src/components/LogicFlow/FlowControl/index.tsx +375 -0
  301. package/lib/templates/qiankun/cf-workbench-function/src/components/LogicFlow/FlowNodePanel/index.less +32 -0
  302. package/lib/templates/qiankun/cf-workbench-function/src/components/LogicFlow/FlowNodePanel/index.tsx +61 -0
  303. package/lib/templates/qiankun/cf-workbench-function/src/components/LogicFlow/UpdateAnchorPropertyDrawer.tsx +134 -0
  304. package/lib/templates/qiankun/cf-workbench-function/src/components/LogicFlow/UpdateArrowPropertyDrawer.tsx +125 -0
  305. package/lib/templates/qiankun/cf-workbench-function/src/components/LogicFlow/UpdateLinePropertyDrawer.tsx +242 -0
  306. package/lib/templates/qiankun/cf-workbench-function/src/components/LogicFlow/UpdatePropertyDrawer.tsx +369 -0
  307. package/lib/templates/qiankun/cf-workbench-function/src/components/LogicFlow/UpdateSettingsDrawer.tsx +236 -0
  308. package/lib/templates/qiankun/cf-workbench-function/src/components/LogicFlow/types.ts +13 -0
  309. package/lib/templates/qiankun/cf-workbench-function/src/components/LogicFlowNode/CustomGroupNode.tsx +72 -0
  310. package/lib/templates/qiankun/cf-workbench-function/src/components/LogicFlowNode/CustomLineNode.tsx +130 -0
  311. package/lib/templates/qiankun/cf-workbench-function/src/components/LogicFlowNode/CustomMachineImageNode.tsx +271 -0
  312. package/lib/templates/qiankun/cf-workbench-function/src/components/LogicFlowNode/CustomPolylineEdge.tsx +201 -0
  313. package/lib/templates/qiankun/cf-workbench-function/src/components/LogicFlowNode/CustomTextNode.tsx +60 -0
  314. package/lib/templates/qiankun/cf-workbench-function/src/components/LogicFlowNode/index.ts +13 -0
  315. package/lib/templates/qiankun/cf-workbench-function/src/components/LogicFlowNode/types.d.ts +47 -0
  316. package/lib/templates/qiankun/cf-workbench-function/src/constants/DnDContext.tsx +56 -0
  317. package/lib/templates/qiankun/cf-workbench-function/src/constants/dataMap.ts +160 -0
  318. package/lib/templates/qiankun/cf-workbench-function/src/constants/index.ts +53 -0
  319. package/lib/templates/qiankun/cf-workbench-function/src/constants/logicFlowConfig.tsx +69 -0
  320. package/lib/templates/qiankun/cf-workbench-function/src/global.less +58 -0
  321. package/lib/templates/qiankun/cf-workbench-function/src/hooks/useQiankunData.ts +168 -0
  322. package/lib/templates/qiankun/cf-workbench-function/src/hooks/useWebSocket.ts +122 -0
  323. package/lib/templates/qiankun/cf-workbench-function/src/layouts/index.tsx +12 -0
  324. package/lib/templates/qiankun/cf-workbench-function/src/lib/echarts/i18n/langHK.ts +136 -0
  325. package/lib/templates/qiankun/cf-workbench-function/src/loading.tsx +4 -0
  326. package/lib/templates/qiankun/cf-workbench-function/src/locales/en-US/commonMsg.ts +127 -0
  327. package/lib/templates/qiankun/cf-workbench-function/src/locales/en-US/index.ts +11 -0
  328. package/lib/templates/qiankun/cf-workbench-function/src/locales/en-US/lib/Flow.ts +159 -0
  329. package/lib/templates/qiankun/cf-workbench-function/src/locales/en-US/lib/index.ts +5 -0
  330. package/lib/templates/qiankun/cf-workbench-function/src/locales/en-US/menu.ts +90 -0
  331. package/lib/templates/qiankun/cf-workbench-function/src/locales/en-US/pageValue/ClientPermission.ts +55 -0
  332. package/lib/templates/qiankun/cf-workbench-function/src/locales/en-US/pageValue/Company.ts +51 -0
  333. package/lib/templates/qiankun/cf-workbench-function/src/locales/en-US/pageValue/Department.ts +50 -0
  334. package/lib/templates/qiankun/cf-workbench-function/src/locales/en-US/pageValue/Employee.ts +72 -0
  335. package/lib/templates/qiankun/cf-workbench-function/src/locales/en-US/pageValue/Factory.ts +54 -0
  336. package/lib/templates/qiankun/cf-workbench-function/src/locales/en-US/pageValue/FactoryProfile.ts +19 -0
  337. package/lib/templates/qiankun/cf-workbench-function/src/locales/en-US/pageValue/File.ts +34 -0
  338. package/lib/templates/qiankun/cf-workbench-function/src/locales/en-US/pageValue/Group.ts +50 -0
  339. package/lib/templates/qiankun/cf-workbench-function/src/locales/en-US/pageValue/GuidelineAttachmentQuery.ts +27 -0
  340. package/lib/templates/qiankun/cf-workbench-function/src/locales/en-US/pageValue/GuidelineAttachmentUpload.ts +16 -0
  341. package/lib/templates/qiankun/cf-workbench-function/src/locales/en-US/pageValue/Post.ts +50 -0
  342. package/lib/templates/qiankun/cf-workbench-function/src/locales/en-US/pageValue/WorkCenter.ts +40 -0
  343. package/lib/templates/qiankun/cf-workbench-function/src/locales/en-US/pageValue/index.ts +38 -0
  344. package/lib/templates/qiankun/cf-workbench-function/src/locales/en-US.ts +5 -0
  345. package/lib/templates/qiankun/cf-workbench-function/src/locales/th-TH.ts +5 -0
  346. package/lib/templates/qiankun/cf-workbench-function/src/locales/zh-CN/commonMsg.ts +126 -0
  347. package/lib/templates/qiankun/cf-workbench-function/src/locales/zh-CN/index.ts +11 -0
  348. package/lib/templates/qiankun/cf-workbench-function/src/locales/zh-CN/lib/Flow.ts +161 -0
  349. package/lib/templates/qiankun/cf-workbench-function/src/locales/zh-CN/lib/index.ts +5 -0
  350. package/lib/templates/qiankun/cf-workbench-function/src/locales/zh-CN/menu.ts +89 -0
  351. package/lib/templates/qiankun/cf-workbench-function/src/locales/zh-CN/pageValue/ClientPermission.ts +59 -0
  352. package/lib/templates/qiankun/cf-workbench-function/src/locales/zh-CN/pageValue/Company.ts +55 -0
  353. package/lib/templates/qiankun/cf-workbench-function/src/locales/zh-CN/pageValue/Department.ts +49 -0
  354. package/lib/templates/qiankun/cf-workbench-function/src/locales/zh-CN/pageValue/Employee.ts +73 -0
  355. package/lib/templates/qiankun/cf-workbench-function/src/locales/zh-CN/pageValue/Factory.ts +59 -0
  356. package/lib/templates/qiankun/cf-workbench-function/src/locales/zh-CN/pageValue/FactoryProfile.ts +19 -0
  357. package/lib/templates/qiankun/cf-workbench-function/src/locales/zh-CN/pageValue/File.ts +34 -0
  358. package/lib/templates/qiankun/cf-workbench-function/src/locales/zh-CN/pageValue/Group.ts +50 -0
  359. package/lib/templates/qiankun/cf-workbench-function/src/locales/zh-CN/pageValue/GuidelineAttachmentQuery.ts +26 -0
  360. package/lib/templates/qiankun/cf-workbench-function/src/locales/zh-CN/pageValue/GuidelineAttachmentUpload.ts +15 -0
  361. package/lib/templates/qiankun/cf-workbench-function/src/locales/zh-CN/pageValue/Post.ts +50 -0
  362. package/lib/templates/qiankun/cf-workbench-function/src/locales/zh-CN/pageValue/WorkCenter.ts +40 -0
  363. package/lib/templates/qiankun/cf-workbench-function/src/locales/zh-CN/pageValue/index.ts +38 -0
  364. package/lib/templates/qiankun/cf-workbench-function/src/locales/zh-CN.ts +5 -0
  365. package/lib/templates/qiankun/cf-workbench-function/src/locales/zh-TW/commonMsg.ts +126 -0
  366. package/lib/templates/qiankun/cf-workbench-function/src/locales/zh-TW/index.ts +11 -0
  367. package/lib/templates/qiankun/cf-workbench-function/src/locales/zh-TW/lib/Flow.ts +143 -0
  368. package/lib/templates/qiankun/cf-workbench-function/src/locales/zh-TW/lib/index.ts +5 -0
  369. package/lib/templates/qiankun/cf-workbench-function/src/locales/zh-TW/menu.ts +90 -0
  370. package/lib/templates/qiankun/cf-workbench-function/src/locales/zh-TW/pageValue/ClientPermission.ts +55 -0
  371. package/lib/templates/qiankun/cf-workbench-function/src/locales/zh-TW/pageValue/Company.ts +55 -0
  372. package/lib/templates/qiankun/cf-workbench-function/src/locales/zh-TW/pageValue/Defect.ts +57 -0
  373. package/lib/templates/qiankun/cf-workbench-function/src/locales/zh-TW/pageValue/Department.ts +49 -0
  374. package/lib/templates/qiankun/cf-workbench-function/src/locales/zh-TW/pageValue/Employee.ts +72 -0
  375. package/lib/templates/qiankun/cf-workbench-function/src/locales/zh-TW/pageValue/Factory.ts +59 -0
  376. package/lib/templates/qiankun/cf-workbench-function/src/locales/zh-TW/pageValue/FactoryProfile.ts +19 -0
  377. package/lib/templates/qiankun/cf-workbench-function/src/locales/zh-TW/pageValue/File.ts +34 -0
  378. package/lib/templates/qiankun/cf-workbench-function/src/locales/zh-TW/pageValue/Group.ts +50 -0
  379. package/lib/templates/qiankun/cf-workbench-function/src/locales/zh-TW/pageValue/GuidelineAttachmentQuery.ts +26 -0
  380. package/lib/templates/qiankun/cf-workbench-function/src/locales/zh-TW/pageValue/GuidelineAttachmentUpload.ts +15 -0
  381. package/lib/templates/qiankun/cf-workbench-function/src/locales/zh-TW/pageValue/Post.ts +50 -0
  382. package/lib/templates/qiankun/cf-workbench-function/src/locales/zh-TW/pageValue/WorkCenter.ts +40 -0
  383. package/lib/templates/qiankun/cf-workbench-function/src/locales/zh-TW/pageValue/index.ts +38 -0
  384. package/lib/templates/qiankun/cf-workbench-function/src/locales/zh-TW/pageValue/report/EmployeeTimeReport.ts +18 -0
  385. package/lib/templates/qiankun/cf-workbench-function/src/locales/zh-TW/pageValue/report/FactoryProductionReport.ts +38 -0
  386. package/lib/templates/qiankun/cf-workbench-function/src/locales/zh-TW/pageValue/report/JobOrderProductionData.ts +32 -0
  387. package/lib/templates/qiankun/cf-workbench-function/src/locales/zh-TW/pageValue/report/MachineEfficiencyAnalysisReport.ts +26 -0
  388. package/lib/templates/qiankun/cf-workbench-function/src/locales/zh-TW/pageValue/report/MachineLatestProductionData.ts +33 -0
  389. package/lib/templates/qiankun/cf-workbench-function/src/locales/zh-TW/pageValue/report/MachineOperateProductionReport.ts +80 -0
  390. package/lib/templates/qiankun/cf-workbench-function/src/locales/zh-TW/pageValue/report/MachineProductionData.ts +36 -0
  391. package/lib/templates/qiankun/cf-workbench-function/src/locales/zh-TW/pageValue/report/MachineProductionDayReport.ts +20 -0
  392. package/lib/templates/qiankun/cf-workbench-function/src/locales/zh-TW/pageValue/report/MachineStatusLogRecordData.ts +31 -0
  393. package/lib/templates/qiankun/cf-workbench-function/src/locales/zh-TW.ts +5 -0
  394. package/lib/templates/qiankun/cf-workbench-function/src/overrides.less +41 -0
  395. package/lib/templates/qiankun/cf-workbench-function/src/pages/BaseManagement/Company/components/CompanyDropDownList.tsx +55 -0
  396. package/lib/templates/qiankun/cf-workbench-function/src/pages/BaseManagement/Company/components/UpdateForm.tsx +79 -0
  397. package/lib/templates/qiankun/cf-workbench-function/src/pages/BaseManagement/Company/data.d.ts +32 -0
  398. package/lib/templates/qiankun/cf-workbench-function/src/pages/BaseManagement/Company/index.tsx +104 -0
  399. package/lib/templates/qiankun/cf-workbench-function/src/pages/BaseManagement/Company/service.ts +28 -0
  400. package/lib/templates/qiankun/cf-workbench-function/src/pages/BaseManagement/Factory/components/FactoryDropDownList.tsx +57 -0
  401. package/lib/templates/qiankun/cf-workbench-function/src/pages/BaseManagement/Factory/components/UpdateForm.tsx +108 -0
  402. package/lib/templates/qiankun/cf-workbench-function/src/pages/BaseManagement/Factory/data.d.ts +36 -0
  403. package/lib/templates/qiankun/cf-workbench-function/src/pages/BaseManagement/Factory/index.tsx +139 -0
  404. package/lib/templates/qiankun/cf-workbench-function/src/pages/BaseManagement/Factory/service.ts +28 -0
  405. package/lib/templates/qiankun/cf-workbench-function/src/pages/BaseManagement/WorkCenter/components/UpdateForm.tsx +128 -0
  406. package/lib/templates/qiankun/cf-workbench-function/src/pages/BaseManagement/WorkCenter/data.d.ts +31 -0
  407. package/lib/templates/qiankun/cf-workbench-function/src/pages/BaseManagement/WorkCenter/index.tsx +288 -0
  408. package/lib/templates/qiankun/cf-workbench-function/src/pages/BaseManagement/WorkCenter/services.ts +32 -0
  409. package/lib/templates/qiankun/cf-workbench-function/src/pages/Client/ClientPermission/components/ClientPermissionSelecter.tsx +167 -0
  410. package/lib/templates/qiankun/cf-workbench-function/src/pages/Client/ClientPermission/data.d.ts +39 -0
  411. package/lib/templates/qiankun/cf-workbench-function/src/pages/Client/ClientPermission/service.ts +39 -0
  412. package/lib/templates/qiankun/cf-workbench-function/src/pages/EmployeeManagement/Department/components/DepartmentDropDownList.tsx +58 -0
  413. package/lib/templates/qiankun/cf-workbench-function/src/pages/EmployeeManagement/Department/components/UpdateForm.tsx +108 -0
  414. package/lib/templates/qiankun/cf-workbench-function/src/pages/EmployeeManagement/Department/data.d.ts +37 -0
  415. package/lib/templates/qiankun/cf-workbench-function/src/pages/EmployeeManagement/Department/index.tsx +122 -0
  416. package/lib/templates/qiankun/cf-workbench-function/src/pages/EmployeeManagement/Department/service.ts +28 -0
  417. package/lib/templates/qiankun/cf-workbench-function/src/pages/EmployeeManagement/Employee/components/UpdateForm.tsx +232 -0
  418. package/lib/templates/qiankun/cf-workbench-function/src/pages/EmployeeManagement/Employee/data.d.ts +64 -0
  419. package/lib/templates/qiankun/cf-workbench-function/src/pages/EmployeeManagement/Employee/index.tsx +326 -0
  420. package/lib/templates/qiankun/cf-workbench-function/src/pages/EmployeeManagement/Employee/service.ts +28 -0
  421. package/lib/templates/qiankun/cf-workbench-function/src/pages/EmployeeManagement/Group/components/GroupDropDownList.tsx +56 -0
  422. package/lib/templates/qiankun/cf-workbench-function/src/pages/EmployeeManagement/Group/components/UpdateForm.tsx +108 -0
  423. package/lib/templates/qiankun/cf-workbench-function/src/pages/EmployeeManagement/Group/data.d.ts +34 -0
  424. package/lib/templates/qiankun/cf-workbench-function/src/pages/EmployeeManagement/Group/index.tsx +121 -0
  425. package/lib/templates/qiankun/cf-workbench-function/src/pages/EmployeeManagement/Group/service.ts +28 -0
  426. package/lib/templates/qiankun/cf-workbench-function/src/pages/EmployeeManagement/Post/components/PostDropDownList.tsx +56 -0
  427. package/lib/templates/qiankun/cf-workbench-function/src/pages/EmployeeManagement/Post/components/UpdateForm.tsx +174 -0
  428. package/lib/templates/qiankun/cf-workbench-function/src/pages/EmployeeManagement/Post/data.d.ts +42 -0
  429. package/lib/templates/qiankun/cf-workbench-function/src/pages/EmployeeManagement/Post/index.tsx +183 -0
  430. package/lib/templates/qiankun/cf-workbench-function/src/pages/EmployeeManagement/Post/service.ts +28 -0
  431. package/lib/templates/qiankun/cf-workbench-function/src/pages/GuidelineManagement/GuidelineAttachmentQuery/data.d.ts +18 -0
  432. package/lib/templates/qiankun/cf-workbench-function/src/pages/GuidelineManagement/GuidelineAttachmentQuery/index.tsx +169 -0
  433. package/lib/templates/qiankun/cf-workbench-function/src/pages/GuidelineManagement/GuidelineAttachmentQuery/service.ts +10 -0
  434. package/lib/templates/qiankun/cf-workbench-function/src/pages/GuidelineManagement/GuidelineAttachmentUpload/components/GuidelineAttachment.tsx +275 -0
  435. package/lib/templates/qiankun/cf-workbench-function/src/pages/GuidelineManagement/GuidelineAttachmentUpload/components/service.ts +25 -0
  436. package/lib/templates/qiankun/cf-workbench-function/src/pages/GuidelineManagement/GuidelineAttachmentUpload/data.d.ts +17 -0
  437. package/lib/templates/qiankun/cf-workbench-function/src/pages/GuidelineManagement/GuidelineAttachmentUpload/index.tsx +71 -0
  438. package/lib/templates/qiankun/cf-workbench-function/src/services/file.ts +16 -0
  439. package/lib/templates/qiankun/cf-workbench-function/src/services/index.ts +15 -0
  440. package/lib/templates/qiankun/cf-workbench-function/src/services/user.ts +16 -0
  441. package/lib/templates/qiankun/cf-workbench-function/src/typings.d.ts +35 -0
  442. package/lib/templates/qiankun/cf-workbench-function/src/utils/qiankunConfig.ts +23 -0
  443. package/lib/templates/qiankun/cf-workbench-function/src/utils/request.ts +46 -0
  444. package/lib/templates/qiankun/cf-workbench-function/tsconfig.json +3 -0
  445. package/lib/templates/qiankun/cf-workbench-function/typings.d.ts +1 -0
  446. package/lib/utils/version.js +148 -0
  447. package/package.json +2 -3
package/README.md CHANGED
@@ -2,26 +2,46 @@
2
2
 
3
3
  一个用于创建Umi4项目的脚手架工具
4
4
 
5
- ## 安装
5
+ ## 使用方式(推荐npx)
6
6
 
7
7
  ```bash
8
- # 全局安装
9
- npm install -g @ysjdemo/umi-create-cli
8
+ # 🔥 推荐:使用 npx 直接创建(无需安装)
9
+ # 会自动提示选择模板,默认推荐 qiankun + antd + umi
10
+ npx @ysjdemo/umi-create-cli create my-project
10
11
 
11
- # 或使用 yarn
12
- yarn global add @ysjdemo/umi-create-cli
12
+ # 或直接指定模板
13
+ npx @ysjdemo/umi-create-cli create my-project -t antd
14
+ npx @ysjdemo/umi-create-cli create my-project -t basic
15
+ npx @ysjdemo/umi-create-cli create my-project -t qiankun
16
+
17
+ # 查看帮助
18
+ npx @ysjdemo/umi-create-cli --help
13
19
  ```
14
20
 
15
- ## 使用
21
+ ## 交互式模板选择
22
+
23
+ 当您运行创建命令时,会看到如下交互界面:
24
+
25
+ ```
26
+ 🚀 创建 Umi4 项目...
27
+ 📋 请选择项目模板:
28
+ ❯ 🎨 antd - Ant Design Pro 模板 (推荐)
29
+ 📦 basic - 基础模板
30
+ ```
31
+
32
+ ## 安装方式(可选)
33
+
34
+ 如果需要频繁使用,可以选择全局安装:
16
35
 
17
36
  ```bash
18
- # 创建新项目
19
- ysj-umi create my-project
37
+ # 全局安装
38
+ npm install -g @ysjdemo/umi-create-cli
20
39
 
21
- # 查看帮助
22
- ysj-umi --help
40
+ # 或使用 yarn
41
+ yarn global add @ysjdemo/umi-create-cli
23
42
 
24
- # 查看版本
43
+ # 安装后使用
44
+ ysj-umi create my-project
25
45
  ysj-umi --version
26
46
  ```
27
47
 
@@ -31,19 +51,33 @@ ysj-umi --version
31
51
  - 📦 内置常用配置模板
32
52
  - 🎨 支持TypeScript
33
53
  - 📱 支持多种UI库选择
54
+ - ⚡️ 支持npx直接使用,无需安装
55
+ - 🎯 交互式模板选择,默认推荐最佳实践
34
56
 
35
57
  ## 模板选项
36
58
 
37
- - 基础模板:包含基本的Umi4配置
38
- - TypeScript模板:包含TypeScript配置
39
- - Ant Design模板:集成Ant Design组件库
40
- - 移动端模板:适配移动端开发
59
+ - **🎨 Ant Design Pro 模板**(推荐):企业级后台管理系统
60
+ ```bash
61
+ npx @ysjdemo/umi-create-cli create my-admin -t antd
62
+ ```
63
+ - 集成 Ant Design 5.0
64
+ - Pro Components 组件库
65
+ - 完整的后台管理界面
66
+ - 仪表盘、用户管理、设置页面
67
+
68
+ - **📦 基础模板**:轻量级起始项目
69
+ ```bash
70
+ npx @ysjdemo/umi-create-cli create my-project -t basic
71
+ ```
72
+ - 基础 Umi 4 配置
73
+ - TypeScript 支持
74
+ - 简洁的项目结构
41
75
 
42
76
  ## 开发
43
77
 
44
78
  ```bash
45
79
  # 克隆项目
46
- git clone https://github.com/yourusername/ysj-cli.git
80
+ git clone https://github.com/Ivan-YangSj/umi-cli.git
47
81
 
48
82
  # 安装依赖
49
83
  npm install
package/bin/cli.js CHANGED
@@ -12,7 +12,7 @@ program
12
12
  program
13
13
  .command('create <project-name>')
14
14
  .description('创建一个新的 Umi4 项目')
15
- .option('-t, --template <template>', '使用指定模板 (basic, antd)', 'basic')
15
+ .option('-t, --template <template>', '使用指定模板 (basic, antd, qiankun)')
16
16
  .action(async (projectName, options) => {
17
17
  try {
18
18
  await createProject(projectName, options);
@@ -26,7 +26,7 @@ program
26
26
  program
27
27
  .command('init')
28
28
  .description('在当前目录初始化 Umi4 项目')
29
- .option('-t, --template <template>', '使用指定模板 (basic, antd)', 'basic')
29
+ .option('-t, --template <template>', '使用指定模板 (basic, antd, qiankun)')
30
30
  .action(async (options) => {
31
31
  try {
32
32
  await initProject(options);
@@ -0,0 +1,5 @@
1
+ module.exports.TEMPLATES_TYPES = {
2
+ qiankun: 'qiankun',
3
+ antd: 'antd',
4
+ umi: 'umi',
5
+ };
package/lib/create.js CHANGED
@@ -1,146 +1,182 @@
1
- const fs = require('fs-extra');
2
- const path = require('path');
3
- const inquirer = require('inquirer');
4
- const chalk = require('chalk');
5
- const ora = require('ora');
6
- const { generateTemplate, getAvailableTemplates } = require('./templates');
1
+ const fs = require("fs-extra");
2
+ const path = require("path");
3
+ const inquirer = require("inquirer");
4
+ const chalk = require("chalk");
5
+ const ora = require("ora");
6
+ const { generateTemplate, getAvailableTemplates } = require("./templates");
7
+ const { TEMPLATES_TYPES } = require("./constants");
8
+
9
+ // 默认选择的模板
10
+ const BASE_TEMPLATE = TEMPLATES_TYPES.qiankun;
11
+
12
+ const templateChoices = [
13
+ {
14
+ name: `🏗️ ${TEMPLATES_TYPES.qiankun} + antd + umi - 微前端模板 ${chalk.cyan("(推荐)")}`,
15
+ value: TEMPLATES_TYPES.qiankun,
16
+ short: TEMPLATES_TYPES.qiankun,
17
+ },
18
+ {
19
+ name: `🎨 ${TEMPLATES_TYPES.antd} + umi - Ant Design Pro 模板`,
20
+ value: TEMPLATES_TYPES.antd,
21
+ short: TEMPLATES_TYPES.antd,
22
+ },
23
+ {
24
+ name: `📦 ${TEMPLATES_TYPES.umi} - 基础模板`,
25
+ value: TEMPLATES_TYPES.umi,
26
+ short: TEMPLATES_TYPES.umi,
27
+ },
28
+ ];
7
29
 
8
30
  async function createProject(projectName, options) {
9
- const { template = 'basic' } = options;
10
-
31
+ const { template } = options;
32
+
11
33
  console.log(`🚀 创建 Umi4 项目...`);
12
-
34
+
13
35
  // 获取可用模板列表
14
36
  const availableTemplates = await getAvailableTemplates();
15
-
16
- // 如果指定的模板不存在,让用户选择
37
+
17
38
  let selectedTemplate = template;
18
- if (!availableTemplates.includes(template)) {
19
- console.log(chalk.yellow(`⚠️ 模板 "${template}" 不存在`));
20
- console.log(chalk.blue(`📋 可用模板: ${availableTemplates.join(', ')}`));
21
-
39
+
40
+ // 如果没有指定模板,或者指定的模板不存在,让用户选择
41
+ if (!template || !availableTemplates.includes(template)) {
42
+ if (template && !availableTemplates.includes(template)) {
43
+ console.log(chalk.yellow(`⚠️ 模板 "${template}" 不存在`));
44
+ }
45
+
46
+ console.log(chalk.blue(`📋 请选择项目模板:`));
47
+
22
48
  const { chosenTemplate } = await inquirer.prompt([
23
49
  {
24
- type: 'list',
25
- name: 'chosenTemplate',
26
- message: '请选择要使用的模板:',
27
- choices: availableTemplates.map(t => ({
28
- name: t === 'basic' ? `${t} (基础模板)` :
29
- t === 'antd' ? `${t} (Ant Design Pro)` : t,
30
- value: t
31
- }))
32
- }
50
+ type: "list",
51
+ name: "chosenTemplate",
52
+ message: "选择项目模板:",
53
+ choices: templateChoices,
54
+ default: BASE_TEMPLATE, // 默认选择qiankun
55
+ },
33
56
  ]);
34
57
  selectedTemplate = chosenTemplate;
35
58
  }
36
-
59
+
60
+ console.log(chalk.cyan(`📋 使用模板: ${selectedTemplate}`));
61
+
37
62
  const targetDir = path.resolve(projectName);
38
-
63
+
39
64
  // 检查目录是否已存在
40
65
  if (await fs.pathExists(targetDir)) {
41
66
  const { overwrite } = await inquirer.prompt([
42
67
  {
43
- type: 'confirm',
44
- name: 'overwrite',
68
+ type: "confirm",
69
+ name: "overwrite",
45
70
  message: `目录 ${projectName} 已存在,是否覆盖?`,
46
- default: false
47
- }
71
+ default: false,
72
+ },
48
73
  ]);
49
-
74
+
50
75
  if (!overwrite) {
51
- console.log(chalk.red('❌ 项目创建取消'));
76
+ console.log(chalk.red("❌ 项目创建取消"));
52
77
  return;
53
78
  }
54
-
79
+
55
80
  await fs.remove(targetDir);
56
81
  }
57
-
58
- const spinner = ora('正在创建项目...').start();
59
-
82
+
83
+ // 询问用户是否获取最新版本
84
+ const { useLatestVersions } = await inquirer.prompt([
85
+ {
86
+ type: 'confirm',
87
+ name: 'useLatestVersions',
88
+ message: '是否获取依赖包的最新版本?(推荐)',
89
+ default: true, // 默认为true,用户按回车就是获取最新版本
90
+ },
91
+ ]);
92
+
93
+ const spinner = ora("正在创建项目...").start();
94
+
60
95
  try {
61
96
  // 生成项目文件
62
- await generateTemplate(projectName, selectedTemplate, targetDir);
63
-
64
- spinner.succeed('项目文件生成完成');
65
-
66
- console.log(chalk.green('✅ 项目创建成功!'));
67
- console.log('');
97
+ await generateTemplate(projectName, selectedTemplate, targetDir, useLatestVersions);
98
+
99
+ spinner.succeed("项目文件生成完成");
100
+
101
+ console.log(chalk.green("✅ 项目创建成功!"));
102
+ console.log("");
68
103
  console.log(chalk.cyan(`📁 进入项目目录: cd ${projectName}`));
69
- console.log(chalk.cyan('📦 安装依赖: npm install 或 yarn'));
70
- console.log(chalk.cyan('🚀 启动项目: npm start 或 yarn start'));
71
-
104
+ console.log(chalk.cyan("📦 安装依赖: npm install 或 yarn"));
105
+ console.log(chalk.cyan("🚀 启动项目: npm start 或 yarn start"));
72
106
  } catch (error) {
73
- spinner.fail('项目创建失败');
107
+ spinner.fail("项目创建失败");
74
108
  console.error(chalk.red(error.message));
75
109
  process.exit(1);
76
110
  }
77
111
  }
78
112
 
79
113
  async function initProject(options) {
80
- const { template = 'basic' } = options;
114
+ const { template } = options;
81
115
  const projectName = path.basename(process.cwd());
82
-
116
+
83
117
  console.log(`🚀 初始化 Umi4 项目...`);
84
-
118
+
85
119
  // 获取可用模板列表
86
120
  const availableTemplates = await getAvailableTemplates();
87
-
88
- // 如果指定的模板不存在,让用户选择
121
+
89
122
  let selectedTemplate = template;
90
- if (!availableTemplates.includes(template)) {
91
- console.log(chalk.yellow(`⚠️ 模板 "${template}" 不存在`));
92
- console.log(chalk.blue(`📋 可用模板: ${availableTemplates.join(', ')}`));
93
-
123
+
124
+ // 如果没有指定模板,或者指定的模板不存在,让用户选择
125
+ if (!template || !availableTemplates.includes(template)) {
126
+ if (template && !availableTemplates.includes(template)) {
127
+ console.log(chalk.yellow(`⚠️ 模板 "${template}" 不存在`));
128
+ }
129
+
130
+ console.log(chalk.blue(`📋 请选择项目模板:`));
131
+
94
132
  const { chosenTemplate } = await inquirer.prompt([
95
133
  {
96
- type: 'list',
97
- name: 'chosenTemplate',
98
- message: '请选择要使用的模板:',
99
- choices: availableTemplates.map(t => ({
100
- name: t === 'basic' ? `${t} (基础模板)` :
101
- t === 'antd' ? `${t} (Ant Design Pro)` : t,
102
- value: t
103
- }))
104
- }
134
+ type: "list",
135
+ name: "chosenTemplate",
136
+ message: "选择项目模板:",
137
+ choices: templateChoices,
138
+ default: BASE_TEMPLATE, // 默认选择antd
139
+ },
105
140
  ]);
106
141
  selectedTemplate = chosenTemplate;
107
142
  }
108
-
143
+
144
+ console.log(chalk.cyan(`📋 使用模板: ${selectedTemplate}`));
145
+
109
146
  const targetDir = process.cwd();
110
-
147
+
111
148
  // 检查当前目录是否为空
112
149
  const files = await fs.readdir(targetDir);
113
150
  if (files.length > 0) {
114
151
  const { proceed } = await inquirer.prompt([
115
152
  {
116
- type: 'confirm',
117
- name: 'proceed',
118
- message: '当前目录不为空,是否继续?',
119
- default: false
120
- }
153
+ type: "confirm",
154
+ name: "proceed",
155
+ message: "当前目录不为空,是否继续?",
156
+ default: false,
157
+ },
121
158
  ]);
122
-
159
+
123
160
  if (!proceed) {
124
- console.log(chalk.red('❌ 项目初始化取消'));
161
+ console.log(chalk.red("❌ 项目初始化取消"));
125
162
  return;
126
163
  }
127
164
  }
128
-
129
- const spinner = ora('正在初始化项目...').start();
130
-
165
+
166
+ const spinner = ora("正在初始化项目...").start();
167
+
131
168
  try {
132
169
  // 生成项目文件
133
170
  await generateTemplate(projectName, selectedTemplate, targetDir);
134
-
135
- spinner.succeed('项目文件生成完成');
136
-
137
- console.log(chalk.green('✅ 项目初始化成功!'));
138
- console.log('');
139
- console.log(chalk.cyan('📦 安装依赖: npm install 或 yarn'));
140
- console.log(chalk.cyan('🚀 启动项目: npm start 或 yarn start'));
141
-
171
+
172
+ spinner.succeed("项目文件生成完成");
173
+
174
+ console.log(chalk.green("✅ 项目初始化成功!"));
175
+ console.log("");
176
+ console.log(chalk.cyan("📦 安装依赖: npm install 或 yarn"));
177
+ console.log(chalk.cyan("🚀 启动项目: npm start 或 yarn start"));
142
178
  } catch (error) {
143
- spinner.fail('项目初始化失败');
179
+ spinner.fail("项目初始化失败");
144
180
  console.error(chalk.red(error.message));
145
181
  process.exit(1);
146
182
  }
@@ -148,5 +184,5 @@ async function initProject(options) {
148
184
 
149
185
  module.exports = {
150
186
  createProject,
151
- initProject
152
- };
187
+ initProject,
188
+ };
@@ -12,17 +12,17 @@
12
12
  "start": "npm run dev"
13
13
  },
14
14
  "dependencies": {
15
- "@umijs/max": "^4.0.0",
16
- "@ant-design/pro-components": "^2.6.0",
17
- "@ant-design/icons": "^5.0.0",
18
- "antd": "^5.0.0",
19
- "react": "^18.2.0",
20
- "react-dom": "^18.2.0"
15
+ "@umijs/max": "{{@umijs/max}}",
16
+ "@ant-design/pro-components": "{{@ant-design/pro-components}}",
17
+ "@ant-design/icons": "{{@ant-design/icons}}",
18
+ "antd": "{{antd}}",
19
+ "react": "{{react}}",
20
+ "react-dom": "{{react-dom}}"
21
21
  },
22
22
  "devDependencies": {
23
- "@types/react": "^18.0.0",
24
- "@types/react-dom": "^18.0.0",
25
- "prettier": "^2.7.1",
26
- "typescript": "^5.0.0"
23
+ "@types/react": "{{@types/react}}",
24
+ "@types/react-dom": "{{@types/react-dom}}",
25
+ "prettier": "{{prettier}}",
26
+ "typescript": "{{typescript}}"
27
27
  }
28
28
  }
@@ -12,16 +12,16 @@
12
12
  "start": "npm run dev"
13
13
  },
14
14
  "dependencies": {
15
- "@umijs/max": "^4.0.0",
16
- "@ant-design/pro-components": "^2.6.0",
17
- "antd": "^5.0.0",
18
- "react": "^18.2.0",
19
- "react-dom": "^18.2.0"
15
+ "@umijs/max": "{{@umijs/max}}",
16
+ "@ant-design/pro-components": "{{@ant-design/pro-components}}",
17
+ "antd": "{{antd}}",
18
+ "react": "{{react}}",
19
+ "react-dom": "{{react-dom}}"
20
20
  },
21
21
  "devDependencies": {
22
- "@types/react": "^18.0.0",
23
- "@types/react-dom": "^18.0.0",
24
- "prettier": "^2.7.1",
25
- "typescript": "^5.0.0"
22
+ "@types/react": "{{@types/react}}",
23
+ "@types/react-dom": "{{@types/react-dom}}",
24
+ "prettier": "{{prettier}}",
25
+ "typescript": "{{typescript}}"
26
26
  }
27
27
  }
@@ -28,7 +28,7 @@ const HomePage: React.FC = () => {
28
28
  <a href="https://umijs.org/" target="_blank" rel="noopener noreferrer">
29
29
  查看 Umi 文档
30
30
  </a>
31
- <a href="https://github.com/yourusername/ysj-cli" target="_blank" rel="noopener noreferrer">
31
+ <a href="https://github.com/Ivan-YangSj/umi-cli" target="_blank" rel="noopener noreferrer">
32
32
  GitHub 仓库
33
33
  </a>
34
34
  </div>
@@ -1,5 +1,5 @@
1
1
  {
2
- "printWidth": 80,
2
+ "printWidth": 120,
3
3
  "singleQuote": true,
4
4
  "trailingComma": "all",
5
5
  "proseWrap": "never",
@@ -1,70 +1,132 @@
1
1
  const fs = require('fs-extra');
2
2
  const path = require('path');
3
+ const inquirer = require('inquirer');
4
+ const { TEMPLATES_TYPES } = require('../constants');
5
+ const { getCommonPackageVersions, getCustomPackageVersions } = require('../utils/version');
3
6
 
4
- // 模板变量替换函数
7
+ /**
8
+ * 模板变量替换函数
9
+ * 将模板文件中的占位符(如{{projectName}})替换为实际的值
10
+ * @param {string} content - 文件内容
11
+ * @param {object} variables - 变量对象,包含要替换的键值对
12
+ * @returns {string} 替换后的内容
13
+ */
5
14
  function replaceTemplateVariables(content, variables) {
6
15
  let result = content;
16
+ // 遍历所有变量,逐一替换
7
17
  for (const [key, value] of Object.entries(variables)) {
18
+ // 创建占位符格式:{{变量名}}
8
19
  const placeholder = `{{${key}}}`;
20
+ // 全局替换所有匹配的占位符
9
21
  result = result.replace(new RegExp(placeholder, 'g'), value || '');
10
22
  }
11
23
  return result;
12
24
  }
13
25
 
14
- // 递归复制目录并替换模板变量
26
+ /**
27
+ * 递归复制目录并替换模板变量
28
+ * 这是核心函数,负责将模板目录完整复制到目标位置,并处理模板变量
29
+ * @param {string} srcDir - 源目录路径(模板目录)
30
+ * @param {string} destDir - 目标目录路径(项目生成位置)
31
+ * @param {object} variables - 模板变量对象
32
+ */
15
33
  async function copyTemplateDir(srcDir, destDir, variables) {
34
+ // 确保目标目录存在,如果不存在则创建
16
35
  await fs.ensureDir(destDir);
17
36
 
37
+ // 读取源目录下的所有文件和文件夹
18
38
  const items = await fs.readdir(srcDir);
19
39
 
40
+ // 遍历每个项目(文件或文件夹)
20
41
  for (const item of items) {
21
- const srcPath = path.join(srcDir, item);
22
- const destPath = path.join(destDir, item);
42
+ const srcPath = path.join(srcDir, item); // 源文件/文件夹的完整路径
43
+ const destPath = path.join(destDir, item); // 目标文件/文件夹的完整路径
23
44
 
45
+ // 获取文件/文件夹的统计信息
24
46
  const stat = await fs.stat(srcPath);
25
47
 
26
48
  if (stat.isDirectory()) {
27
- // 递归处理子目录
49
+ // 如果是目录,递归调用自己,复制整个子目录
28
50
  await copyTemplateDir(srcPath, destPath, variables);
29
51
  } else {
30
- // 处理文件
52
+ // 如果是文件,读取文件内容并处理模板变量
31
53
  const content = await fs.readFile(srcPath, 'utf8');
54
+ // 替换文件中的模板变量(如{{projectName}})
32
55
  const processedContent = replaceTemplateVariables(content, variables);
56
+ // 将处理后的内容写入目标文件
33
57
  await fs.writeFile(destPath, processedContent);
34
58
  }
35
59
  }
36
60
  }
37
61
 
38
- async function generateTemplate(projectName, templateType, targetDir) {
62
+ /**
63
+ * 生成模板项目的主函数
64
+ * @param {string} projectName - 项目名称
65
+ * @param {string} templateType - 模板类型(如react、vue等)
66
+ * @param {string} targetDir - 目标生成目录
67
+ */
68
+ async function generateTemplate(projectName, templateType, targetDir, useLatestVersions) {
69
+ // 获取模板根目录路径
39
70
  const templatesDir = path.join(__dirname, './');
71
+ // 构建特定模板目录路径
40
72
  const templateDir = path.join(templatesDir, templateType);
73
+ // 构建通用文件目录路径
41
74
  const commonDir = path.join(templatesDir, 'common');
42
75
 
43
- // 检查模板是否存在
76
+ // 检查指定的模板是否存在
44
77
  if (!await fs.pathExists(templateDir)) {
45
78
  throw new Error(`模板 "${templateType}" 不存在`);
46
79
  }
80
+
81
+ let packageVersions = {};
82
+ let customPackageVersions = {};
83
+
84
+ if (useLatestVersions) {
85
+ // 获取最新版本信息
86
+ console.log('📦 正在获取依赖包最新版本...');
87
+ packageVersions = await getCommonPackageVersions();
88
+ customPackageVersions = await getCustomPackageVersions({
89
+ '@cfmm/umi-plugins-ui': '^0.0.72',
90
+ '@cfmm/umi-plugins-utils': '^0.0.22'
91
+ });
92
+ } else {
93
+ console.log('📦 使用默认版本,从version.js获取默认版本映射...')
94
+ const { getDefaultVersions } = require('../utils/version');
95
+ packageVersions = getDefaultVersions();
96
+ }
47
97
 
48
- // 模板变量
98
+ // 定义模板变量,这些变量会在模板文件中被替换
49
99
  const variables = {
50
- projectName: projectName || 'my-umi-app'
100
+ projectName: projectName || 'my-umi-app',
101
+ ...packageVersions, // 将版本信息作为变量传入
102
+ ...customPackageVersions // 将自定义包版本信息作为变量传入
51
103
  };
52
104
 
53
105
  // 确保目标目录存在
54
106
  await fs.ensureDir(targetDir);
55
107
 
56
- // 首先创建基础目录结构
57
- const baseDirs = ['src/pages', 'src/components', 'src/services', 'src/utils'];
58
- for (const dir of baseDirs) {
59
- await fs.ensureDir(path.join(targetDir, dir));
108
+ // 创建项目的基础目录结构
109
+ // 这些是前端项目常用的目录结构
110
+ const baseDirs = [
111
+ 'src/pages', // 页面组件目录
112
+ 'src/components', // 公共组件目录
113
+ 'src/services', // API服务目录
114
+ 'src/utils' // 工具函数目录
115
+ ];
116
+
117
+ if(templateType !== TEMPLATES_TYPES.qiankun) {
118
+ // 遍历并创建所有基础目录
119
+ for (const dir of baseDirs) {
120
+ await fs.ensureDir(path.join(targetDir, dir));
121
+ }
60
122
  }
61
123
 
62
- // 复制模板特定的文件
124
+ // 复制模板特定的文件(如React模板、Vue模板等)
63
125
  console.log(`📂 正在复制模板文件...`);
64
126
  await copyTemplateDir(templateDir, targetDir, variables);
65
127
 
66
- // 复制通用文件
67
- if (await fs.pathExists(commonDir)) {
128
+ // qiankun不需要,复制通用文件(如配置文件、README等,所有模板都需要的文件)
129
+ if (await fs.pathExists(commonDir) && templateType !== TEMPLATES_TYPES.qiankun) {
68
130
  console.log(`📄 正在复制通用配置文件...`);
69
131
  await copyTemplateDir(commonDir, targetDir, variables);
70
132
  }
@@ -72,14 +134,20 @@ async function generateTemplate(projectName, templateType, targetDir) {
72
134
  console.log(`✅ 模板文件复制完成`);
73
135
  }
74
136
 
75
- // 获取可用的模板列表
137
+ /**
138
+ * 获取所有可用的模板列表
139
+ * 扫描模板目录,返回所有可用的模板类型
140
+ * @returns {Array<string>} 可用模板列表
141
+ */
76
142
  async function getAvailableTemplates() {
77
143
  const templatesDir = path.join(__dirname, './');
78
144
 
145
+ // 如果模板目录不存在,返回空数组
79
146
  if (!await fs.pathExists(templatesDir)) {
80
147
  return [];
81
148
  }
82
149
 
150
+ // 读取模板目录下的所有项目
83
151
  const items = await fs.readdir(templatesDir);
84
152
  const templates = [];
85
153
 
@@ -87,7 +155,8 @@ async function getAvailableTemplates() {
87
155
  const itemPath = path.join(templatesDir, item);
88
156
  const stat = await fs.stat(itemPath);
89
157
 
90
- // 排除common目录和index.js文件,只返回实际的模板目录
158
+ // 只返回目录类型的模板,排除common目录和index.js文件
159
+ // common目录是通用文件目录,不是模板类型
91
160
  if (stat.isDirectory() && item !== 'common') {
92
161
  templates.push(item);
93
162
  }
@@ -96,7 +165,8 @@ async function getAvailableTemplates() {
96
165
  return templates;
97
166
  }
98
167
 
168
+ // 导出主要功能函数
99
169
  module.exports = {
100
- generateTemplate,
101
- getAvailableTemplates
170
+ generateTemplate, // 生成模板项目
171
+ getAvailableTemplates // 获取可用模板列表
102
172
  };