98b7600797
对标安卓正式版、对接 app-server(8770)的 SwiftUI 客户端。iOS 无障碍受限、无比价核心,做自成一体:美团 CPS 导购 + 福利(签到/任务/金币)+ 查看(比价记录/省钱战绩)。 功能完整 M0-M5:脚手架、短信登录(JWT+Keychain+401 自动刷新)、首页券 feed 导购、比价记录+省钱战绩、福利、我的(资料/反馈/设置/注销)。 单 target、0 三方依赖、XcodeGen 生成工程;Debug/Release 双 plist 分流 ATS。 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
52 lines
1.9 KiB
Swift
52 lines
1.9 KiB
Swift
import SwiftUI
|
|
|
|
/// 全局配色 — 对齐安卓 `ui/theme/Colors.kt` 的 ProtoColors(品牌主色=黄)。
|
|
/// 不接系统 tint,保持品牌一致(与占坑版同思路,但占坑版那套橙是截图工具的语义色,口径不同)。
|
|
enum AppColors {
|
|
// 品牌主色 — 黄
|
|
static let primary = Color(hex: 0xFFD600) // --primary
|
|
static let primaryBg = Color(hex: 0xFFF8E1) // --primary-bg
|
|
static let primaryDark = Color(hex: 0xFFB300)
|
|
static let brand = Color(hex: 0xFF8533) // 强调橙(AccentColor 同色)
|
|
|
|
// 金币
|
|
static let coin = Color(hex: 0xFF8F00)
|
|
static let coinBg = Color(hex: 0xFFF3E0)
|
|
static let coinHot = Color(hex: 0xFF3D00)
|
|
|
|
// 业务语义
|
|
static let success = Color(hex: 0x4CAF50)
|
|
static let successBg = Color(hex: 0xE8F5E9)
|
|
static let info = Color(hex: 0x2196F3)
|
|
static let error = Color(hex: 0xF44336)
|
|
static let warning = Color(hex: 0xFF9800)
|
|
static let hot = Color(hex: 0xFF5722) // "抢"/"省"字红
|
|
static let wechat = Color(hex: 0x07C160)
|
|
|
|
// 中性灰(对齐原型自定义灰阶)
|
|
static let bg = Color(hex: 0xF5F5F5)
|
|
static let gray50 = Color(hex: 0xFAFAFA)
|
|
static let gray100 = Color(hex: 0xF5F5F5)
|
|
static let gray200 = Color(hex: 0xE5E5E5)
|
|
static let gray300 = Color(hex: 0xCCCCCC)
|
|
static let gray400 = Color(hex: 0xB3B3B3)
|
|
static let gray500 = Color(hex: 0x999999)
|
|
static let gray600 = Color(hex: 0x666666)
|
|
static let gray700 = Color(hex: 0x4D4D4D)
|
|
static let gray800 = Color(hex: 0x333333)
|
|
static let gray900 = Color(hex: 0x1A1A1A) // 标题色
|
|
}
|
|
|
|
extension Color {
|
|
/// 0xRRGGBB → Color(sRGB)。
|
|
init(hex: UInt, alpha: Double = 1.0) {
|
|
self.init(
|
|
.sRGB,
|
|
red: Double((hex >> 16) & 0xFF) / 255.0,
|
|
green: Double((hex >> 8) & 0xFF) / 255.0,
|
|
blue: Double(hex & 0xFF) / 255.0,
|
|
opacity: alpha
|
|
)
|
|
}
|
|
}
|