| | |
| | | import UserDefaultsStore |
| | | |
| | | struct LoginModel:HandyJSON{ |
| | | var token:LoginTokenModel? |
| | | var token:LoginTokenModel? |
| | | } |
| | | |
| | | struct LoginTokenModel:HandyJSON,Identifiable,Codable{ |
| | | static let idKey = \LoginTokenModel.id |
| | | var id: Int = 0 |
| | | static let idKey = \LoginTokenModel.id |
| | | var id: Int = 0 |
| | | |
| | | var access_token = "" |
| | | var expires_in = 0 |
| | | var request_time = 0 //请求时间 |
| | | var access_token = "" |
| | | var expires_in = 0 |
| | | var request_time = 0 //请求时间 |
| | | |
| | | private static let userInfo = UserDefaultsStore<LoginTokenModel>(uniqueIdentifier: "LoginTokenModel")! |
| | | private static let userInfo = UserDefaultsStore<LoginTokenModel>(uniqueIdentifier: "LoginTokenModel")! |
| | | |
| | | static func saveToken(_ model:LoginTokenModel){ |
| | | do{ |
| | | try LoginTokenModel.userInfo.save(model) |
| | | }catch{ |
| | | static func saveToken(_ model:LoginTokenModel){ |
| | | do{ |
| | | try LoginTokenModel.userInfo.save(model) |
| | | }catch{ |
| | | |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | static func isOverdue()->Bool{ |
| | | if let token = LoginTokenModel.getToken(){ |
| | | //过期时间(秒) |
| | | let overdueTimeval = token.expires_in * 60 + token.request_time |
| | | |
| | | if overdueTimeval < Int(Date().timeIntervalSince1970){ |
| | | return true |
| | | } |
| | | return false |
| | | } |
| | | return true |
| | | } |
| | | static func isOverdue()->Bool{ |
| | | if let token = LoginTokenModel.getToken(){ |
| | | //过期时间(秒) |
| | | let overdueTimeval = token.expires_in * 60 + token.request_time |
| | | |
| | | static func getToken()->LoginTokenModel?{ |
| | | return LoginTokenModel.userInfo.allObjects().first |
| | | } |
| | | if overdueTimeval < Int(Date().timeIntervalSince1970){ |
| | | return true |
| | | } |
| | | return false |
| | | } |
| | | return true |
| | | } |
| | | |
| | | static func clearToken(){ |
| | | LoginTokenModel.userInfo.deleteAll() |
| | | } |
| | | static func getToken()->LoginTokenModel?{ |
| | | return LoginTokenModel.userInfo.allObjects().first |
| | | } |
| | | |
| | | static func clearToken(){ |
| | | LoginTokenModel.userInfo.deleteAll() |
| | | } |
| | | } |
| | | |
| | | |
| | | struct RecommendModel:HandyJSON{ |
| | | var basicCount: Int = 0 |
| | | var coverImg: String = "" |
| | | var createBy: String = "" |
| | | var createTime: String = "" |
| | | var detail: String = "" |
| | | var detailImg: String = "" |
| | | var disabled: Bool = false |
| | | var id: Int = 0 |
| | | var insertTime: String = "" |
| | | var integral: Int = 0 |
| | | var inventory: Int = 0 |
| | | var isDelete: Int = 0 |
| | | var name: String = "" |
| | | var price: Int = 0 |
| | | var surplus: Int = 0 |
| | | var total: Int = 0 |
| | | var type: Int = 0 |
| | | var typeIds: String = "" |
| | | var updateBy: String = "" |
| | | var updateTime: String = "" |
| | | var userCount: Int = 0 |
| | | var basicCount: Int = 0 |
| | | var coverImg: String = "" |
| | | var createBy: String = "" |
| | | var createTime: String = "" |
| | | var detail: String = "" |
| | | var detailImg: String = "" |
| | | var disabled: Bool = false |
| | | var id: Int = 0 |
| | | var insertTime: String = "" |
| | | var integral: Int = 0 |
| | | var inventory: Int = 0 |
| | | var isDelete: Int = 0 |
| | | var name: String = "" |
| | | var price: Int = 0 |
| | | var surplus: Int = 0 |
| | | var total: Int = 0 |
| | | var type: Int = 0 |
| | | var typeIds: String = "" |
| | | var updateBy: String = "" |
| | | var updateTime: String = "" |
| | | var userCount: Int = 0 |
| | | } |
| | | |
| | | struct MarketModel:HandyJSON{ |
| | | var basicCount: Int = 0 |
| | | var coverImg: String = "" |
| | | var createBy: String = "" |
| | | var createTime: String = "" |
| | | var detail: String = "" |
| | | var detailImg: String = "" |
| | | var disabled: Bool = false |
| | | var id: Int = 0 |
| | | var integral: Int = 0 |
| | | var inventory: Int = 0 |
| | | var isDelete: Int = 0 |
| | | var name: String = "" |
| | | var price: Int = 0 |
| | | var surplus: Int = 0 |
| | | var total: Int = 0 |
| | | var type: Int = 0 |
| | | var typeIds: String = "" |
| | | var updateBy: String = "" |
| | | var updateTime: String = "" |
| | | var userCount: Int = 0 |
| | | var basicCount: Int = 0 |
| | | var coverImg: String = "" |
| | | var createBy: String = "" |
| | | var createTime: String = "" |
| | | var detail: String = "" |
| | | var detailImg: String = "" |
| | | var disabled: Bool = false |
| | | var id: Int = 0 |
| | | var integral: Int = 0 |
| | | var inventory: Int = 0 |
| | | var isDelete: Int = 0 |
| | | var name: String = "" |
| | | var price: Double = 0 |
| | | var surplus: Int? |
| | | var total: Int = 0 |
| | | var type: Int = 0 |
| | | var typeIds: String = "" |
| | | var updateBy: String = "" |
| | | var updateTime: String = "" |
| | | var userCount: Int? |
| | | } |
| | | |
| | | struct MarketTypeModel:HandyJSON,Hashable{ |
| | | var id = 0 |
| | | var name = "" |
| | | var id = 0 |
| | | var name = "" |
| | | } |
| | | |
| | | struct MarketDetailModel:HandyJSON{ |
| | | var exchangeNumber: Int = 0 |
| | | var good: MarketModel? |
| | | var goodTypes = [MarketTypeModel]() |
| | | var orderNumber: String = "" |
| | | var recipient: MarketRecipientModel? |
| | | var exchangeNumber: Int = 0 |
| | | var good: MarketModel? |
| | | var goodTypes = [MarketTypeModel]() |
| | | var orderNumber: String = "" |
| | | var residueNumber:Int? |
| | | var recipient: MarketRecipientModel? |
| | | } |
| | | |
| | | struct MarketRecipientModel:HandyJSON,Hashable{ |
| | | var id = 0 |
| | | var name = "" |
| | | var id = 0 |
| | | var name = "" |
| | | } |
| | | |
| | | struct AddressModel:HandyJSON{ |
| | | var address: String = "" |
| | | var city: String = "" |
| | | var cityCode: String = "" |
| | | var createBy: String = "" |
| | | var createTime: String = "" |
| | | var disabled: Bool = false |
| | | var id: Int = 0 |
| | | var isDefault: Int = 0 |
| | | var province: String = "" |
| | | var provinceCode: String = "" |
| | | var recipient: String = "" |
| | | var recipientPhone: String = "" |
| | | var updateBy: String = "" |
| | | var updateTime: String = "" |
| | | var userId: Int = 0 |
| | | var address: String = "" |
| | | var city: String = "" |
| | | var cityCode: String = "" |
| | | var createBy: String = "" |
| | | var createTime: String = "" |
| | | var disabled: Bool = false |
| | | var id: Int = 0 |
| | | var isDefault: Int = 0 |
| | | var province: String = "" |
| | | var provinceCode: String = "" |
| | | var recipient: String = "" |
| | | var recipientPhone: String = "" |
| | | var updateBy: String = "" |
| | | var updateTime: String = "" |
| | | var userId: Int = 0 |
| | | var orderId:Int = 0 |
| | | } |
| | | |
| | | struct AddressTreeModel:HandyJSON{ |
| | | var id = 0 |
| | | var name = "" |
| | | var code = "" |
| | | var parentId = 0 |
| | | var children:[AddressTreeModel]? |
| | | var id = 0 |
| | | var name = "" |
| | | var code = "" |
| | | var parentId = 0 |
| | | var children:[AddressTreeModel]? |
| | | } |
| | | |
| | | struct IntegralModel:HandyJSON{ |
| | | var createBy: String = "" |
| | | var createTime: String = "" |
| | | var disabled: Bool = false |
| | | var gameId: Int = 0 |
| | | var id: Int = 0 |
| | | var integral: String = "" |
| | | var method: String = "" |
| | | var storyId: Int = 0 |
| | | var type: String = "" |
| | | var updateBy: String = "" |
| | | var updateTime: String = "" |
| | | var userId: Int = 0 |
| | | var createBy: String = "" |
| | | var createTime: String = "" |
| | | var disabled: Bool = false |
| | | var gameId: Int = 0 |
| | | var id: Int = 0 |
| | | var integral: String = "" |
| | | var method: String = "" |
| | | var storyId: Int = 0 |
| | | var type: String = "" |
| | | var updateBy: String = "" |
| | | var updateTime: String = "" |
| | | var userId: Int = 0 |
| | | } |
| | | |
| | | struct ExchangeRecordModel:HandyJSON{ |
| | | var completeTime: String = "" |
| | | var consigneeAddress: String = "" |
| | | var consigneeName: String = "" |
| | | var consigneePhone: String = "" |
| | | var count: Int = 0 |
| | | var createBy: String = "" |
| | | var createTime: String = "" |
| | | var disabled: Bool = false |
| | | var express: String = "" |
| | | var expressNumber: String = "" |
| | | var expressTime: String = "" |
| | | var goodsId: Int = 0 |
| | | var goodsName: String = "" |
| | | var id: Int = 0 |
| | | var insertTime: String = "" |
| | | var integral: Int = 0 |
| | | var orderNumber: String = "" |
| | | var state: Int = 0 //订单状态1待发货2已发货3已完成 |
| | | var updateBy: String = "" |
| | | var updateTime: String = "" |
| | | var userId: Int = 0 |
| | | var goodsType = [String]() |
| | | var coverImg:String = "" |
| | | var completeTime: String = "" |
| | | var consigneeAddress: String = "" |
| | | var consigneeName: String = "" |
| | | var consigneePhone: String = "" |
| | | var count: Int = 0 |
| | | var createBy: String = "" |
| | | var createTime: String = "" |
| | | var disabled: Bool = false |
| | | var express: String = "" |
| | | var expressNumber: String = "" |
| | | var expressTime: String = "" |
| | | var goodsId: Int = 0 |
| | | var goodsName: String = "" |
| | | var id: Int = 0 |
| | | var insertTime: String = "" |
| | | var integral: Int = 0 |
| | | var orderNumber: String = "" |
| | | var orderId:Int = 0 |
| | | var state: Int = 0 //订单状态1待发货2已发货3已完成 |
| | | var updateBy: String = "" |
| | | var updateTime: String = "" |
| | | var userId: Int = 0 |
| | | var goodsType = [String]() |
| | | var coverImg:String = "" |
| | | } |
| | | |
| | | struct StudyGamesModel:HandyJSON{ |
| | | var gameRecordList = [StudyGamesRecordModel]() |
| | | var record:StudyDataRecordModel? |
| | | var gameRecordList = [StudyGamesRecordModel]() |
| | | var record:StudyDataRecordModel? |
| | | } |
| | | |
| | | |
| | | struct StudyGamesRecordModel:HandyJSON{ |
| | | var accuracy: Int = 0 |
| | | var createBy: String = "" |
| | | var createTime: String = "" |
| | | var disabled: Bool = false |
| | | var gameDifficulty: Int = 0 |
| | | var gameId: Int = 0 |
| | | var gameName: String = "" |
| | | var id: Int = 0 |
| | | var updateBy: String = "" |
| | | var updateTime: String = "" |
| | | var userId: Int = 0 |
| | | var useTime: Int = 0 |
| | | var accuracy: Int = 0 |
| | | var createBy: String = "" |
| | | var time = "" |
| | | // var createTime: String = "" |
| | | var disabled: Bool = false |
| | | var gameDifficulty: Int = 0 |
| | | var gameId: Int = 0 |
| | | var gameName: String = "" |
| | | var id: Int = 0 |
| | | var updateBy: String = "" |
| | | // var updateTime: String = "" |
| | | var userId: Int = 0 |
| | | var useTime: Int = 0 |
| | | } |
| | | |
| | | struct StudyDataRecordModel:HandyJSON{ |
| | | var answer: Int = 0 |
| | | var createBy: String = "" |
| | | var createTime: String = "" |
| | | var day: Int = 0 |
| | | var disabled: Bool = false |
| | | var id: Int = 0 |
| | | var induction: Int = 0 |
| | | var listen: Int = 0 |
| | | var look: Int = 0 |
| | | var monthStudy: Int = 0 |
| | | var pair: Int = 0 |
| | | var surplus: Int = 0 |
| | | var todayStudy: Int = 0 |
| | | var totalStudy: Int = 0 |
| | | var updateBy: String = "" |
| | | var updateTime: String = "" |
| | | var userId: Int = 0 |
| | | var week: Int = 0 |
| | | var weekStudy: Int = 0 |
| | | var answer: Int = 0 |
| | | var createBy: String = "" |
| | | var createTime: String = "" |
| | | var day: Int = 0 |
| | | var disabled: Bool = false |
| | | var id: Int = 0 |
| | | var induction: Int = 0 |
| | | var listen: Int = 0 |
| | | var look: Int = 0 |
| | | var monthStudy: Int = 0 |
| | | var pair: Int = 0 |
| | | var surplus: Int = 0 |
| | | var todayStudy: Int = 0 |
| | | var totalStudy: Int = 0 |
| | | var updateBy: String = "" |
| | | var updateTime: String = "" |
| | | var userId: Int = 0 |
| | | var week: Int = 0 |
| | | var weekStudy: Int = 0 |
| | | } |
| | | |
| | | struct ListenWeekModel:HandyJSON{ |
| | | var id = 0 |
| | | var day = 0 |
| | | var quarter = 0 |
| | | var title = "" |
| | | var totalIntegral = 0 |
| | | var type = 0 |
| | | var week = 0 |
| | | var id = 0 |
| | | var day = 0 |
| | | var quarter = 0 |
| | | var title = "" |
| | | var totalIntegral = 0 |
| | | var type = 0 |
| | | var week = 0 |
| | | var canStudy = 0 |
| | | } |
| | | |
| | | class ListenNewModel:HandyJSON{ |
| | | var data:ListenNewDataModel? |
| | | var subjectList = [[Listen1SubModel]]() |
| | | var data:ListenNewDataModel? |
| | | var list = [ListenSubCardModel]() |
| | | var subjectList = [[Listen1SubModel]]() |
| | | var accuracy:Double = 0 |
| | | |
| | | required init(){} |
| | | required init(){} |
| | | } |
| | | |
| | | class ListenNewDataModel:HandyJSON{ |
| | | var id:String = "" |
| | | var integral = 0 |
| | | var id:String = "" |
| | | var integral = 0 |
| | | |
| | | required init(){} |
| | | required init(){} |
| | | } |
| | | |
| | | class Listen1Model:HandyJSON{ |
| | | var data:Listen1DataModel? |
| | | var subjectList = [Listen1SubModel]() |
| | | var storyList = [Listen1SubModel]() |
| | | var data:Listen1DataModel? |
| | | var subjectList = [Listen1SubModel]() |
| | | var storyList = [Listen1SubModel]() |
| | | |
| | | //超级记忆专用 |
| | | var photoList = [SimpleListenDataModel]() |
| | | var voiceList = [SimpleListenDataModel]() |
| | | //超级记忆专用 |
| | | var photoList = [SimpleListenDataModel]() |
| | | var voiceList = [SimpleListenDataModel]() |
| | | |
| | | required init(){} |
| | | required init(){} |
| | | } |
| | | struct Listen1DataModel:HandyJSON{ |
| | | var createBy: String = "" |
| | | var createTime: String = "" |
| | | var day: Int = 0 |
| | | var disabled: Bool = false |
| | | var id: Int = 0 |
| | | var integral: Int = 0 |
| | | var isVip: Int = 0 |
| | | var studyId: Int = 0 |
| | | var subject: String = "" |
| | | var updateBy: String = "" |
| | | var updateTime: String = "" |
| | | var week: Int = 0 |
| | | var answerCount = 0 |
| | | var answerIntegral = 0 |
| | | var answerTime = 0 |
| | | var time = 0 |
| | | var count = 0 |
| | | var lookIntegral = 0 |
| | | |
| | | struct TeamScheduleModel:HandyJSON{ |
| | | var answerNumber = 0 |
| | | var correctNumber = 0 |
| | | var teamIds = [Int]() //题组ids |
| | | var topicIds = [Int]() //已回答正确的题目Id |
| | | var schedule = 0 |
| | | } |
| | | |
| | | |
| | | struct Listen1DataModel:HandyJSON{ |
| | | var createBy: String = "" |
| | | var createTime: String = "" |
| | | var day: Int = 0 |
| | | var disabled: Bool = false |
| | | var id: Int = 0 |
| | | var integral: Int = 0 |
| | | var isVip: Int = 0 |
| | | var studyId: Int = 0 |
| | | var subject: String = "" |
| | | var updateBy: String = "" |
| | | var updateTime: String = "" |
| | | var week: Int = 0 |
| | | var answerCount = 0 |
| | | var answerIntegral = 0 |
| | | var answerTime = 0 |
| | | var time = 0 |
| | | var count = 0 |
| | | var lookIntegral = 0 |
| | | |
| | | //custom |
| | | var playNow:Bool = false //立刻播放 |
| | | |
| | | } |
| | | |
| | | class ListenSubCardModel:HandyJSON{ |
| | | var createBy: String = "" |
| | | var createTime: String = "" |
| | | var day: Int = 0 |
| | | var disabled: Bool = false |
| | | var id: Int = 0 |
| | | var objectId: Int = 0 |
| | | var one: Int = 0 |
| | | var status: Int = 0 |
| | | var two: Int = 0 |
| | | var type: Int = 0 |
| | | var updateBy: String = "" |
| | | var updateTime: String = "" |
| | | var userId: Int = 0 |
| | | var week: Int = 0 |
| | | |
| | | required init(){} |
| | | } |
| | | |
| | | class Listen1SubModel:HandyJSON,Hashable{ |
| | | |
| | | static func == (lhs: Listen1SubModel, rhs: Listen1SubModel) -> Bool { |
| | | return lhs.id == rhs.id |
| | | } |
| | | |
| | | // var hashValue: Int{ |
| | | // return id |
| | | // } |
| | | static func == (lhs: Listen1SubModel, rhs: Listen1SubModel) -> Bool { |
| | | return lhs.id == rhs.id |
| | | } |
| | | |
| | | func hash(into hasher: inout Hasher) { |
| | | // var hashValue: Int{ |
| | | // return id |
| | | // } |
| | | |
| | | } |
| | | func hash(into hasher: inout Hasher) { |
| | | |
| | | } |
| | | |
| | | |
| | | required init() {} |
| | | required init() {} |
| | | |
| | | var correct: String = "" |
| | | var createBy: String = "" |
| | | var createTime: String = "" |
| | | var disabled: Bool = false |
| | | var english: String = "" |
| | | var error: String = "" |
| | | var id: Int = 0 |
| | | var img: String = "" |
| | | var name: String = "" |
| | | var state: Int = 0 |
| | | var type: String = "" |
| | | var updateBy: String = "" |
| | | var updateTime: String = "" |
| | | var correct: String = "" |
| | | var createBy: String = "" |
| | | var createTime: String = "" |
| | | var disabled: Bool = false |
| | | var english: String = "" |
| | | var error: String = "" |
| | | var id: Int = 0 |
| | | var img: String = "" |
| | | var name: String = "" |
| | | var state: Int = 0 |
| | | var type: String = "" |
| | | var updateBy: String = "" |
| | | var updateTime: String = "" |
| | | |
| | | |
| | | //学习类型四专用 |
| | | var isQuestion:Int = 0 |
| | | //学习类型四专用 |
| | | var isQuestion:Int = 0 |
| | | |
| | | //游戏类型2专用 |
| | | var isOpen:Bool = false |
| | | //游戏类型2专用 |
| | | var isOpen:Bool = false |
| | | |
| | | // 自主学习1,3专用 (是否已回答) |
| | | var isAnster:Bool = false |
| | | } |
| | | |
| | | @available(*,deprecated,message: "废弃") |
| | | struct Listen4Model:HandyJSON{ |
| | | var data = [Listen4DataModel]() |
| | | var data = [Listen4DataModel]() |
| | | } |
| | | |
| | | struct Listen4DataModel:HandyJSON{ |
| | | var answerSubject: Int = 0 |
| | | var createBy: String = "" |
| | | var createTime: String = "" |
| | | var day: Int = 0 |
| | | var disabled: Bool = false |
| | | var id: Int = 0 |
| | | var integral: Int = 0 |
| | | var isAnswer: Int = 0 |
| | | var isVip: Int = 0 |
| | | var studyId: Int = 0 |
| | | var subject: Int = 0 |
| | | var subjectList = [Listen1SubModel]() |
| | | var updateBy: String = "" |
| | | var updateTime: String = "" |
| | | var week: Int = 0 |
| | | var answerSubject: Int = 0 |
| | | var createBy: String = "" |
| | | var createTime: String = "" |
| | | var day: Int = 0 |
| | | var disabled: Bool = false |
| | | var id: Int = 0 |
| | | var integral: Int = 0 |
| | | var isAnswer: Int = 0 |
| | | var isVip: Int = 0 |
| | | var studyId: Int = 0 |
| | | var subject: Int = 0 |
| | | var subjectList = [Listen1SubModel]() |
| | | var updateBy: String = "" |
| | | var updateTime: String = "" |
| | | var week: Int = 0 |
| | | } |
| | | |
| | | struct StudyScheduleModel:HandyJSON{ |
| | | var answer: Int = 0 |
| | | var day: Int = 0 |
| | | var computeSchedule:Int = 0 |
| | | var id: Int = 0 |
| | | var induction: Int = 0 |
| | | var listen: Int = 0 |
| | | var look: Int = 0 |
| | | var monthStudy: Int = 0 |
| | | var pair: Int = 0 |
| | | var surplus: String = "" |
| | | var todayStudy: Int = 0 |
| | | var totalStudy: Int = 0 |
| | | var userId: Int = 0 |
| | | var week: Int = 0 |
| | | var weekStudy: Int = 0 |
| | | struct StudyScheduleModel:HandyJSON,Hashable{ |
| | | init() {} |
| | | |
| | | var answer: Int = 0 |
| | | var day: Int = 0 |
| | | var computeSchedule:Int = 0 |
| | | var id: Int = 0 |
| | | var induction: Int = 0 |
| | | var listen: Int = 0 |
| | | var look: Int = 0 |
| | | var monthStudy: Int = 0 |
| | | var pair: Int = 0 |
| | | var surplus: String = "" |
| | | var todayStudy: Int = 0 |
| | | var totalStudy: Int = 0 |
| | | var userId: Int = 0 |
| | | var week: Int = 0 |
| | | var weekStudy: Int = 0 |
| | | var gameDifficulty:Int = 0 |
| | | |
| | | var hashValue: Int{ |
| | | return answer+day+computeSchedule+induction+listen+look+monthStudy+pair+todayStudy+totalStudy+week+weekStudy+gameDifficulty |
| | | } |
| | | } |
| | | |
| | | class SimpleListenDataModel:HandyJSON,Hashable{ |
| | | |
| | | required init() {} |
| | | required init() {} |
| | | |
| | | static func == (lhs: SimpleListenDataModel, rhs: SimpleListenDataModel) -> Bool { |
| | | return lhs.id == rhs.id |
| | | } |
| | | static func == (lhs: SimpleListenDataModel, rhs: SimpleListenDataModel) -> Bool { |
| | | return lhs.id == rhs.id |
| | | } |
| | | |
| | | func hash(into hasher: inout Hasher) { |
| | | func hash(into hasher: inout Hasher) { |
| | | |
| | | } |
| | | } |
| | | |
| | | var id = 0 |
| | | var photo = "" |
| | | var voice = "" |
| | | var id = 0 |
| | | var photo = "" |
| | | var voice = "" |
| | | |
| | | //游戏类型2专用 |
| | | var isOpen:Bool = false |
| | | var type = 0 // 1:图片 2:音频 |
| | | //游戏类型2专用 |
| | | var isOpen:Bool = false |
| | | var type = 0 // 1:图片 2:音频 |
| | | } |
| | | |
| | | struct PromptVoiceModel:HandyJSON{ |
| | | var correct: String = "" |
| | | var createBy: String = "" |
| | | var createTime: String = "" |
| | | var disabled: Bool = false |
| | | var error: String = "" |
| | | var id: Int = 0 |
| | | var img: String = "" |
| | | var integral: String = "" |
| | | var integralShare: String = "" |
| | | var phone: String = "" |
| | | var time: String = "" |
| | | var title: String = "" |
| | | var updateBy: String = "" |
| | | var updateTime: String = "" |
| | | var correct: String = "" |
| | | var createBy: String = "" |
| | | var createTime: String = "" |
| | | var disabled: Bool = false |
| | | var error: String = "" |
| | | var id: Int = 0 |
| | | var img: String = "" |
| | | var integral: String = "" |
| | | var integralShare: String = "" |
| | | var phone: String = "" |
| | | var time: String = "" |
| | | var title: String = "" |
| | | var updateBy: String = "" |
| | | var updateTime: String = "" |
| | | } |
| | | |
| | | struct ShareInfoModel:HandyJSON{ |
| | | var title = "" |
| | | var phone = "" |
| | | var img = "" |
| | | } |
| | | |
| | | struct VIPInfoModel:HandyJSON{ |
| | | var id = 0 |
| | | var info = "" |
| | | var isVip = 0 |
| | | var time = 0 |
| | | var amount = 0 |
| | | } |
| | | |
| | | struct PaymentInfoModel:HandyJSON{ |
| | | var id = 0 |
| | | var orderId = 0 |
| | | } |