wake-ios/wake/Models/AuthModels.swift
2025-08-22 18:58:08 +08:00

60 lines
1.4 KiB
Swift

import Foundation
/// API
struct BaseResponse<T: Codable>: Codable {
let code: Int
let data: T?
let message: String?
}
///
struct UserLoginInfo: Codable {
let userId: String
let accessToken: String
let refreshToken: String
let nickname: String
let account: String
let email: String
let avatarFileUrl: String?
enum CodingKeys: String, CodingKey {
case userId = "user_id"
case accessToken = "access_token"
case refreshToken = "refresh_token"
case nickname
case account
case email
case avatarFileUrl = "avatar_file_url"
}
}
///
struct LoginResponseData: Codable {
let userLoginInfo: UserLoginInfo
let isNewUser: Bool
enum CodingKeys: String, CodingKey {
case userLoginInfo = "user_login_info"
case isNewUser = "is_new_user"
}
}
///
typealias AuthResponse = BaseResponse<LoginResponseData>
///
struct UserInfoData: Codable {
let userId: String
let username: String
let avatarFileId: String?
enum CodingKeys: String, CodingKey {
case userId = "user_id"
case username
case avatarFileId = "avatar_file_id"
}
}
///
typealias UserInfoResponse = BaseResponse<UserInfoData>