Prechádzať zdrojové kódy

feat: 创建分层AGENTS.md文档系统

- 更新根目录AGENTS.md,包含JDTLS配置和分层文档说明
- 更新后端AGENTS.md,添加街道地址功能和代码地图
- 更新前端AGENTS.md,完善uni-app配置和地址匹配功能
- 新建Web管理端AGENTS.md,Vue.js + Element UI文档
- 新建Superpowers AGENTS.md,AI开发工具工作流规范
- 新建Tests AGENTS.md,分层测试策略和状态评估
User 5 mesiacov pred
rodič
commit
df4a989da0
6 zmenil súbory, kde vykonal 419 pridanie a 34 odobranie
  1. 66 10
      AGENTS.md
  2. 91 0
      docs/superpowers/AGENTS.md
  3. 106 0
      tests/AGENTS.md
  4. 40 11
      zxyj-backend/AGENTS.md
  5. 46 13
      zxyj-frontend/AGENTS.md
  6. 70 0
      zxyj-web/AGENTS.md

+ 66 - 10
AGENTS.md

@@ -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提供该模块的详细信息和特定约定。

+ 91 - 0
docs/superpowers/AGENTS.md

@@ -0,0 +1,91 @@
+# superpowers
+
+AI开发工具配置和规范,用于辅助项目开发。
+
+## WHERE TO LOOK
+
+| Task | Location | Notes |
+|------|----------|-------|
+| 设计文档 | `specs/` | 功能需求和设计规范 |
+| 实现计划 | `plans/` | 开发任务分解和计划 |
+| 技能配置 | 项目根目录 | AGENTS.md, CLAUDE.md配置 |
+
+## STRUCTURE
+
+```
+superpowers/
+├── specs/           # 设计规范文档
+│   ├── feature-*.md # 功能需求文档
+│   └── api-*.md     # API设计文档
+├── plans/           # 实现计划
+│   ├── sprint-*.md  # 迭代计划
+│   └── task-*.md    # 具体任务分解
+└── AGENTS.md        # 本文件
+```
+
+## CONVENTIONS
+
+- **文档格式:** Markdown格式,中英文混合
+- **需求描述:** 用户故事格式 (As a..., I want..., So that...)
+- **API设计:** OpenAPI风格,包含请求/响应示例
+- **任务分解:** 使用TODO列表,明确验收标准
+- **版本控制:** 文档随代码一起提交到git
+
+## ANTI-PATTERNS
+
+- **DO NOT** 写模糊不清的需求描述
+- **DO NOT** 跳过验收标准的定义
+- **DO NOT** 将设计和实现混为一谈
+- **NEVER** 不更新文档就直接修改代码
+- **NEVER** 创建无法验证完成的任务
+
+## UNIQUE WORKFLOWS
+
+1. **需求分析:** 先写specs文档,明确边界和验收标准
+2. **计划制定:** 在plans中分解任务,估计工作量
+3. **AI辅助:** 使用Sisyphus等AI工具执行具体实现
+4. **代码审查:** 确保实现符合设计和规范
+5. **文档更新:** 完成后更新相关文档
+
+## EXAMPLES
+
+### 功能需求文档结构
+```markdown
+# 功能名称
+**优先级:** P0/P1/P2
+**预计工时:** X小时
+
+## 用户故事
+As a [角色], I want [能力], so that [价值].
+
+## 验收标准
+- [ ] 标准1
+- [ ] 标准2
+
+## 技术考虑
+- 涉及模块
+- 数据变更
+- 性能影响
+```
+
+### 任务分解结构
+```markdown
+# 任务标题
+**状态:** pending/in_progress/completed
+**依赖:** 相关任务
+
+## TODO列表
+1. [ ] 步骤1
+2. [ ] 步骤2
+
+## 验证步骤
+1. 运行测试
+2. 检查功能
+```
+
+## NOTES
+
+- 所有文档应与代码保持同步
+- AI辅助开发时需提供清晰上下文
+- 定期回顾和更新计划状态
+- 保持文档简洁但完整

