feat(character-detail, gallery): 캐릭터 상세 갤러리 - 이미지 리스트 API 연동
CharacterDetailView에 갤러리 탭을 추가하고, 갤러리 화면/상태 관리/네트워킹을 구현했습니다. 소유/미소유 UI, 페이지네이션, 이미지 뷰어, 오류 토스트를 포함합니다. TODO: 이미지 구매 API 연동
This commit is contained in:
@@ -11,6 +11,7 @@ import Moya
|
||||
enum CharacterApi {
|
||||
case getCharacterHome
|
||||
case getCharacterDetail(characterId: Int)
|
||||
case getCharacterImageList(characterId: Int, page: Int, size: Int)
|
||||
}
|
||||
|
||||
extension CharacterApi: TargetType {
|
||||
@@ -23,12 +24,30 @@ extension CharacterApi: TargetType {
|
||||
|
||||
case .getCharacterDetail(let characterId):
|
||||
return "/api/chat/character/\(characterId)"
|
||||
|
||||
case .getCharacterImageList:
|
||||
return "/api/chat/character/image/list"
|
||||
}
|
||||
}
|
||||
|
||||
var method: Moya.Method { .get }
|
||||
|
||||
var task: Moya.Task { .requestPlain }
|
||||
var task: Moya.Task {
|
||||
switch self {
|
||||
case .getCharacterHome, .getCharacterDetail:
|
||||
return .requestPlain
|
||||
|
||||
case .getCharacterImageList(let characterId, let page, let size):
|
||||
return .requestParameters(
|
||||
parameters: [
|
||||
"characterId": characterId,
|
||||
"page": page,
|
||||
"size": size
|
||||
],
|
||||
encoding: URLEncoding.queryString
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
var headers: [String : String]? {
|
||||
["Authorization": "Bearer \(UserDefaults.string(forKey: UserDefaultsKey.token))"]
|
||||
|
||||
Reference in New Issue
Block a user