- 消息卡片删除按钮移出正文行,改用 overlay 悬在右侧,44pt 点击区不再把行撑高 - 批量标签胶囊由等宽栅格改为流式布局,新增 AIFlowLayout 并让节点页复用同一实现 - 设置页应用信息补「构建」一行,版本号全程不带括号 - 添加实例与发送消息两张表单表统一行内标题,去掉大标题留下的空白带 - 节点空态文案改为「节点未返回设备信息」,与量表条实际返回的数据不矛盾 - 图标石墨底、面板阴影与插槽统一压暖 3~4 级,全图 0 蓝色像素
125 lines
9.6 KiB
Markdown
125 lines
9.6 KiB
Markdown
# iOS Native 0.2.2
|
||
|
||
0.2.2 把「分组」这个实体从应用里彻底删掉,归类只靠标签;同时完成第二轮配色与图标重构,界面上
|
||
不再出现蓝色。构建 9 是一轮收尾打磨:修掉消息中心发不出去信的按钮遮挡,补齐按钮层级,统一缺数据
|
||
读数的写法,并把中性灰阶压成严格等色。构建 10 继续收细节:消息卡片右侧的空洞、批量标签胶囊的
|
||
假宽度、设置页读不出构建号、两张表单表的标题层级,以及图标石墨底的冷调。页面能力、上游白名单与
|
||
本地数据布局见现行说明
|
||
[docs/ios-native.md](ios-native.md),
|
||
本文只记录本次发布的变化。
|
||
|
||
## 本次变更
|
||
|
||
- 中性灰阶改为严格 R=G=B:此前所有灰底的蓝通道比红通道高 3~10 级,浅色主题下大面积文字与描边
|
||
会蒙一层冷调,截图取色仍落在蓝色波段。现在画布、卡片、控件、描边、文字全部等色,画面里
|
||
只剩红(危险)、橙(告警)、绿(正常)三类状态色。
|
||
- 延迟量表改为可读量:详情页延迟进度条此前恒为满格,38ms 和 900ms 画出来一模一样。现在与节点
|
||
卡片同一算法(越短越满,1s 归零),一根条真的在说延迟好坏。
|
||
- 单位与占位写法统一:卡片里的延迟从 `218ms` 改成 `218 ms`,与概览、详情同一写法;设置页日志
|
||
计数与日志中心的 HTTP 状态占位也从 `--` 收敛到 `—`。
|
||
- 表单里成对的控件同尺寸:标签输入框高 52,右侧加号按钮只有 44,两个控件并排时明显一高一矮。
|
||
现在加号与输入框同高同圆角。
|
||
- 详情页身份信息对齐方式统一:头部摘要的值此前左对齐成一列,下方分区卡片的值右对齐,同一屏两种
|
||
排法读起来像两张不同的表。现在两处都靠右。
|
||
- 修复消息中心无法发信:发送入口原先挂在页面底部的操作条上,而底部标签栏是用 `safeAreaInset`
|
||
贴在根视图上的,两者叠在同一位置,操作条整条被标签栏盖住,「发送消息」在真机上根本点不到。
|
||
现在发送与刷新一起放进导航栏右侧,节点总览、设置页同一区域同一套做法。
|
||
- 主按钮禁用态重新分级:禁用前的主要按钮与普通按钮像素一致,表单里「取消」和「保存实例」分不出
|
||
主次。现在禁用的主要按钮改用主色低透明度底加同色描边,并去掉投影,看得见但明显弱于可用状态。
|
||
- 消息行的删除按钮降噪:原先每条消息都带一枚红色实心方块按钮,一屏十几个红块。现在改成一个
|
||
红色线性图标,保留 44pt 点击区域,只在需要时提示危险语义。
|
||
- 缺数据读数统一为一根短横:概览与卡片读数此前混用「不可用」和 `--`,四列窄格里既容易被读成
|
||
故障结论,字号还会被压缩。现在一律用 `—`,并按占位弱色渲染。
|
||
- 应用图标金色再收一档:底部由深古铜提亮到香槟金,整块金属在高亮壁纸上不再往下沉成棕黄。
|
||
石墨底同步去掉 1 级的蓝通道偏差,1024 与 120 两档取色都不再落在蓝色波段。
|
||
|
||
- 分组概念移除:删除分组视图、分组编辑器与分组仓储,实例模型不再有 `groupId`。升级后首次启动
|
||
一次性删除 `Documents/instance-groups.json` 与偏好键 `fleet.groupMode`,本机不留死数据。
|
||
- 标签接管归类:新增「批量标签」表,批量选择后一次给多台节点贴同一个标签;每个标签显示
|
||
「未贴 / N/M / 全部」三态覆盖度,点击即在整批上加减,也可以在同一张表里新建标签。卡片与
|
||
标签条上的标签仍然可点,点一下即加入筛选。
|
||
- 配色重构,全应用零蓝色:主操作、选中态、进度填充一律用石墨墨色,黄铜只作图标点缀;颜色
|
||
只保留给状态语义(危险红、告警琥珀、成功绿),健康读数回到墨色,深色主题不再整屏泛绿。
|
||
浅色主题重做为中性冷灰画布加纯白卡片,深色主题为低明度石墨三层。
|
||
- 选中态可见性:主题切换块与状态图例胶囊原先用 10%~12% 色雾表示选中,浅色下几乎看不出来,
|
||
改为实心主色加 `onPrimary` 文字,两套主题都一眼可读,且选中不改变控件尺寸。
|
||
- 应用图标重做:放弃立体卡与投影,改扁平石墨底加黄铜 SIM 面板,三根底部对齐的递增信号条,
|
||
29pt 下轮廓仍可读;面板边长、圆角、切角与信号条间距可用环境变量调参后重新光栅化。
|
||
底色与插槽改为严格等值的 R=G=B 中性石墨(原先偏青绿,在亮色壁纸上会被读成蓝),金色
|
||
下压饱和度、提高明度跨度,从浅金到深古铜,去掉「芥末黄」的塑料感。
|
||
- 运行概览收紧:检测进度从读数格移进卡片副标题(`刚刚更新 · 已检测 6/6 台`);读数栅格固定
|
||
八格两行,温度与电量即使整群节点都没上报也保留「不可用」占位,栅格不再在七格与九格之间跳;
|
||
概览量表健康时用墨色,只在告警与危险时上色。
|
||
- 实例详情头部重排:四项仪表从四枚嵌套小卡改为两列发丝线栅格,读数在上、进度在下,缺数据时
|
||
保留空轨道,数据到位后卡片高度不变,修掉 0.2.1「加载完成后头部比下方窄一圈」的问题;身份摘要
|
||
去掉内嵌底色,改用顶部发丝线分隔。
|
||
- 字段名补全:详情页里 `name`、`disk_total_bytes`、`disk_available_bytes`、`percent` 四个键
|
||
此前直接把原始键名渲染到界面上,现补为「设备名称」「存储总量」「可用存储」「使用率」并排进
|
||
固定顺序。
|
||
- 标签与方向胶囊中性化:`AITag` 拆成两类——不传状态色时是中性归类胶囊(浅底、发丝描边、墨色
|
||
文字,可带图标),传状态色时才用色雾。详情页标签因此不再显示成近乎禁用的黑雾块,并与节点
|
||
卡片同一形状同一图标;消息中心的「收件 / 发件」由绿色改回中性胶囊配上下箭头,绿色重新只
|
||
表示健康状态。
|
||
- 批量标签表在没有任何勾选时给出「先在节点列表勾选要归类的节点」提示,不再留一行空白。
|
||
同时这段状态下标签胶囊不再渲染成 `Button`:系统禁用态会把整枚胶囊压成灰块,看起来像加载
|
||
失败,现按中性标签原样显示,只把「新建标签并贴上」的输入与按钮置灰并说明原因。
|
||
- 版本号显示去掉括号:设置页「应用信息」只显示 `0.2.2`。
|
||
|
||
## 构建 10
|
||
|
||
- 消息卡片右侧的空洞修掉:删除按钮此前和摘要挤在同一行 `HStack` 里,它自带 44pt 点击区,等于把
|
||
这一行撑高约 22pt,卡片下半截全是空白,一屏只能放三张。现在摘要行按正文列宽排版,删除按钮用
|
||
`overlay` 悬在右侧并溢出到卡片留白里,点击区仍是 44pt,一屏回到四张。
|
||
- 批量标签的胶囊改成贴合文字宽度:原先用 `LazyVGrid` 等宽栅格,短标签被拉到 112pt 一格,看起来
|
||
像整片禁用的灰块。现在换成流式布局(`AIFlowLayout`),胶囊只占文字加内边距,节点页的标签条
|
||
复用同一份实现,删掉了原来那份重复的布局代码。
|
||
- 设置页显示构建号:同一营销版本会连续出多个包,只写 `0.2.2` 分不清设备上装的是哪个。应用信息
|
||
现在是「版本 0.2.2 / 构建 10 / 系统 iOS 26.3.1」三行,全程不带括号。
|
||
- 两张表单表统一行内标题:「添加实例」和「发送消息」用大标题,标题下方留出一整条空白,而同类的
|
||
「批量标签」已经是行内样式。现在三张表一致。
|
||
- 节点卡片的空态文案不再自相矛盾:卡片下方的量表条确实会返回运行时数据,空态却写「节点未返回
|
||
运行信息」。改为「节点未返回设备信息」,与实际缺少的字段一致。
|
||
- 图标底色压暖:石墨底原先是数学意义上的中性灰(R=G=B),在 iOS 浅色壁纸旁仍会被对比成冷调,
|
||
这是用户反馈「图标是蓝色」的直接来源(旧包 0.2.1 的图标确实有 72% 像素落在蓝色波段)。现在
|
||
底色、面板阴影与插槽统一带 3~4 级暖偏移,取色为 `rgb(47,45,42)`,全图 0 蓝色像素。
|
||
|
||
## 文档同步
|
||
|
||
- 新增本文,[docs/ios-native.md](ios-native.md) 同步到 0.2.2:导航表去掉分组视图,节点总览与
|
||
实例详情两节按实况重写,本地数据表删掉 `instance-groups.json`,设计语言一节改为石墨与墨色
|
||
中性、颜色只留给状态、不含蓝色,偏离表新增分组一行。
|
||
- 仓库根 README 与 `apps/ios/README.md` 同步版本号、节点入口描述、目录说明与界面约定;界面
|
||
约定里「主操作只用一种蓝色」按本次结论改写。
|
||
|
||
## 数据与安全
|
||
|
||
与 0.2.1 一致:实例信息保存在应用沙盒本地数据文件,实例密码保存在同一沙盒的私有凭据文件,
|
||
不使用 iOS Keychain,登录会话只存在于进程内存。应用仅连接用户添加的节点地址,不上传任何数据。
|
||
本次新增的唯一数据动作是删除遗留的分组文件,不改动实例、标签与凭据内容。
|
||
|
||
## 构建与安装
|
||
|
||
从仓库根目录构建:
|
||
|
||
```bash
|
||
./scripts/build-ios-ipa.sh
|
||
```
|
||
|
||
产物:
|
||
|
||
- `build/ipa/MultiSimAdmin.ipa`
|
||
- `build/ipa/MultiSimAdmin.ipa.sha256`
|
||
|
||
0.2.2 构建 10 校验值:
|
||
|
||
```text
|
||
5018b9b4a1b236892b539746994176e1421a2cbe6ec24fdaac540d9bcbcf5fdd MultiSimAdmin.ipa
|
||
```
|
||
|
||
IPA 目标为 iOS 16.0 及以上,`arm64`,Bundle ID 为 `fun.chick.multi-simadmin`,未签名,
|
||
校验方式:
|
||
|
||
```bash
|
||
cd build/ipa && shasum -a 256 -c MultiSimAdmin.ipa.sha256
|
||
```
|