更新时间:2024-03-26 10:02:04下载pdf
本文介绍如何进行项目管理。
项目为挂载在某一账号下的可独立操作的 单元,区域和设备等必须要挂载在某一项目下才可进行操作。
一个账号下可以有不定数量的项目,不同套餐的账号可配置不同数量的项目。新用户在注册登录后默认是没有项目的,需进行项目的创建流程后才可进行项目维度的相关操作。
Mesh 网络模式:指当前创建的项目使用的蓝牙 Mesh 网络的类型。目前,共有以下两种类型:
获取 室内/户外/停车场 项目版本下数据配置。
根据当前登录账号所购买的套餐等级,动态下发当前账号所支持创建的项目的配置信息,例如室内项目、户外项目和停车场项目。您可以创建当前接口所返回类型的项目,创建未授权类型的项目时会报错。
接口说明
void getProjectConfigList(IThingResultCallback<List<LightingProjectConfigsBean>> callback);
LightingProjectConfigsBean 说明
项目配置信息类
参数 | 类型 | 说明 |
---|---|---|
projectType | int | 当前项目版本:
|
projectTypeName | String | 当前项目版本的名称 |
projectIconUrl | String | 当前项目版本的图标 |
spaceAttributes | List |
区域层级列表 |
AreaConfig 说明
区域层级信息类
参数 | 类型 | 说明 |
---|---|---|
id | int | 区域层级 ID |
name | String | 区域层级名称,例如园区-楼宇-楼层-房间 |
iconUrl | String | 区域层级 icon |
示例代码
ThingCommercialLightingProject.getLightingProjectManager().getProjectConfigList(new IThingResultCallback<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,
int networkType,
IThingHomeResultCallback callback);
参数说明
参数 | 说明 | 是否必填 |
---|---|---|
projectType | 项目版本
|
是 |
name | 项目名称 | 是 |
leaderName | 项目负责人 | 是 |
leaderMobile | 联系人信息 | 是 |
detail | 详细地址 室内项目版本和停车场项目版本 必传,用于描述详细地址 户外项目版本 必传,用于描述户外项目位置,建议选中区域拼接 例如:中国浙江省,美国加利福尼亚州等 |
是 |
regionLocationId | 区域 ID 用半角逗号, 分割户外项目版本 必传,用于描述户外项目位置 中国区:一级行政区,其他区:国家 +一级行政区 例如:浙江省 ID。美国 ID,加利福尼亚 ID 室内项目版本和停车场项目版本 此字段传空 |
否 |
networkType | Mesh 网络模式:
|
是 |
示例代码
ThingCommercialLightingProject.getLightingProjectManager().createProject(projectType, projectName, leaderName, leaderMobile, detailAddress, regionId, networkType, new IThingHomeResultCallback() {
@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 | 负责人联系方式 | 是 |
示例代码
ThingCommercialLightingProject.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 | 当前账号的密码 |
示例代码
ThingCommercialLightingProject.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(IThingGetHomeListCallback callback);
示例代码
ThingCommercialLightingProject.getLightingProjectManager().getProjectList(new IThingGetHomeListCallback() {
@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(IThingHomeResultCallback callback);
参数说明
参数 | 说明 |
---|---|
projectId | 项目 ID,可通过 获取项目列表 返回的数据,获取 projectId |
示例代码
ThingCommercialLightingProject.newProjectInstance(long projectId).getProjectDetail(mIProjectInfoView.getProjectId(), new IThingHomeResultCallback() {
@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(IThingResultCallback<List<LightingRegionListBean>> listener);
LightingRegionListBean 字段说明
字段 | 类型 | 说明 |
---|---|---|
locationId | String | 当前区域 ID。 |
name | String | 当前区域名称,已支持多语言。 |
pinyinInitials | String | 区域名称首字母。 中文:拼音首字母,其他:英文首字母 该字段主要用于自定义排序/索引。 |
children | List |
当前区域下级子区域。例如:国家下的一级行政区。 |
示例代码
ThingCommercialLightingRegion.getRegionManager().getRegionList(new IThingResultCallback<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);
}
});
该内容对您有帮助吗?
是意见反馈该内容对您有帮助吗?
是意见反馈