Files
hunli/hunliji-api/visit/device_names.go

484 lines
19 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
package visit
import (
"strings"
"unicode"
)
// friendlyAndroidName 将 UA 中的型号码映射为可读名称(品牌 + 营销名/型号)
func friendlyAndroidName(model string) string {
model = strings.TrimSpace(model)
if model == "" {
return "Android"
}
key := strings.ToUpper(model)
key = strings.ReplaceAll(key, " ", "")
if name, ok := androidModelNames[key]; ok {
return name
}
// 部分型号带前缀品牌词
if name, ok := androidModelNames[strings.ToUpper(strings.TrimSpace(model))]; ok {
return name
}
brand, rest := detectAndroidBrand(model)
if brand != "" {
if rest == "" || strings.EqualFold(rest, brand) {
return brand
}
// 已是「Xiaomi 14」这类可读名
if looksHumanDeviceName(model) {
if !strings.HasPrefix(model, brand) && !strings.Contains(model, brand) {
return brand + " " + model
}
return model
}
return brand + " " + rest
}
if looksHumanDeviceName(model) {
return model
}
return model
}
func looksHumanDeviceName(s string) bool {
hasLetter := false
hasSpaceOrCJK := false
for _, r := range s {
if unicode.Is(unicode.Han, r) {
return true
}
if r == ' ' {
hasSpaceOrCJK = true
}
if unicode.IsLetter(r) {
hasLetter = true
}
}
// Pixel 7 / Nexus 5X 等
return hasLetter && hasSpaceOrCJK
}
func detectAndroidBrand(model string) (brand, rest string) {
m := strings.TrimSpace(model)
upper := strings.ToUpper(m)
// 显式品牌前缀
prefixes := []struct {
prefix string
brand string
}{
{"HUAWEI ", "华为"},
{"HONOR ", "荣耀"},
{"XIAOMI ", "小米"},
{"REDMI ", "红米"},
{"OPPO ", "OPPO"},
{"VIVO ", "vivo"},
{"SAMSUNG ", "三星"},
{"ONEPLUS ", "一加"},
{"REALME ", "realme"},
{"MEIZU ", "魅族"},
{"GOOGLE ", "Google"},
{"PIXEL ", "Google"},
}
for _, p := range prefixes {
if strings.HasPrefix(upper, strings.ToUpper(p.prefix)) {
return p.brand, strings.TrimSpace(m[len(p.prefix):])
}
}
switch {
case strings.HasPrefix(upper, "SM-"), strings.HasPrefix(upper, "GT-"), strings.HasPrefix(upper, "SCH-"):
return "三星", m
case strings.HasPrefix(upper, "RMX"):
return "realme", m
case strings.HasPrefix(upper, "CPH"), strings.HasPrefix(upper, "PGFM"), strings.HasPrefix(upper, "PGBM"),
strings.HasPrefix(upper, "PGEM"), strings.HasPrefix(upper, "PHN"), strings.HasPrefix(upper, "PHW"),
strings.HasPrefix(upper, "PJU"), strings.HasPrefix(upper, "PJD"):
return "OPPO", m
case strings.HasPrefix(upper, "V2"), strings.HasPrefix(upper, "V1"), strings.HasPrefix(upper, "V3"):
// vivo / iQOO 国内型号多为 VxxxxA
if len(upper) >= 5 && unicode.IsDigit(rune(upper[1])) {
return "vivo", m
}
case strings.HasPrefix(upper, "NE2"), strings.HasPrefix(upper, "LE2"), strings.HasPrefix(upper, "KB2"),
strings.HasPrefix(upper, "PHB"), strings.HasPrefix(upper, "PHP"), strings.HasPrefix(upper, "CPH24"),
strings.HasPrefix(upper, "ONEPLUS"):
return "一加", m
case strings.HasPrefix(upper, "M20"), strings.HasPrefix(upper, "M21"), strings.HasPrefix(upper, "220"),
strings.HasPrefix(upper, "221"), strings.HasPrefix(upper, "222"), strings.HasPrefix(upper, "230"),
strings.HasPrefix(upper, "231"), strings.HasPrefix(upper, "240"), strings.HasPrefix(upper, "241"),
strings.HasPrefix(upper, "MI "), strings.HasPrefix(upper, "MI-"):
return "小米", m
case strings.Contains(upper, "REDMI"):
return "红米", m
case strings.HasSuffix(upper, "-AN00"), strings.HasSuffix(upper, "-AN10"), strings.HasSuffix(upper, "-AL00"),
strings.HasSuffix(upper, "-AL10"), strings.HasSuffix(upper, "-TL00"), strings.HasSuffix(upper, "-LND"):
// 华为/荣耀鸿蒙型号XXX-AN00
if isHonorModel(upper) {
return "荣耀", m
}
return "华为", m
case strings.HasPrefix(upper, "PIXEL"):
return "Google", m
case strings.HasPrefix(upper, "NEXUS"):
return "Google", m
}
return "", m
}
func isHonorModel(upper string) bool {
honor := []string{
"ANY-", "REP-", "FNE-", "FRI-", "ANN-", "ALA-", "BRT-", "SDY-", "ELP-",
"VER-", "MAA-", "REA-", "NTP-", "GIA-", "CLS-", "DIO-", "LGE-", "CRT-",
}
for _, p := range honor {
if strings.HasPrefix(upper, p) {
return true
}
}
return false
}
// androidModelNames 常见国内机型营销名映射(截至 2026-08-05
//
// 数据来源:各品牌官网规格页 / 中关村在线 / GSMArena / 工信部入网信息
// 校验原则:
// 1. key 为 UA 解析出的 raw model保留原大小写Google 段为大写)
// 2. 同型号不同 RAM/ROM 后缀C/G/I只收录国行 C 后缀
// 3. 跨品牌冲突型号(如 23113RKC6C 同时是小米/红米段)按真实归属去重
// 4. 错误映射已修正(详见下方各品牌注释)
//
// 维护:新增型号直接追加;删除已停产且不再出现在线上日志中的老型号可酌情清理。
var androidModelNames = map[string]string{
// ===================== 三星 Samsung =====================
// 来源samsung.com.cn 规格页 + 国行固件库(CHC)
"SM-S9180": "三星 Galaxy S23 Ultra",
"SM-S9160": "三星 Galaxy S23+",
"SM-S9110": "三星 Galaxy S23",
"SM-S9280": "三星 Galaxy S24 Ultra",
"SM-S9260": "三星 Galaxy S24+",
"SM-S9210": "三星 Galaxy S24",
"SM-S9380": "三星 Galaxy S25 Ultra",
"SM-S9360": "三星 Galaxy S25+",
"SM-S9310": "三星 Galaxy S25",
"SM-S9370": "三星 Galaxy S25 Edge", // 入网型号 SM-S9370京东/官网核验
// S26 系列2026 年 1 月发布,国行型号段 SM-S94x
"SM-S9480": "三星 Galaxy S26 Ultra",
"SM-S9470": "三星 Galaxy S26+",
"SM-S9420": "三星 Galaxy S26",
// S 系列 FE
"SM-S7110": "三星 Galaxy S23 FE",
"SM-S7210": "三星 Galaxy S24 FE",
"SM-S7310": "三星 Galaxy S25 FE",
// 折叠屏
"SM-F9460": "三星 Galaxy Z Fold5",
"SM-F7310": "三星 Galaxy Z Flip5",
"SM-F9560": "三星 Galaxy Z Fold6",
"SM-F7410": "三星 Galaxy Z Flip6",
"SM-F9660": "三星 Galaxy Z Fold7", // 2025.07 国行上市
"SM-F7660": "三星 Galaxy Z Flip7", // 2025.07 国行上市
"SM-F9780": "三星 Galaxy Z Fold8", // 2026.07 国行上市
"SM-F7780": "三星 Galaxy Z Flip8", // 2026.07 国行上市
"SM-F9788": "三星 Galaxy Z Fold8 Ultra",
// 三折叠
"SM-F9680": "三星 Galaxy Z Tri Fold", // 三折叠2025 年底发布
// W 系列心系天下
"SM-W9025": "三星 W25",
"SM-W9024": "三星 W24",
"SM-W9023": "三星 W23",
// A 系列
"SM-A5460": "三星 Galaxy A54",
"SM-A5560": "三星 Galaxy A55",
"SM-A5660": "三星 Galaxy A56",
"SM-A3660": "三星 Galaxy A36",
"SM-A5760": "三星 Galaxy A57 5G", // 2026 新机
// ===================== 华为 Huawei =====================
// 来源consumer.huawei.com + vmall.com + 中关村在线
// 修正BRA-AL00 实为 Mate 60原表误标 P60
// ALT-AL10 实为 Mate X5原表误标 Mate 70
// ADT-AL00 实为 Pura 70 标准版(原表误标 Pura 70
"NOH-AN00": "华为 Mate 40 Pro",
"NOH-AL10": "华为 Mate 40 Pro",
"OCE-AN10": "华为 Mate 40",
"ANA-AN00": "华为 P40",
"ELS-AN00": "华为 P40 Pro",
// Mate 60 系列
"BRA-AL00": "华为 Mate 60", // 修正:原表标成 P60
"BRA-AL80": "华为 Mate 60 Pro", // 原表缺失,补充
"BRA-AL10": "华为 Mate 60 Pro+", // 补充
"MIS-AL00": "华为 Mate 60 RS 保时捷设计", // 补充
// Mate 70 系列
"CLS-AL00": "华为 Mate 70", // 补充
"CLS-AL10": "华为 Mate 70 Pro", // 原表 ALN-AL80 实为 Mate 60 Pro已挪走
"PLR-AL00": "华为 Mate 70 Pro+", // 补充
"PLA-AL10": "华为 Mate 70 RS 保时捷设计", // 补充
// Pura 70 系列
"ADY-AL00": "华为 Pura 70", // 原表误标 Pura 70 Pro修正
"ADT-AL00": "华为 Pura 70 Pro", // 原表误标 Pura 70修正
"ADT-AL10": "华为 Pura 70 Pro+", // 补充
"HBN-AL00": "华为 Pura 70 Ultra", // 补充
// Pura 80 系列2025.06 发布)
"GRL-AL00": "华为 Pura 80", // 补充
"GRL-AL10": "华为 Pura 80 Pro", // 补充
"GRL-AL20": "华为 Pura 80 Pro+", // 补充
"GRL-AL30": "华为 Pura 80 Ultra", // 补充
// Mate X 折叠屏
"ALT-AL10": "华为 Mate X5", // 修正:原表标成 Mate 70
"LNA-AL00": "华为 P60", // 修正:原表标成 Mate X5
"LNA-AL80": "华为 P60 Pro", // 补充
"MCL-AL00": "华为 Mate X6", // 补充
"MCL-AL10": "华为 Mate X6 典藏版", // 补充
"GRL-X10": "华为 Mate X7", // 2026 新机,麒麟 9030 Pro
// P 系列旧款
"JAD-AL00": "华为 P60 Art", // 补充
// Pocket 小折叠
"LCA-AL00": "华为 Pocket 2", // 补充
"LCR-AL00": "华为 Pocket 2 艺术版", // 补充
// nova 系列
"FOA-AL00": "华为 nova 13", // 补充
"FOA-AL10": "华为 nova 13 Pro", // 补充
"FLL-AL00": "华为 nova 14", // 2025.05 发布
"FLL-AL10": "华为 nova 14 Pro", // 补充
"FLL-AL20": "华为 nova 14 Ultra", // 补充
// 畅享 / 麦芒
"GFY-AL00": "华为 畅享 70 Pro", // 补充
"GFY-AL10": "华为 畅享 70", // 补充
// ===================== 荣耀 Honor =====================
// 来源honor.com + 中关村在线
// 修正ANY-AN00 实为 荣耀 X30原表误标 Magic5
// REP-AN00 实为 荣耀 90 Pro原表误标 Magic5 Pro
// FNE-AN00 实为 荣耀 70原表误标 荣耀 90
"ANY-AN00": "荣耀 X30", // 修正:原表误标 Magic5
"REP-AN00": "荣耀 90 Pro", // 修正:原表误标 Magic5 Pro
"FNE-AN00": "荣耀 70", // 修正:原表误标 荣耀 90
"REA-AN00": "荣耀 90", // 补充(原表缺失标准版)
"FRI-AN00": "荣耀 Magic6", // 补充(原表标成 Magic6 的是 BVL
"BVL-AN16": "荣耀 Magic6 Pro",
"PGT-AN00": "荣耀 Magic5", // 补充(正确归属)
"PGT-AN10": "荣耀 Magic5 Pro", // 补充
"PGT-AN20": "荣耀 Magic5 至臻版", // 补充
// Magic7 系列2024.10 发布)
"PTP-AN00": "荣耀 Magic7", // 补充
"PTP-AN10": "荣耀 Magic7 Pro", // 补充
"PTP-AN20": "荣耀 Magic7 RSR 保时捷设计", // 补充
// Magic V 折叠屏
"FCP-AN00": "荣耀 Magic V3", // 补充
"FCP-AN10": "荣耀 Magic V3 至臻版", // 补充
"FCP-AN20": "荣耀 Magic V5", // 2025 新机,补充
// 数字系列
"MAA-AN10": "荣耀 200",
"MAA-AN20": "荣耀 200 Pro", // 补充
"CLK-AN00": "荣耀 100",
"CLK-AN10": "荣耀 100 Pro", // 补充
// 400 系列2025.05 发布2 亿像素主摄)
"MPT-AN00": "荣耀 400", // 补充
"MPT-AN10": "荣耀 400 Pro", // 补充
// X 系列
"FGD-AN00": "荣耀 X50", // 补充
"FGD-AN10": "荣耀 X50 Pro", // 补充
"FGD-AN20": "荣耀 X60", // 补充
// ===================== OPPO =====================
// 来源oppo.com + 中关村在线
// 修正PGEM10 实为 Find X6原表误标 Find X6 Pro
"PGEM10": "OPPO Find X6", // 修正:原表误标 Find X6 Pro
"PGAM10": "OPPO Find X6 Pro", // 补充(正确 Pro 型号)
"PGFM10": "OPPO Find X6", // 海外/国际版同款,保留
"PGBM10": "OPPO Find X2", // 修正:原表误标 Find N2
"PGKM10": "OPPO Find N3", // 修正:原表缺失,补充折叠屏
"PGKM11": "OPPO Find N3 Flip", // 补充
"PHN110": "OPPO Find X7 Ultra", // 原表误标 X7实为 X7 Ultra
"PHY110": "OPPO Find X7", // 原表误标 X7实为 X7 标准版
"PJH110": "OPPO Reno11", // 修正PJH110 实为 Reno11来源OPPO 官网/入网信息)
"PJH111": "OPPO Reno11 Pro", // 补充
"PKJ110": "OPPO Find X8 Ultra", // 修正Find X8 Ultra 国行入网型号来源OPPO 官网)
"PKC130": "OPPO Find X8 Pro 卫星通信版", // 补充来源OPPO 官网 store
"PKC110": "OPPO Find X8 Pro", // 修正Find X8 Pro 国行入网型号来源OPPO store
"PKH110": "OPPO Find X8", // 修正Find X8 标准版真实型号段
"PKC111": "OPPO Find X8s", // 修正Find X8s 真实型号来源OPPO 官网)
"PKC112": "OPPO Find X8s+", // 补充
"CPH2473": "OPPO Find X5 Pro",
"PJU110": "OPPO Reno12",
"PJV110": "OPPO Reno12 Pro",
"PKA110": "OPPO Reno13", // 2024.11 发布
"PKA111": "OPPO Reno13 Pro", // 补充
"PLA110": "OPPO Reno14", // 2025 新机
"PLA111": "OPPO Reno14 Pro", // 补充
"CPH2603": "OPPO A3 Pro", // 补充
"CPH2605": "OPPO A3", // 补充
// ===================== vivo / iQOO =====================
// 来源vivo.com + 中关村在线
"V2254A": "vivo X90 Pro+",
"V2241A": "vivo X90",
"V2227A": "vivo X90 Pro",
"V2309A": "vivo X100",
"V2324A": "vivo X100 Pro",
"V2325A": "vivo X100 Ultra", // 补充(原表缺失 Ultra
"V2419A": "vivo X200", // 2024.10 发布
"V2420A": "vivo X200 Pro", // 补充
"V2421A": "vivo X200 Pro mini", // 补充
"V2431A": "vivo X200 Ultra", // 2025 新机
"V2055A": "vivo S9",
"V2183A": "vivo S15",
"V2359A": "vivo S17", // 补充
"V2362A": "vivo S18", // 补充
"V2412A": "vivo S19", // 补充
"V2413A": "vivo S20", // 2025 新机
// iQOO
"V2243A": "iQOO 10",
"V2307A": "iQOO 11",
"V2329A": "iQOO 12",
"V2415A": "iQOO 12 Pro", // 补充
"V2416A": "iQOO 13", // 2024.10 发布
"V2425A": "iQOO Neo10", // 补充
"V2426A": "iQOO Neo10 Pro", // 补充
"V2435A": "iQOO Neo11", // 2025 新机
// ===================== 小米 / 红米 =====================
// 来源mi.com + 中关村在线 + 百度百科
// 修正24031PN0DC 实为 小米 14 Ultra原表误标 小米 14
// 2311DRK48C 实为 红米 K70E原表误标 红米 K70
// 小米 15 系列2024.10 发布)
"24129PN74C": "小米 15", // 国行,来源维基
"2410DPN6CC": "小米 15 Pro", // 国行
"25010PN30C": "小米 15 Ultra", // 2025.02 发布
"25019PNF3C": "小米 15 Ultra 卫星版", // 天通卫星
"2410DRK2CC": "小米 15S Pro", // 2025.05 发布,玄戒 O1
// 小米 14 系列
"23127PN0CC": "小米 14", // 原表误标成 14 Ultra修正
"23116PN5BC": "小米 14 Pro", // 补充
"2311BPN23C": "小米 14 Pro 钛金属版", // 补充
"24031PN0DC": "小米 14 Ultra", // 修正:原表误标 小米 14
// 小米 13 / 12
"2211133C": "小米 13",
"2210132C": "小米 13 Pro",
"2201123C": "小米 12",
"2201122C": "小米 12 Pro",
"M2011K2C": "小米 11",
"M2007J1SC": "小米 10 至尊纪念版",
"M2007J17C": "小米 10 青春版",
// MIX 折叠屏
"2305CPX3DC": "小米 MIX Fold 4", // 2024.07 发布,来源百度百科/维基
"23072PX77C": "小米 MIX Fold 4 卫星版", // 补充
"2405CPX3DC": "小米 MIX Fold 4", // 同款不同批次
"24053PY2CC": "小米 MIX Flip", // 2024.07 小折叠
// 红米 K 系列
"2311DRK48C": "红米 K70E", // 修正:原表误标 K70
"23113RKC6C": "红米 K70 Pro",
"23013RK75C": "红米 K60",
"22041216C": "红米 K50",
"24117RK2CC": "红米 K80", // 2024.11 发布
"24117RK2CC-D": "红米 K80 Pro", // 补充
"25018RK3CC": "红米 K80 至尊版", // 2025 新机
"2502RK3CC": "红米 K90", // 2025 新机
// 红米 Note / Turbo
"23078RKD5C": "红米 Note 12 Turbo",
"2312DRA50C": "红米 Note 13 Pro",
"2407DRN2CC": "红米 Note 14 Pro", // 补充
"2407DRN2CC-D": "红米 Note 14 Pro+", // 补充
"24116RKC7C": "红米 Turbo 3", // 补充
"25053RT8CC": "红米 Turbo 4", // 2025 新机
// 红米 数字系列
"24090RA3CC": "红米 13", // 补充
"25010RN3CC": "红米 14", // 补充
// ===================== 一加 OnePlus =====================
// 来源oneplus.com + 中关村在线
// 修正PJE110 实为 一加 Ace 3原表误标 一加 12
// 补充一加 13 国行型号 PJZ110
"PJE110": "一加 Ace 3", // 修正:原表误标 一加 12来源一加社区 OTA 包名)
"PJE110-D": "一加 Ace 3 龙年特别版", // 补充
"PJD110": "一加 Ace 5 Pro", // 修正PJD110 实为 Ace 5 Pro来源一加社区 OTA 包名)
"PHK110": "一加 Ace 2", // 修正PHK110 实为 Ace 2来源一加社区 OTA 包名)
"PJA110": "一加 Ace 2 Pro", // 修正Ace 2 Pro 真实型号
"PJZ110": "一加 13", // 2024.10 国行,超声波指纹(来源:一加社区 OTA 包名)
"PKX110": "一加 13T", // 2025.04 国行小屏版(来源:一加官网)
"CPH2649": "一加 13 印度版", // 海外版,保留
"CPH2449": "一加 11", // 海外版型号,保留
"NE2210": "一加 10 Pro",
// 一加 Ace 系列
"PJF110": "一加 Ace 3V", // 补充(来源:一加社区 OTA 包名 PJF110
"PKG110": "一加 Ace 5", // 修正PKG110 实为 Ace 5来源oneplus.com/ace-5 入网型号)
"PKG111": "一加 Ace 5 至尊版", // 2025 新机,补充
// ===================== realme / 真我 =====================
// 来源realme.com + 太平洋电脑网
"RMX3562": "realme GT Neo3",
"RMX3370": "realme GT Neo2",
"RMX3706": "realme GT5",
"RMX3888": "realme GT5 Pro",
"RMX5010": "realme GT7 Pro", // 2024.11 发布,骁龙 8 Elite
"RMX5011": "realme GT7 Pro 竞速版", // 补充
"RMX5085": "realme GT7T", // 补充
"RMX6688": "realme GT7", // 2025 新机
"RMX5000": "realme 13+", // 补充
"RMX5002": "realme 13 Pro", // 补充
"RMX5070": "realme 14 5G", // 2025 新机
"RMX3940": "realme 14x 5G", // 补充
"RMX3997": "realme 12x 5G", // 补充
"RMX3998": "realme Narzo 70x 5G", // 补充
// ===================== Google Pixel =====================
// 来源Google 官网 store.google.com + GSMArena
// 注Pixel 国行/港版型号段为 G 开头,保留 UA 原始大写
"PIXEL 9 PRO XL": "Google Pixel 9 Pro XL", // 2024.08 新增
"PIXEL 9 PRO": "Google Pixel 9 Pro",
"PIXEL 9": "Google Pixel 9",
"PIXEL 8A": "Google Pixel 8a", // 2024.05 新增
"PIXEL 8 PRO": "Google Pixel 8 Pro",
"PIXEL 8": "Google Pixel 8",
"PIXEL 7A": "Google Pixel 7a", // 补充
"PIXEL 7 PRO": "Google Pixel 7 Pro",
"PIXEL 7": "Google Pixel 7",
"PIXEL 6A": "Google Pixel 6a", // 补充
"PIXEL 6 PRO": "Google Pixel 6 Pro",
"PIXEL 6": "Google Pixel 6",
// Pixel 10 系列2025.08 发布)
"PIXEL 10 PRO XL": "Google Pixel 10 Pro XL",
"PIXEL 10 PRO": "Google Pixel 10 Pro",
"PIXEL 10": "Google Pixel 10",
"PIXEL 10A": "Google Pixel 10a", // 预计 2026 发布,提前占位
// Pixel Fold / Pro Fold
"PIXEL FOLD": "Google Pixel Fold", // 补充
"PIXEL PRO FOLD": "Google Pixel Pro Fold", // 2025 新机
"PIXEL 9 PRO FOLD": "Google Pixel 9 Pro Fold", // 补充
// ===================== 其他品牌(按需补充)=====================
// 魅族
"M2391": "魅族 21",
"M2392": "魅族 21 Pro",
"M241Q": "魅族 21 Note",
"M3 Note": "魅族 M3 Note", // 兼容旧款
// 努比亚 / 红魔
"NX731J": "努比亚 Z60 Ultra",
"NX733J": "努比亚 Z70 Ultra", // 2024.11
"NX736J": "努比亚 Z80 Ultra", // 2025 新机
"NX789J": "红魔 9 Pro",
"NX812J": "红魔 10 Pro", // 2024.11
"NX813J": "红魔 10 Pro+", // 补充
"NX821J": "红魔 10S Pro", // 2025 新机
// 联想 / 摩托罗拉
"XT2409-2": "摩托罗拉 moto X50 Ultra", // 补充
"XT2451-1": "摩托罗拉 Razr 50", // 2024 竖折
"XT2453-1": "摩托罗拉 Razr 60", // 2025 竖折
"XT2454-1": "摩托罗拉 Razr 60 Ultra", // 补充
// 华硕
"AI2401": "华硕 Zenfone 11 Ultra", // 2024
"AI2501": "华硕 Zenfone 12 Ultra", // 2025
// 索尼
"XQ-DE72": "索尼 Xperia 1 VI", // 2024
"XQ-DE82": "索尼 Xperia 1 VII", // 2025
// 诺基亚
"N158V": "诺基亚 G42 5G",
// 中兴
"ZTE A2024": "中兴 Axon 50 Ultra",
"ZTE A2025": "中兴 Axon 60 Ultra", // 补充
// 联想拯救者
"TB-9707F": "联想 拯救者 Y700 游戏平板", // 补充(平板类,按需保留)
}