adspecs 0.1.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.adspecs/extensions/.registry +30 -0
- package/.adspecs/extensions/git/README.md +100 -0
- package/.adspecs/extensions/git/commands/adspecs.git.commit.md +48 -0
- package/.adspecs/extensions/git/commands/adspecs.git.feature.md +67 -0
- package/.adspecs/extensions/git/commands/adspecs.git.initialize.md +49 -0
- package/.adspecs/extensions/git/commands/adspecs.git.remote.md +45 -0
- package/.adspecs/extensions/git/commands/adspecs.git.validate.md +49 -0
- package/.adspecs/extensions/git/config-template.yml +62 -0
- package/.adspecs/extensions/git/extension.yml +140 -0
- package/.adspecs/extensions/git/git-config.yml +62 -0
- package/.adspecs/extensions/git/scripts/bash/auto-commit.sh +140 -0
- package/.adspecs/extensions/git/scripts/bash/create-new-feature.sh +453 -0
- package/.adspecs/extensions/git/scripts/bash/git-common.sh +54 -0
- package/.adspecs/extensions/git/scripts/bash/initialize-repo.sh +54 -0
- package/.adspecs/extensions/git/scripts/powershell/auto-commit.ps1 +169 -0
- package/.adspecs/extensions/git/scripts/powershell/create-new-feature.ps1 +403 -0
- package/.adspecs/extensions/git/scripts/powershell/git-common.ps1 +51 -0
- package/.adspecs/extensions/git/scripts/powershell/initialize-repo.ps1 +69 -0
- package/.adspecs/extensions.yml +165 -0
- package/.adspecs/feature.json +16 -0
- package/.adspecs/feature.yml +28 -0
- package/.adspecs/project.json +8 -0
- package/.adspecs/scripts/bash/check-prerequisites.sh +195 -0
- package/.adspecs/scripts/bash/common.sh +640 -0
- package/.adspecs/scripts/bash/create-new-feature.sh +301 -0
- package/.adspecs/scripts/bash/setup-plan.sh +84 -0
- package/.adspecs/scripts/bash/setup-tasks.sh +91 -0
- package/.adspecs/scripts/powershell/check-prerequisites.ps1 +149 -0
- package/.adspecs/scripts/powershell/common.ps1 +545 -0
- package/.adspecs/scripts/powershell/create-new-feature.ps1 +237 -0
- package/.adspecs/scripts/powershell/setup-plan.ps1 +64 -0
- package/.adspecs/scripts/powershell/setup-tasks.ps1 +70 -0
- package/.adspecs/scripts/python/check_prerequisites.py +207 -0
- package/.adspecs/scripts/python/common.py +210 -0
- package/.adspecs/templates/01-/344/270/232/345/212/241/351/234/200/346/261/202/345/210/206/346/236/220/346/250/241/346/235/277.md +228 -0
- package/.adspecs/templates/02-/344/272/247/345/223/201/351/234/200/346/261/202/350/257/264/346/230/216/344/271/246/346/250/241/346/235/277.md +623 -0
- package/.adspecs/templates/03-/347/263/273/347/273/237/350/256/276/350/256/241/346/250/241/346/235/277.md +1878 -0
- package/.adspecs/templates/04-/345/211/215/347/253/257/345/212/237/350/203/275/350/256/276/350/256/241/346/250/241/346/235/277.md +176 -0
- package/.adspecs/templates/05-/345/220/216/347/253/257/344/273/273/345/212/241/346/270/205/345/215/225/346/250/241/346/235/277.md +724 -0
- package/.adspecs/templates/05b-/345/211/215/347/253/257/344/273/273/345/212/241/346/270/205/345/215/225/346/250/241/346/235/277.md +492 -0
- package/.adspecs/templates/06-/344/273/243/347/240/201/350/257/204/345/256/241/346/212/245/345/221/212/346/250/241/346/235/277.md +1012 -0
- package/.adspecs/templates/07-/345/215/225/345/205/203/346/265/213/350/257/225/346/212/245/345/221/212/346/250/241/346/235/277.md +694 -0
- package/.adspecs/templates/08-/347/263/273/347/273/237/351/233/206/346/210/220/346/265/213/350/257/225/346/212/245/345/221/212/346/250/241/346/235/277.md +1098 -0
- package/.adspecs/templates/09-/346/200/247/350/203/275/346/265/213/350/257/225/346/212/245/345/221/212/346/250/241/346/235/277.md +610 -0
- package/.adspecs/templates/10-/345/256/211/345/205/250/346/243/200/346/237/245/346/270/205/345/215/225.md +912 -0
- package/.adspecs/templates/11-/344/273/243/347/240/201/350/264/250/351/207/217/346/240/207/345/207/206.md +753 -0
- package/.adspecs/templates/13-/346/265/213/350/257/225/347/224/250/344/276/213/346/250/241/346/235/277.md +543 -0
- package/.adspecs/templates/14-/351/234/200/346/261/202/350/277/275/346/272/257/347/237/251/351/230/265/346/250/241/346/235/277.md +225 -0
- package/.adspecs/templates/15-/344/270/232/345/212/241/345/212/237/350/203/275/346/236/266/346/236/204/346/226/207/346/241/243/346/250/241/346/235/277.md +168 -0
- package/.adspecs/templates/16-/347/263/273/347/273/237/346/236/266/346/236/204/350/256/276/350/256/241/346/250/241/346/235/277.md +608 -0
- package/.adspecs/templates/17-/345/255/220/346/250/241/345/235/227/344/276/235/350/265/226/345/205/263/347/263/273/346/250/241/346/235/277.md +308 -0
- package/.adspecs/templates/18-/347/273/237/344/270/200/346/225/260/346/215/256/346/250/241/345/236/213/346/250/241/346/235/277.md +297 -0
- package/.adspecs/templates/19-/351/241/271/347/233/256/347/233/256/345/275/225/347/273/223/346/236/204/346/250/241/346/235/277.md +468 -0
- package/.adspecs/templates/20-/345/267/245/344/275/234/350/257/264/346/230/216/344/271/246SOW/346/250/241/346/235/277.md +372 -0
- package/.adspecs/templates/21-/344/270/232/345/212/241/346/226/271/346/241/210/346/250/241/346/235/277.md +661 -0
- package/.adspecs/workflows/adspecs/workflow.yml +82 -0
- package/.adspecs/workflows/workflow-registry.json +13 -0
- package/.claude-plugin/marketplace.json +23 -0
- package/.claude-plugin/plugin.json +14 -0
- package/.qoder-plugin/plugin.json +21 -0
- package/CHANGELOG.md +1 -0
- package/CLAUDE.md +207 -0
- package/INSTALL.md +134 -0
- package/LICENSE +201 -0
- package/README.md +605 -0
- package/bin/adspecs.js +126 -0
- package/hooks/commit-queue.js +245 -0
- package/hooks/hooks.json +63 -0
- package/hooks/session-start.js +44 -0
- package/hooks/wiki-queue.js +127 -0
- package/package.json +61 -0
- package/references/ant6-front-standard/01-/345/237/272/347/241/200/350/247/204/350/214/203.md +181 -0
- package/references/ant6-front-standard/02-/347/273/204/344/273/266/350/247/204/350/214/203.md +189 -0
- package/references/ant6-front-standard/03-/345/210/227/350/241/250/350/247/204/350/214/203.md +147 -0
- package/references/ant6-front-standard/04-/350/241/250/345/215/225/350/247/204/350/214/203.md +312 -0
- package/references/ant6-front-standard/05-/345/211/215/347/253/257/347/274/226/347/240/201/350/247/204/350/214/203.md +1443 -0
- package/references/ant6-front-standard/05-/350/267/257/347/224/261/347/212/266/346/200/201/346/216/245/345/217/243/350/247/204/350/214/203.md +175 -0
- package/references/ant6-front-standard/06-/345/233/275/351/231/205/345/214/226/350/247/204/350/214/203.md +126 -0
- package/references/ant6-front-standard/07-/345/255/227/345/205/270/346/235/203/351/231/220/350/247/204/350/214/203.md +71 -0
- package/references/ant6-front-standard/08-/346/200/247/350/203/275/350/264/250/351/207/217/350/247/204/350/214/203.md +91 -0
- package/references/ant6-front-standard/09-/345/270/270/350/247/201/351/227/256/351/242/230/350/247/204/350/214/203.md +87 -0
- package/references/ant6-front-standard/index.md +100 -0
- package/references/ant6-front-standard/vue/350/277/201/347/247/273/345/210/260react/350/247/204/350/214/203.md +37 -0
- package/references/antd-front-demo/.env +15 -0
- package/references/antd-front-demo/.env.production +7 -0
- package/references/antd-front-demo/eslint.config.js +23 -0
- package/references/antd-front-demo/index.html +16 -0
- package/references/antd-front-demo/package-lock.json +6603 -0
- package/references/antd-front-demo/package.json +53 -0
- package/references/antd-front-demo/public/favicon.svg +4 -0
- package/references/antd-front-demo/public/mockServiceWorker.js +361 -0
- package/references/antd-front-demo/src/App.tsx +68 -0
- package/references/antd-front-demo/src/api/aps/coil.ts +42 -0
- package/references/antd-front-demo/src/api/aps/order.ts +42 -0
- package/references/antd-front-demo/src/api/aps/param.ts +19 -0
- package/references/antd-front-demo/src/api/aps/plan.ts +30 -0
- package/references/antd-front-demo/src/api/aps/task.ts +31 -0
- package/references/antd-front-demo/src/api/auth.ts +41 -0
- package/references/antd-front-demo/src/api/mdm/codeRule.ts +23 -0
- package/references/antd-front-demo/src/api/mdm/coding-system.ts +130 -0
- package/references/antd-front-demo/src/api/system/dept.ts +38 -0
- package/references/antd-front-demo/src/api/system/dict-data.ts +42 -0
- package/references/antd-front-demo/src/api/system/dict-type.ts +35 -0
- package/references/antd-front-demo/src/api/system/menu.ts +38 -0
- package/references/antd-front-demo/src/api/system/post.ts +15 -0
- package/references/antd-front-demo/src/api/system/role.ts +42 -0
- package/references/antd-front-demo/src/api/system/user.ts +48 -0
- package/references/antd-front-demo/src/components/Access/index.tsx +14 -0
- package/references/antd-front-demo/src/components/DictTag/index.tsx +29 -0
- package/references/antd-front-demo/src/components/Footer/index.tsx +35 -0
- package/references/antd-front-demo/src/components/Icon/iconMap.ts +131 -0
- package/references/antd-front-demo/src/components/Icon/index.tsx +62 -0
- package/references/antd-front-demo/src/hooks/useAccess.ts +5 -0
- package/references/antd-front-demo/src/i18n/index.ts +22 -0
- package/references/antd-front-demo/src/layouts/AdminLayout/Header.tsx +137 -0
- package/references/antd-front-demo/src/layouts/AdminLayout/Sidebar.tsx +103 -0
- package/references/antd-front-demo/src/layouts/AdminLayout/StyleSettings.tsx +165 -0
- package/references/antd-front-demo/src/layouts/AdminLayout/index.tsx +25 -0
- package/references/antd-front-demo/src/locales/en-US/aps/coil.ts +18 -0
- package/references/antd-front-demo/src/locales/en-US/aps/order.ts +27 -0
- package/references/antd-front-demo/src/locales/en-US/aps/param.ts +32 -0
- package/references/antd-front-demo/src/locales/en-US/aps/plan.ts +33 -0
- package/references/antd-front-demo/src/locales/en-US/aps/task.ts +33 -0
- package/references/antd-front-demo/src/locales/en-US/common.ts +27 -0
- package/references/antd-front-demo/src/locales/en-US/components/upload.ts +12 -0
- package/references/antd-front-demo/src/locales/en-US/dashboard.ts +18 -0
- package/references/antd-front-demo/src/locales/en-US/header.ts +27 -0
- package/references/antd-front-demo/src/locales/en-US/login.ts +42 -0
- package/references/antd-front-demo/src/locales/en-US/mdm/codeRule.ts +20 -0
- package/references/antd-front-demo/src/locales/en-US/mdm/coding-system-state-flow.ts +28 -0
- package/references/antd-front-demo/src/locales/en-US/mdm/coding-system.ts +139 -0
- package/references/antd-front-demo/src/locales/en-US/menu.ts +18 -0
- package/references/antd-front-demo/src/locales/en-US/profile.ts +38 -0
- package/references/antd-front-demo/src/locales/en-US/system/dept.ts +20 -0
- package/references/antd-front-demo/src/locales/en-US/system/dict.ts +30 -0
- package/references/antd-front-demo/src/locales/en-US/system/menu.ts +28 -0
- package/references/antd-front-demo/src/locales/en-US/system/role.ts +18 -0
- package/references/antd-front-demo/src/locales/en-US/system/user.ts +29 -0
- package/references/antd-front-demo/src/locales/zh-CN/aps/coil.ts +18 -0
- package/references/antd-front-demo/src/locales/zh-CN/aps/order.ts +27 -0
- package/references/antd-front-demo/src/locales/zh-CN/aps/param.ts +32 -0
- package/references/antd-front-demo/src/locales/zh-CN/aps/plan.ts +33 -0
- package/references/antd-front-demo/src/locales/zh-CN/aps/task.ts +33 -0
- package/references/antd-front-demo/src/locales/zh-CN/common.ts +27 -0
- package/references/antd-front-demo/src/locales/zh-CN/components/upload.ts +12 -0
- package/references/antd-front-demo/src/locales/zh-CN/dashboard.ts +18 -0
- package/references/antd-front-demo/src/locales/zh-CN/header.ts +27 -0
- package/references/antd-front-demo/src/locales/zh-CN/login.ts +42 -0
- package/references/antd-front-demo/src/locales/zh-CN/mdm/codeRule.ts +20 -0
- package/references/antd-front-demo/src/locales/zh-CN/mdm/coding-system-state-flow.ts +28 -0
- package/references/antd-front-demo/src/locales/zh-CN/mdm/coding-system.ts +154 -0
- package/references/antd-front-demo/src/locales/zh-CN/menu.ts +18 -0
- package/references/antd-front-demo/src/locales/zh-CN/profile.ts +38 -0
- package/references/antd-front-demo/src/locales/zh-CN/system/dept.ts +20 -0
- package/references/antd-front-demo/src/locales/zh-CN/system/dict.ts +30 -0
- package/references/antd-front-demo/src/locales/zh-CN/system/menu.ts +28 -0
- package/references/antd-front-demo/src/locales/zh-CN/system/role.ts +18 -0
- package/references/antd-front-demo/src/locales/zh-CN/system/user.ts +29 -0
- package/references/antd-front-demo/src/main.tsx +18 -0
- package/references/antd-front-demo/src/mocks/browser.ts +10 -0
- package/references/antd-front-demo/src/mocks/data/aps.ts +255 -0
- package/references/antd-front-demo/src/mocks/data/index.ts +382 -0
- package/references/antd-front-demo/src/mocks/handlers/apsCoil.ts +151 -0
- package/references/antd-front-demo/src/mocks/handlers/apsOrder.ts +166 -0
- package/references/antd-front-demo/src/mocks/handlers/apsParam.ts +71 -0
- package/references/antd-front-demo/src/mocks/handlers/apsPlan.ts +98 -0
- package/references/antd-front-demo/src/mocks/handlers/apsTask.ts +249 -0
- package/references/antd-front-demo/src/mocks/handlers/auth.ts +244 -0
- package/references/antd-front-demo/src/mocks/handlers/codeRule.ts +141 -0
- package/references/antd-front-demo/src/mocks/handlers/coding-system.ts +256 -0
- package/references/antd-front-demo/src/mocks/handlers/dept.ts +154 -0
- package/references/antd-front-demo/src/mocks/handlers/dict.ts +297 -0
- package/references/antd-front-demo/src/mocks/handlers/image.ts +13 -0
- package/references/antd-front-demo/src/mocks/handlers/index.ts +33 -0
- package/references/antd-front-demo/src/mocks/handlers/menu.ts +132 -0
- package/references/antd-front-demo/src/mocks/handlers/post.ts +19 -0
- package/references/antd-front-demo/src/mocks/handlers/role.ts +184 -0
- package/references/antd-front-demo/src/mocks/handlers/user.ts +223 -0
- package/references/antd-front-demo/src/pages/aps/coil/components/CoilDrawer.tsx +141 -0
- package/references/antd-front-demo/src/pages/aps/coil/index.tsx +209 -0
- package/references/antd-front-demo/src/pages/aps/optimization/index.tsx +192 -0
- package/references/antd-front-demo/src/pages/aps/order/components/OrderDrawer.tsx +251 -0
- package/references/antd-front-demo/src/pages/aps/order/index.tsx +273 -0
- package/references/antd-front-demo/src/pages/aps/param/index.tsx +153 -0
- package/references/antd-front-demo/src/pages/aps/plan/components/CuttingPlanVisualization.tsx +821 -0
- package/references/antd-front-demo/src/pages/aps/plan/index.tsx +254 -0
- package/references/antd-front-demo/src/pages/aps/task/index.tsx +190 -0
- package/references/antd-front-demo/src/pages/dashboard/index.tsx +67 -0
- package/references/antd-front-demo/src/pages/error/404/index.tsx +25 -0
- package/references/antd-front-demo/src/pages/login/components/ForgetPasswordForm.tsx +101 -0
- package/references/antd-front-demo/src/pages/login/components/LoginForm.tsx +83 -0
- package/references/antd-front-demo/src/pages/login/components/RegisterForm.tsx +69 -0
- package/references/antd-front-demo/src/pages/login/components/index.ts +3 -0
- package/references/antd-front-demo/src/pages/login/index.module.css +62 -0
- package/references/antd-front-demo/src/pages/login/index.tsx +60 -0
- package/references/antd-front-demo/src/pages/mdm/coding-system/approval/index.tsx +227 -0
- package/references/antd-front-demo/src/pages/mdm/coding-system/code-log/index.tsx +103 -0
- package/references/antd-front-demo/src/pages/mdm/coding-system/code-mapping/components/CodeMappingDrawer.tsx +120 -0
- package/references/antd-front-demo/src/pages/mdm/coding-system/code-mapping/index.tsx +170 -0
- package/references/antd-front-demo/src/pages/mdm/coding-system/code-rule/components/CodeRuleDrawer.tsx +235 -0
- package/references/antd-front-demo/src/pages/mdm/coding-system/code-rule/index.tsx +204 -0
- package/references/antd-front-demo/src/pages/mdm/coding-system/state-flow/index.tsx +101 -0
- package/references/antd-front-demo/src/pages/mdm/coding-system/sync/index.tsx +151 -0
- package/references/antd-front-demo/src/pages/mdm/coding-system/variable-dict/components/VariableDictDrawer.tsx +108 -0
- package/references/antd-front-demo/src/pages/mdm/coding-system/variable-dict/index.tsx +163 -0
- package/references/antd-front-demo/src/pages/profile/index.tsx +136 -0
- package/references/antd-front-demo/src/pages/system/dept/components/DeptDrawer.tsx +157 -0
- package/references/antd-front-demo/src/pages/system/dept/index.tsx +224 -0
- package/references/antd-front-demo/src/pages/system/dict/components/DictDataDrawer.tsx +243 -0
- package/references/antd-front-demo/src/pages/system/dict/components/DictTypeModal.tsx +102 -0
- package/references/antd-front-demo/src/pages/system/dict/index.tsx +162 -0
- package/references/antd-front-demo/src/pages/system/menu/components/MenuDrawer.tsx +215 -0
- package/references/antd-front-demo/src/pages/system/menu/index.tsx +236 -0
- package/references/antd-front-demo/src/pages/system/role/components/RoleDrawer.tsx +118 -0
- package/references/antd-front-demo/src/pages/system/role/index.tsx +142 -0
- package/references/antd-front-demo/src/pages/system/user/components/DeptTree.tsx +71 -0
- package/references/antd-front-demo/src/pages/system/user/components/UserDrawer.tsx +197 -0
- package/references/antd-front-demo/src/pages/system/user/index.tsx +189 -0
- package/references/antd-front-demo/src/router/authGuard.tsx +67 -0
- package/references/antd-front-demo/src/router/dynamicRoutes.tsx +179 -0
- package/references/antd-front-demo/src/router/index.tsx +105 -0
- package/references/antd-front-demo/src/setupTests.ts +1 -0
- package/references/antd-front-demo/src/stores/useAppStore.ts +43 -0
- package/references/antd-front-demo/src/stores/useAuthStore.ts +78 -0
- package/references/antd-front-demo/src/stores/useDictStore.ts +41 -0
- package/references/antd-front-demo/src/types/api.ts +17 -0
- package/references/antd-front-demo/src/types/aps/coil.ts +42 -0
- package/references/antd-front-demo/src/types/aps/order.ts +63 -0
- package/references/antd-front-demo/src/types/aps/param.ts +48 -0
- package/references/antd-front-demo/src/types/aps/plan.ts +59 -0
- package/references/antd-front-demo/src/types/aps/task.ts +66 -0
- package/references/antd-front-demo/src/types/auth.ts +81 -0
- package/references/antd-front-demo/src/types/mdm/codeRule.ts +43 -0
- package/references/antd-front-demo/src/types/mdm/coding-system.ts +187 -0
- package/references/antd-front-demo/src/utils/formatTime.ts +68 -0
- package/references/antd-front-demo/src/utils/menuConverter.ts +113 -0
- package/references/antd-front-demo/src/utils/messageHolder.ts +14 -0
- package/references/antd-front-demo/src/utils/permission.ts +18 -0
- package/references/antd-front-demo/src/utils/request.ts +165 -0
- package/references/antd-front-demo/src/utils/token.ts +91 -0
- package/references/antd-front-demo/tsconfig.app.json +30 -0
- package/references/antd-front-demo/tsconfig.json +7 -0
- package/references/antd-front-demo/tsconfig.node.json +24 -0
- package/references/antd-front-demo/vite.config.ts +30 -0
- package/references/ecp-end-standard/ES/344/275/277/347/224/250/350/247/204/350/214/203.md +231 -0
- package/references/ecp-end-standard/IdToName/344/275/277/347/224/250/350/247/204/350/214/203.md +148 -0
- package/references/ecp-end-standard/Liquibase /346/225/260/346/215/256/345/272/223/345/217/230/346/233/264/347/256/241/347/220/206/350/247/204/350/214/203.md" +197 -0
- package/references/ecp-end-standard/Redis/344/275/277/347/224/250/350/247/204/350/214/203.md +78 -0
- package/references/ecp-end-standard/index.md +63 -0
- package/references/ecp-end-standard//345/210/206/345/270/203/345/274/217/351/224/201/350/247/204/350/214/203.md +65 -0
- package/references/ecp-end-standard//345/220/216/347/253/257/345/210/206/345/261/202/345/274/200/345/217/221/344/270/216/346/225/260/346/215/256/345/272/223/350/256/276/350/256/241/350/247/204/350/214/203.md +385 -0
- package/references/ecp-end-standard//345/244/232/350/257/255/350/250/200/345/217/212/345/205/250/345/261/200/345/274/202/345/270/270/345/244/204/347/220/206/350/247/204/350/214/203.md +442 -0
- package/references/ecp-end-standard//346/226/207/344/273/266/344/270/255/345/277/203/344/275/277/347/224/250/350/247/204/350/214/203.md +278 -0
- package/references/ecp-end-standard//346/265/201/347/250/213/344/270/255/345/277/203/346/216/245/345/205/245/350/247/204/350/214/203.md +464 -0
- package/references/ecp-end-standard//347/274/226/347/240/201/350/207/252/345/212/250/347/224/237/346/210/220/350/247/204/350/214/203.md +69 -0
- package/references/ecp-end-standard//351/200/232/347/224/250/345/267/245/345/205/267/347/261/273/344/275/277/347/224/250/350/247/204/350/214/203.md +189 -0
- package/references/front-demo/.claude/rules/INDEX.md +54 -0
- package/references/front-demo/.claude/rules/api-i18n-rules.md +65 -0
- package/references/front-demo/.claude/rules/gushen-components.md +174 -0
- package/references/front-demo/.claude/rules/page-development-rules.md +262 -0
- package/references/front-demo/.claude/rules/page-template-index.md +374 -0
- package/references/front-demo/.claude/rules/project-overview.md +48 -0
- package/references/front-demo/.claude/skills/generate-vue3-page/SKILL.md +145 -0
- package/references/front-demo/.editorconfig +9 -0
- package/references/front-demo/.gitattributes +1 -0
- package/references/front-demo/.playwright-mcp/page-2026-06-10T08-21-21-503Z.yml +7 -0
- package/references/front-demo/.playwright-mcp/page-2026-06-10T10-02-33-237Z.yml +4 -0
- package/references/front-demo/.prettierrc.json +6 -0
- package/references/front-demo/README.md +39 -0
- package/references/front-demo/app-startup.png +0 -0
- package/references/front-demo/auto-imports.d.ts +10 -0
- package/references/front-demo/build-log.txt +214 -0
- package/references/front-demo/claude.md +62 -0
- package/references/front-demo/components.d.ts +95 -0
- package/references/front-demo/env.d.ts +1 -0
- package/references/front-demo/eslint.config.ts +22 -0
- package/references/front-demo/index.html +22 -0
- package/references/front-demo/package.json +77 -0
- package/references/front-demo/public/apiurls.js +70 -0
- package/references/front-demo/public/config.js +93 -0
- package/references/front-demo/public/favicon.ico +0 -0
- package/references/front-demo/src/App.vue +117 -0
- package/references/front-demo/src/api/app.ts +316 -0
- package/references/front-demo/src/api/attachment.ts +30 -0
- package/references/front-demo/src/api/base-exception/index.ts +87 -0
- package/references/front-demo/src/api/collect/index.ts +37 -0
- package/references/front-demo/src/api/comment/index.ts +44 -0
- package/references/front-demo/src/api/dashboard/index.ts +83 -0
- package/references/front-demo/src/api/dataImport.ts +97 -0
- package/references/front-demo/src/api/dingding/index.ts +43 -0
- package/references/front-demo/src/api/export.ts +25 -0
- package/references/front-demo/src/api/forecast/forecast-order.ts +42 -0
- package/references/front-demo/src/api/forecast/forecastChangeOrder.ts +54 -0
- package/references/front-demo/src/api/forecast/forecastConfig.ts +30 -0
- package/references/front-demo/src/api/forecast/forecastOrder.ts +78 -0
- package/references/front-demo/src/api/home/index.ts +78 -0
- package/references/front-demo/src/api/letters/index.ts +93 -0
- package/references/front-demo/src/api/login.ts +140 -0
- package/references/front-demo/src/api/mdmCustomer/index.ts +77 -0
- package/references/front-demo/src/api/menu/index.ts +79 -0
- package/references/front-demo/src/api/multi-login/index.ts +36 -0
- package/references/front-demo/src/api/personalInformation/index.ts +9 -0
- package/references/front-demo/src/api/portal/index.ts +95 -0
- package/references/front-demo/src/api/practice/index.ts +32 -0
- package/references/front-demo/src/api/product-master-data/__tests__/product.spec.ts +114 -0
- package/references/front-demo/src/api/product-master-data/product.ts +158 -0
- package/references/front-demo/src/api/reset-password/index.ts +16 -0
- package/references/front-demo/src/api/system-manage/dataImport/index.ts +87 -0
- package/references/front-demo/src/api/system-manage/menu/index.ts +34 -0
- package/references/front-demo/src/api/system-manage/reverse-authorization/index.ts +18 -0
- package/references/front-demo/src/api/testMenu/demo1/index.ts +14 -0
- package/references/front-demo/src/api/testMenu/demo2/index.ts +0 -0
- package/references/front-demo/src/api/testMenu/leaveApplication/index.ts +53 -0
- package/references/front-demo/src/api/testMenu/testDemo/index.ts +66 -0
- package/references/front-demo/src/api/update/index.ts +43 -0
- package/references/front-demo/src/api/worktable/agenda.ts +19 -0
- package/references/front-demo/src/api/worktable/approved.ts +32 -0
- package/references/front-demo/src/api/worktable/entrusted.ts +92 -0
- package/references/front-demo/src/api/worktable/myProcess.ts +48 -0
- package/references/front-demo/src/api/worktable/startTask.ts +56 -0
- package/references/front-demo/src/api/worktable/tobeRead.ts +28 -0
- package/references/front-demo/src/api/wx-work/index.ts +43 -0
- package/references/front-demo/src/assets/images/404.png +0 -0
- package/references/front-demo/src/assets/images/404_cloud.png +0 -0
- package/references/front-demo/src/assets/images/compact_layout.png +0 -0
- package/references/front-demo/src/assets/images/dingding.png +0 -0
- package/references/front-demo/src/assets/images/feishu.png +0 -0
- package/references/front-demo/src/assets/images/hover.png +0 -0
- package/references/front-demo/src/assets/images/login_background.jpg +0 -0
- package/references/front-demo/src/assets/images/login_banner.jpg +0 -0
- package/references/front-demo/src/assets/images/logo.png +0 -0
- package/references/front-demo/src/assets/images/noData.png +0 -0
- package/references/front-demo/src/assets/images/no_data.png +0 -0
- package/references/front-demo/src/assets/images/normal_layout.png +0 -0
- package/references/front-demo/src/assets/images/qiyeweixin.png +0 -0
- package/references/front-demo/src/assets/images/sider-open.png +0 -0
- package/references/front-demo/src/assets/images/vertical.png +0 -0
- package/references/front-demo/src/assets/png/pass.png +0 -0
- package/references/front-demo/src/components/ActionButtons.vue +193 -0
- package/references/front-demo/src/components/GsIcon/index.ts +7 -0
- package/references/front-demo/src/components/GsIcon/index.vue +47 -0
- package/references/front-demo/src/components/GsIconDialog/icons.ts +2167 -0
- package/references/front-demo/src/components/GsIconDialog/index.ts +7 -0
- package/references/front-demo/src/components/GsIconDialog/index.vue +856 -0
- package/references/front-demo/src/components/GsUpload/GsOverloadText.vue +68 -0
- package/references/front-demo/src/components/GsUpload/attachmentList.vue +241 -0
- package/references/front-demo/src/components/GsUpload/copper.vue +117 -0
- package/references/front-demo/src/components/GsUpload/imgUpload.vue +382 -0
- package/references/front-demo/src/components/GsUpload/index.vue +468 -0
- package/references/front-demo/src/components/GsUpload/preview.vue +44 -0
- package/references/front-demo/src/components/GsUpload/utils.ts +151 -0
- package/references/front-demo/src/components/StatusTag.vue +110 -0
- package/references/front-demo/src/components/SvgIcon/index.ts +7 -0
- package/references/front-demo/src/components/SvgIcon/index.vue +39 -0
- package/references/front-demo/src/components/UploadImg/index.ts +7 -0
- package/references/front-demo/src/components/UploadImg/index.vue +292 -0
- package/references/front-demo/src/components/global-register.ts +25 -0
- package/references/front-demo/src/components/utils/index.ts +12 -0
- package/references/front-demo/src/config/index.js +64 -0
- package/references/front-demo/src/core/initMain.ts +97 -0
- package/references/front-demo/src/hooks/useApsSchedule.ts +79 -0
- package/references/front-demo/src/hooks/useForecastOrderForm.ts +139 -0
- package/references/front-demo/src/hooks/usePagination.ts +40 -0
- package/references/front-demo/src/hooks/useRoleBasedVisibility.ts +35 -0
- package/references/front-demo/src/icons/index.ts +6 -0
- package/references/front-demo/src/icons/svg/AssessmentInfo.svg +1 -0
- package/references/front-demo/src/icons/svg/BasicConfig.svg +1 -0
- package/references/front-demo/src/icons/svg/DataEase.svg +86 -0
- package/references/front-demo/src/icons/svg/PDF.svg +1 -0
- package/references/front-demo/src/icons/svg/account_box.svg +5 -0
- package/references/front-demo/src/icons/svg/add.svg +1 -0
- package/references/front-demo/src/icons/svg/alert.svg +8 -0
- package/references/front-demo/src/icons/svg/alertlist.svg +18 -0
- package/references/front-demo/src/icons/svg/all-msg.svg +1 -0
- package/references/front-demo/src/icons/svg/analysis.svg +1 -0
- package/references/front-demo/src/icons/svg/app.svg +1 -0
- package/references/front-demo/src/icons/svg/assPersonnel.svg +1 -0
- package/references/front-demo/src/icons/svg/assessment.svg +1 -0
- package/references/front-demo/src/icons/svg/bar-horizontal.svg +1 -0
- package/references/front-demo/src/icons/svg/bar-stack-horizontal.svg +1 -0
- package/references/front-demo/src/icons/svg/bar-stack.svg +1 -0
- package/references/front-demo/src/icons/svg/bar.svg +1 -0
- package/references/front-demo/src/icons/svg/basicalgorithm.svg +1 -0
- package/references/front-demo/src/icons/svg/battery.svg +1 -0
- package/references/front-demo/src/icons/svg/bbgl.svg +1 -0
- package/references/front-demo/src/icons/svg/bell.svg +5 -0
- package/references/front-demo/src/icons/svg/bfcx.svg +1 -0
- package/references/front-demo/src/icons/svg/bjqd.svg +1 -0
- package/references/front-demo/src/icons/svg/bjxhtj.svg +1 -0
- package/references/front-demo/src/icons/svg/bjxhxq.svg +1 -0
- package/references/front-demo/src/icons/svg/bmll.svg +1 -0
- package/references/front-demo/src/icons/svg/bmtl.svg +1 -0
- package/references/front-demo/src/icons/svg/bqcj.svg +1 -0
- package/references/front-demo/src/icons/svg/bqmbgl.svg +1 -0
- package/references/front-demo/src/icons/svg/buddle-map.svg +1 -0
- package/references/front-demo/src/icons/svg/bug.svg +1 -0
- package/references/front-demo/src/icons/svg/bygd.svg +1 -0
- package/references/front-demo/src/icons/svg/bz.svg +1 -0
- package/references/front-demo/src/icons/svg/bzgl.svg +1 -0
- package/references/front-demo/src/icons/svg/characteristics.svg +1 -0
- package/references/front-demo/src/icons/svg/chart-mix.svg +1 -0
- package/references/front-demo/src/icons/svg/checkbox-checked.svg +5 -0
- package/references/front-demo/src/icons/svg/checkimage.svg +1 -0
- package/references/front-demo/src/icons/svg/ck.svg +1 -0
- package/references/front-demo/src/icons/svg/classifymark.svg +1 -0
- package/references/front-demo/src/icons/svg/closeEyes.svg +15 -0
- package/references/front-demo/src/icons/svg/club.svg +1 -0
- package/references/front-demo/src/icons/svg/collector.svg +1 -0
- package/references/front-demo/src/icons/svg/collectormanage.svg +1 -0
- package/references/front-demo/src/icons/svg/crkdcx.svg +1 -0
- package/references/front-demo/src/icons/svg/dashboard-collector.svg +38 -0
- package/references/front-demo/src/icons/svg/dashboard-device.svg +40 -0
- package/references/front-demo/src/icons/svg/dashboard-gateway.svg +38 -0
- package/references/front-demo/src/icons/svg/dashboard-warning.svg +40 -0
- package/references/front-demo/src/icons/svg/dashboard.svg +1 -0
- package/references/front-demo/src/icons/svg/database.svg +1 -0
- package/references/front-demo/src/icons/svg/dataset-task.svg +1 -0
- package/references/front-demo/src/icons/svg/datasource.svg +1 -0
- package/references/front-demo/src/icons/svg/db.svg +1 -0
- package/references/front-demo/src/icons/svg/ddgl.svg +1 -0
- package/references/front-demo/src/icons/svg/ddycjk.svg +1 -0
- package/references/front-demo/src/icons/svg/default.svg +1 -0
- package/references/front-demo/src/icons/svg/definition.svg +1 -0
- package/references/front-demo/src/icons/svg/depassessment.svg +1 -0
- package/references/front-demo/src/icons/svg/dept.svg +1 -0
- package/references/front-demo/src/icons/svg/device.svg +1 -0
- package/references/front-demo/src/icons/svg/devicebig.svg +1 -0
- package/references/front-demo/src/icons/svg/devicegroup.svg +1 -0
- package/references/front-demo/src/icons/svg/devicelist.svg +1 -0
- package/references/front-demo/src/icons/svg/devicemanage.svg +1 -0
- package/references/front-demo/src/icons/svg/deviceparam.svg +1 -0
- package/references/front-demo/src/icons/svg/devicetype.svg +1 -0
- package/references/front-demo/src/icons/svg/diagnose.svg +1 -0
- package/references/front-demo/src/icons/svg/diagnoseresult.svg +1 -0
- package/references/front-demo/src/icons/svg/distribution.svg +1 -0
- package/references/front-demo/src/icons/svg/doc.svg +1 -0
- package/references/front-demo/src/icons/svg/docs.svg +1 -0
- package/references/front-demo/src/icons/svg/dqby.svg +1 -0
- package/references/front-demo/src/icons/svg/dqbydb.svg +1 -0
- package/references/front-demo/src/icons/svg/dqbygc.svg +1 -0
- package/references/front-demo/src/icons/svg/dqbygd.svg +1 -0
- package/references/front-demo/src/icons/svg/dqbyjh.svg +1 -0
- package/references/front-demo/src/icons/svg/ds-api.svg +1 -0
- package/references/front-demo/src/icons/svg/ds-custom.svg +1 -0
- package/references/front-demo/src/icons/svg/ds-db.svg +1 -0
- package/references/front-demo/src/icons/svg/ds-excel.svg +1 -0
- package/references/front-demo/src/icons/svg/ds-sql.svg +1 -0
- package/references/front-demo/src/icons/svg/ds-union.svg +1 -0
- package/references/front-demo/src/icons/svg/dxjdb.svg +1 -0
- package/references/front-demo/src/icons/svg/dxjgc.svg +1 -0
- package/references/front-demo/src/icons/svg/dxjgd.svg +1 -0
- package/references/front-demo/src/icons/svg/dxjjh.svg +1 -0
- package/references/front-demo/src/icons/svg/dy.svg +1 -0
- package/references/front-demo/src/icons/svg/earth.svg +5 -0
- package/references/front-demo/src/icons/svg/echart-fullscreen.svg +1 -0
- package/references/front-demo/src/icons/svg/echart-nomalscreen.svg +1 -0
- package/references/front-demo/src/icons/svg/edit.svg +1 -0
- package/references/front-demo/src/icons/svg/email-task.svg +1 -0
- package/references/front-demo/src/icons/svg/envelop.svg +5 -0
- package/references/front-demo/src/icons/svg/equalizer.svg +5 -0
- package/references/front-demo/src/icons/svg/example.svg +1 -0
- package/references/front-demo/src/icons/svg/exclamationmark.svg +1 -0
- package/references/front-demo/src/icons/svg/exclamationmark2.svg +1 -0
- package/references/front-demo/src/icons/svg/exit-fullscreen.svg +1 -0
- package/references/front-demo/src/icons/svg/eye-open.svg +1 -0
- package/references/front-demo/src/icons/svg/eye.svg +1 -0
- package/references/front-demo/src/icons/svg/fav.svg +1 -0
- package/references/front-demo/src/icons/svg/field_location.svg +1 -0
- package/references/front-demo/src/icons/svg/field_text.svg +1 -0
- package/references/front-demo/src/icons/svg/field_time.svg +1 -0
- package/references/front-demo/src/icons/svg/field_value.svg +1 -0
- package/references/front-demo/src/icons/svg/folder.svg +1 -0
- package/references/front-demo/src/icons/svg/form.svg +1 -0
- package/references/front-demo/src/icons/svg/fullscreen.svg +1 -0
- package/references/front-demo/src/icons/svg/funnel.svg +1 -0
- package/references/front-demo/src/icons/svg/gateway.svg +1 -0
- package/references/front-demo/src/icons/svg/gatewaymanage.svg +16 -0
- package/references/front-demo/src/icons/svg/gauge.svg +1 -0
- package/references/front-demo/src/icons/svg/gdgl.svg +1 -0
- package/references/front-demo/src/icons/svg/gdll.svg +1 -0
- package/references/front-demo/src/icons/svg/gdtl.svg +1 -0
- package/references/front-demo/src/icons/svg/gdwcqk.svg +1 -0
- package/references/front-demo/src/icons/svg/gdwcxq.svg +1 -0
- package/references/front-demo/src/icons/svg/gnwz.svg +1 -0
- package/references/front-demo/src/icons/svg/gs-add.svg +14 -0
- package/references/front-demo/src/icons/svg/gs-change.svg +18 -0
- package/references/front-demo/src/icons/svg/gs-choose-icon.svg +23 -0
- package/references/front-demo/src/icons/svg/gs-close.svg +15 -0
- package/references/front-demo/src/icons/svg/gs-delete.svg +19 -0
- package/references/front-demo/src/icons/svg/gs-down.svg +12 -0
- package/references/front-demo/src/icons/svg/gs-edit.svg +23 -0
- package/references/front-demo/src/icons/svg/gs-edit2.svg +18 -0
- package/references/front-demo/src/icons/svg/gs-page.svg +14 -0
- package/references/front-demo/src/icons/svg/gs-resize.svg +12 -0
- package/references/front-demo/src/icons/svg/gs-select.svg +15 -0
- package/references/front-demo/src/icons/svg/gzbx.svg +1 -0
- package/references/front-demo/src/icons/svg/gzgd.svg +1 -0
- package/references/front-demo/src/icons/svg/gzk.svg +1 -0
- package/references/front-demo/src/icons/svg/gzzd.svg +1 -0
- package/references/front-demo/src/icons/svg/head.svg +13 -0
- package/references/front-demo/src/icons/svg/iconfont.svg +71 -0
- package/references/front-demo/src/icons/svg/im_message.svg +1 -0
- package/references/front-demo/src/icons/svg/indexdefine.svg +1 -0
- package/references/front-demo/src/icons/svg/inner-join.svg +1 -0
- package/references/front-demo/src/icons/svg/international.svg +1 -0
- package/references/front-demo/src/icons/svg/jcsj.svg +1 -0
- package/references/front-demo/src/icons/svg/jhjxgd.svg +1 -0
- package/references/front-demo/src/icons/svg/jilu.svg +1 -0
- package/references/front-demo/src/icons/svg/jldw.svg +1 -0
- package/references/front-demo/src/icons/svg/jscsfp.svg +1 -0
- package/references/front-demo/src/icons/svg/jscswh.svg +1 -0
- package/references/front-demo/src/icons/svg/kccx.svg +1 -0
- package/references/front-demo/src/icons/svg/kcpd.svg +1 -0
- package/references/front-demo/src/icons/svg/konwledgelist.svg +1 -0
- package/references/front-demo/src/icons/svg/kucun.svg +1 -0
- package/references/front-demo/src/icons/svg/language.svg +1 -0
- package/references/front-demo/src/icons/svg/left-join.svg +1 -0
- package/references/front-demo/src/icons/svg/leftBack.svg +15 -0
- package/references/front-demo/src/icons/svg/line-stack.svg +1 -0
- package/references/front-demo/src/icons/svg/line.svg +1 -0
- package/references/front-demo/src/icons/svg/link.svg +1 -0
- package/references/front-demo/src/icons/svg/liquid.svg +1 -0
- package/references/front-demo/src/icons/svg/list.svg +5 -0
- package/references/front-demo/src/icons/svg/location2.svg +5 -0
- package/references/front-demo/src/icons/svg/lock_closed.svg +1 -0
- package/references/front-demo/src/icons/svg/lock_open.svg +1 -0
- package/references/front-demo/src/icons/svg/logo.svg +32 -0
- package/references/front-demo/src/icons/svg/map.svg +1 -0
- package/references/front-demo/src/icons/svg/map_old.svg +1 -0
- package/references/front-demo/src/icons/svg/menu.svg +1 -0
- package/references/front-demo/src/icons/svg/message.svg +1 -0
- package/references/front-demo/src/icons/svg/messaged.svg +1 -0
- package/references/front-demo/src/icons/svg/meter.svg +5 -0
- package/references/front-demo/src/icons/svg/mobile.svg +5 -0
- package/references/front-demo/src/icons/svg/model.svg +1 -0
- package/references/front-demo/src/icons/svg/money.svg +1 -0
- package/references/front-demo/src/icons/svg/more_v.svg +1 -0
- package/references/front-demo/src/icons/svg/msg-setting.svg +1 -0
- package/references/front-demo/src/icons/svg/mttr&mtbf.svg +1 -0
- package/references/front-demo/src/icons/svg/multiplemp.svg +1 -0
- package/references/front-demo/src/icons/svg/myassessment.svg +1 -0
- package/references/front-demo/src/icons/svg/nested.svg +1 -0
- package/references/front-demo/src/icons/svg/new-message.svg +5 -0
- package/references/front-demo/src/icons/svg/no-join.svg +1 -0
- package/references/front-demo/src/icons/svg/normal-fx.svg +1 -0
- package/references/front-demo/src/icons/svg/notification.svg +1 -0
- package/references/front-demo/src/icons/svg/openEyes.svg +12 -0
- package/references/front-demo/src/icons/svg/openai.svg +1 -0
- package/references/front-demo/src/icons/svg/panel.svg +1 -0
- package/references/front-demo/src/icons/svg/password.svg +1 -0
- package/references/front-demo/src/icons/svg/people.svg +1 -0
- package/references/front-demo/src/icons/svg/peoples.svg +1 -0
- package/references/front-demo/src/icons/svg/pie-rose.svg +1 -0
- package/references/front-demo/src/icons/svg/pie.svg +1 -0
- package/references/front-demo/src/icons/svg/plus.svg +5 -0
- package/references/front-demo/src/icons/svg/podcast.svg +5 -0
- package/references/front-demo/src/icons/svg/preview.svg +1 -0
- package/references/front-demo/src/icons/svg/qrcode.svg +5 -0
- package/references/front-demo/src/icons/svg/radar.svg +1 -0
- package/references/front-demo/src/icons/svg/readed-msg.svg +1 -0
- package/references/front-demo/src/icons/svg/remove.svg +1 -0
- package/references/front-demo/src/icons/svg/rhdb.svg +1 -0
- package/references/front-demo/src/icons/svg/rhgc.svg +1 -0
- package/references/front-demo/src/icons/svg/rhgd.svg +1 -0
- package/references/front-demo/src/icons/svg/right-join.svg +1 -0
- package/references/front-demo/src/icons/svg/role.svg +1 -0
- package/references/front-demo/src/icons/svg/rulelist.svg +1 -0
- package/references/front-demo/src/icons/svg/runconfig.svg +1 -0
- package/references/front-demo/src/icons/svg/sbgzlbb.svg +1 -0
- package/references/front-demo/src/icons/svg/sbqy.svg +1 -0
- package/references/front-demo/src/icons/svg/sbrhjh.svg +1 -0
- package/references/front-demo/src/icons/svg/sbwhl.svg +1 -0
- package/references/front-demo/src/icons/svg/scatter.svg +1 -0
- package/references/front-demo/src/icons/svg/scene.svg +1 -0
- package/references/front-demo/src/icons/svg/shoppingCard.svg +1 -0
- package/references/front-demo/src/icons/svg/shouqi.svg +13 -0
- package/references/front-demo/src/icons/svg/singlemp.svg +1 -0
- package/references/front-demo/src/icons/svg/size.svg +1 -0
- package/references/front-demo/src/icons/svg/slimHead.svg +12 -0
- package/references/front-demo/src/icons/svg/sort-asc.svg +1 -0
- package/references/front-demo/src/icons/svg/sort-desc.svg +1 -0
- package/references/front-demo/src/icons/svg/standard.svg +1 -0
- package/references/front-demo/src/icons/svg/star.svg +1 -0
- package/references/front-demo/src/icons/svg/stats-bars.svg +5 -0
- package/references/front-demo/src/icons/svg/suffix-obj.svg +1 -0
- package/references/front-demo/src/icons/svg/sys-tools.svg +1 -0
- package/references/front-demo/src/icons/svg/system.svg +1 -0
- package/references/front-demo/src/icons/svg/table-info.svg +1 -0
- package/references/front-demo/src/icons/svg/table-normal.svg +1 -0
- package/references/front-demo/src/icons/svg/table-pivot.svg +1 -0
- package/references/front-demo/src/icons/svg/table.svg +1 -0
- package/references/front-demo/src/icons/svg/taizhang.svg +1 -0
- package/references/front-demo/src/icons/svg/task.svg +1 -0
- package/references/front-demo/src/icons/svg/tenant.svg +1 -0
- package/references/front-demo/src/icons/svg/text.svg +1 -0
- package/references/front-demo/src/icons/svg/tjqq.svg +1 -0
- package/references/front-demo/src/icons/svg/tree-company.svg +1 -0
- package/references/front-demo/src/icons/svg/tree-department.svg +1 -0
- package/references/front-demo/src/icons/svg/tree-device.svg +1 -0
- package/references/front-demo/src/icons/svg/tree-organization.svg +1 -0
- package/references/front-demo/src/icons/svg/tree.svg +1 -0
- package/references/front-demo/src/icons/svg/treemap.svg +1 -0
- package/references/front-demo/src/icons/svg/undefinedata.svg +1 -0
- package/references/front-demo/src/icons/svg/unread-msg.svg +1 -0
- package/references/front-demo/src/icons/svg/user-check.svg +6 -0
- package/references/front-demo/src/icons/svg/user.svg +1 -0
- package/references/front-demo/src/icons/svg/users.svg +6 -0
- package/references/front-demo/src/icons/svg/warn-tre.svg +1 -0
- package/references/front-demo/src/icons/svg/waterfall.svg +1 -0
- package/references/front-demo/src/icons/svg/wdgzt.svg +1 -0
- package/references/front-demo/src/icons/svg/wdlc.svg +1 -0
- package/references/front-demo/src/icons/svg/web-msg.svg +1 -0
- package/references/front-demo/src/icons/svg/wlbm.svg +1 -0
- package/references/front-demo/src/icons/svg/wlfl.svg +1 -0
- package/references/front-demo/src/icons/svg/wlgl.svg +1 -0
- package/references/front-demo/src/icons/svg/word-cloud.svg +1 -0
- package/references/front-demo/src/icons/svg/wtsp.svg +1 -0
- package/references/front-demo/src/icons/svg/wxdb.svg +1 -0
- package/references/front-demo/src/icons/svg/wxgc.svg +1 -0
- package/references/front-demo/src/icons/svg/xiaoxi.svg +13 -0
- package/references/front-demo/src/icons/svg/xyldr.svg +1 -0
- package/references/front-demo/src/icons/svg/ysp.svg +1 -0
- package/references/front-demo/src/icons/svg/yxgl.svg +1 -0
- package/references/front-demo/src/icons/svg/zcfbjzttj.svg +1 -0
- package/references/front-demo/src/icons/svg/zcfl.svg +1 -0
- package/references/front-demo/src/icons/svg/zcgl.svg +1 -0
- package/references/front-demo/src/icons/svg/zclk.svg +1 -0
- package/references/front-demo/src/icons/svg/zcll.svg +1 -0
- package/references/front-demo/src/icons/svg/zclx.svg +1 -0
- package/references/front-demo/src/icons/svg/zcpd.svg +1 -0
- package/references/front-demo/src/icons/svg/zctjbb.svg +1 -0
- package/references/front-demo/src/icons/svg/zcz.svg +1 -0
- package/references/front-demo/src/icons/svg/zhankai.svg +13 -0
- package/references/front-demo/src/icons/svg/zichan.svg +1 -0
- package/references/front-demo/src/icons/svg/zxck.svg +1 -0
- package/references/front-demo/src/icons/svg/zxrk.svg +1 -0
- package/references/front-demo/src/lang/element-lang.ts +26 -0
- package/references/front-demo/src/lang/en-us.ts +146 -0
- package/references/front-demo/src/lang/hu-hu.ts +1141 -0
- package/references/front-demo/src/lang/index.ts +108 -0
- package/references/front-demo/src/lang/modules/button/en-us.ts +158 -0
- package/references/front-demo/src/lang/modules/button/zh-cn.ts +157 -0
- package/references/front-demo/src/lang/modules/button/zh-tw.ts +157 -0
- package/references/front-demo/src/lang/modules/customizeTable/en-us.ts +56 -0
- package/references/front-demo/src/lang/modules/customizeTable/zh-cn.ts +55 -0
- package/references/front-demo/src/lang/modules/customizeTable/zh-tw.ts +55 -0
- package/references/front-demo/src/lang/modules/exportData/en-us.ts +19 -0
- package/references/front-demo/src/lang/modules/exportData/zh-cn.ts +19 -0
- package/references/front-demo/src/lang/modules/exportData/zh-tw.ts +19 -0
- package/references/front-demo/src/lang/modules/exportHistroy/en-us.ts +10 -0
- package/references/front-demo/src/lang/modules/exportHistroy/zh-cn.ts +10 -0
- package/references/front-demo/src/lang/modules/exportHistroy/zh-tw.ts +10 -0
- package/references/front-demo/src/lang/modules/forecast-order/en-us.ts +412 -0
- package/references/front-demo/src/lang/modules/forecast-order/zh-cn.ts +413 -0
- package/references/front-demo/src/lang/modules/forecast-order/zh-tw.ts +410 -0
- package/references/front-demo/src/lang/modules/gsReport/en-us.ts +41 -0
- package/references/front-demo/src/lang/modules/gsReport/zh-cn.ts +41 -0
- package/references/front-demo/src/lang/modules/gsReport/zh-tw.ts +41 -0
- package/references/front-demo/src/lang/modules/gsUploadFile/en-us.ts +10 -0
- package/references/front-demo/src/lang/modules/gsUploadFile/zh-cn.ts +10 -0
- package/references/front-demo/src/lang/modules/gsUploadFile/zh-tw.ts +10 -0
- package/references/front-demo/src/lang/modules/home/en-us.ts +19 -0
- package/references/front-demo/src/lang/modules/home/zh-cn.ts +19 -0
- package/references/front-demo/src/lang/modules/home/zh-tw.ts +19 -0
- package/references/front-demo/src/lang/modules/importData/en-us.ts +42 -0
- package/references/front-demo/src/lang/modules/importData/zh-cn.ts +42 -0
- package/references/front-demo/src/lang/modules/importData/zh-tw.ts +42 -0
- package/references/front-demo/src/lang/modules/importHistroy/en-us.ts +9 -0
- package/references/front-demo/src/lang/modules/importHistroy/zh-cn.ts +9 -0
- package/references/front-demo/src/lang/modules/importHistroy/zh-tw.ts +9 -0
- package/references/front-demo/src/lang/modules/js/en-us.ts +63 -0
- package/references/front-demo/src/lang/modules/js/zh-cn.ts +60 -0
- package/references/front-demo/src/lang/modules/js/zh-tw.ts +60 -0
- package/references/front-demo/src/lang/modules/letters/en-us.ts +21 -0
- package/references/front-demo/src/lang/modules/letters/zh-cn.ts +22 -0
- package/references/front-demo/src/lang/modules/letters/zh-tw.ts +22 -0
- package/references/front-demo/src/lang/modules/login/en-us.ts +68 -0
- package/references/front-demo/src/lang/modules/login/zh-cn.ts +64 -0
- package/references/front-demo/src/lang/modules/login/zh-tw.ts +64 -0
- package/references/front-demo/src/lang/modules/mdmCustomer/en-us.ts +81 -0
- package/references/front-demo/src/lang/modules/mdmCustomer/zh-cn.ts +92 -0
- package/references/front-demo/src/lang/modules/mdmCustomer/zh-tw.ts +81 -0
- package/references/front-demo/src/lang/modules/menu/en-us.ts +429 -0
- package/references/front-demo/src/lang/modules/menu/zh-cn.ts +423 -0
- package/references/front-demo/src/lang/modules/menu/zh-tw.ts +423 -0
- package/references/front-demo/src/lang/modules/message/en-us.ts +4 -0
- package/references/front-demo/src/lang/modules/message/zh-cn.ts +4 -0
- package/references/front-demo/src/lang/modules/message/zh-tw.ts +4 -0
- package/references/front-demo/src/lang/modules/otherLang/en-us.ts +63 -0
- package/references/front-demo/src/lang/modules/otherLang/zh-cn.ts +60 -0
- package/references/front-demo/src/lang/modules/otherLang/zh-tw.ts +58 -0
- package/references/front-demo/src/lang/modules/person/en-us.ts +27 -0
- package/references/front-demo/src/lang/modules/person/zh-cn.ts +27 -0
- package/references/front-demo/src/lang/modules/person/zh-tw.ts +27 -0
- package/references/front-demo/src/lang/modules/product-master-data/en-us.ts +65 -0
- package/references/front-demo/src/lang/modules/product-master-data/zh-cn.ts +82 -0
- package/references/front-demo/src/lang/modules/product-master-data/zh-tw.ts +82 -0
- package/references/front-demo/src/lang/modules/source_data/en-us.ts +49 -0
- package/references/front-demo/src/lang/modules/source_data/zh-cn.ts +41 -0
- package/references/front-demo/src/lang/modules/source_data/zh-tw.ts +41 -0
- package/references/front-demo/src/lang/modules/theme/en-us.ts +22 -0
- package/references/front-demo/src/lang/modules/theme/zh-cn.ts +22 -0
- package/references/front-demo/src/lang/modules/theme/zh-tw.ts +23 -0
- package/references/front-demo/src/lang/modules/third/en-us.ts +10 -0
- package/references/front-demo/src/lang/modules/third/zh-cn.ts +9 -0
- package/references/front-demo/src/lang/modules/third/zh-tw.ts +9 -0
- package/references/front-demo/src/lang/modules/toast/en-us.ts +21 -0
- package/references/front-demo/src/lang/modules/toast/zh-cn.ts +21 -0
- package/references/front-demo/src/lang/modules/toast/zh-tw.ts +21 -0
- package/references/front-demo/src/lang/modules/uploadDocument/en-us.ts +6 -0
- package/references/front-demo/src/lang/modules/uploadDocument/zh-cn.ts +6 -0
- package/references/front-demo/src/lang/modules/uploadDocument/zh-tw.ts +6 -0
- package/references/front-demo/src/lang/utils.ts +20 -0
- package/references/front-demo/src/lang/vi-vn.ts +1140 -0
- package/references/front-demo/src/lang/zh-cn.ts +180 -0
- package/references/front-demo/src/lang/zh-tw.ts +147 -0
- package/references/front-demo/src/main.ts +25 -0
- package/references/front-demo/src/mock/forecast/index.ts +1 -0
- package/references/front-demo/src/mock/forecast/router.ts +824 -0
- package/references/front-demo/src/mock/forecast/seed.ts +577 -0
- package/references/front-demo/src/mock/index.ts +74 -0
- package/references/front-demo/src/mock/mdmCustomer/index.ts +1 -0
- package/references/front-demo/src/mock/mdmCustomer/router.ts +468 -0
- package/references/front-demo/src/mock/mdmCustomer/seed.ts +359 -0
- package/references/front-demo/src/mock/platform/router.ts +119 -0
- package/references/front-demo/src/mock/platform/seed.ts +145 -0
- package/references/front-demo/src/mock/storage.ts +55 -0
- package/references/front-demo/src/permission.ts +448 -0
- package/references/front-demo/src/plugins/i18n.ts +3 -0
- package/references/front-demo/src/plugins/pinia.ts +7 -0
- package/references/front-demo/src/qiankun.js +114 -0
- package/references/front-demo/src/router/index.ts +132 -0
- package/references/front-demo/src/router/modules/forecast-order.ts +68 -0
- package/references/front-demo/src/store/index.ts +43 -0
- package/references/front-demo/src/store/modules/app/actions.ts +137 -0
- package/references/front-demo/src/store/modules/app/getters.ts +16 -0
- package/references/front-demo/src/store/modules/app/index.ts +52 -0
- package/references/front-demo/src/store/modules/app/mutations.ts +108 -0
- package/references/front-demo/src/store/modules/forecast-order/__tests__/forecastOrderDetailStore.spec.ts +379 -0
- package/references/front-demo/src/store/modules/forecast-order/__tests__/forecastOrderListStore.spec.ts +297 -0
- package/references/front-demo/src/store/modules/forecast-order/changeOrderFormStore.ts +245 -0
- package/references/front-demo/src/store/modules/forecast-order/configStore.ts +157 -0
- package/references/front-demo/src/store/modules/forecast-order/forecastOrderDetailStore.ts +243 -0
- package/references/front-demo/src/store/modules/forecast-order/forecastOrderFormStore.ts +281 -0
- package/references/front-demo/src/store/modules/forecast-order/forecastOrderListStore.ts +101 -0
- package/references/front-demo/src/store/modules/forecast-order/index.ts +5 -0
- package/references/front-demo/src/store/modules/mdmCustomer/__tests__/customerStore.spec.ts +206 -0
- package/references/front-demo/src/store/modules/mdmCustomer/customerStore.ts +303 -0
- package/references/front-demo/src/store/modules/permission/actions.ts +11 -0
- package/references/front-demo/src/store/modules/permission/getters.ts +5 -0
- package/references/front-demo/src/store/modules/permission/index.ts +14 -0
- package/references/front-demo/src/store/modules/permission/mutations.ts +13 -0
- package/references/front-demo/src/store/modules/product-master-data/__tests__/productListStore.spec.ts +378 -0
- package/references/front-demo/src/store/modules/product-master-data/productListStore.ts +333 -0
- package/references/front-demo/src/store/modules/tagsView/actions.ts +87 -0
- package/references/front-demo/src/store/modules/tagsView/getters.ts +6 -0
- package/references/front-demo/src/store/modules/tagsView/index.ts +18 -0
- package/references/front-demo/src/store/modules/tagsView/mutations.ts +118 -0
- package/references/front-demo/src/store/modules/theme/actions.ts +77 -0
- package/references/front-demo/src/store/modules/theme/getters.ts +10 -0
- package/references/front-demo/src/store/modules/theme/index.ts +27 -0
- package/references/front-demo/src/store/modules/theme/mutations.ts +28 -0
- package/references/front-demo/src/store/modules/user/actions.ts +243 -0
- package/references/front-demo/src/store/modules/user/getters.ts +10 -0
- package/references/front-demo/src/store/modules/user/index.ts +44 -0
- package/references/front-demo/src/store/modules/user/mutations.ts +104 -0
- package/references/front-demo/src/store/piniaToVuex/index.ts +283 -0
- package/references/front-demo/src/stores/counter.ts +12 -0
- package/references/front-demo/src/styles/element-plus.scss +937 -0
- package/references/front-demo/src/styles/global.scss +826 -0
- package/references/front-demo/src/styles/iconfont/demo.css +539 -0
- package/references/front-demo/src/styles/iconfont/iconfont.css +68 -0
- package/references/front-demo/src/styles/iconfont/iconfont.js +63 -0
- package/references/front-demo/src/styles/iconfont/iconfont.ttf +0 -0
- package/references/front-demo/src/styles/index.scss +116 -0
- package/references/front-demo/src/styles/mixin.scss +78 -0
- package/references/front-demo/src/styles/theme/black/content-management.scss +11 -0
- package/references/front-demo/src/styles/theme/black/dynamic-report.scss +31 -0
- package/references/front-demo/src/styles/theme/black/form-design.scss +181 -0
- package/references/front-demo/src/styles/theme/black/open-api.scss +118 -0
- package/references/front-demo/src/styles/theme/black/platform.scss +57 -0
- package/references/front-demo/src/styles/theme/black/process-manage.scss +48 -0
- package/references/front-demo/src/styles/theme/black/rent-mannage.scss +8 -0
- package/references/front-demo/src/styles/theme/black/schedule.scss +45 -0
- package/references/front-demo/src/styles/theme/black/service-management.scss +14 -0
- package/references/front-demo/src/styles/theme/black/system-manage.scss +144 -0
- package/references/front-demo/src/styles/theme/black.scss +1642 -0
- package/references/front-demo/src/styles/theme/default/index.scss +1 -0
- package/references/front-demo/src/styles/theme/default/menu.scss +199 -0
- package/references/front-demo/src/styles/transition.scss +107 -0
- package/references/front-demo/src/styles/variables.scss +66 -0
- package/references/front-demo/src/types/forecast-order/api.ts +44 -0
- package/references/front-demo/src/types/forecast-order/enums.ts +122 -0
- package/references/front-demo/src/types/forecast-order/forecastChangeOrder.ts +40 -0
- package/references/front-demo/src/types/forecast-order/forecastOrder.ts +98 -0
- package/references/front-demo/src/types/forecast-order/index.ts +43 -0
- package/references/front-demo/src/types/mdmCustomer/api.ts +26 -0
- package/references/front-demo/src/types/mdmCustomer/customer.ts +75 -0
- package/references/front-demo/src/types/product-master-data/api.ts +27 -0
- package/references/front-demo/src/types/product-master-data/product.ts +58 -0
- package/references/front-demo/src/utils/ArrayExtension.ts +175 -0
- package/references/front-demo/src/utils/app-mixin.ts +50 -0
- package/references/front-demo/src/utils/areas.ts +1712 -0
- package/references/front-demo/src/utils/auth.ts +336 -0
- package/references/front-demo/src/utils/base64.ts +231 -0
- package/references/front-demo/src/utils/browser-helper.ts +39 -0
- package/references/front-demo/src/utils/bus.ts +35 -0
- package/references/front-demo/src/utils/deprecated-utils.ts +116 -0
- package/references/front-demo/src/utils/errorHandler.ts +61 -0
- package/references/front-demo/src/utils/events.ts +59 -0
- package/references/front-demo/src/utils/forecastOrderActions.ts +117 -0
- package/references/front-demo/src/utils/i18nHelper.ts +24 -0
- package/references/front-demo/src/utils/index.ts +819 -0
- package/references/front-demo/src/utils/name-auth.ts +97 -0
- package/references/front-demo/src/utils/onlyMsgBox.ts +38 -0
- package/references/front-demo/src/utils/pinyinList.ts +417 -0
- package/references/front-demo/src/utils/request-utils.ts +277 -0
- package/references/front-demo/src/utils/request.ts +146 -0
- package/references/front-demo/src/utils/routeHelper.ts +66 -0
- package/references/front-demo/src/utils/statusTagHelper.ts +55 -0
- package/references/front-demo/src/utils/storage.ts +80 -0
- package/references/front-demo/src/utils/theme.ts +192 -0
- package/references/front-demo/src/utils/toPinYin.ts +34 -0
- package/references/front-demo/src/utils/tool.ts +7103 -0
- package/references/front-demo/src/utils/utilsFn.ts +73 -0
- package/references/front-demo/src/utils/validate.ts +110 -0
- package/references/front-demo/src/utils/watermark.ts +161 -0
- package/references/front-demo/src/utils/watermarkcompact.ts +180 -0
- package/references/front-demo/src/utils/wordRender.ts +100 -0
- package/references/front-demo/src/utils/ws.ts +42 -0
- package/references/front-demo/src/views/404.vue +245 -0
- package/references/front-demo/src/views/CollectButton/demand.vue +39 -0
- package/references/front-demo/src/views/CollectButton/dialog.vue +178 -0
- package/references/front-demo/src/views/CollectButton/index.vue +306 -0
- package/references/front-demo/src/views/FlowCharts/FormDemo.vue +236 -0
- package/references/front-demo/src/views/FlowCharts/components/ListDetailButton/index.vue +36 -0
- package/references/front-demo/src/views/FlowCharts/leaveApplication.vue +56 -0
- package/references/front-demo/src/views/FlowCharts/testForm.vue +56 -0
- package/references/front-demo/src/views/Password/index.vue +148 -0
- package/references/front-demo/src/views/authorize/components/ForgetPassword.vue +309 -0
- package/references/front-demo/src/views/authorize/components/FormLogin/components/VerificationDialog.vue +297 -0
- package/references/front-demo/src/views/authorize/components/FormLogin/index.vue +649 -0
- package/references/front-demo/src/views/authorize/index.vue +149 -0
- package/references/front-demo/src/views/dynamic-form/index.vue +42 -0
- package/references/front-demo/src/views/forecast-order/ChangeOrderEdit.vue +113 -0
- package/references/front-demo/src/views/forecast-order/ForecastOrderDetail.vue +732 -0
- package/references/front-demo/src/views/forecast-order/ForecastOrderEdit.vue +179 -0
- package/references/front-demo/src/views/forecast-order/__tests__/ChangeOrderEdit.spec.ts +157 -0
- package/references/front-demo/src/views/forecast-order/__tests__/ForecastOrderDetail.spec.ts +230 -0
- package/references/front-demo/src/views/forecast-order/__tests__/ForecastOrderE2E.spec.ts +607 -0
- package/references/front-demo/src/views/forecast-order/__tests__/ForecastOrderEdit.spec.ts +283 -0
- package/references/front-demo/src/views/forecast-order/__tests__/ForecastOrderList.spec.ts +428 -0
- package/references/front-demo/src/views/forecast-order/__tests__/Selectors.spec.ts +209 -0
- package/references/front-demo/src/views/forecast-order/components/ApproveChangeDialog.vue +165 -0
- package/references/front-demo/src/views/forecast-order/components/ChangeForm.vue +235 -0
- package/references/front-demo/src/views/forecast-order/components/CustomerSelector.vue +165 -0
- package/references/front-demo/src/views/forecast-order/components/ForecastOrderForm.vue +299 -0
- package/references/front-demo/src/views/forecast-order/components/ProductSelector.vue +167 -0
- package/references/front-demo/src/views/forecast-order/components/ReplyDialog.vue +170 -0
- package/references/front-demo/src/views/forecast-order/components/StatusFlowBar.vue +156 -0
- package/references/front-demo/src/views/forecast-order/components/TransferFoDialog.vue +97 -0
- package/references/front-demo/src/views/forecast-order/config/index.vue +205 -0
- package/references/front-demo/src/views/forecast-order/index.vue +539 -0
- package/references/front-demo/src/views/home-page/WorkTable.vue +116 -0
- package/references/front-demo/src/views/home-page/index.vue +14 -0
- package/references/front-demo/src/views/layout/Frame.vue +75 -0
- package/references/front-demo/src/views/layout/Layout.vue +186 -0
- package/references/front-demo/src/views/layout/MiddleView.vue +29 -0
- package/references/front-demo/src/views/layout/components/AppMain.vue +302 -0
- package/references/front-demo/src/views/layout/components/CompactTools/index.vue +59 -0
- package/references/front-demo/src/views/layout/components/Navbar/components/AVue.vue +34 -0
- package/references/front-demo/src/views/layout/components/Navbar/components/Gpt.vue +51 -0
- package/references/front-demo/src/views/layout/components/Navbar/components/Help.vue +52 -0
- package/references/front-demo/src/views/layout/components/Navbar/components/Locale.vue +143 -0
- package/references/front-demo/src/views/layout/components/Navbar/components/Message.vue +495 -0
- package/references/front-demo/src/views/layout/components/Navbar/components/NavbarMenu.vue +196 -0
- package/references/front-demo/src/views/layout/components/Navbar/components/Personal.vue +308 -0
- package/references/front-demo/src/views/layout/components/Navbar/components/Portal.vue +34 -0
- package/references/front-demo/src/views/layout/components/Navbar/components/SystemChange.vue +133 -0
- package/references/front-demo/src/views/layout/components/Navbar/components/Tablet.vue +206 -0
- package/references/front-demo/src/views/layout/components/Navbar/components/TenantChange.vue +186 -0
- package/references/front-demo/src/views/layout/components/Navbar/components/Theme.vue +429 -0
- package/references/front-demo/src/views/layout/components/Navbar/index.vue +220 -0
- package/references/front-demo/src/views/layout/components/Sidebar/components/CustomSliderMenu.vue +267 -0
- package/references/front-demo/src/views/layout/components/Sidebar/components/FetchMenuItem.vue +45 -0
- package/references/front-demo/src/views/layout/components/Sidebar/components/MenuItem.vue +135 -0
- package/references/front-demo/src/views/layout/components/Sidebar/components/MenuSearch.vue +102 -0
- package/references/front-demo/src/views/layout/components/Sidebar/components/SubMenu.js +190 -0
- package/references/front-demo/src/views/layout/components/Sidebar/components/SubMenu.vue +125 -0
- package/references/front-demo/src/views/layout/components/Sidebar/components/ToggleSidebar.vue +51 -0
- package/references/front-demo/src/views/layout/components/Sidebar/index.vue +464 -0
- package/references/front-demo/src/views/layout/components/TagsView.vue +683 -0
- package/references/front-demo/src/views/layout/components/chatGPT/image/chatgpt.png +0 -0
- package/references/front-demo/src/views/layout/components/chatGPT/image/knowledge_IT.png +0 -0
- package/references/front-demo/src/views/layout/components/chatGPT/image/knowledge_gushen.png +0 -0
- package/references/front-demo/src/views/layout/components/chatGPT/image/pmo_background.png +0 -0
- package/references/front-demo/src/views/layout/components/chatGPT/image/smile.png +0 -0
- package/references/front-demo/src/views/layout/components/chatGPT/image/stop.svg +1 -0
- package/references/front-demo/src/views/layout/components/chatGPT/image/titleIcon.png +0 -0
- package/references/front-demo/src/views/layout/components/chatGPT/index.js +7 -0
- package/references/front-demo/src/views/layout/components/chatGPT/index.vue +517 -0
- package/references/front-demo/src/views/layout/components/chatGPT/styles/index.scss +360 -0
- package/references/front-demo/src/views/layout/components/chatGPT/utils/gpt.js +29 -0
- package/references/front-demo/src/views/layout/components/chatGPT/utils/index.js +70 -0
- package/references/front-demo/src/views/layout/components/index.js +6 -0
- package/references/front-demo/src/views/layout/mixin/ResizeHandler.js +28 -0
- package/references/front-demo/src/views/layout/utils/dynamicFormHelper.js +44 -0
- package/references/front-demo/src/views/layout/utils/scroll.js +89 -0
- package/references/front-demo/src/views/letters/config/gridConfig.js +59 -0
- package/references/front-demo/src/views/letters/index.vue +401 -0
- package/references/front-demo/src/views/login/ForgetPassword.vue +425 -0
- package/references/front-demo/src/views/login/FormLogin.vue +1222 -0
- package/references/front-demo/src/views/login/ScanLogin.vue +256 -0
- package/references/front-demo/src/views/login/index.vue +432 -0
- package/references/front-demo/src/views/mdmCustomer/__tests__/CustomerList.spec.ts +90 -0
- package/references/front-demo/src/views/mdmCustomer/components/AddressFormDialog.vue +95 -0
- package/references/front-demo/src/views/mdmCustomer/components/ConfirmDialog.vue +37 -0
- package/references/front-demo/src/views/mdmCustomer/components/CustomerDetailDrawer.vue +118 -0
- package/references/front-demo/src/views/mdmCustomer/components/CustomerFormDialog.vue +254 -0
- package/references/front-demo/src/views/mdmCustomer/index.vue +397 -0
- package/references/front-demo/src/views/person-info/components/information.vue +99 -0
- package/references/front-demo/src/views/person-info/index.vue +28 -0
- package/references/front-demo/src/views/product-master-data/__tests__/ProductFormDialog.spec.ts +246 -0
- package/references/front-demo/src/views/product-master-data/__tests__/ProductList.spec.ts +423 -0
- package/references/front-demo/src/views/product-master-data/components/ConfirmDialog.vue +69 -0
- package/references/front-demo/src/views/product-master-data/components/ProductDetailDrawer.vue +140 -0
- package/references/front-demo/src/views/product-master-data/components/ProductFormDialog.vue +198 -0
- package/references/front-demo/src/views/product-master-data/index.vue +384 -0
- package/references/front-demo/src/views/sso/login/index.vue +128 -0
- package/references/front-demo/src/views/sso/multi-login/index.vue +95 -0
- package/references/front-demo/src/views/third-login/index.vue +73 -0
- package/references/front-demo/src/views/third-view.vue +86 -0
- package/references/front-demo/tsconfig.app.json +12 -0
- package/references/front-demo/tsconfig.json +11 -0
- package/references/front-demo/tsconfig.node.json +19 -0
- package/references/front-demo/vite.config.ts +56 -0
- package/references/front-demo/vitest.config.ts +35 -0
- package/references/python-end-standard/01-Python/345/220/216/347/253/257/347/274/226/347/240/201/350/247/204/350/214/203.md +372 -0
- package/references/python-end-standard/02-/346/225/260/346/215/256/345/272/223/350/256/276/350/256/241/344/270/216/344/275/277/347/224/250/350/247/204/350/214/203.md +226 -0
- package/references/python-end-standard/03-Celery/345/274/202/346/255/245/344/273/273/345/212/241/350/247/204/350/214/203.md +237 -0
- package/references/python-end-standard/04-Redis/344/275/277/347/224/250/350/247/204/350/214/203.md +231 -0
- package/references/python-end-standard/index.md +12 -0
- package/references/web-ui/.editorconfig +9 -0
- package/references/web-ui/.gitattributes +1 -0
- package/references/web-ui/.prettierrc.json +6 -0
- package/references/web-ui/README.md +39 -0
- package/references/web-ui/auto-imports.d.ts +10 -0
- package/references/web-ui/components.d.ts +78 -0
- package/references/web-ui/env.d.ts +1 -0
- package/references/web-ui/eslint.config.ts +22 -0
- package/references/web-ui/index.html +22 -0
- package/references/web-ui/package.json +57 -0
- package/references/web-ui/public/apiurls.js +69 -0
- package/references/web-ui/public/config.js +93 -0
- package/references/web-ui/public/favicon.ico +0 -0
- package/references/web-ui/src/App.vue +117 -0
- package/references/web-ui/src/api/app.ts +298 -0
- package/references/web-ui/src/api/attachment.ts +30 -0
- package/references/web-ui/src/api/base-exception/index.ts +87 -0
- package/references/web-ui/src/api/collect/index.ts +37 -0
- package/references/web-ui/src/api/comment/index.ts +44 -0
- package/references/web-ui/src/api/dashboard/index.ts +83 -0
- package/references/web-ui/src/api/dataImport.ts +97 -0
- package/references/web-ui/src/api/dingding/index.ts +43 -0
- package/references/web-ui/src/api/export.ts +25 -0
- package/references/web-ui/src/api/home/index.ts +78 -0
- package/references/web-ui/src/api/iotBaseRole/index.ts +32 -0
- package/references/web-ui/src/api/iotBaseSystem/index.ts +32 -0
- package/references/web-ui/src/api/letters/index.ts +93 -0
- package/references/web-ui/src/api/login.ts +140 -0
- package/references/web-ui/src/api/menu/index.ts +79 -0
- package/references/web-ui/src/api/multi-login/index.ts +36 -0
- package/references/web-ui/src/api/personalInformation/index.ts +9 -0
- package/references/web-ui/src/api/portal/index.ts +95 -0
- package/references/web-ui/src/api/practice/index.ts +32 -0
- package/references/web-ui/src/api/reset-password/index.ts +16 -0
- package/references/web-ui/src/api/system-manage/dataImport/index.ts +87 -0
- package/references/web-ui/src/api/system-manage/menu/index.ts +34 -0
- package/references/web-ui/src/api/system-manage/reverse-authorization/index.ts +18 -0
- package/references/web-ui/src/api/testMenu/demo1/index.ts +14 -0
- package/references/web-ui/src/api/testMenu/demo2/index.ts +0 -0
- package/references/web-ui/src/api/testMenu/leaveApplication/index.ts +53 -0
- package/references/web-ui/src/api/testMenu/testDemo/index.ts +66 -0
- package/references/web-ui/src/api/update/index.ts +43 -0
- package/references/web-ui/src/api/worktable/agenda.ts +19 -0
- package/references/web-ui/src/api/worktable/approved.ts +32 -0
- package/references/web-ui/src/api/worktable/entrusted.ts +92 -0
- package/references/web-ui/src/api/worktable/myProcess.ts +48 -0
- package/references/web-ui/src/api/worktable/startTask.ts +56 -0
- package/references/web-ui/src/api/worktable/tobeRead.ts +28 -0
- package/references/web-ui/src/api/wx-work/index.ts +43 -0
- package/references/web-ui/src/assets/images/404.png +0 -0
- package/references/web-ui/src/assets/images/404_cloud.png +0 -0
- package/references/web-ui/src/assets/images/compact_layout.png +0 -0
- package/references/web-ui/src/assets/images/dingding.png +0 -0
- package/references/web-ui/src/assets/images/feishu.png +0 -0
- package/references/web-ui/src/assets/images/hover.png +0 -0
- package/references/web-ui/src/assets/images/login_background.jpg +0 -0
- package/references/web-ui/src/assets/images/login_banner.jpg +0 -0
- package/references/web-ui/src/assets/images/logo.png +0 -0
- package/references/web-ui/src/assets/images/noData.png +0 -0
- package/references/web-ui/src/assets/images/no_data.png +0 -0
- package/references/web-ui/src/assets/images/normal_layout.png +0 -0
- package/references/web-ui/src/assets/images/qiyeweixin.png +0 -0
- package/references/web-ui/src/assets/images/sider-open.png +0 -0
- package/references/web-ui/src/assets/images/vertical.png +0 -0
- package/references/web-ui/src/assets/png/pass.png +0 -0
- package/references/web-ui/src/components/GsIcon/index.ts +7 -0
- package/references/web-ui/src/components/GsIcon/index.vue +47 -0
- package/references/web-ui/src/components/GsIconDialog/icons.ts +2167 -0
- package/references/web-ui/src/components/GsIconDialog/index.ts +7 -0
- package/references/web-ui/src/components/GsIconDialog/index.vue +856 -0
- package/references/web-ui/src/components/GsUpload/GsOverloadText.vue +68 -0
- package/references/web-ui/src/components/GsUpload/attachmentList.vue +241 -0
- package/references/web-ui/src/components/GsUpload/copper.vue +117 -0
- package/references/web-ui/src/components/GsUpload/imgUpload.vue +382 -0
- package/references/web-ui/src/components/GsUpload/index.vue +468 -0
- package/references/web-ui/src/components/GsUpload/preview.vue +44 -0
- package/references/web-ui/src/components/GsUpload/utils.ts +151 -0
- package/references/web-ui/src/components/SvgIcon/index.ts +7 -0
- package/references/web-ui/src/components/SvgIcon/index.vue +39 -0
- package/references/web-ui/src/components/UploadImg/index.ts +7 -0
- package/references/web-ui/src/components/UploadImg/index.vue +292 -0
- package/references/web-ui/src/components/global-register.ts +31 -0
- package/references/web-ui/src/components/utils/index.ts +12 -0
- package/references/web-ui/src/config/index.js +64 -0
- package/references/web-ui/src/core/initMain.ts +89 -0
- package/references/web-ui/src/icons/index.ts +5 -0
- package/references/web-ui/src/icons/svg/AssessmentInfo.svg +1 -0
- package/references/web-ui/src/icons/svg/BasicConfig.svg +1 -0
- package/references/web-ui/src/icons/svg/DataEase.svg +86 -0
- package/references/web-ui/src/icons/svg/PDF.svg +1 -0
- package/references/web-ui/src/icons/svg/account_box.svg +5 -0
- package/references/web-ui/src/icons/svg/add.svg +1 -0
- package/references/web-ui/src/icons/svg/alert.svg +8 -0
- package/references/web-ui/src/icons/svg/alertlist.svg +18 -0
- package/references/web-ui/src/icons/svg/all-msg.svg +1 -0
- package/references/web-ui/src/icons/svg/analysis.svg +1 -0
- package/references/web-ui/src/icons/svg/app.svg +1 -0
- package/references/web-ui/src/icons/svg/assPersonnel.svg +1 -0
- package/references/web-ui/src/icons/svg/assessment.svg +1 -0
- package/references/web-ui/src/icons/svg/bar-horizontal.svg +1 -0
- package/references/web-ui/src/icons/svg/bar-stack-horizontal.svg +1 -0
- package/references/web-ui/src/icons/svg/bar-stack.svg +1 -0
- package/references/web-ui/src/icons/svg/bar.svg +1 -0
- package/references/web-ui/src/icons/svg/basicalgorithm.svg +1 -0
- package/references/web-ui/src/icons/svg/battery.svg +1 -0
- package/references/web-ui/src/icons/svg/bbgl.svg +1 -0
- package/references/web-ui/src/icons/svg/bell.svg +5 -0
- package/references/web-ui/src/icons/svg/bfcx.svg +1 -0
- package/references/web-ui/src/icons/svg/bjqd.svg +1 -0
- package/references/web-ui/src/icons/svg/bjxhtj.svg +1 -0
- package/references/web-ui/src/icons/svg/bjxhxq.svg +1 -0
- package/references/web-ui/src/icons/svg/bmll.svg +1 -0
- package/references/web-ui/src/icons/svg/bmtl.svg +1 -0
- package/references/web-ui/src/icons/svg/bqcj.svg +1 -0
- package/references/web-ui/src/icons/svg/bqmbgl.svg +1 -0
- package/references/web-ui/src/icons/svg/buddle-map.svg +1 -0
- package/references/web-ui/src/icons/svg/bug.svg +1 -0
- package/references/web-ui/src/icons/svg/bygd.svg +1 -0
- package/references/web-ui/src/icons/svg/bz.svg +1 -0
- package/references/web-ui/src/icons/svg/bzgl.svg +1 -0
- package/references/web-ui/src/icons/svg/characteristics.svg +1 -0
- package/references/web-ui/src/icons/svg/chart-mix.svg +1 -0
- package/references/web-ui/src/icons/svg/checkbox-checked.svg +5 -0
- package/references/web-ui/src/icons/svg/checkimage.svg +1 -0
- package/references/web-ui/src/icons/svg/ck.svg +1 -0
- package/references/web-ui/src/icons/svg/classifymark.svg +1 -0
- package/references/web-ui/src/icons/svg/closeEyes.svg +15 -0
- package/references/web-ui/src/icons/svg/club.svg +1 -0
- package/references/web-ui/src/icons/svg/collector.svg +1 -0
- package/references/web-ui/src/icons/svg/collectormanage.svg +1 -0
- package/references/web-ui/src/icons/svg/crkdcx.svg +1 -0
- package/references/web-ui/src/icons/svg/dashboard-collector.svg +38 -0
- package/references/web-ui/src/icons/svg/dashboard-device.svg +40 -0
- package/references/web-ui/src/icons/svg/dashboard-gateway.svg +38 -0
- package/references/web-ui/src/icons/svg/dashboard-warning.svg +40 -0
- package/references/web-ui/src/icons/svg/dashboard.svg +1 -0
- package/references/web-ui/src/icons/svg/database.svg +1 -0
- package/references/web-ui/src/icons/svg/dataset-task.svg +1 -0
- package/references/web-ui/src/icons/svg/datasource.svg +1 -0
- package/references/web-ui/src/icons/svg/db.svg +1 -0
- package/references/web-ui/src/icons/svg/ddgl.svg +1 -0
- package/references/web-ui/src/icons/svg/ddycjk.svg +1 -0
- package/references/web-ui/src/icons/svg/default.svg +1 -0
- package/references/web-ui/src/icons/svg/definition.svg +1 -0
- package/references/web-ui/src/icons/svg/depassessment.svg +1 -0
- package/references/web-ui/src/icons/svg/dept.svg +1 -0
- package/references/web-ui/src/icons/svg/device.svg +1 -0
- package/references/web-ui/src/icons/svg/devicebig.svg +1 -0
- package/references/web-ui/src/icons/svg/devicegroup.svg +1 -0
- package/references/web-ui/src/icons/svg/devicelist.svg +1 -0
- package/references/web-ui/src/icons/svg/devicemanage.svg +1 -0
- package/references/web-ui/src/icons/svg/deviceparam.svg +1 -0
- package/references/web-ui/src/icons/svg/devicetype.svg +1 -0
- package/references/web-ui/src/icons/svg/diagnose.svg +1 -0
- package/references/web-ui/src/icons/svg/diagnoseresult.svg +1 -0
- package/references/web-ui/src/icons/svg/distribution.svg +1 -0
- package/references/web-ui/src/icons/svg/doc.svg +1 -0
- package/references/web-ui/src/icons/svg/docs.svg +1 -0
- package/references/web-ui/src/icons/svg/dqby.svg +1 -0
- package/references/web-ui/src/icons/svg/dqbydb.svg +1 -0
- package/references/web-ui/src/icons/svg/dqbygc.svg +1 -0
- package/references/web-ui/src/icons/svg/dqbygd.svg +1 -0
- package/references/web-ui/src/icons/svg/dqbyjh.svg +1 -0
- package/references/web-ui/src/icons/svg/ds-api.svg +1 -0
- package/references/web-ui/src/icons/svg/ds-custom.svg +1 -0
- package/references/web-ui/src/icons/svg/ds-db.svg +1 -0
- package/references/web-ui/src/icons/svg/ds-excel.svg +1 -0
- package/references/web-ui/src/icons/svg/ds-sql.svg +1 -0
- package/references/web-ui/src/icons/svg/ds-union.svg +1 -0
- package/references/web-ui/src/icons/svg/dxjdb.svg +1 -0
- package/references/web-ui/src/icons/svg/dxjgc.svg +1 -0
- package/references/web-ui/src/icons/svg/dxjgd.svg +1 -0
- package/references/web-ui/src/icons/svg/dxjjh.svg +1 -0
- package/references/web-ui/src/icons/svg/dy.svg +1 -0
- package/references/web-ui/src/icons/svg/earth.svg +5 -0
- package/references/web-ui/src/icons/svg/echart-fullscreen.svg +1 -0
- package/references/web-ui/src/icons/svg/echart-nomalscreen.svg +1 -0
- package/references/web-ui/src/icons/svg/edit.svg +1 -0
- package/references/web-ui/src/icons/svg/email-task.svg +1 -0
- package/references/web-ui/src/icons/svg/envelop.svg +5 -0
- package/references/web-ui/src/icons/svg/equalizer.svg +5 -0
- package/references/web-ui/src/icons/svg/example.svg +1 -0
- package/references/web-ui/src/icons/svg/exclamationmark.svg +1 -0
- package/references/web-ui/src/icons/svg/exclamationmark2.svg +1 -0
- package/references/web-ui/src/icons/svg/exit-fullscreen.svg +1 -0
- package/references/web-ui/src/icons/svg/eye-open.svg +1 -0
- package/references/web-ui/src/icons/svg/eye.svg +1 -0
- package/references/web-ui/src/icons/svg/fav.svg +1 -0
- package/references/web-ui/src/icons/svg/field_location.svg +1 -0
- package/references/web-ui/src/icons/svg/field_text.svg +1 -0
- package/references/web-ui/src/icons/svg/field_time.svg +1 -0
- package/references/web-ui/src/icons/svg/field_value.svg +1 -0
- package/references/web-ui/src/icons/svg/folder.svg +1 -0
- package/references/web-ui/src/icons/svg/form.svg +1 -0
- package/references/web-ui/src/icons/svg/fullscreen.svg +1 -0
- package/references/web-ui/src/icons/svg/funnel.svg +1 -0
- package/references/web-ui/src/icons/svg/gateway.svg +1 -0
- package/references/web-ui/src/icons/svg/gatewaymanage.svg +16 -0
- package/references/web-ui/src/icons/svg/gauge.svg +1 -0
- package/references/web-ui/src/icons/svg/gdgl.svg +1 -0
- package/references/web-ui/src/icons/svg/gdll.svg +1 -0
- package/references/web-ui/src/icons/svg/gdtl.svg +1 -0
- package/references/web-ui/src/icons/svg/gdwcqk.svg +1 -0
- package/references/web-ui/src/icons/svg/gdwcxq.svg +1 -0
- package/references/web-ui/src/icons/svg/gnwz.svg +1 -0
- package/references/web-ui/src/icons/svg/gs-add.svg +14 -0
- package/references/web-ui/src/icons/svg/gs-change.svg +18 -0
- package/references/web-ui/src/icons/svg/gs-choose-icon.svg +23 -0
- package/references/web-ui/src/icons/svg/gs-close.svg +15 -0
- package/references/web-ui/src/icons/svg/gs-delete.svg +19 -0
- package/references/web-ui/src/icons/svg/gs-down.svg +12 -0
- package/references/web-ui/src/icons/svg/gs-edit.svg +23 -0
- package/references/web-ui/src/icons/svg/gs-edit2.svg +18 -0
- package/references/web-ui/src/icons/svg/gs-page.svg +14 -0
- package/references/web-ui/src/icons/svg/gs-resize.svg +12 -0
- package/references/web-ui/src/icons/svg/gs-select.svg +15 -0
- package/references/web-ui/src/icons/svg/gzbx.svg +1 -0
- package/references/web-ui/src/icons/svg/gzgd.svg +1 -0
- package/references/web-ui/src/icons/svg/gzk.svg +1 -0
- package/references/web-ui/src/icons/svg/gzzd.svg +1 -0
- package/references/web-ui/src/icons/svg/head.svg +13 -0
- package/references/web-ui/src/icons/svg/iconfont.svg +71 -0
- package/references/web-ui/src/icons/svg/im_message.svg +1 -0
- package/references/web-ui/src/icons/svg/indexdefine.svg +1 -0
- package/references/web-ui/src/icons/svg/inner-join.svg +1 -0
- package/references/web-ui/src/icons/svg/international.svg +1 -0
- package/references/web-ui/src/icons/svg/jcsj.svg +1 -0
- package/references/web-ui/src/icons/svg/jhjxgd.svg +1 -0
- package/references/web-ui/src/icons/svg/jilu.svg +1 -0
- package/references/web-ui/src/icons/svg/jldw.svg +1 -0
- package/references/web-ui/src/icons/svg/jscsfp.svg +1 -0
- package/references/web-ui/src/icons/svg/jscswh.svg +1 -0
- package/references/web-ui/src/icons/svg/kccx.svg +1 -0
- package/references/web-ui/src/icons/svg/kcpd.svg +1 -0
- package/references/web-ui/src/icons/svg/konwledgelist.svg +1 -0
- package/references/web-ui/src/icons/svg/kucun.svg +1 -0
- package/references/web-ui/src/icons/svg/language.svg +1 -0
- package/references/web-ui/src/icons/svg/left-join.svg +1 -0
- package/references/web-ui/src/icons/svg/leftBack.svg +15 -0
- package/references/web-ui/src/icons/svg/line-stack.svg +1 -0
- package/references/web-ui/src/icons/svg/line.svg +1 -0
- package/references/web-ui/src/icons/svg/link.svg +1 -0
- package/references/web-ui/src/icons/svg/liquid.svg +1 -0
- package/references/web-ui/src/icons/svg/list.svg +5 -0
- package/references/web-ui/src/icons/svg/location2.svg +5 -0
- package/references/web-ui/src/icons/svg/lock_closed.svg +1 -0
- package/references/web-ui/src/icons/svg/lock_open.svg +1 -0
- package/references/web-ui/src/icons/svg/logo.svg +32 -0
- package/references/web-ui/src/icons/svg/map.svg +1 -0
- package/references/web-ui/src/icons/svg/map_old.svg +1 -0
- package/references/web-ui/src/icons/svg/menu.svg +1 -0
- package/references/web-ui/src/icons/svg/message.svg +1 -0
- package/references/web-ui/src/icons/svg/messaged.svg +1 -0
- package/references/web-ui/src/icons/svg/meter.svg +5 -0
- package/references/web-ui/src/icons/svg/mobile.svg +5 -0
- package/references/web-ui/src/icons/svg/model.svg +1 -0
- package/references/web-ui/src/icons/svg/money.svg +1 -0
- package/references/web-ui/src/icons/svg/more_v.svg +1 -0
- package/references/web-ui/src/icons/svg/msg-setting.svg +1 -0
- package/references/web-ui/src/icons/svg/mttr&mtbf.svg +1 -0
- package/references/web-ui/src/icons/svg/multiplemp.svg +1 -0
- package/references/web-ui/src/icons/svg/myassessment.svg +1 -0
- package/references/web-ui/src/icons/svg/nested.svg +1 -0
- package/references/web-ui/src/icons/svg/new-message.svg +5 -0
- package/references/web-ui/src/icons/svg/no-join.svg +1 -0
- package/references/web-ui/src/icons/svg/normal-fx.svg +1 -0
- package/references/web-ui/src/icons/svg/notification.svg +1 -0
- package/references/web-ui/src/icons/svg/openEyes.svg +12 -0
- package/references/web-ui/src/icons/svg/openai.svg +1 -0
- package/references/web-ui/src/icons/svg/panel.svg +1 -0
- package/references/web-ui/src/icons/svg/password.svg +1 -0
- package/references/web-ui/src/icons/svg/people.svg +1 -0
- package/references/web-ui/src/icons/svg/peoples.svg +1 -0
- package/references/web-ui/src/icons/svg/pie-rose.svg +1 -0
- package/references/web-ui/src/icons/svg/pie.svg +1 -0
- package/references/web-ui/src/icons/svg/plus.svg +5 -0
- package/references/web-ui/src/icons/svg/podcast.svg +5 -0
- package/references/web-ui/src/icons/svg/preview.svg +1 -0
- package/references/web-ui/src/icons/svg/qrcode.svg +5 -0
- package/references/web-ui/src/icons/svg/radar.svg +1 -0
- package/references/web-ui/src/icons/svg/readed-msg.svg +1 -0
- package/references/web-ui/src/icons/svg/remove.svg +1 -0
- package/references/web-ui/src/icons/svg/rhdb.svg +1 -0
- package/references/web-ui/src/icons/svg/rhgc.svg +1 -0
- package/references/web-ui/src/icons/svg/rhgd.svg +1 -0
- package/references/web-ui/src/icons/svg/right-join.svg +1 -0
- package/references/web-ui/src/icons/svg/role.svg +1 -0
- package/references/web-ui/src/icons/svg/rulelist.svg +1 -0
- package/references/web-ui/src/icons/svg/runconfig.svg +1 -0
- package/references/web-ui/src/icons/svg/sbgzlbb.svg +1 -0
- package/references/web-ui/src/icons/svg/sbqy.svg +1 -0
- package/references/web-ui/src/icons/svg/sbrhjh.svg +1 -0
- package/references/web-ui/src/icons/svg/sbwhl.svg +1 -0
- package/references/web-ui/src/icons/svg/scatter.svg +1 -0
- package/references/web-ui/src/icons/svg/scene.svg +1 -0
- package/references/web-ui/src/icons/svg/shoppingCard.svg +1 -0
- package/references/web-ui/src/icons/svg/shouqi.svg +13 -0
- package/references/web-ui/src/icons/svg/singlemp.svg +1 -0
- package/references/web-ui/src/icons/svg/size.svg +1 -0
- package/references/web-ui/src/icons/svg/slimHead.svg +12 -0
- package/references/web-ui/src/icons/svg/sort-asc.svg +1 -0
- package/references/web-ui/src/icons/svg/sort-desc.svg +1 -0
- package/references/web-ui/src/icons/svg/standard.svg +1 -0
- package/references/web-ui/src/icons/svg/star.svg +1 -0
- package/references/web-ui/src/icons/svg/stats-bars.svg +5 -0
- package/references/web-ui/src/icons/svg/suffix-obj.svg +1 -0
- package/references/web-ui/src/icons/svg/sys-tools.svg +1 -0
- package/references/web-ui/src/icons/svg/system.svg +1 -0
- package/references/web-ui/src/icons/svg/table-info.svg +1 -0
- package/references/web-ui/src/icons/svg/table-normal.svg +1 -0
- package/references/web-ui/src/icons/svg/table-pivot.svg +1 -0
- package/references/web-ui/src/icons/svg/table.svg +1 -0
- package/references/web-ui/src/icons/svg/taizhang.svg +1 -0
- package/references/web-ui/src/icons/svg/task.svg +1 -0
- package/references/web-ui/src/icons/svg/tenant.svg +1 -0
- package/references/web-ui/src/icons/svg/text.svg +1 -0
- package/references/web-ui/src/icons/svg/tjqq.svg +1 -0
- package/references/web-ui/src/icons/svg/tree-company.svg +1 -0
- package/references/web-ui/src/icons/svg/tree-department.svg +1 -0
- package/references/web-ui/src/icons/svg/tree-device.svg +1 -0
- package/references/web-ui/src/icons/svg/tree-organization.svg +1 -0
- package/references/web-ui/src/icons/svg/tree.svg +1 -0
- package/references/web-ui/src/icons/svg/treemap.svg +1 -0
- package/references/web-ui/src/icons/svg/undefinedata.svg +1 -0
- package/references/web-ui/src/icons/svg/unread-msg.svg +1 -0
- package/references/web-ui/src/icons/svg/user-check.svg +6 -0
- package/references/web-ui/src/icons/svg/user.svg +1 -0
- package/references/web-ui/src/icons/svg/users.svg +6 -0
- package/references/web-ui/src/icons/svg/warn-tre.svg +1 -0
- package/references/web-ui/src/icons/svg/waterfall.svg +1 -0
- package/references/web-ui/src/icons/svg/wdgzt.svg +1 -0
- package/references/web-ui/src/icons/svg/wdlc.svg +1 -0
- package/references/web-ui/src/icons/svg/web-msg.svg +1 -0
- package/references/web-ui/src/icons/svg/wlbm.svg +1 -0
- package/references/web-ui/src/icons/svg/wlfl.svg +1 -0
- package/references/web-ui/src/icons/svg/wlgl.svg +1 -0
- package/references/web-ui/src/icons/svg/word-cloud.svg +1 -0
- package/references/web-ui/src/icons/svg/wtsp.svg +1 -0
- package/references/web-ui/src/icons/svg/wxdb.svg +1 -0
- package/references/web-ui/src/icons/svg/wxgc.svg +1 -0
- package/references/web-ui/src/icons/svg/xiaoxi.svg +13 -0
- package/references/web-ui/src/icons/svg/xyldr.svg +1 -0
- package/references/web-ui/src/icons/svg/ysp.svg +1 -0
- package/references/web-ui/src/icons/svg/yxgl.svg +1 -0
- package/references/web-ui/src/icons/svg/zcfbjzttj.svg +1 -0
- package/references/web-ui/src/icons/svg/zcfl.svg +1 -0
- package/references/web-ui/src/icons/svg/zcgl.svg +1 -0
- package/references/web-ui/src/icons/svg/zclk.svg +1 -0
- package/references/web-ui/src/icons/svg/zcll.svg +1 -0
- package/references/web-ui/src/icons/svg/zclx.svg +1 -0
- package/references/web-ui/src/icons/svg/zcpd.svg +1 -0
- package/references/web-ui/src/icons/svg/zctjbb.svg +1 -0
- package/references/web-ui/src/icons/svg/zcz.svg +1 -0
- package/references/web-ui/src/icons/svg/zhankai.svg +13 -0
- package/references/web-ui/src/icons/svg/zichan.svg +1 -0
- package/references/web-ui/src/icons/svg/zxck.svg +1 -0
- package/references/web-ui/src/icons/svg/zxrk.svg +1 -0
- package/references/web-ui/src/lang/element-lang.ts +26 -0
- package/references/web-ui/src/lang/en-us.ts +146 -0
- package/references/web-ui/src/lang/hu-hu.ts +1141 -0
- package/references/web-ui/src/lang/index.ts +109 -0
- package/references/web-ui/src/lang/iotBaseRole/en-us.ts +28 -0
- package/references/web-ui/src/lang/iotBaseRole/zh-cn.ts +28 -0
- package/references/web-ui/src/lang/iotBaseSystem/en-us.ts +35 -0
- package/references/web-ui/src/lang/iotBaseSystem/zh-cn.ts +35 -0
- package/references/web-ui/src/lang/modules/button/en-us.ts +158 -0
- package/references/web-ui/src/lang/modules/button/zh-cn.ts +157 -0
- package/references/web-ui/src/lang/modules/button/zh-tw.ts +157 -0
- package/references/web-ui/src/lang/modules/customizeTable/en-us.ts +56 -0
- package/references/web-ui/src/lang/modules/customizeTable/zh-cn.ts +55 -0
- package/references/web-ui/src/lang/modules/customizeTable/zh-tw.ts +55 -0
- package/references/web-ui/src/lang/modules/exportData/en-us.ts +19 -0
- package/references/web-ui/src/lang/modules/exportData/zh-cn.ts +19 -0
- package/references/web-ui/src/lang/modules/exportData/zh-tw.ts +19 -0
- package/references/web-ui/src/lang/modules/exportHistroy/en-us.ts +10 -0
- package/references/web-ui/src/lang/modules/exportHistroy/zh-cn.ts +10 -0
- package/references/web-ui/src/lang/modules/exportHistroy/zh-tw.ts +10 -0
- package/references/web-ui/src/lang/modules/gsReport/en-us.ts +41 -0
- package/references/web-ui/src/lang/modules/gsReport/zh-cn.ts +41 -0
- package/references/web-ui/src/lang/modules/gsReport/zh-tw.ts +41 -0
- package/references/web-ui/src/lang/modules/gsUploadFile/en-us.ts +10 -0
- package/references/web-ui/src/lang/modules/gsUploadFile/zh-cn.ts +10 -0
- package/references/web-ui/src/lang/modules/gsUploadFile/zh-tw.ts +10 -0
- package/references/web-ui/src/lang/modules/home/en-us.ts +19 -0
- package/references/web-ui/src/lang/modules/home/zh-cn.ts +19 -0
- package/references/web-ui/src/lang/modules/home/zh-tw.ts +19 -0
- package/references/web-ui/src/lang/modules/importData/en-us.ts +42 -0
- package/references/web-ui/src/lang/modules/importData/zh-cn.ts +42 -0
- package/references/web-ui/src/lang/modules/importData/zh-tw.ts +42 -0
- package/references/web-ui/src/lang/modules/importHistroy/en-us.ts +9 -0
- package/references/web-ui/src/lang/modules/importHistroy/zh-cn.ts +9 -0
- package/references/web-ui/src/lang/modules/importHistroy/zh-tw.ts +9 -0
- package/references/web-ui/src/lang/modules/js/en-us.ts +63 -0
- package/references/web-ui/src/lang/modules/js/zh-cn.ts +60 -0
- package/references/web-ui/src/lang/modules/js/zh-tw.ts +60 -0
- package/references/web-ui/src/lang/modules/letters/en-us.ts +21 -0
- package/references/web-ui/src/lang/modules/letters/zh-cn.ts +22 -0
- package/references/web-ui/src/lang/modules/letters/zh-tw.ts +22 -0
- package/references/web-ui/src/lang/modules/login/en-us.ts +68 -0
- package/references/web-ui/src/lang/modules/login/zh-cn.ts +64 -0
- package/references/web-ui/src/lang/modules/login/zh-tw.ts +64 -0
- package/references/web-ui/src/lang/modules/menu/en-us.ts +429 -0
- package/references/web-ui/src/lang/modules/menu/zh-cn.ts +423 -0
- package/references/web-ui/src/lang/modules/menu/zh-tw.ts +423 -0
- package/references/web-ui/src/lang/modules/message/en-us.ts +4 -0
- package/references/web-ui/src/lang/modules/message/zh-cn.ts +4 -0
- package/references/web-ui/src/lang/modules/message/zh-tw.ts +4 -0
- package/references/web-ui/src/lang/modules/otherLang/en-us.ts +63 -0
- package/references/web-ui/src/lang/modules/otherLang/zh-cn.ts +60 -0
- package/references/web-ui/src/lang/modules/otherLang/zh-tw.ts +58 -0
- package/references/web-ui/src/lang/modules/person/en-us.ts +27 -0
- package/references/web-ui/src/lang/modules/person/zh-cn.ts +27 -0
- package/references/web-ui/src/lang/modules/person/zh-tw.ts +27 -0
- package/references/web-ui/src/lang/modules/source_data/en-us.ts +49 -0
- package/references/web-ui/src/lang/modules/source_data/zh-cn.ts +41 -0
- package/references/web-ui/src/lang/modules/source_data/zh-tw.ts +41 -0
- package/references/web-ui/src/lang/modules/theme/en-us.ts +22 -0
- package/references/web-ui/src/lang/modules/theme/zh-cn.ts +22 -0
- package/references/web-ui/src/lang/modules/theme/zh-tw.ts +23 -0
- package/references/web-ui/src/lang/modules/third/en-us.ts +10 -0
- package/references/web-ui/src/lang/modules/third/zh-cn.ts +9 -0
- package/references/web-ui/src/lang/modules/third/zh-tw.ts +9 -0
- package/references/web-ui/src/lang/modules/toast/en-us.ts +21 -0
- package/references/web-ui/src/lang/modules/toast/zh-cn.ts +21 -0
- package/references/web-ui/src/lang/modules/toast/zh-tw.ts +21 -0
- package/references/web-ui/src/lang/modules/uploadDocument/en-us.ts +6 -0
- package/references/web-ui/src/lang/modules/uploadDocument/zh-cn.ts +6 -0
- package/references/web-ui/src/lang/modules/uploadDocument/zh-tw.ts +6 -0
- package/references/web-ui/src/lang/utils.ts +20 -0
- package/references/web-ui/src/lang/vi-vn.ts +1140 -0
- package/references/web-ui/src/lang/zh-cn.ts +180 -0
- package/references/web-ui/src/lang/zh-tw.ts +147 -0
- package/references/web-ui/src/main.ts +25 -0
- package/references/web-ui/src/permission.ts +407 -0
- package/references/web-ui/src/plugins/i18n.ts +3 -0
- package/references/web-ui/src/plugins/pinia.ts +7 -0
- package/references/web-ui/src/qiankun.js +114 -0
- package/references/web-ui/src/router/index.ts +119 -0
- package/references/web-ui/src/store/index.ts +43 -0
- package/references/web-ui/src/store/modules/app/actions.ts +137 -0
- package/references/web-ui/src/store/modules/app/getters.ts +17 -0
- package/references/web-ui/src/store/modules/app/index.ts +52 -0
- package/references/web-ui/src/store/modules/app/mutations.ts +108 -0
- package/references/web-ui/src/store/modules/permission/actions.ts +11 -0
- package/references/web-ui/src/store/modules/permission/getters.ts +5 -0
- package/references/web-ui/src/store/modules/permission/index.ts +14 -0
- package/references/web-ui/src/store/modules/permission/mutations.ts +13 -0
- package/references/web-ui/src/store/modules/tagsView/actions.ts +87 -0
- package/references/web-ui/src/store/modules/tagsView/getters.ts +6 -0
- package/references/web-ui/src/store/modules/tagsView/index.ts +18 -0
- package/references/web-ui/src/store/modules/tagsView/mutations.ts +118 -0
- package/references/web-ui/src/store/modules/theme/actions.ts +38 -0
- package/references/web-ui/src/store/modules/theme/getters.ts +10 -0
- package/references/web-ui/src/store/modules/theme/index.ts +26 -0
- package/references/web-ui/src/store/modules/theme/mutations.ts +28 -0
- package/references/web-ui/src/store/modules/user/actions.ts +243 -0
- package/references/web-ui/src/store/modules/user/getters.ts +10 -0
- package/references/web-ui/src/store/modules/user/index.ts +44 -0
- package/references/web-ui/src/store/modules/user/mutations.ts +104 -0
- package/references/web-ui/src/store/piniaToVuex/index.ts +179 -0
- package/references/web-ui/src/stores/counter.ts +12 -0
- package/references/web-ui/src/styles/element-plus.scss +937 -0
- package/references/web-ui/src/styles/global.scss +826 -0
- package/references/web-ui/src/styles/iconfont/demo.css +539 -0
- package/references/web-ui/src/styles/iconfont/iconfont.css +68 -0
- package/references/web-ui/src/styles/iconfont/iconfont.js +63 -0
- package/references/web-ui/src/styles/iconfont/iconfont.ttf +0 -0
- package/references/web-ui/src/styles/index.scss +116 -0
- package/references/web-ui/src/styles/mixin.scss +78 -0
- package/references/web-ui/src/styles/theme/black/content-management.scss +11 -0
- package/references/web-ui/src/styles/theme/black/dynamic-report.scss +31 -0
- package/references/web-ui/src/styles/theme/black/form-design.scss +181 -0
- package/references/web-ui/src/styles/theme/black/open-api.scss +118 -0
- package/references/web-ui/src/styles/theme/black/platform.scss +57 -0
- package/references/web-ui/src/styles/theme/black/process-manage.scss +48 -0
- package/references/web-ui/src/styles/theme/black/rent-mannage.scss +8 -0
- package/references/web-ui/src/styles/theme/black/schedule.scss +45 -0
- package/references/web-ui/src/styles/theme/black/service-management.scss +14 -0
- package/references/web-ui/src/styles/theme/black/system-manage.scss +144 -0
- package/references/web-ui/src/styles/theme/black.scss +1642 -0
- package/references/web-ui/src/styles/theme/default/index.scss +1 -0
- package/references/web-ui/src/styles/theme/default/menu.scss +199 -0
- package/references/web-ui/src/styles/transition.scss +107 -0
- package/references/web-ui/src/styles/variables.scss +66 -0
- package/references/web-ui/src/utils/ArrayExtension.ts +175 -0
- package/references/web-ui/src/utils/app-mixin.ts +50 -0
- package/references/web-ui/src/utils/areas.ts +1712 -0
- package/references/web-ui/src/utils/auth.ts +329 -0
- package/references/web-ui/src/utils/base64.ts +231 -0
- package/references/web-ui/src/utils/browser-helper.ts +39 -0
- package/references/web-ui/src/utils/bus.ts +35 -0
- package/references/web-ui/src/utils/deprecated-utils.ts +116 -0
- package/references/web-ui/src/utils/events.ts +59 -0
- package/references/web-ui/src/utils/index.ts +790 -0
- package/references/web-ui/src/utils/name-auth.ts +97 -0
- package/references/web-ui/src/utils/onlyMsgBox.ts +38 -0
- package/references/web-ui/src/utils/pinyinList.ts +417 -0
- package/references/web-ui/src/utils/request-utils.ts +277 -0
- package/references/web-ui/src/utils/request.ts +100 -0
- package/references/web-ui/src/utils/routeHelper.ts +66 -0
- package/references/web-ui/src/utils/storage.ts +80 -0
- package/references/web-ui/src/utils/theme.ts +192 -0
- package/references/web-ui/src/utils/toPinYin.ts +34 -0
- package/references/web-ui/src/utils/tool.ts +7103 -0
- package/references/web-ui/src/utils/utilsFn.ts +73 -0
- package/references/web-ui/src/utils/validate.ts +110 -0
- package/references/web-ui/src/utils/watermark.ts +161 -0
- package/references/web-ui/src/utils/watermarkcompact.ts +180 -0
- package/references/web-ui/src/utils/wordRender.ts +100 -0
- package/references/web-ui/src/utils/ws.ts +42 -0
- package/references/web-ui/src/views/404.vue +245 -0
- package/references/web-ui/src/views/CollectButton/demand.vue +39 -0
- package/references/web-ui/src/views/CollectButton/dialog.vue +178 -0
- package/references/web-ui/src/views/CollectButton/index.vue +306 -0
- package/references/web-ui/src/views/FlowCharts/FormDemo.vue +236 -0
- package/references/web-ui/src/views/FlowCharts/components/ListDetailButton/index.vue +36 -0
- package/references/web-ui/src/views/FlowCharts/leaveApplication.vue +56 -0
- package/references/web-ui/src/views/FlowCharts/testForm.vue +56 -0
- package/references/web-ui/src/views/Password/index.vue +147 -0
- package/references/web-ui/src/views/authorize/components/ForgetPassword.vue +309 -0
- package/references/web-ui/src/views/authorize/components/FormLogin/components/VerificationDialog.vue +297 -0
- package/references/web-ui/src/views/authorize/components/FormLogin/index.vue +649 -0
- package/references/web-ui/src/views/authorize/index.vue +149 -0
- package/references/web-ui/src/views/dynamic-form/index.vue +42 -0
- package/references/web-ui/src/views/home-page/WorkTable.vue +116 -0
- package/references/web-ui/src/views/home-page/index.vue +14 -0
- package/references/web-ui/src/views/iotBaseRole/AddDrawer.vue +320 -0
- package/references/web-ui/src/views/iotBaseRole/EditTable.vue +373 -0
- package/references/web-ui/src/views/iotBaseRole/index.vue +313 -0
- package/references/web-ui/src/views/iotBaseSystem/AddDrawer.vue +305 -0
- package/references/web-ui/src/views/iotBaseSystem/index.vue +385 -0
- package/references/web-ui/src/views/layout/Frame.vue +75 -0
- package/references/web-ui/src/views/layout/Layout.vue +186 -0
- package/references/web-ui/src/views/layout/MiddleView.vue +29 -0
- package/references/web-ui/src/views/layout/components/AppMain.vue +302 -0
- package/references/web-ui/src/views/layout/components/CompactTools/index.vue +59 -0
- package/references/web-ui/src/views/layout/components/Navbar/components/AVue.vue +34 -0
- package/references/web-ui/src/views/layout/components/Navbar/components/Gpt.vue +49 -0
- package/references/web-ui/src/views/layout/components/Navbar/components/Help.vue +52 -0
- package/references/web-ui/src/views/layout/components/Navbar/components/Locale.vue +99 -0
- package/references/web-ui/src/views/layout/components/Navbar/components/Message.vue +495 -0
- package/references/web-ui/src/views/layout/components/Navbar/components/NavbarMenu.vue +196 -0
- package/references/web-ui/src/views/layout/components/Navbar/components/Personal.vue +308 -0
- package/references/web-ui/src/views/layout/components/Navbar/components/Portal.vue +34 -0
- package/references/web-ui/src/views/layout/components/Navbar/components/SystemChange.vue +133 -0
- package/references/web-ui/src/views/layout/components/Navbar/components/Tablet.vue +206 -0
- package/references/web-ui/src/views/layout/components/Navbar/components/TenantChange.vue +186 -0
- package/references/web-ui/src/views/layout/components/Navbar/components/Theme.vue +367 -0
- package/references/web-ui/src/views/layout/components/Navbar/index.vue +181 -0
- package/references/web-ui/src/views/layout/components/Sidebar/components/CustomSliderMenu.vue +267 -0
- package/references/web-ui/src/views/layout/components/Sidebar/components/FetchMenuItem.vue +45 -0
- package/references/web-ui/src/views/layout/components/Sidebar/components/MenuItem.vue +135 -0
- package/references/web-ui/src/views/layout/components/Sidebar/components/MenuSearch.vue +74 -0
- package/references/web-ui/src/views/layout/components/Sidebar/components/SubMenu.js +190 -0
- package/references/web-ui/src/views/layout/components/Sidebar/components/SubMenu.vue +125 -0
- package/references/web-ui/src/views/layout/components/Sidebar/components/ToggleSidebar.vue +51 -0
- package/references/web-ui/src/views/layout/components/Sidebar/index.vue +464 -0
- package/references/web-ui/src/views/layout/components/TagsView.vue +683 -0
- package/references/web-ui/src/views/layout/components/chatGPT/image/chatgpt.png +0 -0
- package/references/web-ui/src/views/layout/components/chatGPT/image/knowledge_IT.png +0 -0
- package/references/web-ui/src/views/layout/components/chatGPT/image/knowledge_gushen.png +0 -0
- package/references/web-ui/src/views/layout/components/chatGPT/image/pmo_background.png +0 -0
- package/references/web-ui/src/views/layout/components/chatGPT/image/smile.png +0 -0
- package/references/web-ui/src/views/layout/components/chatGPT/image/stop.svg +1 -0
- package/references/web-ui/src/views/layout/components/chatGPT/image/titleIcon.png +0 -0
- package/references/web-ui/src/views/layout/components/chatGPT/index.js +7 -0
- package/references/web-ui/src/views/layout/components/chatGPT/index.vue +517 -0
- package/references/web-ui/src/views/layout/components/chatGPT/styles/index.scss +360 -0
- package/references/web-ui/src/views/layout/components/chatGPT/utils/gpt.js +29 -0
- package/references/web-ui/src/views/layout/components/chatGPT/utils/index.js +70 -0
- package/references/web-ui/src/views/layout/components/index.js +6 -0
- package/references/web-ui/src/views/layout/mixin/ResizeHandler.js +28 -0
- package/references/web-ui/src/views/layout/utils/dynamicFormHelper.js +44 -0
- package/references/web-ui/src/views/layout/utils/scroll.js +89 -0
- package/references/web-ui/src/views/letters/config/gridConfig.js +59 -0
- package/references/web-ui/src/views/letters/index.vue +401 -0
- package/references/web-ui/src/views/login/ForgetPassword.vue +425 -0
- package/references/web-ui/src/views/login/FormLogin.vue +1219 -0
- package/references/web-ui/src/views/login/ScanLogin.vue +256 -0
- package/references/web-ui/src/views/login/index.vue +432 -0
- package/references/web-ui/src/views/person-info/components/information.vue +99 -0
- package/references/web-ui/src/views/person-info/index.vue +28 -0
- package/references/web-ui/src/views/sso/login/index.vue +128 -0
- package/references/web-ui/src/views/sso/multi-login/index.vue +95 -0
- package/references/web-ui/src/views/third-login/index.vue +73 -0
- package/references/web-ui/src/views/third-view.vue +86 -0
- package/references/web-ui/tsconfig.app.json +12 -0
- package/references/web-ui/tsconfig.json +11 -0
- package/references/web-ui/tsconfig.node.json +19 -0
- package/references/web-ui/vite.config.ts +42 -0
- package/references/yudaocloud-end-standard/04-Java/345/220/216/347/253/257/347/274/226/347/240/201/350/247/204/350/214/203.md +1095 -0
- package/references/yudaocloud-end-standard/index.md +12 -0
- package/scripts/postinstall.js +107 -0
- package/scripts/sync-version.js +109 -0
- package/skills/.claude/.wiki-update-queue +26 -0
- package/skills/adspecs-adversarial-review/SKILL.md +486 -0
- package/skills/adspecs-analyze/SKILL.md +573 -0
- package/skills/adspecs-architecture-planning/SKILL.md +875 -0
- package/skills/adspecs-biz-blueprint/SKILL.md +554 -0
- package/skills/adspecs-clarify/SKILL.md +299 -0
- package/skills/adspecs-export-word/SKILL.md +498 -0
- package/skills/adspecs-export-word/references/md-to-docx.js +862 -0
- package/skills/adspecs-export-word/references/package-lock.json +220 -0
- package/skills/adspecs-export-word/references/package.json +10 -0
- package/skills/adspecs-front-spec/SKILL.md +502 -0
- package/skills/adspecs-front-tasks/SKILL.md +611 -0
- package/skills/adspecs-git-commit/SKILL.md +53 -0
- package/skills/adspecs-new-requirement/SKILL.md +608 -0
- package/skills/adspecs-plan/SKILL.md +429 -0
- package/skills/adspecs-prd/SKILL.md +404 -0
- package/skills/adspecs-requirement-research/02-/351/234/200/346/261/202/346/235/245/346/272/220/344/270/216/351/207/207/351/233/206/350/256/260/345/275/225.md +85 -0
- package/skills/adspecs-requirement-research/SKILL.md +184 -0
- package/skills/adspecs-tasks/SKILL.md +630 -0
- package/skills/adspecs-update-status/SKILL.md +382 -0
- package/skills/adspecs-utest/SKILL.md +390 -0
- package/skills/adspecs-write-planning-report/SKILL.md +93 -0
- package/skills/adspecs-write-roadmap/SKILL.md +83 -0
- package/skills/adspecs-write-sow/SKILL.md +351 -0
- package/skills/project-init/SKILL.md +1289 -0
- package/skills/sie-front-code-review/SKILL.md +152 -0
- package/skills/wiki-update/SKILL.md +232 -0
- package/src/commands/doctor.js +197 -0
- package/src/commands/init.js +83 -0
- package/src/commands/plugin.js +145 -0
- package/src/commands/update.js +87 -0
- package/src/lib/area-scanner.js +129 -0
- package/src/lib/copier.js +104 -0
- package/src/lib/dir-utils.js +133 -0
- package/src/lib/json-merge.js +114 -0
- package/src/lib/paths-defaults.js +37 -0
- package/src/lib/prompts.js +345 -0
- package/src/lib/readme-gen.js +143 -0
- package/src/lib/report.js +327 -0
- package/src/lib/scaffolder.js +518 -0
- package/src/lib/short-name.js +36 -0
- package/src/utils.js +80 -0
|
@@ -0,0 +1,1289 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: project-init
|
|
3
|
+
description: "初始化项目目录结构,收集项目元信息(项目名称、目录、公司、密级),生成 .adspecs/project.json。支持四种模式:简易模式(仅 docs + wiki)、经典模式(+ front-demo)、完整模式(所有目录)、轻量模式(Python+SQLite+React+AntD6 全栈 demo,固定技术栈)。经典/完整模式支持 front-demo 技术栈选择(Vue 或 Ant Design React)。项目目录可选:未提供时直接在当前工作目录创建。Use when the user asks to initialize a project, create project scaffold, set up a new development environment, or recreate the project directory structure."
|
|
4
|
+
argument-hint: "[--project-name <名称>] [--project-dir <目录>] [--company <公司>] [--mode simple|classic|full|demo] [--front-demo vue|antd]"
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# 项目初始化 (Project Init)
|
|
8
|
+
|
|
9
|
+
## 概述
|
|
10
|
+
|
|
11
|
+
在当前会话工作目录下搭建项目的目录结构。支持三种初始化模式,用户可根据需要选择:
|
|
12
|
+
|
|
13
|
+
| 模式 | 初始化区域 | 说明 |
|
|
14
|
+
| -------- | ---------------------------------------------------------- | ------------------------------------------------------- |
|
|
15
|
+
| 简易模式 | `docs/` + `wiki/` | 仅文档目录和模板,适合产品经理和技术设计阶段 |
|
|
16
|
+
| 经典模式 | `docs/` + `wiki/` + `front-demo/` | 文档 + 前端演示,适合需求设计和原型验证,适用于产品经理 |
|
|
17
|
+
| 完整模式 | `docs/` + `wiki/` + `web-ui/` + `service/` + `front-demo/` | 所有目录和文件,适合产品经理和开发人员 |
|
|
18
|
+
| 轻量模式 | `docs/` + `wiki/` + `web-ui/` + `service/` + `front-demo/` | 固定技术栈(Python + SQLite + React + AntD6)全栈 demo,适合快速原型验证与功能演示 |
|
|
19
|
+
|
|
20
|
+
各区域说明:
|
|
21
|
+
|
|
22
|
+
| 区域 | 说明 | 创建方式 | 适用模式 |
|
|
23
|
+
| ------------- | ----------------------------- | ------------------------------------------------------------------------------------------------------------------ | ------------------ |
|
|
24
|
+
| `docs/` | 文档目录树(11 个一级子目录) | 创建骨架 + README.md(40 经典/完整/轻量模式从 references 复制,简易模式仅创建空目录;模板已迁移至 .adspecs/templates/) | 简易 / 经典 / 完整 / 轻量 |
|
|
25
|
+
| `wiki/` | 基线文件目录 | 创建骨架 + README.md | 简易 / 经典 / 完整 / 轻量 |
|
|
26
|
+
| `front-demo/` | PM 设计阶段前端演示项目 | 从 references 复制(支持 Vue 或 Ant Design React;轻量模式固定 Ant Design React) | 经典 / 完整 / 轻量 |
|
|
27
|
+
| `web-ui/` | 前端正式项目 | 从插件根目录 references/web-ui 复制 | 完整 / 轻量 |
|
|
28
|
+
| `service/` | 后端服务模块目录 | 创建 service 目录 + README.md | 完整 / 轻量 |
|
|
29
|
+
| `.adspecs/` | 插件运行时配置与脚本 | 从插件根目录 .adspecs 完整复制(含 extensions.yml、feature.json、scripts/) | 简易 / 经典 / 完整 / 轻量 |
|
|
30
|
+
|
|
31
|
+
## 适用场景
|
|
32
|
+
|
|
33
|
+
当用户要求:
|
|
34
|
+
|
|
35
|
+
- 初始化项目、创建项目骨架、搭建开发环境
|
|
36
|
+
- 在新机器或新目录重建项目结构
|
|
37
|
+
- 为新项目创建标准目录布局
|
|
38
|
+
- 在当前目录下直接生成项目结构(未提供项目名称时)
|
|
39
|
+
|
|
40
|
+
## 用户输入
|
|
41
|
+
|
|
42
|
+
```text
|
|
43
|
+
$ARGUMENTS
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
### 项目信息收集(必选,交互式提示)
|
|
47
|
+
|
|
48
|
+
每次执行本技能时,**必须**通过 AskUserQuestion 工具收集以下项目信息(即使 `$ARGUMENTS` 已提供部分参数,未提供的字段仍需交互收集),**不可跳过此步骤**。
|
|
49
|
+
|
|
50
|
+
#### 必收集字段
|
|
51
|
+
|
|
52
|
+
| 字段 | 变量名 | 说明 | 约束 | 默认值 |
|
|
53
|
+
| -------------- | -------------------- | ---------------------------------- | -------------------------------------------------- | ------------------------ |
|
|
54
|
+
| **项目名称** | `project_name` | 项目完整名称(中文/英文均可) | 必填,不可留空 | — |
|
|
55
|
+
| **项目目录** | `project_dir` | 项目文件目录名,用于创建项目根目录 | 仅允许字母、数字、连字符、下划线 | 留空 = 当前目录 |
|
|
56
|
+
| **公司名称** | `company_name` | 所属公司名称 | 任意字符 | "XX有限公司" |
|
|
57
|
+
| **项目短名称** | `project_short_name` | 用于文件命名前缀和模块编号前缀 | **仅允许英文字母和数字**(不含连字符、空格、中文) | 从 project_name 自动推导 |
|
|
58
|
+
| **文件密级** | `confidentiality` | 文件保密等级 | 可选值:公开 / 内部资料 / 机密 / 绝密 | "内部资料" |
|
|
59
|
+
|
|
60
|
+
#### 收集方式
|
|
61
|
+
|
|
62
|
+
使用 **AskUserQuestion** 工具分两次收集:
|
|
63
|
+
|
|
64
|
+
**第一次(核心信息)**:
|
|
65
|
+
|
|
66
|
+
```
|
|
67
|
+
questions: [
|
|
68
|
+
{
|
|
69
|
+
question: "请输入项目名称:",
|
|
70
|
+
header: "项目名称",
|
|
71
|
+
options: [
|
|
72
|
+
{ label: "示例:华峰铝业CRM平台", description: "项目完整名称,支持中英文" },
|
|
73
|
+
{ label: "示例:my-project", description: "英文项目名称" }
|
|
74
|
+
],
|
|
75
|
+
multiSelect: false
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
question: "请输入项目目录名(留空则在当前目录直接创建):",
|
|
79
|
+
header: "项目目录",
|
|
80
|
+
options: [
|
|
81
|
+
{ label: "留空(当前目录)", description: "不创建子目录,直接在当前工作目录下生成项目结构" },
|
|
82
|
+
{ label: "输入目录名", description: "在当前目录下创建同名子目录作为项目根目录(仅字母、数字、连字符、下划线)" }
|
|
83
|
+
],
|
|
84
|
+
multiSelect: false
|
|
85
|
+
}
|
|
86
|
+
]
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
**第二次(补充信息)**:
|
|
90
|
+
|
|
91
|
+
```
|
|
92
|
+
questions: [
|
|
93
|
+
{
|
|
94
|
+
question: "请输入公司名称(不填默认"XX有限公司"):",
|
|
95
|
+
header: "公司名称",
|
|
96
|
+
options: [
|
|
97
|
+
{ label: "XX有限公司", description: "默认值,后续可修改 .adspecs/project.json" },
|
|
98
|
+
{ label: "输入公司名称", description: "自定义公司名称" }
|
|
99
|
+
],
|
|
100
|
+
multiSelect: false
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
question: "请选择文件密级(不选默认"内部资料"):",
|
|
104
|
+
header: "文件密级",
|
|
105
|
+
options: [
|
|
106
|
+
{ label: "内部资料(默认)", description: "仅限公司内部使用" },
|
|
107
|
+
{ label: "公开", description: "可对外公开" },
|
|
108
|
+
{ label: "机密", description: "限授权人员访问" },
|
|
109
|
+
{ label: "绝密", description: "最高保密等级" }
|
|
110
|
+
],
|
|
111
|
+
multiSelect: false
|
|
112
|
+
}
|
|
113
|
+
]
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
#### project_short_name 自动推导规则
|
|
117
|
+
|
|
118
|
+
`project_short_name` 不由用户直接输入,而是自动推导:
|
|
119
|
+
|
|
120
|
+
1. 从 `project_name` 中提取所有英文字母和数字(去除中文、空格、连字符、下划线等)
|
|
121
|
+
2. 转为小写
|
|
122
|
+
3. 如果结果为空(项目名称全中文),则从 `project_dir` 推导(去除连字符和下划线)
|
|
123
|
+
4. 如果仍为空,使用 `project` 作为默认值
|
|
124
|
+
|
|
125
|
+
**示例**:
|
|
126
|
+
|
|
127
|
+
| project_name | project_dir | project_short_name |
|
|
128
|
+
| ------------------- | ------------ | ------------------ |
|
|
129
|
+
| "华峰铝业 CRM 平台" | "hflv-crm" | "hflvcrm" |
|
|
130
|
+
| "my-project" | "my-project" | "myproject" |
|
|
131
|
+
| "CRM 客户关系管理" | "" | "crm" |
|
|
132
|
+
| "智慧园区管理" | "park" | "park" |
|
|
133
|
+
|
|
134
|
+
#### $ARGUMENTS 快捷参数
|
|
135
|
+
|
|
136
|
+
以下参数可通过 `$ARGUMENTS` 直接传入,跳过对应的交互提示:
|
|
137
|
+
|
|
138
|
+
| 参数 | 对应字段 | 示例 |
|
|
139
|
+
| ----------------------- | ------------ | ------------------------------ |
|
|
140
|
+
| `--project-name <名称>` | project_name | `--project-name "华峰铝业CRM"` |
|
|
141
|
+
| `--project-dir <目录>` | project_dir | `--project-dir hflv-crm` |
|
|
142
|
+
| `--company <公司名称>` | company_name | `--company "华峰集团"` |
|
|
143
|
+
|
|
144
|
+
### 初始化模式(必选,交互式提示)
|
|
145
|
+
|
|
146
|
+
通过 **AskUserQuestion** 工具询问用户选择初始化模式:
|
|
147
|
+
|
|
148
|
+
- **简易模式**:仅初始化文档目录(docs/ + wiki/),不初始化 web-ui、service、front-demo
|
|
149
|
+
- **经典模式**:简易模式基础上完成 front-demo 初始化
|
|
150
|
+
- **完整模式**:初始化所有目录和文件
|
|
151
|
+
- **轻量模式**:固定技术栈(Python + SQLite + React + Ant Design 6)全栈 demo,包含完整前后端程序,适合快速功能演示
|
|
152
|
+
|
|
153
|
+
如果 `$ARGUMENTS` 中包含 `--mode` 参数,可直接解析使用:
|
|
154
|
+
|
|
155
|
+
- `--mode simple` → 简易模式
|
|
156
|
+
- `--mode classic` → 经典模式
|
|
157
|
+
- `--mode full` → 完整模式
|
|
158
|
+
- `--mode demo` → 轻量模式
|
|
159
|
+
|
|
160
|
+
### 前端演示技术栈(经典/完整模式时必选,轻量模式固定)
|
|
161
|
+
|
|
162
|
+
当用户选择**经典模式**或**完整模式**时,通过 **AskUserQuestion** 工具询问前端演示项目的技术栈:
|
|
163
|
+
|
|
164
|
+
- **front-demo**(Vue 技术栈,**默认**)→ 从插件根目录 `references/front-demo/` 复制
|
|
165
|
+
- **antd-front-demo**(Ant Design React 技术栈)→ 从插件根目录 `references/antd-front-demo/` 复制
|
|
166
|
+
|
|
167
|
+
如果 `$ARGUMENTS` 中包含 `--front-demo` 参数,可直接解析使用:
|
|
168
|
+
|
|
169
|
+
- `--front-demo vue` → front-demo(Vue 技术栈)
|
|
170
|
+
- `--front-demo antd` → antd-front-demo(Ant Design React 技术栈)
|
|
171
|
+
|
|
172
|
+
简易模式下忽略此参数。
|
|
173
|
+
|
|
174
|
+
**轻量模式**前端技术栈固定为 **Ant Design React**(`FRONT_DEMO_SOURCE = "antd-front-demo"`),无需询问用户。
|
|
175
|
+
|
|
176
|
+
### 可选参数(通过 $ARGUMENTS 传入)
|
|
177
|
+
|
|
178
|
+
| 参数 | 默认值 | 说明 |
|
|
179
|
+
| -------------- | --------------------------------------------- | ---------------------------------------------------------- |
|
|
180
|
+
| `--modules` | `3100-crm-mdm:mdm,3103-crm-contract:contract` | 逗号分隔的后端模块列表,格式 `{port}-crm-{name}:{package}` |
|
|
181
|
+
| `--mode` | (交互式选择) | 初始化模式:`simple` / `classic` / `full` / `demo` |
|
|
182
|
+
| `--front-demo` | `vue` | 前端演示技术栈:`vue` / `antd`(轻量模式下自动为 `antd`) |
|
|
183
|
+
|
|
184
|
+
### 最终项目路径
|
|
185
|
+
|
|
186
|
+
项目基于**用户当前会话工作目录**(`pwd`)创建,根据 `project_dir` 确定目标路径:
|
|
187
|
+
|
|
188
|
+
- 如果 `project_dir` 非空 → `TARGET = $(pwd)/{project_dir}`,在该子目录下创建项目结构
|
|
189
|
+
- 如果 `project_dir` 为空 → `TARGET = $(pwd)`,直接在当前工作目录下创建项目结构
|
|
190
|
+
|
|
191
|
+
**简易模式:**
|
|
192
|
+
|
|
193
|
+
```
|
|
194
|
+
{pwd}/(或 {pwd}/{project_dir}/)
|
|
195
|
+
├── .adspecs/
|
|
196
|
+
├── docs/
|
|
197
|
+
└── wiki/
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
**经典模式:**
|
|
201
|
+
|
|
202
|
+
```
|
|
203
|
+
{pwd}/(或 {pwd}/{project_dir}/)
|
|
204
|
+
├── .adspecs/
|
|
205
|
+
├── docs/
|
|
206
|
+
├── wiki/
|
|
207
|
+
└── front-demo/
|
|
208
|
+
```
|
|
209
|
+
|
|
210
|
+
**完整模式:**
|
|
211
|
+
|
|
212
|
+
```
|
|
213
|
+
{pwd}/(或 {pwd}/{project_dir}/)
|
|
214
|
+
├── .adspecs/
|
|
215
|
+
├── docs/
|
|
216
|
+
├── wiki/
|
|
217
|
+
├── web-ui/
|
|
218
|
+
├── service/
|
|
219
|
+
└── front-demo/
|
|
220
|
+
```
|
|
221
|
+
|
|
222
|
+
## 执行前检查
|
|
223
|
+
|
|
224
|
+
**重要**:以下步骤 **每次执行都必须完整走一遍**,不可因为上下文中已有相关信息而跳过任何交互提示。即使当前目录已存在项目结构,也必须重新询问用户。
|
|
225
|
+
|
|
226
|
+
1. **收集项目信息**(必选,不可跳过):
|
|
227
|
+
- 解析 `$ARGUMENTS` 中的 `--project-name`、`--project-dir`、`--company` 参数
|
|
228
|
+
- 对未通过参数提供的字段,使用 **AskUserQuestion** 工具按"项目信息收集"章节的方式分两次收集
|
|
229
|
+
- 收集完成后,对 `project_short_name` 执行自动推导(按"project_short_name 自动推导规则")
|
|
230
|
+
- 对 `company_name` 和 `confidentiality`,如果用户未填写,使用默认值("XX有限公司" 和 "内部资料")
|
|
231
|
+
- 记录收集结果:`PROJECT_NAME`、`PROJECT_DIR`、`COMPANY_NAME`、`PROJECT_SHORT_NAME`、`CONFIDENTIALITY`
|
|
232
|
+
- 解析 `--modules` 列表(有则用,无则用默认值)
|
|
233
|
+
- 解析 `--mode` 参数(有则用,无则交互式选择)
|
|
234
|
+
- 解析 `--front-demo` 参数(有则用,经典/完整模式下无则交互式选择)
|
|
235
|
+
|
|
236
|
+
2. **选择初始化模式**:
|
|
237
|
+
- 使用 **AskUserQuestion** 工具询问初始化模式(简易 / 经典 / 完整)
|
|
238
|
+
- **AskUserQuestion 调用示例**:
|
|
239
|
+
|
|
240
|
+
```
|
|
241
|
+
questions: [
|
|
242
|
+
{
|
|
243
|
+
question: "请选择项目初始化模式:",
|
|
244
|
+
header: "初始化模式",
|
|
245
|
+
options: [
|
|
246
|
+
{ label: "简易模式", description: "仅初始化文档目录和模板(docs/ + wiki/),适合产品经理和技术设计阶段" },
|
|
247
|
+
{ label: "经典模式", description: "文档 + 前端演示项目(docs/ + wiki/ + front-demo/),适合需求设计和原型验证,适用于产品经理" },
|
|
248
|
+
{ label: "完整模式", description: "所有目录和文件(docs/ + wiki/ + web-ui/ + service/ + front-demo/),适合正式开发阶段,适用于开发人员" },
|
|
249
|
+
{ label: "轻量模式", description: "固定技术栈 Python + SQLite + React + AntD6 全栈 demo(docs + wiki + web-ui + service + front-demo),适合快速功能演示" }
|
|
250
|
+
],
|
|
251
|
+
multiSelect: false
|
|
252
|
+
}
|
|
253
|
+
]
|
|
254
|
+
```
|
|
255
|
+
|
|
256
|
+
3. **选择前端演示技术栈**(仅经典/完整模式,轻量模式固定 Ant Design React 无需选择):
|
|
257
|
+
- 使用 **AskUserQuestion** 工具询问前端演示技术栈
|
|
258
|
+
- **AskUserQuestion 调用示例**:
|
|
259
|
+
|
|
260
|
+
```
|
|
261
|
+
questions: [
|
|
262
|
+
{
|
|
263
|
+
question: "请选择前端演示项目的技术栈:",
|
|
264
|
+
header: "前端技术栈",
|
|
265
|
+
options: [
|
|
266
|
+
{ label: "Vue(默认)", description: "Vue 3 + Vite + TypeScript + Element Plus 技术栈" },
|
|
267
|
+
{ label: "Ant Design React", description: "React + Ant Design 技术栈" },
|
|
268
|
+
{ label: "跳过", description: "不创建前端演示项目,仅初始化文档目录和模板" }
|
|
269
|
+
],
|
|
270
|
+
multiSelect: false
|
|
271
|
+
}
|
|
272
|
+
]
|
|
273
|
+
```
|
|
274
|
+
|
|
275
|
+
- 记录选择结果:`FRONT_DEMO_SOURCE` = `front-demo`(Vue)或 `antd-front-demo`(Ant Design React)
|
|
276
|
+
|
|
277
|
+
4. **计算最终路径**:
|
|
278
|
+
- 如果 `PROJECT_DIR` 非空 → `TARGET = $(pwd)/{PROJECT_DIR}`
|
|
279
|
+
- 如果 `PROJECT_DIR` 为空 → `TARGET = $(pwd)`(直接使用当前工作目录)
|
|
280
|
+
5. **检查目标路径是否存在**:
|
|
281
|
+
- 如果 `TARGET` 不存在 → 直接创建目录,跳到第 7 步
|
|
282
|
+
- 如果 `TARGET` 存在 → 进入**冲突处理流程**(第 6 步)
|
|
283
|
+
6. **冲突处理流程**(按模式扫描对应区域):
|
|
284
|
+
- 根据模式扫描 `TARGET` 下对应区域目录的存在情况:
|
|
285
|
+
- **简易模式**:扫描 `.adspecs/`、`docs/`、`wiki/`
|
|
286
|
+
- **经典模式**:扫描 `.adspecs/`、`docs/`、`wiki/`、`front-demo/`
|
|
287
|
+
- **完整模式**:扫描 `.adspecs/`、`docs/`、`wiki/`、`web-ui/`、`service/`、`front-demo/`
|
|
288
|
+
- **轻量模式**:扫描 `.adspecs/`、`docs/`、`wiki/`、`web-ui/`、`service/`、`front-demo/`(同完整模式扫描范围)
|
|
289
|
+
- 如果对应区域均不存在 → 视为空目录,直接继续,跳到第 7 步
|
|
290
|
+
- 如果有任意区域已存在 → 使用 **AskUserQuestion** 工具询问用户对**每个已存在的区域**的处理方式,提供以下两个选项:
|
|
291
|
+
- **重新创建**:删除该区域现有文件,使用最新模板重新创建
|
|
292
|
+
- **跳过**:保留该区域现有文件,不做任何修改
|
|
293
|
+
- 将用户选择记录到区域决策映射中,供后续各阶段使用:
|
|
294
|
+
|
|
295
|
+
**简易模式区域决策:**
|
|
296
|
+
|
|
297
|
+
```
|
|
298
|
+
区域决策 = {
|
|
299
|
+
.adspecs: "recreate" | "skip" | "create",
|
|
300
|
+
docs: "recreate" | "skip" | "create", # create = 原本不存在,直接创建
|
|
301
|
+
wiki: "recreate" | "skip" | "create",
|
|
302
|
+
}
|
|
303
|
+
子目录决策 = {
|
|
304
|
+
conventions_decision: "update" | "skip", # docs 为 skip 且 40-project_conventions/ 有文件时
|
|
305
|
+
templates_decision: "update" | "skip", # .adspecs 为 skip 且 templates/ 有文件时
|
|
306
|
+
}
|
|
307
|
+
```
|
|
308
|
+
|
|
309
|
+
**经典模式区域决策:**
|
|
310
|
+
|
|
311
|
+
```
|
|
312
|
+
区域决策 = {
|
|
313
|
+
.adspecs: "recreate" | "skip" | "create",
|
|
314
|
+
docs: "recreate" | "skip" | "create",
|
|
315
|
+
wiki: "recreate" | "skip" | "create",
|
|
316
|
+
front_demo: "recreate" | "skip" | "create",
|
|
317
|
+
}
|
|
318
|
+
子目录决策 = {
|
|
319
|
+
conventions_decision: "update" | "skip", # docs 为 skip 且 40-project_conventions/ 有文件时
|
|
320
|
+
templates_decision: "update" | "skip", # .adspecs 为 skip 且 templates/ 有文件时
|
|
321
|
+
}
|
|
322
|
+
```
|
|
323
|
+
|
|
324
|
+
**完整模式区域决策:**
|
|
325
|
+
|
|
326
|
+
```
|
|
327
|
+
区域决策 = {
|
|
328
|
+
.adspecs: "recreate" | "skip" | "create",
|
|
329
|
+
docs: "recreate" | "skip" | "create",
|
|
330
|
+
wiki: "recreate" | "skip" | "create",
|
|
331
|
+
web_ui: "recreate" | "skip" | "create",
|
|
332
|
+
service: "recreate" | "skip" | "create",
|
|
333
|
+
front_demo: "recreate" | "skip" | "create",
|
|
334
|
+
}
|
|
335
|
+
子目录决策 = {
|
|
336
|
+
conventions_decision: "update" | "skip", # docs 为 skip 且 40-project_conventions/ 有文件时
|
|
337
|
+
templates_decision: "update" | "skip", # .adspecs 为 skip 且 templates/ 有文件时
|
|
338
|
+
}
|
|
339
|
+
```
|
|
340
|
+
|
|
341
|
+
**轻量模式区域决策:**(同完整模式,但前端技术栈固定 + 规范目录自动按技术栈复制)
|
|
342
|
+
|
|
343
|
+
```
|
|
344
|
+
区域决策 = {
|
|
345
|
+
.adspecs: "recreate" | "skip" | "create",
|
|
346
|
+
docs: "recreate" | "skip" | "create",
|
|
347
|
+
wiki: "recreate" | "skip" | "create",
|
|
348
|
+
web_ui: "recreate" | "skip" | "create",
|
|
349
|
+
service: "recreate" | "skip" | "create",
|
|
350
|
+
front_demo: "recreate" | "skip" | "create", # 固定 antd-front-demo
|
|
351
|
+
}
|
|
352
|
+
子目录决策 = {
|
|
353
|
+
conventions_decision: "update" | "skip", # docs 为 skip 且 40-project_conventions/ 有文件时
|
|
354
|
+
templates_decision: "update" | "skip", # .adspecs 为 skip 且 templates/ 有文件时
|
|
355
|
+
}
|
|
356
|
+
固定技术栈:
|
|
357
|
+
FRONT_DEMO_SOURCE = "antd-front-demo" # Ant Design React(无需询问用户)
|
|
358
|
+
FRONTEND_STANDARD_SOURCE = "ant6-front-standard"
|
|
359
|
+
BACKEND_STANDARD_SOURCE = "python-end-standard"
|
|
360
|
+
```
|
|
361
|
+
|
|
362
|
+
- **AskUserQuestion 调用示例**(所有模式,当 `.adspecs/`、`docs/` 和 `web-ui/` 已存在时):
|
|
363
|
+
|
|
364
|
+
```
|
|
365
|
+
questions: [
|
|
366
|
+
{
|
|
367
|
+
question: "docs/ 目录已存在,如何处理?",
|
|
368
|
+
header: "docs/",
|
|
369
|
+
options: [
|
|
370
|
+
{ label: "重新创建", description: "删除现有 docs/ 目录,使用最新模板重新创建" },
|
|
371
|
+
{ label: "更新", description: "保留现有 docs/ 目录,按新内容覆盖" },
|
|
372
|
+
{ label: "跳过", description: "保留现有 docs/ 目录,不做任何修改" }
|
|
373
|
+
],
|
|
374
|
+
multiSelect: false
|
|
375
|
+
},
|
|
376
|
+
{
|
|
377
|
+
question: "web-ui/ 目录已存在,如何处理?",
|
|
378
|
+
header: "web-ui/",
|
|
379
|
+
options: [
|
|
380
|
+
{ label: "重新创建", description: "删除现有 web-ui/ 目录,从模板重新复制" },
|
|
381
|
+
{ label: "更新", description: "保留现有 web-ui/ 目录,按新内容覆盖" },
|
|
382
|
+
{ label: "跳过", description: "保留现有 web-ui/ 目录,不做任何修改" }
|
|
383
|
+
],
|
|
384
|
+
multiSelect: false
|
|
385
|
+
},
|
|
386
|
+
{
|
|
387
|
+
question: ".adspecs/ 目录已存在,如何处理?",
|
|
388
|
+
header: ".adspecs/",
|
|
389
|
+
options: [
|
|
390
|
+
{ label: "重新创建", description: "删除现有 .adspecs/ 目录,从模板重新复制" },
|
|
391
|
+
{ label: "更新", description: "保留现有 .adspecs/ 目录,按新内容覆盖" },
|
|
392
|
+
{ label: "跳过", description: "保留现有 .adspecs/ 目录,不做任何修改" }
|
|
393
|
+
],
|
|
394
|
+
multiSelect: false
|
|
395
|
+
}
|
|
396
|
+
]
|
|
397
|
+
```
|
|
398
|
+
|
|
399
|
+
- **补充检查(模式升级检测)**:当 `docs/` 已存在且 `docs` 决策为 `skip` 时,如果当前模式为**经典模式**、**完整模式**或**轻量模式**,需额外检查 `docs/40-project_conventions/` 的内容状态:
|
|
400
|
+
- 检查 `docs/40-project_conventions/` 下是否存在实际文件(非空目录)
|
|
401
|
+
- 如果 `40-project_conventions/` 仅包含空子目录(简易模式的产物:`end-integration/` + `frontend-integration/`,或仅 `frontend-standard/` 为空目录)→ 根据前端技术栈选择自动从 references 补充复制 `frontend-standard/` 的文件内容(Vue → `ecp-front-standard/`,Ant Design React → `ant6-front-standard/`),并输出:`📦 补充:检测到 40-project_conventions/ 为空目录(简易模式产物),已按前端技术栈补充 frontend-standard/`
|
|
402
|
+
- 如果 `40-project_conventions/` 已包含文件 → 不做额外处理
|
|
403
|
+
|
|
404
|
+
- **子目录更新检查(40-project_conventions/)**:当 `docs/` 已存在且 `docs` 决策为 `skip`,且 `docs/40-project_conventions/` 下已包含实际文件时,需额外询问用户是否更新此子目录:
|
|
405
|
+
- 使用 **AskUserQuestion** 工具询问:
|
|
406
|
+
|
|
407
|
+
```
|
|
408
|
+
questions: [
|
|
409
|
+
{
|
|
410
|
+
question: "docs/40-project_conventions/ 目录已存在且包含文件,是否使用最新规范文件更新?",
|
|
411
|
+
header: "40-conventions",
|
|
412
|
+
options: [
|
|
413
|
+
{ label: "更新", description: "使用 references 中最新的规范文件覆盖现有内容(已有文件将被替换)" },
|
|
414
|
+
{ label: "跳过", description: "保留现有 40-project_conventions/ 内容,不做任何修改" }
|
|
415
|
+
],
|
|
416
|
+
multiSelect: false
|
|
417
|
+
}
|
|
418
|
+
]
|
|
419
|
+
```
|
|
420
|
+
|
|
421
|
+
- 记录子决策:`conventions_decision` = `"update"` | `"skip"`
|
|
422
|
+
- 如果 `40-project_conventions/` 不存在或仅包含空目录 → 跳过此检查,`conventions_decision` = `"skip"`
|
|
423
|
+
|
|
424
|
+
- **子目录更新检查(.adspecs/templates/)**:当 `.adspecs/` 已存在且 `.adspecs` 决策为 `skip`,且 `.adspecs/templates/` 下已包含实际文件时,需额外询问用户是否更新模板目录:
|
|
425
|
+
- 使用 **AskUserQuestion** 工具询问:
|
|
426
|
+
|
|
427
|
+
```
|
|
428
|
+
questions: [
|
|
429
|
+
{
|
|
430
|
+
question: ".adspecs/templates/ 目录已存在且包含文件,是否使用最新模板文件更新?",
|
|
431
|
+
header: "templates/",
|
|
432
|
+
options: [
|
|
433
|
+
{ label: "更新", description: "使用 references 中最新的模板文件覆盖现有内容(已有模板将被替换)" },
|
|
434
|
+
{ label: "跳过", description: "保留现有 .adspecs/templates/ 内容,不做任何修改" }
|
|
435
|
+
],
|
|
436
|
+
multiSelect: false
|
|
437
|
+
}
|
|
438
|
+
]
|
|
439
|
+
```
|
|
440
|
+
|
|
441
|
+
- 记录子决策:`templates_decision` = `"update"` | `"skip"`
|
|
442
|
+
- 如果 `.adspecs/templates/` 不存在或仅包含空目录 → 跳过此检查,`templates_decision` = `"skip"`
|
|
443
|
+
|
|
444
|
+
7. **输出初始化计划摘要**,包含项目信息(项目名称、项目短名称、公司名称、文件密级、项目目录)、初始化模式、前端技术栈(如适用)、每个区域的操作(创建 / 重新创建 / 跳过)、子目录更新决策(40-project_conventions/ 和 templates/ 的更新/跳过)、feature.json/project.json 属性补全计划以及补充检查结果,等待用户确认后继续执行
|
|
445
|
+
|
|
446
|
+
## 工作流程
|
|
447
|
+
|
|
448
|
+
### 阶段 1:创建 docs/ 目录结构
|
|
449
|
+
|
|
450
|
+
**适用模式:简易 / 经典 / 完整 / 轻量**
|
|
451
|
+
|
|
452
|
+
根据区域决策执行:
|
|
453
|
+
|
|
454
|
+
- `docs` 决策为 `skip` → 输出 `⏭ 阶段 1 跳过:docs/ 已存在,保留现有内容`,但需检查 `conventions_decision` 子决策:
|
|
455
|
+
- 如果 `conventions_decision` = `"update"` → 根据前端技术栈选择从 `references/ecp-front-standard/`(Vue)或 `references/ant6-front-standard/`(Ant Design React)复制到 `$TARGET/docs/40-project_conventions/frontend-standard/`,覆盖更新前端规范文件,输出:`🔄 阶段 1 补充更新:docs/40-project_conventions/frontend-standard/ 已按前端技术栈更新`
|
|
456
|
+
- 如果 `conventions_decision` = `"skip"` → 不做额外处理
|
|
457
|
+
- 处理完子决策后进入阶段 2
|
|
458
|
+
- `docs` 决策为 `recreate` → 执行 `rm -rf "$TARGET/docs"`,然后按下方步骤完整重建
|
|
459
|
+
- `docs` 决策为 `create` → 直接按下方步骤创建
|
|
460
|
+
|
|
461
|
+
创建以下完整目录树。大部分目录使用 `mkdir -p` 创建并写入 `README.md`;其中 `40-project_conventions/` 在经典/完整模式下根据前端技术栈选择复制 `ecp-front-standard/`(Vue)或 `ant6-front-standard/`(Ant Design React)到 `frontend-standard/` 子目录,轻量模式下同时复制 `python-end-standard/` 到 `end-standard/` 和 `ant6-front-standard/` 到 `frontend-standard/`,在简易模式下仅创建空子目录结构。模板文件(原 `50-templates/`)已迁移至 `.adspecs/templates/`,随阶段 6 的 `.adspecs/` 复制一并完成。
|
|
462
|
+
|
|
463
|
+
#### 目录结构
|
|
464
|
+
|
|
465
|
+
```
|
|
466
|
+
docs/
|
|
467
|
+
├── 00-planning/
|
|
468
|
+
├── 00-customer-requirements/
|
|
469
|
+
├── 10-architecture/
|
|
470
|
+
├── 20-prd/
|
|
471
|
+
├── 30-system-design/
|
|
472
|
+
├── 40-project_conventions/
|
|
473
|
+
│ ├── frontend-standard/ # 经典/完整模式按前端技术栈复制(Vue→ecp-front-standard,AntD→ant6-front-standard);轻量模式固定 ant6-front-standard;简易模式为空
|
|
474
|
+
│ └── end-standard/ # 轻量模式固定 python-end-standard;其他模式为空
|
|
475
|
+
├── 70-scripts/
|
|
476
|
+
│ └── depoly/
|
|
477
|
+
├── 80-development/
|
|
478
|
+
│ ├── 801-dev/
|
|
479
|
+
│ └── 802-test/
|
|
480
|
+
│ └── 800-log/
|
|
481
|
+
├── 100-help/
|
|
482
|
+
└── 300-specs/
|
|
483
|
+
```
|
|
484
|
+
|
|
485
|
+
#### README.md 内容模板
|
|
486
|
+
|
|
487
|
+
每个一级子目录的 `README.md` 使用以下格式:
|
|
488
|
+
|
|
489
|
+
```markdown
|
|
490
|
+
# {目录名称}
|
|
491
|
+
|
|
492
|
+
{用途说明}
|
|
493
|
+
|
|
494
|
+
## 目录说明
|
|
495
|
+
|
|
496
|
+
| 子目录 | 说明 |
|
|
497
|
+
| -------- | ------ |
|
|
498
|
+
| {子目录} | {说明} |
|
|
499
|
+
|
|
500
|
+
## 文件命名规范
|
|
501
|
+
|
|
502
|
+
{命名规则说明}
|
|
503
|
+
|
|
504
|
+
## 修订记录
|
|
505
|
+
|
|
506
|
+
| 日期 | 版本 | 修改内容 | 修改人 |
|
|
507
|
+
| ------- | ---- | -------- | ------ |
|
|
508
|
+
| {today} | 1.0 | 初始创建 | system |
|
|
509
|
+
```
|
|
510
|
+
|
|
511
|
+
各目录 README.md 具体内容:
|
|
512
|
+
|
|
513
|
+
**00-planning/**:
|
|
514
|
+
|
|
515
|
+
- 用途: 规划阶段文档,存放平台级规划产物(业务场景、子模块依赖关系、统一数据模型等)
|
|
516
|
+
- 命名规范: `{seq}-{name}.md`(如 `01-smom-wms_business_architecture.md`)
|
|
517
|
+
|
|
518
|
+
**00-customer-requirements/**:
|
|
519
|
+
|
|
520
|
+
- 用途: 客户需求文档,存放客户原始需求、会议纪要、需求沟通记录
|
|
521
|
+
- 子目录: `crm/` — CRM 模块客户需求
|
|
522
|
+
|
|
523
|
+
**10-architecture/**:
|
|
524
|
+
|
|
525
|
+
- 用途: 架构文档,系统架构设计、模块依赖关系、统一数据模型
|
|
526
|
+
- 命名规范: `{seq}-{name}.md`(如 `01-smom-wms_business_architecture.md`)
|
|
527
|
+
|
|
528
|
+
**20-prd/**:
|
|
529
|
+
|
|
530
|
+
- 用途: PRD 文档,产品需求说明书
|
|
531
|
+
- 子目录: `crm/` — CRM 模块 PRD
|
|
532
|
+
- 命名规范: `{module-code}-{module-name}/` 下存放
|
|
533
|
+
|
|
534
|
+
**30-system-design/**:
|
|
535
|
+
|
|
536
|
+
- 用途: 系统设计,后端系统设计、SQL Schema、前端设计、TDD 任务清单
|
|
537
|
+
- 子目录: `crm/` — CRM 模块系统设计
|
|
538
|
+
- 命名规范: `{module-code}-{module-name}_system-design.md`、`{module-code}-{module-name}_schema.sql`
|
|
539
|
+
|
|
540
|
+
**40-project_conventions/**(经典/完整/轻量模式按技术栈复制规范,简易模式仅创建空子目录):
|
|
541
|
+
|
|
542
|
+
- 用途: 项目约定,前后端集成开发规范和接口约定
|
|
543
|
+
- 子目录:
|
|
544
|
+
- `frontend-standard/` — 前端约定(按技术栈来源不同)
|
|
545
|
+
- `end-standard/` — 后端约定(仅轻量模式复制 Python 后端规范)
|
|
546
|
+
- 来源规则(经典/完整模式):
|
|
547
|
+
- 前端演示技术栈选择 **Vue(默认)** → 复制 `$PLUGIN_DIR/references/ecp-front-standard/` 到 `$TARGET/docs/40-project_conventions/frontend-standard/`
|
|
548
|
+
- 前端演示技术栈选择 **Ant Design React** → 复制 `$PLUGIN_DIR/references/ant6-front-standard/` 到 `$TARGET/docs/40-project_conventions/frontend-standard/`
|
|
549
|
+
- 来源规则(轻量模式):
|
|
550
|
+
- 前端规范:复制 `$PLUGIN_DIR/references/ant6-front-standard/` 到 `$TARGET/docs/40-project_conventions/frontend-standard/`
|
|
551
|
+
- 后端规范:复制 `$PLUGIN_DIR/references/python-end-standard/` 到 `$TARGET/docs/40-project_conventions/end-standard/`
|
|
552
|
+
- 来源规则(简易模式): 仅创建空目录结构 `frontend-standard/`,不复制文件
|
|
553
|
+
|
|
554
|
+
**70-scripts/**:
|
|
555
|
+
|
|
556
|
+
- 用途: 脚本,部署脚本和工具脚本
|
|
557
|
+
- 子目录: `depoly/` — 部署相关脚本
|
|
558
|
+
|
|
559
|
+
**80-development/**:
|
|
560
|
+
|
|
561
|
+
- 用途: 开发产物,开发工件和测试工件归档
|
|
562
|
+
- 子目录: `801-dev/` 开发工件, `802-test/` 测试工件
|
|
563
|
+
- 子目录: `800-log/` 开发日志,AI 会话记录和开发历史追踪
|
|
564
|
+
- 命名规范: `{YYYYMMDD}_{主题}.md` 或 `{YYYYMMDD_HHmmss}_{主题}.md`
|
|
565
|
+
|
|
566
|
+
**100-help/**:
|
|
567
|
+
|
|
568
|
+
- 用途: 帮助文档,使用手册和参考指南
|
|
569
|
+
- 内容: `使用手册.md`
|
|
570
|
+
|
|
571
|
+
**300-specs/**:
|
|
572
|
+
|
|
573
|
+
- 用途: 功能规格说明书,p{module}-{seq}\_{name}\_spec.md 格式
|
|
574
|
+
- 命名规范: `p{module}-{seq}_{name}_spec.md`,配套 `p{module}-{seq}_{name}_sim-data.md`
|
|
575
|
+
|
|
576
|
+
#### 执行命令
|
|
577
|
+
|
|
578
|
+
```bash
|
|
579
|
+
SKILL_DIR="<SKILL.md 所在目录>" # 即 project-init skill 目录
|
|
580
|
+
PLUGIN_DIR="$(cd "$SKILL_DIR/../.." && pwd)" # adspecs 插件根目录
|
|
581
|
+
# 根据 project_dir 是否为空确定目标路径
|
|
582
|
+
TARGET="$(pwd)/{PROJECT_DIR}" # PROJECT_DIR 非空时
|
|
583
|
+
# 或 TARGET="$(pwd)" # PROJECT_DIR 为空时
|
|
584
|
+
mkdir -p "$TARGET"
|
|
585
|
+
|
|
586
|
+
# 如果 docs 决策为 recreate,先删除现有目录
|
|
587
|
+
# rm -rf "$TARGET/docs"
|
|
588
|
+
|
|
589
|
+
# --- 创建空骨架目录(需要 README.md 的目录) ---
|
|
590
|
+
mkdir -p "$TARGET/docs/00-planning"
|
|
591
|
+
mkdir -p "$TARGET/docs/00-customer-requirements"
|
|
592
|
+
mkdir -p "$TARGET/docs/10-architecture"
|
|
593
|
+
mkdir -p "$TARGET/docs/20-prd"
|
|
594
|
+
mkdir -p "$TARGET/docs/30-system-design"
|
|
595
|
+
mkdir -p "$TARGET/docs/70-scripts/depoly"
|
|
596
|
+
mkdir -p "$TARGET/docs/80-development/800-log"
|
|
597
|
+
mkdir -p "$TARGET/docs/80-development/801-dev"
|
|
598
|
+
mkdir -p "$TARGET/docs/80-development/802-test"
|
|
599
|
+
mkdir -p "$TARGET/docs/100-help"
|
|
600
|
+
mkdir -p "$TARGET/docs/300-specs"
|
|
601
|
+
|
|
602
|
+
# --- 从 references 复制已有文件的目录 ---
|
|
603
|
+
# 40-project_conventions:根据模式决定处理方式
|
|
604
|
+
if [ "{mode}" = "simple" ]; then
|
|
605
|
+
# 简易模式:仅创建空子目录结构,不复制 references 文件
|
|
606
|
+
mkdir -p "$TARGET/docs/40-project_conventions/frontend-standard"
|
|
607
|
+
elif [ "{mode}" = "demo" ]; then
|
|
608
|
+
# 轻量模式:固定技术栈 Python + SQLite + React + AntD6,前后端规范都复制
|
|
609
|
+
mkdir -p "$TARGET/docs/40-project_conventions/frontend-standard"
|
|
610
|
+
mkdir -p "$TARGET/docs/40-project_conventions/end-standard"
|
|
611
|
+
cp -r "$PLUGIN_DIR/references/ant6-front-standard/." "$TARGET/docs/40-project_conventions/frontend-standard/"
|
|
612
|
+
cp -r "$PLUGIN_DIR/references/python-end-standard/." "$TARGET/docs/40-project_conventions/end-standard/"
|
|
613
|
+
else
|
|
614
|
+
# 经典/完整模式:按前端技术栈选择复制前端规范到 frontend-standard/
|
|
615
|
+
if [ "$FRONT_DEMO_SOURCE" = "antd-front-demo" ]; then
|
|
616
|
+
# Ant Design React 技术栈
|
|
617
|
+
FRONTEND_STANDARD_SOURCE="ant6-front-standard"
|
|
618
|
+
else
|
|
619
|
+
# Vue 技术栈(默认)
|
|
620
|
+
FRONTEND_STANDARD_SOURCE="ecp-front-standard"
|
|
621
|
+
fi
|
|
622
|
+
mkdir -p "$TARGET/docs/40-project_conventions/frontend-standard"
|
|
623
|
+
cp -r "$PLUGIN_DIR/references/$FRONTEND_STANDARD_SOURCE/." "$TARGET/docs/40-project_conventions/frontend-standard/"
|
|
624
|
+
fi
|
|
625
|
+
|
|
626
|
+
# 注意:模板文件已迁移至 .adspecs/templates/,随阶段 6 的 .adspecs/ 复制一并完成,无需单独复制
|
|
627
|
+
```
|
|
628
|
+
|
|
629
|
+
然后使用 Write 工具为**骨架目录**生成 `README.md`(经典/完整模式下 40 已有文件无需生成;简易模式下 40 仅有空目录结构,需生成 README.md)。
|
|
630
|
+
|
|
631
|
+
`SKILL_DIR` 的确定方式:**SKILL.md 所在目录**即为 `SKILL_DIR`。`PLUGIN_DIR = SKILL_DIR/../..`(adspecs 插件根目录),所有 references 资源均基于 `$PLUGIN_DIR/references/` 访问(references 已迁移至插件根目录)。
|
|
632
|
+
|
|
633
|
+
完成后输出:
|
|
634
|
+
|
|
635
|
+
- 新建时(简易模式):`✅ 阶段 1 完成:docs/ 目录结构已创建(11 个一级子目录,40 仅创建空目录;模板在 .adspecs/templates/ 随阶段 6 复制)`
|
|
636
|
+
- 新建时(经典/完整模式):`✅ 阶段 1 完成:docs/ 目录结构已创建(11 个一级子目录,其中 40 从 references 复制;模板在 .adspecs/templates/ 随阶段 6 复制)`
|
|
637
|
+
- 新建时(轻量模式):`✅ 阶段 1 完成:docs/ 目录结构已创建(11 个一级子目录,40 按 Python+React 技术栈复制前后端规范;模板在 .adspecs/templates/ 随阶段 6 复制)`
|
|
638
|
+
- 重建时:`🔄 阶段 1 完成:docs/ 目录结构已重新创建(删除旧目录后重建)`
|
|
639
|
+
- 跳过时:`⏭ 阶段 1 跳过:docs/ 已存在,保留现有内容`
|
|
640
|
+
- 跳过但更新 40 时:`⏭ 阶段 1 跳过:docs/ 已存在 + 🔄 40-project_conventions/ 已从 references 更新`
|
|
641
|
+
|
|
642
|
+
---
|
|
643
|
+
|
|
644
|
+
### 阶段 2:创建 wiki/ 基线文件目录
|
|
645
|
+
|
|
646
|
+
**适用模式:简易 / 经典 / 完整 / 轻量**
|
|
647
|
+
|
|
648
|
+
根据区域决策执行:
|
|
649
|
+
|
|
650
|
+
- `wiki` 决策为 `skip` → 输出 `⏭ 阶段 2 跳过:wiki/ 已存在,保留现有内容`,进入阶段 3
|
|
651
|
+
- `wiki` 决策为 `recreate` → 执行 `rm -rf "$TARGET/wiki"`,然后按下方步骤完整重建
|
|
652
|
+
- `wiki` 决策为 `create` → 直接按下方步骤创建
|
|
653
|
+
|
|
654
|
+
创建 `wiki/` 目录,用于存放项目基线文件(与 `docs/` 下的 `300-specs/` 不同,顶层 `wiki/` 用于存放跨模块或项目级别的基线规格文件)。
|
|
655
|
+
|
|
656
|
+
#### 目录结构
|
|
657
|
+
|
|
658
|
+
```
|
|
659
|
+
wiki/
|
|
660
|
+
└── README.md
|
|
661
|
+
```
|
|
662
|
+
|
|
663
|
+
#### README.md 内容
|
|
664
|
+
|
|
665
|
+
使用 Write 工具生成 `wiki/README.md`,内容如下:
|
|
666
|
+
|
|
667
|
+
```markdown
|
|
668
|
+
# wiki
|
|
669
|
+
|
|
670
|
+
基线文件目录,用于存放项目级别的基线规格文件,包括功能规格、接口规格、数据规格等。
|
|
671
|
+
|
|
672
|
+
## 目录说明
|
|
673
|
+
|
|
674
|
+
| 子目录 | 说明 |
|
|
675
|
+
| ------------ | ------------------------ |
|
|
676
|
+
| (按需创建) | 按模块或主题组织基线文件 |
|
|
677
|
+
|
|
678
|
+
## 文件命名规范
|
|
679
|
+
|
|
680
|
+
`{module}-{name}_spec.md`
|
|
681
|
+
|
|
682
|
+
## 修订记录
|
|
683
|
+
|
|
684
|
+
| 日期 | 版本 | 修改内容 | 修改人 |
|
|
685
|
+
| ------- | ---- | -------- | ------ |
|
|
686
|
+
| {today} | 1.0 | 初始创建 | system |
|
|
687
|
+
```
|
|
688
|
+
|
|
689
|
+
#### 执行命令
|
|
690
|
+
|
|
691
|
+
```bash
|
|
692
|
+
# TARGET="$(pwd)/{PROJECT_DIR}" # PROJECT_DIR 非空时
|
|
693
|
+
# 或 TARGET="$(pwd)" # PROJECT_DIR 为空时
|
|
694
|
+
|
|
695
|
+
# 如果 wiki 决策为 recreate,先删除现有目录
|
|
696
|
+
# rm -rf "$TARGET/wiki"
|
|
697
|
+
|
|
698
|
+
mkdir -p "$TARGET/wiki"
|
|
699
|
+
```
|
|
700
|
+
|
|
701
|
+
然后使用 Write 工具生成 `wiki/README.md`。
|
|
702
|
+
|
|
703
|
+
完成后输出:
|
|
704
|
+
|
|
705
|
+
- 新建时:`✅ 阶段 2 完成:wiki/ 基线文件目录已创建`
|
|
706
|
+
- 重建时:`🔄 阶段 2 完成:wiki/ 基线文件目录已重新创建`
|
|
707
|
+
- 跳过时:`⏭ 阶段 2 跳过:wiki/ 已存在,保留现有内容`
|
|
708
|
+
|
|
709
|
+
---
|
|
710
|
+
|
|
711
|
+
### 阶段 3:创建 web-ui/ 前端项目
|
|
712
|
+
|
|
713
|
+
**适用模式:完整 / 轻量**
|
|
714
|
+
|
|
715
|
+
**模式检查**:如果当前模式 ≠ 完整模式 且 ≠ 轻量模式 → 输出 `⏭ 阶段 3 跳过(当前为{模式名},web-ui/ 仅在完整/轻量模式下初始化)`,直接进入阶段 4。
|
|
716
|
+
|
|
717
|
+
根据区域决策执行:
|
|
718
|
+
|
|
719
|
+
- `web_ui` 决策为 `skip` → 输出 `⏭ 阶段 3 跳过:web-ui/ 已存在,保留现有内容`,进入阶段 4
|
|
720
|
+
- `web_ui` 决策为 `recreate` → 执行 `rm -rf "$TARGET/web-ui"`,然后按下方步骤完整重建
|
|
721
|
+
- `web_ui` 决策为 `create` → 直接按下方步骤创建
|
|
722
|
+
|
|
723
|
+
从 references 完整复制 `web-ui` 目录下的是所有文件,web-ui 是ECP管理后台壳工程到目标目录。
|
|
724
|
+
|
|
725
|
+
#### 源路径
|
|
726
|
+
|
|
727
|
+
从插件根目录的 `references/` 目录复制。`PLUGIN_DIR = SKILL_DIR/../..`(adspecs 插件根目录)。
|
|
728
|
+
|
|
729
|
+
#### 执行命令
|
|
730
|
+
|
|
731
|
+
```bash
|
|
732
|
+
SKILL_DIR="<SKILL.md 所在目录>"
|
|
733
|
+
PLUGIN_DIR="$(cd "$SKILL_DIR/../.." && pwd)" # adspecs 插件根目录
|
|
734
|
+
# TARGET="$(pwd)/{PROJECT_DIR}" # PROJECT_DIR 非空时
|
|
735
|
+
# 或 TARGET="$(pwd)" # PROJECT_DIR 为空时
|
|
736
|
+
|
|
737
|
+
# 如果 web_ui 决策为 recreate,先删除现有目录
|
|
738
|
+
# rm -rf "$TARGET/web-ui"
|
|
739
|
+
|
|
740
|
+
# 从插件根目录 references 复制完整目录
|
|
741
|
+
cp -r "$PLUGIN_DIR/references/web-ui" "$TARGET/web-ui"
|
|
742
|
+
|
|
743
|
+
# 清理不需要的大文件/目录
|
|
744
|
+
rm -rf "$TARGET/web-ui/node_modules" 2>/dev/null
|
|
745
|
+
rm -rf "$TARGET/web-ui/.git" 2>/dev/null
|
|
746
|
+
|
|
747
|
+
# 统计复制的文件数量
|
|
748
|
+
find "$TARGET/web-ui" -type f | wc -l
|
|
749
|
+
```
|
|
750
|
+
|
|
751
|
+
**注意**:
|
|
752
|
+
|
|
753
|
+
- 排除 `node_modules/` — 应在目标环境通过 `npm install` 重新安装
|
|
754
|
+
- 排除 `.git/` — 目标项目应独立管理版本控制
|
|
755
|
+
|
|
756
|
+
完成后输出:
|
|
757
|
+
|
|
758
|
+
- 新建时:`✅ 阶段 3 完成:web-ui/ 前端项目创建({N} 个文件)`
|
|
759
|
+
- 重建时:`🔄 阶段 3 完成:web-ui/ 前端项目已重新创建({N} 个文件)`
|
|
760
|
+
- 跳过时:`⏭ 阶段 3 跳过:web-ui/ 已存在,保留现有内容`
|
|
761
|
+
|
|
762
|
+
---
|
|
763
|
+
|
|
764
|
+
### 阶段 4:创建后端服务模块
|
|
765
|
+
|
|
766
|
+
**适用模式:完整 / 轻量**
|
|
767
|
+
|
|
768
|
+
**模式检查**:如果当前模式 ≠ 完整模式 且 ≠ 轻量模式 → 输出 `⏭ 阶段 4 跳过(当前为{模式名},service/ 仅在完整/轻量模式下初始化)`,直接进入阶段 5。
|
|
769
|
+
|
|
770
|
+
根据区域决策执行:
|
|
771
|
+
|
|
772
|
+
- `service` 决策为 `skip` → 输出 `⏭ 阶段 4 跳过:service/ 已存在,保留现有内容`,进入阶段 5
|
|
773
|
+
- `service` 决策为 `recreate` → 执行 `rm -rf "$TARGET/service"`,然后按下方步骤完整重建
|
|
774
|
+
- `service` 决策为 `create` → 直接按下方步骤创建
|
|
775
|
+
|
|
776
|
+
根据参数中的模块列表,为每个模块创建 `service/` 目录并放置一个 `README.md` 说明文件。
|
|
777
|
+
|
|
778
|
+
仅创建一个 `service/` 目录和一个 `README.md` 说明文件,不创建其他文件。
|
|
779
|
+
|
|
780
|
+
#### README.md 内容模板
|
|
781
|
+
|
|
782
|
+
使用 Write 工具为每个模块生成 `service/{port}-crm-{name}/service/README.md`,内容如下:
|
|
783
|
+
|
|
784
|
+
```markdown
|
|
785
|
+
这是后端服务模块放置目录,在完成技术架构设计后,所有后端服务模块的源代码将放置在此目录下。
|
|
786
|
+
```
|
|
787
|
+
|
|
788
|
+
然后使用 Write 工具生成 `service/README.md`。
|
|
789
|
+
|
|
790
|
+
完成后输出:
|
|
791
|
+
|
|
792
|
+
- 新建时:`✅ 阶段 4 完成:service 目录已创建`
|
|
793
|
+
- 重建时:`🔄 阶段 4 完成:service 目录已重新创建`
|
|
794
|
+
- 跳过时:`⏭ 阶段 4 跳过:service/ 已存在,保留现有内容`
|
|
795
|
+
|
|
796
|
+
---
|
|
797
|
+
|
|
798
|
+
### 阶段 5:创建 front-demo/ 前端演示项目
|
|
799
|
+
|
|
800
|
+
**适用模式:经典 / 完整 / 轻量**
|
|
801
|
+
|
|
802
|
+
**模式检查**:如果当前模式 = 简易模式 → 输出 `⏭ 阶段 5 跳过(当前为简易模式,front-demo/ 仅在经典/完整/轻量模式下初始化)`,直接进入阶段 6。
|
|
803
|
+
|
|
804
|
+
根据区域决策执行:
|
|
805
|
+
|
|
806
|
+
- `front_demo` 决策为 `skip` → 输出 `⏭ 阶段 5 跳过:front-demo/ 已存在,保留现有内容`,进入阶段 6
|
|
807
|
+
- `front_demo` 决策为 `recreate` → 执行 `rm -rf "$TARGET/front-demo"`,然后按下方步骤完整重建
|
|
808
|
+
- `front_demo` 决策为 `create` → 直接按下方步骤创建
|
|
809
|
+
|
|
810
|
+
根据用户选择的**前端演示技术栈**,从 references 复制对应的前端演示项目到目标目录:
|
|
811
|
+
|
|
812
|
+
| 技术栈选择 | 源目录 | 说明 |
|
|
813
|
+
| ---------------- | ----------------------------- | --------------------------------------------- |
|
|
814
|
+
| Vue(默认) | `$PLUGIN_DIR/references/front-demo/` | Vue 3 + Vite + TypeScript + Element Plus |
|
|
815
|
+
| Ant Design React | `$PLUGIN_DIR/references/antd-front-demo/` | React + Vite + TypeScript + Ant Design6技术栈 |
|
|
816
|
+
|
|
817
|
+
#### 执行命令
|
|
818
|
+
|
|
819
|
+
```bash
|
|
820
|
+
SKILL_DIR="<SKILL.md 所在目录>"
|
|
821
|
+
PLUGIN_DIR="$(cd "$SKILL_DIR/../.." && pwd)" # adspecs 插件根目录
|
|
822
|
+
# TARGET="$(pwd)/{PROJECT_DIR}" # PROJECT_DIR 非空时
|
|
823
|
+
# 或 TARGET="$(pwd)" # PROJECT_DIR 为空时
|
|
824
|
+
|
|
825
|
+
# 根据前端技术栈选择确定源目录
|
|
826
|
+
FRONT_DEMO_SOURCE="front-demo" # Vue 技术栈(默认)
|
|
827
|
+
# 或 FRONT_DEMO_SOURCE="antd-front-demo" # Ant Design React 技术栈
|
|
828
|
+
|
|
829
|
+
# 如果 front_demo 决策为 recreate,先删除现有目录
|
|
830
|
+
# rm -rf "$TARGET/front-demo"
|
|
831
|
+
|
|
832
|
+
# 从插件根目录 references 复制完整目录
|
|
833
|
+
cp -r "$PLUGIN_DIR/references/$FRONT_DEMO_SOURCE" "$TARGET/front-demo"
|
|
834
|
+
|
|
835
|
+
# 清理不需要的大文件/目录
|
|
836
|
+
rm -rf "$TARGET/front-demo/node_modules" 2>/dev/null
|
|
837
|
+
rm -rf "$TARGET/front-demo/.git" 2>/dev/null
|
|
838
|
+
rm -rf "$TARGET/front-demo/.vite" 2>/dev/null
|
|
839
|
+
|
|
840
|
+
# 统计复制的文件数量
|
|
841
|
+
find "$TARGET/front-demo" -type f | wc -l
|
|
842
|
+
```
|
|
843
|
+
|
|
844
|
+
**注意**:
|
|
845
|
+
|
|
846
|
+
- 排除 `node_modules/` — 应在目标环境通过 `npm install` 重新安装
|
|
847
|
+
- 排除 `.git/` — 目标项目应独立管理版本控制
|
|
848
|
+
- 排除 `.vite/` — Vite 缓存目录,无需复制
|
|
849
|
+
|
|
850
|
+
完成后输出:
|
|
851
|
+
|
|
852
|
+
- 新建时:`✅ 阶段 5 完成:front-demo/ 已复制({技术栈名},{N} 个文件)`
|
|
853
|
+
- 重建时:`🔄 阶段 5 完成:front-demo/ 已重新复制({技术栈名},{N} 个文件)`
|
|
854
|
+
- 跳过时:`⏭ 阶段 5 跳过:front-demo/ 已存在,保留现有内容`
|
|
855
|
+
|
|
856
|
+
---
|
|
857
|
+
|
|
858
|
+
### 阶段 6:创建 .adspecs/ 配置与脚本目录
|
|
859
|
+
|
|
860
|
+
**适用模式:简易 / 经典 / 完整 / 轻量**
|
|
861
|
+
|
|
862
|
+
根据区域决策执行:
|
|
863
|
+
|
|
864
|
+
- `.adspecs` 决策为 `skip` → 输出 `⏭ 阶段 6 跳过:.adspecs/ 已存在,保留现有内容`,但需检查以下子决策和属性补全:
|
|
865
|
+
- 如果 `templates_decision` = `"update"` → 执行 `cp -r "$PLUGIN_DIR/.adspecs/templates/"* "$TARGET/.adspecs/templates/"`,从插件根目录覆盖更新 `templates/` 下的模板文件,输出:`🔄 阶段 6 补充更新:.adspecs/templates/ 已从插件根目录更新`
|
|
866
|
+
- 如果 `templates_decision` = `"skip"` → 不做额外处理
|
|
867
|
+
- 执行 **feature.json 与 project.json 属性补全检查**(见下方)
|
|
868
|
+
- 处理完子决策和属性补全后进入阶段 7
|
|
869
|
+
- `.adspecs` 决策为 `recreate` → 先备份已存在的 `feature.json` 和 `project.json`,然后执行 `rm -rf "$TARGET/.adspecs"`,按下方步骤完整重建,最后恢复备份文件并执行属性补全检查(见下方"feature.json 与 project.json 属性补全")
|
|
870
|
+
- `.adspecs` 决策为 `create` → 直接按下方步骤创建
|
|
871
|
+
|
|
872
|
+
从插件根目录完整复制 `.adspecs` 目录到目标项目根目录,包含插件运行时配置(extensions.yml、feature.json)和辅助脚本(PowerShell 脚本)。
|
|
873
|
+
|
|
874
|
+
#### 源路径
|
|
875
|
+
|
|
876
|
+
`PLUGIN_DIR/.adspecs/`(其中 `PLUGIN_DIR` 为 adspecs 插件根目录,即 `SKILL_DIR/../..`)
|
|
877
|
+
|
|
878
|
+
#### 目录结构
|
|
879
|
+
|
|
880
|
+
```
|
|
881
|
+
.adspecs/
|
|
882
|
+
├── extensions.yml
|
|
883
|
+
├── feature.json
|
|
884
|
+
├── project.json # 阶段 6 从 references 复制,阶段 6.5 用当前会话数据合并更新
|
|
885
|
+
├── templates/
|
|
886
|
+
│ ├── 01-业务需求分析模板.md
|
|
887
|
+
│ ├── 02-产品需求说明书模板.md
|
|
888
|
+
│ ├── 03-系统设计模板.md
|
|
889
|
+
│ ├── ... (共 20 个标准模板)
|
|
890
|
+
│ └── 20-工作说明书SOW模板.md
|
|
891
|
+
└── scripts/
|
|
892
|
+
└── powershell/
|
|
893
|
+
├── check-prerequisites.ps1
|
|
894
|
+
├── common.ps1
|
|
895
|
+
├── create-new-feature.ps1
|
|
896
|
+
├── setup-plan.ps1
|
|
897
|
+
└── setup-tasks.ps1
|
|
898
|
+
```
|
|
899
|
+
|
|
900
|
+
#### 执行命令
|
|
901
|
+
|
|
902
|
+
```bash
|
|
903
|
+
SKILL_DIR="<SKILL.md 所在目录>" # 即 project-init skill 目录
|
|
904
|
+
PLUGIN_DIR="$(cd "$SKILL_DIR/../.." && pwd)" # adspecs 插件根目录
|
|
905
|
+
|
|
906
|
+
# 如果 adspecs 决策为 recreate,先备份已有文件再删除
|
|
907
|
+
# BACKUP_FEATURE=""
|
|
908
|
+
# BACKUP_PROJECT=""
|
|
909
|
+
# [ -f "$TARGET/.adspecs/feature.json" ] && BACKUP_FEATURE=$(cat "$TARGET/.adspecs/feature.json")
|
|
910
|
+
# [ -f "$TARGET/.adspecs/project.json" ] && BACKUP_PROJECT=$(cat "$TARGET/.adspecs/project.json")
|
|
911
|
+
# rm -rf "$TARGET/.adspecs"
|
|
912
|
+
|
|
913
|
+
# 从插件根目录完整复制
|
|
914
|
+
cp -r "$PLUGIN_DIR/.adspecs" "$TARGET/.adspecs"
|
|
915
|
+
|
|
916
|
+
# 如果 recreate 且有备份,恢复 feature.json 和 project.json 并执行属性补全
|
|
917
|
+
# (通过 Read + Write 工具完成 JSON 属性合并)
|
|
918
|
+
|
|
919
|
+
# 统计复制的文件数量
|
|
920
|
+
find "$TARGET/.adspecs" -type f | wc -l
|
|
921
|
+
```
|
|
922
|
+
|
|
923
|
+
#### feature.json 与 project.json 属性补全
|
|
924
|
+
|
|
925
|
+
当 `.adspecs/` 决策为 `recreate` 或 `skip` 时,如果目标项目中已存在 `feature.json` 或 `project.json`,**不直接替换**,而是执行属性补全检查:
|
|
926
|
+
|
|
927
|
+
**补全规则:**
|
|
928
|
+
|
|
929
|
+
1. 读取目标项目中已有的 JSON 文件(`$TARGET/.adspecs/feature.json` 或 `$TARGET/.adspecs/project.json`)
|
|
930
|
+
2. 读取插件根目录中的初始版本(`$PLUGIN_DIR/.adspecs/feature.json` 或 `$PLUGIN_DIR/.adspecs/project.json`,其中 `PLUGIN_DIR = SKILL_DIR/../..`)
|
|
931
|
+
3. 对比两个文件的顶层属性键:
|
|
932
|
+
- 如果已有文件**缺少** references 中的某个属性键 → 从 references 中补充该属性(使用 references 的默认值)
|
|
933
|
+
- 如果已有文件中的属性键已存在(即使值不同)→ **保留已有值**,不覆盖
|
|
934
|
+
- 如果已有文件中有 references 中不存在的额外属性 → **保留**,不删除
|
|
935
|
+
4. 如果有属性被补全 → 使用 Write 工具写回合并后的 JSON,输出补全信息
|
|
936
|
+
5. 如果属性已完全一致 → 不做修改
|
|
937
|
+
|
|
938
|
+
**recreate 场景处理:**
|
|
939
|
+
|
|
940
|
+
在 `recreate` 流程中,由于需要先删除整个 `.adspecs/` 目录再重建,处理步骤如下:
|
|
941
|
+
|
|
942
|
+
1. 删除前:读取并缓存 `$TARGET/.adspecs/feature.json` 和 `$TARGET/.adspecs/project.json` 的内容(如果存在)
|
|
943
|
+
2. 执行 `rm -rf` 和 `cp -r` 完成重建
|
|
944
|
+
3. 重建后:如果之前缓存了文件内容,将缓存的已有内容与新复制的 references 版本进行属性合并,写回目标文件
|
|
945
|
+
|
|
946
|
+
**feature.json 属性清单(references 初始版本):**
|
|
947
|
+
|
|
948
|
+
| 属性键 | 类型 | 说明 |
|
|
949
|
+
| ---------- | ------ | ----------------------------------------------- |
|
|
950
|
+
| `active` | string | 当前活动特性目录路径 |
|
|
951
|
+
| `features` | array | 特性列表,每项含 `directory`、`name`、`created` |
|
|
952
|
+
|
|
953
|
+
**project.json 属性清单(references 初始版本):**
|
|
954
|
+
|
|
955
|
+
| 属性键 | 类型 | 说明 |
|
|
956
|
+
| -------------------- | ------ | ------------------------------ |
|
|
957
|
+
| `project_name` | string | 项目完整名称 |
|
|
958
|
+
| `project_dir` | string | 项目目录名 |
|
|
959
|
+
| `project_short_name` | string | 项目短名称(仅英文字母和数字) |
|
|
960
|
+
| `company_name` | string | 公司名称 |
|
|
961
|
+
| `company_logo` | string | 公司 Logo 路径 |
|
|
962
|
+
| `confidentiality` | string | 文件密级 |
|
|
963
|
+
|
|
964
|
+
**补全示例输出:**
|
|
965
|
+
|
|
966
|
+
- 有属性补全时:`🔧 阶段 6 属性补全:feature.json 已补充缺失属性 [active, features]`
|
|
967
|
+
- 无缺失时:`✅ 阶段 6:feature.json 属性完整,无需补全`
|
|
968
|
+
- 文件不存在时:`✅ 阶段 6:feature.json 已从 references 创建`
|
|
969
|
+
|
|
970
|
+
完成后输出:
|
|
971
|
+
|
|
972
|
+
- 新建时:`✅ 阶段 6 完成:.adspecs/ 配置与脚本目录已复制({N} 个文件)`
|
|
973
|
+
- 重建时:`🔄 阶段 6 完成:.adspecs/ 已重新复制({N} 个文件)`
|
|
974
|
+
- 重建且有文件恢复时:`🔄 阶段 6 完成:.adspecs/ 已重新复制 + 🔧 feature.json/project.json 已恢复并补全属性`
|
|
975
|
+
- 跳过时:`⏭ 阶段 6 跳过:.adspecs/ 已存在,保留现有内容`
|
|
976
|
+
- 跳过但更新模板时:`⏭ 阶段 6 跳过:.adspecs/ 已存在 + 🔄 templates/ 已从插件根目录更新`
|
|
977
|
+
- 跳过但属性补全时:`⏭ 阶段 6 跳过:.adspecs/ 已存在 + 🔧 feature.json/project.json 已补全缺失属性`
|
|
978
|
+
|
|
979
|
+
---
|
|
980
|
+
|
|
981
|
+
### 阶段 6.5:生成 .adspecs/project.json
|
|
982
|
+
|
|
983
|
+
**适用模式:简易 / 经典 / 完整 / 轻量**
|
|
984
|
+
|
|
985
|
+
在所有目录创建完成后,生成 `.adspecs/project.json` 项目元数据文件,为下游技能(如 adspecs-export-word)提供项目信息。
|
|
986
|
+
|
|
987
|
+
#### 执行步骤
|
|
988
|
+
|
|
989
|
+
1. 检查 `$TARGET/.adspecs/project.json` 是否已存在:
|
|
990
|
+
- 如果已存在 → 读取现有内容,与本次收集的字段进行合并:
|
|
991
|
+
- 已有文件中**已存在**的属性 → 用本次收集的最新值更新(如 `project_name`、`company_name` 等)
|
|
992
|
+
- 已有文件中**额外的自定义属性**(如用户手动添加的字段)→ 保留不删除
|
|
993
|
+
- references 初始版本中有但已有文件中**缺失**的属性 → 从 references 补充默认值
|
|
994
|
+
- 如果不存在 → 创建新文件
|
|
995
|
+
|
|
996
|
+
2. 使用 Write 工具生成 `$TARGET/.adspecs/project.json`,内容如下:
|
|
997
|
+
|
|
998
|
+
```json
|
|
999
|
+
{
|
|
1000
|
+
"project_name": "{PROJECT_NAME}",
|
|
1001
|
+
"project_short_name": "{PROJECT_SHORT_NAME}",
|
|
1002
|
+
"project_dir": "{PROJECT_DIR}",
|
|
1003
|
+
"company_name": "{COMPANY_NAME}",
|
|
1004
|
+
"company_logo": "",
|
|
1005
|
+
"confidentiality": "{CONFIDENTIALITY}",
|
|
1006
|
+
"created_at": "{today}"
|
|
1007
|
+
}
|
|
1008
|
+
```
|
|
1009
|
+
|
|
1010
|
+
#### 字段说明
|
|
1011
|
+
|
|
1012
|
+
| 字段 | 来源 | 说明 |
|
|
1013
|
+
| -------------------- | --------------- | ---------------------------------- |
|
|
1014
|
+
| `project_name` | 用户输入 | 项目完整名称 |
|
|
1015
|
+
| `project_short_name` | 自动推导 | 仅英文字母和数字,用于文件命名前缀 |
|
|
1016
|
+
| `project_dir` | 用户输入 | 项目目录名,空字符串表示当前目录 |
|
|
1017
|
+
| `company_name` | 用户输入/默认值 | 公司名称,默认 "XX有限公司" |
|
|
1018
|
+
| `company_logo` | 留空 | 公司 Logo 路径,用户后续可手动填写 |
|
|
1019
|
+
| `confidentiality` | 用户选择/默认值 | 文件密级,默认 "内部资料" |
|
|
1020
|
+
| `created_at` | 当前日期 | 项目创建日期 |
|
|
1021
|
+
|
|
1022
|
+
完成后输出:`✅ 阶段 6.5 完成:项目元数据已生成 .adspecs/project.json`
|
|
1023
|
+
|
|
1024
|
+
---
|
|
1025
|
+
|
|
1026
|
+
### 阶段 7:生成路径配置文件
|
|
1027
|
+
|
|
1028
|
+
**适用模式:简易 / 经典 / 完整 / 轻量**
|
|
1029
|
+
|
|
1030
|
+
在所有目录创建完成后,生成 `.adspecs/paths.json` 路径配置文件,为下游技能提供可配置的目录映射。
|
|
1031
|
+
|
|
1032
|
+
#### 执行步骤
|
|
1033
|
+
|
|
1034
|
+
1. 检查 `$TARGET/.adspecs/` 目录是否存在,不存在则创建:
|
|
1035
|
+
|
|
1036
|
+
```bash
|
|
1037
|
+
mkdir -p "$TARGET/.adspecs"
|
|
1038
|
+
```
|
|
1039
|
+
|
|
1040
|
+
2. 检查 `$TARGET/.adspecs/paths.json` 是否已存在:
|
|
1041
|
+
- 如果已存在 → 输出 `⏭ 路径配置文件已存在,跳过生成:.adspecs/paths.json`,不覆盖用户自定义配置
|
|
1042
|
+
- 如果不存在 → 使用 Write 工具生成默认配置
|
|
1043
|
+
|
|
1044
|
+
3. 使用 Write 工具生成 `$TARGET/.adspecs/paths.json`,内容如下:
|
|
1045
|
+
|
|
1046
|
+
```json
|
|
1047
|
+
{
|
|
1048
|
+
"$schema": "adspecs plugin path configuration",
|
|
1049
|
+
"version": 1,
|
|
1050
|
+
"paths": {
|
|
1051
|
+
"biz_analysis_dir": "docs/00-customer-requirements",
|
|
1052
|
+
"architecture_dir": "docs/10-architecture",
|
|
1053
|
+
"research_output_dir": "docs/02-prd",
|
|
1054
|
+
"sow_dir": "docs/05-sow",
|
|
1055
|
+
"prd_dir": "docs/20-prd",
|
|
1056
|
+
"design_dir": "docs/30-system-design",
|
|
1057
|
+
"test_report_dir": "docs/80-development",
|
|
1058
|
+
"export_dir": "docs/90-export",
|
|
1059
|
+
"wiki_dir": "wiki"
|
|
1060
|
+
}
|
|
1061
|
+
}
|
|
1062
|
+
```
|
|
1063
|
+
|
|
1064
|
+
#### 配置键说明
|
|
1065
|
+
|
|
1066
|
+
| 配置键 | 默认值 | 使用此路径的技能 |
|
|
1067
|
+
| --------------------- | ------------------------------- | ------------------------------------------------------------------------------------------------------------------------------ |
|
|
1068
|
+
| `biz_analysis_dir` | `docs/00-customer-requirements` | adspecs-new-requirement |
|
|
1069
|
+
| `architecture_dir` | `docs/10-architecture` | adspecs-architecture-planning(输出)、adspecs-new-requirement(输入:识别二级模块) |
|
|
1070
|
+
| `research_output_dir` | `docs/02-prd` | adspecs-requirement-research |
|
|
1071
|
+
| `sow_dir` | `docs/05-sow` | adspecs-write-sow |
|
|
1072
|
+
| `prd_dir` | `docs/20-prd` | adspecs-prd、adspecs-plan(输入)、adspecs-front-spec(输入)、wiki-update(源) |
|
|
1073
|
+
| `design_dir` | `docs/30-system-design` | adspecs-plan(输出)、adspecs-tasks、adspecs-front-spec(输出)、adspecs-front-tasks、adspecs-utest(输入)、wiki-update(源) |
|
|
1074
|
+
| `test_report_dir` | `docs/80-development` | adspecs-utest(测试报告) |
|
|
1075
|
+
| `export_dir` | `docs/90-export` | adspecs-export-word(Word 导出输出) |
|
|
1076
|
+
| `wiki_dir` | `wiki` | wiki-update(输出目标) |
|
|
1077
|
+
|
|
1078
|
+
完成后输出:`✅ 阶段 7 完成:路径配置文件已生成 .adspecs/paths.json(可编辑以自定义输出路径)`
|
|
1079
|
+
|
|
1080
|
+
### 阶段 8:输出初始化报告
|
|
1081
|
+
|
|
1082
|
+
所有阶段完成后,输出结构化的初始化报告:
|
|
1083
|
+
|
|
1084
|
+
````markdown
|
|
1085
|
+
## 项目初始化完成 🎉
|
|
1086
|
+
|
|
1087
|
+
项目名称: {PROJECT_NAME}
|
|
1088
|
+
项目短名称: {PROJECT_SHORT_NAME}
|
|
1089
|
+
公司名称: {COMPANY_NAME}
|
|
1090
|
+
文件密级: {CONFIDENTIALITY}
|
|
1091
|
+
初始化模式: {简易模式 / 经典模式 / 完整模式 / 轻量模式}
|
|
1092
|
+
前端技术栈: {Vue / Ant Design React}(经典/完整模式时显示;轻量模式固定 Ant Design React)
|
|
1093
|
+
工作目录: {pwd}
|
|
1094
|
+
项目目录: {PROJECT_DIR 或 "当前目录"}
|
|
1095
|
+
目标路径: {TARGET}
|
|
1096
|
+
|
|
1097
|
+
### 区域执行结果
|
|
1098
|
+
|
|
1099
|
+
**简易模式:**
|
|
1100
|
+
|
|
1101
|
+
| 区域 | 状态 | 说明 |
|
|
1102
|
+
| ------------------------- | --------------------------------- | -------------------------------------------------------------------------- |
|
|
1103
|
+
| .adspecs/ | ✅ 已创建 / 🔄 已重建 / ⏭ 已跳过 | 插件配置、脚本、模板(extensions.yml、feature.json、templates/、scripts/) |
|
|
1104
|
+
| └ templates/ | 🔄 已更新 / ⏭ 已跳过 | .adspecs/ 跳过时,模板子目录的更新决策 |
|
|
1105
|
+
| └ feature.json | 🔧 已补全 / ✅ 已完整 / ✅ 已创建 | 属性补全检查(已有属性保留,缺失属性补充) |
|
|
1106
|
+
| docs/ | ✅ 已创建 / 🔄 已重建 / ⏭ 已跳过 | 11 个骨架目录,40 仅创建空目录 |
|
|
1107
|
+
| └ 40-project_conventions/ | 🔄 已更新 / ⏭ 已跳过 | docs/ 跳过时,40 子目录的更新决策 |
|
|
1108
|
+
| wiki/ | ✅ 已创建 / 🔄 已重建 / ⏭ 已跳过 | 基线文件目录 + README.md |
|
|
1109
|
+
| .adspecs/project.json | ✅ 已生成 / 🔄 已更新 | 项目元数据文件(已有字段合并,缺失属性补全) |
|
|
1110
|
+
| .adspecs/paths.json | ✅ 已生成 / ⏭ 已存在跳过 | 路径配置文件 |
|
|
1111
|
+
|
|
1112
|
+
**经典模式:**
|
|
1113
|
+
|
|
1114
|
+
| 区域 | 状态 | 说明 |
|
|
1115
|
+
| ------------------------- | --------------------------------- | -------------------------------------------------------------------------- |
|
|
1116
|
+
| .adspecs/ | ✅ 已创建 / 🔄 已重建 / ⏭ 已跳过 | 插件配置、脚本、模板(extensions.yml、feature.json、templates/、scripts/) |
|
|
1117
|
+
| └ templates/ | 🔄 已更新 / ⏭ 已跳过 | .adspecs/ 跳过时,模板子目录的更新决策 |
|
|
1118
|
+
| └ feature.json | 🔧 已补全 / ✅ 已完整 / ✅ 已创建 | 属性补全检查(已有属性保留,缺失属性补充) |
|
|
1119
|
+
| docs/ | ✅ 已创建 / 🔄 已重建 / ⏭ 已跳过 | 11 个骨架目录 + 40 从 references 复制 |
|
|
1120
|
+
| └ 40-project_conventions/ | 🔄 已更新 / ⏭ 已跳过 | docs/ 跳过时,40 子目录的更新决策 |
|
|
1121
|
+
| wiki/ | ✅ 已创建 / 🔄 已重建 / ⏭ 已跳过 | 基线文件目录 + README.md |
|
|
1122
|
+
| front-demo/ | ✅ 已创建 / 🔄 已重建 / ⏭ 已跳过 | {技术栈名},{N} 个文件 |
|
|
1123
|
+
| .adspecs/project.json | ✅ 已生成 / 🔄 已更新 | 项目元数据文件(已有字段合并,缺失属性补全) |
|
|
1124
|
+
| .adspecs/paths.json | ✅ 已生成 / ⏭ 已存在跳过 | 路径配置文件 |
|
|
1125
|
+
|
|
1126
|
+
**完整模式:**
|
|
1127
|
+
|
|
1128
|
+
| 区域 | 状态 | 说明 |
|
|
1129
|
+
| ------------------------- | --------------------------------- | -------------------------------------------------------------------------- |
|
|
1130
|
+
| .adspecs/ | ✅ 已创建 / 🔄 已重建 / ⏭ 已跳过 | 插件配置、脚本、模板(extensions.yml、feature.json、templates/、scripts/) |
|
|
1131
|
+
| └ templates/ | 🔄 已更新 / ⏭ 已跳过 | .adspecs/ 跳过时,模板子目录的更新决策 |
|
|
1132
|
+
| └ feature.json | 🔧 已补全 / ✅ 已完整 / ✅ 已创建 | 属性补全检查(已有属性保留,缺失属性补充) |
|
|
1133
|
+
| docs/ | ✅ 已创建 / 🔄 已重建 / ⏭ 已跳过 | 11 个骨架目录 + 40 从 references 复制 |
|
|
1134
|
+
| └ 40-project_conventions/ | 🔄 已更新 / ⏭ 已跳过 | docs/ 跳过时,40 子目录的更新决策 |
|
|
1135
|
+
| wiki/ | ✅ 已创建 / 🔄 已重建 / ⏭ 已跳过 | 基线文件目录 + README.md |
|
|
1136
|
+
| web-ui/ | ✅ 已创建 / 🔄 已重建 / ⏭ 已跳过 | {N} 个文件 |
|
|
1137
|
+
| service/ | ✅ 已创建 / 🔄 已重建 / ⏭ 已跳过 | 模块 service 目录 + README.md |
|
|
1138
|
+
| front-demo/ | ✅ 已创建 / 🔄 已重建 / ⏭ 已跳过 | {技术栈名},{N} 个文件 |
|
|
1139
|
+
| .adspecs/project.json | ✅ 已生成 / 🔄 已更新 | 项目元数据文件(已有字段合并,缺失属性补全) |
|
|
1140
|
+
| .adspecs/paths.json | ✅ 已生成 / ⏭ 已存在跳过 | 路径配置文件 |
|
|
1141
|
+
|
|
1142
|
+
**轻量模式:**
|
|
1143
|
+
|
|
1144
|
+
| 区域 | 状态 | 说明 |
|
|
1145
|
+
| ------------------------- | --------------------------------- | -------------------------------------------------------------------------- |
|
|
1146
|
+
| .adspecs/ | ✅ 已创建 / 🔄 已重建 / ⏭ 已跳过 | 插件配置、脚本、模板(extensions.yml、feature.json、templates/、scripts/) |
|
|
1147
|
+
| └ templates/ | 🔄 已更新 / ⏭ 已跳过 | .adspecs/ 跳过时,模板子目录的更新决策 |
|
|
1148
|
+
| └ feature.json | 🔧 已补全 / ✅ 已完整 / ✅ 已创建 | 属性补全检查(已有属性保留,缺失属性补充) |
|
|
1149
|
+
| docs/ | ✅ 已创建 / 🔄 已重建 / ⏭ 已跳过 | 11 个骨架目录 + 40 按 Python+React 技术栈复制前后端规范 |
|
|
1150
|
+
| └ 40-project_conventions/ | 🔄 已更新 / ⏭ 已跳过 | docs/ 跳过时,40 子目录的更新决策 |
|
|
1151
|
+
| wiki/ | ✅ 已创建 / 🔄 已重建 / ⏭ 已跳过 | 基线文件目录 + README.md |
|
|
1152
|
+
| web-ui/ | ✅ 已创建 / 🔄 已重建 / ⏭ 已跳过 | React + AntD6 前端项目,{N} 个文件 |
|
|
1153
|
+
| service/ | ✅ 已创建 / 🔄 已重建 / ⏭ 已跳过 | Python 后端服务目录 + README.md |
|
|
1154
|
+
| front-demo/ | ✅ 已创建 / 🔄 已重建 / ⏭ 已跳过 | Ant Design React,{N} 个文件 |
|
|
1155
|
+
| .adspecs/project.json | ✅ 已生成 / 🔄 已更新 | 项目元数据文件(已有字段合并,缺失属性补全) |
|
|
1156
|
+
| .adspecs/paths.json | ✅ 已生成 / ⏭ 已存在跳过 | 路径配置文件 |
|
|
1157
|
+
|
|
1158
|
+
状态说明:
|
|
1159
|
+
|
|
1160
|
+
- ✅ 已创建:目录原本不存在,新建完成
|
|
1161
|
+
- 🔄 已重建:目录原本存在,按用户选择删除后重新创建
|
|
1162
|
+
- 🔄 已更新:父目录跳过,但子目录按用户选择使用 references 最新文件覆盖更新
|
|
1163
|
+
- 🔧 已补全:已有文件属性与 references 对比后,补充缺失属性(已有属性不覆盖)
|
|
1164
|
+
- ⏭ 已跳过:目录原本存在,按用户选择保留未动
|
|
1165
|
+
|
|
1166
|
+
### 目录树总览
|
|
1167
|
+
|
|
1168
|
+
**简易模式:**
|
|
1169
|
+
{pwd}/{PROJECT_DIR}/(或直接 {pwd}/)
|
|
1170
|
+
├── .adspecs/ (插件配置、脚本、模板 + project.json)
|
|
1171
|
+
├── docs/ (11 个子目录)
|
|
1172
|
+
└── wiki/ (基线文件目录)
|
|
1173
|
+
|
|
1174
|
+
**经典模式:**
|
|
1175
|
+
{pwd}/{PROJECT_DIR}/(或直接 {pwd}/)
|
|
1176
|
+
├── .adspecs/ (插件配置、脚本、模板 + project.json)
|
|
1177
|
+
├── docs/ (11 个子目录)
|
|
1178
|
+
├── wiki/ (基线文件目录)
|
|
1179
|
+
└── front-demo/ ({技术栈名}前端演示项目)
|
|
1180
|
+
|
|
1181
|
+
**完整模式:**
|
|
1182
|
+
{pwd}/{PROJECT_DIR}/(或直接 {pwd}/)
|
|
1183
|
+
├── .adspecs/ (插件配置、脚本、模板 + project.json)
|
|
1184
|
+
├── docs/ (11 个子目录)
|
|
1185
|
+
├── wiki/ (基线文件目录)
|
|
1186
|
+
├── web-ui/ (Vue3 壳工程)
|
|
1187
|
+
├── service/
|
|
1188
|
+
│ └── README.md
|
|
1189
|
+
└── front-demo/ ({技术栈名}前端演示项目)
|
|
1190
|
+
|
|
1191
|
+
**轻量模式:**(Python + SQLite + React + AntD6 全栈 demo)
|
|
1192
|
+
{pwd}/{PROJECT_DIR}/(或直接 {pwd}/)
|
|
1193
|
+
├── .adspecs/ (插件配置、脚本、模板 + project.json)
|
|
1194
|
+
├── docs/ (11 个子目录 + 40-project_conventions/ 含 Python 后端规范 + React 前端规范)
|
|
1195
|
+
├── wiki/ (基线文件目录)
|
|
1196
|
+
├── web-ui/ (React + AntD6 前端项目)
|
|
1197
|
+
├── service/ (Python + SQLite 后端服务)
|
|
1198
|
+
└── front-demo/ (Ant Design React 前端演示项目)
|
|
1199
|
+
|
|
1200
|
+
### 后续步骤
|
|
1201
|
+
|
|
1202
|
+
**简易模式:**
|
|
1203
|
+
|
|
1204
|
+
1. 在目标目录执行 `git init` 初始化 Git 仓库
|
|
1205
|
+
2. 根据项目需要调整 `.adspecs/templates/` 下的文档模板
|
|
1206
|
+
3. `docs/40-project_conventions/` 当前为空目录(简易模式不复制),进入开发阶段时从 references 补充或重新执行 `/project-init` 选择经典/完整模式自动补充
|
|
1207
|
+
4. 根据需要编辑 `.adspecs/project.json` 补充公司 Logo 路径等信息
|
|
1208
|
+
5. 根据自己需要调整 `.adspecs/paths.json` 路径配置文件
|
|
1209
|
+
6. 对当前项目的重新初始化`/init`更新或手动按需修改 `CLAUDE.md`
|
|
1210
|
+
|
|
1211
|
+
**经典模式:**
|
|
1212
|
+
|
|
1213
|
+
1. 在目标目录执行 `git init` 初始化 Git 仓库
|
|
1214
|
+
2. 在前端演示目录执行 `npm install` 安装依赖:
|
|
1215
|
+
|
|
1216
|
+
```bash
|
|
1217
|
+
cd {TARGET}/front-demo && npm install
|
|
1218
|
+
```
|
|
1219
|
+
|
|
1220
|
+
3. 根据项目需要调整 `.adspecs/templates/` 下的文档模板和 `docs/40-project_conventions/` 约定文档
|
|
1221
|
+
4. 根据需要编辑 `.adspecs/project.json` 补充公司 Logo 路径等信息
|
|
1222
|
+
5. 根据自己需要调整 `.adspecs/paths.json` 路径配置文件
|
|
1223
|
+
6. 对当前项目的重新初始化`/init`更新或手动按需修改 `CLAUDE.md`
|
|
1224
|
+
|
|
1225
|
+
**完整模式:**
|
|
1226
|
+
|
|
1227
|
+
1. 在目标目录执行 `git init` 初始化 Git 仓库
|
|
1228
|
+
2. 在前端目录执行 `npm install` 安装依赖:
|
|
1229
|
+
|
|
1230
|
+
```bash
|
|
1231
|
+
cd {TARGET}/web-ui && npm install
|
|
1232
|
+
cd {TARGET}/front-demo && npm install
|
|
1233
|
+
```
|
|
1234
|
+
|
|
1235
|
+
3. 根据项目需要调整 `.adspecs/templates/` 下的文档模板和 `docs/40-project_conventions/` 前后端编码规范约定文档
|
|
1236
|
+
4. 根据需要编辑 `.adspecs/project.json` 补充公司 Logo 路径等信息
|
|
1237
|
+
5. 根据自己需要调整 `.adspecs/paths.json` 路径配置文件
|
|
1238
|
+
6. 对当前项目的重新初始化`/init`更新或手动按需修改 `CLAUDE.md`
|
|
1239
|
+
|
|
1240
|
+
**轻量模式:**(Python + SQLite + React + AntD6 全栈 demo)
|
|
1241
|
+
|
|
1242
|
+
1. 在目标目录执行 `git init` 初始化 Git 仓库
|
|
1243
|
+
2. 安装前端依赖:
|
|
1244
|
+
|
|
1245
|
+
```bash
|
|
1246
|
+
cd {TARGET}/web-ui && npm install
|
|
1247
|
+
cd {TARGET}/front-demo && npm install
|
|
1248
|
+
```
|
|
1249
|
+
|
|
1250
|
+
3. 安装后端依赖(Python 环境):
|
|
1251
|
+
|
|
1252
|
+
```bash
|
|
1253
|
+
cd {TARGET}/service
|
|
1254
|
+
python -m venv venv
|
|
1255
|
+
source venv/bin/activate # Windows: venv\Scripts\activate
|
|
1256
|
+
pip install -r requirements.txt
|
|
1257
|
+
```
|
|
1258
|
+
|
|
1259
|
+
4. 根据项目需要调整 `.adspecs/templates/` 下的文档模板和 `docs/40-project_conventions/` 前后端编码规范约定文档
|
|
1260
|
+
5. 根据需要编辑 `.adspecs/project.json` 补充公司 Logo 路径等信息
|
|
1261
|
+
6. 根据自己需要调整 `.adspecs/paths.json` 路径配置文件
|
|
1262
|
+
7. 对当前项目的重新初始化`/init`更新或手动按需修改 `CLAUDE.md`
|
|
1263
|
+
|
|
1264
|
+
## 完成标志
|
|
1265
|
+
|
|
1266
|
+
- [ ] 已收集项目信息(project_name, project_dir, company_name, project_short_name, confidentiality)
|
|
1267
|
+
- [ ] project_short_name 已按自动推导规则生成(仅英文字母和数字)
|
|
1268
|
+
- [ ] company_name 和 confidentiality 已使用默认值(如用户未填写)
|
|
1269
|
+
- [ ] 已选择初始化模式(简易 / 经典 / 完整 / 轻量)
|
|
1270
|
+
- [ ] 已选择前端演示技术栈(经典/完整模式:Vue / Ant Design React;轻量模式固定 Ant Design React)
|
|
1271
|
+
- [ ] 已按模式检查目标路径下对应区域的存在情况
|
|
1272
|
+
- [ ] 对已存在的区域已通过 AskUserQuestion 获取用户选择(重新创建 / 跳过)
|
|
1273
|
+
- [ ] docs/ 目录结构已创建/重建/跳过(按用户决策执行;简易模式下 40-project_conventions/ 仅创建空目录,经典/完整模式从 references 复制前端规范,轻量模式复制前后端规范)
|
|
1274
|
+
- [ ] 模式升级补充检查已完成(docs/ 跳过时,经典/完整/轻量模式自动检测并补充空的 40-project_conventions/)
|
|
1275
|
+
- [ ] 40-project_conventions/ 子目录更新检查已完成(docs/ 跳过且目录已包含文件时,已通过 AskUserQuestion 获取更新/跳过决策并按决策执行)
|
|
1276
|
+
- [ ] wiki/ 基线文件目录已创建/重建/跳过
|
|
1277
|
+
- [ ] web-ui/ 已从 references 完整复制/重建/跳过(仅完整/轻量模式,排除 node_modules、.git)
|
|
1278
|
+
- [ ] service/ 目录已创建/重建/跳过(仅完整/轻量模式)
|
|
1279
|
+
- [ ] front-demo/ 已从 references 按技术栈选择复制/重建/跳过(经典/完整/轻量模式,排除 node_modules、.git、.vite)
|
|
1280
|
+
- [ ] .adspecs/ 配置与脚本目录已从插件根目录完整复制/重建/跳过
|
|
1281
|
+
- [ ] .adspecs/templates/ 子目录更新检查已完成(.adspecs/ 跳过且模板目录已包含文件时,已通过 AskUserQuestion 获取更新/跳过决策并按决策执行)
|
|
1282
|
+
- [ ] feature.json 属性补全检查已完成(recreate/skip 时,已对比 references 初始版本并补全缺失属性,已有属性不覆盖)
|
|
1283
|
+
- [ ] project.json 属性补全检查已完成(recreate/skip 时,已对比 references 初始版本并补全缺失属性)
|
|
1284
|
+
- [ ] .adspecs/project.json 项目元数据文件已生成或更新
|
|
1285
|
+
- [ ] .adspecs/paths.json 路径配置文件已生成(含 architecture_dir 和 export_dir,或已存在时跳过)
|
|
1286
|
+
- [ ] 初始化报告已输出(包含项目信息、模式、技术栈、各区域状态)
|
|
1287
|
+
````
|
|
1288
|
+
|
|
1289
|
+
---
|