更新时间:2023-05-31 06:10:11下载pdf
智慧居住 App SDK 致力于为租住业务场景的移动端开发提供各类模块和组件。因此,站点空间是抽象于智能租住场景的概念,指用户在以场所为单位的范围内所有设备、账号、权限等信息的集合。
站点管理主要包括以下能力:
用户登录成功后需要通过 TuyaResidenceSite
来查询站点信息及操作站点。TuyaResidenceSite
用于站点的一些操作,包括对站点的创建、查询详情、删除、修改以及当前站点中用户等 API。
请确保 ViewController
或其他对象中持有的 TuyaResidenceSite
为全局变量(@property)。临时的 TuyaResidenceSite
变量可能会因为作用域问题,在初始化时被提前释放,而返回 nil
。
每次使用 TuyaResidenceSite
对象,都应该使用此方法。调用此类中的对象方法也应该用此方法传入站点 ID(siteId
)。如果您没有站点 ID,请调用 + createSiteWithName:geoName:rooms:latitude:longitude:success:failure:
方法来创建一个站点。
初始化站点对象之后需要去查询站点的详情 fetchSiteDetailWithSuccess:failure:
,站点实例对象中的属性 siteModel
、roomList
、deviceList
、groupList
、sharedDeviceList
、sharedGroupList
才有数据。
接口说明
+ (instancetype)siteWithSiteId:(long long)siteId;
请求参数
参数 | 说明 |
---|---|
siteId | 站点 ID,可以从 TuyaResidenceSiteModel 中查询到。 |
返回参数
参数 | 说明 |
---|---|
instancetype | 一个 TuyaResidenceSite 对象,用于调用 TuyaResidenceSite 中的方法。 |
接口说明
+ (void)createSiteWithName:(NSString *)siteName
geoName:(NSString *)geoName
rooms:(NSArray <NSString *>*)rooms
latitude:(double)latitude
longitude:(double)longitude
success:(TYSuccessLongLong)success
failure:(TYFailureError)failure;
请求参数
参数 | 说明 |
---|---|
siteName | 站点名称。 |
geoName | 所在城市名称。 |
rooms | 站点包含的房间名称,以数组存储字符串。 |
latitude | 纬度,用于定位位置,以展示合适的单位等。 |
longitude | 经度,用于定位位置,以展示合适的单位等。 |
返回参数
参数 | 说明 |
---|---|
success | 请求成功后创建一个新的站点。 |
failure | 失败回调,回调中展示失败原因。 |
示例代码
[TuyaResidenceSite createSiteWithName:siteName geoName:geoName rooms:areas latitude:latitude longitude:longitude success:^(long long result) {
} failure:^(NSError *error) {
}];
用于请求站点的详细信息,成功之后您可以通过 [TuyaResidenceSite siteWithSiteId:siteId].siteModel;
来查询站点信息和设备相关的缓存。在初始化站点后,涂鸦建议立即调用此接口进行设备相关的缓存。
接口说明
- (void)fetchSiteDetailWithSuccess:(void (^)(TuyaResidenceSiteModel *siteModel))success
failure:(TYFailureError)failure;
返回参数
参数 | 说明 |
---|---|
success | 请求成功后返回一个 TuyaResidenceSiteModel 对象,存储了站点的详细信息。 |
failure | 失败回调,回调中展示失败原因。 |
示例代码
[self.site fetchSiteDetailWithSuccess:^(TuyaResidenceSiteModel * _Nonnull siteModel) {
} failure:^(NSError *error) {
}];
接口说明
+ (void)fetchSiteListWithSuccess:(void(^)(NSArray <TuyaResidenceSiteModel *> *sites))success
failure:(TYFailureError)failure;
返回参数
参数 | 说明 |
---|---|
success | 请求成功后查询站点列表,TuyaResidenceSiteModel 描述了站点类型等相关信息。 |
failure | 失败回调,回调中展示失败原因。 |
示例代码
[TuyaResidenceSite fetchSiteListWithSuccess:^(NSArray<TuyaResidenceSiteModel *> * _Nonnull homes) {
} failure:^(NSError *error) {
}];
包含房间信息,如果您想查询站点的房间列表,可以调用此接口。
接口说明
- (void)fetchSiteRoomCountWithSuccess:(TYSuccessID)success
failure:(TYFailureError)failure;
返回参数
参数 | 说明 |
---|---|
success | 请求成功后返回该站点下的所有房间信息。 |
failure | 失败回调,回调中展示失败原因。 |
示例代码
[self.site fetchSiteRoomCountWithSuccess:^(id result) {
} failure:^(NSError *error) {
}];
接口说明
- (void)updateSiteInfoWitSiteName:(NSString *)siteName
geoName:(NSString *)geoName
latitude:(double)latitude
longitude:(double)longitude
success:(TYSuccessHandler)success
failure:(TYFailureError)failure;
请求参数
参数 | 说明 |
---|---|
siteName | 站点名称。 |
geoName | 所在城市名称。 |
latitude | 纬度。 |
longitude | 经度。 |
返回参数
参数 | 说明 |
---|---|
success | 请求成功,修改完成。 |
failure | 失败回调,回调中展示失败原因。 |
示例代码
[self.site updateSiteInfoWitSiteName:siteName geoName:geoname latitude:latitude longitude:longitude success:^{
} failure:^(NSError *error) {
}];
接口说明
- (void)addSiteRoomWithRoomName:(NSString *)roomName
success:(TYSuccessHandler)success
failure:(TYFailureError)failure;
请求参数
参数 | 说明 |
---|---|
roomName | 房间名称。 |
返回参数
参数 | 说明 |
---|---|
success | 请求成功后增加一个房间。 |
failure | 失败回调,回调中展示失败原因。 |
示例代码
[self.site addSiteRoomWithRoomName:_addRoomTextField.text success:^{
} failure:^(NSError *error) {
}];
修改当前站点下的成员信息,当成员角色修改为 TYSiteRoleType_Owner
时,会转让该站点的归属。
接口说明
- (void)updateSiteMemberInfoWithMemberId:(long long)memberId
headPicImage:(UIImage * _Nullable)headPicImage
memberName:(NSString *)memberName
role:(TYSiteRoleType)role
success:(TYSuccessHandler)success
failure:(TYFailureError)failure;
请求参数
参数 | 说明 |
---|---|
memberId | 被操作成员的 ID。 |
headPicImage | 头像。 |
memberName | 成员名称。 |
role | 成员角色。 |
返回参数
参数 | 说明 |
---|---|
success | 请求成功,完成修改。 |
failure | 失败回调,回调中展示失败原因。 |
示例代码
[self.site updateSiteMemberInfoWithMemberId:memberId headPicImage:nil memberName:_memberNameTextField.text role:TYSiteRoleType_Owner success:^{
} failure:^(NSError *error) {
}];
接口说明
- (void)removeSiteWithOwnerId:(long long)ownerId
success:(TYSuccessHandler)success
failure:(TYFailureError)failure;
请求参数
参数 | 说明 |
---|---|
ownerId | 站点所有者的 ID。 |
返回参数
参数 | 说明 |
---|---|
success | 请求成功,该站点被删除。 |
failure | 失败回调,回调中展示失败原因。 |
示例代码
[self.site removeSiteWithOwnerId:groupUserId success:^{
} failure:^(NSError *error) {
}];
接口说明
- (void)fetchExpiredListWithPageSize:(NSInteger)pageSize
pageNo:(NSInteger)pageNo
success:(void (^)(NSArray<TuyaResidenceExpiredAuthorModel * > *))success
failure:(TYFailureError)failure;
请求参数
参数 | 说明 |
---|---|
pageSize | 请求一次返回的数量,最小为 1,最大为 100。 |
pageNo | 当前请求的页码,从 1 开始,每请求一次加 1。 |
返回参数
参数 | 说明 |
---|---|
success | 请求成功后返回失效入住单列表。 |
failure | 失败回调,回调中展示失败原因。 |
示例代码
[self.site fetchExpiredListWithPageSize:20 pageNo:1 success:^(NSArray<TuyaResidenceExpiredAuthorModel *> *list) {
} failure:^(NSError *error) {
}];
接口说明
- (void)fetchSiteResidentListWithSuccess:(void (^)(NSArray<TuyaResidenceSiteMemberModel *> *list))success
failure:(TYFailureError)failure;
返回参数
参数 | 说明 |
---|---|
success | 请求成功后返回所有成员的列表。 |
failure | 失败回调,回调中展示失败原因。 |
示例代码
[self.site fetchSiteResidentListWithSuccess:^(NSArray<TuyaResidenceSiteMemberModel *> * _Nonnull list) {
} failure:^(NSError *error) {
}];
接口说明
- (void)removeMemberWithMemberId:(long long)memberId
success:(TYSuccessHandler)success
failure:(TYFailureError)failure;
请求参数
参数 | 说明 |
---|---|
memberId | 需要删除的成员 ID。 |
返回参数
参数 | 说明 |
---|---|
success | 请求成功,删除该成员。 |
failure | 失败回调,回调中展示失败原因。 |
示例代码
[self.site removeMemberWithMemberId:model.memberId success:^{
} failure:^(NSError *error) {
}];
查询当前站点下,本次登录用户的信息。
接口说明
- (void)fetchLoginedSiteMemberInfoWithSuccess:(void(^)(TuyaResidenceSiteMemberModel *model))success
failure:(TYFailureError)failure;
返回参数
参数 | 说明 |
---|---|
success | 请求成功,返回该用户的信息。 |
failure | 失败回调,回调中展示失败原因。 |
示例代码
[self.site fetchLoginedSiteMemberInfoWithSuccess:^(TuyaResidenceSiteMemberModel * _Nonnull model) {
} failure:^(NSError *error) {
}];
该内容对您有帮助吗?
是意见反馈该内容对您有帮助吗?
是意见反馈