From f03f22c6057d0041d8836c365240e6742242cc53 Mon Sep 17 00:00:00 2001 From: wangziqi Date: Sat, 8 Aug 2026 15:06:03 +0800 Subject: [PATCH] =?UTF-8?q?docs:=20=E6=9B=B4=E6=96=B0=E9=A1=B9=E7=9B=AE?= =?UTF-8?q?=E7=BB=93=E6=9E=84=E4=B8=8E=E9=83=A8=E7=BD=B2=E8=AF=B4=E6=98=8E?= =?UTF-8?q?=EF=BC=88apps/*=20=E5=B8=83=E5=B1=80=E3=80=81monorepo=20?= =?UTF-8?q?=E5=91=BD=E4=BB=A4=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 35 +++++++++++++++++++++-------------- 技术文档.md | 32 ++++++++++++++++++-------------- 2 files changed, 39 insertions(+), 28 deletions(-) diff --git a/README.md b/README.md index c8bcc0f..e4d8bed 100644 --- a/README.md +++ b/README.md @@ -16,6 +16,11 @@ | 账单导出 | Excel(汇总+明细双Sheet)、单条PDF账单 | | 教室管理 | 教室信息维护、教室租赁记录 | | 押金管理 | 押金收取与退还 | +| 班级/排课 | 班级档案、分班、教室日程与排课 | +| 考勤管理 | 手工考勤、钉钉考勤同步、自动匹配 | +| 教室租赁 | 租赁订单、合同、租赁日程 | +| AI 助手 | 对话式查询、表单/导入向导/图表、业务待办引导 | +| 组织/校区 | 组织机构与数据范围 | | 操作日志 | 所有涉及钱的操作自动审计留痕 | | 账号管理 | 用户增删改查、角色区分、启用/禁用、重置密码 | @@ -42,7 +47,7 @@ ### 后端启动 ```bash -cd backend +cd apps/server cp .env.example .env # 复制并修改环境配置 npm install npm run start:dev # 开发模式启动,默认端口 3000 @@ -51,46 +56,48 @@ npm run start:dev # 开发模式启动,默认端口 3000 ### 前端启动 ```bash -cd frontend +cd apps/admin npm install npm run dev # 开发模式启动,默认端口 5173 ``` -### Docker 部署 +### 常用命令 ```bash -docker-compose up -d # 一键启动 MySQL + 后端 + 前端 +npm run typecheck # 全仓类型检查 +npm run lint # 全仓 lint +npm run test # 全仓测试 +npm run build # 全仓构建 ``` ## 项目结构 ``` -├── backend/ # 后端 NestJS 服务 +├── apps/server/ # 后端 NestJS 服务 │ ├── src/ -│ │ ├── auth/ # 认证模块 (JWT) +│ │ ├── ai-chat/ # AI 对话、表单/导入向导/图表 +│ │ ├── attendance/ # 考勤与钉钉同步 │ │ ├── bills/ # 账单模块 -│ │ ├── classrooms/ # 教室管理 │ │ ├── dashboard/ # 数据面板 -│ │ ├── deposits/ # 押金管理 │ │ ├── entities/ # 数据实体 -│ │ ├── expenses/ # 费用录入 │ │ ├── occupancies/# 入住管理 +│ │ ├── rbac/ # 角色权限 │ │ ├── rooms/ # 宿舍管理 -│ │ ├── students/ # 学生管理 -│ │ └── tenants/ # 租户管理 +│ │ └── students/ # 学生管理 │ └── .env.example # 环境配置模板 -├── frontend/ # 前端 React 应用 +├── apps/admin/ # 前端 React 应用 │ └── src/ │ ├── api/ # API 请求封装 +│ ├── components/ # 通用组件 │ ├── layouts/ # 布局组件 │ └── pages/ # 页面组件 -├── docker-compose.yml # Docker 编排配置 +├── packages/ # 共享配置包 └── 技术文档.md # 详细技术文档 ``` ## 环境配置 -复制 `backend/.env.example` 为 `backend/.env`,按需修改: +复制 `apps/server/.env.example` 为 `apps/server/.env`,按需修改: | 配置项 | 说明 | 默认值 | |--------|------|--------| diff --git a/技术文档.md b/技术文档.md index 8d61ff7..0ffd358 100644 --- a/技术文档.md +++ b/技术文档.md @@ -58,8 +58,8 @@ ## 三、项目目录结构 ``` -宿舍水电费/ -├── backend/ # 后端(NestJS) +gongxue-base/ +├── apps/server/ # 后端(NestJS) │ ├── src/ │ │ ├── entities/ # 数据库实体 │ │ │ ├── student.entity.ts @@ -97,7 +97,7 @@ │ ├── package.json │ └── tsconfig.json │ -├── frontend/ # 前端(React + Vite) +├── apps/admin/ # 前端(React + Vite) │ ├── src/ │ │ ├── api/index.ts # axios 实例(自动携带JWT) │ │ ├── layouts/MainLayout.tsx # 主布局(桌面侧边栏/移动端Drawer) @@ -160,6 +160,8 @@ ## 六、API 接口列表 +> 以下为早期接口清单,完整接口以当前代码路由为准。 + ### 认证 | 方法 | 路径 | 说明 | |------|------|------| @@ -195,7 +197,7 @@ ## 七、环境变量配置 -参见 `backend/.env.example`: +参见 `apps/server/.env.example`: | 变量 | 说明 | 默认值 | |------|------|--------| @@ -221,18 +223,18 @@ ```bash # 1. 上传代码到服务器 # 2. 配置后端环境变量 -cd /www/wwwroot/dorm-billing/backend +cd apps/server cp .env.example .env vi .env # 填入真实的数据库密码、JWT密钥、管理员密码 # 3. 安装依赖 & 构建 -cd backend && npm install && npm run build -cd ../frontend && npm install && npm run build +npm install +npm run build -w @gongxue/server +npm run build -w @gongxue/admin # 4. PM2 启动后端 -cd ../backend -pm2 start dist/main.js --name dorm-billing -pm2 save && pm2 startup +pm2 startOrReload ecosystem.config.cjs --update-env +pm2 save ``` ### Nginx 配置 @@ -267,8 +269,8 @@ server { | 角色 | 权限 | |------|------| -| admin(管理员) | 所有功能 + 账号管理 | -| operator(操作员) | 除账号管理外的所有功能 | +| 超管 / 系统管理员 | 所有功能 + 账号管理 | +| 教务 / 住宿运营 / 教室运营 / 任课老师 | 按权限点控制,以 `rbac` 种子数据为准 | --- @@ -282,6 +284,8 @@ pm2 logs dorm-billing pm2 restart dorm-billing # 更新代码后重新部署 -cd backend && npm install && npm run build && pm2 restart dorm-billing -cd ../frontend && npm install && npm run build +npm install +npm run build -w @gongxue/server +npm run build -w @gongxue/admin +pm2 startOrReload ecosystem.config.cjs --update-env ```