# PuddingSDK **Repository Path**: roobospecs/puddingsdk ## Basic Information - **Project Name**: PuddingSDK - **Description**: No description available - **Primary Language**: Objective-C - **License**: BSD-2-Clause - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2017-04-21 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # RooboSDK 在podfile 顶部添加如下: ``` source 'https://git.oschina.net/roobospecs/roobospecs.git' source 'https://github.com/CocoaPods/Specs.git' ``` 在podfile 项目target添加: ``` pod ‘PuddingSDKFramework’ ``` ###1 RBAccessConfig.h 全局配置信息 ``` 渠道号码 @property(nonatomic,strong) NSNumber *channelNum; 打包环境 @property(nonatomic,assign) RBArchiveEnv archiveEnv; 开发环境 对应的服务器地址不一样 @property(nonatomic,assign) RBDevelopEnv developEnv; 服务器会给第三方 @property(nonatomic,assign) NSString* appID; 登录用户的id @property(nonatomic,strong) NSString *userID; 登录用户的accessToken @property(nonatomic,strong) NSString *accessToken; eg: RBAccessConfiger.developEnv = RBDevelopEnv_Test; RBAccessConfiger.userID = @"xxxxxxx"; RBAccessConfiger.accessToken = @"xxxxxx"; ``` ## 2.用户注册与登录 ### 2.1登陆 ``` /** * @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; ``` ### 2.2 注册 ``` /** * @param completionBlock 注册结果回调 * */ + (void)userRegist:(nullable void(^)(RBUserModel * _Nullable userModel,NSError * _Nullable error))completionBlock; ``` ### 2.3忘记密码 ``` /** * @param completionBlock 完成回调 */ + (void)userForgetPsd:(nullable void(^)(BOOL isSucceed,NSError * _Nullable error))completionBlock; ``` ### 2.4修改账号 ``` /** * @param completionBlock 完成回调 */ + (void)userModifyAccount:(nullable void(^)(BOOL isSucceed,NSError * _Nullable error))completionBlock; ``` ### 2.5修改密码 ``` /** * @param completionBlock 完成回调 */ + (void)userModifyPsd:(nullable void(^)(BOOL isSucceed,NSError * _Nullable error))completionBlock; ``` ### 2.6修改其他人的名称 ``` /** 注:管理员才能修改 @param userID 用户的ID @param name 用户的名称 */ + (void)updateOthersUserID:(NSString *_Nonnull)userID name:(NSString *_Nonnull)name completionBlock:(nullable void (^)(BOOL isSucceed,NSError * _Nullable error)) completionBlock; ``` ### 2.7更改用户昵称 ``` /** @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; ``` ### 2.9退出登录 ``` /** 退出登录 */ + (void)logOut:(nullable void (^)(BOOL isSucceed,NSError * _Nullable error)) completionBlock; ``` ## 3.配置网络 ### 3.1打开设备声波配网功能 ``` * @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; ``` ### 3.3播放声波配网文件 ``` /** * @param wifiName wifi 名称 * @param wifiPsd wifi 密码 */ + (void)playVoiceConfigNetFileWithWifiName:(NSString *_Nonnull)wifiName wifiPsd:(NSString * _Nonnull)wifiPsd; ``` ### 3.4 获取绑定配网结果 ``` /** * @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; ``` ### 3.5获取修改网络结果 ``` /** * @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; ``` ## 4设备权限 ### 4.1更改管理员 ``` /** @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; ``` ### 4.3添加其他用户到设备成员组里面 ``` /** @param userPhone 用户的手机号码 */ + (void)addUser:(NSString *_Nonnull)userPhone deviceID:(NSString*_Nonnull)deviceID completionBlock:(nullable void (^)(id _Nullable response,NSError *_Nullable error)) completionBlock; ``` ### 4.4从当前设备成员组中删除用户 ``` /** @param userid 用户 id */ + (void)deleteUser:(NSString *_Nonnull)userid deviceID:(NSString*_Nonnull)deviceID completionBlock:(nullable void (^)(id _Nullable response,NSError *_Nullable error)) completionBlock; ``` ## 5.设备信息 ### 5.1获取当前用户的所有设备 ``` /** 获取当前用户的所有设备 */ + (void)fetchAllDevices:(nullable void(^)(NSArray * _Nullable device,NSError * _Nullable error))completionBlock; ``` ### 5.2获取设备硬件信息 ``` /** @param deviceID 设备的ID数据 */ + (void)fetchHardwareInfo:(NSString*_Nonnull)deviceID completion:(nullable void(^)(RBHardware* _Nullable device,NSError * _Nullable error))completionBlock; ``` ### 5.3获取设备的信息 ``` /** @param deviceID 设备的ID */ + (void)fetchDeviceDetail:(NSString *_Nonnull) deviceID completionBlock:(nullable void (^)(RBDevicesDetail * _Nullable detail,NSError *_Nullable error)) completionBlock; ``` ## 6 设备操控 ### 6.1发送表情 ``` /** @param deviceID 设备ID @param emojiType 表情ID */ + (void)sendEmoji:(NSString *_Nonnull)deviceID emojiType:(RBEmojiType) emojiType completionBlock:(nullable void (^)(BOOL isSucceed,NSError *_Nullable error)) completionBlock; ``` ### 6.2发送文本内容 ``` /** @param deviceID 设备ID @param text 文字内容 */ + (void)sendTTS:(NSString *_Nonnull)deviceID content:(NSString *_Nonnull)text completionBlock:(nullable void (^)(BOOL isSucceed,NSError *_Nullable error)) completionBlock; ``` ### 6.3旋转设备 ``` /** 旋转设备 @param deviceID 设备ID @param angle 角度值 */ + (void)rotateDevice:(NSString *_Nonnull)deviceID angle:(float)angle completionBlock:(nullable void (^)(BOOL isSucceed,NSError * _Nullable error)) completionBlock; ``` ### 6.4重启设备 ``` /** @param completionBlock isSucceed 重启是否成功 error 错误信息 */ + (void)restart:(NSString *_Nonnull) deviceID completionBlock:(nullable void (^)(BOOL isSucceed,NSError *_Nullable error)) completionBlock; ``` ### 6.5开启安全防护 ``` /** @param deviceID 设备的ID @param isOn 是否打开 */ + (void)switchSafetyState:(NSString* _Nonnull)deviceID isOn:(BOOL)isOn completionBlock:(nullable void (^)(BOOL isSucceed,NSError *_Nullable error)) completionBlock; ``` ### 6.6修改设备的安防时间段 ``` /** @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; ``` ### 6.7设置夜间模式开关 ``` /** 注:不管是设置时间段和设置夜间模式开关 都需要传送开始时间和结束时间 @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; ``` ## 7.设备设置 ### 7.1修改设备的名称 ``` /** @param deviceID 设备的ID @param newName 新的名称 */ + (void)updateDeviceName:(NSString*_Nonnull)deviceID name:(NSString *_Nonnull)newName completionBlock:(nullable void (^)(BOOL isSucceed,NSError *_Nullable error)) completionBlock; ``` ### 7.2进入视频连接成功的声音开关 ``` /** @param deviceID 设备的ID @param isOn 打开或者关闭 */ + (void)switchVideoConnetVoice:(NSString *_Nonnull) deviceID isOn:(BOOL) isOn completionBlock:(nullable void (^)(BOOL isSucceed,NSError *_Nullable error)) completionBlock; ``` ### 7.3修改设备音量 ``` /** @param deviceID 设备的ID @param voiceValue 音量值 最小值0 最大值100 */ + (void)updateVolume:(NSString *_Nonnull) deviceID voice:(float)voiceValue completionBlock:(nullable void (^)(BOOL isSucceed,NSError *_Nullable error)) completionBlock; ``` ### 7.4修改设备的声音音色类型 ``` /** @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; ``` ## 8设备语音 ### 8.1获取 DIY 列表 ``` /** * 获取 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; ``` ### 8.2修改(增加) DIY 问答 ``` /** * 修改(增加) 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; ``` ### 8.3删除 DIY 问答 ``` /** @param deviceId 设备 ID @param ids 问题id数组 @param completionBlock error -345: 已存在相同的问答 */ + (void)deleteDiyWithDeviceId:(NSString *)deviceId Ids:(NSArray *)ids completionBlock:(void (^)(BOOL, NSError * _Nullable))completionBlock; ``` ### 8.4获取tts推荐数据 ``` /** @param deviceId 设备 ID */ +(void )fetchTTSListWithDeviceId:(NSString *)deviceId completionBlock:(void (^)(id _Nullable response, NSError * _Nullable))completionBlock; ``` ### 8.5获取tts习惯列表 ``` /** @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 ; ``` ### 8.7上传趣味变声文件 ``` /** @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; ```