Files
vscode-workbench/.trae/documents/android-feature-parity-plan.md
T

330 lines
12 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Android 与 Web 端功能对齐计划
## 一、功能差异分析
### Web 端功能清单(60+ 页面)
| 模块 | 页面 | 路由 | 核心功能 |
|------|------|------|----------|
| **首页** | Home | `/` | Hero区域、快捷入口、最新更新日志、热门API、精选文章、学习路径、实用工具 |
| **学习** | Learn | `/learn` | 课程分类筛选、难度筛选、排序、收藏、分页 |
| | CourseLearn | `/course-learn` | 课程详情学习页 |
| **工具集** | Utility | `/utility` | 工具分类、搜索、排序、收藏、使用次数统计 |
| | JsonFormatter | `/utility/json-formatter` | JSON格式化 |
| | Base64Tool | `/utility/base64` | Base64编解码 |
| | TimestampTool | `/utility/timestamp` | 时间戳转换 |
| | RegexTool | `/utility/regex` | 正则表达式测试 |
| | TextDiff | `/utility/text-diff` | 文本对比 |
| | EncodingConverter | `/utility/encoding-converter` | 编码转换 |
| | CharsetConverter | `/utility/charset-converter` | 字符集转换 |
| | ColorConverter | `/utility/color-converter` | 颜色转换 |
| | CodeFormatter | `/utility/code-formatter` | 代码格式化 |
| | QRCodeGenerator | `/qrcode-generator` | 二维码生成 |
| | ImageCompressor | `/utility/image-compressor` | 图片压缩 |
| | Calculator | `/utility/calculator` | 计算器 |
| | DateCalculator | `/utility/date-calculator` | 日期计算 |
| | ImageEditor | `/utility/image-editor` | 图片编辑 |
| | ColorPicker | `/color-picker` | 颜色选择器 |
| **API** | ApiDirectory | `/api` | API目录展示 |
| | ApiDetail | `/api-detail/:id` | API详情 |
| | ApiDocs | `/api-docs` | API文档 |
| | ToolDetail | `/tool-detail` | 工具详情 |
| **文章** | Articles | `/articles` | 文章列表 |
| | ArticleDetail | `/article/:id` | 文章详情 |
| | ArticleManage | `/article-manage` | 文章管理 |
| | ArticleEditor | `/article-editor` | 文章编辑 |
| **消息** | Messages | `/messages` | 回复、@我、点赞、系统通知 |
| | SystemMessage | `/system-message` | 系统消息详情 |
| | Chat | `/chat` | 即时聊天 |
| **用户** | Profile | `/profile` | 个人资料 |
| | ProfileEmail | `/profile/email` | 邮箱设置 |
| | ProfilePhone | `/profile/phone` | 手机号设置 |
| | ProfileChangePassword | `/profile/change-password` | 修改密码 |
| | UserHome | `/user/:id` | 用户主页 |
| | Settings | `/settings` | 系统设置 |
| | History | `/history` | 历史记录 |
| | Favorites | `/favorites` | 收藏列表 |
| | Search | `/search` | 全局搜索 |
| **钱包** | Points | `/wallet/points` | 积分 |
| | Coins | `/wallet/coins` | 金币 |
| | Recharge | `/wallet/coins/recharge` | 充值 |
| | Invite | `/wallet/invite` | 邀请 |
| **任务** | TaskCenter | `/task-center` | 任务中心 |
| **反馈** | Bug | `/bug` | Bug反馈 |
| | BugDetail | `/bug-detail` | Bug详情 |
| **其他** | Changelog | `/changelog` | 更新日志 |
| | IPLocation | `/ip-location` | IP定位 |
| | CurrencyDetail | `/currency-detail` | 货币详情 |
| | AQIDetails | `/api/air-quality-details` | 空气质量详情 |
| | WeatherDetail | `/api/weather-details` | 天气详情 |
| | ShortUrlDetail | `/shorturl-detail` | 短链接详情 |
| | Manual | `/manual` | 使用手册 |
| | Privacy | `/privacy` | 隐私政策 |
| | UserAgreement | `/agreement` | 用户协议 |
| | ForgotPassword | `/forgot-password` | 忘记密码 |
| | InviteRedirect | `/invite/:code` | 邀请重定向 |
| | Console | `/console` | 控制台 |
### Android 端现有功能(9 个屏幕)
| 页面 | 文件 | 状态 |
|------|------|------|
| 首页 | HomeScreen.kt | ⚠️ 仅有工具分类网格,缺少Hero、快捷入口、文章、学习路径等 |
| 课程列表 | CourseListScreen.kt | ⚠️ 基础列表,缺少分类筛选、排序、收藏 |
| 课程详情 | CourseDetailScreen.kt | ⚠️ 基础详情,缺少进度、收藏 |
| 章节阅读 | ChapterReaderScreen.kt | ✅ 基础功能完整 |
| 登录 | LoginScreen.kt | ✅ 完整 |
| 确认登录 | ConfirmLoginScreen.kt | ✅ 完整 |
| 扫码登录 | ScanLoginScreen.kt | ✅ 完整 |
| 个人资料 | ProfileScreen.kt | ⚠️ 基础信息,缺少邮箱/手机/密码设置入口 |
| 设置 | SettingsScreen.kt | ⚠️ 基础设置,功能较少 |
| 课程管理 | CourseManageScreen.kt | ⚠️ 占位页面 |
---
## 二、功能对齐计划
### P0: 核心框架与基础功能(优先级最高)
#### 1. 完善首页(HomeScreen)
- [ ] 添加 Hero 区域(标题、副标题)
- [ ] 添加快捷入口(学习、工具、文章、API)
- [ ] 添加热门工具展示
- [ ] 添加入口导航功能
- [ ] 添加搜索功能跳转
#### 2. 完善个人资料(ProfileScreen)
- [ ] 添加邮箱设置入口
- [ ] 添加手机号设置入口
- [ ] 添加修改密码入口
- [ ] 添加用户等级/积分展示
#### 3. 新增消息中心
- [ ] 创建 MessagesScreen(回复、@我、点赞、系统通知)
- [ ] 创建 SystemMessageScreen
- [ ] 添加未读消息计数
- [ ] 添加消息已读/未读功能
#### 4. 新增搜索功能
- [ ] 创建 SearchScreen
- [ ] 添加工具、课程、文章搜索
- [ ] 添加搜索历史
#### 5. 新增收藏功能
- [ ] 创建 FavoritesScreen
- [ ] 添加工具收藏、课程收藏、文章收藏
- [ ] 添加收藏取消功能
#### 6. 新增历史记录
- [ ] 创建 HistoryScreen
- [ ] 添加浏览历史记录
- [ ] 添加历史清除功能
### P1: 内容模块
#### 1. 文章系统
- [ ] 创建 ArticlesScreen(文章列表)
- [ ] 创建 ArticleDetailScreen(文章详情)
- [ ] 添加文章分类筛选
- [ ] 添加文章点赞/评论
#### 2. 学习系统增强
- [ ] 完善 CourseListScreen(分类筛选、排序、收藏)
- [ ] 完善 CourseDetailScreen(进度显示、收藏)
- [ ] 创建 CourseLearnScreen(课程学习页)
#### 3. 工具集
- [ ] 创建 UtilityScreen(工具列表)
- [ ] 添加工具分类筛选
- [ ] 添加工具搜索
- [ ] 添加工具收藏
- [ ] 创建常用工具详情页(计算器、JSON格式化等)
### P2: 用户系统与钱包
#### 1. 钱包系统
- [ ] 创建 WalletScreen(积分、金币总览)
- [ ] 创建 PointsScreen(积分明细)
- [ ] 创建 CoinsScreen(金币明细)
- [ ] 创建 RechargeScreen(充值)
#### 2. 任务中心
- [ ] 创建 TaskCenterScreen
- [ ] 添加每日任务
- [ ] 添加任务奖励
#### 3. Bug反馈
- [ ] 创建 BugScreen(反馈列表)
- [ ] 创建 BugDetailScreen(反馈详情)
- [ ] 添加提交反馈功能
### P3: 高级功能
#### 1. API目录
- [ ] 创建 ApiDirectoryScreen
- [ ] 创建 ApiDetailScreen
- [ ] 创建 ApiDocsScreen
#### 2. 即时聊天
- [ ] 创建 ChatScreen
- [ ] 添加消息发送/接收
#### 3. 用户主页
- [ ] 创建 UserHomeScreen
- [ ] 添加用户动态
#### 4. 其他页面
- [ ] 创建 ChangelogScreen
- [ ] 创建 ManualScreen
- [ ] 创建 PrivacyScreen
- [ ] 创建 UserAgreementScreen
---
## 三、API 接口需求
### 需要新增的 API
| API | 端点 | 用途 |
|-----|------|------|
| MessageApi | `/api/messages/` | 消息列表 |
| | `/api/messages/unread_count/` | 未读消息数 |
| | `/api/messages/mark_read/` | 标记已读 |
| | `/api/messages/delete/` | 删除消息 |
| SearchApi | `/api/search/` | 全局搜索 |
| HistoryApi | `/api/history/` | 历史记录 |
| FavoritesApi | `/api/favorites/` | 收藏列表 |
| | `/api/favorites/toggle/` | 收藏/取消收藏 |
| ArticleApi | `/api/articles/` | 文章列表 |
| | `/api/articles/{id}/` | 文章详情 |
| WalletApi | `/api/wallet/` | 钱包信息 |
| | `/api/wallet/recharge/` | 充值 |
| TaskApi | `/api/tasks/` | 任务列表 |
| | `/api/tasks/complete/` | 完成任务 |
| BugApi | `/api/bugs/` | Bug反馈 |
| UserApi | `/api/user/{id}/` | 用户主页 |
---
## 四、实施步骤
### 第一阶段:修复编译错误 + 完善基础
1. 修复现有代码编译错误
2. 完善 HomeScreen(添加Hero、快捷入口)
3. 完善 ProfileScreen(添加设置入口)
4. 更新导航结构
### 第二阶段:核心功能
1. 实现消息中心
2. 实现搜索功能
3. 实现收藏功能
4. 实现历史记录
### 第三阶段:内容模块
1. 实现文章系统
2. 完善学习系统
3. 实现工具集
### 第四阶段:扩展功能
1. 实现钱包系统
2. 实现任务中心
3. 实现Bug反馈
4. 实现其他辅助页面
---
## 五、文件结构规划
```
app/src/main/java/com/chunyu/app/
├── data/
│ ├── api/
│ │ ├── AuthApi.kt (已有)
│ │ ├── LearnApi.kt (已有)
│ │ ├── ToolApi.kt (已有)
│ │ ├── UserApi.kt (已有)
│ │ ├── MessageApi.kt (新增)
│ │ ├── SearchApi.kt (新增)
│ │ ├── HistoryApi.kt (新增)
│ │ ├── FavoritesApi.kt (新增)
│ │ ├── ArticleApi.kt (新增)
│ │ ├── WalletApi.kt (新增)
│ │ ├── TaskApi.kt (新增)
│ │ └── BugApi.kt (新增)
│ └── repository/
│ ├── AuthRepository.kt (已有)
│ ├── ToolRepository.kt (已有)
│ ├── UserRepository.kt (已有)
│ ├── MessageRepository.kt (新增)
│ ├── SearchRepository.kt (新增)
│ ├── HistoryRepository.kt (新增)
│ ├── FavoritesRepository.kt (新增)
│ ├── ArticleRepository.kt (新增)
│ ├── WalletRepository.kt (新增)
│ ├── TaskRepository.kt (新增)
│ └── BugRepository.kt (新增)
├── ui/
│ └── screens/
│ ├── home/
│ │ └── HomeScreen.kt (完善)
│ ├── learn/
│ │ ├── CourseListScreen.kt (完善)
│ │ ├── CourseDetailScreen.kt (完善)
│ │ ├── CourseLearnScreen.kt (新增)
│ │ └── ChapterReaderScreen.kt (已有)
│ ├── tools/
│ │ ├── UtilityScreen.kt (新增)
│ │ ├── CalculatorScreen.kt (新增)
│ │ ├── JsonFormatterScreen.kt (新增)
│ │ └── ... (其他工具)
│ ├── articles/
│ │ ├── ArticlesScreen.kt (新增)
│ │ └── ArticleDetailScreen.kt (新增)
│ ├── messages/
│ │ ├── MessagesScreen.kt (新增)
│ │ ├── SystemMessageScreen.kt (新增)
│ │ └── ChatScreen.kt (新增)
│ ├── profile/
│ │ ├── ProfileScreen.kt (完善)
│ │ ├── ProfileEmailScreen.kt (新增)
│ │ ├── ProfilePhoneScreen.kt (新增)
│ │ └── ProfileChangePasswordScreen.kt (新增)
│ ├── wallet/
│ │ ├── WalletScreen.kt (新增)
│ │ ├── PointsScreen.kt (新增)
│ │ ├── CoinsScreen.kt (新增)
│ │ └── RechargeScreen.kt (新增)
│ ├── search/
│ │ └── SearchScreen.kt (新增)
│ ├── history/
│ │ └── HistoryScreen.kt (新增)
│ ├── favorites/
│ │ └── FavoritesScreen.kt (新增)
│ ├── task/
│ │ └── TaskCenterScreen.kt (新增)
│ ├── bug/
│ │ ├── BugScreen.kt (新增)
│ │ └── BugDetailScreen.kt (新增)
│ ├── settings/
│ │ └── SettingsScreen.kt (完善)
│ └── other/
│ ├── ChangelogScreen.kt (新增)
│ ├── ManualScreen.kt (新增)
│ ├── PrivacyScreen.kt (新增)
│ └── UserAgreementScreen.kt (新增)
└── navigation/
└── AppNavHost.kt (更新)
```
---
## 六、预期成果
完成本计划后,Android 端将:
1. 覆盖 Web 端 90% 以上的核心功能
2. 拥有完整的用户系统(资料、钱包、任务)
3. 拥有完整的内容系统(文章、学习、工具)
4. 拥有完整的消息系统(通知、聊天)
5. 拥有完善的历史记录和收藏功能
6. 提供良好的用户体验和界面一致性