feat(character): 캐릭터 메인 화면 구현 및 Combine 기반 리팩터링
- 배너/최근/신규/큐레이션 섹션 UI 구성 및 데이터 바인딩 - 네트워크 이미지 로더를 Kingfisher(KFImage)로 교체하여 캐싱/재시도 지원 - CharacterApi에 토큰 헤더 포함, GET /api/chat/character/main 연동
This commit is contained in:
		
							
								
								
									
										32
									
								
								SodaLive/Sources/Chat/Character/CharacterApi.swift
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										32
									
								
								SodaLive/Sources/Chat/Character/CharacterApi.swift
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,32 @@
 | 
			
		||||
//
 | 
			
		||||
//  CharacterApi.swift
 | 
			
		||||
//  SodaLive
 | 
			
		||||
//
 | 
			
		||||
//  Created by klaus on 8/29/25.
 | 
			
		||||
//
 | 
			
		||||
 | 
			
		||||
import Foundation
 | 
			
		||||
import Moya
 | 
			
		||||
 | 
			
		||||
enum CharacterApi {
 | 
			
		||||
    case getCharacterHome
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
extension CharacterApi: TargetType {
 | 
			
		||||
    var baseURL: URL { URL(string: BASE_URL)! }
 | 
			
		||||
    
 | 
			
		||||
    var path: String {
 | 
			
		||||
        switch self {
 | 
			
		||||
        case .getCharacterHome:
 | 
			
		||||
            return "/api/chat/character/main"
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
    
 | 
			
		||||
    var method: Moya.Method { .get }
 | 
			
		||||
    
 | 
			
		||||
    var task: Moya.Task { .requestPlain }
 | 
			
		||||
    
 | 
			
		||||
    var headers: [String : String]? {
 | 
			
		||||
        ["Authorization": "Bearer \(UserDefaults.string(forKey: UserDefaultsKey.token))"]
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user