v1.0.10 两件大事:
1. 界面中英双语(英文界面无中文残留)
- 新增 web/i18n.js(约 4200 条词条),零依赖零构建
- 后端下发中文数据走 bt4() 查表翻译;独立模块(upstream/netdetail/
realtime/update)纳入翻译并注册切语言重绘钩子
- 后端「状态/聚合」接口只回稳定枚举+原始数值,不下发中文文案
- 顺带修一个真实 XSS:顶层 const 不挂 window,独立脚本 esc 静默退化成零转义
2. 修掉「文字竖着排/错位」(多分辨率反复暴露)
- 单元格 min-content 只有 1 字宽 → word-break:keep-all + 表头 nowrap
- 依赖卡片正文被标签/按钮挤成 27px → .dep-body{flex:1 1 200px} + flex-wrap
- 裸 flex:1(下限为0)给正文 → 一律改 flex:1 1 <px>
- .dep-item 横向容器直接塞块级子项 → 退回块级
- 关键陷阱:auto-fill 布局屏越宽列数越多单卡越窄,窄屏反而测不出来,
真机审计推进到「逐视图点按钮 + 1920/2560 宽视口 + 中英双语」
- 守卫 t-layout.py 扩到 35 条,12 处反向验证全红
3. 修真缺陷:_link_since() 重启检测被误改成 if False:(注释还写着「已修」),
uptime 归零后相减得负数 → 恢复比对 boot_id
附带:新增 25 个检查器(t-*.py)、排版审计工具链(shot-*/ocr-*/live-*)、
版本号兜底值同步到 1.0.10、.gitignore 收纳 i18n/排版排查的一次性脚本。
34 lines
1.5 KiB
Bash
34 lines
1.5 KiB
Bash
#!/bin/bash
|
|
# 文字排版体检(宽视口版)。
|
|
#
|
|
# 与 _dev/text-audit.sh 的区别:那一版**把侧栏 display:none 藏掉**再量,
|
|
# 等于白送 236px 宽度 —— 真机上侧栏是占位的(>760px 视口),内容区实际只有
|
|
# vw-236px。这就是「本地审计 0 问题、真机还是竖排」的假绿来源(2026-10-09)。
|
|
# 本脚本保留真侧栏,并按 1440/1280/1080/900/800 五档宽度扫(<=760 时侧栏
|
|
# 变抽屉,才隐藏)。
|
|
#
|
|
# 用法:DUMP_ALL=1 node _dev/t-en-render.js 先生成 _dev/.layout/,再跑本脚本。
|
|
set -u
|
|
ROOT="$(cd "$(dirname "$0")/.." && pwd)"
|
|
WS="C:/Users/lyrz-pve-win10/.workbuddy/binaries/node/workspace"
|
|
cd "$WS" || exit 1
|
|
export PATH="/c/Users/lyrz-pve-win10/.workbuddy/binaries/node/versions/22.22.2-6:$PATH"
|
|
AB="node node_modules/agent-browser/bin/agent-browser.js"
|
|
BASE="file:///$ROOT/_dev/.layout"
|
|
JS="$(cat "$ROOT/_dev/.text-probe.js")"
|
|
HIDE="var s=document.querySelector('.sidebar'); if(s) s.style.display='none';"
|
|
ONLY="${ONLY:-}"
|
|
VIEWPORTS="${VIEWPORTS:-1440 900 d|1280 900 d|1080 900 d|900 800 d|800 800 d|390 844 m}"
|
|
for v in $(ls "$ROOT/_dev/.layout" | sed 's/\.html$//'); do
|
|
[ -n "$ONLY" ] && [ "$v" != "$ONLY" ] && continue
|
|
echo "$VIEWPORTS" | tr '|' '\n' | while read -r wh; do
|
|
set -- $wh
|
|
$AB set viewport $1 $2 >/dev/null 2>&1
|
|
$AB open "$BASE/$v.html" >/dev/null 2>&1
|
|
if [ "$3" = "m" ]; then $AB eval "$HIDE" >/dev/null 2>&1; fi
|
|
o=$($AB eval "$JS" 2>/dev/null | head -1)
|
|
echo "$v|$1|$o"
|
|
done
|
|
done
|
|
$AB close >/dev/null 2>&1
|