# Provider Accounts Admin

Provider Accounts

# 把导入结果升级成可读、可筛选、可启停的帐号资产库存

这页直接消费 `/api/provider-accounts` 与三个启停动作，把每条供应商帐号摊开到 `provider / logical_group / route / shadow_group / shadow_host` 维度。 当前首版明确只修改插件 SQLite 里的帐号资产状态，不假装已经联动修改宿主 account 记录。

- 默认 API Base：`/portal-admin-api`
- 列表会先做一次 provider_accounts 回填
- 人工 disabled / deprecated 不会被列表刷新刷回 active

API Root
-
Accounts
0
Active / Disabled
0 / 0
Deprecated / Broken
0 / 0

## 连接与过滤

这页默认优先走管理员 session，也保留 Bearer token 兜底。过滤只影响读取列表，不会修改帐号状态。

API Base Bearer Admin Token（可选）
管理员用户名 管理员密码
正在检查管理员会话…
host_id provider_id logical_group_id
route_id shadow_group_id account_status
binding_state
搜索 limit
帐号库存结果会显示在这里。

## 帐号资产清单

选中一条帐号后，右侧会展示完整归属和当前启停操作。未补齐 route 的帐号不会被隐藏，而是明确显示为“未归属”。

还没有帐号库存数据。

## 帐号归属详情

这里回答三个问题：这条帐号属于谁、挂到哪条 route、当前是人工停用还是自动探测异常。所有启停动作都只改插件库存状态。

当前显式使用的动作接口是： `/api/provider-accounts/{account_id}/enable`、 `/api/provider-accounts/{account_id}/disable`、 `/api/provider-accounts/{account_id}/retire`、 `/api/provider-accounts/{account_id}/binding-candidates`、 `/api/provider-accounts/{account_id}/binding`。

状态变更原因
请选择左侧一条帐号记录。

## 显式整理归属

当帐号因为同一 `shadow_host_id + shadow_group_id` 对应多条 route 而显示为 `conflict` 时，直接在这里挑一条 route 绑定；也可以清空 binding，保留为未归属。

route 候选
当前 binding_state
选择左侧一条帐号后，这里会加载 route 候选。
选择左侧一条帐号后，这里会显示 route / shadow group / logical group 归属详情。

    {}