编辑
2026-08-19
undefined
00

目录

NAS下载器详细需求文档
文档信息
一、产品概述
1.1 产品定位
1.2 核心设计原则
1.3 整体信息架构
1.4 核心页面跳转关系
二、角色与权限
2.1 角色定义
2.2 权限规则
三、业务对象定义
3.1 统一任务模型
3.2 状态定义
3.3 错误码建议
四、页面与模块需求
4.1 首页 / 任务列表页
4.1.1 页面目标
4.1.2 页面布局结构
4.1.3 页面结构图
4.1.4 状态导航
4.1.5 表格字段
4.1.6 支持操作
4.1.7 交互规则
4.1.8 低保真布局要求
4.1.9 验收标准
4.2 添加任务弹窗
4.2.1 页面目标
4.2.2 创建方式
4.2.3 页面结构图
4.2.4 链接自动识别规则
4.2.5 通用字段
4.2.6 BT/PT 专属字段
4.2.7 分享链接专属字段
4.2.8 创建前校验
4.2.9 低保真布局要求
4.2.10 验收标准
4.3 任务详情页
4.3.1 页面目标
4.3.2 页面总体结构
4.3.3 页面结构图
4.3.4 通用信息
4.3.5 BT/PT 详情
4.3.6 HTTPS 详情
4.3.7 分享链接详情
4.3.8 低保真布局要求
4.3.9 验收标准
4.4 BT / PT 下载模块
4.4.1 功能范围
4.4.2 私有 PT 安全模式
触发条件
默认策略
风险提醒
4.4.3 做种规则
4.4.4 Tracker 规则
4.4.5 验收标准
4.5 HTTPS 下载模块
4.5.1 功能范围
4.5.2 冲突处理策略
4.5.3 异常处理
4.5.4 验收标准
4.6 品牌分享链接模块
4.6.1 功能目标
4.6.2 链接类型
4.6.3 处理模式
4.6.4 关键流程
4.6.5 异常处理
4.6.6 验收标准
4.7 设置页
4.7.1 页面布局结构
4.7.2 页面结构图
4.7.3 分组建议
4.7.4 设置项
4.7.5 低保真布局要求
4.7.6 验收标准
4.8 通知与联动
4.8.1 通知场景
4.8.2 联动场景
4.9 App / Web 远程管理
4.9.1 V1 范围
4.9.2 P1 范围
4.9.3 移动端页面结构
4.9.4 App 卡片字段
4.9.5 App 创建任务最小链路
4.9.6 验收标准
五、状态流转
六、非功能需求
6.1 性能
6.2 稳定性
6.3 安全性
6.4 可维护性
七、版本边界
V1 必须上线
V1.5 建议补齐
V2 远期能力
八、测试重点

NAS下载器详细需求文档

文档信息

项目内容
文档版本v1.1
创建日期2026-04-08
更新日期2026-04-08
关联文档[[我的笔记/NAS需求文档/下载器/NAS下载器应用需求规划文档]]、[[我的笔记/NAS需求文档/下载器/NAS下载器产品竞品分析]]、[[我的笔记/NAS需求文档/下载器/NAS下载器原型结构图]]
目标版本下载器 V1 / V1.5
面向角色产品 / 设计 / 前端 / 服务端 / 客户端 / 测试

一、产品概述

1.1 产品定位

NAS 下载器是一款面向 NAS 原生场景的系统应用,支持以下资源来源:

  • .torrent BT 种子下载
  • 私有 PT 种子下载
  • Magnet 磁力链下载
  • HTTPS 直链下载
  • 同品牌文件分享链接下载 / 转存

目标是以 原生易用 + PT 友好 + 分享链路闭环 + 远程管理 为核心,形成区别于第三方 BT 下载器的系统级体验。

1.2 核心设计原则

  1. 默认可用:普通用户无需复杂配置即可完成首个任务。
  2. 安全友好:私有 PT 默认不踩坑。
  3. 结果清晰:进度、状态、错误、目录可解释。
  4. 原生闭环:任务完成后可直接进入文件管理或后续应用。
  5. 多端一致:Web、桌面端、App 使用相同的任务模型和状态语义。

