release(ios): 0.2.2 移除分组改用标签归类并完成石墨配色重构
- 删除分组实体:分组视图/编辑器/仓储与 groupId 全部移除,升级首启清理 instance-groups.json 与 fleet.groupMode - 新增批量标签表:三态覆盖度(未贴 / N/M / 全部),整批加减与新建标签 - 配色重构,全应用零蓝色:石墨墨色承担主操作与选中态,颜色只留给状态语义; 浅色改中性冷灰,深色改低明度石墨三层 - 选中态改实心主色 + onPrimary,替换不可读的低透明度色雾(主题块、图例胶囊) - 应用图标重做为扁平石墨底 + 黄铜 SIM 面板,参数化光栅化脚本与参考稿 - 运行概览:检测进度并入副标题,读数栅格固定八格两行并保留不可用占位 - 实例详情:仪表改两列发丝线栅格,缺数据留轨道,修掉头部高度回弹; 补齐设备名称/存储总量/可用存储/使用率四个字段名 - 版本号显示去掉括号,设置页只显示 0.2.2 - 文档:新增 docs/ios-native-0.2.2.md,同步 ios-native.md 与两处 README
This commit is contained in:
@@ -0,0 +1,70 @@
|
||||
# iOS Native 0.2.2
|
||||
|
||||
0.2.2 (7) 把「分组」这个实体从应用里彻底删掉,归类只靠标签;同时完成第二轮配色与图标重构,
|
||||
界面上不再出现蓝色。页面能力、上游白名单与本地数据布局见现行说明 [docs/ios-native.md](ios-native.md),
|
||||
本文只记录本次发布的变化。
|
||||
|
||||
## 本次变更
|
||||
|
||||
- 分组概念移除:删除分组视图、分组编辑器与分组仓储,实例模型不再有 `groupId`。升级后首次启动
|
||||
一次性删除 `Documents/instance-groups.json` 与偏好键 `fleet.groupMode`,本机不留死数据。
|
||||
- 标签接管归类:新增「批量标签」表,批量选择后一次给多台节点贴同一个标签;每个标签显示
|
||||
「未贴 / N/M / 全部」三态覆盖度,点击即在整批上加减,也可以在同一张表里新建标签。卡片与
|
||||
标签条上的标签仍然可点,点一下即加入筛选。
|
||||
- 配色重构,全应用零蓝色:主操作、选中态、进度填充一律用石墨墨色,黄铜只作图标点缀;颜色
|
||||
只保留给状态语义(危险红、告警琥珀、成功绿),健康读数回到墨色,深色主题不再整屏泛绿。
|
||||
浅色主题重做为中性冷灰画布加纯白卡片,深色主题为低明度石墨三层。
|
||||
- 选中态可见性:主题切换块与状态图例胶囊原先用 10%~12% 色雾表示选中,浅色下几乎看不出来,
|
||||
改为实心主色加 `onPrimary` 文字,两套主题都一眼可读,且选中不改变控件尺寸。
|
||||
- 应用图标重做:放弃立体卡与投影,改扁平石墨底加黄铜 SIM 面板,三根底部对齐的递增信号条,
|
||||
29pt 下轮廓仍可读;面板边长、圆角、切角与信号条间距可用环境变量调参后重新光栅化。
|
||||
- 运行概览收紧:检测进度从读数格移进卡片副标题(`刚刚更新 · 已检测 6/6 台`);读数栅格固定
|
||||
八格两行,温度与电量即使整群节点都没上报也保留「不可用」占位,栅格不再在七格与九格之间跳;
|
||||
概览量表健康时用墨色,只在告警与危险时上色。
|
||||
- 实例详情头部重排:四项仪表从四枚嵌套小卡改为两列发丝线栅格,读数在上、进度在下,缺数据时
|
||||
保留空轨道,数据到位后卡片高度不变,修掉 0.2.1「加载完成后头部比下方窄一圈」的问题;身份摘要
|
||||
去掉内嵌底色,改用顶部发丝线分隔。
|
||||
- 字段名补全:详情页里 `name`、`disk_total_bytes`、`disk_available_bytes`、`percent` 四个键
|
||||
此前直接把原始键名渲染到界面上,现补为「设备名称」「存储总量」「可用存储」「使用率」并排进
|
||||
固定顺序。
|
||||
- 版本号显示去掉括号:设置页「应用信息」只显示 `0.2.2`。
|
||||
|
||||
## 文档同步
|
||||
|
||||
- 新增本文,[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 (7) 校验值:
|
||||
|
||||
```text
|
||||
a8ac7a33aa8dbbeb3197d8131b8c5f77847d1908cbb65beadd8ea6e44c475c12 MultiSimAdmin.ipa
|
||||
```
|
||||
|
||||
IPA 目标为 iOS 16.0 及以上,`arm64`,Bundle ID 为 `fun.chick.multi-simadmin`,未签名,
|
||||
校验方式:
|
||||
|
||||
```bash
|
||||
cd build/ipa && shasum -a 256 -c MultiSimAdmin.ipa.sha256
|
||||
```
|
||||
+38
-22
@@ -3,7 +3,7 @@
|
||||
本文是 iPhone 应用的唯一现行说明,内容与仓库代码一致。历史设计稿和执行计划保留在
|
||||
`docs/superpowers/` 下,其中已被实现推翻的决策在本文第 9 节逐条列出。
|
||||
|
||||
- 当前版本:`0.2.1 (build 6)`
|
||||
- 当前版本:`0.2.2`(build 7)
|
||||
- 承载分支:`ios-native-ipa`
|
||||
- 运行要求:iOS 16.0 及以上,`arm64`,Bundle ID `fun.chick.multi-simadmin`
|
||||
- 产物:未签名 `MultiSimAdmin.ipa`,由 TrollStore 或用户自有签名流程安装
|
||||
@@ -20,7 +20,7 @@ Node 控制面仍然独立存在,两者只共享上游接口契约。
|
||||
|
||||
| 入口 | 页面 | 内容 |
|
||||
| --- | --- | --- |
|
||||
| 节点 | `FleetView` | 节点总览、运行概览、标签筛选、分组视图、批量选择、添加与编辑实例 |
|
||||
| 节点 | `FleetView` | 节点总览、运行概览、标签筛选与批量归类、批量选择、添加与编辑实例 |
|
||||
| 消息 | `MessagesView` | 跨实例短信读取、按实例与方向筛选、搜索、发送、删除 |
|
||||
| 设置 | `SettingsView` | 主题外观、应用信息、本地数据(进入日志中心)、隐私与数据、数据清理 |
|
||||
|
||||
@@ -32,24 +32,31 @@ Node 控制面仍然独立存在,两者只共享上游接口契约。
|
||||
|
||||
### 节点总览
|
||||
|
||||
- 运行概览:在线率、异常节点、检测进度、今日消息、分组与标签统计,可折叠。
|
||||
- 分组视图:按分组折叠成段,段头给出该组健康度与台数,支持展开与折叠。
|
||||
- 标签筛选:标签条支持多选叠加,标签上直接显示命中台数,可单个取消或全部清除。
|
||||
- 运行概览:在线率与异常节点两枚大字结论、状态分布条与图例、八格两行的群集读数(信号、延迟、
|
||||
存储、流量、CPU、内存、温度、电量),可折叠,折叠时保留前四格。检测进度与更新时间写在卡片
|
||||
副标题里(`刚刚更新 · 已检测 6/6 台`),不占读数格;整群节点没有上报的读数保留「不可用」占位,
|
||||
栅格不会在七格与九格之间跳动。
|
||||
- 标签归类:标签是唯一归类手段,分组概念已在 0.2.2 移除。标签条支持多选叠加,胶囊上直接显示
|
||||
命中台数,可单个取消或全部清除;卡片内的标签同样可点,点一下即加入筛选。
|
||||
- 批量标签:批量选择后一次给多台节点贴同一个标签,每个标签显示「未贴 / N/M / 全部」三态覆盖度,
|
||||
点击即在整批上加减;可在同一张表里新建标签。
|
||||
- 搜索:匹配名称、地址、运营商与标签。
|
||||
- 节点卡片:号码、运营商、制式、温度、电量、内存、存储、延迟、信号、固件、运行时间等
|
||||
指标,超出一屏时折叠为「另有 N 项指标」。
|
||||
- 节点卡片:顶部四条量表(信号、延迟、CPU、内存)配发丝进度,下面是号码、运营商、设备、存储、
|
||||
温度、电量、运行时间等指标,超出一屏时折叠为「另有 N 项指标」。健康读数不着色,只有越过阈值
|
||||
才出现告警或危险色。
|
||||
- 批量选择:工具栏为 34pt 图标按钮(全选、删除、退出等高),勾选列独立于名称区域,
|
||||
选中态不遮挡文字。
|
||||
- 实例增删改:地址、名称、标签、分组、访问凭据;删除前确认,并一并清除本地登录信息。
|
||||
- 实例增删改:地址、名称、标签、访问凭据;删除前确认,并一并清除本地登录信息。
|
||||
|
||||
### 实例详情
|
||||
|
||||
- 头部卡片:地址、连接状态、四项仪表(信号、延迟、CPU、内存)、身份摘要(号码、运营商、
|
||||
网络、IP)、模块可用度读数、分组与标签。
|
||||
- 头部卡片:地址与连接状态、四项仪表(信号、延迟、CPU、内存)、身份摘要(号码、运营商、网络、
|
||||
IP)、模块可用度读数、标签。四项仪表排成两列发丝线栅格,读数在上、进度在下,缺数据时保留
|
||||
空轨道,数据到位后卡片高度不变。
|
||||
- 数据模块:设备、SIM、蜂窝网络、系统资源、CPU、连接状态共 6 个分区,逐模块独立加载,
|
||||
单模块失败只标记该模块,不影响其余分区。
|
||||
- 敏感值(IMEI、ICCID 等)默认隐藏,需要显式开启显示,离开页面后自动恢复隐藏。
|
||||
- 本机保存的配置:地址、凭据状态、标签、分组,以及登录、登出、重新检测。
|
||||
- 本机保存的配置:地址、凭据状态、标签,以及登录、登出、重新检测。
|
||||
|
||||
### 消息中心
|
||||
|
||||
@@ -97,22 +104,27 @@ Node 控制面仍然独立存在,两者只共享上游接口契约。
|
||||
|
||||
| 文件 | 内容 |
|
||||
| --- | --- |
|
||||
| `instances.json` | 实例名称、地址、标签、分组、修订号 |
|
||||
| `instance-groups.json` | 分组定义 |
|
||||
| `instances.json` | 实例名称、地址、标签、修订号 |
|
||||
| `credentials.json` | 实例访问密码 |
|
||||
| `log-center.json` | 运行日志、连接探测记录、诊断快照缓存 |
|
||||
|
||||
主题偏好存在 `UserDefaults`(键 `aiThemeMode`)。登录会话只存在于进程内存,应用退出即消失。
|
||||
0.2.1 及更早版本写过的 `instance-groups.json` 与偏好键 `fleet.groupMode` 在升级后的首次启动
|
||||
一次性删除。主题偏好存在 `UserDefaults`(键 `aiThemeMode`)。登录会话只存在于进程内存,应用退出即消失。
|
||||
密码与 Cookie 不写日志、不进导出内容。删除应用即彻底清除本机数据。允许 HTTP 明文访问是
|
||||
为了兼容局域网 SimAdmin,公网节点应由用户自行通过 HTTPS 反代暴露。
|
||||
|
||||
## 6. 设计语言
|
||||
|
||||
深墨蓝与金色构成品牌色,界面在浅色下使用中性冷灰画布与纯白卡片,深色下使用低明度蓝黑分层,
|
||||
主操作使用蓝色,危险操作使用红色。控件令牌集中在 `AITheme`:主按钮高 48pt(紧凑 44pt、大号
|
||||
56pt)、工具栏按钮高 44pt(宽 104pt)、导航栏图标按钮 34pt 方形(圆角 11pt)、输入框高 52pt、
|
||||
卡片圆角 22pt、按钮圆角 16pt、标签为 28pt 胶囊。
|
||||
同屏并排控件必须等高,选中态不得改变控件尺寸,卡片内部不再嵌套卡片,正文与标题不使用负字距。
|
||||
界面不含蓝色。品牌色是石墨与黄铜:浅色画布中性冷灰 `#F4F5F5`、纯白卡片、墨黑主操作
|
||||
`#151819`;深色画布 `#080909`、低明度石墨分层 `#131515` / `#1B1D1E`、近白主操作 `#EEF1F1`。
|
||||
颜色只保留给状态语义——危险 `#C12E28` / `#F77169`、告警 `#AA5C0F` / `#E9A63C`、成功
|
||||
`#107A56` / `#42C784`,健康读数一律用墨色,避免整屏泛绿或整屏泛红。选中态用实心主色加
|
||||
`onPrimary` 文字,不使用低透明度色雾,浅色深色两套主题下都必须一眼可读。
|
||||
|
||||
控件令牌集中在 `AITheme`:主按钮高 48pt(紧凑 44pt、大号 56pt)、工具栏按钮高 44pt(宽 104pt)、
|
||||
导航栏图标按钮 34pt 方形(圆角 11pt)、输入框高 52pt、卡片圆角 22pt、按钮圆角 16pt、标签为
|
||||
28pt 胶囊。同屏并排控件必须等高,选中态不得改变控件尺寸,卡片内部不再嵌套卡片——并列读数改用
|
||||
发丝线分隔的栅格,正文与标题不使用负字距,字距为 0。
|
||||
|
||||
## 7. 构建与产物
|
||||
|
||||
@@ -137,8 +149,10 @@ cd apps/ios && swift Design/generate_app_icon.swift \
|
||||
Sources/MultiSimAdmin/Resources/Assets.xcassets/AppIcon.appiconset/AppIcon1024.png
|
||||
```
|
||||
|
||||
图标几何与 Web 端 favicon 一致:深墨蓝底、金色 SIM 面板(切角在左上)、三根底部对齐的递增
|
||||
信号条。`apps/ios/Design/AppIcon.svg` 是同构图参考稿,实际构建使用 PNG。
|
||||
图标为扁平构图,不用立体卡与投影:石墨底、黄铜 SIM 面板(切角在左上)、三根底部对齐的递增
|
||||
信号条,29pt 尺寸下轮廓仍然可读。`apps/ios/Design/AppIcon.svg` 是同构图参考稿,实际构建使用
|
||||
由 `Design/generate_app_icon.swift` 光栅化出的 PNG,面板边长、圆角、切角与信号条间距都可用
|
||||
环境变量调整。
|
||||
|
||||
## 8. 验证方式
|
||||
|
||||
@@ -169,7 +183,8 @@ xcodebuild -scheme MultiSimAdmin \
|
||||
| GRDB + SQLite 控制面库 | 沙盒内 JSON 文件 | 去掉第三方依赖,数据结构与备份语义更直观 |
|
||||
| 操作目录、任务、审计、维护、备份 | 未实现 | 高风险写操作与常驻调度不在 iPhone 前台场景内 |
|
||||
| 设备模块 13 项(含通话、eSIM、OTA、WiFi Calling、自动化) | 6 个只读模块 + 短信读写 | 上游只保留有稳定读取价值的接口,其余按需在后续版本评估 |
|
||||
| 浅灰画布、青绿主按钮 | 深浅双主题、蓝色主操作、金色品牌色 | 0.2.x 视觉重构结论 |
|
||||
| 浅灰画布、青绿主按钮 | 深浅双主题、石墨墨色主操作、黄铜点缀 | 0.2.x 视觉重构结论,用户明确排除蓝色 |
|
||||
| 实例分组(分组视图、分组编辑器、分组仓储) | 标签归类 + 批量标签 | 分组与标签职责重复,分组作为实体在 0.2.2 移除 |
|
||||
|
||||
## 10. 已确认的移除边界
|
||||
|
||||
@@ -182,6 +197,7 @@ xcodebuild -scheme MultiSimAdmin \
|
||||
## 11. 文档索引
|
||||
|
||||
- [docs/ios-native.md](ios-native.md):本文,现行说明
|
||||
- [docs/ios-native-0.2.2.md](ios-native-0.2.2.md):0.2.2 (7) 发布说明与校验值
|
||||
- [docs/ios-native-0.2.1.md](ios-native-0.2.1.md):0.2.1 (6) 发布说明与校验值
|
||||
- [docs/ios-native-0.2.0.md](ios-native-0.2.0.md):0.2.0 发布说明
|
||||
- [docs/superpowers/specs/2026-09-08-ios-native-ipa-design.md](superpowers/specs/2026-09-08-ios-native-ipa-design.md):历史设计稿
|
||||
|
||||
Reference in New Issue
Block a user