Repository navigation
2.0.156
2.0.156
四条来自使用的反馈。最后一条查下去发现根源比预想的严重:后台「成员渠道」那个窗口的样式一条都没有。
后台「成员渠道」窗口:此前没有任何 CSS
JS 一直在生成 ma-pick / ma-pick-row / ma-pick-prov / ma-tag / ma-member / ma-card / ma-ops 这一整套类名,但样式表里查无此类(同一个后台的「模型元数据」mm-* 有 50 条规则,这边是 0 条)。于是勾选框和文字挤在一起、渠道分组与模型行没有层级、按钮堆成一团 —— 你看到的「乱七八糟、各种没对齐」就是这个。现在补齐了这一族样式:渠道分组吸顶 + 底色、每行统一 34px 行高、勾选框固定 16px 并真正垂直居中、成员选择器限高滚动、卡片与状态标签按站内设计系统(无描边,分层靠底色与 hairline 内阴影)。
开关白点溢出胶囊(截图里那个)
.switch 是 <span>,而 style.css 里有一条 .field span { display: block; font-size: .929rem } —— 开关一旦落在 .field 里就被压成行盒高度(height: 26px 失效,实际 20px),而绝对定位的旋钮仍是 20px + top: 3px,于是底部溢出 3px、右侧看起来也对不齐。现在把盒模型和尺寸钉死,实测旋钮四周留白恒为 3px。
同时修掉两处同源问题:
- 生成汇总弹窗里的非法 HTML:那段是「
<label class="field">里又套一层<label class="user-form-admin">」的嵌套 label(模型元数据弹窗里也有同样写法)。嵌套 label 不是合法结构,浏览器会把关联关系打乱。外层已改成div。 - 勾选框与模型名错开 3px:同一条
.field span { margin-bottom: 6px }漏进了选择器行内的<span>,把文字整体上推。清掉后实测偏差 0px。
汇总不再收纳用户在前台自己添加的模型
汇总的成员池此前扫的是全部供应商,没有区分「平台渠道(管理员添加)」与「用户自建」。两个后果:用户自建的一条同名渠道就能把「只有 1 个平台成员」的模型顶成 ≥2,凭空造出一条全局汇总组(而该组对其它用户只有一个真实成员);而该用户的同名模型本就在他自己的列表里,再被汇总收纳一次,他反而找不到自己那条渠道了。
现在建组、成员解析、成员校验三处口径统一为「只认平台渠道」;后台弹窗把用户自建渠道单独列成只读清单(带渠道主),说明为什么它们不参与汇总。
其余两条
- 生图留存文件与数据备份清单默认折叠 + 分页:这两份清单会随使用不断变长(留存按张、备份按天累积),此前平铺渲染会把整页撑得很长。现在默认收起(标题上直接写明「多少个 · 多大」,不展开也知道规模),展开后固定限高内滚动、每页 10 行并带翻页。
- 汇总模型回答在对话里只占一个标签,名字是
Auto@模型名:汇总的意义就是「多个渠道一个 ID」,一轮回答只该有一条标签,而不是每个成员渠道各占一条。logo 由模型名匹配,同一个汇总 ID 背后可能是不同厂商的模型,图标据此自动切换;汇总只有一条回答时也会画出标签条(此前要 ≥2 个版本才画),否则看不出这一轮是哪条汇总 ID 答的。
测试
tests/model-groups-gui.mjs39 → 52 项:新增排版几何断言(勾选框与文字中心偏差 ≤2px、行高一致、分组标题吸顶、选择器限高、旋钮不得溢出轨道)与汇总回答的标签断言(有且只有一条、名字是Auto@agg-model、带 logo、不泄漏agg:前缀)。这几条抓出的正是上面那些渲染缺陷 —— 接口全对,界面却是错的。- 新增
tests/storage-panel-gui.mjs(22 项):写 25 个留存文件 + 14 个备份文件,真浏览器里验默认收起、标题写明规模、一页 10 行、翻页真的换内容、末页「下一页」禁用且正好装下余数、限高可滚动、再次收起不占高度。 - 两者都已登记进 CI。
回归:PHP 20 套、JS 静态 13 套、GUI 全量 18 套零失败(含 model-groups-gui 52 / storage-panel-gui 22 / chat-api-group-gui 50 / local-store-gui 39 / settings-sync-gui 27 / toolbox-gui 187)、e2e.sh 630 项、model-groups-e2e.sh 44 项、release.mjs 幂等。
本版无数据库迁移,替换文件即可。