1.3 整体信息架构

flowchart LR
    A[下载器应用] --> B[首页/任务列表]
    A --> C[添加任务弹窗]
    A --> D[任务详情页]
    A --> E[设置页]
    A --> F[通知/完成反馈]

    B --> B1[状态筛选]
    B --> B2[任务表格]
    B --> B3[批量操作]
    B --> B4[搜索/筛选]
    B --> B5[全局速率栏]

    C --> C1[链接创建]
    C --> C2[Torrent上传]
    C --> C3[品牌分享链接]

    D --> D1[基础信息]
    D --> D2[文件列表]
    D --> D3[Tracker/网络信息]
    D --> D4[错误日志]

    E --> E1[常规]
    E --> E2[下载/上传限制]
    E --> E3[BT/PT连接]
    E --> E4[做种规则]
    E --> E5[Tracker]
    E --> E6[通知]
    E --> E7[存储]

1.4 核心页面跳转关系

flowchart TD
    A[首页/任务列表] -->|点击添加任务| B[添加任务弹窗]
    A -->|点击任务名称| C[任务详情页]
    A -->|点击设置| D[设置页]
    A -->|点击完成通知| C
    B -->|创建成功| A
    B -->|需查看详情| C
    C -->|打开目录| E[文件管理]
    C -->|返回列表| A
    D -->|保存设置| A

二、角色与权限

2.1 角色定义

角色权限范围
管理员查看所有任务、管理全局设置、删除任意任务、配置下载规则
普通用户创建并管理自己的任务、写入授权目录、查看自己的任务

2.2 权限规则

场景权限要求处理方式
创建下载任务用户需有目标目录写权限无权限则禁止创建并提示
修改全局设置仅管理员普通用户隐藏或置灰入口
查看他人任务仅管理员普通用户不可见
删除任务并删除文件用户需具备目标文件删除权限无权限则仅允许删除任务记录
分享链接转存用户需具备目标目录写权限与分享资源读取权限校验失败则提示对应原因

三、业务对象定义

3.1 统一任务模型

字段说明
task_id任务唯一 ID
task_typebt / pt / magnet / https / share_link
source原始资源内容(种子、链接、分享链接 ID)
name任务名称
status任务状态
progress下载进度 0~100
size_total总大小
downloaded_size已下载大小
upload_size已上传大小
download_speed当前下载速度
upload_speed当前上传速度
ratio分享率
save_path保存目录
create_time创建时间
start_time开始时间
finish_time完成时间
error_code错误码
error_message错误描述
owner所属用户
extra协议扩展字段

3.2 状态定义

状态说明
waiting等待中
metadata_fetching获取元数据中
downloading下载中
seeding做种中
paused已暂停
verifying校验中
completed已完成
failed失败
invalid资源失效
permission_denied权限失效
removed已删除

3.3 错误码建议

错误码场景说明
DL-001链接非法资源格式无法识别
DL-002目录无权限目标目录不可写
DL-003磁盘空间不足无法继续下载
DL-004资源不存在404 / 分享失效
DL-005认证失败401 / 提取码错误
DL-006网络超时请求超时或 tracker 超时
DL-007元数据获取失败magnet/torrent 信息未能拉取
DL-008PT 风险配置私有 PT 使用了高风险设置
DL-009文件冲突同名文件处理失败
DL-010内部服务异常下载服务或分享服务异常

四、页面与模块需求

4.1 首页 / 任务列表页

4.1.1 页面目标

集中展示所有任务状态,支持用户快速筛选、批量管理和查看整体下载健康度。

4.1.2 页面布局结构

  • 左侧:状态导航
  • 顶部:添加任务、批量操作、搜索、筛选器
  • 中部:任务表格
  • 右侧:任务详情抽屉(可选)
  • 底部:全局上传/下载速率、任务统计