+ 106 - 0
tests/AGENTS.md

@@ -0,0 +1,106 @@
+# tests
+
+分层测试目录,包含单元测试、集成测试和端到端测试。
+
+## WHERE TO LOOK
+
+| Task | Location | Notes |
+|------|----------|-------|
+| 单元测试 | `unit/` | Vue组件和游戏逻辑测试 |
+| 集成测试 | `integration/` | API接口测试 |
+| 端到端测试 | `e2e/` | Playwright浏览器测试 |
+| Java测试 | `../zxyj-backend/src/test/` | Spring Boot后端测试 |
+
+## STRUCTURE
+
+```
+tests/
+├── unit/             # 单元测试
+│   └── games/        # 小游戏逻辑测试
+├── integration/      # 集成测试
+│   └── *.spec.js     # API接口测试
+├── e2e/              # 端到端测试
+│   └── *.spec.js     # Playwright浏览器测试
+└── AGENTS.md         # 本文件
+```
+
+## CONVENTIONS
+
+- **命名约定:** `*.spec.js` 用于JavaScript测试
+- **测试结构:** 使用 `describe/it` 语法
+- **断言库:** Jest风格断言
+- **API测试:** 直接调用后端接口,验证响应
+- **E2E测试:** 使用Playwright进行浏览器自动化
+
+## TEST TYPES
+
+### 单元测试 (`unit/`)
+- **目标:** Vue组件、游戏逻辑、工具函数
+- **工具:** Jest, @vue/test-utils
+- **示例:** `unit/games/1a2b.spec.js` - 游戏逻辑测试
+- **特点:** 隔离测试,不依赖外部服务
+
+### 集成测试 (`integration/`)
+- **目标:** API接口、服务间调用
+- **工具:** fetch/axios, 真实HTTP请求
+- **示例:** `integration/mini-games-api.spec.js` - 游戏API测试
+- **特点:** 测试接口契约,依赖运行中的后端
+
+### 端到端测试 (`e2e/`)
+- **目标:** 完整用户流程,浏览器交互
+- **工具:** Playwright
+- **示例:** `e2e/mini-games-playwright.spec.js` - 游戏流程测试
+- **特点:** 模拟真实用户操作,覆盖全链路
+
+### Java后端测试
+- **位置:** `zxyj-backend/src/test/java/`
+- **工具:** JUnit 5, Mockito, Spring Boot Test
+- **示例:** `GuideFamilyTaskControllerTest.java` - 控制器测试
+- **特点:** Spring上下文,MockMvc测试
+
+## ANTI-PATTERNS
+
+- **DO NOT** 写无法运行的测试(缺少依赖/配置)
+- **DO NOT** 在集成测试中使用硬编码token
+- **DO NOT** E2E测试依赖特定环境数据
+- **NEVER** 跳过测试就直接部署
+- **NEVER** 写没有断言的测试
+
+## CURRENT STATE
+
+### ✅ 已配置
+- 后端: Maven + Spring Boot Test (1个测试类)
+- 分层测试目录结构
+- Playwright E2E测试框架
+
+### ⚠️ 需要完善
+- 前端测试配置和依赖缺失
+- 测试运行脚本不完整
+- 测试覆盖率较低
+- 缺少测试数据准备和清理
+
+### ❌ 缺失
+- Jest/Playwright配置文件
+- npm测试脚本
+- 数据库测试夹具
+- 持续集成测试流水线
+
+## COMMANDS
+
+```bash
+# 后端测试
+cd zxyj-backend
+mvn test
+
+# Playwright E2E测试 (需要先安装依赖)
+npx playwright test tests/e2e/mini-games-playwright.spec.js
+
+# 目前前端测试无法直接运行,需要先配置
+```
+
+## NOTES
+
+- 测试文件存在但基础设施不完整
+- 部分测试为草稿/占位性质
+- 集成测试需要运行中的后端服务(8080端口)
+- 建议优先完善关键业务链路测试

