# 六、应用
# (一)应用与应用模板
门户系统中,在组织机构管理、运营他们负责的地区时,业务应用将是管理者最经常关注的"数据集合体"。业务应用旨在将多种数据集中到一个屏幕中显示,让管理者们一目了然的掌握整体情况。
门户系统向组织管理者提供多种预设模板,通过不同模板它们可自由选择自身关心的数据对象,以此来适应不同的应用场景。
在CoreSDK中,业务应用由应用类[Application]表示,模板数据根据模板类型不同,分别由抽象类模板数据[ModelData]的具象化子类表示。如地图模板数据由地图模板数据[MapModelData]表示、通讯模板关联的数据由通讯模板数据[CommModelData]表示。更多模板类参见预设模板。
# (二)应用[Application]
应用[Application]的常用属性如下:
属性名 | 值类型 | 属性描述 |
---|---|---|
name | String | 应用名称 |
remark | String | 备注 |
model | Model | 应用模板基础信息 |
data | ModelData | 模板数据配置信息 |
mapConfig | MapConfig | 地图默认配置 |
themeColor | Color | 应用主题色 |
titleColor | Color | 应用标题色 |
isShowApp | boolean | 是否同步到移动端 |
isPublish | boolean | 是否发布 |
常用方法如下:(get/set方法略)
方法名 | 返回类型 | 方法描述 |
---|---|---|
- | - | - |
# 1、获取应用
初始化成功后,可直接从Cellsys的organization对象中获取应用。具体代码示例如下:
let applications = Cellsys.shared.organization.applications //applications可能为null
if (applications != nil ) {
let application = applications.first
/*属性获取*/
let name = application.name //应用名称
let remark = application.remark //备注
let themeColor = application.themeColor//应用主题色
let titleColor = application.titleColor//应用标题字体颜色
let isShowApp = application.isShowApp//是否在移动端上展示
let isPublish = application.isPublish //是否发布
/*地图配置*/
let mapConfig = application.mapConfig//地图默认配置
let zoom = mapConfig.defaultZoom //默认缩放级别
let center = mapConfig.defaultCenter //默认中心点
/*模板信息*/
let model = application.model//模板信息
let modelName = model.name//模板名称
let modelType = model.type//模板类型
let modelSetInfo = model.modelSetInfo//模板所属集合的简易信息
/*模板数据配置类*/
let modelData = application.data//模板数据配置信息
/*模板数据类可根据模板枚举类型转化为具体子类*/
switch (model.type) {
case ReportModel:
let reportModelData = (ReportModelData) modelData;
break
case ProgressModel:
let progressModelData = (ProgressModelData) modelData;
break
case CommModel:
let commModelData = (CommModelData) modelData;
break
case EventModel:
let eventModelData = (EventModelData) modelData;
break
case NotesModel:
let notesModelData = (NotesModelData) modelData;
break
case MapModel:
let mapModelData = (MapModelData) modelData;
break
default:
//异常:未定义的模板类型
}
}
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
# 2、创建应用
let name = "应用名称"
let remark = "备注信息"
let model = Model.new(id: 1, name: "通讯", modelSetID: 2, modelSetName: "地图显示")
let mapConfig = MapConfig.new(center: MapPoint.new(latitude: 23.246300, longitude: 113.411300), zoom: 16)
let themeColor = Color.new(ribbon: Ribbon.Gray, level: RibbonLevel.L5)
let titleColor = Color.new(ribbon: Ribbon.Cyan, level: RibbonLevel.L5)
organization.createApp(name: name, remark: remark, model: model, mapConfig: mapConfig, themeColor: themeColor, titleColor:titleColor, isShowApp:true) { obj, errorMessage in
//成功
if (obj != nil) {
let app = obj?.data as? Application
}
//失败
if (errorMessage != nil) {
let errorCode = errorMessage?.code //错误码
let errorMsg = errorMessage?.message //错误信息
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# 3、修改应用
application.remark = "备注信息"
organization.updateApp(app: application!) { obj, errorMessage in
//成功
if (obj != nil) {
application = (obj?.data as! Application)
}
//失败
if (errorMessage != nil) {
let errorCode = errorMessage?.code //错误码
let errorMsg = errorMessage?.message //错误信息
}
}
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
# 4、删除应用
organization.deleteApp(app: application!) { obj, errorMessage in
//成功
if (obj != nil) {
}
//失败
if (errorMessage != nil) {
let errorCode = errorMessage?.code //错误码
let errorMsg = errorMessage?.message //错误信息
}
}
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
# (三)预设模板
# 1、预设模板总览
CoreSDK目前提供了以下预设模板(将会陆续追加):
- 地图模板
- 通讯模板
- 事件模板
- 随手记模板
- 进度模板
- 报告模板
# 2、模板数据类配置示例
# (1)地图模板数据类[MapModelData]
可自由配置专题、群组两种数据。
# (2)通讯模板数据类[CommModelData]
可自由配置群组数据。
# (3)事件模板数据类[EventModelData]
可自由配置事件数据。
注:有部分模板在数据类型的配置上是一样的,但它们在界面呈现、使用场景上是有所区别的。例如:事件模板、随手记模板、进度模板等都是以事件为主的应用模板,但使用场景与界面呈现会有不同。
# (4)随手记模板数据类[NotesModelData]
可自由配置事件数据。
# (5)进度模板数据类[ProgressModelData]
可自由配置事件数据。
# (6)报告模板数据类[ReportModelData]
可自由配置事件数据。