4.1.3 页面结构图

flowchart TD
    A[下载器首页] --> B[顶部工具栏]
    A --> C[左侧状态导航]
    A --> D[中间任务列表]
    A --> E[底部状态栏]
    A --> F[右侧详情抽屉 可选]

    B --> B1[添加任务]
    B --> B2[开始]
    B --> B3[暂停]
    B --> B4[删除]
    B --> B5[搜索框]
    B --> B6[筛选器]

    C --> C1[全部]
    C --> C2[下载中]
    C --> C3[做种中]
    C --> C4[已完成]
    C --> C5[已暂停]
    C --> C6[错误]

    D --> D1[多选框]
    D --> D2[名称]
    D --> D3[类型]
    D --> D4[状态]
    D --> D5[进度]
    D --> D6[下载速度]
    D --> D7[上传速度]
    D --> D8[剩余时间]
    D --> D9[已下载]
    D --> D10[分享率]
    D --> D11[保存位置]
    D --> D12[添加时间]

    E --> E1[总下载速率]
    E --> E2[总上传速率]
    E --> E3[任务统计]

4.1.4 状态导航

建议包含:

  • 全部
  • 下载中
  • 做种中
  • 已完成
  • 已暂停
  • 错误
  • 资源失效
  • 分享链接

4.1.5 表格字段

字段说明必须
名称资源名称,可点击进入详情
类型BT/PT/磁力/HTTPS/分享链接
状态当前任务状态
进度百分比 + 进度条
下载速度当前下载速率
上传速度BT/PT 时显示
剩余时间估算剩余时间
已下载已下载大小
分享率BT/PT 时显示
保存位置目标目录
添加时间创建时间

4.1.6 支持操作

操作说明
添加任务打开统一创建弹窗
开始 / 恢复对暂停或失败任务恢复执行
暂停暂停任务
删除任务删除任务记录
删除任务并删除文件二次确认后执行
重试对失败任务重新发起
打开目录跳转文件管理
搜索按任务名搜索
筛选按状态 / 类型 / 时间 / 目录筛选

4.1.7 交互规则

  • 批量操作仅对被选中的任务生效。
  • 顶部按钮需根据任务状态自动可用/禁用。
  • 失败任务需在列表中可直接看到核心错误摘要。
  • PT 任务列表中需突出显示 PT 标记与分享率。
  • 首页点击任务名称进入详情页;点击完成通知也应进入对应详情页。
  • 首页作为主工作台,应优先保证“看任务、控任务、加任务”三件事的低认知成本。

4.1.8 低保真布局要求

text
┌─────────────────────────────────────────────────────────────────────────────┐ │ 下载器 [添加任务] [开始] [暂停] [删除] [搜索] │ ├───────────────┬─────────────────────────────────────────────────────────────┤ │ 全部 (12) │ □ 名称 类型 状态 进度 下行 上行 剩余 已下载 时间 │ │ 下载中 (4) │ □ Ubuntu BT 下载中 60% 2MB 0.3 8m 1.2G 10:21 │ │ 做种中 (3) │ □ Movie PT 做种中 100% 0 1.5 -- 8.0G 昨天 │ │ 已完成 (2) │ □ Tool.zip HTTPS 完成 100% -- -- -- 1.1G 昨天 │ │ 已暂停 (1) │ □ 分享资料 分享 排队中 0% -- -- -- 0 刚刚 │ │ 错误 (2) │ │ ├───────────────┴─────────────────────────────────────────────────────────────┤ │ 总下载:12.6 MB/s 总上传:3.1 MB/s 活跃任务:5 错误任务:2 │ └─────────────────────────────────────────────────────────────────────────────┘

4.1.9 验收标准

  • 100 条任务列表加载时间 < 2 秒。
  • 用户可在首页完成创建、暂停、恢复、删除、查看详情等主要操作。
  • 状态筛选准确率 100%。
  • 空状态、错误态、搜索无结果态必须具备独立页面表现。

4.2 添加任务弹窗

4.2.1 页面目标

