a642bf16a2
design/ 同步自最新设计导出,新增 ui_kits/tablet/ 平板分栏布局;todo/ 录入 18 个并行实施任务。 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
294 lines
9.0 KiB
JSON
294 lines
9.0 KiB
JSON
{
|
||
"meta": {
|
||
"title": "doc — 项目 TODO",
|
||
"updated_at": "2026-06-11T15:48:46.142Z"
|
||
},
|
||
"seq": 18,
|
||
"items": [
|
||
{
|
||
"id": 1,
|
||
"title": "OpenAPI 契约 + MySQL migration 基线",
|
||
"desc": "依据 doc/02、doc/03:openapi.yaml 展开全部 /v1 契约(connect 返回 sing-box 凭证而非 WG peer);MySQL 8 全量 DDL(users/devices/plans/subscriptions/codes/usage_daily/audit_log + providers/node_events/directory_version)。后端各模块的共同前置。",
|
||
"level": "high",
|
||
"tier": 1,
|
||
"tags": [
|
||
"后端",
|
||
"数据库"
|
||
],
|
||
"status": "open",
|
||
"created_at": "2026-06-11T15:48:05.656Z",
|
||
"done": false,
|
||
"completed_at": null,
|
||
"version": null
|
||
},
|
||
{
|
||
"id": 2,
|
||
"title": "auth 模块(验证码/注册/登录/JWT)",
|
||
"desc": "邮箱验证码限频、注册自动 7 天 PRO 试用、argon2id、JWT RS256(access 15min + refresh 30d)、Redis 滑窗限流。依赖 #1。",
|
||
"level": "mid",
|
||
"tier": 2,
|
||
"tags": [
|
||
"后端"
|
||
],
|
||
"status": "open",
|
||
"created_at": "2026-06-11T15:48:05.707Z",
|
||
"done": false,
|
||
"completed_at": null,
|
||
"version": null
|
||
},
|
||
{
|
||
"id": 3,
|
||
"title": "codes 激活码模块",
|
||
"desc": "批量生成(Crockford Base32 + 校验位,库存 hash)、发卡店 webhook(HMAC)、兑换幂等 + 订阅顺延叠加、失败锁定、audit_log。依赖 #1。",
|
||
"level": "mid",
|
||
"tier": 2,
|
||
"tags": [
|
||
"后端"
|
||
],
|
||
"status": "open",
|
||
"created_at": "2026-06-11T15:48:05.764Z",
|
||
"done": false,
|
||
"completed_at": null,
|
||
"version": null
|
||
},
|
||
{
|
||
"id": 4,
|
||
"title": "devices + 订阅校验中间件",
|
||
"desc": "设备登记/移除(同步回收节点侧凭证)、套餐/到期/设备数校验中间件。依赖 #1、#2。",
|
||
"level": "mid",
|
||
"tier": 2,
|
||
"tags": [
|
||
"后端"
|
||
],
|
||
"status": "open",
|
||
"created_at": "2026-06-11T15:48:05.818Z",
|
||
"done": false,
|
||
"completed_at": null,
|
||
"version": null
|
||
},
|
||
{
|
||
"id": 5,
|
||
"title": "nodes 模块 + agent gRPC 协议设计",
|
||
"desc": "proto 定义(注册/心跳/凭证下发与回收/用量上报,mTLS 双向)、节点目录 version 灰度(if_version 304)、connect/disconnect 下发 REALITY/Hy2 参数、free 凭证 TTL。依赖 #1。",
|
||
"level": "high",
|
||
"tier": 1,
|
||
"tags": [
|
||
"后端"
|
||
],
|
||
"status": "open",
|
||
"created_at": "2026-06-11T15:48:05.872Z",
|
||
"done": false,
|
||
"completed_at": null,
|
||
"version": null
|
||
},
|
||
{
|
||
"id": 6,
|
||
"title": "节点 agent 实现",
|
||
"desc": "轻量 agent:mTLS 自注册、心跳、sing-box 用户表增删(凭证下发/回收/TTL)、负载上报 Redis;cloud-init 一段式安装。依赖 #5 的 proto。",
|
||
"level": "mid",
|
||
"tier": 2,
|
||
"tags": [
|
||
"后端"
|
||
],
|
||
"status": "open",
|
||
"created_at": "2026-06-11T15:48:25.479Z",
|
||
"done": false,
|
||
"completed_at": null,
|
||
"version": null
|
||
},
|
||
{
|
||
"id": 7,
|
||
"title": "usage 用量 + 广告解锁",
|
||
"desc": "usage_daily 聚合(仅字节/分钟,无日志口径)、/v1/ads/unlock 验广告 SDK 回执、free 用户 connect 额度校验。依赖 #1。",
|
||
"level": "mid",
|
||
"tier": 2,
|
||
"tags": [
|
||
"后端"
|
||
],
|
||
"status": "open",
|
||
"created_at": "2026-06-11T15:48:25.532Z",
|
||
"done": false,
|
||
"completed_at": null,
|
||
"version": null
|
||
},
|
||
{
|
||
"id": 8,
|
||
"title": "管理端最小后台",
|
||
"desc": "码批次生成导出、节点操作(replace/draining)、audit_log 查看;独立监听 + 内网白名单 + 2FA。依赖 #1。",
|
||
"level": "low",
|
||
"tier": 2,
|
||
"tags": [
|
||
"后端",
|
||
"Web"
|
||
],
|
||
"status": "open",
|
||
"created_at": "2026-06-11T15:48:25.585Z",
|
||
"done": false,
|
||
"completed_at": null,
|
||
"version": null
|
||
},
|
||
{
|
||
"id": 9,
|
||
"title": "Flutter 客户端工程搭建(演示态跑通)",
|
||
"desc": "用 design/flutter/ 起步包建工程:pubspec 覆盖、theme/widgets/main 拷入、字体配置,flutter run 出登录→引导→主框架演示态。前端线起点,可与后端完全并行。",
|
||
"level": "high",
|
||
"tier": 2,
|
||
"tags": [
|
||
"前端",
|
||
"iOS",
|
||
"Android"
|
||
],
|
||
"status": "open",
|
||
"created_at": "2026-06-11T15:48:25.638Z",
|
||
"done": false,
|
||
"completed_at": null,
|
||
"version": null
|
||
},
|
||
{
|
||
"id": 10,
|
||
"title": "Flutter 逐屏还原 + iPad 断点",
|
||
"desc": "对照 ui_kits/mobile + tablet 逐屏补齐:智能选择推荐卡、免费额度卡+看广告解锁、Tab 滑动切换、宽度 ≥900 切侧栏分栏(连接页双栏/节点双列网格);四态验证(明暗×中英)。依赖 #9。",
|
||
"level": "mid",
|
||
"tier": 2,
|
||
"tags": [
|
||
"前端",
|
||
"iOS",
|
||
"Android"
|
||
],
|
||
"status": "open",
|
||
"created_at": "2026-06-11T15:48:25.690Z",
|
||
"done": false,
|
||
"completed_at": null,
|
||
"version": null
|
||
},
|
||
{
|
||
"id": 11,
|
||
"title": "sing-box libbox 桥接 PoC(三端隧道)",
|
||
"desc": "gomobile AAR/XCFramework + iOS NetworkExtension / Android VpnService / 桌面 TUN 子进程;URLTest 智能选线、Kill-switch。全项目最大技术风险,应尽早并行启动。",
|
||
"level": "high",
|
||
"tier": 1,
|
||
"tags": [
|
||
"前端",
|
||
"iOS",
|
||
"Android",
|
||
"mac",
|
||
"Windows"
|
||
],
|
||
"status": "open",
|
||
"created_at": "2026-06-11T15:48:25.745Z",
|
||
"done": false,
|
||
"completed_at": null,
|
||
"version": null
|
||
},
|
||
{
|
||
"id": 12,
|
||
"title": "官网 Astro 迁移",
|
||
"desc": "ui_kits/website → Astro SSG + Cloudflare Pages 多镜像;保留 i18n 单显、响应式断点、全部脱敏文案。完全独立可并行。",
|
||
"level": "mid",
|
||
"tier": 2,
|
||
"tags": [
|
||
"Web",
|
||
"前端"
|
||
],
|
||
"status": "open",
|
||
"created_at": "2026-06-11T15:48:45.836Z",
|
||
"done": false,
|
||
"completed_at": null,
|
||
"version": null
|
||
},
|
||
{
|
||
"id": 13,
|
||
"title": "Web 用户中心(Next.js)",
|
||
"desc": "ui_kits/usercenter React 组件直接复用;先 mock 数据,后接 me/redeem/devices;TOTP 2FA。UI 部分独立并行,接口联调依赖 #2。",
|
||
"level": "mid",
|
||
"tier": 2,
|
||
"tags": [
|
||
"Web",
|
||
"前端"
|
||
],
|
||
"status": "open",
|
||
"created_at": "2026-06-11T15:48:45.886Z",
|
||
"done": false,
|
||
"completed_at": null,
|
||
"version": null
|
||
},
|
||
{
|
||
"id": 14,
|
||
"title": "弹性节点基建:Terraform + 一键更换",
|
||
"desc": "多厂商 API 适配层(providers 池)、cloud-init 模板、replace 一键更换(make-before-break)与全量滚动轮换、换 IP 不换机。依赖 #6 的 agent。",
|
||
"level": "mid",
|
||
"tier": 2,
|
||
"tags": [
|
||
"CI/CD",
|
||
"后端"
|
||
],
|
||
"status": "open",
|
||
"created_at": "2026-06-11T15:48:45.936Z",
|
||
"done": false,
|
||
"completed_at": null,
|
||
"version": null
|
||
},
|
||
{
|
||
"id": 15,
|
||
"title": "探针判封 + 自动更换 scheduler",
|
||
"desc": "境内多 ISP 拨测 + 境外对照 + 流量骤降三路互证;blocked_suspect/confirmed 状态机、阈值与熔断、池水位告警、自动补新。依赖 #5、#14。",
|
||
"level": "high",
|
||
"tier": 1,
|
||
"tags": [
|
||
"后端"
|
||
],
|
||
"status": "open",
|
||
"created_at": "2026-06-11T15:48:45.987Z",
|
||
"done": false,
|
||
"completed_at": null,
|
||
"version": null
|
||
},
|
||
{
|
||
"id": 16,
|
||
"title": "域名池 + CDN 前置 + 签名端点分发",
|
||
"desc": "四组域名隔离与冷备池、源站隐藏(回源鉴权)、Ed25519 签名端点更新与公告 JSON 多镜像、客户端 DoH/IP 直连兜底联动。可独立并行。",
|
||
"level": "mid",
|
||
"tier": 2,
|
||
"tags": [
|
||
"Web"
|
||
],
|
||
"status": "open",
|
||
"created_at": "2026-06-11T15:48:46.039Z",
|
||
"done": false,
|
||
"completed_at": null,
|
||
"version": null
|
||
},
|
||
{
|
||
"id": 17,
|
||
"title": "备份与灾备演练",
|
||
"desc": "xtrabackup 每日全量 + binlog 15min 增量、age 加密异地(独立身份账号)、月度恢复演练脚本、RPO≤15min/RTO≤4h 验证。",
|
||
"level": "mid",
|
||
"tier": 3,
|
||
"tags": [
|
||
"数据库",
|
||
"CI/CD"
|
||
],
|
||
"status": "open",
|
||
"created_at": "2026-06-11T15:48:46.090Z",
|
||
"done": false,
|
||
"completed_at": null,
|
||
"version": null
|
||
},
|
||
{
|
||
"id": 18,
|
||
"title": "CI 流水线",
|
||
"desc": "lint + 单测 + OpenAPI 同步校验 + 脱敏红线词扫描(UI 文案资源)+ 容器镜像构建。",
|
||
"level": "low",
|
||
"tier": 3,
|
||
"tags": [
|
||
"CI/CD"
|
||
],
|
||
"status": "open",
|
||
"created_at": "2026-06-11T15:48:46.141Z",
|
||
"done": false,
|
||
"completed_at": null,
|
||
"version": null
|
||
}
|
||
]
|
||
}
|