123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100 |
- import UIKit
- import BFNetRequestKit
- public enum FileExtensionType: String {
- case normal = ""
- case png
- case jpg
- case gif
- case pdf
- case mp4
- case mp3
- case m4a
- case txt
- case zip
-
-
- public func fileType() -> String {
- var fileType: String = "unknow"
- switch self {
- case .png, .jpg:
- fileType = "image"
- case .gif:
- fileType = "gif"
- case .mp3, .m4a:
- fileType = "voice"
- case .mp4:
- fileType = "video"
- default:
- fileType = "unknow"
- }
- return fileType
- }
- }
- public class PQDownloadModel: NSObject {
- public var name: String?
- public var fileExtensionType: FileExtensionType?
- public var realFileExtensionType: FileExtensionType?
- public var mimeType: String? {
- didSet {
- if mimeType?.contains("m4a") ?? false {
- realFileExtensionType = .m4a
- }
- }
- }
- public var sourceURL: String?
- public var filePath: String?
- public var imageURL: String?
- public var totalLength: Int64?
- public var downloadLength: Int64?
- public var task: URLSessionDataTask?
- public var progress: Float?
- public var state: downloadState?
- public var progressHandle: ProgressHandle?
- public var stateHandle: StateHandle?
- public var fileHandle: FileHandle?
- }
- public enum downloadState: Int {
- case downloading = 0
- case compelte = 1
- case error = 2
- case pause = 3
- case cancel = 4
- }
- public typealias ProgressHandle = (_ progress: Float, _ downloadLength: Int64?, _ totalLength: Int64?) -> Void
- public typealias StateHandle = (_ state: downloadState, _ url: String, _ localPath: String?, _ error: PQError?) -> Void
|