# 应用
# 应用与应用模板
门户系统中,在组织机构管理、运营他们负责的地区时,业务应用将是管理者最经常关注的"数据集合体"。业务应用旨在将多种数据集中到一个屏幕中显示,让管理者们一目了然的掌握整体情况。
门户系统向组织管理者提供多种预设模板,通过不同模板它们可自由选择自身关心的数据对象,以此来适应不同的应用场景。
在CoreSDK中,业务应用由应用类[Application]表示,模板数据根据模板类型不同,分别由抽象类模板数据[ModelData]的具象化子类表示。如地图模板数据由地图模板数据[MapModelData]表示、通讯模板关联的数据由通讯模板数据[CommModelData]表示。更多模板类参见预设模板。
# 应用[Application]
应用的常用属性如下:
属性名 | 值类型 | 属性描述 |
---|---|---|
name | String | 应用名称 |
remark | String | 备注 |
model | ModelData | 应用模板数据 |
themeColor | Color | 应用主题色 |
titleColor | Color | 应用标题颜色 |
mapConfig | MapConfig | 应用地图配置 |
isShowApp | Boolean | 是否同步到APP |
常用方法如下:
方法名 | 返回类型 | 方法描述 |
---|---|---|
setName | void | 设置应用名称 |
setThemeColor | void | 设置应用主题色 |
setTitleColor | void | 设置应用标题颜色 |
setMapConfig | void | 设置应用地图配置 |
# 1、获取应用信息
let organization = Cellsys.organization;//在初始化成功之后,可直接从Cellsys获取到organization对象
let applications = organization.applications; //从组织对象上可以获取到当前组织所有的应用
let name = application.name;//获取名称
let icon = application.icon;//获取图标信息
let remark = application.remark;//获取备注信息
2
3
4
5
# 2、创建应用
应用通过组织[Organization]对象创建。创建应用时,需要先声明该应用的模板实例。具体操作见代码示例
//声明模板实例,以地图模板为例
let mapModelData = new Cellsys.MapModelData({
"groupIds": [group1, group2], //参数为group对象数组
"mapIds": [map1, map2] //参数为map对象数组
})
//通过组织创建应用
Cellsys.organization.createApp({
"name": "应用名称" ,
"remark": "应用备注信息",
"mapConfig": mapConfig,
"modelData": mapModelData, //具体的模板实例
"themeColor": color,
"titleColor": color,
"isShowApp": false //应用是否同步到
})
.then(application => {
//创建成功后返回应用对象
let newApplication = application;
})
.catch(error => {
console.log(error.code)
console.log(error.message)
})
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# 3、修改应用
应用通过组织[Organization]对象来修改。具体操作见代码示例
application.setName("修改后的名称")
//修改应用模板数据,以地图模板为例
let mapModelData = application.data;
let groups = [group1, group2];
mapModelData.setGroups(groups);
Cellsys.organization.updateApp(application)
.then(() => {
//修改成功
})
.catch(error => {
console.log(error.code)
console.log(error.message)
})
2
3
4
5
6
7
8
9
10
11
12
13
# 4、删除应用
应用通过组织[Organization]对象来删除。具体操作见代码示例
Cellsys.organization.delateApp(application)
.then(() => {
//删除成功
})
.catch(error => {
console.log(error.code)
console.log(error.message)
})
2
3
4
5
6
7
8
9
# 主题色和标题色
let fontColor = application.titleColor;//标题颜色
let themeColor = application.themeColor;//主题颜色
/*CoreSDK自定义Color类*/
let ribbon = fontColor.ribbon;//色带
let ribbonLevel = fontColor.level;//色值
fontColor.value;//例:#3C3C3C
2
3
4
5
6
CoreSDK自定义的Color类,为开发者预设了多种颜色。具体分成13种色带[Ribbon],每种色带提供10种色阶[RibbonLevel]。基本满足开发需求。另外色带还提供了另一种枚举'Custom',满足开发者自定义颜色的需求。更多Color的介绍,请查看样式篇。
# 地图配置
let mapConfig = application.mapConfig;//地图的默认配置
let mapPoint = mapConfig.defaultCenter;//获取默认地图中心点
let defaultLat = mapPoint.latitude;
let defaultLng = mapPoint.longitude;
let defaultZoom = mapConfig.defaultZoom;//获取默认的缩放级别
2
3
4
5
# 应用模板信息
let model = application.model;//获取应用模板
let modelData = application.data;//获取当前配置的模板数据
2
# 应用模板
# 模板基础信息
let model = application.model;//获取应用模板
let modelName = model.name;//模板名称
let modelType = model.type;//模板枚举值
let modelSetName = model.modelSetInfo.name;//模板所属的集合
2
3
4
# 模板数据信息
let model = application.model;//获取应用模板
let modelData = application.data;//获取当前配置的模板数据
switch (model.type) {
case "CommModel"://通讯模板
let commModelData = application.data;
let groups = commModelData.group;
break;
case "MapModel"://地图模板
let mapModelData = application.data;
let maps = mapModelData.getMaps();
let groups = mapModelData.getGroups();
break;
case "NotesModel"://随手记模板
let notesModelData = application.data;
let eventSets = notesModelData.getEventSets();
break;
case "EventModel"://事件模板
let eventModelData = application.data;
let _eventSets = eventModelData.getEventSets();
break;
case "Custom":
default:
let _modelData = application.data;
let modelDataJson = _modelData.json;
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# 预设模板
CoreSDK目前提供了以下预设模板(将会陆续追加):
- 地图模板
- 通讯模板
- 事件模板
- 随手记模板
- 进度模板
- 报告模板
不同模板有不同数据组合。
# 地图模板
可自由配置专题、群组两种数据。声明示例代码如下:
//地图模板声明
let mapModelData = new Cellsys.MapModelData({
"groups": [group1, group2], //参数为group对象数组
"maps": [map1, map2] //参数为map对象数组
}
2
3
4
5
地图模板常用方法如下:
方法名 | 返回类型 | 方法描述 |
---|---|---|
getGroups | Array< Group > | 获取地图模板配置的群组 |
getMaps | Array< Map > | 获取地图模板配置的专题地图 |
setGroups | void | 设置地图模板的群组配置 |
setMaps | void | 设置地图模板的专题地图 |
# 通讯模板
可自由配置群组数据。示例代码如下:
//通讯模板声明
let commModelData = new Cellsys.CommModelData({
"groups": [group1, group2], //参数为group对象数组
}
2
3
4
通讯模板常用方法如下:
方法名 | 返回类型 | 方法描述 |
---|---|---|
getGroups | Array< Group > | 获取通讯模板配置的群组 |
setGroups | void | 设置通讯模板的群组配置 |
# 事件模板
可自由配置事件数据。示例代码如下:
//通讯模板声明
let eventModelData = new Cellsys.EventModelData({
"eventSets": [eventSet1, eventSet2], //参数为eventSet对象数组
}
2
3
4
事件模板常用方法如下:
方法名 | 返回类型 | 方法描述 |
---|---|---|
setEventSets | void | 获取事件模板配置的事件集合 |
getEventSets | Array< EventSet > | 设置事件模板的事件集合配置 |
# 随手记模板
可自由配置事件数据。示例代码如下:
//随手记模板声明
let notesModelData = new Cellsys.NotesModelData({
"eventSets": [eventSet1, eventSet2], //参数为eventSet对象数组
}
2
3
4
随手记模板常用方法如下:
方法名 | 返回类型 | 方法描述 |
---|---|---|
setEventSets | void | 获取随手记模板配置的事件集合 |
getEventSets | Array< EventSet > | 设置随手记模板的事件集合配置 |
注:事件模板和随手记模板在数据类型的配置上是一样的,都是由事件组成。它们的区别主要实在在界面呈现、使用场景上。
# 进度模板
可将事件集合以进度的形式表现。示例代码如下:
//进度模板声明
let progressModelData = new Cellsys.ProgressModelData({
"eventSets": [eventSet1, eventSet2], //参数为eventSet对象数组
}
2
3
4
进度模板常用方法如下:
方法名 | 返回类型 | 方法描述 |
---|---|---|
setEventSets | void | 获取进度模板配置的事件集合 |
getEventSets | Array< EventSet > | 设置进度模板的事件集合配置 |
queryEvents | Promise< QueryResult > | 查询所配置的事件集合下的事件 |
# 报告模板
可将事件集合以进度的形式表现。示例代码如下:
//报告模板声明
let reportModelData = new Cellsys.ReportModelData({
"reportName": "报告标题",
"events": [eventFeature1, eventFeature2, ...],
"showEventName": false,
"imgAlign": Cellsys.AlignType.Left,
"textAlign": Cellsys.AlignType.Left
})
2
3
4
5
6
7
8
报告模板常用方法如下:
方法名 | 返回类型 | 方法描述 |
---|---|---|
setReportName | void | 设置报告名称 |
setImgAlign | void | 设置图片对齐方式 |
setTextAlign | void | 设置文字对齐方式 |
queryEvents | Promise< QueryResult > | 查询报告模板配置的事件要素信息 |