统一承接所有任务创建方式,尽量减少用户对协议差异的理解成本。

4.2.2 创建方式

  • 粘贴链接
  • 上传 .torrent 文件
  • 粘贴品牌分享链接
  • P1:拖拽 torrent 文件

4.2.3 页面结构图

flowchart TD
    A[添加任务弹窗] --> B[类型识别区]
    A --> C[通用配置区]
    A --> D[协议专属配置区]
    A --> E[底部操作区]

    B --> B1[链接输入框]
    B --> B2[上传torrent按钮]
    B --> B3[自动识别结果标签]

    C --> C1[资源名称]
    C --> C2[保存目录]
    C --> C3[备注]
    C --> C4[自动开始]

    D --> D1[BT/PT文件列表]
    D --> D2[PT安全模式提示]
    D --> D3[分享链接提取码]
    D --> D4[分享文件列表]
    D --> D5[保存方式 转存/下载]

    E --> E1[取消]
    E --> E2[创建任务]

4.2.4 链接自动识别规则

输入识别结果
magnet:?磁力链任务
https://品牌分享域名/...分享链接任务
https://其他域名/...HTTPS 任务
上传 .torrent 文件BT / PT 任务

4.2.5 通用字段

字段说明
资源名称自动识别,可编辑
保存目录必填
备注可选
创建后是否自动开始默认开启

4.2.6 BT/PT 专属字段

字段说明
文件列表支持多文件选择
总大小只读
私有 PT 标识若 private=1 则高亮展示
做种策略默认“无限做种”或按全局策略

4.2.7 分享链接专属字段

字段说明
提取码如需则填写
分享文件列表支持多选
保存方式转存 / 下载

4.2.8 创建前校验

校验项规则
资源格式必须为可识别类型
目录权限用户对目标目录有写权限
重复任务提示跳过/继续/覆盖(HTTPS)
空间检查若剩余空间明显不足需预警
PT 风险私有 PT 自动启用安全模式并提示

4.2.9 低保真布局要求

text
┌──────────────────────────────────────────────┐ │ 添加任务 X │ ├──────────────────────────────────────────────┤ │ [输入链接................................] │ │ [上传 .torrent] 识别结果:PT种子 │ ├──────────────────────────────────────────────┤ │ 资源名称:Ubuntu ISO │ │ 保存目录:[ downloads/linux v ] │ │ 备注: [ ] │ │ 自动开始:[√] │ ├──────────────────────────────────────────────┤ │ 文件列表: │ │ [√] ubuntu.iso 4.8 GB │ │ PT 安全模式已启用:DHT / PEX / LSD 已关闭 │ ├──────────────────────────────────────────────┤ │ [取消] [创建任务] │ └──────────────────────────────────────────────┘

4.2.10 验收标准

  • 普通用户在 3 步内完成常见任务创建。
  • 私有 PT 种子能被准确识别。
  • 分享链接场景支持提取码和文件选择。
  • 创建按钮需具备禁用态、加载态、成功反馈态。

4.3 任务详情页

4.3.1 页面目标

在列表之外提供更强的排障、状态追踪与细粒度信息展示。

4.3.2 页面总体结构

  • 头部摘要区
  • 页签区
  • 内容区

4.3.3 页面结构图

flowchart LR
    A[任务详情页] --> B[头部摘要]
    A --> C[页签区]
    B --> B1[任务名称]
    B --> B2[状态]
    B --> B3[进度]
    B --> B4[开始/暂停/删除/打开目录]

    C --> C1[概览]
    C --> C2[文件]
    C --> C3[Tracker/网络]
    C --> C4[日志]

    C1 --> D1[保存目录]
    C1 --> D2[时间信息]
    C1 --> D3[累计下载/上传]
    C1 --> D4[错误摘要]

    C2 --> E1[文件名]
    C2 --> E2[大小]
    C2 --> E3[进度]

    C3 --> F1[Tracker列表]
    C3 --> F2[Peer数]
    C3 --> F3[分享率]
    C3 --> F4[PT安全模式]

    C4 --> G1[最近日志]
    C4 --> G2[错误码]

