Files
rui-docs/AGENTS.md
T
vifo 106e1c14fe refactor: 重命名 customer-mobile 为 cashier-customer
统一收银相关项目命名:
- cashier-mobile: 收银端(店员使用)
- cashier-customer: 顾客端(顾客使用)

更新所有相关配置和引用
2026-06-04 08:32:24 +08:00

3.1 KiB
Raw Blame History

AI 开发边界配置 - 前端仓库

警告:本文件定义 AI 的开发边界,AI 必须严格遵守!

🎯 本仓库职责

rui-frontend 是睿核科技的前端工程集合,包含:

  • admin-ui - 管理后台(Vue3 + TypeScript + Vite
  • cashier-mobile - 收银移动端(技术栈待定,可能是 uni-app、React Native 等)
  • cashier-customer - 顾客移动端(技术栈待定,可能是 uni-app、React Native 等)

🚫 绝对禁止

  1. 禁止修改后端代码 - 本仓库只有前端代码
  2. 禁止修改 API 接口定义 - 接口定义在后端仓库
  3. 禁止直接访问数据库 - 必须通过 REST API
  4. 禁止引入后端依赖 - 如 Spring, MyBatis 等

允许范围

rui-frontend/
├── admin-ui/           ✅ 可修改(Vue3 管理后台)
├── cashier-mobile/     ✅ 可修改(收银移动端)
├── cashier-customer/    ✅ 可修改(顾客移动端)
├── package.json        ✅ 可修改(根配置)
└── pnpm-workspace.yaml ✅ 可修改

🔗 与后端通信规范

1. API 调用方式

  • 使用 AxiosFetch 或各框架提供的 HTTP 客户端发送请求
  • 禁止直接引用后端 Java 类

2. 接口地址规范

// 正确示例(axios
const API_BASE = '/api';  // 通过网关转发
const userApi = {
  getList: () => axios.get(`${API_BASE}/user/list`),
  create: (data) => axios.post(`${API_BASE}/user`, data)
};

// 正确示例(uni-app
const userApi = {
  getList: () => uni.request({ url: `${API_BASE}/user/list` }),
  create: (data) => uni.request({ url: `${API_BASE}/user`, method: 'POST', data })
};

3. 数据类型定义

  • 前端自行定义 TypeScript 接口或各框架的类型定义
  • 与后端 DTO 保持一致(但不直接引用)
// 前端自定义类型
interface UserDTO {
  id: number;
  username: string;
  // ...
}

📝 编码规范

admin-ui(管理后台)

  • 框架Vue 3 + TypeScript + Vite
  • 包管理器pnpm(强制使用)
  • 组件规范:组合式 APIsetup 语法)

cashier-mobile / cashier-customer(移动端)

  • 框架uni-appVue3
  • 支持平台:小程序、H5、App
  • 包管理器pnpm(推荐)或 npm
  • UI 框架uni-ui 或 uview-plus

通用规范

  1. 代码风格:遵循项目现有 ESLint/Prettier 配置
  2. HTTP 客户端:统一封装请求拦截器(处理 Token、错误等)
  3. 路由管理:各项目自行管理前端路由
  4. 状态管理:根据框架选择(Pinia、Vuex、Redux、Zustand 等)

🔔 当需要后端支持时

如果前端需要新的 API 接口:

  1. 不要自己创建后端代码
  2. 在后端仓库的 Issue 中提需求
  3. 等待后端提供接口后再联调

📞 协作方式

  • 前端 AI:只负责 rui-frontend 仓库
  • 后端 AI:负责 spring-ai 仓库提供 API
  • 沟通方式:通过 Gitea Issue / 钉钉通知

最后提醒:AI 必须严格限制在本仓库范围内开发,禁止跨仓库修改代码!