35 lines
847 B
Swift
35 lines
847 B
Swift
import Foundation
|
|
|
|
// 用户详情响应 (GET /api/user/profile)
|
|
struct UserProfileResponse: Codable {
|
|
let id: String
|
|
let phone: String?
|
|
let nickname: String
|
|
let avatar: String?
|
|
let digitalId: String? // ✅ 赛博学习证ID (Wild ID)
|
|
let total_study_time: Int
|
|
let completed_lessons: Int
|
|
|
|
enum CodingKeys: String, CodingKey {
|
|
case id, phone, nickname, avatar
|
|
case digitalId = "digital_id" // snake_case -> camelCase
|
|
case total_study_time, completed_lessons
|
|
}
|
|
}
|
|
|
|
// 更新用户信息响应 (PUT /api/user/profile)
|
|
struct UpdateProfileResponse: Codable {
|
|
let id: String
|
|
let nickname: String
|
|
let avatar: String? // ✅ 支持返回头像URL
|
|
}
|
|
|
|
// 用户设置响应 (GET/PUT /api/user/settings)
|
|
struct UserSettingsResponse: Codable {
|
|
let push_notification: Bool
|
|
}
|
|
|
|
|
|
|
|
|