/**
* @param channelNum 渠道号
* @param env 环境(appstore,企业,内侧)
*/
+ (void)startWithChannel:(int)channelNum Env:(RBAppEnv)env;
/**
* @param loginBlock 登陆回调
* @param registBlock 注册回调
* @param forgetBlock 忘记密码回调
*
*/
+ (void)userLoginWithBackBtnHidden:(BOOL)isHidden login:(nullable void(^)( RBUserModel * _Nullable userModel,NSError * _Nullable error))loginBlock Regist:(nullable void(^)(RBUserModel * _Nullable userModel,NSError * _Nullable error))registBlock Forget:(nullable void(^)(BOOL isSucceed,NSError * _Nullable error))forgetBlock;
/**
* @param completionBlock 注册结果回调
*
*/
+ (void)userRegist:(nullable void(^)(RBUserModel * _Nullable userModel,NSError * _Nullable error))completionBlock;
/**
* @param completionBlock 完成回调
*/
+ (void)userForgetPsd:(nullable void(^)(BOOL isSucceed,NSError * _Nullable error))completionBlock;
/**
* @param completionBlock 完成回调
*/
+ (void)userModifyAccount:(nullable void(^)(BOOL isSucceed,NSError * _Nullable error))completionBlock;
/**
* @param completionBlock 完成回调
*/
+ (void)userModifyPsd:(nullable void(^)(BOOL isSucceed,NSError * _Nullable error))completionBlock;
/**
注:管理员才能修改
@param userID 用户的ID
@param name 用户的名称
*/
+ (void)updateOthersUserID:(NSString *_Nonnull)userID name:(NSString *_Nonnull)name completionBlock:(nullable void (^)(BOOL isSucceed,NSError * _Nullable error)) completionBlock;
/**
@param name 名称
*/
+ (void)updateUserName:(NSString *_Nonnull)name completionBlock:(nullable void (^)(BOOL isSucceed,NSError * _Nullable error)) completionBlock;
###2.8上传用户头像
/**
* @param img 图片
* @param progressBlock 进度回调
* @param completionBlock 完成回调 response
*/
+ (void)uploadUserImg:(UIImage *_Nonnull)img progressBlock:(nullable void(^)(NSProgress * _Nullable progress))progressBlock completionBlock:(nullable void (^)(BOOL isSucceed,id response,NSError * _Nullable error))completionBlock;
/**
退出登录
*/
+ (void)logOut:(nullable void (^)(BOOL isSucceed,NSError * _Nullable error)) completionBlock;
* @param deviceID 设备 ID
* @param netType 网络类型
RBModifyNetType_ModifyNet:修改网络,
RBModifyNetType_BindDevice:绑定设备配网
+ (void)openVoiceConfigNetWithDeviceID:(NSString *_Nonnull) deviceID type:(RBModifyNetType)netType completionBlock:(nullable void (^)(BOOL isSucceed,NSError * _Nullable error)) completionBlock;
###3.2请将手机靠近布丁
+ (void)playNearPudding;
/**
* @param wifiName wifi 名称
* @param wifiPsd wifi 密码
*/
+ (void)playVoiceConfigNetFileWithWifiName:(NSString *_Nonnull)wifiName wifiPsd:(NSString * _Nonnull)wifiPsd;
/**
* @description 此接口会不断通过completionBlock 返回结果,调用此接口时需等待最后的回调,
当 result 为 success 或 failure 时表示此次调用结束。
* @param completionBlock 中的参数:
isSucceed: 绑定配网是否成功
error:错误信息
dict:result状态 -> wait 正在获取结果
-> failure 失败
-> success 成功
msg 详情描述
*
*/
+ (void)startGetVoiceConfigNetResultBlock:(nullable void (^)(BOOL isSucceed,NSDictionary *_Nullable dict,NSError *_Nullable error)) completionBlock;
/**
* @description 此接口会不断通过completionBlock 返回结果,调用此接口时需等待最后的回调,
当 result 为success 或failure 时表示此次调用结束。
* @param completionBlock 中的参数:
isSucceed: 修改网络是否成功
error:错误信息
dict:result状态 -> wait 正在获取结果
-> failure 失败
-> success 成功
msg 详情描述
*
*/
+ (void)startGetModifyNetResultBlock:(nullable void (^)(BOOL isSucceed,NSDictionary *_Nullable dict,NSError *_Nullable error))completionBlock;
/**
@param deviceID 设备ID
@param userID 用户的ID
*/
+ (void)changeManager:(NSString *_Nonnull)deviceID userID:(NSString *_Nonnull)userID completionBlock:(nullable void (^)(BOOL isSucceed, NSError *_Nullable error))completionBlock;
###4.2删除所绑定的设备
/**
@param deviceID 设备ID
*/
+ (void)deleteOwnDevice:(NSString *_Nonnull) deviceID completionBlock:(nullable void (^)(BOOL isSucceed,NSError * _Nullable error)) completionBlock;
/**
@param userPhone 用户的手机号码
*/
+ (void)addUser:(NSString *_Nonnull)userPhone deviceID:(NSString*_Nonnull)deviceID completionBlock:(nullable void (^)(id _Nullable response,NSError *_Nullable error)) completionBlock;
/**
@param userid 用户 id
*/
+ (void)deleteUser:(NSString *_Nonnull)userid deviceID:(NSString*_Nonnull)deviceID completionBlock:(nullable void (^)(id _Nullable response,NSError *_Nullable error)) completionBlock;
/**
获取当前用户的所有设备
*/
+ (void)fetchAllDevices:(nullable void(^)(NSArray <RBDeviceModel*>* _Nullable device,NSError * _Nullable error))completionBlock;
/**
@param deviceID 设备的ID数据
*/
+ (void)fetchHardwareInfo:(NSString*_Nonnull)deviceID completion:(nullable void(^)(RBHardware* _Nullable device,NSError * _Nullable error))completionBlock;
/**
@param deviceID 设备的ID
*/
+ (void)fetchDeviceDetail:(NSString *_Nonnull) deviceID completionBlock:(nullable void (^)(RBDevicesDetail * _Nullable detail,NSError *_Nullable error)) completionBlock;
/**
@param deviceID 设备ID
@param emojiType 表情ID
*/
+ (void)sendEmoji:(NSString *_Nonnull)deviceID emojiType:(RBEmojiType) emojiType completionBlock:(nullable void (^)(BOOL isSucceed,NSError *_Nullable error)) completionBlock;
/**
@param deviceID 设备ID
@param text 文字内容
*/
+ (void)sendTTS:(NSString *_Nonnull)deviceID content:(NSString *_Nonnull)text completionBlock:(nullable void (^)(BOOL isSucceed,NSError *_Nullable error)) completionBlock;
/**
旋转设备
@param deviceID 设备ID
@param angle 角度值
*/
+ (void)rotateDevice:(NSString *_Nonnull)deviceID angle:(float)angle completionBlock:(nullable void (^)(BOOL isSucceed,NSError * _Nullable error)) completionBlock;
/**
@param completionBlock isSucceed 重启是否成功 error 错误信息
*/
+ (void)restart:(NSString *_Nonnull) deviceID completionBlock:(nullable void (^)(BOOL isSucceed,NSError *_Nullable error)) completionBlock;
/**
@param deviceID 设备的ID
@param isOn 是否打开
*/
+ (void)switchSafetyState:(NSString* _Nonnull)deviceID isOn:(BOOL)isOn completionBlock:(nullable void (^)(BOOL isSucceed,NSError *_Nullable error)) completionBlock;
/**
@param deviceID 设备的ID
@param startTime 开始时间
@param endTime 结束时间
*/
+ (void)updateSafetyTime:(NSString*_Nonnull)deviceID startTime:(NSString * _Nonnull)startTime endTime:(NSString *_Nonnull)endTime completionBlock:(nullable void (^)(BOOL isSucceed,NSError *_Nullable error)) completionBlock;
/**
注:不管是设置时间段和设置夜间模式开关 都需要传送开始时间和结束时间
@param deviceID 设备ID
@param settingType 设置时间段和设置夜间模式开关
@param switchState 夜间模式的开关
@param startTime 开始时间 格式@"07:22"
@param endTime 结束时间 格式@"10:00"
*/
+(void)updateNightMode:(NSString *_Nonnull) deviceID nightSetting:(RBNightSetting)settingType switchState:(BOOL)switchState startTime:(NSString * _Nonnull)startTime endTime:(NSString *_Nonnull)endTime completionBlock:(nullable void (^)(BOOL isSucceed,NSError *_Nullable error)) completionBlock;
/**
@param deviceID 设备的ID
@param newName 新的名称
*/
+ (void)updateDeviceName:(NSString*_Nonnull)deviceID name:(NSString *_Nonnull)newName completionBlock:(nullable void (^)(BOOL isSucceed,NSError *_Nullable error)) completionBlock;
/**
@param deviceID 设备的ID
@param isOn 打开或者关闭
*/
+ (void)switchVideoConnetVoice:(NSString *_Nonnull) deviceID isOn:(BOOL) isOn completionBlock:(nullable void (^)(BOOL isSucceed,NSError *_Nullable error)) completionBlock;
/**
@param deviceID 设备的ID
@param voiceValue 音量值 最小值0 最大值100
*/
+ (void)updateVolume:(NSString *_Nonnull) deviceID voice:(float)voiceValue completionBlock:(nullable void (^)(BOOL isSucceed,NSError *_Nullable error)) completionBlock;
/**
@param deviceID 设备的id
@param soundName 字符串 NANNAN 或 ROOBO_BOY
*/
+ (void)updateSound:(NSString *_Nonnull ) deviceID soundName:(NSString* _Nonnull)soundName completionBlock:(nullable void (^)(BOOL isSucceed,NSError *_Nullable error)) completionBlock;
/**
* 获取 DIY 列表
* @param deviceId 设备 Id
* @param start 开始索引
* @param count 获取数量
*/
+ (void)getDiyListWith:(NSString *_Nonnull)deviceId startNum:(int)start count:(int)count completionBlock:(nullable void (^)(id response,NSError *_Nullable error)) completionBlock;
/**
* 修改(增加) DIY 问答
* @param deviceId 设备 ID
* @param qid 问题 ID
* @param question 问题
* @param response 答案
*/
+ (void)updateDiyWithDeviceId:(NSString*_Nonnull)deviceId QuestionId:(NSNumber * _Nullable)qid question:(NSString *_Nonnull)question response:(NSString *_Nonnull)response completionBlock:(nullable void (^)(id response, NSError * _Nullable))completionBlock;
/**
@param deviceId 设备 ID
@param ids 问题id数组
@param completionBlock error -345: 已存在相同的问答
*/
+ (void)deleteDiyWithDeviceId:(NSString *)deviceId Ids:(NSArray *)ids completionBlock:(void (^)(BOOL, NSError * _Nullable))completionBlock;
/**
@param deviceId 设备 ID
*/
+(void )fetchTTSListWithDeviceId:(NSString *)deviceId completionBlock:(void (^)(id _Nullable response, NSError * _Nullable))completionBlock;
/**
@param deviceId 设备 ID
*/
+ (void )fetchHabitListWithDeviceId:(NSString *)deviceId completionBlock:(void (^)(id _Nullable response, NSError * _Nullable))completionBlock;
###8.6获取tts趣味列表
/**
注:每次请求返回的数据都存在不一样 随机返回
@param deviceId 设备 ID
@param pageZize 每次请求返回的数量
*/
+ (void)fetchFunnyListWithDeviceId:(NSString *)deviceId pageSize:(NSInteger) pageZize completionBlock:(void (^)(id response, NSError * _Nullable))completionBlock ;
/**
@param fileURL 文件url 路径
@param deviceId 设备 ID
@param progressBlock 上传进度
@param completionBlock 上传结果
*/
+ (void)uploadFunnyVoiceFileURL:(NSURL *)fileURL deviceId:(NSString *)deviceId progressBlock:(void(^)(NSProgress *progress))progressBlock completionBlock:(void (^)(id _Nullable response, NSError * _Nullable))completionBlock;