观澜浏览器 - 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组件:

  • 证书列表显示
  • 证书详情查看
  • 信任管理
  • 导入/导出功能

🚀 开发优先级排序

第一阶段(本周完成)

  1. 阅读模式实现 (P0)

    • 阅读模式管理器 ✓
    • 阅读模式页面 ✓
    • 菜单集成 ✓
  2. 用户代理切换 (P1)

    • UA管理器 ✓
    • UA设置页面 ✓
    • 设置集成 ✓

第二阶段(下周完成)

  1. 证书详情显示 (P2)
    • 站点信息对话框扩展 ✓
    • 证书信息获取 ✓

第三阶段(下下周完成)

  1. 代理设置功能 (P3)

    • 代理管理器
    • 代理设置页面
    • WebView集成
  2. SSL证书管理 (P3)

    • 证书信任管理
    • 证书管理界面

🔧 技术要点

阅读模式技术要点

  1. 内容提取算法

    • 使用类似Readability的算法
    • 基于DOM解析和评分
    • 移除广告和干扰元素
  2. 样式应用

    • CSS注入技术
    • 动态样式调整
    • 主题支持

用户代理技术要点

  1. UA管理

    • WebView.setUserAgent() API
    • UA字符串验证
    • 设置持久化
  2. 兼容性处理

    • 不同网站的UA兼容性
    • 页面刷新逻辑
    • 状态同步

证书管理技术要点

  1. 证书信息获取

    • WebView证书回调
    • 证书信息解析
    • 安全状态评估
  2. 信任管理

    • 证书存储
    • 信任验证
    • 错误处理

🧪 测试要点

功能测试

  1. 阅读模式测试

    • 内容提取准确性
    • 样式应用正确性
    • 设置持久化
  2. 用户代理测试

    • UA切换功能
    • 预设UA有效性
    • 自定义UA验证
  3. 证书信息测试

    • HTTPS网站证书解析
    • 证书信息显示
    • 复制功能

兼容性测试

  1. 设备兼容性

    • 不同屏幕尺寸
    • 不同系统版本
    • 不同网络环境
  2. 网站兼容性

    • 主流网站测试
    • 特殊网站测试
    • 性能影响测试

📊 进度跟踪

任务 状态 开始时间 完成时间 负责人
阅读模式管理器 待开始 - - -
阅读模式页面 待开始 - - -
菜单集成 待开始 - - -
UA管理器 待开始 - - -
UA设置页面 待开始 - - -
设置集成 待开始 - - -
证书信息显示 待开始 - - -
证书信息获取 待开始 - - -
代理管理器 待开始 - - -
代理设置页面 待开始 - - -
WebView集成 待开始 - - -
证书信任管理 待开始 - - -
证书管理界面 待开始 - - -

📞 沟通要点

每日站会

  • 进度更新
  • 遇到的问题
  • 需要的帮助

代码审查

  • 每个任务完成后进行代码审查
  • 重点关注代码质量和性能

测试验证

  • 每个功能完成后进行测试验证
  • 确保功能完整性和稳定性

🎯 成功标准

功能完整性

  • 阅读模式正常工作
  • 用户代理切换正常
  • 证书信息显示准确
  • 代理设置功能正常
  • SSL证书管理正常

性能标准

  • 页面加载时间 < 500ms
  • 内存使用合理
  • 无内存泄漏
  • 响应时间 < 200ms

用户体验

  • 界面友好易用
  • 操作流程顺畅
  • 错误提示明确
  • 设置保存可靠

本任务清单将根据实际开发情况进行调整。所有时间估计均为初步估计,实际开发时间可能有所变化。