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,640 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
# Common functions and variables for all scripts
|
|
3
|
+
|
|
4
|
+
# Find repository root by searching upward for .adspecs directory
|
|
5
|
+
# This is the primary marker for spec-kit projects
|
|
6
|
+
find_specify_root() {
|
|
7
|
+
local dir="${1:-$(pwd)}"
|
|
8
|
+
# Normalize to absolute path to prevent infinite loop with relative paths
|
|
9
|
+
# Use -- to handle paths starting with - (e.g., -P, -L)
|
|
10
|
+
dir="$(cd -- "$dir" 2>/dev/null && pwd)" || return 1
|
|
11
|
+
local prev_dir=""
|
|
12
|
+
while true; do
|
|
13
|
+
if [ -d "$dir/.adspecs" ]; then
|
|
14
|
+
echo "$dir"
|
|
15
|
+
return 0
|
|
16
|
+
fi
|
|
17
|
+
# Stop if we've reached filesystem root or dirname stops changing
|
|
18
|
+
if [ "$dir" = "/" ] || [ "$dir" = "$prev_dir" ]; then
|
|
19
|
+
break
|
|
20
|
+
fi
|
|
21
|
+
prev_dir="$dir"
|
|
22
|
+
dir="$(dirname "$dir")"
|
|
23
|
+
done
|
|
24
|
+
return 1
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
# Resolve an explicit ADSPECS_INIT_DIR project override (the directory that
|
|
28
|
+
# *contains* .adspecs/), for non-interactive / CI use — e.g. running a Spec Kit
|
|
29
|
+
# command against a member project from a monorepo root without cd.
|
|
30
|
+
#
|
|
31
|
+
# Precondition: ADSPECS_INIT_DIR is non-empty. Echoes the validated absolute
|
|
32
|
+
# project root, or prints an error and returns 1. Strict by design: the path
|
|
33
|
+
# must exist and contain .adspecs/, with no silent fallback to cwd or the
|
|
34
|
+
# script-location default (which would silently write to the wrong project).
|
|
35
|
+
#
|
|
36
|
+
# This is the single resolver: bundled extensions inherit it by sourcing core
|
|
37
|
+
# (e.g. the git extension's create-new-feature-branch) rather than duplicating it.
|
|
38
|
+
resolve_specify_init_dir() {
|
|
39
|
+
local init_root
|
|
40
|
+
# Normalize: relative paths resolve against $(pwd); a trailing slash collapses.
|
|
41
|
+
# CDPATH="" so a relative value cannot be resolved against the caller's CDPATH
|
|
42
|
+
# (which would also echo to stdout and corrupt the captured path).
|
|
43
|
+
if ! init_root="$(CDPATH="" cd -- "$ADSPECS_INIT_DIR" 2>/dev/null && pwd)"; then
|
|
44
|
+
echo "ERROR: ADSPECS_INIT_DIR does not point to an existing directory: $ADSPECS_INIT_DIR" >&2
|
|
45
|
+
return 1
|
|
46
|
+
fi
|
|
47
|
+
if [[ ! -d "$init_root/.adspecs" ]]; then
|
|
48
|
+
echo "ERROR: ADSPECS_INIT_DIR is not a Spec Kit project (no .adspecs/ directory): $init_root" >&2
|
|
49
|
+
return 1
|
|
50
|
+
fi
|
|
51
|
+
printf '%s\n' "$init_root"
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
# Get repository root, prioritizing .adspecs directory
|
|
55
|
+
# This prevents using a parent repository when spec-kit is initialized in a subdirectory
|
|
56
|
+
get_repo_root() {
|
|
57
|
+
# Explicit project override wins (see resolve_specify_init_dir).
|
|
58
|
+
if [[ -n "${ADSPECS_INIT_DIR:-}" ]]; then
|
|
59
|
+
resolve_specify_init_dir
|
|
60
|
+
return
|
|
61
|
+
fi
|
|
62
|
+
|
|
63
|
+
# First, look for .adspecs directory (spec-kit's own marker)
|
|
64
|
+
local specify_root
|
|
65
|
+
if specify_root=$(find_specify_root); then
|
|
66
|
+
echo "$specify_root"
|
|
67
|
+
return
|
|
68
|
+
fi
|
|
69
|
+
|
|
70
|
+
# Final fallback to script location
|
|
71
|
+
local script_dir="$(CDPATH="" cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
72
|
+
(cd "$script_dir/../../.." && pwd)
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
# Get current feature name from explicit state only.
|
|
76
|
+
# Returns the feature identifier or empty string if none is set.
|
|
77
|
+
# Feature state is set by ADSPECS_FEATURE (from create-new-feature or
|
|
78
|
+
# the git extension) or implicitly via .adspecs/feature.json.
|
|
79
|
+
get_current_branch() {
|
|
80
|
+
if [[ -n "${ADSPECS_FEATURE:-}" ]]; then
|
|
81
|
+
echo "$ADSPECS_FEATURE"
|
|
82
|
+
return
|
|
83
|
+
fi
|
|
84
|
+
|
|
85
|
+
# No explicit feature set — caller must handle this via feature.json
|
|
86
|
+
# in get_feature_paths(). Return empty to signal "unknown".
|
|
87
|
+
echo ""
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
# Safely read .adspecs/feature.json's "feature_directory" value.
|
|
91
|
+
# Prints the raw value (possibly relative) to stdout, or empty string if the file
|
|
92
|
+
# is missing, unparseable, or does not contain the key. Always returns 0 so callers
|
|
93
|
+
# under `set -e` cannot be aborted by parser failure.
|
|
94
|
+
# Parser order mirrors the historical get_feature_paths behavior: jq -> python3 -> grep/sed.
|
|
95
|
+
read_feature_json_feature_directory() {
|
|
96
|
+
local repo_root="$1"
|
|
97
|
+
local fj="$repo_root/.adspecs/feature.json"
|
|
98
|
+
[[ -f "$fj" ]] || { printf '%s' ''; return 0; }
|
|
99
|
+
|
|
100
|
+
local _fd=''
|
|
101
|
+
if command -v jq >/dev/null 2>&1; then
|
|
102
|
+
if ! _fd=$(jq -r '.feature_directory // empty' "$fj" 2>/dev/null); then
|
|
103
|
+
_fd=''
|
|
104
|
+
fi
|
|
105
|
+
elif command -v python3 >/dev/null 2>&1; then
|
|
106
|
+
# Use Python so pretty-printed/multi-line JSON still parses correctly.
|
|
107
|
+
if ! _fd=$(python3 -c "import json,sys; d=json.load(open(sys.argv[1])); v=d.get('feature_directory'); print(v if v else '')" "$fj" 2>/dev/null); then
|
|
108
|
+
_fd=''
|
|
109
|
+
fi
|
|
110
|
+
else
|
|
111
|
+
# Last-resort single-line grep/sed fallback. The `|| true` guards against
|
|
112
|
+
# grep returning 1 (no match) aborting under `set -e` / `pipefail`.
|
|
113
|
+
_fd=$( { grep -E '"feature_directory"[[:space:]]*:' "$fj" 2>/dev/null || true; } \
|
|
114
|
+
| head -n 1 \
|
|
115
|
+
| sed -E 's/^[^:]*:[[:space:]]*"([^"]*)".*$/\1/' )
|
|
116
|
+
fi
|
|
117
|
+
|
|
118
|
+
printf '%s' "$_fd"
|
|
119
|
+
return 0
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
# Persist a feature_directory value to .adspecs/feature.json.
|
|
123
|
+
# Writes only when the file is missing or the value differs from what's stored.
|
|
124
|
+
# Accepts the raw (possibly relative) path — callers should pass the original
|
|
125
|
+
# user-supplied value, not the normalized absolute path.
|
|
126
|
+
_persist_feature_json() {
|
|
127
|
+
local repo_root="$1"
|
|
128
|
+
local feature_dir_value="$2"
|
|
129
|
+
local fj="$repo_root/.adspecs/feature.json"
|
|
130
|
+
|
|
131
|
+
# Strip repo_root prefix if the value is absolute and under repo_root
|
|
132
|
+
if [[ "$feature_dir_value" == "$repo_root/"* ]]; then
|
|
133
|
+
feature_dir_value="${feature_dir_value#"$repo_root/"}"
|
|
134
|
+
fi
|
|
135
|
+
|
|
136
|
+
# Read current value (if any) and skip write when unchanged
|
|
137
|
+
local current_val
|
|
138
|
+
current_val=$(read_feature_json_feature_directory "$repo_root")
|
|
139
|
+
if [[ "$current_val" == "$feature_dir_value" ]]; then
|
|
140
|
+
return 0
|
|
141
|
+
fi
|
|
142
|
+
|
|
143
|
+
# Ensure .adspecs/ directory exists
|
|
144
|
+
mkdir -p "$repo_root/.adspecs"
|
|
145
|
+
|
|
146
|
+
# Write feature.json — prefer jq for safe JSON, fall back to printf
|
|
147
|
+
if command -v jq >/dev/null 2>&1; then
|
|
148
|
+
jq -cn --arg fd "$feature_dir_value" '{feature_directory:$fd}' > "$fj"
|
|
149
|
+
else
|
|
150
|
+
printf '{"feature_directory":"%s"}\n' "$(json_escape "$feature_dir_value")" > "$fj"
|
|
151
|
+
fi
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
get_feature_paths() {
|
|
155
|
+
# Read-only callers (e.g. check-prerequisites.sh --paths-only) pass
|
|
156
|
+
# --no-persist so pure path resolution never writes .adspecs/feature.json,
|
|
157
|
+
# which would dirty the working tree or overwrite a pinned value (issue #3025).
|
|
158
|
+
local no_persist=false
|
|
159
|
+
if [[ "${1:-}" == "--no-persist" ]]; then
|
|
160
|
+
no_persist=true
|
|
161
|
+
shift
|
|
162
|
+
fi
|
|
163
|
+
|
|
164
|
+
# Split decl/assignment so a ADSPECS_INIT_DIR validation failure in
|
|
165
|
+
# get_repo_root propagates as a hard error instead of being masked by `local`.
|
|
166
|
+
local repo_root
|
|
167
|
+
repo_root=$(get_repo_root) || return 1
|
|
168
|
+
local current_branch
|
|
169
|
+
current_branch=$(get_current_branch)
|
|
170
|
+
|
|
171
|
+
# Resolve feature directory. Priority:
|
|
172
|
+
# 1. ADSPECS_FEATURE_DIRECTORY env var (explicit override)
|
|
173
|
+
# 2. .adspecs/feature.json "feature_directory" key (persisted by specify command)
|
|
174
|
+
# 3. Error — no feature context available
|
|
175
|
+
local feature_dir
|
|
176
|
+
if [[ -n "${ADSPECS_FEATURE_DIRECTORY:-}" ]]; then
|
|
177
|
+
feature_dir="$ADSPECS_FEATURE_DIRECTORY"
|
|
178
|
+
# Normalize relative paths to absolute under repo root
|
|
179
|
+
[[ "$feature_dir" != /* ]] && feature_dir="$repo_root/$feature_dir"
|
|
180
|
+
# Persist to feature.json so future sessions without the env var still
|
|
181
|
+
# work — unless the caller opted out for read-only resolution (#3025).
|
|
182
|
+
if [[ "$no_persist" != true ]]; then
|
|
183
|
+
_persist_feature_json "$repo_root" "$ADSPECS_FEATURE_DIRECTORY"
|
|
184
|
+
fi
|
|
185
|
+
elif [[ -f "$repo_root/.adspecs/feature.json" ]]; then
|
|
186
|
+
local _fd
|
|
187
|
+
_fd=$(read_feature_json_feature_directory "$repo_root")
|
|
188
|
+
if [[ -n "$_fd" ]]; then
|
|
189
|
+
feature_dir="$_fd"
|
|
190
|
+
# Normalize relative paths to absolute under repo root
|
|
191
|
+
[[ "$feature_dir" != /* ]] && feature_dir="$repo_root/$feature_dir"
|
|
192
|
+
else
|
|
193
|
+
echo "ERROR: Feature directory not found. Set ADSPECS_FEATURE_DIRECTORY or ensure .adspecs/feature.json contains feature_directory." >&2
|
|
194
|
+
return 1
|
|
195
|
+
fi
|
|
196
|
+
else
|
|
197
|
+
echo "ERROR: Feature directory not found. Set ADSPECS_FEATURE_DIRECTORY or run the specify command to create .adspecs/feature.json." >&2
|
|
198
|
+
return 1
|
|
199
|
+
fi
|
|
200
|
+
|
|
201
|
+
# When no branch context exists (no ADSPECS_FEATURE, feature resolved via
|
|
202
|
+
# ADSPECS_FEATURE_DIRECTORY or feature.json), fall back to the feature
|
|
203
|
+
# directory basename so CURRENT_BRANCH is a usable identifier rather than
|
|
204
|
+
# an empty, misleading value (issue #3026).
|
|
205
|
+
if [[ -z "$current_branch" ]]; then
|
|
206
|
+
local feature_dir_trimmed="${feature_dir%/}"
|
|
207
|
+
current_branch="${feature_dir_trimmed##*/}"
|
|
208
|
+
fi
|
|
209
|
+
|
|
210
|
+
# Use printf '%q' to safely quote values, preventing shell injection
|
|
211
|
+
# via crafted branch names or paths containing special characters
|
|
212
|
+
printf 'REPO_ROOT=%q\n' "$repo_root"
|
|
213
|
+
printf 'CURRENT_BRANCH=%q\n' "$current_branch"
|
|
214
|
+
printf 'FEATURE_DIR=%q\n' "$feature_dir"
|
|
215
|
+
printf 'FEATURE_SPEC=%q\n' "$feature_dir/spec.md"
|
|
216
|
+
printf 'IMPL_PLAN=%q\n' "$feature_dir/plan.md"
|
|
217
|
+
printf 'TASKS=%q\n' "$feature_dir/tasks.md"
|
|
218
|
+
printf 'RESEARCH=%q\n' "$feature_dir/research.md"
|
|
219
|
+
printf 'DATA_MODEL=%q\n' "$feature_dir/data-model.md"
|
|
220
|
+
printf 'QUICKSTART=%q\n' "$feature_dir/quickstart.md"
|
|
221
|
+
printf 'CONTRACTS_DIR=%q\n' "$feature_dir/contracts"
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
# Check if jq is available for safe JSON construction
|
|
225
|
+
has_jq() {
|
|
226
|
+
command -v jq >/dev/null 2>&1
|
|
227
|
+
}
|
|
228
|
+
|
|
229
|
+
get_invoke_separator() {
|
|
230
|
+
local repo_root="${1:-$(get_repo_root)}"
|
|
231
|
+
if [[ "${_ADSPECS_INVOKE_SEPARATOR_CACHE_REPO_ROOT:-}" == "$repo_root" && -n "${_ADSPECS_INVOKE_SEPARATOR_CACHE_VALUE:-}" ]]; then
|
|
232
|
+
printf '%s\n' "$_ADSPECS_INVOKE_SEPARATOR_CACHE_VALUE"
|
|
233
|
+
return 0
|
|
234
|
+
fi
|
|
235
|
+
|
|
236
|
+
local integration_json="$repo_root/.adspecs/integration.json"
|
|
237
|
+
local separator="."
|
|
238
|
+
local parsed_with_jq=0
|
|
239
|
+
|
|
240
|
+
if [[ -f "$integration_json" ]]; then
|
|
241
|
+
if command -v jq >/dev/null 2>&1; then
|
|
242
|
+
local jq_separator
|
|
243
|
+
if jq_separator=$(jq -r '(.default_integration // .integration // "") as $k | if $k == "" then "." else (.integration_settings[$k].invoke_separator // ".") end' "$integration_json" 2>/dev/null); then
|
|
244
|
+
parsed_with_jq=1
|
|
245
|
+
case "$jq_separator" in
|
|
246
|
+
"."|"-") separator="$jq_separator" ;;
|
|
247
|
+
esac
|
|
248
|
+
fi
|
|
249
|
+
fi
|
|
250
|
+
|
|
251
|
+
if [[ "$parsed_with_jq" -eq 0 ]] && command -v python3 >/dev/null 2>&1; then
|
|
252
|
+
if separator=$(python3 - "$integration_json" <<'PY' 2>/dev/null
|
|
253
|
+
import json
|
|
254
|
+
import sys
|
|
255
|
+
|
|
256
|
+
try:
|
|
257
|
+
with open(sys.argv[1], encoding="utf-8") as fh:
|
|
258
|
+
state = json.load(fh)
|
|
259
|
+
key = state.get("default_integration") or state.get("integration") or ""
|
|
260
|
+
settings = state.get("integration_settings")
|
|
261
|
+
separator = "."
|
|
262
|
+
if isinstance(key, str) and isinstance(settings, dict):
|
|
263
|
+
entry = settings.get(key)
|
|
264
|
+
if isinstance(entry, dict) and entry.get("invoke_separator") in {".", "-"}:
|
|
265
|
+
separator = entry["invoke_separator"]
|
|
266
|
+
print(separator)
|
|
267
|
+
except Exception:
|
|
268
|
+
print(".")
|
|
269
|
+
PY
|
|
270
|
+
); then
|
|
271
|
+
case "$separator" in
|
|
272
|
+
"."|"-") ;;
|
|
273
|
+
*) separator="." ;;
|
|
274
|
+
esac
|
|
275
|
+
else
|
|
276
|
+
separator="."
|
|
277
|
+
fi
|
|
278
|
+
fi
|
|
279
|
+
fi
|
|
280
|
+
|
|
281
|
+
_ADSPECS_INVOKE_SEPARATOR_CACHE_REPO_ROOT="$repo_root"
|
|
282
|
+
_ADSPECS_INVOKE_SEPARATOR_CACHE_VALUE="$separator"
|
|
283
|
+
printf '%s\n' "$separator"
|
|
284
|
+
}
|
|
285
|
+
|
|
286
|
+
format_speckit_command() {
|
|
287
|
+
local command_name="$1"
|
|
288
|
+
local repo_root="${2:-$(get_repo_root)}"
|
|
289
|
+
local separator
|
|
290
|
+
if [[ "${_ADSPECS_INVOKE_SEPARATOR_CACHE_REPO_ROOT:-}" == "$repo_root" && -n "${_ADSPECS_INVOKE_SEPARATOR_CACHE_VALUE:-}" ]]; then
|
|
291
|
+
separator="$_ADSPECS_INVOKE_SEPARATOR_CACHE_VALUE"
|
|
292
|
+
else
|
|
293
|
+
separator=$(get_invoke_separator "$repo_root")
|
|
294
|
+
_ADSPECS_INVOKE_SEPARATOR_CACHE_REPO_ROOT="$repo_root"
|
|
295
|
+
_ADSPECS_INVOKE_SEPARATOR_CACHE_VALUE="$separator"
|
|
296
|
+
fi
|
|
297
|
+
|
|
298
|
+
command_name="${command_name#/}"
|
|
299
|
+
command_name="${command_name#speckit.}"
|
|
300
|
+
command_name="${command_name#speckit-}"
|
|
301
|
+
command_name="${command_name//./$separator}"
|
|
302
|
+
|
|
303
|
+
printf '/speckit%s%s\n' "$separator" "$command_name"
|
|
304
|
+
}
|
|
305
|
+
|
|
306
|
+
# Escape a string for safe embedding in a JSON value (fallback when jq is unavailable).
|
|
307
|
+
# Handles backslash, double-quote, and JSON-required control character escapes (RFC 8259).
|
|
308
|
+
json_escape() {
|
|
309
|
+
local s="$1"
|
|
310
|
+
s="${s//\\/\\\\}"
|
|
311
|
+
s="${s//\"/\\\"}"
|
|
312
|
+
s="${s//$'\n'/\\n}"
|
|
313
|
+
s="${s//$'\t'/\\t}"
|
|
314
|
+
s="${s//$'\r'/\\r}"
|
|
315
|
+
s="${s//$'\b'/\\b}"
|
|
316
|
+
s="${s//$'\f'/\\f}"
|
|
317
|
+
# Escape any remaining U+0001-U+001F control characters as \uXXXX.
|
|
318
|
+
# (U+0000/NUL cannot appear in bash strings and is excluded.)
|
|
319
|
+
# LC_ALL=C ensures ${#s} counts bytes and ${s:$i:1} yields single bytes,
|
|
320
|
+
# so multi-byte UTF-8 sequences (first byte >= 0xC0) pass through intact.
|
|
321
|
+
local LC_ALL=C
|
|
322
|
+
local i char code
|
|
323
|
+
for (( i=0; i<${#s}; i++ )); do
|
|
324
|
+
char="${s:$i:1}"
|
|
325
|
+
printf -v code '%d' "'$char" 2>/dev/null || code=256
|
|
326
|
+
if (( code >= 1 && code <= 31 )); then
|
|
327
|
+
printf '\\u%04x' "$code"
|
|
328
|
+
else
|
|
329
|
+
printf '%s' "$char"
|
|
330
|
+
fi
|
|
331
|
+
done
|
|
332
|
+
}
|
|
333
|
+
|
|
334
|
+
check_file() { [[ -f "$1" ]] && echo " ✓ $2" || echo " ✗ $2"; }
|
|
335
|
+
check_dir() { [[ -d "$1" && -n $(ls -A "$1" 2>/dev/null) ]] && echo " ✓ $2" || echo " ✗ $2"; }
|
|
336
|
+
|
|
337
|
+
# Resolve a template name to a file path using the priority stack:
|
|
338
|
+
# 1. .adspecs/templates/overrides/
|
|
339
|
+
# 2. .adspecs/presets/<preset-id>/templates/ (sorted by priority from .registry)
|
|
340
|
+
# 3. .adspecs/extensions/<ext-id>/templates/
|
|
341
|
+
# 4. .adspecs/templates/ (core)
|
|
342
|
+
resolve_template() {
|
|
343
|
+
local template_name="$1"
|
|
344
|
+
local repo_root="$2"
|
|
345
|
+
local base="$repo_root/.adspecs/templates"
|
|
346
|
+
|
|
347
|
+
# Priority 1: Project overrides
|
|
348
|
+
local override="$base/overrides/${template_name}.md"
|
|
349
|
+
[ -f "$override" ] && echo "$override" && return 0
|
|
350
|
+
|
|
351
|
+
# Priority 2: Installed presets (sorted by priority from .registry)
|
|
352
|
+
local presets_dir="$repo_root/.adspecs/presets"
|
|
353
|
+
if [ -d "$presets_dir" ]; then
|
|
354
|
+
local registry_file="$presets_dir/.registry"
|
|
355
|
+
if [ -f "$registry_file" ] && command -v python3 >/dev/null 2>&1; then
|
|
356
|
+
# Read preset IDs sorted by priority (lower number = higher precedence).
|
|
357
|
+
# The python3 call is wrapped in an if-condition so that set -e does not
|
|
358
|
+
# abort the function when python3 exits non-zero (e.g. invalid JSON).
|
|
359
|
+
local sorted_presets=""
|
|
360
|
+
if sorted_presets=$(SPECKIT_REGISTRY="$registry_file" python3 -c "
|
|
361
|
+
import json, sys, os
|
|
362
|
+
try:
|
|
363
|
+
with open(os.environ['SPECKIT_REGISTRY']) as f:
|
|
364
|
+
data = json.load(f)
|
|
365
|
+
presets = data.get('presets', {})
|
|
366
|
+
for pid, meta in sorted(presets.items(), key=lambda x: x[1].get('priority', 10) if isinstance(x[1], dict) else 10):
|
|
367
|
+
if isinstance(meta, dict) and meta.get('enabled', True) is not False:
|
|
368
|
+
print(pid)
|
|
369
|
+
except Exception:
|
|
370
|
+
sys.exit(1)
|
|
371
|
+
" 2>/dev/null); then
|
|
372
|
+
if [ -n "$sorted_presets" ]; then
|
|
373
|
+
# python3 succeeded and returned preset IDs — search in priority order
|
|
374
|
+
while IFS= read -r preset_id; do
|
|
375
|
+
local candidate="$presets_dir/$preset_id/templates/${template_name}.md"
|
|
376
|
+
[ -f "$candidate" ] && echo "$candidate" && return 0
|
|
377
|
+
done <<< "$sorted_presets"
|
|
378
|
+
fi
|
|
379
|
+
# python3 succeeded but registry has no presets — nothing to search
|
|
380
|
+
else
|
|
381
|
+
# python3 failed (missing, or registry parse error) — fall back to unordered directory scan
|
|
382
|
+
for preset in "$presets_dir"/*/; do
|
|
383
|
+
[ -d "$preset" ] || continue
|
|
384
|
+
local candidate="$preset/templates/${template_name}.md"
|
|
385
|
+
[ -f "$candidate" ] && echo "$candidate" && return 0
|
|
386
|
+
done
|
|
387
|
+
fi
|
|
388
|
+
else
|
|
389
|
+
# Fallback: alphabetical directory order (no python3 available)
|
|
390
|
+
for preset in "$presets_dir"/*/; do
|
|
391
|
+
[ -d "$preset" ] || continue
|
|
392
|
+
local candidate="$preset/templates/${template_name}.md"
|
|
393
|
+
[ -f "$candidate" ] && echo "$candidate" && return 0
|
|
394
|
+
done
|
|
395
|
+
fi
|
|
396
|
+
fi
|
|
397
|
+
|
|
398
|
+
# Priority 3: Extension-provided templates
|
|
399
|
+
local ext_dir="$repo_root/.adspecs/extensions"
|
|
400
|
+
if [ -d "$ext_dir" ]; then
|
|
401
|
+
for ext in "$ext_dir"/*/; do
|
|
402
|
+
[ -d "$ext" ] || continue
|
|
403
|
+
# Skip hidden directories (e.g. .backup, .cache)
|
|
404
|
+
case "$(basename "$ext")" in .*) continue;; esac
|
|
405
|
+
local candidate="$ext/templates/${template_name}.md"
|
|
406
|
+
[ -f "$candidate" ] && echo "$candidate" && return 0
|
|
407
|
+
done
|
|
408
|
+
fi
|
|
409
|
+
|
|
410
|
+
# Priority 4: Core templates
|
|
411
|
+
local core="$base/${template_name}.md"
|
|
412
|
+
[ -f "$core" ] && echo "$core" && return 0
|
|
413
|
+
|
|
414
|
+
# Template not found in any location.
|
|
415
|
+
# Return 1 so callers can distinguish "not found" from "found".
|
|
416
|
+
# Callers running under set -e should use: TEMPLATE=$(resolve_template ...) || true
|
|
417
|
+
return 1
|
|
418
|
+
}
|
|
419
|
+
|
|
420
|
+
# Resolve a template name to composed content using composition strategies.
|
|
421
|
+
# Reads strategy metadata from preset manifests and composes content
|
|
422
|
+
# from multiple layers using prepend, append, or wrap strategies.
|
|
423
|
+
#
|
|
424
|
+
# Usage: CONTENT=$(resolve_template_content "template-name" "$REPO_ROOT")
|
|
425
|
+
# Returns composed content string on stdout; exit code 1 if not found.
|
|
426
|
+
resolve_template_content() {
|
|
427
|
+
local template_name="$1"
|
|
428
|
+
local repo_root="$2"
|
|
429
|
+
local base="$repo_root/.adspecs/templates"
|
|
430
|
+
|
|
431
|
+
# Collect all layers (highest priority first)
|
|
432
|
+
local -a layer_paths=()
|
|
433
|
+
local -a layer_strategies=()
|
|
434
|
+
|
|
435
|
+
# Priority 1: Project overrides (always "replace")
|
|
436
|
+
local override="$base/overrides/${template_name}.md"
|
|
437
|
+
if [ -f "$override" ]; then
|
|
438
|
+
layer_paths+=("$override")
|
|
439
|
+
layer_strategies+=("replace")
|
|
440
|
+
fi
|
|
441
|
+
|
|
442
|
+
# Priority 2: Installed presets (sorted by priority from .registry)
|
|
443
|
+
local presets_dir="$repo_root/.adspecs/presets"
|
|
444
|
+
if [ -d "$presets_dir" ]; then
|
|
445
|
+
local registry_file="$presets_dir/.registry"
|
|
446
|
+
local sorted_presets=""
|
|
447
|
+
if [ -f "$registry_file" ] && command -v python3 >/dev/null 2>&1; then
|
|
448
|
+
if sorted_presets=$(SPECKIT_REGISTRY="$registry_file" python3 -c "
|
|
449
|
+
import json, sys, os
|
|
450
|
+
try:
|
|
451
|
+
with open(os.environ['SPECKIT_REGISTRY']) as f:
|
|
452
|
+
data = json.load(f)
|
|
453
|
+
presets = data.get('presets', {})
|
|
454
|
+
for pid, meta in sorted(presets.items(), key=lambda x: x[1].get('priority', 10) if isinstance(x[1], dict) else 10):
|
|
455
|
+
if isinstance(meta, dict) and meta.get('enabled', True) is not False:
|
|
456
|
+
print(pid)
|
|
457
|
+
except Exception:
|
|
458
|
+
sys.exit(1)
|
|
459
|
+
" 2>/dev/null); then
|
|
460
|
+
if [ -n "$sorted_presets" ]; then
|
|
461
|
+
local yaml_warned=false
|
|
462
|
+
while IFS= read -r preset_id; do
|
|
463
|
+
# Read strategy and file path from preset manifest
|
|
464
|
+
local strategy="replace"
|
|
465
|
+
local manifest_file=""
|
|
466
|
+
local manifest="$presets_dir/$preset_id/preset.yml"
|
|
467
|
+
if [ -f "$manifest" ] && command -v python3 >/dev/null 2>&1; then
|
|
468
|
+
# Requires PyYAML; falls back to replace/convention if unavailable
|
|
469
|
+
local result
|
|
470
|
+
local py_stderr
|
|
471
|
+
py_stderr=$(mktemp)
|
|
472
|
+
result=$(SPECKIT_MANIFEST="$manifest" SPECKIT_TMPL="$template_name" python3 -c "
|
|
473
|
+
import sys, os
|
|
474
|
+
try:
|
|
475
|
+
import yaml
|
|
476
|
+
except ImportError:
|
|
477
|
+
print('yaml_missing', file=sys.stderr)
|
|
478
|
+
print('replace\t')
|
|
479
|
+
sys.exit(0)
|
|
480
|
+
try:
|
|
481
|
+
with open(os.environ['SPECKIT_MANIFEST']) as f:
|
|
482
|
+
data = yaml.safe_load(f)
|
|
483
|
+
for t in data.get('provides', {}).get('templates', []):
|
|
484
|
+
if t.get('name') == os.environ['SPECKIT_TMPL'] and t.get('type', 'template') == 'template':
|
|
485
|
+
print(t.get('strategy', 'replace') + '\t' + t.get('file', ''))
|
|
486
|
+
sys.exit(0)
|
|
487
|
+
print('replace\t')
|
|
488
|
+
except Exception:
|
|
489
|
+
print('replace\t')
|
|
490
|
+
" 2>"$py_stderr")
|
|
491
|
+
local parse_status=$?
|
|
492
|
+
if [ $parse_status -eq 0 ] && [ -n "$result" ]; then
|
|
493
|
+
IFS=$'\t' read -r strategy manifest_file <<< "$result"
|
|
494
|
+
strategy=$(printf '%s' "$strategy" | tr '[:upper:]' '[:lower:]')
|
|
495
|
+
fi
|
|
496
|
+
if [ "$yaml_warned" = false ] && grep -q 'yaml_missing' "$py_stderr" 2>/dev/null; then
|
|
497
|
+
echo "Warning: PyYAML not available; composition strategies may be ignored" >&2
|
|
498
|
+
yaml_warned=true
|
|
499
|
+
fi
|
|
500
|
+
rm -f "$py_stderr"
|
|
501
|
+
fi
|
|
502
|
+
# Try manifest file path first, then convention path
|
|
503
|
+
local candidate=""
|
|
504
|
+
if [ -n "$manifest_file" ]; then
|
|
505
|
+
# Reject absolute paths and parent traversal
|
|
506
|
+
case "$manifest_file" in
|
|
507
|
+
/*|*../*|../*) manifest_file="" ;;
|
|
508
|
+
esac
|
|
509
|
+
fi
|
|
510
|
+
if [ -n "$manifest_file" ]; then
|
|
511
|
+
local mf="$presets_dir/$preset_id/$manifest_file"
|
|
512
|
+
[ -f "$mf" ] && candidate="$mf"
|
|
513
|
+
fi
|
|
514
|
+
if [ -z "$candidate" ]; then
|
|
515
|
+
local cf="$presets_dir/$preset_id/templates/${template_name}.md"
|
|
516
|
+
[ -f "$cf" ] && candidate="$cf"
|
|
517
|
+
fi
|
|
518
|
+
if [ -n "$candidate" ]; then
|
|
519
|
+
layer_paths+=("$candidate")
|
|
520
|
+
layer_strategies+=("$strategy")
|
|
521
|
+
fi
|
|
522
|
+
done <<< "$sorted_presets"
|
|
523
|
+
fi
|
|
524
|
+
else
|
|
525
|
+
# python3 failed — fall back to unordered directory scan (replace only)
|
|
526
|
+
for preset in "$presets_dir"/*/; do
|
|
527
|
+
[ -d "$preset" ] || continue
|
|
528
|
+
local candidate="$preset/templates/${template_name}.md"
|
|
529
|
+
if [ -f "$candidate" ]; then
|
|
530
|
+
layer_paths+=("$candidate")
|
|
531
|
+
layer_strategies+=("replace")
|
|
532
|
+
fi
|
|
533
|
+
done
|
|
534
|
+
fi
|
|
535
|
+
else
|
|
536
|
+
# No python3 or registry — fall back to unordered directory scan (replace only)
|
|
537
|
+
for preset in "$presets_dir"/*/; do
|
|
538
|
+
[ -d "$preset" ] || continue
|
|
539
|
+
local candidate="$preset/templates/${template_name}.md"
|
|
540
|
+
if [ -f "$candidate" ]; then
|
|
541
|
+
layer_paths+=("$candidate")
|
|
542
|
+
layer_strategies+=("replace")
|
|
543
|
+
fi
|
|
544
|
+
done
|
|
545
|
+
fi
|
|
546
|
+
fi
|
|
547
|
+
|
|
548
|
+
# Priority 3: Extension-provided templates (always "replace")
|
|
549
|
+
local ext_dir="$repo_root/.adspecs/extensions"
|
|
550
|
+
if [ -d "$ext_dir" ]; then
|
|
551
|
+
for ext in "$ext_dir"/*/; do
|
|
552
|
+
[ -d "$ext" ] || continue
|
|
553
|
+
case "$(basename "$ext")" in .*) continue;; esac
|
|
554
|
+
local candidate="$ext/templates/${template_name}.md"
|
|
555
|
+
if [ -f "$candidate" ]; then
|
|
556
|
+
layer_paths+=("$candidate")
|
|
557
|
+
layer_strategies+=("replace")
|
|
558
|
+
fi
|
|
559
|
+
done
|
|
560
|
+
fi
|
|
561
|
+
|
|
562
|
+
# Priority 4: Core templates (always "replace")
|
|
563
|
+
local core="$base/${template_name}.md"
|
|
564
|
+
if [ -f "$core" ]; then
|
|
565
|
+
layer_paths+=("$core")
|
|
566
|
+
layer_strategies+=("replace")
|
|
567
|
+
fi
|
|
568
|
+
|
|
569
|
+
local count=${#layer_paths[@]}
|
|
570
|
+
[ "$count" -eq 0 ] && return 1
|
|
571
|
+
|
|
572
|
+
# Check if any layer uses a non-replace strategy
|
|
573
|
+
local has_composition=false
|
|
574
|
+
for s in "${layer_strategies[@]}"; do
|
|
575
|
+
[ "$s" != "replace" ] && has_composition=true && break
|
|
576
|
+
done
|
|
577
|
+
|
|
578
|
+
# If the top (highest-priority) layer is replace, it wins entirely —
|
|
579
|
+
# lower layers are irrelevant regardless of their strategies.
|
|
580
|
+
if [ "${layer_strategies[0]}" = "replace" ]; then
|
|
581
|
+
cat "${layer_paths[0]}"
|
|
582
|
+
return 0
|
|
583
|
+
fi
|
|
584
|
+
|
|
585
|
+
if [ "$has_composition" = false ]; then
|
|
586
|
+
cat "${layer_paths[0]}"
|
|
587
|
+
return 0
|
|
588
|
+
fi
|
|
589
|
+
|
|
590
|
+
# Find the effective base: scan from highest priority (index 0) downward
|
|
591
|
+
# to find the nearest replace layer. Only compose layers above that base.
|
|
592
|
+
local base_idx=-1
|
|
593
|
+
local i
|
|
594
|
+
for (( i=0; i<count; i++ )); do
|
|
595
|
+
if [ "${layer_strategies[$i]}" = "replace" ]; then
|
|
596
|
+
base_idx=$i
|
|
597
|
+
break
|
|
598
|
+
fi
|
|
599
|
+
done
|
|
600
|
+
|
|
601
|
+
if [ $base_idx -lt 0 ]; then
|
|
602
|
+
return 1 # no base layer found
|
|
603
|
+
fi
|
|
604
|
+
|
|
605
|
+
# Read the base content; compose layers above the base (higher priority)
|
|
606
|
+
local content
|
|
607
|
+
content=$(cat "${layer_paths[$base_idx]}"; printf x)
|
|
608
|
+
content="${content%x}"
|
|
609
|
+
|
|
610
|
+
for (( i=base_idx-1; i>=0; i-- )); do
|
|
611
|
+
local path="${layer_paths[$i]}"
|
|
612
|
+
local strat="${layer_strategies[$i]}"
|
|
613
|
+
local layer_content
|
|
614
|
+
# Preserve trailing newlines
|
|
615
|
+
layer_content=$(cat "$path"; printf x)
|
|
616
|
+
layer_content="${layer_content%x}"
|
|
617
|
+
|
|
618
|
+
case "$strat" in
|
|
619
|
+
replace) content="$layer_content" ;;
|
|
620
|
+
prepend) content="$(printf '%s\n\n%s' "$layer_content" "$content")" ;;
|
|
621
|
+
append) content="$(printf '%s\n\n%s' "$content" "$layer_content")" ;;
|
|
622
|
+
wrap)
|
|
623
|
+
case "$layer_content" in
|
|
624
|
+
*'{CORE_TEMPLATE}'*) ;;
|
|
625
|
+
*) echo "Error: wrap strategy missing {CORE_TEMPLATE} placeholder" >&2; return 1 ;;
|
|
626
|
+
esac
|
|
627
|
+
while [[ "$layer_content" == *'{CORE_TEMPLATE}'* ]]; do
|
|
628
|
+
local before="${layer_content%%\{CORE_TEMPLATE\}*}"
|
|
629
|
+
local after="${layer_content#*\{CORE_TEMPLATE\}}"
|
|
630
|
+
layer_content="${before}${content}${after}"
|
|
631
|
+
done
|
|
632
|
+
content="$layer_content"
|
|
633
|
+
;;
|
|
634
|
+
*) echo "Error: unknown strategy '$strat'" >&2; return 1 ;;
|
|
635
|
+
esac
|
|
636
|
+
done
|
|
637
|
+
|
|
638
|
+
printf '%s' "$content"
|
|
639
|
+
return 0
|
|
640
|
+
}
|