GizScheduler 类
定时任务对象类,为开发者提供定时任务构造接口,以及定时任务所属属性
目录
属性访问
[schedulerId]
定时任务id, 唯一标识一个定时任务,只读属性,只能从云端获取
定义
@property (nonatomic, copy, readonly) NSString *schedulerId;
[productKey]
定时任务属于设备的产品pk,只读属性
定义
@property (nonatomic, copy, readonly) NSString *productKey;
[createdTime]
定时任务创建时间,只读属性
定义
@property (nonatomic, copy, readonly) NSDate *createdTime;
[did]
定时任务所属设备id, 必传
定义
@property (nonatomic, copy) NSString *did;
[type]
标识定时任务的类型:分别有一次性定时任务、按周重复定时任务、按天重复定时任务
定义
@property (nonatomic, assign) GizSchedulerType type;
[attrs]
定时任务要执行的控制指令,格式:{数据点名称: 数据点值},请注意不支持透传数据。此参数不能填nil或空字典
定义
@property (nonatomic, strong) NSDictionary <NSString *, NSObject *>*attrs;
[date]
定时任务执行日期,格式为: xxxx-xx-xx 例如:1990-01-03, 只对一次性定时任务产生作用,即type = GizSchedulerOneTime
定义
@property (nonatomic, strong) NSString *date;
[time]
定时任务执行时间, 24小时制,格式为: xx:xx 例如:02:00,此参数不能填nil或空串,必须符合约定格式,否则无法在云端创建定时任务
定义
@property (nonatomic, copy) NSString *time;
[weekDays]
GizScheduleWeekday数组, 按周重复的定时任务此字段才产生作用,即type = GizSchedulerWeekRepeat。用于表示每周的某几天执行此任务
定义
@property (nonatomic, strong) NSArray <NSNumber *> *weekDays;
[monthDays]
按天重复,表示每月的某几天执行此任务。 type = GizSchedulerDayRepeat时该字段才产生作用
定义
@property (nonatomic, strong) NSArray <NSNumber *> *monthDays;
[startDate]
定时任务有效期的开始日期,该天0点开始,格式xxxx-xx-xx,如1990-01-03
定义
@property (nonatomic, strong) NSString *startDate;
[endDate]
定时任务有效期的结束日期,该天24点结束,格式xxxx-xx-xx,如1990-01-03
定义
@property (nonatomic, strong) NSString *endDate;
[enabled]
表示定时任务是否启用,若设为false,到了任务执行时间也不会触发任务的执行
定义
@property (nonatomic, assign) BOOL enabled;
[remark]
定时任务备注信息
定义
@property (nonatomic, copy) NSString *remark;
API定义
[schedulerOneTime]
GizScheduler构造函数,用于创建一次性定时任务
定义
+ (instancetype _Nullable)schedulerOneTime:(NSString * _Nonnull)did attrs:(NSDictionary <NSString *, NSObject *>* _Nonnull)attrs date:(NSString * _Nonnull)date time:(NSString * _Nonnull)time enabled:(BOOL)enabled remark:(NSString * _Nullable)remark;
参数
属性名 | 描述 |
---|---|
did | 要创建定时任务的设备did |
attrs | 定时任务要执行的控制指令,格式:{数据点名称: 数据点值}。此参数不能填nil或空字典 |
date | 定时任务的预设日期,格式形如:1990-10-03。定时任务将在预设日期这一天到达时执行。此参数不能填nil或空串,如果填写了过去日期或者不符合约定格式,无法在云端创建定时任务 |
time | 定时任务的预设时间,24小时制,格式形如:07:08。定时任务将在预设时间到达时执行。此参数不能填nil或空串,必须符合约定格式,否则无法在云端创建定时任务 |
enabled | 定时任务是否开启。true表示开启,false表示不开启 |
remark | 定时任务备注信息。此参数可选填,可填nil |
代码示例
NSDictionary *attr = @{}; //传入你的控制指令
NSString *time = @"02:00";
NSString *date = @"2020-10-03";
NSNumber *enable = @(YES);
GizScheduler *schduler = [GizScheduler schedulerOneTime:@"your_device_did" attrs:attr date:date time:time enabled:enable.boolValue remark:nil];
[schedulerWeekRepeat]
GizScheduler构造函数,用于创建按周重复定时任务
定义
+ (instancetype _Nullable)schedulerWeekRepeat:(NSString * _Nonnull)did attrs:(NSDictionary <NSString *, NSObject *>* _Nonnull)attrs time:(NSString * _Nonnull)time weekDays:(NSArray <NSNumber *>* _Nonnull)weekDays enabled:(BOOL)enabled remark:(NSString * _Nullable)remark;
参数
属性名 | 描述 |
---|---|
did | 要创建定时任务的设备did |
attrs | 定时任务要执行的控制指令,格式:{数据点名称: 数据点值},请注意不支持透传数据。此参数不能为nil或空字典 |
time | 定时任务的预设时间,24小时制,格式形如:07:08。此参数不能填nil或空串,必须符合约定格式,否则无法在云端创建定时任务。定时任务将在预设时间到达时执行 |
weekDays | 按周重复,GizScheduleWeekday数组。定时任务可以预设为每周的某几天重复执行。此参数不能填nil或空数组,数组中重复的值会被合并,无效值会被滤除,如果滤除后数组大小为0按空数组处理 |
enabled | 定时任务是否开启。true表示开启,false表示不开启 |
remark | 定时任务备注信息。此参数可选填,可填nil |
代码示例
NSDictionary *attr = @{}; //传入你的控制指令
NSString *time = @"02:00";
NSNumber *enable = @(YES);
NSArray *weekDays = @[@(GizScheduleSunday), @(GizScheduleWednesday), @(GizScheduleFriday)];
GizScheduler *schduler = [GizScheduler schedulerWeekRepeat:@"your_scheduler_did" attrs:attr time:time weekDays:weekDays enabled:enable.boolValue remark:nil];
[schedulerDayRepeat]
GizScheduler构造函数,用于创建按天重复定时任务
定义
+ (instancetype _Nullable)schedulerDayRepeat:(NSString * _Nonnull)did attrs:(NSDictionary <NSString *, NSObject *>* _Nonnull)attrs time:(NSString * _Nonnull)time monthDays:(NSArray <NSNumber *>* _Nonnull)monthDays enabled:(BOOL)enabled remark:(NSString * _Nullable)remark;
参数
属性名 | 描述 |
---|---|
did | 要创建定时任务的设备did |
attrs | 定时任务要执行的控制指令,格式:{数据点名称: 数据点值},请注意不支持透传数据。此参数不能为nil或空字典 |
time | 定时任务的预设时间,24小时制,格式形如:07:08。此参数不能填nil或空串,必须符合约定格式,否则无法创建定时任务。定时任务将在预设时间到达时执行 |
monthDays | 按天重复,GizScheduleWeekday数组。定时任务可以预设为每周的某几天重复执行。此参数不能填nil或空数组,数组中重复的值会被合并,无效值会被滤除,如果滤除后数组大小为0按空数组处理理 |
enabled | 定时任务是否开启。true表示开启,false表示不开启 |
remark | 定时任务备注信息。此参数可选填,可传nil |
代码示例
NSDictionary *attr = @{}; //传入你的控制指令
NSString *time = @"02:00";
NSNumber *enable = @(YES);
NSArray *monthDays = @[@(1), @(30)];
GizScheduler *schduler = [GizScheduler schedulerDayRepeat:@"your_schduler_did" attrs:attr time:time monthDays:monthDays enabled:enable.boolValue remark:nil];