Skip to content

multi2api v1.9.15

Choose a tag to compare

@Practice019 Practice019 released this 20 Oct 21:31
· 81 commits to master since this release

v1.9.15

本版两条主线:前端视觉语言 v3(MAXIMALISM · 霓虹油墨)整体重构,以及可读性判据从"抽样 5 个元素"升级为"全量逐元素"。另修三处前端缺陷。


一、视觉语言 v3 · MAXIMALISM

风格取自 designforai.dev/style/maximalism:奶油纸底 + 墨线 + 五个冲突色 + 硬投影 + 零圆角 + 颗粒纹理 + 跑马灯 + 旋转贴纸。三个页面(控制台 / 登录 / 渠道)统一到同一套语言。

唯一真相 + 一键内联

  • internal/server/theme-max.css —— 设计系统本体(唯一真相)
  • tools/theme_sync.js —— 内联进三个页面的 <style>(幂等;--check 只校验,可进 CI)
  • 三个页面仍是单文件 + go:embed + 零外部依赖;没有引 Google Fonts(用系统超重黑体栈,离线部署不退化)

外壳吵、数据静

  • 吵:页头(贴纸 + 跑马灯)/ 侧栏 / 分区标题带 / 统计卡 / 分组头 / 按钮 / 空态 / 提示 / 弹窗
  • 静:表格内容区、表单、日志行、代码块(只留墨线,不铺色块、不叠阴影)

理由:这是高密度中后台(账号池一屏 12 个上游、日志整屏)。全套铺满会把状态胶囊与分组头糊成一片,读不出哪一行出错。

字体

  • 展示字以 Arial Black 打头(Impact 字面太窄,12~15px 时字母会互相咬住)
  • ≤15px 一律退回系统 UI 字,层级改由字重 + 字距表达
  • 分组头 gap 10→12px、标题按钮内 6→9px

深色主题

  • 统计卡仍是深底 + 亮描边(浅色下才是四色卡片 —— 亮度方向判据使然)
  • 边框转霓虹黄、强调色转粉

二、可读性判据升级:抽样 → 全量

新增 tests/frontend/audit_contrast_pages.js(页内逻辑在 lib_contrast_audit.js):

遍历 13 个面板 × 浅/深两套主题的每个可见文本元素,按 alpha 合成真实底色后算 WCAG 比值(正文 4.5 / 大字号 3),不达标就点名 CSS 路径 + 文本 + 前景/底色 + 实测值,非零退出。

它直接抓出了抽样判据够不着的真缺陷:分组头的次要文字在粉底 2.72:1、酸绿底 1.49:1。修完 104 处 → 0 处。

修的四类:

问题 实测 修法
分组头 / 分区标题带的次要文字 1.49:1 亮底容器内文字一律墨色,层级用字号字重表达
深色下统计卡的"--"占位 1.07:1 该处回到 --dim(深底不能用墨字)
侧栏分组头的粉色从未生效 徽章 1.07:1 .navgrouphd 被 .sidebar button{background:transparent} 拍平,提特异性
v2 残留写死色 #58a6ff 2.24:1 / #0f8a4d 3.9:1 属性选择器接到 --acc / --ok(SVG 属性不认 var(),所以不动 JS)

三、其它修复

  • 可用模型:没有可用账号的上游整组隐藏(含内置声明),面板与上游/模型两个下拉一起过滤;accountCount 三态(数字 / null=未知),只在明确 0 时隐藏 —— 否则 manifest 到达前会把全部上游误伤。/v1/models 不变(客户端仍需知道上游支持生图)。
  • 渠道页操作列:按钮原来带内联 style="padding:0 8px;height:22px"(内联压过样式表)+ 与行底色同色 ⇒ 远看是一整块灰条。现在去掉内联、底色 --panel2、2px 墨线 + 相邻 8px + 硬投影。
  • models_display_gen.js:补「对话密钥」桩,修掉既有 ReferenceError: KEY is not defined(34 项失败清零)。

四、验证

  • go build ./... / go vet ./... / go test ./... -count=1 全绿(CI 同口径)
  • contrast_e2e / final_visual / theme_e2e 全部通过
  • 全量对比度巡检:26 组合 0 处低于阈值
  • 前端静态套件 23/32:9 条红在 HEAD 基线上逐条复现(dashboard_gen / stats_disk / tokps / gen_ui_manifest / audit_tracked_content / verify_probe_console_loaded 等既有红),非本版引入

升级提示

页面样式走 go:embed,升级后请 Ctrl+F5 硬刷新。渠道页是 iframe,必要时右键「重新加载框架」。