274 lines
7.0 KiB
Markdown
274 lines
7.0 KiB
Markdown
# 任务规划
|
||
|
||
## 1. Phase 1:核心查询功能
|
||
|
||
### 1.1 数据库基础建设
|
||
|
||
#### 101 数据库连接模块
|
||
- **任务描述**:实现 MySQL 和 SQLite 数据库连接管理
|
||
- **技术要点**:
|
||
- MySQL 连接池管理(远程数据库)
|
||
- SQLite 本地数据库初始化
|
||
- 连接配置管理
|
||
- **依赖**:无
|
||
- **优先级**:P0
|
||
|
||
#### 102 数据模型定义
|
||
- **任务描述**:定义 `ssq_history` 数据模型结构
|
||
- **技术要点**:
|
||
- Go 结构体定义(对应数据库表)
|
||
- 字段验证规则
|
||
- 模型方法(查询、插入等)
|
||
- **依赖**:101
|
||
- **优先级**:P0
|
||
|
||
#### 103 Repository 层实现
|
||
- **任务描述**:实现数据访问层(MySQL 和 SQLite)
|
||
- **技术要点**:
|
||
- MySQL Repository:远程数据查询
|
||
- SQLite Repository:本地数据查询和写入
|
||
- 统一接口抽象
|
||
- **依赖**:102
|
||
- **优先级**:P0
|
||
|
||
### 1.2 查询服务层
|
||
|
||
#### 104 查询服务实现
|
||
- **任务描述**:实现核心查询业务逻辑
|
||
- **技术要点**:
|
||
- 红球匹配算法(支持部分匹配)
|
||
- 蓝球筛选逻辑
|
||
- 匹配结果分类统计(0-6个红球 + 蓝球组合)
|
||
- **依赖**:103
|
||
- **优先级**:P0
|
||
|
||
#### 105 查询结果处理
|
||
- **任务描述**:处理查询结果,生成分类统计和详细列表
|
||
- **技术要点**:
|
||
- 匹配度计算
|
||
- 结果分类(13种匹配类型)
|
||
- 数据格式化
|
||
- **依赖**:104
|
||
- **优先级**:P0
|
||
|
||
### 1.3 Wails API 层
|
||
|
||
#### 106 API 接口定义
|
||
- **任务描述**:定义 Wails 绑定方法,供前端调用
|
||
- **技术要点**:
|
||
- 查询接口:`QueryHistory(params)`
|
||
- 参数结构体封装(红球、蓝球、筛选条件)
|
||
- 返回结果结构体
|
||
- **依赖**:105
|
||
- **优先级**:P0
|
||
|
||
#### 107 API 实现
|
||
- **任务描述**:实现 API 方法,调用 Service 层
|
||
- **技术要点**:
|
||
- 参数验证
|
||
- 错误处理
|
||
- 结果返回
|
||
- **依赖**:106
|
||
- **优先级**:P0
|
||
|
||
### 1.4 前端查询界面
|
||
|
||
#### 108 查询条件组件
|
||
- **任务描述**:实现查询条件输入界面
|
||
- **技术要点**:
|
||
- 6个红球输入框(数字输入,范围1-33)
|
||
- 1个蓝球输入框(数字输入,范围1-16)
|
||
- 16个蓝球筛选复选框 + 全选功能
|
||
- 查询按钮、重置按钮
|
||
- **依赖**:无
|
||
- **优先级**:P0
|
||
|
||
#### 109 查询结果展示组件
|
||
- **任务描述**:实现查询结果展示界面
|
||
- **技术要点**:
|
||
- 左侧汇总列表(13种匹配类型统计)
|
||
- 右侧详情列表(期号、红球、蓝球)
|
||
- 数字颜色标识(匹配红球红色、匹配蓝球蓝色、未匹配黑色)
|
||
- **依赖**:108
|
||
- **优先级**:P0
|
||
|
||
#### 110 交互功能实现
|
||
- **任务描述**:实现查询交互逻辑
|
||
- **技术要点**:
|
||
- 点击汇总项显示详细记录
|
||
- 扩展查询功能(前后n期)
|
||
- 扩展显示低匹配度结果(≤3个红球)
|
||
- **依赖**:109, 107
|
||
- **优先级**:P0
|
||
|
||
#### 111 前端与后端集成
|
||
- **任务描述**:前端调用 Wails API,完成查询流程
|
||
- **技术要点**:
|
||
- Wails 绑定方法调用
|
||
- 数据传递和格式化
|
||
- 错误处理和提示
|
||
- **依赖**:110
|
||
- **优先级**:P0
|
||
|
||
---
|
||
|
||
## 2. Phase 2:数据管理
|
||
|
||
### 2.1 数据同步功能
|
||
|
||
#### 201 数据同步服务
|
||
- **任务描述**:实现 MySQL 到 SQLite 的数据同步逻辑
|
||
- **技术要点**:
|
||
- 增量同步(基于 `issue_number`)
|
||
- 数据校验和去重
|
||
- 同步状态记录
|
||
- **依赖**:103
|
||
- **优先级**:P1
|
||
|
||
#### 202 同步触发机制
|
||
- **任务描述**:实现同步触发方式
|
||
- **技术要点**:
|
||
- 应用启动时自动同步
|
||
- 手动触发同步
|
||
- 定时同步(可选)
|
||
- **依赖**:201
|
||
- **优先级**:P1
|
||
|
||
#### 203 同步状态展示
|
||
- **任务描述**:前端展示同步状态和进度
|
||
- **技术要点**:
|
||
- 同步进度条
|
||
- 同步日志显示
|
||
- 同步结果提示
|
||
- **依赖**:202
|
||
- **优先级**:P1
|
||
|
||
### 2.2 本地数据管理
|
||
|
||
#### 204 数据统计功能
|
||
- **任务描述**:展示本地数据统计信息
|
||
- **技术要点**:
|
||
- 数据总量统计
|
||
- 最新期号显示
|
||
- 数据更新时间
|
||
- **依赖**:103
|
||
- **优先级**:P1
|
||
|
||
#### 205 数据刷新功能
|
||
- **任务描述**:手动刷新本地数据
|
||
- **技术要点**:
|
||
- 刷新按钮
|
||
- 刷新进度提示
|
||
- 刷新结果反馈
|
||
- **依赖**:202
|
||
- **优先级**:P1
|
||
|
||
#### 206 数据备份与恢复
|
||
- **任务描述**:实现数据备份和恢复功能
|
||
- **技术要点**:
|
||
- 导出 SQLite 数据包
|
||
- 导入数据包
|
||
- 备份文件管理
|
||
- **依赖**:103
|
||
- **优先级**:P2
|
||
|
||
---
|
||
|
||
## 3. Phase 3:其他功能
|
||
|
||
### 3.1 版本更新
|
||
|
||
#### 301 更新检查功能
|
||
- **任务描述**:实现版本更新检查
|
||
- **技术要点**:
|
||
- 版本号管理(语义化版本格式)
|
||
- 远程版本检查接口(JSON 格式)
|
||
- 版本号比较逻辑
|
||
- 更新提示界面
|
||
- 检查触发机制(启动检查、手动检查)
|
||
- **依赖**:无
|
||
- **优先级**:P2
|
||
- **参考文档**:`docs/04-功能迭代/版本更新/任务规划.md`
|
||
|
||
#### 302 更新下载和安装
|
||
- **任务描述**:实现更新包下载和安装
|
||
- **技术要点**:
|
||
- 更新包下载(支持断点续传)
|
||
- 下载进度展示
|
||
- 文件校验(MD5/SHA256)
|
||
- 自动/手动安装
|
||
- 安装前备份和失败回滚
|
||
- 更新日志展示
|
||
- **依赖**:301
|
||
- **优先级**:P2
|
||
- **参考文档**:`docs/04-功能迭代/版本更新/任务规划.md`
|
||
|
||
### 3.2 离线数据包
|
||
|
||
#### 303 离线数据包管理
|
||
- **任务描述**:离线数据包的下载、导入、更新
|
||
- **技术要点**:
|
||
- 数据包下载
|
||
- 数据包导入
|
||
- 数据包更新检查
|
||
- **依赖**:206
|
||
- **优先级**:P2
|
||
|
||
### 3.3 授权管理
|
||
|
||
#### 304 授权码管理
|
||
- **任务描述**:实现设备授权码管理
|
||
- **技术要点**:
|
||
- 设备标识生成(基于主机名、用户目录、操作系统)
|
||
- 授权码输入和格式验证
|
||
- 授权码与设备ID绑定
|
||
- 授权状态存储(SQLite 本地数据库)
|
||
- 授权信息查询接口
|
||
- **依赖**:无
|
||
- **优先级**:P2
|
||
- **参考文档**:`docs/04-功能迭代/授权码功能/授权码功能设计.md`
|
||
|
||
#### 305 激活验证
|
||
- **任务描述**:实现激活状态验证
|
||
- **技术要点**:
|
||
- 应用启动时自动验证授权状态
|
||
- 授权信息展示
|
||
- 授权失效处理
|
||
- 设备ID查询接口
|
||
- **依赖**:304
|
||
- **优先级**:P2
|
||
- **参考文档**:`docs/04-功能迭代/授权码功能/授权码功能设计.md`
|
||
|
||
---
|
||
|
||
## 4. 任务优先级说明
|
||
|
||
- **P0**:核心功能,必须完成,Phase 1 所有任务
|
||
- **P1**:重要功能,Phase 2 主要任务
|
||
- **P2**:辅助功能,Phase 3 所有任务
|
||
|
||
---
|
||
|
||
## 5. 开发顺序建议
|
||
|
||
### 第一阶段(核心功能)
|
||
1. 101 → 102 → 103(数据库基础)
|
||
2. 104 → 105(查询服务)
|
||
3. 106 → 107(API 层)
|
||
4. 108 → 109 → 110 → 111(前端界面)
|
||
|
||
### 第二阶段(数据管理)
|
||
1. 201 → 202 → 203(数据同步)
|
||
2. 204 → 205(数据管理)
|
||
3. 206(数据备份,可选)
|
||
|
||
### 第三阶段(其他功能)
|
||
1. 301 → 302(版本更新)
|
||
2. 303(离线数据包)
|
||
3. 304 → 305(授权管理)
|
||
|
||
---
|
||
|
||
> 文档维护者:JueChen
|
||
> 创建时间:2026-01-07
|