+ 40 - 11
zxyj-backend/AGENTS.md

@@ -4,14 +4,25 @@ Spring Boot 2.7.18 后端服务,MyBatis-Plus ORM,JWT 认证。
 
 ## WHERE TO LOOK
 
-| Task | Location |
-|------|----------|
-| REST API 端点 | `src/main/java/com/zxyj/controller/` |
-| 业务逻辑 | `src/main/java/com/zxyj/service/` |
-| 数据实体 | `src/main/java/com/zxyj/entity/` |
-| MyBatis Mapper | `src/main/java/com/zxyj/mapper/` |
-| SQL 映射文件 | `src/main/resources/mapper/` |
-| 配置类 | `src/main/java/com/zxyj/config/` |
+| Task | Location | Notes |
+|------|----------|-------|
+| REST API 端点 | `src/main/java/com/zxyj/controller/` | 按功能分组: admin/, auth/, family/, guide/, task/, reward/ |
+| 业务逻辑 | `src/main/java/com/zxyj/service/` | Service 命名: `XxxService.java` |
+| 数据实体 | `src/main/java/com/zxyj/entity/` | 使用 MyBatis-Plus 注解 |
+| MyBatis Mapper | `src/main/java/com/zxyj/mapper/` | 接口文件,与XML映射对应 |
+| SQL 映射文件 | `src/main/resources/mapper/` | MyBatis XML 文件 |
+| 配置类 | `src/main/java/com/zxyj/config/` | JWT, Security, Swagger, DatabaseInitializer |
+| DTO传输对象 | `src/main/java/com/zxyj/dto/` | 请求/响应数据结构 |
+
+## CODE MAP (关键符号)
+
+| Symbol | Type | Location | Role |
+|--------|------|----------|------|
+| `AuthController` | Controller | `controller/auth/AuthController.java` | 微信登录、JWT 认证 |
+| `TaskService` | Service | `service/TaskService.java` | 任务业务逻辑核心 |
+| `User` | Entity | `entity/User.java` | 用户实体 (parent/child/teacher) |
+| `Task` | Entity | `entity/Task.java` | 任务实体 |
+| `DatabaseInitializer` | Config | `config/DatabaseInitializer.java` | 数据库迁移和初始化 |
 
 ## CONVENTIONS
 
@@ -20,18 +31,36 @@ Spring Boot 2.7.18 后端服务,MyBatis-Plus ORM,JWT 认证。
 - **响应包装:** 统一 `Result<T>` 返回,包含 code/message/data
 - **认证:** JWT Token,Header `Authorization: Bearer {token}`
 - **命名:** Controller 以 `Controller` 结尾,Service 以 `Service` 结尾
+- **控制器分组:** 按功能模块分为 admin, auth, family, guide, task, reward 子目录
 
-## ANTI-PATTERNS
+## ANTI-PATTERNS (本项目禁止)
 
 - **DO NOT** 在 Controller 直接操作 Mapper
-- **DO NOT** 跳过 Service 层直接调用 Mapper
+- **DO NOT** 跳过 Service 层直接调用 Mapper  
 - **DO NOT** 硬编码数据库连接,使用 `application.yml`
 - **NEVER** 在代码中硬编码 JWT 密钥
