# RToy_ZIB **Repository Path**: roobospecs/RToy_ZIB ## Basic Information - **Project Name**: RToy_ZIB - **Description**: No description available - **Primary Language**: Objective-C - **License**: BSD-2-Clause - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2017-08-18 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 机器人—iOS—SDK | 日期 | 版本 | 内容描述 | | ---------- | ----- | ---------------------------------------- | | 2017-12-20 | 1.5.0 | 完善sdk | | 2017-10-10 | 1.4.0 | 1获取播放历史
2 删除播放历史
3 获取收藏列表
4 取消收藏列表
5 增加收藏
6 资源搜索
7设备重启
8获取自定义专辑列表
9删除自定义专辑的资源
10上传宝宝头像
11获取聊天记录列表
12设置播放模式
13重置自定义专辑
14添加资源到自定义专辑
15增加获取配网结果
16 获取专辑详情
17 搜索增加专辑详情 | | 2017-09-20 | 1.3.0 | 完成SDK 功能需求点 | | 2017-09-08 | 1.2.0 | 完成SDK功能结构 | | 2017-09-08 | 1.2.0 | 完成SDK功能结构 | ## 1 综述 在podfile 顶部添加如下: ``` source 'https://git.oschina.net/roobospecs/roobospecs.git' source 'https://github.com/CocoaPods/Specs.git' ``` 在podfile 文件当前项目target添加: ``` pod 'RToy_ZIB' ``` sdk中主要涉及的类包括以下 | 类名 | 描述 | | :--------------- | :------------------------ | | RBAccessConfig.h | sdk配置类注:需要在调用SDKapi之前配置参数 | | RBUserApi.h | 用户管理api | | RBDeviceApi.h | 配置网络和设备管理api | | RBPlayerApi.h | 资源管理和播放api | ## 2 全局设置 #### 2.1 用户信息设置 | 属性名称 | 类型 | 描述 | | :---------- | ------------ | :------------------------------------ | | developEnv | RBDevelopEnv | 开发环境 分为开发和发布环境,默认为发布环境 | | appID | NSString | App配置ID | | userID | NSString | 当前用户的userID(用户登录成功服务器返回) | | accessToken | NSString | token(用户登录成功服务器返回) | | deviceID | NSString | 当前控制的设备ID, 当切换控制设备时 需要更改currDeviceID值 | eg: ```objective-c RBAccessConfiger.developEnv = RBDevelopEnv_Dedug; RBAccessConfiger.userID = @"ps:83f936aa16706d29105007bab244cc6b"; RBAccessConfiger.accessToken = @"805d6b325477535881503880f0d9191f"; RBAccessConfiger.currDeviceID = @"1011000000101060"; ``` #### 2.2 推送token设置 ``` aps = { alert = ""; "content-available" = 1; }; data = { }; id = 0; mcid = 1011000000101060; mt = 88;// no = 0; ``` aps 属性意义 | 属性 | 意义 | | ----------------- | --------------- | | alert | 推送的标题 | | content-available | iOS 判断是不是静默推送 1 | | data | 推送的内容体 | | mcid | 推送的设备端 | | mt | 推送的消息类型 | | no | 自己独立的消息序列号 | mt消息类型 | 消息类型码 | 意义 | 备注 | | ----- | ------------------ | ------------------- | | 5 | 用户绑定申请(管理员收到) | | | 53 | 设备没电 | | | 54 | 设备离线 | | | 56 | wifi 断开 | | | 66 | 邀请绑定 | | | 67 | 绑定请求通过(发送给申请人) | | | 68 | 绑定请求被拒绝(发送给申请人) | | | 69 | 自己移除绑定(发送给其他家庭成员) | | | 70 | 通知家庭成员移除某人的绑定关系 | | | 71 | 通知被删除人接触绑定 | | | 72 | 管理员接受绑定申请(发送给家庭成员) | | | 73 | 管理员拒绝绑定申请(发送给家庭成员) | | | 74 | 用户申请绑定(申请绑定人收到) | | | 75 | 邀请加入(发送给家庭成员) | | | 82 | 转移管理员 | | | 83 | wifi连接 | | | 87 | app点播状态 | | | 88 | 声音播放状态 | 收到推送请求6.7接口获取播放状态信息 | | 89 | 低电量 | | | 103 | 电量低于20% | | | 1015 | 播放音乐中 | | | 1020 | 设备升级成功 | | | 1021 | 设备升级失败 | | | 6000 | 设备向APP发送IM消息 | 收到推送请求5.7接口获取新消息 | | 6001 | 自定义控制命令 | | ![push](http://baxiang.qiniudn.com/push.png) ## 3 配置网络 #### 3.1 生成配网声波 ```objective-c /** 生成配网声波 @param wifiName wifi 名称 @param wifiPwd wifi 密码 @param block 声波url 文件 */ +(void)getSoundWave:(NSString *)wifiName wifiPsd:(NSString *)wifiPwd block:(nullable void (^)(id resonance,NSError *error)) block ``` #### 3.2 获取配网绑定结果 ```objective-c /** 获取声波配网的结果 由于配网有一定的时间差,建议采用定时轮询 */ +(void)getDeviceBindInfo:(void (^)(RBBindInfo *_Nullable response, NSError *_Nullable error))block; ``` ## 4 用户管理 #### 4.1 更改管理员 ```objective-c /** 更改管理员 @param userID 用户的ID */ + (void)changeManager:(NSString *)userID block:(void (^)(BOOL isSuccess, NSError *))block; ``` #### 4.2 添加用户到成员组 ```objective-c /** 添加用户到成员组 @param phone 用户的手机号码 */ + (void)inviteUser:(nonnull NSString *)phone block:(void (^)(BOOL isSuccess,NSError *error))block; ``` #### 4.3 从成员组中删除用户 ```objective-c /** 从当前设备成员组中删除用户 @param userid 用户 id */ + (void)deleteUser:(nonnull NSString *)userID block:(void (^)(BOOL isSuccess,NSError *error))block; ``` #### 4.4 获取宝宝信息 ```objective-c /** 获取宝宝信息 */ +(void)getBabyList:(void (^)(NSArray*babyModels,NSError *error))block; ``` ##### RBBabyModel模型 | 属性 | 类型 | | | -------- | -------- | ------------------ | | babyId | NSString | 宝宝id | | birthday | NSString | 生日 格式"YYYY-MM-dd" | | img | NSString | 头像 | | nickname | NSString | 宝宝昵称 | | gender | NSString | 性别 男"boy" 女"girl" | | tags | NSString | 宝宝标签 格式采用"/"分割 | #### 4.5 添加宝宝 ```objective-c /** 增加宝宝信息 @param babyModel 宝宝数据模型 */ +(void)addBabyInfo:(nonnull RBBabyModel*)babyModel block:(void (^)(RBBabyModel *babyModel,NSError *error))block; ``` #### 4.6 编辑宝宝 ```objective-c /** 修改宝宝信息 @param babyModel 宝宝数据模型 */ +(void)editBabyInfo:(nonnull RBBabyModel*)babyModel block:(void (^)(BOOL isSuccess,NSError *error))block; ``` #### 4.7 编辑宝宝标签 ```objective-c /** 增加修改宝宝标签 @param babyTags 宝宝标签 以/分割标签 */ +(void)addBabyTags:(NSString*)babyTags babyId:(NSString*)babyId block:(void (^)(RBBabyModel *babyModel,NSError *error))block; ``` #### 4.8 上传头像 ```objective-c /** 上传图片接口 @param image 图片资源 */ + (void)addAvatar:(UIImage *)image progressBlock:(void(^)(NSProgress *progress))progressBlock resultBlock:(void (^)(RBAvatarModel *avatarModel, NSError * _Nullable))resultBlock; ``` #### 4.9 上传宝宝头像 ```objective-c /** 上传宝宝头像资源 @param avatarImage 图片的数据 */ + (void)uploadBabyAvatar:(NSString*)babyID avatarImage:(UIImage *)avatarImage progressBlock:(void(^)(NSProgress *progress))progressBlock resultBlock:(void (^)(NSString *imgURL, NSError * _Nullable))resultBlock ``` #### 4.10 删除宝宝 ```objective-c /** 删除宝宝信息 @param babyIds 宝宝ID数组 */ +(void)deleteBabyInfo:(NSArray*)babyIds block:(void (^)(BOOL isSuccess,NSError *error))block; ``` #### 4.11 获取宝宝心理模型 ```objective-c /** 获取宝宝心理模型 @param babyID 宝宝ID */ +(void)getGrowthModel:(NSString*)babyID block:(void (^)(RBBabyGrowthModel *growthModel,NSError *error))block; ``` ## 5 设备管理 #### 5.1 获取用户的设备列表 ```objective-c /** 获取用户的设备列表 */ + (void)getDeviceList:(void(^)(NSArray *device,NSError *error))block; ``` | 属性 | 类型 | 意义 | | ------------ | -------- | --------------- | | deviceID | NSString | 设备ID | | name | NSString | 设备的名称 | | battery | float | 设备当前电量 | | manager | BOOL | YES 管理员 NO不是管理员 | | online | BOOL | 是否连接网络 | | power | BOOL | 是否在充电中 | | power_supply | BOOL | 是否连接电源 | | device_type | NSString | 设备类型 | #### 5.2 获取设备的详细信息 ```objective-c /** 获取设备的详细信息 */ + (void)getDeviceDetail:(void (^)(RBDevicesDetail *detail,NSError *error))block; ``` #### 5.3 获取设备硬件信息 ```objective-c /** 获取设备硬件信息 */ + (void)getHardwareInfo:(void(^)(id deviceDict,NSError *error))block; ``` #### 5.4 发送TTS ```objective-c /** 发送文本内容 @param text 文字内容 */ + (void)sendTTSText:(NSString *)text block:(void (^)(BOOL isSuccess,NSError *error))block; ``` #### 5.5 发送声音文件 ```objective-c /** 发送声音文件 @param filePath 文件url 路径 @param progressBlock 上传进度 @param resultBlock 上传结果 */ + (void)sendVoice:(NSString *)filePath progressBlock:(void(^)(NSProgress *progress))progressBlock resultBlock:(void (^)(id response, NSError * _Nullable))resultBlock; ``` #### 5.6 发送自定义控制命令 ```objective-c /** 发送自定义控制命令(如耳灯 童锁) @param params 请求参数 */ + (void)sendCustomCommand:(NSDictionary*)params block:(void (^)(BOOL isSuccess,NSError *error))block; ``` 自定义控制参数 | 控制命令 | 请求参数 | | ---- | --------------------------- | | 耳灯 | @{@"isEarLightOn":@(布尔值)} | | 童锁 | @{@" isChildLockOn":@(布尔值)} | #### 5.7 获取聊天记录列表 ```objective-c /** 获取聊天记录的列表 @param fromID 首次为0 其他使用当前聊天记录列表最后的RBChatModel的chatID */ +(void)getChatMessageList:(NSString*)fromID block:(void (^)(RBChatList *chatList,NSError *error))block; ``` #### 5.8 修改设备音量 ```objective-c /** 修改设备音量 @param voiceValue 音量值 最小值0 最大值100 */ + (void)changeDeviceVolume:(NSInteger)voiceValue block:(void (^)(BOOL isSuccess,NSError *error)) block; ``` #### 5.9 修改设备的名称 ```objective-c /** 修改设备的名称 @param newName 新的名称 */ + (void)updateDeviceName:(NSString *)deviceName block:(void (^)(BOOL isSuccess,NSError *error)) block; ``` #### 5.10 关闭设备 ```objective-c /** 关闭设备 @param block isSucceed 是否成功 error 错误信息 */ + (void)shutdownDevice:(void (^)(BOOL isSuccess,NSError *error))block; ``` #### 5.11 重启设备 ```objective-c /** 重启设备 @param block isSucceed 是否成功 error 错误信息 */ + (void)restartDevice:(void (^)(BOOL isSuccess,NSError *error))block; ``` #### 5.12 删除当前的设备 ```objective-c /** 删除当前的设备 注意在block回调成功时 需要修改当前的 RBAccessConfiger.currDeviceID的设备ID,如果当前登录的用户是管理员 先调用4.1接口转移管理员权限,否则设备会被服务器随机设置管理员 */ + (void)deleteDevice:(void (^)(BOOL isSuccess,NSError *error)) block; ``` #### 5.13 检查设备新版本 ```objective-c +(void)checkDeviceVersion:(void (^)(BOOL update,NSString *version,NSError * _Nullable error))block; ``` #### 5.14 设备升级 ```objective-c +(void)updateDevice:(void (^)(id response, NSError * _Nullable))block; ``` #### 5.15 获取闹钟列表 ```objective-c +(void)getAlarmList:(void (^)(RBAlarmList *alarmList, NSError * _Nullable error))block; ``` | 属性 | 类型 | 意义 | | -------- | --------- | ------------------------------- | | alarmId | NSString | 闹钟ID | | timer | NSInteger | 闹钟时间 | | timezone | NSString | 时区,GMT(\+\|-)[0-9]+ 格式 | | type | NSInteger | 闹钟类型 范围:-128-127 -128为定时关机 | | name | NSString | 闹钟名称 | | sound | NSString | 闹钟提示音url | | repeat | NSString | 重复类型 1-7代表周一到周日 "-1"代表一次性闹钟 | | status | BOOL | 闹钟开关状态 | | extra | NSString | 自定义内容 | | week | NSString | 1-7分别代表周一到周日,只会在单次闹钟中使用,重复闹钟返回0 | #### 5.16 增加闹钟 ```objective-c + (void)addAlarm:(RBAlarmModel*)model block:(void (^)(RBAlarmModel *model,NSError *error)) block; ``` #### 5.17 修改闹钟 ```objective-c + (void)editAlarm:(RBAlarmModel*)model block:(void (^)(BOOL isSuccess,NSError *error)) block; ``` #### 5.18 删除闹钟 ```objective-c + (void)deleteAlarm:(NSArray*)alarmIds block:(void (^)(BOOL isSuccess,NSError *error)) block; ``` ## 6 资源管理 #### 6.1 获取分类列表 ```objective-c /** 获取分类 @param babyAge 宝宝年龄 未知设置0 */ +(void)getCategoryList:(NSInteger)babyAge block:(nullable void (^)(RBCategoryList *response,NSError* _Nullable error)) block; ``` ##### RBCategoryModel模型 | 属性 | 类型 | 意义 | | ----- | -------- | ------ | | cID | NSString | 资源分类ID | | title | NSString | 分类名称 | | desc | NSString | 分类描述 | | attr | NSString | 分类属性 | | icon | NSString | 分类图标 | #### 6.2 获取专辑列表 ```objective-c /** 获取模块底下专辑 @param modID 模块ID @param page 当前页码 起始值 1 */ + (void )getAlbumList:(NSString* )cID page:(NSInteger)page block:(nullable void (^)(RBCategotyList* _Nullable list,NSError * _Nullable error)) block; ``` RBAlbumModel 模型 | 属性 | 类型 | 意义 | | ----- | --------- | ------- | | aID | NSString | 专辑ID | | img | NSString | 专辑大图 | | thumb | NSString | 专辑小图 | | title | NSString | 专辑名称 | | total | NSInteger | 专辑中资源总数 | #### 6.3 获取资源列表 ```objective-c /** 获取专辑的资源列表 @param aID 专辑id @param page 当前页码 起始值 1 @param count 每页返回的数量 注意: 0不返回资源列表 只有专辑详情 */ + (void )getResourceList:(NSString*)aID page:(NSInteger)page count:(NSInteger)count block:(nullable void (^)(RBResourceList* _Nullable list,NSError * _Nullable error))block; ``` #### 6.4 播放歌曲 ```objective-c /** 播放当前的资源 @param type 0 :播放当前资源 1上一首 2 下一首 @param aID 专辑id @param rID 资源ID */ + (void )playResource:(NSInteger)type aID:(NSString* )aID rID:(NSString*)rID block:(void (^)(id _Nullable response, NSError * _Nullable))block; ``` ###### RBResourceModel 模型 | 属性 | 类型 | 意义 | | ------ | -------- | ------- | | rID | NSString | 资源ID | | name | NSString | 名称 | | src | NSString | 来源 | | size | NSString | 大小 | | type | NSString | 类型 | | length | NSString | 音频时长(秒) | #### 6.5 停止播放 ```objective-c /** 停止播放 @param rID 资源的ID */ + (void )stopResource:(NSString*)rID block:(void (^)(BOOL response, NSError * _Nullable))block; ``` #### 6.6 设置播放模式 ```objective-c /** 设置播放模式 @param type 1 单曲循环 2 列表循环 */ +(void)setPlayMode:(NSInteger)mode block:(void (^)(id _Nullable response, NSError * _Nullable))block; ``` #### 6.7 获取播放状态 ```objective-c /** 获取播放状态 */ + (void )getPlayState:(void (^)(RBPlayInfoModel* _Nullable response, NSError * _Nullable))block; ``` ##### RBPlayInfoModel模型 | 属性 | 类型 | 意义 | | :-------- | :-------: | ----------------------------------- | | rID | NSString | 播放资源ID | | status | NSString | reading准备 start 开始 stop 停止 pause 暂停 | | type | NSString | 点播来源 | | aID | NSString | 专辑ID | | title | NSString | 资源名称 | | aName | NSString | 专辑的名称 | | img_large | NSString | 专辑图片 | | mode | NSInteger | 播放模式 | #### 6.8 获取收藏列表 ```objective-c /** 获取收藏的资源列表 @param type 1 单曲 2 专辑 @param page 页数 */ + (void)getCollectionList:(NSInteger)type page:(NSInteger)page block:(void (^)(id _Nullable response,NSError * _Nullable))block; ``` #### 6.9 添加收藏 ```objective-c /** 添加资源收藏 */ + (void)addCollection:(NSArray*)collectionModels block:(void (^)(id _Nullable response, NSError * _Nullable))block; ``` #### 6.10 删除收藏 ```objective-c /** 取消资源的收藏 @param favId 当前收藏的ID */ + (void)deleteCollection:(NSArray*)fIDs block:(void (^)(id _Nullable response, NSError * _Nullable))block; ``` #### 6.11 获取播放历史 ```objective-c /** 获取播放历史 */ +(void)getPlayHistoy:(NSString*)rID block:(void (^)(id _Nullable response,NSError * _Nullable))block; ``` #### 6.12 删除播放历史 ```objective-c /** 删除播放历史 @param ids 资源的id */ +(void)deletePlayHistoy:(NSArray *)IDs block:(void (^)(id _Nullable response,NSError * _Nullable))block; ``` #### 6.13 获取自定义的专辑列表 ```objective-c /** 获取用户自定义的歌曲专辑 */ +(void)getCustomAlbumList:(void (^)(RBAlbumList *list ,NSError * error))block; ``` #### 6.14 获取自定义资源列表 ```objective-c 调用6.3获取资源列表 ``` #### 6.15 添加资源到自定义专辑 ```objective-c /** 添加歌曲到自定义的专辑 @param AlbumID 自定义的专辑ID @param sourceID 自定义的歌曲ID */ +(void)addCustomResource:(NSArray*)rIDs aID:(NSString *)aID block:(void (^)(id response,NSError * error))block; ``` #### 6.16 删除自定义的歌曲 ```objective-c /** 删除歌曲到自定义的歌曲专辑 @param rIDs 自定义的歌曲ID数组 @param cID 自定义的专辑ID */ +(void)delCustomResource:(NSArray*)rIDs aID:(NSString *)aID block:(void (^)(id response,NSError* _Nullable error))block; ``` #### 6.17 重置设备默认专辑 ```objective-c /** 重置设备默认专辑 @param albumID 专辑ID */ +(void)resetCustomAlbum:(NSString*)albumID block:(void (^)(BOOL isSuccess,NSError * error))block; ``` #### 6.18 资源搜索 ```objective-c /** 资源搜索 @param keyword 关键字 */ +(void)searchResource:(NSString*)keyword page:(NSInteger)page block:(void (^)(NSArray *response,NSError * error))block; ```