123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- import Foundation
- import RxSwift
- public protocol MessageInteractionModel {
- var path: Interfaces { get }
- var removePath: Interfaces { get }
- var readPath: Interfaces { get }
- var title: String { get }
- }
- extension MessageType {
-
- public var model: MessageInteractionModel {
- switch self {
- case .thumbup: return MessagethumbupInteractionModel()
- case .comment: return MessageCommentInteractionModel()
- case .system: return MessageSystemInteractionModel()
- }
- }
-
- fileprivate struct MessagethumbupInteractionModel: MessageInteractionModel {
- var path: Interfaces { return .mesThumbupList}
- var removePath: Interfaces { return .mesThumbupClear }
- var readPath: Interfaces { return .mesThumbupRead }
- var title: String { return "赞" }
- }
-
- fileprivate struct MessageCommentInteractionModel: MessageInteractionModel {
- var path: Interfaces { return .mesCommentList}
- var removePath: Interfaces { return .mesCommentClear }
- var readPath: Interfaces { return .mesCommentRead }
- var title: String { return "评论" }
- }
-
- fileprivate struct MessageSystemInteractionModel: MessageInteractionModel {
- var path: Interfaces { return .mesSystemList}
- var removePath: Interfaces { return .mesSystemClear }
- var readPath: Interfaces { return .mesSystemRead }
- var title: String { return "系统消息" }
- }
- }
- struct MessageRepository {
-
- var messageRemoteAPI = MessageRemoteAPI()
-
- func loadContent() -> Single<[MessageItem]> {
- return messageRemoteAPI.loadContent()
- }
-
- func loadMessageList(_ type: MessageType, page: Int) -> Single<NetworkArrayData<MessageListItem>> {
- return messageRemoteAPI.loadMessageList(type, page: page)
- }
-
- func remove(_ type: MessageType, pk: Int) -> Completable {
- return messageRemoteAPI.remove(type, pk: pk)
- }
-
- func removeAll(_ type: MessageType) -> Completable {
- return messageRemoteAPI.removeAll(type)
- }
-
- func readed(_ type: MessageType) -> Completable {
- return messageRemoteAPI.readed(type)
- }
- }
|