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,1095 @@
|
|
|
1
|
+
# sie-cloud 项目 Java 后端编码规范
|
|
2
|
+
|
|
3
|
+
> **版本**: v2.0
|
|
4
|
+
> **修订日期**: 2026-05-16
|
|
5
|
+
> **适用范围**: sie-cloud 项目所有 Java 后端模块
|
|
6
|
+
|
|
7
|
+
本规范基于项目实际代码(sie-module-system、sie-module-infra、sie-module-wms)和 sie-framework 框架源码编写,可直接落地、团队通用。
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## 一、项目约定
|
|
12
|
+
|
|
13
|
+
### 1.1 技术栈
|
|
14
|
+
|
|
15
|
+
| 组件 | 版本 |
|
|
16
|
+
| -------------------- | -------- |
|
|
17
|
+
| Java | JDK 21 |
|
|
18
|
+
| Spring Boot | 3.5.13 |
|
|
19
|
+
| Spring Cloud | 2025.0.0 |
|
|
20
|
+
| Spring Cloud Alibaba | 2025.0.0 |
|
|
21
|
+
| MyBatis Plus | 3.5.15 |
|
|
22
|
+
| Redis + Redisson | 3.52.0 |
|
|
23
|
+
| Flowable | 7.2.0 |
|
|
24
|
+
| MapStruct | 1.6.3 |
|
|
25
|
+
| Knife4j | 4.5.0 |
|
|
26
|
+
| Lombok | 1.18.42 |
|
|
27
|
+
|
|
28
|
+
### 1.2 基础约定
|
|
29
|
+
|
|
30
|
+
- **ID 类型**: 统一使用 `Long`(自增主键),不使用 UUID
|
|
31
|
+
- **时间类型**: 统一使用 `LocalDateTime`,不使用 `Date`/`Instant`
|
|
32
|
+
- **依赖注入**: 统一使用 `@Resource`(Jakarta),不使用 `@Autowired`
|
|
33
|
+
- **对象命名**: DO(数据对象)替代 PO,继承 BaseDO/TenantBaseDO
|
|
34
|
+
- **审计字段**: createTime/updateTime/creator/updater/deleted 由框架自动填充,无需手动维护
|
|
35
|
+
- **对象转换**: 简单转换使用 `BeanUtils.toBean()`,复杂映射使用 MapStruct
|
|
36
|
+
- **分页返回**: 使用 `PageResult<T>`,分页参数继承 `PageParam`
|
|
37
|
+
- **异常抛出**: 使用 `ServiceExceptionUtil.exception(ErrorCodeConstants.XXX)`
|
|
38
|
+
- **数据翻译**: 使用 `@TransMethodResult` + Easy-Trans 自动翻译关联字段
|
|
39
|
+
- **租户隔离**: 使用 `TenantBaseDO` + 框架自动过滤,跨租户查询加 `@TenantIgnore`
|
|
40
|
+
- **错误码段**: `1_XXX_YYY_ZZZ`(XXX 为模块编号,如 System=002, Infra=001, WMS=060)
|
|
41
|
+
|
|
42
|
+
### 1.3 模块结构
|
|
43
|
+
|
|
44
|
+
每个业务模块采用 `-api` + `-server` 双模块结构:
|
|
45
|
+
|
|
46
|
+
```
|
|
47
|
+
sie-module-xxx/
|
|
48
|
+
├── sie-module-xxx-api/ # 跨模块 RPC 接口 + DTO + 枚举 + 错误码
|
|
49
|
+
│ └── com.sie.cloud.module.xxx/
|
|
50
|
+
│ ├── api/ # @FeignClient 接口定义
|
|
51
|
+
│ ├── dto/ # RPC 传输 DTO
|
|
52
|
+
│ └── enums/ # ErrorCodeConstants、业务枚举
|
|
53
|
+
└── sie-module-xxx-server/ # 服务实现
|
|
54
|
+
└── com.sie.cloud.module.xxx/
|
|
55
|
+
├── controller/admin/ # 管理端 REST(自动添加 /admin-api 前缀)
|
|
56
|
+
│ └── {domain}/vo/ # VO 定义(按业务域子目录)
|
|
57
|
+
├── controller/app/ # C 端 API(自动添加 /app-api 前缀)
|
|
58
|
+
├── service/{domain}/ # Service 接口 + Impl
|
|
59
|
+
├── dal/dataobject/{domain}/ # DO 实体
|
|
60
|
+
├── dal/mysql/{domain}/ # MyBatis Plus Mapper
|
|
61
|
+
├── convert/ # MapStruct 转换器
|
|
62
|
+
├── api/ # RPC API 实现(@RestController)
|
|
63
|
+
└── framework/config/ # 模块配置(SecurityConfiguration 等)
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
---
|
|
67
|
+
|
|
68
|
+
## 二、命名规范
|
|
69
|
+
|
|
70
|
+
### 2.1 包名
|
|
71
|
+
|
|
72
|
+
全部使用小写字母,单词之间用小数点分隔,禁止使用下划线、大写字母。
|
|
73
|
+
|
|
74
|
+
格式:`com.sie.cloud.module.{module}.{layer}.{domain}`
|
|
75
|
+
|
|
76
|
+
示例:
|
|
77
|
+
- `com.sie.cloud.module.wms.controller.admin.warehouse`
|
|
78
|
+
- `com.sie.cloud.module.wms.dal.dataobject`
|
|
79
|
+
- `com.sie.cloud.module.wms.service.warehouse`
|
|
80
|
+
- `com.sie.cloud.module.wms.dal.mysql`
|
|
81
|
+
- `com.sie.cloud.module.wms.enums`
|
|
82
|
+
|
|
83
|
+
### 2.2 类名
|
|
84
|
+
|
|
85
|
+
采用大驼峰命名法,望文知意,后缀明确:
|
|
86
|
+
|
|
87
|
+
| 类型 | 后缀 | 示例 |
|
|
88
|
+
| ---------------- | -------------------- | -------------------------------------------- |
|
|
89
|
+
| Controller | `Controller` | `WmsWarehouseController` |
|
|
90
|
+
| Service 接口 | `Service` | `WmsWarehouseService`(不加 `I` 前缀) |
|
|
91
|
+
| Service 实现 | `ServiceImpl` | `WmsWarehouseServiceImpl` |
|
|
92
|
+
| Mapper | `Mapper` | `WmsWarehouseMapper` |
|
|
93
|
+
| DO 实体 | `DO` | `WmsWarehouseDO`(继承 BaseDO/TenantBaseDO) |
|
|
94
|
+
| 创建/更新请求 | `SaveReqVO` | `WarehouseSaveReqVO` |
|
|
95
|
+
| 分页查询请求 | `PageReqVO` | `WarehousePageReqVO` |
|
|
96
|
+
| 列表查询请求 | `ListReqVO` | `DeptListReqVO` |
|
|
97
|
+
| 响应对象 | `RespVO` | `WarehouseRespVO` |
|
|
98
|
+
| 精简响应 | `SimpleRespVO` | `WarehouseSimpleRespVO` |
|
|
99
|
+
| RPC DTO | `ReqDTO` / `RespDTO` | `AdminUserRespDTO`(位于 -api 模块) |
|
|
100
|
+
| 枚举 | `Enum` | `WmsOrgStatusEnum` |
|
|
101
|
+
| MapStruct 转换器 | `Convert` | `ConfigConvert` |
|
|
102
|
+
|
|
103
|
+
### 2.3 方法名
|
|
104
|
+
|
|
105
|
+
采用小驼峰命名法,以动词开头:
|
|
106
|
+
|
|
107
|
+
| 操作 | 命名 | 示例 |
|
|
108
|
+
| -------- | ------------------------------------------------ | ------------------------------------------------ |
|
|
109
|
+
| 创建 | `create{Entity}` | `createWarehouse` |
|
|
110
|
+
| 更新 | `update{Entity}` | `updateWarehouse` |
|
|
111
|
+
| 删除 | `delete{Entity}` | `deleteWarehouse` |
|
|
112
|
+
| 批量删除 | `delete{Entity}List` / `delete{Entity}ListByIds` | `deleteWarehouseListByIds` |
|
|
113
|
+
| 获得单个 | `get{Entity}` | `getWarehouse` |
|
|
114
|
+
| 分页查询 | `get{Entity}Page` | `getWarehousePage` |
|
|
115
|
+
| 列表查询 | `get{Entity}List` | `getSimpleList` |
|
|
116
|
+
| 状态修改 | `{action}{Entity}` | `enableWarehouse` / `disableWarehouse` |
|
|
117
|
+
| 校验方法 | `validate{Condition}` | `validateWarehouseExists` / `validateCodeUnique` |
|
|
118
|
+
|
|
119
|
+
### 2.4 变量名
|
|
120
|
+
|
|
121
|
+
采用小驼峰命名法,语义清晰,禁止拼音、单字母、无意义缩写。
|
|
122
|
+
|
|
123
|
+
- 正确:`warehouseCode`、`createTime`、`orgId`
|
|
124
|
+
- 错误:`a`、`abc`、`ckbm`、`czsj`
|
|
125
|
+
|
|
126
|
+
### 2.5 常量名
|
|
127
|
+
|
|
128
|
+
全部大写,单词之间用下划线分隔,集中定义在 `ErrorCodeConstants` 或常量类中,禁止魔法值。
|
|
129
|
+
|
|
130
|
+
示例:`WAREHOUSE_NOT_EXISTS`、`MAX_PAGE_SIZE`
|
|
131
|
+
|
|
132
|
+
---
|
|
133
|
+
|
|
134
|
+
## 三、API 接口规范
|
|
135
|
+
|
|
136
|
+
### 3.1 请求路径
|
|
137
|
+
|
|
138
|
+
项目采用**路径动词风格**,不依赖 HTTP method 区分操作:
|
|
139
|
+
|
|
140
|
+
| 操作 | 路径 | HTTP Method |
|
|
141
|
+
| -------- | ----------------------------- | ----------- |
|
|
142
|
+
| 创建 | `/wms/warehouse/create` | POST |
|
|
143
|
+
| 更新 | `/wms/warehouse/update` | PUT |
|
|
144
|
+
| 删除 | `/wms/warehouse/delete` | DELETE |
|
|
145
|
+
| 批量删除 | `/wms/warehouse/delete-list` | DELETE |
|
|
146
|
+
| 获得单个 | `/wms/warehouse/get` | GET |
|
|
147
|
+
| 分页查询 | `/wms/warehouse/page` | GET |
|
|
148
|
+
| 列表查询 | `/wms/warehouse/list` | GET |
|
|
149
|
+
| 导出 | `/wms/warehouse/export-excel` | GET |
|
|
150
|
+
| 其他操作 | `/wms/warehouse/{action}` | PUT/GET |
|
|
151
|
+
|
|
152
|
+
路径规则:
|
|
153
|
+
- 全部使用小写字母,单词之间用中横线分隔
|
|
154
|
+
- `@RequestMapping("/wms/warehouse")` 不包含 `/admin-api` 或 `/app-api` 前缀
|
|
155
|
+
- `controller/admin/` 下的类由框架自动添加 `/admin-api` 前缀
|
|
156
|
+
- `controller/app/` 下的类自动添加 `/app-api` 前缀
|
|
157
|
+
- Gateway 负责路由转发
|
|
158
|
+
|
|
159
|
+
### 3.2 接口返回格式
|
|
160
|
+
|
|
161
|
+
所有接口返回统一使用 `CommonResult<T>`:
|
|
162
|
+
|
|
163
|
+
```java
|
|
164
|
+
// 成功
|
|
165
|
+
return success(data); // CommonResult<Long>
|
|
166
|
+
return success(true); // CommonResult<Boolean>
|
|
167
|
+
return success(BeanUtils.toBean(warehouse, WarehouseRespVO.class)); // CommonResult<WarehouseRespVO>
|
|
168
|
+
return success(BeanUtils.toBean(pageResult, WarehouseRespVO.class)); // CommonResult<PageResult<WarehouseRespVO>>
|
|
169
|
+
|
|
170
|
+
// 失败(通过框架全局异常处理自动返回)
|
|
171
|
+
throw exception(WAREHOUSE_NOT_EXISTS); // CommonResult.error(code, msg)
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
`CommonResult` 结构:
|
|
175
|
+
- `code`(Integer)— 状态码,使用 `ErrorCode` 对象
|
|
176
|
+
- `msg`(String)— 提示信息
|
|
177
|
+
- `data`(T)— 业务数据
|
|
178
|
+
|
|
179
|
+
### 3.3 错误码体系
|
|
180
|
+
|
|
181
|
+
错误码定义在 `-api` 模块的 `ErrorCodeConstants` **接口**中:
|
|
182
|
+
|
|
183
|
+
```java
|
|
184
|
+
package com.sie.cloud.module.wms.enums;
|
|
185
|
+
|
|
186
|
+
import com.sie.cloud.framework.common.exception.ErrorCode;
|
|
187
|
+
|
|
188
|
+
public interface ErrorCodeConstants {
|
|
189
|
+
|
|
190
|
+
// ========== 仓库 1-060-003-000 ==========
|
|
191
|
+
ErrorCode WAREHOUSE_NOT_EXISTS = new ErrorCode(1_060_003_000, "仓库不存在");
|
|
192
|
+
ErrorCode WAREHOUSE_CODE_DUPLICATE = new ErrorCode(1_060_003_001, "仓库编码已存在");
|
|
193
|
+
ErrorCode WAREHOUSE_HAS_ZONES = new ErrorCode(1_060_003_002, "仓库下存在库区,不允许删除");
|
|
194
|
+
}
|
|
195
|
+
```
|
|
196
|
+
|
|
197
|
+
格式:`1_XXX_YYY_ZZZ`(Java 下划线数字字面量)
|
|
198
|
+
- `1` = 业务模块前缀
|
|
199
|
+
- `XXX` = 模块编号(System=002, Infra=001, WMS=060, Coding=070, AI=040, BPM=003)
|
|
200
|
+
- `YYY` = 子模块编号
|
|
201
|
+
- `ZZZ` = 子模块内序号
|
|
202
|
+
|
|
203
|
+
错误消息支持 `{}` 占位符:
|
|
204
|
+
```java
|
|
205
|
+
ErrorCode DEPT_ORG_CODE_DUPLICATE = new ErrorCode(1_002_004_008, "已经存在编码为【{}】的组织");
|
|
206
|
+
// 使用:throw exception(DEPT_ORG_CODE_DUPLICATE, orgCode);
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
### 3.4 权限控制
|
|
210
|
+
|
|
211
|
+
使用 `@PreAuthorize("@ss.hasPermission('module:resource:action')")`:
|
|
212
|
+
|
|
213
|
+
```java
|
|
214
|
+
@PreAuthorize("@ss.hasPermission('wms:warehouse:create')") // 创建
|
|
215
|
+
@PreAuthorize("@ss.hasPermission('wms:warehouse:update')") // 修改
|
|
216
|
+
@PreAuthorize("@ss.hasPermission('wms:warehouse:delete')") // 删除
|
|
217
|
+
@PreAuthorize("@ss.hasPermission('wms:warehouse:query')") // 查询
|
|
218
|
+
@PreAuthorize("@ss.hasPermission('wms:warehouse:export')") // 导出
|
|
219
|
+
```
|
|
220
|
+
|
|
221
|
+
### 3.5 API 文档注解
|
|
222
|
+
|
|
223
|
+
使用 SpringDoc(OpenAPI 3)注解:
|
|
224
|
+
|
|
225
|
+
```java
|
|
226
|
+
// Controller 类级别
|
|
227
|
+
@Tag(name = "管理后台 - WMS 仓库")
|
|
228
|
+
|
|
229
|
+
// 方法级别
|
|
230
|
+
@Operation(summary = "创建仓库")
|
|
231
|
+
|
|
232
|
+
// 参数级别
|
|
233
|
+
@Parameter(name = "id", description = "编号", required = true, example = "1024")
|
|
234
|
+
|
|
235
|
+
// VO 类级别
|
|
236
|
+
@Schema(description = "管理后台 - WMS 仓库新增/修改 Request VO")
|
|
237
|
+
|
|
238
|
+
// VO 字段级别
|
|
239
|
+
@Schema(description = "仓库编码", requiredMode = Schema.RequiredMode.REQUIRED, example = "WH001")
|
|
240
|
+
```
|
|
241
|
+
|
|
242
|
+
---
|
|
243
|
+
|
|
244
|
+
## 四、Controller 层规范
|
|
245
|
+
|
|
246
|
+
### 4.1 标准写法
|
|
247
|
+
|
|
248
|
+
```java
|
|
249
|
+
package com.sie.cloud.module.wms.controller.admin.warehouse;
|
|
250
|
+
|
|
251
|
+
import com.sie.cloud.framework.common.pojo.CommonResult;
|
|
252
|
+
import com.sie.cloud.framework.common.pojo.PageResult;
|
|
253
|
+
import com.sie.cloud.framework.common.util.object.BeanUtils;
|
|
254
|
+
import com.sie.cloud.module.wms.controller.admin.vo.warehouse.WarehousePageReqVO;
|
|
255
|
+
import com.sie.cloud.module.wms.controller.admin.vo.warehouse.WarehouseRespVO;
|
|
256
|
+
import com.sie.cloud.module.wms.controller.admin.vo.warehouse.WarehouseSaveReqVO;
|
|
257
|
+
import com.sie.cloud.module.wms.dal.dataobject.WmsWarehouseDO;
|
|
258
|
+
import com.sie.cloud.module.wms.service.warehouse.WmsWarehouseService;
|
|
259
|
+
import io.swagger.v3.oas.annotations.Operation;
|
|
260
|
+
import io.swagger.v3.oas.annotations.Parameter;
|
|
261
|
+
import io.swagger.v3.oas.annotations.tags.Tag;
|
|
262
|
+
import jakarta.annotation.Resource;
|
|
263
|
+
import jakarta.validation.Valid;
|
|
264
|
+
import org.springframework.security.access.prepost.PreAuthorize;
|
|
265
|
+
import org.springframework.validation.annotation.Validated;
|
|
266
|
+
import org.springframework.web.bind.annotation.*;
|
|
267
|
+
|
|
268
|
+
import static com.sie.cloud.framework.common.pojo.CommonResult.success;
|
|
269
|
+
|
|
270
|
+
@Tag(name = "管理后台 - WMS 仓库")
|
|
271
|
+
@RestController
|
|
272
|
+
@RequestMapping("/wms/warehouse")
|
|
273
|
+
@Validated
|
|
274
|
+
public class WmsWarehouseController {
|
|
275
|
+
|
|
276
|
+
@Resource
|
|
277
|
+
private WmsWarehouseService warehouseService;
|
|
278
|
+
|
|
279
|
+
@PostMapping("/create")
|
|
280
|
+
@Operation(summary = "创建仓库")
|
|
281
|
+
@PreAuthorize("@ss.hasPermission('wms:warehouse:create')")
|
|
282
|
+
public CommonResult<Long> createWarehouse(@Valid @RequestBody WarehouseSaveReqVO createReqVO) {
|
|
283
|
+
return success(warehouseService.createWarehouse(createReqVO));
|
|
284
|
+
}
|
|
285
|
+
|
|
286
|
+
@PutMapping("/update")
|
|
287
|
+
@Operation(summary = "更新仓库")
|
|
288
|
+
@PreAuthorize("@ss.hasPermission('wms:warehouse:update')")
|
|
289
|
+
public CommonResult<Boolean> updateWarehouse(@Valid @RequestBody WarehouseSaveReqVO updateReqVO) {
|
|
290
|
+
warehouseService.updateWarehouse(updateReqVO);
|
|
291
|
+
return success(true);
|
|
292
|
+
}
|
|
293
|
+
|
|
294
|
+
@DeleteMapping("/delete")
|
|
295
|
+
@Operation(summary = "删除仓库")
|
|
296
|
+
@Parameter(name = "id", description = "编号", required = true)
|
|
297
|
+
@PreAuthorize("@ss.hasPermission('wms:warehouse:delete')")
|
|
298
|
+
public CommonResult<Boolean> deleteWarehouse(@RequestParam("id") Long id) {
|
|
299
|
+
warehouseService.deleteWarehouse(id);
|
|
300
|
+
return success(true);
|
|
301
|
+
}
|
|
302
|
+
|
|
303
|
+
@GetMapping("/get")
|
|
304
|
+
@Operation(summary = "获得仓库")
|
|
305
|
+
@Parameter(name = "id", description = "编号", required = true, example = "1024")
|
|
306
|
+
@PreAuthorize("@ss.hasPermission('wms:warehouse:query')")
|
|
307
|
+
public CommonResult<WarehouseRespVO> getWarehouse(@RequestParam("id") Long id) {
|
|
308
|
+
WmsWarehouseDO warehouse = warehouseService.getWarehouse(id);
|
|
309
|
+
return success(BeanUtils.toBean(warehouse, WarehouseRespVO.class));
|
|
310
|
+
}
|
|
311
|
+
|
|
312
|
+
@GetMapping("/page")
|
|
313
|
+
@Operation(summary = "获得仓库分页")
|
|
314
|
+
@PreAuthorize("@ss.hasPermission('wms:warehouse:query')")
|
|
315
|
+
public CommonResult<PageResult<WarehouseRespVO>> getWarehousePage(@Valid WarehousePageReqVO pageReqVO) {
|
|
316
|
+
PageResult<WmsWarehouseDO> pageResult = warehouseService.getWarehousePage(pageReqVO);
|
|
317
|
+
return success(BeanUtils.toBean(pageResult, WarehouseRespVO.class));
|
|
318
|
+
}
|
|
319
|
+
}
|
|
320
|
+
```
|
|
321
|
+
|
|
322
|
+
### 4.2 禁止事项
|
|
323
|
+
|
|
324
|
+
1. 禁止在 Controller 层编写任何业务逻辑(参数处理、数据转换、数据库操作)
|
|
325
|
+
2. 禁止直接返回 `Map`、`Object`、`List` 等未封装对象,必须使用 `CommonResult`
|
|
326
|
+
3. 禁止不做参数校验(POST/PUT 必须加 `@Valid @RequestBody`,GET 加 `@Valid`)
|
|
327
|
+
4. 禁止使用 `@Autowired` 注入,统一使用 `@Resource`
|
|
328
|
+
5. 禁止接口路径包含 `/admin-api` 或 `/app-api` 前缀(由框架自动添加)
|
|
329
|
+
|
|
330
|
+
---
|
|
331
|
+
|
|
332
|
+
## 五、Service 层规范
|
|
333
|
+
|
|
334
|
+
### 5.1 接口与实现分离
|
|
335
|
+
|
|
336
|
+
```java
|
|
337
|
+
// Service 接口(不加注解)
|
|
338
|
+
public interface WmsWarehouseService {
|
|
339
|
+
|
|
340
|
+
Long createWarehouse(WarehouseSaveReqVO createReqVO);
|
|
341
|
+
|
|
342
|
+
void updateWarehouse(WarehouseSaveReqVO updateReqVO);
|
|
343
|
+
|
|
344
|
+
void deleteWarehouse(Long id);
|
|
345
|
+
|
|
346
|
+
WmsWarehouseDO getWarehouse(Long id);
|
|
347
|
+
|
|
348
|
+
PageResult<WmsWarehouseDO> getWarehousePage(WarehousePageReqVO pageReqVO);
|
|
349
|
+
}
|
|
350
|
+
|
|
351
|
+
// Service 实现类
|
|
352
|
+
@Service
|
|
353
|
+
@Validated
|
|
354
|
+
@Slf4j
|
|
355
|
+
public class WmsWarehouseServiceImpl implements WmsWarehouseService {
|
|
356
|
+
|
|
357
|
+
@Resource
|
|
358
|
+
private WmsWarehouseMapper warehouseMapper;
|
|
359
|
+
|
|
360
|
+
@Override
|
|
361
|
+
public Long createWarehouse(WarehouseSaveReqVO createReqVO) {
|
|
362
|
+
validateCodeUnique(null, createReqVO.getCode());
|
|
363
|
+
WmsWarehouseDO warehouse = BeanUtils.toBean(createReqVO, WmsWarehouseDO.class);
|
|
364
|
+
warehouseMapper.insert(warehouse);
|
|
365
|
+
return warehouse.getId();
|
|
366
|
+
}
|
|
367
|
+
|
|
368
|
+
@Override
|
|
369
|
+
public void updateWarehouse(WarehouseSaveReqVO updateReqVO) {
|
|
370
|
+
validateExists(updateReqVO.getId());
|
|
371
|
+
validateCodeUnique(updateReqVO.getId(), updateReqVO.getCode());
|
|
372
|
+
WmsWarehouseDO updateObj = BeanUtils.toBean(updateReqVO, WmsWarehouseDO.class);
|
|
373
|
+
warehouseMapper.updateById(updateObj);
|
|
374
|
+
}
|
|
375
|
+
|
|
376
|
+
@Override
|
|
377
|
+
public void deleteWarehouse(Long id) {
|
|
378
|
+
WmsWarehouseDO warehouse = validateExists(id);
|
|
379
|
+
if (!WmsOrgStatusEnum.PENDING.getStatus().equals(warehouse.getStatus())) {
|
|
380
|
+
throw exception(WAREHOUSE_STATUS_INVALID);
|
|
381
|
+
}
|
|
382
|
+
warehouseMapper.deleteById(id);
|
|
383
|
+
}
|
|
384
|
+
|
|
385
|
+
@Override
|
|
386
|
+
public WmsWarehouseDO getWarehouse(Long id) {
|
|
387
|
+
return warehouseMapper.selectById(id);
|
|
388
|
+
}
|
|
389
|
+
|
|
390
|
+
@Override
|
|
391
|
+
public PageResult<WmsWarehouseDO> getWarehousePage(WarehousePageReqVO pageReqVO) {
|
|
392
|
+
return warehouseMapper.selectPage(pageReqVO, new LambdaQueryWrapperX<WmsWarehouseDO>()
|
|
393
|
+
.likeIfPresent(WmsWarehouseDO::getCode, pageReqVO.getCode())
|
|
394
|
+
.likeIfPresent(WmsWarehouseDO::getName, pageReqVO.getName())
|
|
395
|
+
.eqIfPresent(WmsWarehouseDO::getOrgId, pageReqVO.getOrgId())
|
|
396
|
+
.orderByDesc(WmsWarehouseDO::getId));
|
|
397
|
+
}
|
|
398
|
+
|
|
399
|
+
// ====== 私有校验方法 ======
|
|
400
|
+
|
|
401
|
+
private WmsWarehouseDO validateExists(Long id) {
|
|
402
|
+
WmsWarehouseDO warehouse = warehouseMapper.selectById(id);
|
|
403
|
+
if (warehouse == null) {
|
|
404
|
+
throw exception(WAREHOUSE_NOT_EXISTS);
|
|
405
|
+
}
|
|
406
|
+
return warehouse;
|
|
407
|
+
}
|
|
408
|
+
|
|
409
|
+
private void validateCodeUnique(Long id, String code) {
|
|
410
|
+
WmsWarehouseDO warehouse = warehouseMapper.selectOne(WmsWarehouseDO::getCode, code);
|
|
411
|
+
if (warehouse == null) return;
|
|
412
|
+
if (id == null || !id.equals(warehouse.getId())) {
|
|
413
|
+
throw exception(WAREHOUSE_CODE_DUPLICATE);
|
|
414
|
+
}
|
|
415
|
+
}
|
|
416
|
+
}
|
|
417
|
+
```
|
|
418
|
+
|
|
419
|
+
**关键约定**:
|
|
420
|
+
- Service 方法直接接收 `SaveReqVO`/`PageReqVO`,返回 `DO` 对象(不是 RespVO)
|
|
421
|
+
- Controller 层负责 DO → RespVO 转换
|
|
422
|
+
- 接口无需注解,实现类加 `@Service` + `@Validated` + `@Slf4j`
|
|
423
|
+
- 私有校验方法使用 `throw exception(ErrorCodeConstants.XXX)` 抛出异常
|
|
424
|
+
|
|
425
|
+
### 5.2 事务管理
|
|
426
|
+
|
|
427
|
+
- 涉及多表操作的方法加 `@Transactional(rollbackFor = Exception.class)`
|
|
428
|
+
- 单表 CRUD 不需要事务注解
|
|
429
|
+
- 主子表场景下代码生成器自动添加事务注解
|
|
430
|
+
|
|
431
|
+
### 5.3 禁止事项
|
|
432
|
+
|
|
433
|
+
1. 禁止 Service 层直接接收 HTTP 请求、返回响应
|
|
434
|
+
2. 禁止 Service 层跳过 Mapper 层直接编写 SQL 操作数据库
|
|
435
|
+
3. 禁止未加事务注解的多表修改操作
|
|
436
|
+
4. 禁止手动设置审计字段(createTime/updateTime 等由框架自动填充)
|
|
437
|
+
|
|
438
|
+
---
|
|
439
|
+
|
|
440
|
+
## 六、Mapper/数据库规范
|
|
441
|
+
|
|
442
|
+
### 6.1 Mapper 接口
|
|
443
|
+
|
|
444
|
+
```java
|
|
445
|
+
package com.sie.cloud.module.wms.dal.mysql;
|
|
446
|
+
|
|
447
|
+
import com.sie.cloud.framework.mybatis.core.mapper.BaseMapperX;
|
|
448
|
+
import com.sie.cloud.module.wms.dal.dataobject.WmsWarehouseDO;
|
|
449
|
+
import org.apache.ibatis.annotations.Mapper;
|
|
450
|
+
|
|
451
|
+
import java.util.List;
|
|
452
|
+
|
|
453
|
+
@Mapper
|
|
454
|
+
public interface WmsWarehouseMapper extends BaseMapperX<WmsWarehouseDO> {
|
|
455
|
+
|
|
456
|
+
default List<WmsWarehouseDO> selectListByOrgId(Long orgId) {
|
|
457
|
+
return selectList(WmsWarehouseDO::getOrgId, orgId);
|
|
458
|
+
}
|
|
459
|
+
|
|
460
|
+
default Long selectCountByOrgId(Long orgId) {
|
|
461
|
+
return selectCount(WmsWarehouseDO::getOrgId, orgId);
|
|
462
|
+
}
|
|
463
|
+
}
|
|
464
|
+
```
|
|
465
|
+
|
|
466
|
+
**关键约定**:
|
|
467
|
+
- 继承 `BaseMapperX<DO>`(扩展自 `MPJBaseMapper<T>`,支持 MyBatis Plus Join)
|
|
468
|
+
- 接口加 `@Mapper` 注解
|
|
469
|
+
- 位于 `dal/mysql/{domain}/` 目录
|
|
470
|
+
- 自定义方法使用 `default` 方法 + `LambdaQueryWrapperX` 链式 API
|
|
471
|
+
|
|
472
|
+
### 6.2 LambdaQueryWrapperX 链式 API
|
|
473
|
+
|
|
474
|
+
优先使用 `LambdaQueryWrapperX`,不手写 SQL:
|
|
475
|
+
|
|
476
|
+
```java
|
|
477
|
+
default PageResult<ConfigDO> selectPage(ConfigPageReqVO reqVO) {
|
|
478
|
+
return selectPage(reqVO, new LambdaQueryWrapperX<ConfigDO>()
|
|
479
|
+
.likeIfPresent(ConfigDO::getConfigName, reqVO.getConfigName())
|
|
480
|
+
.eqIfPresent(ConfigDO::getConfigKey, reqVO.getConfigKey())
|
|
481
|
+
.eqIfPresent(ConfigDO::getType, reqVO.getType())
|
|
482
|
+
.betweenIfPresent(ConfigDO::getCreateTime, reqVO.getCreateTime())
|
|
483
|
+
.orderByDesc(ConfigDO::getId));
|
|
484
|
+
}
|
|
485
|
+
```
|
|
486
|
+
|
|
487
|
+
常用条件方法:
|
|
488
|
+
|
|
489
|
+
| 方法 | 说明 |
|
|
490
|
+
| ------------------------------------------------------- | ---------------------------- |
|
|
491
|
+
| `likeIfPresent(column, value)` | 模糊匹配(值非空时才加条件) |
|
|
492
|
+
| `eqIfPresent(column, value)` | 精确匹配 |
|
|
493
|
+
| `betweenIfPresent(column, val1, val2)` | 区间匹配 |
|
|
494
|
+
| `inIfPresent(column, collection)` | IN 匹配 |
|
|
495
|
+
| `neIfPresent(column, value)` | 不等匹配 |
|
|
496
|
+
| `gtIfPresent / geIfPresent / ltIfPresent / leIfPresent` | 大小写比较 |
|
|
497
|
+
| `orderByDesc(column)` | 降序排序 |
|
|
498
|
+
| `orderByAsc(column)` | 升序排序 |
|
|
499
|
+
|
|
500
|
+
### 6.3 BaseMapperX 内置方法
|
|
501
|
+
|
|
502
|
+
| 方法 | 说明 |
|
|
503
|
+
| ------------------------------------------- | ---------------------------------------- |
|
|
504
|
+
| `selectOne(field, value)` | 单字段精确查询,返回一条 |
|
|
505
|
+
| `selectOne(field1, value1, field2, value2)` | 多字段精确查询 |
|
|
506
|
+
| `selectCount(field, value)` | 计数查询 |
|
|
507
|
+
| `selectList(field, value)` | 单字段列表查询 |
|
|
508
|
+
| `selectList(Wrapper)` | Wrapper 条件查询 |
|
|
509
|
+
| `selectPage(PageParam, Wrapper)` | 分页查询,支持 `PAGE_SIZE_NONE` 返回全部 |
|
|
510
|
+
| `insert(entity)` | 插入单条 |
|
|
511
|
+
| `insertBatch(Collection)` | 批量插入 |
|
|
512
|
+
| `updateById(entity)` | 根据 ID 更新 |
|
|
513
|
+
| `updateBatch(Collection)` | 批量更新 |
|
|
514
|
+
| `deleteById(id)` | 根据 ID 删除 |
|
|
515
|
+
| `deleteBatch(Collection)` | 批量删除 |
|
|
516
|
+
|
|
517
|
+
### 6.4 DO 实体
|
|
518
|
+
|
|
519
|
+
```java
|
|
520
|
+
package com.sie.cloud.module.wms.dal.dataobject;
|
|
521
|
+
|
|
522
|
+
import com.sie.cloud.framework.tenant.core.db.TenantBaseDO;
|
|
523
|
+
import com.baomidou.mybatisplus.annotation.KeySequence;
|
|
524
|
+
import com.baomidou.mybatisplus.annotation.TableId;
|
|
525
|
+
import com.baomidou.mybatisplus.annotation.TableName;
|
|
526
|
+
import lombok.*;
|
|
527
|
+
|
|
528
|
+
@TableName("wms_warehouse")
|
|
529
|
+
@KeySequence("wms_warehouse_seq")
|
|
530
|
+
@Data
|
|
531
|
+
@EqualsAndHashCode(callSuper = true)
|
|
532
|
+
@ToString(callSuper = true)
|
|
533
|
+
@Builder
|
|
534
|
+
@NoArgsConstructor
|
|
535
|
+
@AllArgsConstructor
|
|
536
|
+
public class WmsWarehouseDO extends TenantBaseDO {
|
|
537
|
+
|
|
538
|
+
@TableId
|
|
539
|
+
private Long id;
|
|
540
|
+
private String code;
|
|
541
|
+
private String name;
|
|
542
|
+
private Long orgId;
|
|
543
|
+
// 其他字段... 不需要 @TableField,MyBatis Plus 自动驼峰转下划线
|
|
544
|
+
}
|
|
545
|
+
```
|
|
546
|
+
|
|
547
|
+
**关键约定**:
|
|
548
|
+
- 命名:`{Entity}DO`,位于 `dal/dataobject/{domain}/` 目录
|
|
549
|
+
- 基类:`BaseDO`(标准)或 `TenantBaseDO`(多租户)
|
|
550
|
+
- 字段默认使用 camelCase,MyBatis Plus 自动映射为 snake_case,**不需要 `@TableField`**
|
|
551
|
+
- 审计字段(createTime/updateTime/creator/updater/deleted)由 `BaseDO` 基类提供
|
|
552
|
+
- 多租户字段(tenantId)由 `TenantBaseDO` 基类提供,需用引用`
|
|
553
|
+
import com.sie.cloud.framework.tenant.core.db.TenantBaseDO;`
|
|
554
|
+
|
|
555
|
+
### 6.5 BaseDO 提供的字段
|
|
556
|
+
|
|
557
|
+
| 字段 | 类型 | 说明 |
|
|
558
|
+
| ------------ | --------------- | -------------------------------------------- |
|
|
559
|
+
| `createTime` | `LocalDateTime` | `@TableField(fill = INSERT)` 自动填充 |
|
|
560
|
+
| `updateTime` | `LocalDateTime` | `@TableField(fill = INSERT_UPDATE)` 自动填充 |
|
|
561
|
+
| `creator` | `String` | `@TableField(fill = INSERT)` 自动填充 |
|
|
562
|
+
| `updater` | `String` | `@TableField(fill = INSERT_UPDATE)` 自动填充 |
|
|
563
|
+
| `deleted` | `Boolean` | `@TableLogic` 逻辑删除 |
|
|
564
|
+
|
|
565
|
+
### 6.6 TenantBaseDO 提供的字段
|
|
566
|
+
|
|
567
|
+
`TenantBaseDO` 继承自 `BaseDO`,额外提供以下字段:
|
|
568
|
+
|
|
569
|
+
| 字段 | 类型 | 说明 |
|
|
570
|
+
| ---------- | ------ | ---------------------------------------------------------- |
|
|
571
|
+
| `tenantId` | `Long` | 租户编号,框架自动填充并过滤,跨租户查询加 `@TenantIgnore` |
|
|
572
|
+
|
|
573
|
+
需要多租户隔离的 DO 继承 `TenantBaseDO`,引入路径:
|
|
574
|
+
|
|
575
|
+
```java
|
|
576
|
+
import com.sie.cloud.framework.tenant.core.db.TenantBaseDO;
|
|
577
|
+
```
|
|
578
|
+
|
|
579
|
+
### 6.7 数据库表规范
|
|
580
|
+
|
|
581
|
+
- 表名:小写字母 + 下划线,语义清晰,如 `wms_warehouse`、`system_dept`
|
|
582
|
+
- 字段名:小写字母 + 下划线,与 DO 实体 camelCase 对应
|
|
583
|
+
- 主键:`id`(`BIGINT` 自增)
|
|
584
|
+
- 不需要手动定义 `create_time`、`update_time`、`is_deleted` 字段(由 BaseDO 管理)
|
|
585
|
+
|
|
586
|
+
### 6.7 SQL 规范
|
|
587
|
+
|
|
588
|
+
- 优先使用 `LambdaQueryWrapperX` 链式 API,不手写 SQL
|
|
589
|
+
- 复杂 SQL(JOIN、子查询、聚合)才使用 XML Mapper
|
|
590
|
+
- XML 文件位于 `src/main/resources/mapper/{domain}/` 目录
|
|
591
|
+
- 逻辑删除由 `@TableLogic` 自动处理,无需手动加 `WHERE deleted = 0`
|
|
592
|
+
|
|
593
|
+
---
|
|
594
|
+
|
|
595
|
+
## 七、VO 规范
|
|
596
|
+
|
|
597
|
+
### 7.1 VO 分类
|
|
598
|
+
|
|
599
|
+
| 类型 | 命名 | 用途 | 继承 | 校验 |
|
|
600
|
+
| ------------ | ---------------------- | ------------------------------------------- | ----------- | -------------------------- |
|
|
601
|
+
| SaveReqVO | `{Entity}SaveReqVO` | 创建/更新(id=null 为创建,非 null 为更新) | 无 | `@NotBlank`、`@NotNull` 等 |
|
|
602
|
+
| PageReqVO | `{Entity}PageReqVO` | 分页查询 | `PageParam` | 无 |
|
|
603
|
+
| ListReqVO | `{Entity}ListReqVO` | 列表查询(不分页) | 无 | 无 |
|
|
604
|
+
| RespVO | `{Entity}RespVO` | 响应展示 | 无 | 无 |
|
|
605
|
+
| SimpleRespVO | `{Entity}SimpleRespVO` | 精简响应(下拉列表) | 无 | 无 |
|
|
606
|
+
|
|
607
|
+
### 7.2 SaveReqVO 示例
|
|
608
|
+
|
|
609
|
+
```java
|
|
610
|
+
package com.sie.cloud.module.wms.controller.admin.vo.warehouse;
|
|
611
|
+
|
|
612
|
+
import io.swagger.v3.oas.annotations.media.Schema;
|
|
613
|
+
import jakarta.validation.constraints.NotBlank;
|
|
614
|
+
import jakarta.validation.constraints.NotNull;
|
|
615
|
+
import lombok.Data;
|
|
616
|
+
|
|
617
|
+
@Schema(description = "管理后台 - WMS 仓库新增/修改 Request VO")
|
|
618
|
+
@Data
|
|
619
|
+
public class WarehouseSaveReqVO {
|
|
620
|
+
|
|
621
|
+
@Schema(description = "仓库编号", example = "1024")
|
|
622
|
+
private Long id;
|
|
623
|
+
|
|
624
|
+
@Schema(description = "仓库编码", requiredMode = Schema.RequiredMode.REQUIRED, example = "WH001")
|
|
625
|
+
@NotBlank(message = "仓库编码不能为空")
|
|
626
|
+
private String code;
|
|
627
|
+
|
|
628
|
+
@Schema(description = "仓库名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "华东主仓")
|
|
629
|
+
@NotBlank(message = "仓库名称不能为空")
|
|
630
|
+
private String name;
|
|
631
|
+
|
|
632
|
+
@Schema(description = "所属库存组织编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
|
|
633
|
+
@NotNull(message = "所属库存组织不能为空")
|
|
634
|
+
private Long orgId;
|
|
635
|
+
}
|
|
636
|
+
```
|
|
637
|
+
|
|
638
|
+
### 7.3 PageReqVO 示例
|
|
639
|
+
|
|
640
|
+
```java
|
|
641
|
+
package com.sie.cloud.module.wms.controller.admin.vo.warehouse;
|
|
642
|
+
|
|
643
|
+
import com.sie.cloud.framework.common.pojo.PageParam;
|
|
644
|
+
import io.swagger.v3.oas.annotations.media.Schema;
|
|
645
|
+
import lombok.Data;
|
|
646
|
+
import org.springframework.format.annotation.DateTimeFormat;
|
|
647
|
+
import java.time.LocalDateTime;
|
|
648
|
+
|
|
649
|
+
import static com.sie.cloud.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
|
|
650
|
+
|
|
651
|
+
@Schema(description = "管理后台 - WMS 仓库分页 Request VO")
|
|
652
|
+
@Data
|
|
653
|
+
public class WarehousePageReqVO extends PageParam {
|
|
654
|
+
|
|
655
|
+
@Schema(description = "仓库编码", example = "WH001")
|
|
656
|
+
private String code;
|
|
657
|
+
|
|
658
|
+
@Schema(description = "仓库名称", example = "华东主仓")
|
|
659
|
+
private String name;
|
|
660
|
+
|
|
661
|
+
@Schema(description = "所属库存组织编号", example = "1")
|
|
662
|
+
private Long orgId;
|
|
663
|
+
|
|
664
|
+
@Schema(description = "创建时间")
|
|
665
|
+
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
|
|
666
|
+
private LocalDateTime[] createTime;
|
|
667
|
+
}
|
|
668
|
+
```
|
|
669
|
+
|
|
670
|
+
### 7.4 RespVO 示例
|
|
671
|
+
|
|
672
|
+
```java
|
|
673
|
+
package com.sie.cloud.module.wms.controller.admin.vo.warehouse;
|
|
674
|
+
|
|
675
|
+
import io.swagger.v3.oas.annotations.media.Schema;
|
|
676
|
+
import lombok.Data;
|
|
677
|
+
import java.time.LocalDateTime;
|
|
678
|
+
|
|
679
|
+
@Schema(description = "管理后台 - WMS 仓库 Response VO")
|
|
680
|
+
@Data
|
|
681
|
+
public class WarehouseRespVO {
|
|
682
|
+
|
|
683
|
+
@Schema(description = "仓库编号", example = "1024")
|
|
684
|
+
private Long id;
|
|
685
|
+
|
|
686
|
+
@Schema(description = "仓库编码", example = "WH001")
|
|
687
|
+
private String code;
|
|
688
|
+
|
|
689
|
+
@Schema(description = "仓库名称", example = "华东主仓")
|
|
690
|
+
private String name;
|
|
691
|
+
|
|
692
|
+
@Schema(description = "所属库存组织编号", example = "1")
|
|
693
|
+
private Long orgId;
|
|
694
|
+
|
|
695
|
+
@Schema(description = "状态", example = "1")
|
|
696
|
+
private Integer status;
|
|
697
|
+
|
|
698
|
+
@Schema(description = "创建时间", example = "2026-01-01 00:00:00")
|
|
699
|
+
private LocalDateTime createTime;
|
|
700
|
+
}
|
|
701
|
+
```
|
|
702
|
+
|
|
703
|
+
### 7.5 VO 位置
|
|
704
|
+
|
|
705
|
+
位于 `controller/admin/{domain}/vo/{domain}/` 下,按业务域组织子目录。
|
|
706
|
+
|
|
707
|
+
### 7.6 DTO 与 VO 的区分
|
|
708
|
+
|
|
709
|
+
- **VO**:前端接口使用,位于 `-server` 模块的 `controller/admin/{domain}/vo/`
|
|
710
|
+
- **DTO**:跨模块 RPC 调用使用,位于 `-api` 模块的 `dto/{domain}/`
|
|
711
|
+
- 前端接口不使用 DTO,跨模块调用不使用 VO
|
|
712
|
+
|
|
713
|
+
---
|
|
714
|
+
|
|
715
|
+
## 八、对象转换规范
|
|
716
|
+
|
|
717
|
+
### 8.1 BeanUtils.toBean()
|
|
718
|
+
|
|
719
|
+
项目统一使用 `BeanUtils.toBean()`(基于 Hutool `BeanUtil`):
|
|
720
|
+
|
|
721
|
+
```java
|
|
722
|
+
import static com.sie.cloud.framework.common.util.object.BeanUtils.toBean;
|
|
723
|
+
|
|
724
|
+
// 单对象转换
|
|
725
|
+
WmsWarehouseDO warehouse = warehouseMapper.selectById(id);
|
|
726
|
+
return success(toBean(warehouse, WarehouseRespVO.class));
|
|
727
|
+
|
|
728
|
+
// 分页转换(自动保留 total)
|
|
729
|
+
PageResult<WmsWarehouseDO> pageResult = warehouseMapper.selectPage(pageReqVO);
|
|
730
|
+
return success(toBean(pageResult, WarehouseRespVO.class));
|
|
731
|
+
|
|
732
|
+
// List 转换
|
|
733
|
+
List<WmsWarehouseDO> list = warehouseMapper.selectList(reqVO);
|
|
734
|
+
return success(toBean(list, WarehouseRespVO.class));
|
|
735
|
+
|
|
736
|
+
// 带回调的转换
|
|
737
|
+
return success(toBean(warehouse, WarehouseRespVO.class, vo -> {
|
|
738
|
+
vo.setExtraInfo("computed value");
|
|
739
|
+
}));
|
|
740
|
+
```
|
|
741
|
+
|
|
742
|
+
### 8.2 MapStruct 转换器
|
|
743
|
+
|
|
744
|
+
复杂映射使用 MapStruct,位于 `convert/` 目录:
|
|
745
|
+
|
|
746
|
+
```java
|
|
747
|
+
@Mapper
|
|
748
|
+
public interface ConfigConvert {
|
|
749
|
+
ConfigConvert INSTANCE = Mappers.getMapper(ConfigConvert.class);
|
|
750
|
+
|
|
751
|
+
ConfigDO convert(ConfigSaveReqVO bean);
|
|
752
|
+
ConfigRespVO convert(ConfigDO bean);
|
|
753
|
+
}
|
|
754
|
+
```
|
|
755
|
+
|
|
756
|
+
---
|
|
757
|
+
|
|
758
|
+
## 九、枚举规范
|
|
759
|
+
|
|
760
|
+
### 9.1 简单枚举
|
|
761
|
+
|
|
762
|
+
不需要参数校验的枚举,普通定义即可:
|
|
763
|
+
|
|
764
|
+
```java
|
|
765
|
+
@Getter
|
|
766
|
+
@AllArgsConstructor
|
|
767
|
+
public enum RoleTypeEnum {
|
|
768
|
+
SYSTEM(1),
|
|
769
|
+
CUSTOM(2);
|
|
770
|
+
private final Integer type;
|
|
771
|
+
}
|
|
772
|
+
```
|
|
773
|
+
|
|
774
|
+
### 9.2 ArrayValuable 枚举
|
|
775
|
+
|
|
776
|
+
需要用于 `@InEnum` 参数校验的枚举:
|
|
777
|
+
|
|
778
|
+
```java
|
|
779
|
+
package com.sie.cloud.module.wms.enums;
|
|
780
|
+
|
|
781
|
+
import com.sie.cloud.framework.common.core.ArrayValuable;
|
|
782
|
+
import lombok.AllArgsConstructor;
|
|
783
|
+
import lombok.Getter;
|
|
784
|
+
|
|
785
|
+
import java.util.Arrays;
|
|
786
|
+
|
|
787
|
+
@Getter
|
|
788
|
+
@AllArgsConstructor
|
|
789
|
+
public enum WmsOrgStatusEnum implements ArrayValuable<Integer> {
|
|
790
|
+
|
|
791
|
+
PENDING(0, "待启用"),
|
|
792
|
+
ENABLED(1, "已启用"),
|
|
793
|
+
DISABLED(2, "已停用");
|
|
794
|
+
|
|
795
|
+
public static final Integer[] ARRAYS = Arrays.stream(values())
|
|
796
|
+
.map(WmsOrgStatusEnum::getStatus).toArray(Integer[]::new);
|
|
797
|
+
|
|
798
|
+
private final Integer status;
|
|
799
|
+
private final String name;
|
|
800
|
+
|
|
801
|
+
@Override
|
|
802
|
+
public Integer[] array() {
|
|
803
|
+
return ARRAYS;
|
|
804
|
+
}
|
|
805
|
+
}
|
|
806
|
+
```
|
|
807
|
+
|
|
808
|
+
### 9.3 @InEnum 校验
|
|
809
|
+
|
|
810
|
+
在 VO 字段上使用 `@InEnum` 进行枚举值校验:
|
|
811
|
+
|
|
812
|
+
```java
|
|
813
|
+
@InEnum(WmsOrgStatusEnum.class)
|
|
814
|
+
@Schema(description = "状态", example = "1")
|
|
815
|
+
private Integer status;
|
|
816
|
+
```
|
|
817
|
+
|
|
818
|
+
枚举位于 `-api` 模块的 `enums/` 目录下。
|
|
819
|
+
|
|
820
|
+
---
|
|
821
|
+
|
|
822
|
+
## 十、参数校验规范
|
|
823
|
+
|
|
824
|
+
### 10.1 Controller 校验
|
|
825
|
+
|
|
826
|
+
- Controller 类加 `@Validated` 注解
|
|
827
|
+
- POST/PUT 方法参数加 `@Valid @RequestBody`
|
|
828
|
+
- GET 方法参数加 `@Valid`(不加 @RequestBody)
|
|
829
|
+
|
|
830
|
+
### 10.2 常用校验注解
|
|
831
|
+
|
|
832
|
+
来自 `jakarta.validation.constraints`:
|
|
833
|
+
|
|
834
|
+
| 注解 | 说明 |
|
|
835
|
+
| -------------------------- | ------------------------------------------------ |
|
|
836
|
+
| `@NotBlank` | 字符串非空(禁止空白字符) |
|
|
837
|
+
| `@NotNull` | 对象非空(用于 Integer、Long、LocalDateTime 等) |
|
|
838
|
+
| `@NotEmpty` | 字符串/集合非空 |
|
|
839
|
+
| `@Size(min = N, max = M)` | 长度限制 |
|
|
840
|
+
| `@Email` | 邮箱格式 |
|
|
841
|
+
| `@Pattern(regexp = "...")` | 正则校验 |
|
|
842
|
+
| `@InEnum(XxxEnum.class)` | 枚举值校验 |
|
|
843
|
+
|
|
844
|
+
### 10.3 时间参数
|
|
845
|
+
|
|
846
|
+
项目统一使用 `LocalDateTime`,JSON 序列化由框架全局配置处理,**无需在字段上加 `@JsonFormat`**。
|
|
847
|
+
|
|
848
|
+
PageReqVO 中的时间区间查询:
|
|
849
|
+
```java
|
|
850
|
+
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
|
|
851
|
+
private LocalDateTime[] createTime;
|
|
852
|
+
```
|
|
853
|
+
|
|
854
|
+
---
|
|
855
|
+
|
|
856
|
+
## 十一、异常规范
|
|
857
|
+
|
|
858
|
+
### 11.1 全局异常处理
|
|
859
|
+
|
|
860
|
+
全局异常处理由 `sie-starter-web` 的 `GlobalExceptionHandler` 统一提供(`@RestControllerAdvice`),业务模块**无需手写**。
|
|
861
|
+
|
|
862
|
+
框架已处理的异常:
|
|
863
|
+
- 参数校验异常(`MethodArgumentNotValidException`、`BindException` 等)→ 400
|
|
864
|
+
- 业务异常(`ServiceException`)→ 返回 `CommonResult.error(code, msg)`
|
|
865
|
+
- 权限异常(`AccessDeniedException`)→ 403
|
|
866
|
+
- 资源不存在(`NoHandlerFoundException`)→ 404
|
|
867
|
+
- 兜底异常(`Exception`)→ 500,自动记录错误日志
|
|
868
|
+
|
|
869
|
+
### 11.2 业务异常抛出
|
|
870
|
+
|
|
871
|
+
使用 `ServiceExceptionUtil.exception()` 通过静态导入抛出:
|
|
872
|
+
|
|
873
|
+
```java
|
|
874
|
+
import static com.sie.cloud.framework.common.exception.util.ServiceExceptionUtil.exception;
|
|
875
|
+
import static com.sie.cloud.module.wms.enums.ErrorCodeConstants.*;
|
|
876
|
+
|
|
877
|
+
// 简单抛出
|
|
878
|
+
throw exception(WAREHOUSE_NOT_EXISTS);
|
|
879
|
+
|
|
880
|
+
// 带占位符参数
|
|
881
|
+
throw exception(WAREHOUSE_CODE_DUPLICATE, code);
|
|
882
|
+
```
|
|
883
|
+
|
|
884
|
+
### 11.3 异常分类
|
|
885
|
+
|
|
886
|
+
| 类型 | 处理方式 |
|
|
887
|
+
| ------------ | ----------------------------------------------- |
|
|
888
|
+
| 业务异常 | `throw exception(ErrorCodeConstants.XXX)` |
|
|
889
|
+
| 参数校验异常 | `@Valid` + `@Validated`,框架自动捕获并返回 400 |
|
|
890
|
+
| 系统异常 | 框架兜底返回 500,自动记录错误日志 |
|
|
891
|
+
|
|
892
|
+
### 11.4 禁止事项
|
|
893
|
+
|
|
894
|
+
1. 禁止手写 `GlobalExceptionHandler`(框架已提供)
|
|
895
|
+
2. 禁止手写 `ServiceException extends RuntimeException`(框架已提供 `ServiceExceptionUtil`)
|
|
896
|
+
3. 禁止使用 `try-catch` 捕获所有异常(仅捕获特定异常,兜底异常交给全局处理)
|
|
897
|
+
4. 禁止抛出 `Exception`、`RuntimeException` 等通用异常
|
|
898
|
+
|
|
899
|
+
---
|
|
900
|
+
|
|
901
|
+
## 十二、多租户开发规范
|
|
902
|
+
|
|
903
|
+
### 12.1 实体层
|
|
904
|
+
|
|
905
|
+
- 需要租户隔离的 DO 继承 `TenantBaseDO`(自动获得 `tenantId` 字段)
|
|
906
|
+
- 不需要租户隔离的 DO 继承 `BaseDO`,并在类上加 `@TenantIgnore` 注解:
|
|
907
|
+
|
|
908
|
+
```java
|
|
909
|
+
@TenantIgnore
|
|
910
|
+
@TableName("infra_config")
|
|
911
|
+
@Data
|
|
912
|
+
@EqualsAndHashCode(callSuper = true)
|
|
913
|
+
public class ConfigDO extends BaseDO {
|
|
914
|
+
// ...
|
|
915
|
+
}
|
|
916
|
+
```
|
|
917
|
+
|
|
918
|
+
### 12.2 查询层
|
|
919
|
+
|
|
920
|
+
- 框架自动在 SQL 中追加 `tenant_id = ?` 条件,无需手动添加
|
|
921
|
+
- 跨租户查询:在 Service 方法上加 `@TenantIgnore` 注解
|
|
922
|
+
|
|
923
|
+
---
|
|
924
|
+
|
|
925
|
+
## 十三、跨模块 RPC 调用规范
|
|
926
|
+
|
|
927
|
+
### 13.1 Feign Client 定义(-api 模块)
|
|
928
|
+
|
|
929
|
+
```java
|
|
930
|
+
package com.sie.cloud.module.system.api.user;
|
|
931
|
+
|
|
932
|
+
import com.sie.cloud.framework.common.pojo.CommonResult;
|
|
933
|
+
import org.springframework.cloud.openfeign.FeignClient;
|
|
934
|
+
import org.springframework.web.bind.annotation.GetMapping;
|
|
935
|
+
import org.springframework.web.bind.annotation.RequestParam;
|
|
936
|
+
|
|
937
|
+
@FeignClient(name = ApiConstants.NAME, path = ApiConstants.PREFIX + "/user")
|
|
938
|
+
public interface AdminUserApi {
|
|
939
|
+
|
|
940
|
+
@GetMapping("/get")
|
|
941
|
+
CommonResult<AdminUserRespDTO> getUser(@RequestParam("id") Long id);
|
|
942
|
+
}
|
|
943
|
+
```
|
|
944
|
+
|
|
945
|
+
### 13.2 RPC API 实现(-server 模块)
|
|
946
|
+
|
|
947
|
+
```java
|
|
948
|
+
package com.sie.cloud.module.system.api.user;
|
|
949
|
+
|
|
950
|
+
import com.sie.cloud.framework.common.pojo.CommonResult;
|
|
951
|
+
import com.sie.cloud.module.system.api.user.dto.AdminUserRespDTO;
|
|
952
|
+
import com.sie.cloud.module.system.service.user.AdminUserService;
|
|
953
|
+
import jakarta.annotation.Resource;
|
|
954
|
+
import org.springframework.web.bind.annotation.RestController;
|
|
955
|
+
|
|
956
|
+
import static com.sie.cloud.framework.common.util.object.BeanUtils.toBean;
|
|
957
|
+
import static com.sie.cloud.framework.common.pojo.CommonResult.success;
|
|
958
|
+
|
|
959
|
+
@RestController
|
|
960
|
+
public class AdminUserApiImpl implements AdminUserApi {
|
|
961
|
+
|
|
962
|
+
@Resource
|
|
963
|
+
private AdminUserService adminUserService;
|
|
964
|
+
|
|
965
|
+
@Override
|
|
966
|
+
public CommonResult<AdminUserRespDTO> getUser(Long id) {
|
|
967
|
+
return success(toBean(adminUserService.getUser(id), AdminUserRespDTO.class));
|
|
968
|
+
}
|
|
969
|
+
}
|
|
970
|
+
```
|
|
971
|
+
|
|
972
|
+
### 13.3 DTO 定义
|
|
973
|
+
|
|
974
|
+
- 位于 `-api` 模块的 `dto/{domain}/` 目录
|
|
975
|
+
- 命名以 `RespDTO` / `ReqDTO` 结尾
|
|
976
|
+
- 不包含 VO 特有的 `@Schema`、校验注解等
|
|
977
|
+
|
|
978
|
+
---
|
|
979
|
+
|
|
980
|
+
## 十四、测试规范
|
|
981
|
+
|
|
982
|
+
### 14.1 测试基类
|
|
983
|
+
|
|
984
|
+
- DB 单元测试:继承 `BaseDbUnitTest`(使用 H2 内存数据库)
|
|
985
|
+
- 需要 Redis 的测试:继承 `BaseDbAndRedisUnitTest`(使用 jedis-mock)
|
|
986
|
+
|
|
987
|
+
### 14.2 测试类模板
|
|
988
|
+
|
|
989
|
+
```java
|
|
990
|
+
package com.sie.cloud.module.wms.service.warehouse;
|
|
991
|
+
|
|
992
|
+
import com.sie.cloud.framework.test.core.ut.BaseDbUnitTest;
|
|
993
|
+
import jakarta.annotation.Resource;
|
|
994
|
+
import org.junit.jupiter.api.Test;
|
|
995
|
+
import org.springframework.boot.test.context.SpringBootTest;
|
|
996
|
+
import org.springframework.test.context.ActiveProfiles;
|
|
997
|
+
import org.springframework.test.context.jdbc.Sql;
|
|
998
|
+
|
|
999
|
+
import static org.junit.jupiter.api.Assertions.*;
|
|
1000
|
+
|
|
1001
|
+
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.NONE, classes = BaseDbUnitTest.Application.class)
|
|
1002
|
+
@ActiveProfiles("unit-test")
|
|
1003
|
+
@Sql(scripts = "/sql/clean.sql", executionPhase = Sql.ExecutionPhase.AFTER_TEST_METHOD)
|
|
1004
|
+
class WmsWarehouseServiceImplTest extends BaseDbUnitTest {
|
|
1005
|
+
|
|
1006
|
+
@Resource
|
|
1007
|
+
private WmsWarehouseServiceImpl warehouseService;
|
|
1008
|
+
|
|
1009
|
+
@Test
|
|
1010
|
+
void testCreateWarehouse_success() {
|
|
1011
|
+
// given
|
|
1012
|
+
WarehouseSaveReqVO reqVO = new WarehouseSaveReqVO();
|
|
1013
|
+
reqVO.setCode("WH001");
|
|
1014
|
+
reqVO.setName("华东主仓");
|
|
1015
|
+
// when
|
|
1016
|
+
Long id = warehouseService.createWarehouse(reqVO);
|
|
1017
|
+
// then
|
|
1018
|
+
assertNotNull(id);
|
|
1019
|
+
}
|
|
1020
|
+
}
|
|
1021
|
+
```
|
|
1022
|
+
|
|
1023
|
+
### 14.3 测试 SQL
|
|
1024
|
+
|
|
1025
|
+
- 创建表脚本:`src/test/resources/sql/create_tables.sql`
|
|
1026
|
+
- 清理脚本:`src/test/resources/sql/clean.sql`(每个测试方法执行后运行)
|
|
1027
|
+
|
|
1028
|
+
### 14.4 测试方法命名
|
|
1029
|
+
|
|
1030
|
+
`test{Method}_{Scenario}`,如 `testCreateWarehouse_success`、`testCreateWarehouse_codeDuplicate`
|
|
1031
|
+
|
|
1032
|
+
---
|
|
1033
|
+
|
|
1034
|
+
## 十五、注释规范
|
|
1035
|
+
|
|
1036
|
+
### 15.1 类注释
|
|
1037
|
+
|
|
1038
|
+
- DO 类:代码生成器自动生成 `/** ... */` Javadoc 包含 `@author`
|
|
1039
|
+
- 手写类:简洁注释说明作用即可,不强制 `@author` / `@date`
|
|
1040
|
+
|
|
1041
|
+
### 15.2 方法注释
|
|
1042
|
+
|
|
1043
|
+
- 公共方法:简洁的 `// 说明` 注释或单行 Javadoc
|
|
1044
|
+
- 复杂业务逻辑方法:详细 Javadoc(方法作用、参数说明、返回值)
|
|
1045
|
+
|
|
1046
|
+
### 15.3 字段注释
|
|
1047
|
+
|
|
1048
|
+
- VO 字段:使用 `@Schema(description = "...")` 替代 Javadoc
|
|
1049
|
+
- DO 字段:使用 `/** ... */` Javadoc 说明含义
|
|
1050
|
+
|
|
1051
|
+
### 15.4 禁止事项
|
|
1052
|
+
|
|
1053
|
+
1. 禁止无意义注释(如 `// 这里是循环`)
|
|
1054
|
+
2. 禁止注释与代码不一致
|
|
1055
|
+
3. 禁止使用拼音注释
|
|
1056
|
+
|
|
1057
|
+
---
|
|
1058
|
+
|
|
1059
|
+
## 十六、代码风格规范
|
|
1060
|
+
|
|
1061
|
+
1. **缩进**: 统一使用 4 个空格,禁止 Tab
|
|
1062
|
+
2. **大括号**: 左大括号紧跟语句末尾,右大括号单独成行
|
|
1063
|
+
3. **空行**: 方法之间、类成员之间空一行,逻辑块之间空一行
|
|
1064
|
+
4. **魔法值**: 禁止直接写数字、字符串,需定义为常量或枚举
|
|
1065
|
+
5. **集合初始化**: 指定大小(如 `new ArrayList<>(10)`)
|
|
1066
|
+
6. **空判断**: 使用 `ObjectUtil.isNull()` / `CollUtil.isEmpty()`(Hutool 工具类)
|
|
1067
|
+
7. **代码简洁**: 禁止冗余代码,复杂逻辑拆分方法
|
|
1068
|
+
8. **命名统一**: 同一含义的字段、方法,命名必须统一
|
|
1069
|
+
|
|
1070
|
+
---
|
|
1071
|
+
|
|
1072
|
+
## 十七、代码生成器
|
|
1073
|
+
|
|
1074
|
+
`sie-module-infra` 提供代码生成器(codegen),可生成:
|
|
1075
|
+
- Controller、Service、Mapper、DO、VO(SaveReqVO/PageReqVO/ListReqVO/RespVO)
|
|
1076
|
+
- 单元测试类、SQL 脚本
|
|
1077
|
+
- 前端代码(Vue2 Element UI、Vue3 Element Plus、Vue3 Vben5 等)
|
|
1078
|
+
|
|
1079
|
+
使用方式:管理后台 `/admin-api/infra/codegen/` 或 API 调用。
|
|
1080
|
+
|
|
1081
|
+
生成的代码已遵循本规范中的所有约定。生成的错误码常量需手动补充到 `ErrorCodeConstants` 中。
|
|
1082
|
+
|
|
1083
|
+
---
|
|
1084
|
+
|
|
1085
|
+
## 十八、开发标准流程
|
|
1086
|
+
|
|
1087
|
+
1. **需求分析**: 明确功能、入参、出参、业务逻辑
|
|
1088
|
+
2. **定义 VO**: 编写 SaveReqVO(含校验)、PageReqVO、RespVO
|
|
1089
|
+
3. **定义 DO**: 在 `dal/dataobject/` 下创建实体,继承 BaseDO/TenantBaseDO
|
|
1090
|
+
4. **定义 Mapper**: 在 `dal/mysql/` 下创建接口,继承 BaseMapperX
|
|
1091
|
+
5. **定义 Service**: 接口 + Impl,实现业务逻辑
|
|
1092
|
+
6. **定义 Controller**: 定义接口路径、请求方法、权限注解,调用 Service
|
|
1093
|
+
7. **定义错误码**: 在 `ErrorCodeConstants` 中补充业务错误码
|
|
1094
|
+
8. **单元测试**: 编写测试用例,覆盖正常流程和异常场景
|
|
1095
|
+
9. **联调测试**: 测试接口是否正常、参数校验是否生效、异常是否正确返回
|