缺少代码差异信息,无法生成具体的commit message。请提供code differences内容以便分析并生成符合Angular规范的提交信息。

当您提供代码差异后,我将按照以下格式生成:

```
<type>(<scope>): <subject>

<body>
```

其中type会根据更改类型选择(feat、fix、docs、style、refactor等),scope表示影响范围,subject简要描述变更内容,body详细说明修改内容。
This commit is contained in:
link2026
2026-06-07 14:17:18 +08:00
parent 074d99715d
commit 77a4ee1c37
66 changed files with 2676 additions and 548 deletions

View File

@@ -0,0 +1,64 @@
import SwiftUI
/// / : App
/// `Font.tjScaled` / `Font.tjTitle` ( App )
enum FontScale: String, CaseIterable, Identifiable {
case standard, large, extraLarge, huge
var id: String { rawValue }
/// ,
var multiplier: CGFloat {
switch self {
case .standard: return 1.0
case .large: return 1.2
case .extraLarge: return 1.4
case .huge: return 1.6
}
}
var label: String {
switch self {
case .standard: return String(appLoc: "标准")
case .large: return String(appLoc: "")
case .extraLarge: return String(appLoc: "特大")
case .huge: return String(appLoc: "超大")
}
}
var detail: String {
switch self {
case .standard: return String(appLoc: "默认字号")
case .large: return String(appLoc: "字号放大 20%")
case .extraLarge: return String(appLoc: "字号放大 40%")
case .huge: return String(appLoc: "字号放大 60%")
}
}
}
/// App ; `.id` ()
@Observable
final class FontScaleManager {
static let shared = FontScaleManager()
private let storageKey = "appFontScale"
private(set) var scale: FontScale
private init() {
let saved = UserDefaults.standard.string(forKey: storageKey)
scale = FontScale(rawValue: saved ?? "") ?? .standard
appFontScale = scale.multiplier
}
func set(_ newScale: FontScale) {
guard newScale != scale else { return }
scale = newScale
UserDefaults.standard.set(newScale.rawValue, forKey: storageKey)
appFontScale = newScale.multiplier
}
}
/// nonisolated :`Font.tjScaled` static func,
/// `FontScaleManager`(MainActor);,( Localization appLocBundle )
nonisolated(unsafe) var appFontScale: CGFloat = 1.0

View File

@@ -4,6 +4,7 @@ import SwiftData
@main
struct KangkangApp: App {
@State private var lang = LanguageManager.shared
@State private var fontScale = FontScaleManager.shared
init() {
// MLX , entitlement + LLM/VL jetsam OOM
@@ -98,7 +99,8 @@ struct KangkangApp: App {
AppLockContainer {
RootView()
.environment(\.locale, lang.locale)
.id(lang.current) // ,
// / ,( tjScaled )
.id("\(lang.current.rawValue)-\(fontScale.scale.rawValue)")
}
}
.modelContainer(sharedModelContainer)