SuperAPI AI 工具集

jarvus-extjs

通用与其它

查看项目

更新于 10-15 22:41

技能介绍

用途:为 Jarvus 为 Slate 生态构建的 ExtJS 6.2.0.981 classic-toolkit 应用(SlateAdmin、Slate CBL 系列等)提供统一维护规范,目标是稳定与收敛——让旧代码符合内部风格、消除状态与组件问题、在不扩大改动面的前提下修 bug。ExtJS 在此属遗留技术,不再新建应用,最终会被移除。

主要能力与约定:框架与生态被冻结,禁止升级 Ext、Sencha Cmd 或 toolkit,禁止改 ext 子模块、workspace.json/app.json 框架配置,禁止 classic→modern 迁移;不做 MVVM 迁移,使用 Ext.app.Controller 加 config/applyX/updateX 与语义事件作为响应层,不引入 ViewController、ViewModel 或 bind。优先复用已内置的 jarvus-/slate- 包。仅在边缘使用 ES6(短回调箭头函数、函数体内 const、tpl 模板字符串),保留 var me = this,不引入模块、类或 async/await。不为纯风格改动而改动可运行代码。

架构风格:状态单向经 URL 流动,UI 选择调用 redirectTo(...),路由处理器设置视图 config,updateX 触发语义事件,控制器响应并写入 store 与选择器;区分 selectedX 与 loadedX。控制器有固定文件布局(requires→views/stores/models→refs→routes→listen→control 等)。autoCreate ref 是唯一视图工厂。视图用命名 action,不含 handler 函数。数据经分层 proxy 栈,store 遵循 dirty 契约。应用保持轻薄,可复用内容放入 Sencha 包;重复屏幕形态用抽象基类。

使用方式:按任务查阅参考文档——控制器与路由看 architecture.md,模型/存储/代理看 data-layer.md,视图/表单/网格看 components.md,代码归属与包依赖看 packages.md,验证与 Cypress 测试看 testing.md。每个参考末尾列出规范示例文件路径,遇到惯用法疑问时打开示例模仿,新旧代码冲突以较新示例为准。

适用场景与限制:适用于维护、重构、修复上述遗留 ExtJS 应用。仓库以 sencha-workspace/packages.remote/ 下的 vendored 包检出,若目录为空需先执行 git submodule update --init。开发构建通过 dev-loader.js 与 ?apiHost= / ?apiToken= 连接实时后端,不要改动该机制。无单元测试且不应新增,使用容器化 Cypress 端到端测试,行为变更应附带 spec 变更并走查受影响屏幕(含深链、后退、刷新)。SlateAdmin 在 CI 强制 ESLint(零错误基线),提交遵循 Conventional Commits,重构提交保持行为中性。其余细节暂未提供。