# AI 开发边界配置 - 前端仓库 > **警告**:本文件定义 AI 的开发边界,AI 必须严格遵守! ## 🎯 本仓库职责 **rui-frontend** 是睿核科技的前端工程集合,包含: - `admin-ui` - 管理后台(Vue3 + TypeScript + Vite) - `cashier-mobile` - 收银移动端(技术栈待定,可能是 uni-app、React Native 等) - `customer-mobile` - 顾客移动端(技术栈待定,可能是 uni-app、React Native 等) ## 🚫 绝对禁止 1. **禁止修改后端代码** - 本仓库只有前端代码 2. **禁止修改 API 接口定义** - 接口定义在后端仓库 3. **禁止直接访问数据库** - 必须通过 REST API 4. **禁止引入后端依赖** - 如 Spring, MyBatis 等 ## ✅ 允许范围 ``` rui-frontend/ ├── admin-ui/ ✅ 可修改(Vue3 管理后台) ├── cashier-mobile/ ✅ 可修改(收银移动端) ├── customer-mobile/ ✅ 可修改(顾客移动端) ├── package.json ✅ 可修改(根配置) └── pnpm-workspace.yaml ✅ 可修改 ``` ## 🔗 与后端通信规范 ### 1. API 调用方式 - 使用 **Axios**、**Fetch** 或各框架提供的 HTTP 客户端发送请求 - 禁止直接引用后端 Java 类 ### 2. 接口地址规范 ```typescript // 正确示例(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 保持一致(但不直接引用) ```typescript // 前端自定义类型 interface UserDTO { id: number; username: string; // ... } ``` ## 📝 编码规范 ### admin-ui(管理后台) - **框架**:Vue 3 + TypeScript + Vite - **包管理器**:pnpm(强制使用) - **组件规范**:组合式 API(setup 语法) ### cashier-mobile / customer-mobile(移动端) - **框架**:待定(根据需求选择 uni-app、React Native、Flutter 等) - **选型原则**: - uni-app:跨平台、快速开发、适合小程序+H5+App - React Native:性能要求高、需要原生能力 - Flutter:高性能、自定义 UI - **包管理器**:pnpm(推荐)或 npm ### 通用规范 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 必须严格限制在本仓库范围内开发,禁止跨仓库修改代码!