4.3.4 通用信息

项目说明
任务名称可编辑(P1)
类型BT/PT/磁力/HTTPS/分享链接
当前状态统一状态枚举
保存目录支持打开目录
创建时间 / 开始时间 / 完成时间任务时间线
累计下载量 / 上传量数据统计
错误信息最近一次异常

4.3.5 BT/PT 详情

信息项说明
文件列表文件名、大小、进度
Tracker 列表URL、状态、响应时间
Peer 数当前连接数
私有 PT 标识显示 PT 安全模式状态
分享率上传/下载比
做种时长累计做种时间

4.3.6 HTTPS 详情

信息项说明
原始 URL用户输入的链接
最终 URL重定向后的实际地址
文件大小来自响应头或下载结果
断点续传支持是否支持 Range
重试次数当前重试统计

4.3.7 分享链接详情

信息项说明
分享来源分享域名/分享者
链接状态正常/过期/失效
提取码状态已验证 / 验证失败
模式转存 / 下载
文件清单支持查看选择结果

4.3.8 低保真布局要求

text
┌────────────────────────────────────────────────────────────────┐ │ Movie-Pack [PT] 做种中 100% ↑1.2 MB/s Ratio 2.31 │ │ [暂停] [删除] [打开目录] │ ├────────────────────────────────────────────────────────────────┤ │ 概览 | 文件 | Tracker/网络 | 日志 │ ├────────────────────────────────────────────────────────────────┤ │ 保存目录:/media/downloads/movies │ │ 创建时间:2026-04-08 10:21 │ │ 累计下载:8.2 GB 累计上传:18.9 GB 做种时长:2天 │ │ PT安全模式:已启用 │ │ 错误摘要:无 │ ├────────────────────────────────────────────────────────────────┤ │ Tracker:tracker.xxx.com 正常 最近响应:320ms │ │ Peer:38 下载器端口:51413 │ └────────────────────────────────────────────────────────────────┘

4.3.9 验收标准

  • 任务详情需支持客服与用户完成基础排障。
  • 最近错误、最近日志、保存目录必须可见。
  • 详情页头部必须在首屏展示任务名称、状态、进度和核心操作按钮。

4.4 BT / PT 下载模块

4.4.1 功能范围

  • 支持 torrent 解析
  • 支持 magnet 元数据获取
  • 支持断点续传
  • 支持完整性校验
  • 支持选择性下载
  • 支持做种

4.4.2 私有 PT 安全模式

触发条件

  • torrent 文件包含 private 标记
  • 或用户手动标记为 PT 模式(P1)

默认策略

  • 自动关闭 DHT
  • 自动关闭 PEX
  • 自动关闭 LSD
  • 禁止自动追加公共 Tracker
  • 保留原始 Tracker 顺序
  • 默认开启做种
  • 默认展示分享率、上传量、做种时长

风险提醒

  • 用户修改高风险项时,需二次确认。
  • 任务详情页需展示“PT 安全模式已启用”。

4.4.3 做种规则

规则说明
无限做种不自动停止
按分享率停止达到目标分享率后停止
按做种时长停止达到时长后停止
全局默认策略新任务默认继承系统设置

4.4.4 Tracker 规则

场景规则
公开 BT可使用通用 Tracker
私有 PT禁止追加公共 Tracker
Tracker 异常支持手动重新 announce

4.4.5 验收标准

  • 公开 BT、私有 PT、磁力链三类任务均可稳定创建与执行。
  • 私有 PT 不得自动启用破坏站规的配置。

4.5 HTTPS 下载模块

4.5.1 功能范围

  • 支持 HTTPS 文件下载
  • 支持 301 / 302 / 307 重定向
  • 支持断点续传(若服务端支持)
  • 支持下载超时重试
  • 支持冲突处理策略

4.5.2 冲突处理策略

