# CoreSDK简介
CellsysCoreSDK(以下简称CoreSDK)旨在帮助开发者快速对接Cellsys管理门户系统 (opens new window)(以下简称门户系统),开发者通过CoreSDK可快速实现对门户系统中组织数据的查阅和管理。组织数据主要包括人员、地图、设备、事件、任务、业务应用。
# 数据简介
# 组织
门户系统是面向组织机构的应用系统,旨在提供轻便的管理功能。组织是一切服务的基础,在门户系统中,所有数据都会从属于某个组织。因此,在CoreSDK中,组织类[Organization]是所有操作的起始对象。
# 如何创建组织
在门户系统中,创建组织需要向平台申请。详情参阅创建组织 (opens new window)
# 组织类[Organization]
CoreSDK中,组织类[Organization]一方面会保存了组织登记在平台上的基础信息(名称、简称、logo、联系方式等);另一方面,作为起始对象,组织类提供了直接或间接的 获取/管理 组织下所有数据的方法。
# 数据的查询/管理
通过组织[Organization]对象,可直接获取/管理的数据有:
组织[Organization]对象还可直接获取/管理集合数据(借助集合可间接管理其他数据)有:
- 标记集合[MarkerSet]
- 路线集合[LineSet]
- 区域集合[AreaSet]
- 任务集合[TaskSet]
- 设备集合[DeviceSet]
- 事件集合[EventSet]
- 成员角色[MemberRole]
# 集合
在门户系统中,拥有某项共同点的"要素数据"将被分到一个集合。每个数据同一时间只能属于且必须属于一个集合。
要素数据:特指 标记、路线、区域、任务、设备、事件、成员。
通过集合对象可查询从属于该集合下的数据。
# 人员数据
如果您需要对人员进行管理,门户系统提供了多种方法将人员加入到组织中(详情见《门户系统成员管理》 (opens new window))。加入的人员将作为组织的成员[MemberFeature]存在于组织中。
# 成员[MemberFeature]
每一位录入组织的人员,在CoreSDK中表现为成员[MemberFeature]类数据。开发者可通过成员类数据查阅名称、角色、定位、关联的设备、加入的群组等信息。
# 成员角色[MemberRole]
成员角色作为成员的集合,由组织管理员创建和管理。门户系统给成员角色的定义足够的自由度,您可按人员职能进行划分,也可根据实际需要按其他标准划分。
**成员角色[MemberRole]负责管理成员[MemberFeature]在组织中的增删查改。**同时,每个成员角色都可配置默认的图标、地图符号。这么配置对同一集合下的成员有效。
# 群组[Group]
群组[Group]通过组织[Organization]创建,可将组织成员添加到群组中,也可将组织成员从群组移除。一般为了达成某个具体的管理目的,会需要群组[Group]来集结人员。
群组与成员角色的不同:成员角色作为集合,使得一个成员只有一个角色。而群组不是集合,因此一个成员却可以加入不同的群组。
# 地图数据
门户系统作为一个包含轻量级地图的管理系统,提供了5种地图数据:标记、路线、区域、图层、专题。地图数据作为地图元数据(描述地图的数据),它包含坐标、样式、名称、详情等信息。根据这些信息,可在绝大部分地图工具上(比如高德地图、百度地图、腾讯地图等等......)绘制出一幅专项地图。
# 地图要素
CoreSDK中,将标记要素[MarkerFeature]、路线要素[LineFeature]、区域要素[AreaFeature]并称为地图要素。它们也是图层[Layer]、专题[Map]的基础组成要素。
地图要素的增删查改由其所属的集合管理。如标记集合[MarkerSet]可查询、修改、删除其集合下的标记要素[MarkerFeature]。当然,标记集合[MarkerSet]也可以新增一个标记要素[MarkerFeature]到其集合下。
同理,路线要素[LineFeature]由路线集合[LineSet]管理,区域要素[AreaFeature]由区域集合[AreaSet]管理。
# 专题图层
图层[Layer]会关联一个地图要素的集合,将在地图上显示关联集合下的所有地图数据。而专题[Map]则以图层[Layer]为基础单位,包含了你关注的所有地图数据,并可以以图层为单位控制它们的显示和隐藏。专题和地图共同构成一张特定主题的电子地图。
专题[Map]和图层[Layer]不需要集合,它们由组织类[Organization]直接管理。开发者可通过组织对象查询/获取、新增、修改、删除专题和图层。
# 事件
如果说,群组、成员、设备属于组织的资源,那地图数据是每份专题地图的基础数据。这些数据对于一个组织机构而言,那是在管理对象运营之前,事先录入到组织中的数据。而事件、任务等则是组织运营过程中产生的“记录”。
事件的产生通常由成员上报,它用于记录某种事情。这种事情一般属于偶发,突发情况。
CoreSDK中,用事件要素[EventFeature]表示事件。同样的,由事件集合[EventSet]来管理事件要素。开发者可根据事件集合查询、新增、修改、删除集合下的数据。
# 任务
事件是一种偶发的记录,而任务则是一种事先计划好的记录。门户系统中的任务通常由组织的管理员发布,管理员可给任务指派相关人员、群组;可关联任务图形;可设置开始、结束时间。
CoreSDK中,任务由任务要素[TaskFeature]表示,任务要素由任务集合[TaskSet]管理。通过任务集合可对集合下数据进行增删查改。
# 业务应用
门户系统中,在组织机构管理、运营他们负责的地区时,业务应用将是管理者最经常关注的"数据集合体"。业务应用旨在将多种数据集中到一个屏幕中显示,让管理者们一目了然的掌握整体情况。
门户系统向组织管理者提供多种应用模板,通过不同模板它们可自由选择自身关心的数据对象,以此来适应不同的应用场景。比如,对于仅关心人员队伍的应用场景,管理者可使用“通讯模板”来关联群组;对于即关注队伍、还关注一些重要地点的管理者,我们建议使用“地图模板”。因为地图模板可关联群组、专题。更多模板信息参见应用模板。
在CoreSDK中,业务应用由应用类[Application]表示,模板数据根据模板类型不同,分别由抽象类模板数据[ModelData]的具象化子类表示。如地图模板数据由地图模板数据[MapModelData]表示、通讯模板关联的数据由通讯模板数据[CommModelData]表示。更多模板类参见应用模板
# 数据的上下级关系
CoreSDK的数据获取有严格的上下级管理关系。开发者根据在开放平台申请到的token,可获取组织对象Organization。在根据Organization对象获取到对应的Set、Feature数据。
CoreSDK数据的上下级关系如下图:
