v2.0.12-go
·
101 commits
to go-rewrite
since this release
v2.0.12-go
删除某条代理线路时,原本绑定它的账号不再被打成直连,而是自动改派到其它空閒
线路;账号页的表格也收窄到卡片以内,右侧的「操作」等列不再被裁掉。
新增内容
- 删除线路时自动改派空閒线路。以前删掉一条仍被账号使用的线路,那些账号
会被直接清空代理、退化为直连;现在会先摘掉指向该线路的失效指派,再从「启用
中且未被任何账号占用」的线路里按序补位,确实没有空閒线路才退回直连。
整个「删除 → 摘指派 → 补位 → 落库」在同一次加锁内完成,不留中间态,因此
不会出现「账号短暫指向一条已删除的线路」这种窗口。 - 接口返回改派计数。
DELETE /admin/api/proxies/{id}现在返回
{"ok":true,"reassigned":N,"direct_fallback":M}:N 是成功改派的账号数,
M 是找不到空閒线路、已改为直连的账号数。后台据此分三种情况提示(全部改派/
全部直连/两者兼有),删除确认框的文案也同步说明这一行为。
修复内容
- 账号页表格超出卡片宽度。上一版只收窄了额度进度条,但真正的约束是九列的
最小宽度之和已经超过卡片可用宽度——在最常见的 1536px 视口下表格需 1188px、
卡片只有 1150px,多出的 38px 正好把最右的「操作」列(7 个按钮)裁掉。本版
收窄了单元格内边距、邮箱列的截断宽度、以及「最近使用」与模型名两列,合计压到
约 1088px,留出约 60px 余量。 - 窄视口下的整页横向滚动。侧边栏容器缺少
min-w-0,内容的最小宽度会经
flex item 的min-width:auto一路传导,把整个主区域撑宽、逼出整页滚动条。
补上之后,过宽的内容改由卡片内部横向滚动消化,页面本身不再横向滚动。
使用说明
删除线路前无需任何额外操作:确认框会说明「使用此線路的帳號會自動改派到其它
空閒線路,沒有空閒線路時才改為直連」,删除后按实际结果给出提示。
改派的候选只包含启用中且 ProxyID 未被任何账号占用的线路;手工填写的
proxy_url 不算占用命名线路。停用的线路不会被选中。
表格布局在 1536 / 1280 两档视口下都用本地渲染实测校验过(表格宽度不再超过
容器、整页无横向滚动),额度数字变长时其余列会自动让位。
Docker
docker pull ghcr.io/fujunchao/zcode2api-plus:2.0.12-go支持 linux/amd64 和 linux/arm64,同时更新 latest。现有数据卷与非 root 运行
方式不变。
能力依据
改派逻辑复用既有的「空閒线路」判定,不新增任何配置项,也不改变账号的出站字段
语义——账号出站仍只看 proxy_url,退回直连时会把它一并清空,确保「删除=这条
线路彻底消失」,不会残留指向已删除线路的地址。
改派已通过 store 层单测(有空閒则改派且被删线路不残留/无空閒则直连且地址清空/
线路不存在返回 false)与 HTTP 层端到端测试(建两条线路 → 新增账号 → 删第一条
断言改派 → 再删第二条断言退回直连);表格布局的修正是实测得出,不再依赖对
class 的推断,但真实观感仍待在线确认。