场景处理方式
同名文件存在跳过
同名文件存在覆盖
同名文件存在自动重命名

4.5.3 异常处理

异常提示要求
401提示认证失败
403提示无权限
404提示资源不存在
SSL 异常提示证书异常
网络超时提示超时并可重试
磁盘不足明确提示空间不足

4.5.4 验收标准

  • HTTPS 下载在重定向和断点续传场景下行为正确。
  • 同名冲突处理符合用户选择。

4.6 品牌分享链接模块

4.6.1 功能目标

通过品牌分享链接直接把共享内容落到当前 NAS,实现与系统分享体系的闭环联动。

4.6.2 链接类型

  • 公开分享链接
  • 带提取码分享链接
  • 登录态访问的受限分享链接

4.6.3 处理模式

模式说明
转存到我的 NAS优先走服务端复制/转存
下载到指定目录生成真实下载任务

4.6.4 关键流程

  1. 用户输入分享链接
  2. 系统识别品牌域名
  3. 拉取分享元数据
  4. 校验权限 / 提取码 / 过期状态
  5. 展示文件列表
  6. 用户选择目录与模式
  7. 完成转存或下载

4.6.5 异常处理

异常处理方式
链接过期直接提示不可用
提取码错误允许重新输入
分享已取消提示资源失效
无访问权限引导登录或提示无权限
转存失败可提示改为下载模式(若可行)

4.6.6 验收标准

  • 用户可使用品牌分享链接完成转存或下载。
  • 提取码、权限、过期等状态必须清晰可见。

4.7 设置页

4.7.1 页面布局结构

  • 左侧:设置分类导航
  • 右侧:设置表单区

4.7.2 页面结构图

flowchart LR
    A[设置页] --> B[左侧分类导航]
    A --> C[右侧配置面板]

    B --> B1[常规]
    B --> B2[下载/上传限制]
    B --> B3[BT/PT连接]
    B --> B4[做种规则]
    B --> B5[Tracker]
    B --> B6[通知]
    B --> B7[存储]

    C --> C1[表单项]
    C --> C2[开关]
    C --> C3[数字输入]
    C --> C4[目录选择器]
    C --> C5[保存按钮]

4.7.3 分组建议

  • 常规
  • 下载/上传限制
  • BT/PT 连接
  • 做种规则
  • Tracker
  • 通知
  • 存储

4.7.4 设置项

分类设置项V1
常规默认下载目录
常规新任务自动开始
并发最大同时下载任务数
并发最大同时做种任务数
限速全局下载限速
限速全局上传限速
限速分时段限速
网络监听端口
网络TCP/uTP 开关
做种分享率停止规则
做种时长停止规则
Tracker通用 Tracker 列表
通知完成/失败通知
存储删除任务时是否删除文件
网络UPnP/NAT-PMPP1
存储临时目录 / 完成目录P1
网络最大 Peer / 最大连接数P1

4.7.5 低保真布局要求

text
┌───────────────────────────────────────────────────────────────┐ │ 设置 │ ├───────────────┬───────────────────────────────────────────────┤ │ 常规 │ 默认下载目录 [ downloads/default v ] │ │ 下载/上传限制 │ 最大同时下载数 [ 3 ] │ │ BT/PT连接 │ 最大同时做种数 [ 5 ] │ │ 做种规则 │ 全局下载限速 [ 0 ] KB/s │ │ Tracker │ 全局上传限速 [ 200 ] KB/s │ │ 通知 │ 分时段限速 [开启] │ │ 存储 │ │ │ │ [保存] │ └───────────────┴───────────────────────────────────────────────┘

4.7.6 验收标准

  • 管理员可在设置页完成核心限速和连接配置。
  • 普通用户不可修改管理员专属配置。
  • 设置页需具备默认态、修改未保存态、保存成功反馈态。

4.8 通知与联动

4.8.1 通知场景

  • 下载完成
  • 下载失败
  • 分享链接失效
  • 磁盘空间不足

4.8.2 联动场景

