Files
legado-ios/Sources/LegadoCore/Domain/BookSourceRules.swift
T

144 lines
4.0 KiB
Swift

import Foundation
public struct BookListRule: Codable, Hashable, Sendable {
public var bookList: String?
public var name: String?
public var author: String?
public var intro: String?
public var kind: String?
public var lastChapter: String?
public var updateTime: String?
public var bookUrl: String?
public var coverUrl: String?
public var wordCount: String?
public init(
bookList: String? = nil,
name: String? = nil,
author: String? = nil,
intro: String? = nil,
kind: String? = nil,
lastChapter: String? = nil,
updateTime: String? = nil,
bookUrl: String? = nil,
coverUrl: String? = nil,
wordCount: String? = nil
) {
self.bookList = bookList
self.name = name
self.author = author
self.intro = intro
self.kind = kind
self.lastChapter = lastChapter
self.updateTime = updateTime
self.bookUrl = bookUrl
self.coverUrl = coverUrl
self.wordCount = wordCount
}
}
public struct SearchRule: Codable, Hashable, Sendable {
public var checkKeyWord: String?
public var bookList: String?
public var name: String?
public var author: String?
public var intro: String?
public var kind: String?
public var lastChapter: String?
public var updateTime: String?
public var bookUrl: String?
public var coverUrl: String?
public var wordCount: String?
public init(
checkKeyWord: String? = nil,
bookList: String? = nil,
name: String? = nil,
author: String? = nil,
intro: String? = nil,
kind: String? = nil,
lastChapter: String? = nil,
updateTime: String? = nil,
bookUrl: String? = nil,
coverUrl: String? = nil,
wordCount: String? = nil
) {
self.checkKeyWord = checkKeyWord
self.bookList = bookList
self.name = name
self.author = author
self.intro = intro
self.kind = kind
self.lastChapter = lastChapter
self.updateTime = updateTime
self.bookUrl = bookUrl
self.coverUrl = coverUrl
self.wordCount = wordCount
}
}
public typealias ExploreRule = BookListRule
public struct BookInfoRule: Codable, Hashable, Sendable {
public var `init`: String?
public var name: String?
public var author: String?
public var intro: String?
public var kind: String?
public var lastChapter: String?
public var updateTime: String?
public var coverUrl: String?
public var tocUrl: String?
public var wordCount: String?
public var canReName: String?
public var downloadUrls: String?
public init() {}
}
public struct TocRule: Codable, Hashable, Sendable {
public var preUpdateJs: String?
public var chapterList: String?
public var chapterName: String?
public var chapterUrl: String?
public var formatJs: String?
public var isVolume: String?
public var isVip: String?
public var isPay: String?
public var updateTime: String?
public var nextTocUrl: String?
public init() {}
}
public struct ContentRule: Codable, Hashable, Sendable {
public var content: String?
public var subContent: String?
public var title: String?
public var nextContentUrl: String?
public var webJs: String?
public var sourceRegex: String?
public var replaceRegex: String?
public var imageStyle: String?
public var imageDecode: String?
public var payAction: String?
public var callBackJs: String?
public init() {}
}
public struct ReviewRule: Codable, Hashable, Sendable {
public var reviewUrl: String?
public var avatarRule: String?
public var contentRule: String?
public var postTimeRule: String?
public var reviewQuoteUrl: String?
public var voteUpUrl: String?
public var voteDownUrl: String?
public var postReviewUrl: String?
public var postQuoteUrl: String?
public var deleteUrl: String?
public init() {}
}