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:
chick
2026-09-15 02:23:24 +08:00
parent ec3ffb9db3
commit eb880e0d14
28 changed files with 757 additions and 1524 deletions
@@ -13,7 +13,6 @@ public struct Instance: Codable, Equatable, Identifiable, Sendable {
public var name: String
public var origin: URL
public var tags: [String]
public var groupId: UUID?
public var credentialConfigured: Bool
public var configRevision: Int
public let createdAt: Date
@@ -24,7 +23,6 @@ public struct Instance: Codable, Equatable, Identifiable, Sendable {
name: String,
origin: URL,
tags: [String] = [],
groupId: UUID? = nil,
credentialConfigured: Bool = false,
configRevision: Int = 1,
createdAt: Date,
@@ -34,7 +32,6 @@ public struct Instance: Codable, Equatable, Identifiable, Sendable {
self.name = name
self.origin = origin
self.tags = tags
self.groupId = groupId
self.credentialConfigured = credentialConfigured
self.configRevision = configRevision
self.createdAt = createdAt
@@ -46,20 +43,17 @@ public struct InstanceInput: Sendable {
public var name: String
public var origin: URL
public var tags: [String]
public var groupId: UUID?
public var password: String?
public init(
name: String,
origin: URL,
tags: [String] = [],
groupId: UUID? = nil,
password: String? = nil
) {
self.name = name
self.origin = origin
self.tags = tags
self.groupId = groupId
self.password = password
}
}
@@ -68,20 +62,17 @@ public struct InstancePatch: Sendable {
public var name: String?
public var origin: URL?
public var tags: [String]?
public var groupId: UUID?
public var password: String?
public init(
name: String? = nil,
origin: URL? = nil,
tags: [String]? = nil,
groupId: UUID? = nil,
password: String? = nil
) {
self.name = name
self.origin = origin
self.tags = tags
self.groupId = groupId
self.password = password
}
}
@@ -89,12 +80,10 @@ public struct InstancePatch: Sendable {
public struct InstanceQuery: Sendable {
public var search: String?
public var tags: [String]?
public var groupId: UUID?
public init(search: String? = nil, tags: [String]? = nil, groupId: UUID? = nil) {
public init(search: String? = nil, tags: [String]? = nil) {
self.search = search
self.tags = tags
self.groupId = groupId
}
}