123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361 |
- //
- // ChildModel.h
- // Artimenring
- //
- // Created by BaH Cy on 14/12/19.
- // Copyright (c) 2014年 BaH Cy. All rights reserved.
- //
- #import <CoreLocation/CLLocation.h>
- #import "EDefines.h"
- #import <UIKit/UIKit.h>
- @interface BaseModel : NSObject<NSCopying, NSMutableCopying>
- + (BOOL)isnull:(NSString*)value;
- + (void)replaceObject:(NSMutableArray*)array oldObject:(id)oldObject newObject:(id)newObject;
- @end
- @interface BaseWeatherModel : BaseModel
- //@property(nonatomic, copy) NSString* cityId;
- //@property(nonatomic, copy) NSString* myTextCode; //自定义气象Code
- @property(nonatomic, copy) NSString* textCode; //原始气象Code
- @property(nonatomic, assign) NSInteger high;
- @property(nonatomic, assign) NSInteger low;
- @property(nonatomic, assign) NSInteger now;
- @property(nonatomic, assign) NSInteger air; //空气质量
- @end
- @interface BaseCoordinatesModel : BaseModel
- @property(nonatomic, copy) NSString* cid;
- @property(nonatomic, copy) NSString* latitude; //经度
- @property(nonatomic, copy) NSString* longitude; //纬度
- @property(nonatomic, copy) NSString* type; //定位类型 //AMAP、GPS
- @property(nonatomic, copy) NSString* locaType; //同type字段 //定位类型 //AMAP、GPS
- @property(nonatomic, assign) NSInteger pointType; //点位类型,8:未知,1:GPS 2:WIFI 3:基站定位
- @property(nonatomic, assign) NSInteger radius; //精度
- @property(nonatomic, assign) NSInteger positionTime;
- @property(nonatomic, copy) NSString* address; //地址
- @property(nonatomic, copy) NSString* adressPoint; //地址
- - (BOOL)isCoordinatesValid;
- - (CLLocationCoordinate2D)getCoordinates;
- - (void)setCoordinates:(double)lat lng:(double)lng;
- - (void)setCoordinates:(CLLocationCoordinate2D)coordinates;
- @end
- @interface BaseAvatarModel : BaseModel
- @property(nonatomic, copy) NSString* avatar;
- @property(nonatomic, copy) NSString* avatarUrl;
- @property(nonatomic, copy) NSString* avatarHttp;
- @property(nonatomic, assign) NSInteger avatarLocal;
- - (NSString*)getAvatarLocalName;
- - (NSString*)joinServerAvatar;
- @end
- @interface BaseRepeatsModel : BaseModel
- @property(nonatomic, assign) NSInteger onceTime;
- @property(nonatomic, copy) NSString* repeats; //重复天 eg: "1000000"周一开启; "1111100"工作日开启
- - (BOOL)getRepeatStatus:(NSInteger)index;
- - (void)setRepeatStatus:(NSInteger)index value:(NSString*)value;
- - (void)flipRepeatStatus:(NSInteger)index;
- - (NSInteger)getRepeatMode;
- - (BOOL)isSelectOne;
- - (NSString*)getRepeatString;
- @end
- @interface CloudMatchModel : BaseModel
- @property(nonatomic, assign) BOOL videoCall; //是否支持视频通话
- @property(nonatomic, assign) BOOL chat; //是否支持语聊
- @property(nonatomic, assign) BOOL chatMore; //是否支持更多操作
- @property(nonatomic, assign) BOOL chatEmoji; //是否支持表情
- @property(nonatomic, assign) BOOL chatImage; //是否支持图片
- @property(nonatomic, assign) BOOL chatVideo; //是否支持视频
- @property(nonatomic, assign) BOOL monitor; //是否支持监听
- @property(nonatomic, assign) BOOL shortNum; //是否支持短号
- @property(nonatomic, assign) BOOL callCharge; //是否支持话费查询
- @property(nonatomic, assign) BOOL callRecord; //是否支持通话记录
- @property(nonatomic, assign) BOOL watchSMS; //是否支持代收短信
- @property(nonatomic, assign) BOOL electricityMode; //是否支持省电模式
- @property(nonatomic, assign) BOOL flowControl; //是否支持流量控制
- @property(nonatomic, assign) BOOL flowQuery; //是否支持流量查询
- @property(nonatomic, assign) BOOL eyeCare; //是否支持护眼模式
- @property(nonatomic, assign) BOOL wifi; //是否支持Wi-Fi
- @property(nonatomic, assign) BOOL autoOnOff; //是否支持自动开关机
- @property(nonatomic, assign) BOOL function; //是否支持手表加减功能
- @property(nonatomic, assign) BOOL strangerIntercept; //是否支持陌生人拦截
- @property(nonatomic, assign) BOOL eventReminder; //是否支持事件提醒
- @property(nonatomic, assign) BOOL magicAcademy; //是否支持魔法学院
- @property(nonatomic, assign) BOOL redFlower; //是否支持红花
- @property(nonatomic, assign) BOOL update; //是否支持更新
- @property(nonatomic, assign) BOOL autoUpdate; //是否支持自动更新
- @property(nonatomic, assign) BOOL strongTrack; //是否支持强追踪
- @property(nonatomic, assign) BOOL autoLocation; //是否支持主动定位
- @property(nonatomic, assign) BOOL sendLocation; //是否支持发送定位,电信需求
- @property(nonatomic, assign) BOOL moveType; //是否支持动静判断
- @property(nonatomic, assign) BOOL holiday; //是否支持法定节假日
- @property(nonatomic, assign) BOOL clock; //是否支持闹钟
- @property(nonatomic, assign) BOOL clockOnce; //是否支持闹钟响一次
- @property(nonatomic, assign) NSInteger clockMax; //是否支持闹钟响一次
- @property(nonatomic, assign) BOOL apn; //是否支持Apn
- @property(nonatomic, assign) BOOL traceUploadSwitch; //单点多点轨迹是否上报开关[0-false-关 1-true-开]//
- @property(nonatomic, assign) NSInteger chatVoiceMax; //语音时长
- @property(nonatomic, assign) NSInteger historyPathMax; //历史轨迹显示天数
- @end
- /*! @class 用户登录 */
- @interface LogInModel : BaseModel
- @property(nonatomic, copy) NSString* token;
- @property(nonatomic, copy) NSString* uid;
- @property(nonatomic, copy) NSString* email;
- @property(nonatomic, copy) NSString* areaCode;
- @property(nonatomic, copy) NSString* phoneNumber;
- @end
- @interface DeviceModel : BaseModel
- typedef enum : NSUInteger {
- VIDEO_TYPE_NULL,
- VIDEO_TYPE_JUPHOON,
- VIDEO_TYPE_AGORA,
- } VIDEO_TYPE;
- @property(nonatomic, copy) NSString* ticket;
- @property(nonatomic, assign) NSInteger did;
- @property(nonatomic, assign) NSInteger signal;
- @property(nonatomic, assign) NSInteger signalMax;
- @property(nonatomic, assign) NSInteger battery;
- @property(nonatomic, assign) NSInteger startup; //开关机状态
- @property(nonatomic, copy) NSString* version;
- @property(nonatomic, copy) NSString* model;
- @property(nonatomic, assign) VIDEO_TYPE videoType; //选择哪家视频通话
- @property(nonatomic, copy) CloudMatchModel* match;
- - (BOOL)isBind;
- @end
- @interface ChildModel : BaseAvatarModel
- @property(nonatomic, copy) NSString* cid;
- @property(nonatomic, copy) NSString* areaCode;
- @property(nonatomic, copy) NSString* phoneNumber;
- @property(nonatomic, copy) NSString* name;
- @property(nonatomic, copy) NSString* appellation;
- @property(nonatomic, copy) NSString* birthday;
- @property(nonatomic, assign) NSInteger gender; //2:男 3:女
- @property(nonatomic, assign) NSInteger weight;
- @property(nonatomic, assign) NSInteger height;
- @property(nonatomic, assign) NSInteger stepCount; //计步
- @property(nonatomic, assign) NSInteger role;
- @property(nonatomic, copy) DeviceModel* device;
- @property(nonatomic, copy) BaseCoordinatesModel* lastLocation;
- @property(nonatomic, copy) BaseWeatherModel* weather;
- - (BOOL)isChildSelected:(NSString*)cid;
- @end
- //成员
- @interface ContactModel : BaseAvatarModel
- #define ROLE_ADMIN 1
- #define CONTACT_TYPE_WATCH 0
- #define CONTACT_TYPE_APP 1
- #define CONTACT_RELATION_LOCAL @"ids://local_"
- @property(nonatomic, assign) NSInteger ctid;
- @property(nonatomic, copy) NSString* refId;
- @property(nonatomic, copy) NSString* appellation;
- @property(nonatomic, copy) NSString* areaCode;
- @property(nonatomic, copy) NSString* phoneNumber;
- @property(nonatomic, assign) NSInteger role; //0:超级管理员 1:管理员 2:家人 3:朋友 4:其他人 5:小孩
- @property(nonatomic, assign) NSInteger type; //CONTACT_TYPE_APP:来源为手机app; CONTACT_TYPE_WATCH:来源为手表
- @end
- @interface ContactListModel : BaseModel
- @property(nonatomic, strong) NSMutableArray<ContactModel*>* persons;
- - (NSMutableArray<ContactModel*>*)getFamilys;
- - (NSMutableArray<ContactModel*>*)getFriends;
- @end
- @interface FenceModel : BaseCoordinatesModel
- #define FENCE_CATEGORY_SCHOOL @"school"
- #define FENCE_CATEGORY_FAMILY @"family"
- #define FENCE_CATEGORY_CUSTOM @"custom"
- @property(nonatomic, assign) NSInteger fid;
- @property(nonatomic, copy) NSString* fenceName; //围栏名称
- @property(nonatomic, assign) NSInteger fenceType; //围栏类型 1:安全 2:危险
- @property(nonatomic, assign) NSInteger range; //圆半径
- @property(nonatomic, assign) NSInteger state; //开关
- @property(nonatomic, copy) NSString* category; //围栏类别,1学校,2家 3自定义
- @property(nonatomic, assign) NSInteger coordinateType; //坐标体系类型 1:WGS84 2:火星坐标系
- @end
- @interface FenceListModel : BaseModel
- @property(nonatomic, assign) NSInteger totalSwitch; //开关
- @property(nonatomic, strong) NSMutableArray<FenceModel*>* fences;
- @end
- /** 历史轨迹 */
- @interface HistoryPathModel : BaseCoordinatesModel
- @end
- @interface StrangerInterceptModel : BaseModel
- @property(nonatomic, assign) NSInteger isEnable;
- @end
- @interface SchoolTimeModel : BaseRepeatsModel
- @property(nonatomic, assign) NSInteger sdid;
- @property(nonatomic, copy) NSString* startTime;
- @property(nonatomic, copy) NSString* endTime;
- @property(nonatomic, assign) NSInteger status;
- @property(nonatomic, assign) NSInteger holidaysFlag;
- @end
- @interface AlarmClockModel : BaseRepeatsModel
- @property(nonatomic, assign) NSInteger acid;
- @property(nonatomic, copy) NSString* label;
- @property(nonatomic, copy) NSString* time; //HH:mm
- @property(nonatomic, assign) NSInteger status;
- @property(nonatomic, assign) NSInteger holidaysFlag;
- @end
- @interface ApnModel : BaseModel
- @property(nonatomic, copy) NSString* apn;
- @property(nonatomic, copy) NSString* username;
- @property(nonatomic, copy) NSString* password;
- @property(nonatomic, assign) NSInteger mcc;
- @property(nonatomic, assign) NSInteger mnc;
- @property(nonatomic, assign) NSInteger iptype;
- @property(nonatomic, assign) NSInteger authtype;
- @end
- @interface CallRecordModel : BaseModel
- @property(nonatomic, copy) NSString* callName;
- @property(nonatomic, copy) NSString* callNumber;
- @property(nonatomic, assign) NSInteger callTime;
- @property(nonatomic, assign) NSInteger callDuration;
- @property(nonatomic, assign) NSInteger callType;
- @property(nonatomic, assign) NSInteger callStatus;
- @end
- @interface PushMessageParamsModel : BaseModel
- @property(nonatomic, copy) NSString* name;
- @property(nonatomic, copy) NSString* friendName;
- @property(nonatomic, assign) NSInteger num;
- @property(nonatomic, assign) NSInteger fenceType; //围栏类型 1:安全 2:危险
- @property(nonatomic, copy) NSString* fenceName; //围栏名称
- @property(nonatomic, copy) NSString* time; //围栏时间
- @property(nonatomic, assign) NSInteger status; //开关机 1:关机 2:开机
- @end
- @interface PushMessageModel : BaseModel
- @property(nonatomic, copy) NSString* cid;
- @property(nonatomic, assign) NSInteger type; //10:低电 20:电子围栏 30:通讯录 40:开关机 50:系统升级 60:手表高温 70:天气预警
- @property(nonatomic, assign) double create_time;
- @property(nonatomic, strong) PushMessageParamsModel* params;
- @property(nonatomic, strong) ChildModel* childModel;
- - (NSString*)getMessage;
- @end
- @interface RealPositionModel : BaseModel
- @property(nonatomic, copy) NSString* cid;
- @property(nonatomic, assign) NSInteger did;
- @property(nonatomic, assign) NSInteger toggle; //0:定位一次 1:定位5分钟
- @property(nonatomic, assign) NSInteger startTime;
- @property(nonatomic, assign) NSInteger costTime;
- @property(nonatomic, assign) NSInteger timeout;
- @property(nonatomic, assign) NSInteger status;
- @end
- //会话中的成员
- @interface SessionMemberModel : BaseAvatarModel
- @property(nonatomic, copy) NSString* refId;
- @property(nonatomic, copy) NSString* name;
- @property(nonatomic, copy) NSString* role;
- @property(nonatomic, assign) NSInteger refType;
- @end
- @interface SessionMessagePayloadModel : BaseModel
- @property(nonatomic, copy) NSString* raw;
- @property(nonatomic, copy) NSString* eid;
- @property(nonatomic, copy) NSString* fileUrl;
- @property(nonatomic, copy) NSString* fileType;
- @property(nonatomic, assign) NSInteger duration; //语言时长
- @end
- @interface SessionMessageModel : BaseModel
- @property(nonatomic, assign) NSInteger msgId; //消息id
- @property(nonatomic, assign) NSInteger msgType; //消息类型
- @property(nonatomic, copy) NSString* sendId;
- @property(nonatomic, copy) NSString* recvId;
- @property(nonatomic, assign) double sendTime;
- @property(nonatomic, assign) BOOL isGroup;
- @property(nonatomic, assign) NSInteger read; //是否已读 N: 未读 Y: 已读
- @property(nonatomic, assign) NSInteger received; //是否收到
- @property(nonatomic, copy) NSString* requestId; //custom
- @property(nonatomic, copy) SessionMessagePayloadModel* content;
- @end
- //某个会话
- @interface SessionModel : BaseAvatarModel
- @property(nonatomic, copy) NSString* sid;
- @property(nonatomic, copy) NSString* cid;
- @property(nonatomic, copy) NSString* name;
- @property(nonatomic, assign) NSInteger isGroup;
- @property(nonatomic, assign) NSInteger unreadCount;
- @property(nonatomic, assign) NSInteger unreadOldMsgId;
- @property(nonatomic, strong) NSMutableArray<SessionMemberModel*>* members;
- - (NSInteger)getSessionType;
- - (NSString*)getChildId;
- - (SessionMemberModel*)getChildMember;
- - (NSArray<SessionMemberModel*>*)getMembers;
- - (NSArray*)getMembersAvatars;
- @end
- @interface SocketModel : BaseModel
- @property(nonatomic, assign) NSInteger msgType;
- @property(nonatomic, assign) double sendTime;
- @property(nonatomic, copy) NSString* sendId;
- @property(nonatomic, copy) NSString* recvId;
- @property(nonatomic, copy) NSString* requestId;
- @property(nonatomic, copy) id content;
- @end
- @interface SocketPingPongModel : BaseModel
- @property(nonatomic, copy) NSString* raw;
- @end
- @interface SocketChatModel : SocketModel
- @property(nonatomic, copy) NSString* messageId;
- @property(nonatomic, copy) NSString* sessionId;
- @end
- @interface SocketVideoModel : BaseModel
- @property(nonatomic, copy) NSString* videoCallToken;
- @property(nonatomic, copy) NSString* roomId;
- @end
- @interface SocketCoordinatesModel : BaseCoordinatesModel
- @property(nonatomic, copy) NSString* lon;
- @property(nonatomic, copy) NSString* lat;
- @end
-
- typedef NS_ENUM(NSInteger, EScheduleType) {
- EScheduleTypeCustom = 0,
- EScheduleTypeGetup = 1,
- EScheduleTypeSleep = 2,
- EScheduleTypeBirthday = 3,
- EScheduleTypeEnd
- };
- @interface ScheduleEventData : NSObject
- - (instancetype) initWithDict:(NSDictionary *) dict;
- @property(nonatomic, copy) NSString* mID; //创建Schedule的时间作为key
- @property(nonatomic, assign) long mTimeID;
- @property(nonatomic, assign) int mOperationType; //1-add,2-modify,3-delete
- @property(nonatomic, copy) NSString* mChildId;
- @property(nonatomic, strong) NSDate *time;
- @property(nonatomic) EScheduleType mType;
- @property(nonatomic, copy) NSString* mScheduleName;
- @property(nonatomic, assign) int advanceDay;
- @property(nonatomic, assign) int colorIndex;
- @property(nonatomic, strong) NSMutableDictionary *weekSetDic;
- - (BOOL)isRepeatedEvent;
- @end
|