# EveryPublish 页面线框图全集(ASCII) > 2026-08-20 · 与 docs/delivery-plan.md 日计划对应(D5-D7 页面开发按本图实现)。标注行=推荐使用的 TDesign 组件与 starter 模板。 ## 0. 通用布局骨架(除登录页外所有网页端页面共用) +------------------------------------------------------------------+ | Logo EveryPublish 🔔通知(角标) 头像 ▾ | +-------------+----------------------------------------------------+ | 侧边菜单 | 面包屑: 首页 / 发布管理 / 任务列表 | | 工作台 | +------------------------------------------------+| | 发布管理 ▾ | | || | 任务列表 | | 页面内容区(各页不同) || | 新建发布 | | || | 排期日历 | | || | 素材库 | | || | 账号管理 | | || | 审核中心 | | || | 通知与挑战 | | || | 成员与权限 | | || | 设置 ▾ | +------------------------------------------------+| | 审计日志 | | +-------------+----------------------------------------------------+ 组件: Layout + Menu(侧边) + Breadcrumb + Dropdown(头像) + Badge(通知角标) 说明: admin 角色在头像下拉出现「平台管理」入口,跳 /admin 域(同骨架,菜单替换)。 ## 1. 登录页(isFullPage 全屏,无侧边菜单) +-----------------------------------------------------------+ | | | [Logo EveryPublish] | | +---------------------------------+ | | | 账号 [___________________] | | | | 密码 [___________________] | | | | [x] 记住我 忘记密码? | | | | [ 登 录 ] | | | +---------------------------------+ | | | +-----------------------------------------------------------+ 组件: Form + Input + Checkbox + Button; 模板: pages/Login 改造(去第三方登录) 验收: 登录成功进入工作台; 失败提示; refresh 自动续期。 ## 2. 仪表盘(工作台) +------------------------------------------------------------------+ | [今日发布:12] [成功:10] [失败:2] [待处理挑战:1] | | Agent 在线状态: ● 在线(1台) 最后心跳 3s 前 [查看设备] | | 最近任务: | | | 素材 | 标题 | 平台 | 状态 | 时间 | 操作 | | | | 图 | xxx | 抖音 | 已发布 | 10:32 | 查看 | | | | 图 | yyy | 快手 | 失败 | 10:30 | 重试 | | +------------------------------------------------------------------+ 组件: Card + Statistic(可用 echarts 现成卡片或纯文本) + Table + Tag + Badge 模板: pages/Dashboard/Base 改造 验收: 数字与后端统计一致; Agent 状态实时。 ## 3. 任务列表(发布管理) +------------------------------------------------------------------+ | 筛选: [状态▾全部] [平台▾全部] [日期范围] [搜索标题____] [查询][重置] | | [ + 新建发布 ] | | | 素材 | 标题 | 平台 | 账号 | 排期时间 | 状态 | 操作 | | | | 图 | xxx | 抖音 | 官号 | 10:30 | 已发布 | 查看/重试 | | | | 图 | yyy | 小红书 | 官号 | 明天09:00| 待审核 | 查看/取消 | | | ... | | < 1 2 3 ... 10 > 共 123 条 | +------------------------------------------------------------------+ 组件: Table + Select + DateRangePicker + Input + Button + Tag + Pagination + Popconfirm(取消) 模板: pages/List/Base 验收: 筛选/分页正确; 重试与取消二次确认; 状态实时刷新。 ## 4. 新建发布(分步向导) +------------------------------------------------------------------+ | 步骤条: ① 选择素材 → ② 平台与账号 → ③ 编辑内容 → ④ 定时与提交 | | | | 步骤①: 素材卡片网格(点选) [从素材库选择][上传] | | +------+ +------+ +------+ | | | 缩略图 | | 缩略图 | | 缩略图 | (选中高亮✓) | | | 名称 | | 名称 | | 名称 | | | +------+ +------+ +------+ | | 步骤②: [x]抖音 [x]快手 [x]小红书 [x]B站 每平台: [账号▾官方号] | | 步骤③: 标题[________________] 话题[#____] 描述[多行textarea] | | 右侧: 各平台发布预览卡片 | | 步骤④: (•)立即发布 ( )定时 [日期时间选择器] [提交审核] | +------------------------------------------------------------------+ 组件: Steps + Grid(Card选择) + Upload + Checkbox + Select + Input + Textarea + Radio + DatePicker 模板: pages/Form/Step 验收: 必填校验; 提交后进入待审核/直接排期(视配置)。 ## 5. 排期日历 +------------------------------------------------------------------+ | [◀ 2026年8月 ▶] [今天] 图例: ●待发 ●已发 ●失败 | | 一 二 三 四 五 六 日 | | 1 2 3 4 5 6 | | 7 8 9 [10●2] 11 12 13 (右侧/下方列出当日任务) | | 14 15 16 17 18 19 20 | 09:00 xxx 抖音 待审核 | | | ... | 14:00 yyy B站 已发布 | | +------------------------------------------------------------------+ 组件: Calendar(TDesign 1.x, 若无则以卡片网格自绘) + List + Tag 模板: 新建页面 验收: 月视图任务点正确; 点击日期过滤当日任务。 ## 6. 任务详情(Drawer 侧滑) +------------------------------------------------------------------+ | X 任务详情 #1024 [重试][关闭] | | 基本信息: 标题 / 平台 / 账号 / 创建人 / 排期时间 | | 事件时间线: | | ● 10:29:30 任务下发 Agent | | ● 10:30:01 开始上传素材(进度 100%) | | ● 10:32:10 平台审核通过, 已发布 | | ● 10:32:11 回执截图 [缩略图][查看大图] 链接: https://... | | 失败场景: 失败原因红色标注 + [重试] | +------------------------------------------------------------------+ 组件: Drawer + Descriptions + Timeline + ImageViewer + Tag + Button 模板: pages/Detail/Base 改造 验收: 事件流完整; 截图可放大; 失败原因可见。 ## 7. 素材库 +------------------------------------------------------------------+ | [上传素材] 分组:[全部▾] 搜索:[____] 视图:[卡片][列表] | | +--------+ +--------+ +--------+ | | | 缩略图 | | 缩略图 | | 缩略图 | | | | 名称.mp4| | 名称.jpg| | ... | | | | 128MB | | 2.1MB | | | | | | [预览][删除] | [预览][删除] | | | | | +--------+ +--------+ +--------+ | | 上传弹窗: [拖拽文件到此处] 进度条: ▓▓▓▓▓▓░░ 80% | +------------------------------------------------------------------+ 组件: Upload(dragger) + Progress + Grid + ImageViewer + Select + Input + Popconfirm 模板: pages/List/Card 验收: 大文件上传进度; sha256 入库; 预览/删除正常。 ## 8. 账号台账 + 绑定挑战弹窗 +------------------------------------------------------------------+ | [ + 绑定账号 ] | | | 平台 | 账号昵称 | 状态 | 健康度 | 代理 | 最后活跃 | 操作 | | | | 抖音 | xxx官方 | 已绑定 | ●良好 | 无 | 2小时前 | 重扫/解绑 | | | | 快手 | yyy | 登录过期 | ●差 | 无 | 5天前 | 重新扫码 | | | +--------------------------------------------------------------+ | | 绑定弹窗: 选择平台[▾] → 二维码展示区 → 状态: 等待扫码... | | [刷新二维码] (二维码由 token 本地渲染, 非截图) | +------------------------------------------------------------------+ 组件: Table + Dialog + Select + Button + Tag + Badge + qrcode.react(唯一新增依赖) 模板: pages/List/Base + Dialog 验收: 发起绑定→Agent 取码→弹窗显示→手机扫码→台账变绿。 ## 9. 审核中心 +------------------------------------------------------------------+ | 待审列表: | | | 素材 | 标题 | 平台数 | 提交人 | 提交时间 | 操作 | | | | 图 | xxx | 3 | 运营A | 10:00 | [预览][通过][驳回] | | | 预览 Drawer: 左侧各平台 Tab 预览效果; 右侧批注框 | | [通过] 或 [驳回 + 批注原因______] | +------------------------------------------------------------------+ 组件: Table + Drawer + Tabs + Textarea + Button 模板: pages/List/Base + Drawer 验收: 通过→排期; 驳回→回草稿+通知提交人。 ## 10. 挑战中心(通知与挑战) +------------------------------------------------------------------+ | 待处理: [类型] 二维码登录 [平台]抖音 [账号]xxx [时间]2分钟前 [处理] | | 已完成: 短信验证码 小红书 ... 1小时前 ✓已解决 | | QR 弹窗: 二维码展示(自动刷新) 提示: 请用抖音APP扫码 | | 验证码弹窗: 已发送至手机尾号 1234 [输入框______] [提交] (可重输2次) | +------------------------------------------------------------------+ 组件: List/Table + Dialog + Input + Button + Tag + qrcode.react 验收: 五类挑战均可人工完成; 超时挂起可一键重发。 ## 11. 通知 +------------------------------------------------------------------+ | [全部已读] | | ● 10:32 任务#1024 抖音 发布失败: 风控拦截 [查看] 已读 | | ○ 10:00 抖音官方号 登录即将过期, 请重新扫码 [去扫码] 未读 | | ○ 09:30 成员 运营B 提交了待审核任务 [去审核] 未读 | +------------------------------------------------------------------+ 组件: List + Badge + Button 验收: 事件产生即推送; 已读状态持久。 ## 12. 成员与权限 +------------------------------------------------------------------+ | [ + 邀请成员 ] | | | 姓名 | 手机 | 角色 | 状态 | 加入时间 | 操作 | | | | 张A | 138.. | 管理员 | 正常 | 08-01 | 改角色/停用 | | | | 李B | 139.. | 运营 | 正常 | 08-10 | 改角色/停用 | | | 邀请弹窗: 角色[▾运营] → 生成邀请链接 [复制] | +------------------------------------------------------------------+ 组件: Table + Dialog + Select + Button + Message(复制成功) 模板: pages/User 验收: 角色权限隔离生效; 停用成员无法登录。 ## 13. 设置(四个子页) +------------------------------------------------------------------+ | Tab: [工作区资料] [安全] [通知渠道] [Agent设备] | | 资料: 名称[____] Logo[上传] 简介[____] [保存] | | 安全: 2FA 开关 [○关(默认)] 登录设备: |Win Chrome| 杭州 | [吊销] | | | 通知渠道: 企微[○开 配置] 钉钉[○关] 邮件[○关] | | Agent设备: | 设备名 | 状态●在线 | 版本 | 最后心跳 | [吊销][指令] | | +------------------------------------------------------------------+ 组件: Tabs + Form + Switch + Upload + Table + Popconfirm 验收: 2FA 默认关; 吊销设备后客户端失联。 ## 14. 审计日志 +------------------------------------------------------------------+ | 筛选: [操作人____] [动作▾] [时间范围] [查询] | | | 时间 | 操作人 | 动作 | 对象 | 详情 | | | | 10:30| 张A | 通过 | 任务#1024 | 审核通过 | | | | 10:00| 李B | 提交 | 任务#1024 | 提交待审核 | | +------------------------------------------------------------------+ 组件: Table + Select + DateRangePicker + Input 验收: 全操作可查。 ## 15. admin · 租户管理 +------------------------------------------------------------------+ | | 租户名称 | 套餐 | 成员数 | Agent数 | 状态 | 创建时间 | 操作 | | | | 某某科技 | 试用 | 5 | 1 | 正常 | 08-01 | [停用]| | +------------------------------------------------------------------+ 组件: Table + Popconfirm 验收: 停用后租户不可登录。 ## 16. admin · Agent 总览 +------------------------------------------------------------------+ | | 租户 | 设备名 | 版本 | 在线 | 最后心跳 | 操作 | | | | 某某 | PC-01 | 0.1 | ●在线 | 3s前 | [吊销][远程指令] | | +------------------------------------------------------------------+ 组件: Table + Badge + Popconfirm 验收: 在线状态实时; 吊销即时生效。 ## 17. 客户端 · 配对引导(首次启动) +----------------------------------------------------------+ | EveryPublish 发布助手 [—][□][X] | | | | 第一步: 在网页端 设置→Agent设备 获取配对码 | | 配对码: [______] | | [ 绑 定 ] | | 状态: 绑定成功 ✓ / 失败原因(红字) | +----------------------------------------------------------+ 组件: WinUI 原生 (StackPanel/TextBox/Button/InfoBar) 验收: 5 分钟完成配对; 失败有明确原因。 ## 18. 客户端 · 托盘菜单 +--------------------+ | ● 已连接(延迟 12ms)| | 待发任务: 3 | | 打开面板 | | 重新扫码 | | 查看日志 | | 退出 | +--------------------+ 组件: H.NotifyIcon 托盘菜单(Win32 interop) 验收: 最小化到托盘; 状态随连接实时变化。 ## 19. 客户端 · 主面板 +----------------------------------------------------------+ | 服务器: ● 已连接 延迟 12ms 版本 0.1.0 | | 账号: | | | 平台 | 状态 | 健康度 | 操作 | | | | 抖音 | 已绑定 | ●良好 | [重新扫码] | | | | 快手 | 过期 | ●差 | [扫码修复] | | | 待发任务: 3 今日已发: 5 | | [打开日志] [设置] | +----------------------------------------------------------+ 组件: WinUI 原生 (ListView/GridView/ProgressRing) 验收: 状态与服务器一致; 扫码入口直达挑战窗口。 ## 20. 客户端 · 扫码挑战窗口 +----------------------------------------------------------+ | 请使用 抖音APP 扫描二维码登录 | | ▓▓▓▓▓▓▓▓ (二维码, token 本地渲染) ▓▓▓▓▓▓▓▓ | | 状态: 等待扫码... → 已扫码,请在手机确认 → 登录成功 | | [刷新二维码] [取消] | +----------------------------------------------------------+ 组件: WinUI + QRCoder(C#) 验收: 码过期自动刷新; 状态实时。 ## 21. 客户端 · 验证码输入窗口 +----------------------------------------------------------+ | 小红书 需要短信验证码 | | 已发送至 138****1234 | | [______] [提交] (剩余重试 2 次) | +----------------------------------------------------------+ 组件: WinUI TextBox/Button 验收: 回传服务器→Agent 回填; 错误可重输。 ## 22. 客户端 · 设置(代理与日志) +----------------------------------------------------------+ | Tab: [代理] [日志] [关于] | | 代理: 每账号代理配置: 抖音官号 → [socks5://____] [测试] | | 日志: 文本区(滚动) + [导出] [清空] | | 关于: 版本 0.1.0 [检查更新] | +----------------------------------------------------------+ 组件: WinUI Pivot + TextBox + Button 验收: 代理测试连通性; 日志可导出。