+- **NEVER** 使用 `@ts-ignore`、`as any` 绕过类型检查
+- **NEVER** 跳过 JWT 认证直接调用需登录接口
+
+## UNIQUE STYLES
+
+- 双角色系统:家长端/孩子端,登录后根据 `role` 字段分流,家长端可切孩子端,切换过来的孩子端可退出切换,即时出需要密码。直接登录的孩子端不能切换到家长 端
+- 指导师角色系统:指导师是个单独的角色,经过认证的指导师可以以指导师身份登录,指导师可切换自己作为家长端
+- 积分机制:完成任务加分、超时扣分,逻辑在 `PointsService`
+- 心愿审批流程:孩子创建 → 家长审批 → 扣减积分
+- 街道地址匹配:四级地址结构(省市区街道),区域回退匹配逻辑
 
 ## COMMANDS
 
 ```bash
 mvn clean install       # 编译打包
 mvn spring-boot:run     # 启动开发服务器 (localhost:8080)
-mvn test                # 运行测试
+mvn test                # 运行测试 (目前只有1个测试类)
 ```
+
+## NOTES
+
+- 数据库:MySQL 8.0,地址 `192.168.16.251:3306/zxyj`
+- 后端端口:8080,JWT 密钥在 `application.yml`
+- 街道数据:使用静态种子数据,街道匹配有回退机制
+- API冲突已修复:检查所有Controller确保无重复路径映射

+ 46 - 13
zxyj-frontend/AGENTS.md

@@ -1,24 +1,40 @@
 # zxyj-frontend
 
-uni-app 微信小程序前端,Vue 2 语法,4 个 TabBar 页面
+uni-app 微信小程序前端,Vue 2 语法,家庭教育任务管理
 
 ## WHERE TO LOOK
 
-| Task | Location |
-|------|----------|
-| 页面组件 | `pages/*/` (login, index, tasks, rewards, profile) |
-| 页面注册 | `pages.json` |
-| 应用配置 | `manifest.json` (AppID: wx5ba8038ef16fb245) |
-| 全局样式 | `uni.scss` |
-| 应用入口 | `App.vue` |
+| Task | Location | Notes |
+|------|----------|-------|
+| 页面组件 | `pages/*/` | login, index, tasks, rewards, profile, guide, games等 |
+| 页面注册 | `pages.json` | TabBar配置和页面路径 |
+| 应用配置 | `manifest.json` | AppID: `wx5ba8038ef16fb245` |
+| 全局样式 | `uni.scss` | SCSS变量和全局样式 |
+| 应用入口 | `App.vue` | 全局生命周期和配置 |
+| 组件库 | `components/` | 地址选择器、任务卡片等可复用组件 |
+| API配置 | `config/` | baseUrl和请求封装 |
+
+## STRUCTURE
+
+```
+pages/
+├── index/          # 首页(角色分流)
+├── login/          # 登录页
+├── tasks/          # 任务管理
+├── rewards/        # 心愿单
+├── profile/        # 个人中心
+├── guide/          # 指导师功能
+├── games/          # 小游戏
+└── parent/         # 家长专属功能
+```
 
 ## TabBar 配置
 
 pages.json 中定义 4 个 TabBar 页面:
-- 首页: `pages/index/index`
-- 任务: `pages/tasks/tasks`
-- 心愿单: `pages/rewards/rewards`
-- 我的: `pages/profile/profile`
+- 首页: `pages/index/index` - 角色分流入口
+- 任务: `pages/tasks/tasks` - 任务查看和管理
+- 心愿单: `pages/rewards/rewards` - 心愿兑换
+- 我的: `pages/profile/profile` - 个人设置和积分
 
 ## CONVENTIONS
 
@@ -26,13 +42,23 @@ pages.json 中定义 4 个 TabBar 页面:
 - **页面注册:** 新页面必须在 `pages.json` 中注册
 - **导航:** 使用 `uni.navigateTo`、`uni.redirectTo`
 - **API 调用:** 使用 `uni.request`,统一在 `config.baseUrl`
+- **地址选择:** 使用 `components/address-picker.vue` 四级联动组件
+- **角色切换:** 页面根据用户角色显示不同内容
 
 ## ANTI-PATTERNS
 
 - **DO NOT** 创建页面后忘记在 `pages.json` 注册
 - **DO NOT** 硬编码 API 地址,使用 `config.baseUrl`
