feat: 暂提

This commit is contained in:
jinyaqiu 2025-08-29 09:58:24 +08:00
parent d90ed0a171
commit 5080b104a4
2 changed files with 72 additions and 31 deletions

View File

@ -10,6 +10,7 @@ enum AppRoute: Hashable {
case blindBox(mediaType: BlindBoxView.BlindBoxMediaType) case blindBox(mediaType: BlindBoxView.BlindBoxMediaType)
case blindOutcome(media: MediaType) case blindOutcome(media: MediaType)
case memories case memories
case subscribe
@ViewBuilder @ViewBuilder
var view: some View { var view: some View {
@ -30,6 +31,8 @@ enum AppRoute: Hashable {
BlindOutcomeView(media: media) BlindOutcomeView(media: media)
case .memories: case .memories:
MemoriesView() MemoriesView()
case .subscribe:
SubscribeView()
} }
} }
} }

View File

@ -17,6 +17,22 @@ struct UserProfile: Codable {
} }
} }
struct MemberProfile: Codable {
let userId: String
let nickname: String
let avatarUrl: String?
let account: String
let email: String
enum CodingKeys: String, CodingKey {
case userId = "user_id"
case nickname
case avatarUrl = "avatar_file_url"
case account
case email
}
}
// API Response wrapper // API Response wrapper
struct APIResponse<T: Codable>: Codable { struct APIResponse<T: Codable>: Codable {
let code: Int let code: Int
@ -126,6 +142,9 @@ struct UserProfileModal: View {
) )
.padding(.horizontal) .padding(.horizontal)
Button(action: {
Router.shared.navigate(to: .subscribe)
}) {
ZStack(alignment: .center) { ZStack(alignment: .center) {
// SVG - // SVG -
SVGImage(svgName: "Pioneer") SVGImage(svgName: "Pioneer")
@ -159,6 +178,7 @@ struct UserProfileModal: View {
.frame(maxWidth: .infinity) .frame(maxWidth: .infinity)
.cornerRadius(16) .cornerRadius(16)
.clipped() // .clipped() //
}
VStack(spacing: 12) { VStack(spacing: 12) {
// upload // upload
@ -281,6 +301,24 @@ struct UserProfileModal: View {
DispatchQueue.main.async { DispatchQueue.main.async {
isLoading = false isLoading = false
switch result {
case .success(let response):
self.userProfile = response.data
print("✅ Successfully fetched user info:", response.data)
case .failure(let error):
self.errorMessage = error.localizedDescription
print("❌ Failed to fetch user info:", error)
}
}
}
//
NetworkService.shared.get(
path: "/membership/personal-center-info",
parameters: nil
) { (result: Result<APIResponse<UserProfile>, NetworkError>) in
DispatchQueue.main.async {
isLoading = false
switch result { switch result {
case .success(let response): case .success(let response):
self.userProfile = response.data self.userProfile = response.data