|
|
@@ -1,8 +1,8 @@
|
|
|
# 知心益家 (ZXYJ) - Project Knowledge Base
|
|
|
|
|
|
-**Generated:** 2026-04-04
|
|
|
-**Commit:** Current
|
|
|
-**Branch:** main
|
|
|
+**Generated:** 2026-04-09
|
|
|
+**Commit:** 20fbc81
|
|
|
+**Branch:** master
|
|
|
|
|
|
## OVERVIEW
|
|
|
|
|
|
@@ -14,7 +14,13 @@
|
|
|
zxyj/
|
|
|
├── zxyj-backend/ # Spring Boot 后端服务
|
|
|
│ └── src/main/java/com/zxyj/
|
|
|
-│ ├── controller/ # REST API (AuthController, TaskController, etc.)
|
|
|
+│ ├── controller/ # REST API (已重组为子目录)
|
|
|
+│ │ ├── admin/ # 管理端控制器
|
|
|
+│ │ ├── auth/ # 认证控制器
|
|
|
+│ │ ├── family/ # 家庭管理控制器
|
|
|
+│ │ ├── guide/ # 指导师控制器
|
|
|
+│ │ ├── task/ # 任务控制器
|
|
|
+│ │ └── reward/ # 奖励控制器
|
|
|
│ ├── service/ # 业务逻辑
|
|
|
│ ├── entity/ # JPA 实体 (Task, Reward, User, etc.)
|
|
|
│ ├── mapper/ # MyBatis-Plus Mapper
|
|
|
@@ -27,7 +33,11 @@ zxyj/
|
|
|
│ ├── App.vue # 应用入口
|
|
|
│ └── manifest.json # uni-app 配置
|
|
|
│
|
|
|
-├── zxyj-web/ # Web 前端 (生成文件,跳过)
|
|
|
+├── zxyj-web/ # Vue.js Web管理端
|
|
|
+│ └── src/
|
|
|
+│ ├── views/ # 页面组件
|
|
|
+│ ├── api/ # API调用
|
|
|
+│ └── router/ # 路由配置
|
|
|
│
|
|
|
└── docs/ # 文档
|
|
|
├── superpowers/ # AI 开发工具配置
|
|
|
@@ -35,11 +45,33 @@ zxyj/
|
|
|
└── plans/ # 实现计划
|
|
|
```
|
|
|
|
|
|
+## JAVA LSP 配置
|
|
|
+
|
|
|
+### JDTLS 安装状态
|
|
|
+
|
|
|
+- **JDTLS 路径**: `E:\develop\jdtls`
|
|
|
+- **JDK 21 路径**: `E:\develop\Java\jdk-21.0.10+7`
|
|
|
+- **启动脚本**: `E:\develop\jdtls\bin\jdtls-launch.bat`
|
|
|
+
|
|
|
+### VSCode 配置
|
|
|
+
|
|
|
+`.vscode/settings.json` 已配置:
|
|
|
+```json
|
|
|
+{
|
|
|
+ "java.configuration.runtimes": [
|
|
|
+ { "name": "JavaSE-1.8", "path": "E:\\develop\\Java\\jdk1.8.0_181", "default": true },
|
|
|
+ { "name": "JavaSE-21", "path": "E:\\develop\\Java\\jdk-21.0.10+7" }
|
|
|
+ ],
|
|
|
+ "java.home": "E:\\develop\\Java\\jdk1.8.0_181",
|
|
|
+ "java.jdt.ls.java.home": "E:\\develop\\Java\\jdk-21.0.10+7"
|
|
|
+}
|
|
|
+```
|
|
|
+
|
|
|
## WHERE TO LOOK
|
|
|
|
|
|
| Task | Location | Notes |
|
|
|
|------|----------|-------|
|
|
|
-| 添加 REST API | `zxyj-backend/src/main/java/com/zxyj/controller/` | Controller 命名: `XxxController.java` |
|
|
|
+| 添加 REST API | `zxyj-backend/src/main/java/com/zxyj/controller/` | 按功能分组: admin/, auth/, family/, guide/, task/, reward/ |
|
|
|
| 修改业务逻辑 | `zxyj-backend/src/main/java/com/zxyj/service/` | Service 命名: `XxxService.java` |
|
|
|
| 添加数据实体 | `zxyj-backend/src/main/java/com/zxyj/entity/` | 使用 MyBatis-Plus 注解 |
|
|
|
| SQL 查询 | `zxyj-backend/src/main/resources/mapper/` | MyBatis XML 文件 |
|
|
|
@@ -51,9 +83,10 @@ zxyj/
|
|
|
|
|
|
| Symbol | Type | Location | Role |
|
|
|
|--------|------|----------|------|
|
|
|
-| `AuthController` | Controller | `controller/AuthController.java` | 微信登录、JWT 认证 |
|
|
|
-| `TaskController` | Controller | `controller/TaskController.java` | 任务 CRUD、审核 |
|
|
|
-| `RewardController` | Controller | `controller/RewardController.java` | 心愿兑换、审批 |
|
|
|
+| `AuthController` | Controller | `controller/auth/AuthController.java` | 微信登录、JWT 认证 |
|
|
|
+| `AdminController` | Controller | `controller/admin/AdminController.java` | 管理端API |
|
|
|
+| `TaskController` | Controller | `controller/task/TaskController.java` | 任务 CRUD、审核 |
|
|
|
+| `RewardController` | Controller | `controller/reward/RewardController.java` | 心愿兑换、审批 |
|
|
|
| `TaskService` | Service | `service/TaskService.java` | 任务业务逻辑 |
|
|
|
| `User` | Entity | `entity/User.java` | 用户实体 (家长/孩子) |
|
|
|
| `Task` | Entity | `entity/Task.java` | 任务实体 |
|
|
|
@@ -62,10 +95,12 @@ zxyj/
|
|
|
## CONVENTIONS
|
|
|
|
|
|
- **后端:** Spring Boot 标准分层架构 (Controller → Service → Mapper)
|
|
|
+- **控制器分组:** 按功能模块分为 admin, auth, family, guide, task, reward
|
|
|
- **ORM:** MyBatis-Plus,使用 `@TableName`、`@TableId` 注解
|
|
|
- **API 响应:** 统一使用 `Result<T>` 包装,包含 code、message、data
|
|
|
- **认证:** JWT Token,放在 Header `Authorization: Bearer {token}`
|
|
|
- **前端:** uni-app Vue 2 语法,小程序原生组件
|
|
|
+- **Web前端:** Vue 2 + Element UI
|
|
|
|
|
|
## ANTI-PATTERNS
|
|
|
|
|
|
@@ -77,7 +112,8 @@ zxyj/
|
|
|
|
|
|
## UNIQUE STYLES
|
|
|
|
|
|
-- 双角色系统:家长端/孩子端,登录后根据 `role` 字段分流
|
|
|
+- 双角色系统:家长端/孩子端,登录后根据 `role` 字段分流,家长端可切孩子端,切换过来的孩子端可退出切换,即时出需要密码。直接登录的孩子端不能切换到家长 端
|
|
|
+- 指导师角色系统:指导师是个单独的角色,经过认证的指导师可以以指导师身份登录,指导师可切换自己作为家长端
|
|
|
- 积分机制:完成任务加分、超时扣分,逻辑在 `PointsService`
|
|
|
- 心愿审批流程:孩子创建 → 家长审批 → 扣减积分
|
|
|
|
|
|
@@ -94,6 +130,10 @@ cd zxyj-frontend
|
|
|
npm install # 安装依赖
|
|
|
npm run dev:mp-weixin # 开发模式 (微信小程序)
|
|
|
|
|
|
+# Web前端开发
|
|
|
+cd zxyj-web
|
|
|
+npm run serve # 开发模式 (localhost:8082)
|
|
|
+
|
|
|
# 数据库初始化
|
|
|
mysql -u root -p zxyj < zxyj-backend/src/main/resources/schema.sql
|
|
|
```
|
|
|
@@ -105,3 +145,19 @@ mysql -u root -p zxyj < zxyj-backend/src/main/resources/schema.sql
|
|
|
- 小程序 AppID:`wx5ba8038ef16fb245`
|
|
|
- Swagger API 文档:`http://localhost:8080/swagger-ui.html`
|
|
|
- `.idea/`、`系统功能/` 为 IDE 配置,不影响构建
|
|
|
+
|
|
|
+## HIERARCHICAL DOCUMENTATION
|
|
|
+
|
|
|
+本项目使用分层AGENTS.md文档系统:
|
|
|
+
|
|
|
+```
|
|
|
+zxyj/
|
|
|
+├── AGENTS.md # 项目总览 (本文件)
|
|
|
+├── zxyj-backend/AGENTS.md # 后端详细文档
|
|
|
+├── zxyj-frontend/AGENTS.md # 小程序前端文档
|
|
|
+├── zxyj-web/AGENTS.md # Web管理端文档
|
|
|
+├── docs/superpowers/AGENTS.md # AI开发工具配置
|
|
|
+└── tests/AGENTS.md # 测试策略文档
|
|
|
+```
|
|
|
+
|
|
|
+每个子目录的AGENTS.md提供该模块的详细信息和特定约定。
|