1.5 KiB
1.5 KiB
FMS 项目长期记忆
设计令牌作用域(重要踩坑)
--fms-*设计令牌必须在:root上定义(全局),不能只放在.theme-root。- 原因:
a-modal等 antdv 组件默认 teleport 到<body>,脱离.theme-root,令牌在其内部全部失效,表现为 "var(--fms-border) is not defined" 报错 + 边框/颜色丢失。 - 现状:
fms-vue/src/styles/main.scss的:root已声明全部令牌;.theme-root仅保留 color/background/overflow。
fms-file 附件组件关键约定
- 宫格/列表双模式由
FileListPanel.vue的viewMode(grid/list)控制。 - 上传:点击/拖拽/粘贴均汇入
addFiles(),允许重复上传同一文件(前端已移除去重,后端无同名约束)。 - 拖拽重复入栈防护在
handleDragEnter/Leave的e.currentTarget !== e.target判断,非靠去重。 - 待上传文件虚拟 id 形如
_pending_N,deleteSelected需降序删除防索引漂移。
项目结构速查
- 后端
fms-api/Spring Boot 4.1 + Java 21 + SQL Server(Druid 多组织路由);端口 8088,context-path/api。 - 前端
fms-vue/Vue 3 + Vite + Pinia + antdv-next;dev:5180,代理/api→127.0.0.1:8088。 - 通用数据接口:
/data/loaddata、/data/page、/data/saveobjt、/data/nextid、/auth/login、/file/upload。勿新增业务端点。 - 开发纪律:改完不自行 build/起服务,除非用户要求;可用
vite build(或--mode development --emptyOutDir false规避 dist 清理权限问题)验证。