mirror of
https://github.com/easychen/pushdeer.git
synced 2024-10-31 23:59:20 +08:00
103 lines
2.0 KiB
Swift
103 lines
2.0 KiB
Swift
//
|
|
// Result.swift
|
|
// PushDeer
|
|
//
|
|
// Created by HEXT on 2022/1/4.
|
|
//
|
|
|
|
import Foundation
|
|
|
|
/// 每个API接口的标准返回结构
|
|
struct ApiResult<T : Codable> : Codable{
|
|
let code: Int
|
|
/// 错误提示, code != 0 时才有
|
|
let error: String?
|
|
/// 返回内容, code == 0 时才有
|
|
let content: T?
|
|
}
|
|
|
|
struct TokenContent: Codable{
|
|
let token: String
|
|
}
|
|
|
|
struct UserInfoContent: Codable{
|
|
let id: Int
|
|
let name: String
|
|
let email: String
|
|
let apple_id: String
|
|
let wechat_id: String?
|
|
let level: Int
|
|
let created_at: String
|
|
let updated_at: String
|
|
}
|
|
|
|
struct DeviceItem: Codable, Identifiable{
|
|
let id: Int
|
|
let uid: String
|
|
let name: String
|
|
let type: String
|
|
let device_id: String
|
|
let is_clip: Int
|
|
}
|
|
|
|
struct DeviceContent: Codable{
|
|
let devices: [DeviceItem]
|
|
}
|
|
|
|
struct KeyContent: Codable{
|
|
let keys: [KeyItem]
|
|
}
|
|
|
|
struct KeyItem: Codable, Identifiable{
|
|
let id: Int
|
|
let name: String
|
|
let uid: String
|
|
let key: String
|
|
let created_at: String
|
|
}
|
|
|
|
struct MessageContent: Codable{
|
|
let messages: [MessageItem]
|
|
}
|
|
|
|
struct MessageItem: Codable, Identifiable{
|
|
let id: Int
|
|
let uid: String
|
|
let text: String
|
|
let desp: String
|
|
let type: String
|
|
let created_at: String
|
|
}
|
|
|
|
struct ActionContent: Codable{
|
|
let message: String
|
|
}
|
|
|
|
struct PushResultContent: Codable{
|
|
let result: Array<String>
|
|
}
|
|
|
|
let dateFormatter = DateFormatter()
|
|
|
|
extension KeyItem {
|
|
var createdDateStr: String {
|
|
dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss.SSSSSSZ"
|
|
let createdDate = dateFormatter.date(from: self.created_at)
|
|
dateFormatter.dateFormat = "yyyy/MM/dd"
|
|
return dateFormatter.string(from: createdDate ?? Date())
|
|
}
|
|
}
|
|
|
|
extension MessageItem {
|
|
var createdDateStr: String {
|
|
dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss.SSSSSSZ"
|
|
let createdDate = dateFormatter.date(from: self.created_at) ?? Date()
|
|
if Calendar.current.isDateInToday(createdDate) {
|
|
dateFormatter.dateFormat = "HH:mm:ss"
|
|
} else {
|
|
dateFormatter.dateFormat = "yyyy/MM/dd HH:mm:ss"
|
|
}
|
|
return dateFormatter.string(from: createdDate)
|
|
}
|
|
}
|