From 8fb6d5c6b9e637ec9129f41fcfba7eeac4b620ca Mon Sep 17 00:00:00 2001 From: Junhui Chen Date: Sat, 6 Sep 2025 22:18:16 +0800 Subject: [PATCH] =?UTF-8?q?chore:=20=E5=88=A4=E6=96=AD=E7=9B=B2=E7=9B=92?= =?UTF-8?q?=E6=95=B0=E9=87=8F=EF=BC=8C=E7=A1=AE=E5=AE=9A=E6=98=AF=E5=90=A6?= =?UTF-8?q?=E8=BF=9B=E5=85=A5=E6=96=B0=E6=89=8B=E5=BC=95=E5=AF=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- wake/View/Blind/ContentView.swift | 61 +++++++++++++++++-------------- 1 file changed, 34 insertions(+), 27 deletions(-) diff --git a/wake/View/Blind/ContentView.swift b/wake/View/Blind/ContentView.swift index 4d41245..20a9558 100644 --- a/wake/View/Blind/ContentView.swift +++ b/wake/View/Blind/ContentView.swift @@ -108,11 +108,6 @@ struct BlindBoxView: View { init(mediaType: BlindBoxMediaType) { self.mediaType = mediaType - - // 检查盲盒列表,如果不存在First/Second盲盒,则跳转到对应的页面重新触发新手引导 - if mediaType == BlindBoxMediaType.all { - print("获取盲盒列表") - } } // 倒计时 @@ -162,6 +157,39 @@ struct BlindBoxView: View { startPolling() case .all: print("Loading all content...") + // 检查盲盒列表,如果不存在First/Second盲盒,则跳转到对应的页面重新触发新手引导 + NetworkService.shared.get( + path: "/blind_boxs/query", + parameters: nil + ) { (result: Result, NetworkError>) in + DispatchQueue.main.async { + switch result { + case .success(let response): + if response.data.count == 0 { + // 跳转到新手引导-First盲盒页面 + print("❌ 没有盲盒,跳转到新手引导-First盲盒页面") + // return + } + if response.data.count == 1 && response.data[0].boxType == "First" { + // 跳转到新手引导-Second盲盒页面 + print("❌ 只有First盲盒,跳转到新手引导-Second盲盒页面") + // return + } + + self.blindList = response.data ?? [] + // 如果列表为空数组 设置盲盒状态为none + if self.blindList.isEmpty { + self.animationPhase = .none + } + print("✅ 成功获取 \(self.blindList.count) 个盲盒") + case .failure(let error): + self.blindList = [] + self.animationPhase = .none + print("❌ 获取盲盒列表失败:", error.localizedDescription) + } + } + } + // 会员信息 NetworkService.shared.get( path: "/membership/personal-center-info", @@ -195,27 +223,6 @@ struct BlindBoxView: View { } } } - // 盲盒列表 - NetworkService.shared.get( - path: "/blind_boxs/query", - parameters: nil - ) { (result: Result, NetworkError>) in - DispatchQueue.main.async { - switch result { - case .success(let response): - self.blindList = response.data ?? [] - // 如果列表为空数组 设置盲盒状态为none - if self.blindList.isEmpty { - self.animationPhase = .none - } - print("✅ 成功获取 \(self.blindList.count) 个盲盒") - case .failure(let error): - self.blindList = [] - self.animationPhase = .none - print("❌ 获取盲盒列表失败:", error.localizedDescription) - } - } - } } } // 轮询接口 @@ -862,7 +869,7 @@ struct BlindBoxView: View { if ProcessInfo.processInfo.environment["XCODE_RUNNING_FOR_PREVIEWS"] == "1" { // 设置模拟令牌用于Preview let previewToken = "eyJ0eXAiOiJKV1QiLCJhbGciOiJFZERTQSJ9.eyJqdGkiOjczNzAwMTY5NzMzODE1NzA1NjAsImlkZW50aXR5IjoiNzM1MDQzOTY2MzExNjYxOTc3NyIsImV4cCI6MTc1Nzc1Mzc3NH0.tZ8p5sW4KX6HFoJpJN0e4VmJOAGhTrYD2yTwQwilKpufzqOAfXX4vpGYBurgBIcHj2KmXKX2PQMOeeAtvAypDA" - KeychainHelper.saveAccessToken(previewToken) + let _ = KeychainHelper.saveAccessToken(previewToken) print("🔑 Preview token set for testing") } #endif