Files
douyin-pc/docs/2026-09-06-11-03-account-ownership-ux.md
T

3.0 KiB

账号归属与切换 UX

用户确认的要求

  • Windows + Chrome,多账号独立持久化登录环境。
  • 多个大号可以同时监听;每个大号关联多个小号。
  • 一个小号同一时间仅服务于一个大号,但允许切换归属。
  • 大号通知产生的任务仅下发给其关联小号。
  • 使用者自行决定启动多少账号,产品不提供机器容量评估。
  • 支持关机后一键恢复环境;登录是否仍有效以平台实际状态为准,失效时用户手动登录,不自动尝试登录。

最小数据设计建议(尚未实现)

每个小号记录一个可空的 owner_account_id,直接指向大号,不使用多对多关联表。空值表示未分配,不接收任务。账号角色与归属由后台校验:只有小号可以设置归属,归属必须是大号。

账号 ID、预期平台 UID、Chrome user-data-dir、CDP 配置与归属分开保存。切换归属不更换小号身份,不删除登录数据,不新建浏览器实例。

切换交互建议

在小号菜单提供“切换所属大号”,选择目标后展示原归属、新归属、待执行任务数及执行中状态,并确认切换。

为避免跨组执行,建议采取以下默认规则;这是方案建议,并非用户已确认的任务处置细节:

  1. 切换期间暂停该小号接收及领取新任务。
  2. 若有执行中任务,阻止立即切换,提示任务结束后再操作,不强行中断已发出的关注或私信。
  3. 在同一数据库事务中取消该小号原归属的待执行任务,并更新归属;保留取消原因及历史结果,不迁移给新大号,也不自动改派其它小号。
  4. 切换后仅接受新归属大号的任务。
  5. 派发、领取和实际发出操作前校验任务来源大号与小号当前归属;任务领取与切换互斥,防止检查后竞态。
  6. 已发出但结果不确定的任务保留 unknown 状态,只查询核对,不因切换或重启自动重发。

确认文案示例:“将小号 X 从大号 A 切换至大号 B。A 下该小号的 N 条待执行任务将取消,历史记录保留。是否继续?”

主界面

按大号分组展示关联小号;另设“未分配小号”。支持单组启停、选择多组启动、全部停止。监听状态、登录状态、执行状态应分别展示,避免把已登录误认为正在监听或可执行。

账号数量不做推荐或性能评级;真实启动/连接错误仍应呈现。

持久化与一键恢复

SQLite 保存归属、账号配置与任务记录;独立 Chrome 数据目录保存登录环境。启动时恢复连接并核验 UID 与登录状态,登录有效才恢复对应角色的工作。对重启遗留 running 任务先核对,不盲目重发。登录数据仅保存在本机,删除需单独确认。

范围

本次仅更新产品规则与建议,没有修改 src、启动浏览器或执行账号操作。技术栈维持 Python + asyncio + Playwright/CDP + SQLite,桌面界面使用 PySide6。