//
|
// Model.swift
|
// XQMuse
|
//
|
// Created by 无故事王国 on 2024/9/4.
|
//
|
|
import HandyJSON
|
import UserDefaultsStore
|
|
struct UserDefaultSettingModel:HandyJSON,Identifiable,Codable {
|
static let idKey = \UserDefaultSettingModel.id
|
var id = 0
|
var volume:Double = 0.5
|
var bgm:BGMModel?
|
var playModel:PlayMode = .line
|
|
var userFirstOpenTreeTask = true //第一次打开树苗
|
}
|
|
|
struct LoginUserInfoModel:HandyJSON,Identifiable,Codable{
|
|
static let idKey = \LoginUserInfoModel.userid
|
|
var accessToken: String = ""
|
var appUserId: Int = 0
|
var bindStatus: Int = 0
|
var cellPhone: String = ""
|
var expireIn: Int = 0
|
var expireTime: Int = 0
|
var ipaddr: String = ""
|
var loginTime: Int = 0
|
var token: String = ""
|
var userid: Int = 0
|
var username: String = ""
|
}
|
|
|
struct HtmlModel:HandyJSON{
|
var content: String = ""
|
var contentType:AgreementType = .none
|
var id: Int = 0
|
}
|
|
|
struct VerifiyForgotPwdModel:HandyJSON{
|
var secret:String = ""
|
var successFlag:Bool = false
|
}
|
|
struct BGMModel:HandyJSON,Identifiable,Codable{
|
static let idKey = \BGMModel.id
|
|
var audioFile: String = ""
|
var audioFileName: String = ""
|
var id: Int = 0
|
var imageUrl: String = ""
|
}
|
|
struct ItemTypeModel:HandyJSON{
|
var categoryName = ""
|
var description = ""
|
var id = 0
|
var firstIconUrl = "" //icon图片 用于顶部四个分类展示
|
var secondIconUrl = "" //icon图片 用于下面的三个分类展示
|
var showType = 0 //展示方式 1=横版 2=竖版
|
}
|
|
struct ToDayMeditationModel:HandyJSON{
|
var clientMeditationVO: MeditationModel?
|
var endPlayTime: String = ""
|
var id: Int = 0
|
var imageUrl: String = ""
|
var meditationId: Int = 0
|
var startPlayTime: String = ""
|
}
|
|
struct MeditationListModel:HandyJSON{
|
var clientMeditationCategoryVO:MeditationTitleModel?
|
var clientMeditationVOList = [MeditationModel]()
|
}
|
|
struct MeditationTitleModel:HandyJSON{
|
var categoryName: String = ""
|
var description: String = ""
|
var firstIconUrl: String = ""
|
var id: Int = 0
|
var secondIconUrl: String = ""
|
var showType: DisplayType = .horizontal
|
}
|
|
struct MeditationModel:HandyJSON{
|
var backgroundUrl: String = ""
|
var cateId: Int = 0
|
var chargeType:ChargeType = .free
|
var paidStatus:ConditionType = .no
|
var coverDescription: String = ""
|
var coverUrl: String = ""
|
var detailDescription: String = ""
|
var favoriteCount: Int = 0
|
var generalPrice: Int = 0
|
var iconUrl: String = ""
|
var id: Int = 0
|
var questionCount:Int = 0
|
var iosPrice: Int = 0
|
var listingStatus: Int = 0
|
var meditationTitle: String = ""
|
var realLearnedNum: Int = 0
|
var sanskrit: Int = 0
|
var sortNum: Int = 0
|
var tutorAudioUrl: String = ""
|
var virtualLearnedNum: Int = 0
|
var favorite:ConditionType = .no // 是否收藏:1:是 2:否
|
}
|
|
struct CommentModel:HandyJSON{
|
var appUserId: Int = 0
|
var avatar: String = ""
|
var content: String = ""
|
var id: Int = 0
|
var like: ConditionType = .no //是否点赞 1=是 2=否
|
var likeCount: Int = 0
|
var nickname: String = ""
|
var publishTime: String = ""
|
var replyContent: String = ""
|
var replyTime: String = ""
|
}
|
|
struct PavilionDetailModel:HandyJSON{
|
var address: String = ""
|
var addressDetail: String = ""
|
var briefIntroduction: String = ""
|
var businessHours: String = ""
|
var contactNumber: String = ""
|
var coverUrl: String = ""
|
var createBy: String = ""
|
var createTime: String = ""
|
var delFlag: Int = 0
|
var detailBannerUrl: String = ""
|
var distance: Double = 0
|
var hallName: String = ""
|
var id: Int = 0
|
var latitude: Int = 0
|
var listingStatus: Int = 0
|
var longitude: Int = 0
|
var sortNum: Int = 0
|
var updateBy: String = ""
|
var updateTime: String = ""
|
}
|
|
struct CategoryModel:HandyJSON{
|
var id = 0
|
var imageUrl = ""
|
var name = ""
|
}
|
|
struct CourseModel:HandyJSON{
|
var address:String = ""
|
var addressDetail:String = ""
|
var briefIntroduction:String = ""
|
var cateId: Int = 0
|
var chargeType: ChargeType = .free
|
var count: Int = 0
|
var courseTitle:String = ""
|
var courseType: DeliverStudyType = .online
|
var coverUrl:String = ""
|
var description:String = ""
|
var detailUrl:String = ""
|
var generalPrice: Double = 0
|
var headers = [String]()
|
var id: Int = 0
|
var iosPrice: Int = 0
|
var isBuy: ConditionType = .no
|
var isVip: ConditionType = .no
|
var latitude: Int = 0
|
var listingStatus: Int = 0
|
var longitude: Int = 0
|
var recommend: Int = 0
|
var sortNum: Int = 0
|
var tutor:String = ""
|
var wxQrCode:String = ""
|
|
var list2 = [CourseModel]()
|
var list = [CourseItemModel]()
|
}
|
|
struct CourseItemModel:HandyJSON{
|
var chapterTitle:String = ""
|
var courseId: Int = 0
|
var createBy:String = ""
|
var createTime:String = ""
|
var delFlag: Int = 0
|
var duration: Int = 0
|
var id: Int = 0
|
var isOver: ConditionType = .yes
|
var minuteLook: Int = 0
|
var realLearnedNum: Int = 0
|
var secondLook: Int = 0
|
var sortNum: Int = 0
|
var updateBy:String = ""
|
var updateTime:String = ""
|
var videoUrl:String = ""
|
var virtualLearnedNum: Int = 0
|
}
|
|
|
struct UserInfoModel:HandyJSON,Identifiable,Codable{
|
|
static let idKey = \UserInfoModel.id
|
|
var appleId: String = ""
|
var avatar: String = ""
|
var balance: Int = 0
|
var birthday: String = ""
|
var cellPhone: String = ""
|
var company: String = ""
|
var createBy: String = ""
|
var createTime: String = ""
|
var delFlag: Int = 0
|
var education: String = ""
|
var email: String = ""
|
var freezingOperator: String = ""
|
var freezingReason: String = ""
|
var gender: Int = 0
|
var hometown: String = ""
|
var id: Int = 0
|
var income: Int = 0
|
var industry: String = ""
|
var inviteUserId: Int = 0
|
var isFirst: Int = 0
|
var levelSettingId: Int = 0
|
var location: String = ""
|
var logoutTime: String = ""
|
var nickname: String = ""
|
var occupation: String = ""
|
var registerTime: String = ""
|
var sanskritFlag: Int = 0
|
var signature: String = ""
|
var signTime: String = ""
|
var tagId: String = ""
|
var totalEnergyValue: Int = 0
|
var updateBy: String = ""
|
var updateTime: String = ""
|
var userId: Int = 0
|
var userStatus: Int = 0
|
var vipExpireTime: String = ""
|
var isVip:ConditionType = .no
|
var wxOpenId: String = ""
|
}
|
|
struct TutorInfoModel:HandyJSON{
|
var id = 0
|
var tutorIntroduction = ""
|
var coverUrl = ""
|
var videoUrl = ""
|
var list = [CourseModel]()
|
}
|
|
|
struct TreeInfoModel:HandyJSON,Identifiable,Codable{
|
|
static let idKey = \TreeInfoModel.id
|
|
var appUserId: Int = 0
|
var createBy: String = ""
|
var createTime: String = ""
|
var currentEnergyValue: Int = 0
|
var delFlag: Int = 0
|
var growthValue: Int = 0
|
var id: Int = 0
|
var isSign: ConditionType = .no
|
var nextLevel: Int = 0
|
var sowAgain: ConditionType = .no
|
var taskOne: ConditionType = .no
|
var taskTwo: ConditionType = .no
|
var treeLevelType: TreeLevel = .level_1
|
var updateBy: String = ""
|
var updateTime: String = ""
|
var status:ConditionType = .no //是否枯萎
|
}
|
|
struct WateringModel:HandyJSON{
|
var growthValue = 0
|
var nextLevel = 0
|
var isNext = false
|
var status = 0 //是否枯萎 1是2否(暂时不用)
|
}
|