# 应用

# 应用与应用模板

门户系统中,在组织机构管理、运营他们负责的地区时,业务应用将是管理者最经常关注的"数据集合体"。业务应用旨在将多种数据集中到一个屏幕中显示,让管理者们一目了然的掌握整体情况。

门户系统向组织管理者提供多种预设模板,通过不同模板它们可自由选择自身关心的数据对象,以此来适应不同的应用场景。

在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;//获取备注信息
1
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)
    })
1
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)
    })
1
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)
    })
1
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
1
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;//获取默认的缩放级别
1
2
3
4
5

# 应用模板信息

let model = application.model;//获取应用模板
let modelData = application.data;//获取当前配置的模板数据
1
2

# 应用模板

# 模板基础信息

let model = application.model;//获取应用模板
let modelName = model.name;//模板名称
let modelType = model.type;//模板枚举值
let modelSetName = model.modelSetInfo.name;//模板所属的集合
1
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;
}
1
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对象数组
}
1
2
3
4
5

地图模板常用方法如下:

方法名 返回类型 方法描述
getGroups Array< Group > 获取地图模板配置的群组
getMaps Array< Map > 获取地图模板配置的专题地图
setGroups void 设置地图模板的群组配置
setMaps void 设置地图模板的专题地图

# 通讯模板

可自由配置群组数据。示例代码如下:

//通讯模板声明
let commModelData = new Cellsys.CommModelData({
    "groups": [group1, group2], //参数为group对象数组
}
1
2
3
4

通讯模板常用方法如下:

方法名 返回类型 方法描述
getGroups Array< Group > 获取通讯模板配置的群组
setGroups void 设置通讯模板的群组配置

# 事件模板

可自由配置事件数据。示例代码如下:

//通讯模板声明
let eventModelData = new Cellsys.EventModelData({
    "eventSets": [eventSet1, eventSet2], //参数为eventSet对象数组
}
1
2
3
4

事件模板常用方法如下:

方法名 返回类型 方法描述
setEventSets void 获取事件模板配置的事件集合
getEventSets Array< EventSet > 设置事件模板的事件集合配置

# 随手记模板

可自由配置事件数据。示例代码如下:

//随手记模板声明
let notesModelData = new Cellsys.NotesModelData({
    "eventSets": [eventSet1, eventSet2], //参数为eventSet对象数组
}
1
2
3
4

随手记模板常用方法如下:

方法名 返回类型 方法描述
setEventSets void 获取随手记模板配置的事件集合
getEventSets Array< EventSet > 设置随手记模板的事件集合配置

注:事件模板和随手记模板在数据类型的配置上是一样的,都是由事件组成。它们的区别主要实在在界面呈现、使用场景上。

# 进度模板

可将事件集合以进度的形式表现。示例代码如下:

//进度模板声明
let progressModelData = new Cellsys.ProgressModelData({
    "eventSets": [eventSet1, eventSet2], //参数为eventSet对象数组
}
1
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
})
1
2
3
4
5
6
7
8

报告模板常用方法如下:

方法名 返回类型 方法描述
setReportName void 设置报告名称
setImgAlign void 设置图片对齐方式
setTextAlign void 设置文字对齐方式
queryEvents Promise< QueryResult > 查询报告模板配置的事件要素信息