观澜浏览器 - Via功能差异实现任务清单
🎯 任务概览
基于Via浏览器APK分析,识别出4个缺失功能需要实现。以下是具体的开发任务清单:
📋 任务1:阅读模式实现
1.1 创建阅读模式管理器
文件: src/main/ets/managers/ReaderModeManager.ets
预估时间: 4小时
优先级: P0
功能需求:
- 实现内容提取算法(基于Readability)
- 实现样式应用逻辑
- 实现设置持久化
- 提供API接口
代码结构:
export class ReaderModeManager {
// 单例模式
private static instance: ReaderModeManager;
// 阅读设置
private settings: ReaderSettings = {
fontSize: 16,
fontFamily: 'HarmonyOS Sans',
lineHeight: 1.6,
backgroundColor: '#FFFFFF',
textColor: '#333333'
};
// 提取网页正文
extractContent(html: string): string {
// TODO: 实现内容提取
}
// 应用阅读样式
applyReaderStyle(content: string): string {
// TODO: 应用样式
}
// 保存设置
saveSettings(settings: ReaderSettings): void {
// TODO: 持久化存储
}
}
1.2 创建阅读模式页面
文件: src/main/ets/pages/ReaderModePage.ets
预估时间: 6小时
优先级: P0
UI组件:
- 顶部控制栏(返回、分享、设置)
- 内容显示区域
- 底部设置面板
- 字体大小调节滑块
- 背景色选择器
- 字体类型选择
交互功能:
- 页面内容提取和显示
- 字体大小实时调整
- 背景色切换
- 设置保存和加载
1.3 集成到浏览器菜单
文件: src/main/ets/pages/BrowserPage.ets
预估时间: 2小时
优先级: P0
修改内容:
- 在BrowserMenu中添加"阅读模式"选项
- 实现页面跳转逻辑
- 添加阅读模式状态检测
📋 任务2:用户代理切换
2.1 创建UA管理器
文件: src/main/ets/managers/UserAgentManager.ets
预估时间: 2小时
优先级: P1
功能需求:
- 预设UA列表管理
- 当前UA状态管理
- 设置持久化
- WebView UA应用
预设UA列表:
const UA_PRESETS = {
'Android': 'Mozilla/5.0 (Linux; Android 13) AppleWebKit/537.36',
'iOS': 'Mozilla/5.0 (iPhone; CPU iPhone OS 16_0) AppleWebKit/605.1.15',
'Desktop': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36',
'iPad': 'Mozilla/5.0 (iPad; CPU OS 16_0) AppleWebKit/605.1.15',
'Custom': '' // 用户自定义
};
2.2 创建UA设置页面
文件: src/main/ets/pages/UASettingsPage.ets
预估时间: 3小时
优先级: P1
UI组件:
- 预设UA单选按钮组
- 自定义UA输入框
- 应用按钮
- 当前UA显示
交互功能:
- UA选择切换
- 自定义UA输入验证
- UA应用到WebView
- 设置保存
2.3 集成到设置页面
文件: src/main/ets/pages/SettingsPage.ets
预估时间: 1小时
优先级: P1
修改内容:
- 在SettingsPage添加"用户代理"设置项
- 实现页面跳转
- 显示当前UA状态
📋 任务3:证书详情显示
3.1 扩展站点信息对话框
文件: src/main/ets/components/SiteInfoDialog.ets
预估时间: 2小时
优先级: P2
新增功能:
- 证书信息显示区域
- 证书详情解析
- 安全状态评估
- 复制证书信息功能
证书信息模型:
interface CertificateInfo {
issuer: string; // 颁发者
subject: string; // 主题
validFrom: string; // 有效期开始
validTo: string; // 有效期结束
algorithm: string; // 加密算法
fingerprint: string; // 指纹
isTrusted: boolean; // 是否受信任
}
3.2 获取证书信息
文件: src/main/ets/pages/BrowserPage.ets
预估时间: 2小时
优先级: P2
实现内容:
- WebView证书回调处理
- 证书信息解析
- 安全状态判断逻辑
- 错误处理
📋 任务4:代理设置功能
4.1 创建代理管理器
文件: src/main/ets/managers/ProxyManager.ets
预估时间: 4小时
优先级: P3
功能需求:
- 代理配置管理
- 代理类型支持(HTTP/HTTPS/SOCKS)
- 认证信息管理
- 连接测试功能
代理配置模型:
interface ProxyConfig {
type: 'none' | 'http' | 'https' | 'socks';
host: string;
port: number;
useAuth: boolean;
username?: string;
password?: string;
}
4.2 创建代理设置页面
文件: src/main/ets/pages/ProxySettingsPage.ets
预估时间: 6小时
优先级: P3
UI组件:
- 代理类型选择
- 服务器地址输入
- 端口输入
- 认证信息输入
- 测试连接按钮
- 保存/取消按钮
交互功能:
- 代理配置验证
- 连接测试
- 配置保存和应用
4.3 集成到WebView
文件: src/main/ets/pages/BrowserPage.ets
预估时间: 2小时
优先级: P3
实现内容:
- WebView代理配置
- 代理切换逻辑
- 网络请求代理应用
📋 任务5:SSL证书管理
5.1 证书信任管理
文件: src/main/ets/managers/CertificateManager.ets
预估时间: 6小时
优先级: P3
功能需求:
- 证书信任列表管理
- 证书错误处理
- 证书导入/导出
- 证书验证
5.2 证书管理界面
文件: src/main/ets/pages/CertificatePage.ets
预估时间: 6小时
优先级: P3
UI组件:
- 证书列表显示
- 证书详情查看
- 信任管理
- 导入/导出功能
🚀 开发优先级排序
第一阶段(本周完成)
-
阅读模式实现 (P0)
- 阅读模式管理器 ✓
- 阅读模式页面 ✓
- 菜单集成 ✓
-
用户代理切换 (P1)
- UA管理器 ✓
- UA设置页面 ✓
- 设置集成 ✓
第二阶段(下周完成)
- 证书详情显示 (P2)
- 站点信息对话框扩展 ✓
- 证书信息获取 ✓
第三阶段(下下周完成)
-
代理设置功能 (P3)
- 代理管理器
- 代理设置页面
- WebView集成
-
SSL证书管理 (P3)
- 证书信任管理
- 证书管理界面
🔧 技术要点
阅读模式技术要点
-
内容提取算法
- 使用类似Readability的算法
- 基于DOM解析和评分
- 移除广告和干扰元素
-
样式应用
- CSS注入技术
- 动态样式调整
- 主题支持
用户代理技术要点
-
UA管理
- WebView.setUserAgent() API
- UA字符串验证
- 设置持久化
-
兼容性处理
- 不同网站的UA兼容性
- 页面刷新逻辑
- 状态同步
证书管理技术要点
-
证书信息获取
- WebView证书回调
- 证书信息解析
- 安全状态评估
-
信任管理
- 证书存储
- 信任验证
- 错误处理
🧪 测试要点
功能测试
-
阅读模式测试
- 内容提取准确性
- 样式应用正确性
- 设置持久化
-
用户代理测试
- UA切换功能
- 预设UA有效性
- 自定义UA验证
-
证书信息测试
- HTTPS网站证书解析
- 证书信息显示
- 复制功能
兼容性测试
-
设备兼容性
- 不同屏幕尺寸
- 不同系统版本
- 不同网络环境
-
网站兼容性
- 主流网站测试
- 特殊网站测试
- 性能影响测试
📊 进度跟踪
| 任务 | 状态 | 开始时间 | 完成时间 | 负责人 |
|---|---|---|---|---|
| 阅读模式管理器 | 待开始 | - | - | - |
| 阅读模式页面 | 待开始 | - | - | - |
| 菜单集成 | 待开始 | - | - | - |
| UA管理器 | 待开始 | - | - | - |
| UA设置页面 | 待开始 | - | - | - |
| 设置集成 | 待开始 | - | - | - |
| 证书信息显示 | 待开始 | - | - | - |
| 证书信息获取 | 待开始 | - | - | - |
| 代理管理器 | 待开始 | - | - | - |
| 代理设置页面 | 待开始 | - | - | - |
| WebView集成 | 待开始 | - | - | - |
| 证书信任管理 | 待开始 | - | - | - |
| 证书管理界面 | 待开始 | - | - | - |
📞 沟通要点
每日站会
- 进度更新
- 遇到的问题
- 需要的帮助
代码审查
- 每个任务完成后进行代码审查
- 重点关注代码质量和性能
测试验证
- 每个功能完成后进行测试验证
- 确保功能完整性和稳定性
🎯 成功标准
功能完整性
- 阅读模式正常工作
- 用户代理切换正常
- 证书信息显示准确
- 代理设置功能正常
- SSL证书管理正常
性能标准
- 页面加载时间 < 500ms
- 内存使用合理
- 无内存泄漏
- 响应时间 < 200ms
用户体验
- 界面友好易用
- 操作流程顺畅
- 错误提示明确
- 设置保存可靠
本任务清单将根据实际开发情况进行调整。所有时间估计均为初步估计,实际开发时间可能有所变化。