场景联动方式
下载完成打开目录
下载失败定位详情页
P1 媒体场景触发媒体库扫描
App 场景发送推送通知

4.9 App / Web 远程管理

4.9.1 V1 范围

  • Web 查看任务列表与详情
  • Web 创建/暂停/恢复/删除任务
  • App 查看任务列表与详情
  • App 创建链接类任务(magnet / https / 分享链接)

4.9.2 P1 范围

  • App 上传 .torrent
  • 从系统分享菜单中直接投递任务

4.9.3 移动端页面结构

flowchart TD
    A[App 下载器页] --> B[顶部搜索/添加]
    A --> C[状态标签]
    A --> D[任务卡片列表]
    A --> E[底部Tab或更多菜单]

4.9.4 App 卡片字段

  • 名称
  • 类型标签
  • 状态
  • 进度条
  • 当前速度
  • 错误摘要
  • 更多操作

4.9.5 App 创建任务最小链路

flowchart TD
    A[点击添加] --> B[粘贴链接]
    B --> C[自动识别类型]
    C --> D[选择保存目录]
    D --> E[创建成功]
    E --> F[返回任务列表]

4.9.6 验收标准

  • 跨端状态一致。
  • App 远程添加链接任务可在 5 秒内在任务列表可见。
  • 移动端优先保障“创建任务、看进度、看错误、暂停恢复”四类核心动作。

五、状态流转

stateDiagram-v2
    [*] --> waiting
    waiting --> metadata_fetching: magnet/torrent 解析
    waiting --> downloading: https/分享直下
    metadata_fetching --> downloading: 元数据成功
    metadata_fetching --> failed: 元数据失败
    downloading --> paused: 用户暂停
    paused --> downloading: 用户恢复
    downloading --> verifying: BT/PT 下载完成
    verifying --> seeding: 校验通过且开启做种
    verifying --> completed: 校验通过且不做种
    downloading --> completed: HTTPS/转存完成
    downloading --> failed: 网络/权限/资源异常
    seeding --> paused: 用户暂停
    seeding --> completed: 达到做种停止条件
    failed --> waiting: 用户重试
    completed --> [*]

六、非功能需求

6.1 性能

  • 支持至少 200 个历史任务展示。
  • 支持至少 20 个活跃任务并发(随机型分级)。
  • 列表与详情操作反馈时间 < 2 秒。

6.2 稳定性

  • 系统重启后任务自动恢复。
  • 下载服务异常退出后自动拉起。
  • 断网恢复后支持自动重试。

6.3 安全性

  • 分享链接权限、提取码、登录态必须校验。
  • 日志中避免暴露 token、提取码等敏感信息。
  • PT 风险配置需二次确认。

6.4 可维护性

  • 核心流程埋点可观测。
  • 错误码可定位到具体链路。
  • 支持导出诊断信息(P1)。

七、版本边界

V1 必须上线

  • BT / 私有 PT / Magnet / HTTPS / 品牌分享链接
  • 任务列表 / 任务详情 / 添加任务
  • PT 安全模式
  • 做种规则
  • 限速 / 端口 / TCP-uTP / Tracker 基础设置
  • 通知与打开目录
  • Web / App 核心远程管理

V1.5 建议补齐

  • 监听目录
  • 最大 Peer / 最大连接数
  • UPnP / NAT-PMP
  • 临时目录 / 完成目录
  • App 上传 torrent
  • 自动整理与媒体库刷新

V2 远期能力

  • RSS 自动订阅
  • API / Webhook
  • 规则引擎
  • 外部下载器统一管控

八、测试重点

  1. 公开 BT 与私有 PT 的配置隔离。
  2. Magnet 元数据获取超时与重试。
  3. HTTPS 重定向、断点续传、同名冲突。
  4. 分享链接的提取码、过期、无权限、转存失败。
  5. 重启恢复、磁盘不足、中文文件名、多文件任务。
  6. 首页、弹窗、详情页、设置页、移动端核心结构与交互需和原型结构图一致。

本文作者:oyph

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!