From f38f15dd7e9bd8705216c95f7ec6f8c86d143f34 Mon Sep 17 00:00:00 2001 From: MiFaZhan Date: Fri, 30 Oct 2026 11:43:20 +0800 Subject: [PATCH] =?UTF-8?q?docs:=20=E7=A7=BB=E9=99=A4=E5=BC=80=E5=8F=91?= =?UTF-8?q?=E8=BF=87=E7=A8=8B=E6=96=87=E6=A1=A3=EF=BC=8C=E5=BC=80=E6=BA=90?= =?UTF-8?q?=E7=89=88=E6=96=87=E6=A1=A3=E7=BB=9F=E4=B8=80=E8=A7=81=E6=96=87?= =?UTF-8?q?=E6=A1=A3=E7=AB=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - AGENTS.md(内部 agent 协作规范与 GoFrame/Vben 开发约定,含内部项目概述) 文档站:https://git.5iot.com/iotlcm-public/iotlcm-docs --- AGENTS.md | 94 ------------------------------------------------------- 1 file changed, 94 deletions(-) delete mode 100644 AGENTS.md diff --git a/AGENTS.md b/AGENTS.md deleted file mode 100644 index eeeca82..0000000 --- a/AGENTS.md +++ /dev/null @@ -1,94 +0,0 @@ -# 项目约束规范 -## xiuAdmin框架说明文档 - 先阅读 http://xiuadmin.com/sys/catalog.html -## 范围界定 -1. 本仓库包含两部分代码: - - 后端:基于 GoFrame v2 框架,存放于 `server/` 目录 - - 前端:Vue + Vben Admin 技术栈,存放于 `app/` 目录 -2. GoFrame 项目专属规范仅适用于 `server/` 下后端开发,或用户明确要求进行 GoFrame 开发的场景。 -3. 仅修改前端代码时,不得套用 GoFrame 后端开发规范。 -4. `vue/` 目录下前端开发需遵循 Vben Admin 5.x 开发规范,同步沿用 `vue/apps/web-antd` 中已落地的 Ant Design Vue 页面风格。 - -## GoFrame 后端开发规范 -1. 控制器、服务、中间件、路由、配置、ORM、自动生成代码均严格遵循 GoFrame v2 官方编码惯例。 -2. 禁止手动编辑自动生成的 DAO、DO、Entity 文件,统一使用项目内置代码生成流程更新。 -3. 新增逻辑前优先复用项目现有服务、工具函数与通用设计模式,避免重复新增抽象层。 -4. 数据库新增、更新操作必须使用自动生成的 DAO/DO 结构体;禁止将 `g.Map`、`map[string]interface{}` 作为 ORM 数据载体。 -5. 后端新增业务报错统一使用 `gerror` 组件封装并返回错误信息。 -6. 常规 ORM 操作交由 GoFrame 自动维护 `created_at`、`updated_at`、`deleted_at` 字段;逻辑删除统一调用 `Delete()` 方法。 - - -## 前端开发规范 -1. 必须使用中文进行对话以及编写文档。 -2. 编写代码、修改文档或做业务判断前,必须先查询是否有可使用的本地 SKILL、项目文档、知识库、已有实现或现成工具,再决定行动方案。 -3. 如果上下文过长、信息开始混乱或可能遗忘已确认内容,应提醒用户:建议压缩上下文。 -4. 用户指定修改某个部分时,只处理指定范围;未经用户同意,不修改其他未指定部分。 -5. 不要覆盖用户或其他工具已经产生的改动。若目标文件已有人工改动,应先理解并兼容现状。 -6. 编写界面前必须先确认 Wot UI、uni-app 内置组件、项目现成组件和 UnoCSS 是否能满足需求;不能跳过这一步直接手搓样式或 UI。 -7. 默认禁止手搓 CSS 和基础 UI 组件。只有在 UI 库、项目现成组件、UnoCSS 均无法满足,或存在明确平台兼容/业务封装需要时,才允许例外。 -8. 使用例外时,必须在最终汇报中说明:为什么不能用 UnoCSS、为什么不能用 UI 库或现成组件、手写范围控制在哪里。 -9. 若新增界面代码绕过 UnoCSS 或 UI 库且未说明例外依据,本轮任务视为未完成,必须先返工再汇报完成。 - -## 信息确认原则 -1. 避免仅凭推测给出答案。回答或修改前,应优先基于以下来源确认信息: - - 当前项目文件、已有实现、配置、测试结果; - - 用户明确说明; - - `docs/README.md` 及相关业务文档; - - 管理平台后端和前端当前实现; - - 本地 SKILL、项目文档、知识库或现成工具; - - 官方文档或联网查询结果。 -2. 当需求不明确、存在多种实现方式、影响范围较大、或可能破坏现有逻辑时,必须先向用户确认。 -3. 当需求明确、范围清楚、风险较低时,可以直接执行,并在完成后说明处理内容和验证结果。 -4. 涉及时效性信息,例如版本、法规、价格、接口文档、第三方库最新用法、新闻等,应优先使用官方来源或联网查询。 - - -## 行为准则 - -1. 没有确切指令时,不得擅自替用户做高风险决策。 -2. 在多轮对话中,已确认或用户未提出异议的内容必须保持一致。若用户变更需求,应明确记录并按新需求调整。 -3. 需要参考案例或材料时,优先参考项目内类似实现;找不到或不确定时,再联网查询最新资料。 -4. 对于多模块、高风险或探索性任务,应按模块推进,并在关键节点向用户确认。 -5. 对于范围明确的常规任务,可以一次完成实现、校验和汇报。 -6. 保持专业,坚持最佳实践。若用户需求明显不符合最佳实践,应说明风险并提供可选方案。 -7. 当判断用户的方案、行动或前提存在明显问题时,以基于事实和最佳实践进行辩论为荣,以不分青红皂白附和用户为耻。 -8. 保持客观、冷静、专业,避免过度奉承或无关情绪化表达。 - - -## 系统菜单权限 -1. 登录系统界面后,左侧菜单栏菜单都是动态路由菜单。菜单数据都放在 sys_menu表。菜单栏里有权限标识(不带前缀)。权限标识有相关的前缀。 - "cpr:" // 角色权限码前缀+角色权限 - "cpm:" // 菜单权限码前缀+菜单权限 - "cpd:" // 部门权限码前缀+部门编码 - "cpp:" // 岗位权限码前缀+岗位编码 - "cpu:" // 用户权限码前缀+用户名 - "cpc:current:user" // 当前登录用户默认权限 -2. 如果登录的是超级管理员账号 admin,默认返回所有权限。 -3. 如果登录的不是超级管理员账号: - 1. 登录用户取得用户的所有角色; - 2. 根据角色取得所有角色绑定的菜单; - 3. 获取菜单中的权限标识。 - - -## 项目概述 - -`iotlcm-app` 是 IOTLCM 的用户侧小程序项目,定位为: - -```text -物联卡用户服务小程序 + 代理商轻量工作台 -``` - -技术栈: - -- uni-app -- Vue 3 -- TypeScript -- Vite 5 -- UnoCSS -- Wot UI v2 -- unibest - -输出端: - -- H5 -- 微信小程序 -- APP