| skills/zy-wcs-dev/SKILL.md | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| skills/zy-wcs-dev/agents/openai.yaml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| skills/zy-wcs-pixijs-frontend/SKILL.md | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| skills/zy-wcs-pixijs-frontend/agents/openai.yaml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
skills/zy-wcs-dev/SKILL.md
New file @@ -0,0 +1,115 @@ --- name: zy-wcs-dev description: 维护和开发 WCS(Spring Boot + MyBatis-Plus + Layui/Vue)项目的执行型技能。处理后端接口/服务/Mapper 与 XML 联动修改、设备线程与调度逻辑排查、前端页面与静态 JS 改动、以及本地构建与回归验证。用户提到 WCS、`com/zy` 包结构、`application.yml`、`mapper/*.xml`、`src/main/webapp/views`、设备控制线程(Crn/Rgv/Station/DualCrn)或要求“按当前项目方式改代码/排查问题”时使用。 --- # zy-wcs-dev ## Overview 在该仓库内执行改动时,优先最小变更、快速验证、明确影响范围。始终把 Java 代码、MyBatis XML、前端页面与对应静态脚本视为一个联动单元。 ## Project Quick Map - 后端入口:`src/main/java/com/zy/Boot.java` - 核心分层: - `core`:设备编排、连接驱动、线程与协议 - `asrs`:业务域、任务调度、接口控制器 - `system`:用户权限、日志、系统配置 - `common`:公共 web 与工具类 - 持久层: - Java Mapper:`src/main/java/com/zy/**/mapper/*Mapper.java` - SQL XML:`src/main/resources/mapper/*.xml` - 前端: - 页面:`src/main/webapp/views/**` - 脚本:`src/main/webapp/static/js/**` - 样式:`src/main/webapp/static/css/**` - 配置:`src/main/resources/application.yml` - 构建产物:`target/wcs.war` ## Workflow ### 1. Confirm Scope - 明确改动属于哪一层:后端接口、业务服务、设备线程、数据库映射、前端页面。 - 明确是否涉及联动文件:`Controller -> Service -> Mapper.java -> Mapper.xml -> view/js`。 - 明确是否需要兼容现有上下文路径:`/@pom.build.finalName@`(实际为 `/wcs`)。 ### 2. Locate Code Precisely - 用 `rg` 快速定位,避免盲目全量阅读: ```bash rg -n "关键字" src/main/java src/main/resources src/main/webapp rg --files src/main/java/com/zy | rg "Controller|Service|Mapper" ``` - 优先读取与改动直接相关的最小文件集,再扩展上下游依赖。 ### 3. Implement Minimal Safe Change #### 后端改动 - 控制器仅做参数与响应组织,核心逻辑放在 `Service`/`ServiceImpl`。 - 修改实体/字段时同步检查: - 实体类 - Mapper 接口 - 对应 XML(`resultMap`、`select/insert/update`) - 设备相关逻辑改动时,优先检查: - `core/thread/**` - `core/network/**` - `core/task/**` - `asrs/task/**` #### 前端改动 - 页面通常在 `views/<feature>/`,其逻辑通常在 `static/js/<feature>/`。 - 改动页面字段时同步检查后端接口字段名与 JSON 结构。 - 保持当前 Layui/Vue 代码风格,不引入重型新框架。 ### 4. Validate Locally 按成本从低到高执行: 1. 编译校验: ```bash mvn -q -DskipTests compile ``` 2. 单测(若有): ```bash mvn test ``` 3. 打包: ```bash mvn clean package -DskipTests ``` 4. 本地启动验证: ```bash mvn spring-boot:run ``` 启动后重点检查: - 端口是否为 `9090` - 上下文路径是否为 `/wcs` - 日志目录是否可写:`./stock/out/wcs/logs` ### 5. High-Risk Checklist - 不提交真实密钥/密码。`application.yml` 出现敏感值时,输出中使用脱敏占位。 - 修改 Mapper XML 后,确认 SQL 字段与实体字段映射一致,避免运行时空字段或类型错误。 - 修改调度器或线程逻辑时,确认不存在明显阻塞、死循环或共享状态竞争。 - 修改 API 时,确认前端调用路径包含上下文路径前缀(`/wcs`)。 ## Response Template 执行任务后,按以下结构给出结果: 1. 先给结论:完成了什么、影响哪些模块。 2. 列出修改文件清单。 3. 说明验证命令与结果(成功/失败及原因)。 4. 若有未完成项,明确阻塞点和下一步。 ## Do and Don't - Do:优先最小改动、可回滚、可验证。 - Do:新增逻辑时保持命名和包结构一致(Controller/Service/Mapper)。 - Don't:未经要求不改动无关文件或进行大规模重构。 - Don't:未经确认不删除或替换现有设备编排主流程。 skills/zy-wcs-dev/agents/openai.yaml
New file @@ -0,0 +1,4 @@ interface: display_name: "ZY WCS Dev" short_description: "Develop and debug the zy-wcs Java project" default_prompt: "Use this skill to implement or troubleshoot backend/frontend changes in the zy-wcs project, including controller/service/mapper/xml linkage and local Maven verification." skills/zy-wcs-pixijs-frontend/SKILL.md
New file @@ -0,0 +1,101 @@ --- name: zy-wcs-pixijs-frontend description: 在 zy-wcs 项目中进行 PixiJS 前端地图与设备可视化开发/排障的执行技能。用于修改 `src/main/webapp/components/MapCanvas.js`、`views/watch/console.html`、`views/watch/console_pixijs.html`、`views/locMap/locMap.html` 等文件,处理地图渲染、拖拽缩放、旋转镜像、WebSocket 实时数据绑定(crn/dualcrn/rgv/station)、交互高亮与性能优化。用户提到“PixiJS 地图”“控制台地图卡顿”“设备点位显示错误”“watch 页面前端改动”时使用。 --- # zy-wcs-pixijs-frontend ## Overview 该技能面向本仓库现有 PixiJS 实现,不做从零框架改造。优先在当前 Vue + Pixi 结构中做最小、安全、可验证改动。 ## Entry Points - 主入口页面:`src/main/webapp/views/watch/console.html` - 主画布组件:`src/main/webapp/components/MapCanvas.js` - 旧版页面(仍可参考):`src/main/webapp/views/watch/console_pixijs.html` - 旧版静态地图脚本:`src/main/webapp/static/js/console.map.js` - 库位地图页面:`src/main/webapp/views/locMap/locMap.html` - Pixi 运行库:`src/main/webapp/static/js/pixi-legacy.min.js`(项目为 Pixi v5 体系) ## Workflow ### 1. Confirm Change Type - 渲染问题:sprite 位置、图层顺序、轨道/货架绘制、文字缩放。 - 交互问题:拖拽、滚轮缩放、点击事件、hover tooltip。 - 实时数据问题:WebSocket 消息路由、状态颜色映射、设备编号与任务号显示。 - 视图变换问题:旋转、镜像、fit-to-view、楼层切换后复位。 ### 2. Locate the Correct File First - `console.html` 只负责外层页面与 card/参数联动。 - `MapCanvas.js` 负责绝大多数 Pixi 逻辑(创建画布、渲染、WebSocket、状态刷新、变换)。 - `console_pixijs.html` 与 `console.map.js` 属于旧实现,改动前先确认当前页面是否实际使用。 建议定位命令: ```bash rg -n "map-canvas|createMapData|drawTracks|applyMapTransform|connectWs|webSocketOnMessage" src/main/webapp ``` ### 3. Implement with Existing MapCanvas Lifecycle - 初始化链路:`mounted -> createMap -> connectWs -> getMap -> createMapData` - 实时刷新链路: - 定时发送:`/console/latest/data/crn|dualcrn|station|rgv` - 消息分发:`webSocketOnMessage` - 渲染更新:`setCrnInfo/setDualCrnInfo/setRgvInfo/setSiteInfo` - 变换链路: - `rotateMap/toggleMirror` - `applyMapTransform -> fitStageToContent -> scheduleAdjustLabels` ### 4. PixiJS Change Rules - 保持容器职责不变: - `tracksGraphics` 画轨道线 - `shelvesContainer` 放货架 - `objectsContainer` 放静态对象 - `objectsContainer2` 放设备对象(crn/dualcrn/rgv) - 新增设备类型时,至少同步: - `createMapData` 的识别与创建 - WebSocket 路由与 `setXxxInfo` - 状态色与文本更新逻辑 - 修改缩放/旋转逻辑时,必须回归 `adjustLabelScale`,避免文本倒置、过小或错位。 ### 5. WebSocket and Data Safety - 保持消息 URL 字符串与后端一致,避免拼写漂移。 - 处理 JSON 前先判空并兼容数字字符串。 - 楼层切换期间尊重 `isSwitchingFloor`,避免状态更新与重建并发冲突。 - 重连逻辑沿用指数退避,不要改成高频重连。 ### 6. Performance Checklist - 优先复用纹理缓存(如 `pixiShelfMap`、`pixiTrackMap`、颜色纹理缓存)。 - 不在高频回调里重复 new 大对象;尽量复用对象与容器。 - 交互监听与定时器在 `beforeDestroy` 里成对释放。 - 对 UI 文本或 hover 计算使用节流/RAF(项目已用 `requestAnimationFrame`)。 ### 7. Verify Quickly 1. 打开 `views/watch/console.html`,确认地图正常渲染。 2. 测试拖拽、滚轮缩放、旋转、镜像。 3. 观察 WebSocket 数据驱动下设备位置和状态色是否刷新。 4. 切换楼层后确认无残影、无旧层对象泄漏。 5. 关注 FPS 面板是否明显下降。 ## Output Format 完成任务后按以下结构输出: 1. 改动结论(修复/新增内容)。 2. 文件清单(精确到路径)。 3. 渲染链路影响点(初始化、实时更新、交互、性能)。 4. 验证结果与未覆盖风险。 ## Do and Don't - Do:优先改 `MapCanvas.js` 主链路,不随意改旧版页面。 - Do:保持与现有 Vue + Pixi v5 风格一致。 - Don't:未经确认,不切换 Pixi 版本或重构为新前端框架。 - Don't:在定时刷新和 pointer 事件中引入高开销同步逻辑。 skills/zy-wcs-pixijs-frontend/agents/openai.yaml
New file @@ -0,0 +1,4 @@ interface: display_name: "ZY WCS PixiJS Frontend" short_description: "Develop and debug PixiJS map pages in zy-wcs" default_prompt: "Use this skill to implement or troubleshoot PixiJS frontend changes in zy-wcs, especially MapCanvas.js rendering, websocket-driven device updates, interactions, and performance."