a7e056643e
- cashier-mobile: 收银系统移动端(uni-app) - customer-mobile: 顾客端移动端(uni-app) - 包含基础页面结构:首页、订单、会员 - 更新 AGENTS.md 配置
3.1 KiB
3.1 KiB
AI 开发边界配置 - 前端仓库
警告:本文件定义 AI 的开发边界,AI 必须严格遵守!
🎯 本仓库职责
rui-frontend 是睿核科技的前端工程集合,包含:
admin-ui- 管理后台(Vue3 + TypeScript + Vite)cashier-mobile- 收银移动端(技术栈待定,可能是 uni-app、React Native 等)customer-mobile- 顾客移动端(技术栈待定,可能是 uni-app、React Native 等)
🚫 绝对禁止
- 禁止修改后端代码 - 本仓库只有前端代码
- 禁止修改 API 接口定义 - 接口定义在后端仓库
- 禁止直接访问数据库 - 必须通过 REST API
- 禁止引入后端依赖 - 如 Spring, MyBatis 等
✅ 允许范围
rui-frontend/
├── admin-ui/ ✅ 可修改(Vue3 管理后台)
├── cashier-mobile/ ✅ 可修改(收银移动端)
├── customer-mobile/ ✅ 可修改(顾客移动端)
├── package.json ✅ 可修改(根配置)
└── pnpm-workspace.yaml ✅ 可修改
🔗 与后端通信规范
1. API 调用方式
- 使用 Axios、Fetch 或各框架提供的 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(强制使用)
- 组件规范:组合式 API(setup 语法)
cashier-mobile / customer-mobile(移动端)
- 框架:uni-app(Vue3)
- 支持平台:小程序、H5、App
- 包管理器:pnpm(推荐)或 npm
- UI 框架:uni-ui 或 uview-plus
通用规范
- 代码风格:遵循项目现有 ESLint/Prettier 配置
- HTTP 客户端:统一封装请求拦截器(处理 Token、错误等)
- 路由管理:各项目自行管理前端路由
- 状态管理:根据框架选择(Pinia、Vuex、Redux、Zustand 等)
🔔 当需要后端支持时
如果前端需要新的 API 接口:
- 不要自己创建后端代码
- 在后端仓库的 Issue 中提需求
- 等待后端提供接口后再联调
📞 协作方式
- 前端 AI:只负责 rui-frontend 仓库
- 后端 AI:负责 spring-ai 仓库提供 API
- 沟通方式:通过 Gitea Issue / 钉钉通知
最后提醒:AI 必须严格限制在本仓库范围内开发,禁止跨仓库修改代码!