-- **DO NOT** 在前端存储敏感信息
+- **DO NOT** 在前端存储敏感信息 (密码、密钥)
 - **NEVER** 跳过 JWT 认证直接调用需登录接口
+- **NEVER** 在本地存储中保存敏感用户信息
+
+## UNIQUE FEATURES
+
+- 地址匹配页面: `pages/match/street-match.vue` - 街道地址匹配功能
+- 地址编辑页面: `pages/family/address-edit.vue` - 家庭地址管理
+- 四级地址选择: `components/address-picker.vue` - 省市区街道联动
+- 双角色界面: 根据用户角色(parent/child)显示不同UI
 
 ## COMMANDS
 
@@ -41,3 +67,10 @@ npm install             # 安装依赖
 npm run dev:mp-weixin   # 开发模式 (微信小程序)
 npm run build:mp-weixin # 构建生产版本
 ```
+
+## NOTES
+
+- 小程序AppID: `wx5ba8038ef16fb245`
+- 后端API地址: 配置在 `config/index.js` 的 `baseUrl`
+- 地址数据: 使用后端街道API获取四级地址数据
+- 调试工具: 微信开发者工具需配置合法域名

+ 70 - 0
zxyj-web/AGENTS.md

@@ -0,0 +1,70 @@
+# zxyj-web
+
+Vue.js 2 Web管理端,Element UI组件库,用于后台管理。
+
+## WHERE TO LOOK
+
+| Task | Location | Notes |
+|------|----------|-------|
+| 页面组件 | `src/views/` | 管理界面页面组件 |
+| API调用 | `src/api/` | 后端API接口封装 |
+| 路由配置 | `src/router/` | Vue Router配置 |
+| 工具函数 | `src/utils/` | 通用工具函数 |
+| 状态管理 | `src/store/` | Vuex状态管理 |
+| 公共组件 | `src/components/` | 可复用UI组件 |
+
+## STRUCTURE
+
+```
+src/
+├── views/           # 页面视图组件
+│   ├── dashboard/   # 仪表板
+│   ├── task/        # 任务管理
+│   ├── reward/      # 奖励管理
+│   ├── user/        # 用户管理
+│   └── system/      # 系统设置
+├── api/             # API接口
+├── router/          # 路由配置
+├── store/           # Vuex状态
+├── utils/           # 工具函数
+└── components/      # 公共组件
+```
+
+## CONVENTIONS
+
+- **Vue 2:** 使用 Composition API (setup语法)
+- **UI框架:** Element UI组件库
+- **状态管理:** Vuex进行全局状态管理
+- **路由:** Vue Router,路由守卫处理权限
+- **API封装:** 使用axios,统一错误处理和拦截器
+- **权限控制:** 基于角色(admin/teacher)的菜单权限
+
+## ANTI-PATTERNS
+
+- **DO NOT** 在组件中直接调用axios,使用api目录的封装
+- **DO NOT** 硬编码API地址,使用环境变量配置
+- **DO NOT** 在前端处理敏感业务逻辑
+- **NEVER** 跳过权限检查直接访问受保护路由
+- **NEVER** 在前端存储管理员凭证
+
+## UNIQUE FEATURES
+
+- 管理员仪表板: 数据统计和系统概览
+- 任务审核界面: 批量审核任务功能
+- 用户角色管理: 管理员/指导师权限分配
+- 街道统计: 家庭和指导师的街道分布统计
+
+## COMMANDS
+
+```bash
+npm install          # 安装依赖
+npm run serve        # 开发模式 (localhost:8082)
+npm run build        # 生产构建
+```
+
+## NOTES
+
+- 开发端口: 8082 (避免与后端8080冲突)
+- 后端地址: 配置在环境变量中
+- 权限系统: 基于JWT token和角色权限
+- Element UI: 使用最新稳定版本,注意兼容性