更新时间:2022-02-17 05:45:38下载pdf
项目为挂载在某一账号下的可独立操作的单元,区域和设备等必须要挂载在某一项目下才可进行操作。
一个账号下可以有不定数量的项目,不同套餐的账号可配置不同数量的项目,新用户在注册登录后默认是没有项目的,需进行项目的创建流程后才可进行项目维度的相关操作。
项目分类:
室内项目:在建筑平面图上,对设备进行可视化管理。推荐简单的使用场景,项目地址可以简单用文案描述。适用于办公楼,商场等项目。
户外项目:通过GIS地图精准定位设备,推荐区域较大,设备分散的使用场景,项目地址为国家+一级行政区作为划分。项目下级区域通过在地图上标记点位的形式展示。当前项目类型仅为高级版品牌商开通的账号才有创建权限。适用于户外路灯,充电桩等项目。
获取室内/户外项目类型下数据配置。
接口说明
void getProjectConfigList(ITuyaResultCallback<List<LightingProjectConfigsBean>> callback);
LightingProjectConfigsBean说明
项目配置信息类
参数 | 类型 | 说明 |
---|---|---|
projectType | int | 当前项目类型:0 - 室内项目,1 - 户外项目 |
projectTypeName | String | 当前项目类型的名称 |
projectIconUrl | String | 当前项目类型的图标 |
spaceAttributes | List |
区域层级列表 |
AreaConfig说明
区域层级信息类
参数 | 类型 | 说明 |
---|---|---|
id | int | 区域层级ID |
name | String | 区域层级名称,如园区-楼宇-楼层-房间 |
iconUrl | String | 区域层级icon |
示例代码
TuyaCommercialLightingProject.getLightingProjectManager().getProjectConfigList(new ITuyaResultCallback<List<LightingProjectConfigsBean>>() {
@Override
public void onSuccess(List<LightingProjectConfigsBean> result) {
if (null != result) {
iProjectIndexView.getProjectConfigListSuccess(result);
}
}
@Override
public void onError(String errorCode, String errorMessage) {
Log.e(TAG, "getProjectConfigList onError: errorCode=" + errorMessage);
iProjectIndexView.getProjectConfigListError();
}
});
接口说明
新建一个项目,当前支持创建室内项目和户外项目。
void createProject(
int projectType,
String name,
String leaderName,
String leaderMobile,
String detail,
String regionLocationId,
ITuyaHomeResultCallback callback);
参数说明:
参数 | 说明 | 是否必填 |
---|---|---|
projectType | 项目项目类型(0:默认室内项目,1:户外项目)。 可从获取项目配置信息方法获取类型id |
是 |
name | 项目名称 | 是 |
leaderName | 项目负责人 | 是 |
leaderMobile | 联系人信息 | 是 |
detail | 详细地址 室内项目类型必传,用于描述详细地址 户外项目类型必传,用于描述户外项目位置,建议选中区域拼接 例:中国浙江省,美国加利福尼亚州等 |
是 |
regionLocationId | 区域ID 用","分割 户外项目类型必传,用于描述户外项目位置 中国区:一级行政区,其他区:国家 +一级行政区 例:浙江省id;美国id,加利福尼亚id 室内项目类型此字段传空 |
否 |
示例代码
TuyaCommercialLightingProject.getLightingProjectManager().createProject(projectType, projectName, leaderName, leaderMobile, detailAddress, regionId, new ITuyaHomeResultCallback() {
@Override
public void onSuccess(HomeBean homeBean) {
if (null == mProjectAddView) {
return;
}
mProjectAddView.doSaveSuccess();
}
@Override
public void onError(String s, String s1) {
if (null == mProjectAddView) {
return;
}
mProjectAddView.doSaveFailed(s1);
}
});
接口说明
编辑项目信息
void updateProjectInfo(
String name,
String regionLocationId,
String detail,
String leaderName,
String leaderMobile,
IResultCallback callback);
参数说明:
参数 | 说明 | 是否必填 |
---|---|---|
projectId | 项目ID | 是 |
name | 项目名称 | 是 |
regionLocationId | 多个区域ID 用","分割 户外项目类型必传,用于描述户外项目位置 中国区:一级行政区,其他区:国家 +一级行政区 例:浙江省id;美国id,加利福尼亚id 室内项目类型此字段传空 |
否 |
detail | 详细地址 室内项目类型必传,用于描述详细地址 户外项目类型必传,用于描述户外项目位置,建议选中区域拼接 例:中国浙江省,美国加利福尼亚州等 |
是 |
leaderName | 项目负责人 | 是 |
leaderMobile | 负责人联系方式 | 是 |
示例代码
TuyaCommercialLightingProject.newProjectInstance(projectId).updateProjectInfo(mHomeBean.getHomeId(), mHomeBean.getName(),mHomeBean.getLeaderName(), mHomeBean.getLeaderMobile(), regionId, content, new IResultCallback() {
@Override
public void onError(String code, String error) {
if (null == mIProjectInfoView) {
return;
}
mIProjectInfoView.showToast(error);
}
@Override
public void onSuccess() {
if (null == mIProjectInfoView) {
return;
}
mIProjectInfoView.updateAddressDetail(content);
}
});
接口说明
删除一个已经创建的项目。项目删除后,所有的数据会被清空,已添加的设备会被解绑和重置。
删除项目为高风险操作,需要输入密码保证安全性。所以删除项目方法将会在内部处理密码校验,输入正确的密码将直接调用删除操作。若有风险提示弹窗等相关交互,请在输入密码前展示。
void deleteProjectWithPassword(String password, IResultCallback callback);
参数说明:
参数 | 说明 |
---|---|
projectId | 要删除的项目ID |
key | 通过密码获取key(用户体系:getKeyFromPassword) |
password | 当前账号的密码 |
示例代码
TuyaCommercialLightingProject.newProjectInstance(projectId).deleteProjectWithPassword(mIProjectInfoView.getProjectId(), password, new IResultCallback() {
@Override
public void onError(String s, String s1) {
if (null == mIProjectInfoView) {
return;
}
mIProjectInfoView.showToast(s1);
}
@Override
public void onSuccess() {
if (null == mIProjectInfoView) {
return;
}
mIProjectInfoView.doRemoveView(true);
}
});
接口说明
获取已经创建过的项目列表
void getProjectList(ITuyaGetHomeListCallback callback);
示例代码
TuyaCommercialLightingProject.getLightingProjectManager().getProjectList(new ITuyaGetHomeListCallback() {
@Override
public void onSuccess(List<HomeBean> list) {
Log.i(TAG, "queryProjectList onSuccess: " + JSON.toJSONString(list));
if (null == iProjectIndexView.getContext()) {
return;
}
if (CollectionUtils.isEmpty(list)) {
iProjectIndexView.showProjectEmptyView();
} else {
iProjectIndexView.setProjectList(list);
}
}
@Override
public void onError(String s, String s1) {
Log.e(TAG, "queryProjectList onError: errorCode=" + s);
}
});
接口说明
获取指定项目详情
void getProjectDetail(ITuyaHomeResultCallback callback);
参数说明:
参数 | 说明 |
---|---|
projectId | 项目ID,可通过获取项目列表返回的数据,拿取projectId |
示例代码
TuyaCommercialLightingProject.newProjectInstance(long projectId).getProjectDetail(mIProjectInfoView.getProjectId(), new ITuyaHomeResultCallback() {
@Override
public void onSuccess(HomeBean homeBean) {
if (null == mIProjectInfoView) {
return;
}
mIProjectInfoView.setProjectData(homeBean);
}
@Override
public void onError(String s, String s1) {
if (null == mIProjectInfoView) {
return;
}
mIProjectInfoView.showToast(s1);
}
});
接口说明
根据当前账号所属数据区返回国家列表数据,目前支持:中国区(中国),美国区(美国,日本,中国香港),欧洲区(澳大利亚)三个数据区的六个国家,数据区的国家支持动态新增,以实际返回为准,如有新增需求请联系产品。
void getRegionList(ITuyaResultCallback<List<LightingRegionListBean>> listener);
LightingRegionListBean字段说明:
字段 | 类型 | 说明 |
---|---|---|
locationId | String | 当前区域ID |
name | String | 当前区域名称,已支持多语言。 |
pinyinInitials | String | 区域名称首字母。 中文:拼音首字母,其他:英文首字母 该字段主要用于自定义排序/索引。 |
children | List |
当前区域下级子区域。例如:国家下的一级行政区。 |
示例代码
TuyaCommercialLightingRegion.getRegionManager().getRegionList(new ITuyaResultCallback<List<LightingRegionListBean>>() {
@Override
public void onSuccess(List<LightingRegionListBean> result) {
if (result != null) {
mRegionListView.getRegionListSuccess(result);
}
}
@Override
public void onError(String errorCode, String errorMessage) {
mRegionListView.getRegionListError(errorMessage);
}
});
接口说明
前置条件:调用过一次获取数据区国家列表方法。否则此方法返回空;
使用场景:列表数据基本上不会改变。所以做了数据缓存。此方法为从缓存中读取列表数据。
List<LightingRegionListBean> getRegionListFromCache();
示例代码
List<LightingRegionListBean> result = TuyaCommercialLightingRegion
.getRegionManager()
.gerRegionListFromCache();
该内容对您有帮助吗?
是意见反馈该内容对您有帮助吗?
是意见反馈