Back to top

区域云开放平台

开发者服务协议

重要须知:北京讯飞乐知行软件有限公司(以下简称“乐知行”)在此特别提醒您认真阅读本《开发者协议》(下称《协议》), 包括免除或者限制乐知行责任的免责条款及对用户的权利限制。请用户审阅并接受或不接受本《协议》。用户接受此《协议》后,本协议即构成对双方有约束力的法律文件。

名词解释

  • 开发者

指经有效申请并经过区域云承建单位同意,将其开发的各种应用接入基于区域教育云开放平台而向用户提供各种服务的,具备民事行为能力的个人、企业。

  • 应用

指由开发者开发的可向用户提供各种服务的应用程序及网站,包括但不限于游戏类服务、工具类服务、教育类服务、视频或音乐类服务等现存的各种服务及今后可能出现的各种服务。

  • 云平台区级管理员

是指经乐知行授权的、区域云承建单位即区域数字校园管理员。简称“区级管理员”。

  • 区域云开放平台

指由乐知行研发、拥有、经营,并提供给区域云承建单位的开发平台。以下简称为“云平台”。

  • 云平台学校

是指购买了云平台服务、经区域云承建单位及乐知行授权允许迁入云平台的学校。

  • 云平台校级管理员

是指云平台学校对平台及应用进行维护、授权的管理员。简称“校级管理员”。

  • 云平台用户

是指所在学校为云平台学校、具有登陆区级门户及应用商店权限的使用者。泛指学校的教师、学生、家长。

开发者的权利和义务

  • 开发者保证:对开发者在云平台发布的应用、授权网站及利用云平台实施的活动真实、准确、完整、安全;不存在任何欺诈成分,不侵犯任何组织或个人的合法权益;不违反任何法律、法规、条例或规章;对于开发者行为所造成的任何法律责任,由开发者单独承担,若由此给乐知行及其关联公司造成任何损失,则开发者需足额赔偿。

  • 开发者在其应用设计上应当重视用户体验,尊重用户知情权、选择权,应用应当坚持诚信原则,不误导、欺诈、混淆用户,尊重用户的隐私,不骚扰用户,不制造垃圾信息。

  • 开发者不得在应用内宣传与本应用无关的任何其他信息,包括但不限于广告、其他的应用产品信息等。

  • 云平台提供统一的消息出口,开发者不得直接联系云平台用户,或向云平台用户发布任何商业广告及骚扰信息。

  • 未经另行书面许可,开发者不得使用乐知行及云平台的任何商业标识。

  • 开发者保证其上传给云平台的应用和提供给用户的相关服务,不违反当地相关法律、法规、政策的规定;不涉及有损中华人民共和国国家安全和利益的信息;也不涉及任何反动、色情、迷信、赌博、诽谤他人等违法信息;且不会侵犯任何人的合法权益,包括但不限于知识产权、名誉权、肖像权、商业秘密等。开发者因违反上述条款所引起的纠纷、赔偿责任等一律由开发者自行承担,若由此给乐知行造成损失的,开发者应当承担赔偿责任。

  • 开发者保证在授权程序和服务的运营过程中,由用户使用应用或服务产生的内容,包括但不限于留言、消息、评论、名称等,不违反授权区域法律、法规、政策的规定,不涉及有损中华人民共和国国家安全和利益的信息,也不涉及任何反动、色情、迷信、赌博、诽谤他人、侵权等违法信息,若有上述情形出现,开发者会及时删除或其采取他合理措施。开发者违反本条款所引起的任何争议、处罚和其他法律责任等,由其自行承担责任,给乐知行造成损失的,开发者应予以足额赔偿。

  • 开发者保证,其应用不得直接或间接从事请求、收集、索取或以其他方式获取用户帐号、密码或其他任何身份验证凭据,若有上述情况出现,乐知行有权根据其情节,对开发者做出警告、限制服务、关闭应用入口、终止服务等处理。开发者需负责赔偿因开发者违反上述情况而给用户、大兴区或乐知行造成的一切损失。

  • 开发者应用在云平台上运行期间,开发者需向云平台学校及用户提供与应用相关的客户服务并保证服务质量。客户服务形式包括但不限于通过明确且合理的方式告知用户客户服务渠道、提供培训、提供即时通讯方式、电话等,且此客户服务的成本由开发者承担。若因客户服务侵害到他人权益并给他人造成损失的,则开发者应承担全部责任;如侵害到乐知行权益并给乐知行造成损失,则开发者应承担回复声誉的责任,并足额赔偿由此给乐知行造成的一切损失。

  • 开发者同意接收来自乐知行及区级管理员发出的邮件、信息,包括但不限于关于平台通知、用户利益、商业推广的信息等;开发者如需向乐知行进行通知,应当通过乐知行对外正式公布的通信地址、电子邮件地址等联系信息送达;开发者联系用户时应通过消息中心统一发送消息。

乐知行的权利和义务

  • 乐知行有权在数字校园平台上通过多种形式,包括但不限于应用介绍、服务介绍等,向用户阐述该应用由开发者开发并由该开发者向用户提供客户服务等。

  • 开发者因违反相关法律法规而被取缔运营,或因违规操作被网络监管部门查封所引发的全部责任,由开发者独立承担。情节严重并给乐知行及其关联公司带来不利影响的,开发者须赔偿其所有损失,并负责恢复声誉,此情况下乐知行有权单方终止本协议。

  • 乐知行可通过网页公告、电子邮件、手机短信或常规的信件传送等方式向开发者发出通知,该等通知在发送时即视为已送达收件人。

协议内容修改

  • 本协议下的条款乐知行有权随时变更,开发者须定期审阅本协议。开发者如不同意乐知行对本协议的所作的任何变更,应立即停止使用提供的服务。如开发者在本协议变更后继续使用乐知行的服务,即视作开发者已完全同意变更后的协议。

  • 用户在使用乐知行提供的各项服务之前,应仔细阅读本服务协议,如用户不同意本服务协议及/或随时对其的修改,请停止使用乐知行提供的服务。

免责事由

如发生下述任一情况而导致服务中断及开发者损失的,乐知行不承担责任:

  • 发生不可抗力情形的;

  • 黑客攻击、计算机病毒侵入或发作的;

  • 计算机系统遭到破坏、瘫痪或无法正常使用的;

  • 电信部门技术调整的;

  • 因政府管制而造成暂时性关闭的;

  • 其它非因乐知行的过错而引起的。

应用发布流程

区级平台分为两部分:云应用商店,区级平台。开发者通过在云应用商店注册,添加自己的应用为用户提供应用来源。应用的开发和部署由开发者自行完成,其中云平台可提供相关接口、数据。

发布流程

详细操作流程

应用的授权和使用

应用使用三级授权机制,首先开发者和区级管理员授权,两者通过授权之后校级管理员可从管理入口添加应用到我校。普通用户再通过从商店添加应用可将应用图标添加到桌面使用。

应用设计规范

第三方产品在 设计方案时需要遵循所给通用规范,由于内容广泛性,如果规范不足以满足需求,可以自由设计。设计原则如下:

1 、整体风格统一 网页元素以纯色为主, 扁平化,投影不可过大,无渐变效果

2 、页面使用素材 素材需要精致简结,扁平素材

3 、页面色彩 一个页面的颜色不可超过三种,且无大面积色彩使用的情况。颜色饱和度不可过高或者太亮

4 、页面留白 页面留白以5px 10px 为单位

5 、页面布局 布局请遵循990栅格

应用数据接入流程

注册客户端

数据对接前需要联系数据互操作中心运维负责人注册客户端,并申请需要订阅的基础数据,注册完成后可以获取到客户端标识(agent)和秘钥(accesskey)

数据初始化

如果应用是第一次接入,需要从数据中心一次性同步所有数据,实现数据的初始化,基础数据初始化流程如图所示。

基础数据初始化示例代码请查看“queryDemo.zip”,里面有项目相关介绍。

数据增量同步

数据初始化之后,数据中心实时变化(新增,删除,修改)的数据通过消息的形式,把变化的数据分发到各个订阅的客户端的数据消息队列(基于activemq)中。订阅的客户端只需要从各自的数据消息队列接收消息,对数据消息的进行解析,解析完成后,按照各自应用业务的要求,进行数据存储,即可实现增量数据的实时同步”。

消息接收

下面以java语言为例,简单说明一下异步和同步两种接收方式的实现(可随便选择一种进行消息接收,推荐异步方式),完整的代码可以在“receiveDemo.zip”中查阅,里面包括了同步和异步接收数据的实现。

  • 异步接收

通过实现activemq的MessageListener接口,重写onMessage()方法来监听客户端消息队列,只要消息队列中有新的消息,就会回调执行onMessage()方法,客户端只需要在onMessage()方法中实现自己的业务逻辑就可以了

  • 同步接收

使用consumer.receive() 或 consumer.receive(int timeout)接受消息,消息的接收客户端会一直等待下去,直到有消息到达,或者超时,由于不知道要接受多少条数据,所以使用while (true) 死循环直接在接受消息。

消息格式

队列中的消息是json格式的数组,其中

  • objectKey:基础数据标识

  • event:数据操作类型,包括INSERT(新增) ,MODIFY(修改),DELETE(删除)

  • dataList:基础数据数组,每个对象的属性与第一章基础数据中的数据属性保持一直

以basedata-school修改消息为例,格式如下:

[
    {
        "event": "MODIFY",
        "objectKey": "basedata-school",
        "dataList": [{
            "id": "748704e3ae5d422494b4a75cd840647b",
            "schoolName": "北京市大兴区榆垡镇第一中心小学",
            "address": "北京市大兴区榆垡镇",
            "description": "这里是北京市大兴区第一中心小学",
            "email": "zeng15244610279@163.com",
            "parentId": "9847eb920e84470cbcf0065aec71370c",
            "postcode": "102602",
            "schoolCode": "1101100001",
            "schoolLevel": "95ecafa4c3204573984183",
            "telephone": "12345678912",
            "delFlag": 0
        }],
    }
]

接口提供的数据列表

组织机构分类信息

数据标识为:basedata-schoollevel

属性 类型 长度 描述
id varchar 32 标识号,唯一标识
levelName varchar 32 机构分类名称
levelOrder int 10 机构分类排序

示例

{
    "id":"95ecafa4c32045739841838aa12dd1b9",
    "levelName":"小学",
    "levelOrder":1
}

查询参数

参数 描述
id 标识号,唯一标识

示例 查询id等于95ecafa4c32045739841838aa12dd1b9的组织机构分类列表

{
    rules: [{ field: 'id', op: 'eq', data: '95ecafa4c32045739841838aa12dd1b9'}],
    page:1,
    limit:1
}

组织机构基本信息

数据标识为:basedata-school

属性 类型 长度 描述
id varchar 32 标识号,唯一标识
schoolLevel varchar 32 机构分类标识号,引用“组织机构分类信息”中的标识号属性
parentId varchar 32 父机组织构标识号,引用“组织机构基本信息”中的标识号属性,可以为空,为空表示一级组织机构基本信息。
schoolCode varchar 32 机构编码
schoolName varchar 100 学校名称
postcode varchar 32 学校邮编
address varchar 128 学校地址
description varchar 255 学校描述

示例

{
    "id": "748704e3ae5d422494b4a75cd840647b",
    "schoolName": "北京市大兴区榆垡镇第一中心小学",
    "address": "北京市大兴区榆垡镇",
    "contact": "ad764004c5d64381911e9fe3fd6532eb",
    "description": "这里是北京市大兴区榆垡镇第一中心小学网站, 我们主要经营实施小    学义务教育,促进基础教育发展",
    "parentId": "9847eb920e84470cbcf0065aec71370c",
    "postcode": "102602",
    "schoolCode": "1101100001",
    "schoolLevel": "95ecafa4c32045739841838aa12dd1b9"
}

教师基本信息

数据标识为:basedata-teacher

属性 类型 长度 描述
id varchar 32 标识号,唯一标识
schoolId varchar 32 现工作单位标识号,引用”组织机构基本信息”中的标识号属性
name varchar 50 姓名
sex varchar 10 性别
teacherno varchar 40 教职工号
birthday varchar 10 出生日期(yyyy-mm-dd)
nation varchar 100 国籍
nativePlace varchar 100 籍贯
nationality varchar 100 民族
cardid varchar 100 身份证号
politicalStatus varchar 100 政治面貌
joinPartyDate varchar 10 入党日期(yyyy-mm-dd)
tel varchar 10 手机号码
email varchar 100 邮箱
address varchar 100 家庭住址
title varchar 100 职称

示例

{
    "id": "1D23F2FECA984E03A6FBDC159B4AE831",
    "schoolId": "748704e3ae5d422494b4a75cd840647b",
    "name": "小码农",
    "sex": "男",
    "teacherno": "lzx001",
    "birthday": "1990-11-11",
    "nation": "中国",
    "nativePlace": "北京",
    "nationality": "汉",
    "cardid": "410901197212150101",
    "politicalStatus": "中国共产党",
    "joinPartyDate": "2001-01-01",
    "tel": "18500107689",
    "phone": "010-66666666",
    "qq": "88888888",
    "email": "zengjun@lezhixing.com.cn",
    "address": "北京市海淀区",
    "startWorkDate": "1995-12-15",
    "degree": "本科",
    "major": "软件工程",
    "graduateSchool": "北京理工大学",
    "graduateDate": "1992-07-15",
    "hDegree": "硕士",
    "hMajor": "计算机科学与技术",
    "hGraduateSchool": "北京师范大学",
    "hGraduateDate": "1995-07-15",
    "title": "高级讲师",
    "evaluateTitleDate": "1997-07-15",
    "backboneLevel": "市级骨干",
    "evaluateBackboneLevelDate": "1998-07-15",
    "mandarinLevel": "一级甲等"
}

学段基本信息

数据标识为:basedata-level

属性 类型 长度 描述
id varchar 32 标识号,唯一标识
name varchar 20 学段名称
inschoolage int 11 入学年龄
length int 11 学制
levelorder int 11 排序
levelshort varchar 10 学段名称简称
used int 1 是否使用,1在用,0不在用

示例

{
    "id": "c4ca4238a0b923820dcc509a6f75849b",
    "inschoolage": 6,
    "length": 6,
    "levelorder": 1,
    "levelshort": "小",
    "name": "小学",
    "used": 1
}

班级基本信息

数据标识为:basedata-class

属性 类型 长度 描述
id varchar 32 标识号,唯一标识
schoolId varchar 32 学校id,引用“组织机构基本信息”标识号
levelid varchar 32 所属学段id, 引用“学段基本信息”中的标识号属性
gradeid varchar 32 所属年级id, 引用“年级基本信息”中的标识号属性
name varchar 20 班级名称
levelorder int 11 排序
levelshort varchar 10 学段名称简称
used int 1 是否使用,1在用,0不在用
rxnd varchar 10 入学年度(如2014)
bynd varchar 10 毕业年度(如2017)

示例

{
    "id": "c4ca4238a0b923820dcc509a6f75849b",
    "schoolId": "c4ca4238a0b923820dcc509a6f75849b",
    "levelid": "1",
    "gradeid": "12013002c08c8743343d4b74142128471be17",
    "name": "1班",
    "levelorder": 6,
    "levelshort": "小",
    "used": 1,
    "rxnd": "2014",
    "bynd": "2020"
}

学生基本信息

数据标识为:basedata-student

属性 类型 长度 描述
id varchar 32 标识号,唯一标识
classId varchar 32 学生所属班级id, 引用“班级基本信息”中的标识号属性
studentno varchar 40 学生学籍号
name varchar 30 姓名
idCard varchar 50 身份证号码
address varchar 60 住址
telephone varchar 32 手机号
sex varchar 11 性别,9001001(男)/9001002(女)/9001002(未知)
birthday varchar 10 出生日期(yyyy-mm-dd)
email varchar 30 邮箱
eduId varchar 20 教育id号

示例

{
    "id": "000021611aae7475962d01dcbd1e04ac",
    "classId": "253f70d6d1b83eb5198e519ec780ee9a",
    "studentno": "11012892",
    "name": "学生",
    "idCard": "234567199305062345",
    "address": "北京市",
    "telephone": "13000000000",
    "sex": "9001001",
    "birthday": "2011-10-10",
    "email": "test@lezhixing.com.cn",
    "eduId": "11012892"
}

用户基本信息

数据标识为:basedata-user

属性 类型 长度 描述
id varchar 32 标识号,唯一标识
schoolId varchar 32 学校id,引用“组织机构基本信息”标识号
username varchar 60 用户名
baseinfoId varchar 32 基本信息id,(学生引用“学生基本信息”的标志号,教师引用“教师基本信息”的标志号,家长引用孩子的标志号”)
usertype varchar 1 用户类型(2:教师,3:家长,4:学生)
usernumber varchar 40 用户编号(学生引用“学生基本信息”的学籍号studentno,教师引用“教师基本信息的教职工号teacherno,家长引用孩子的学籍号”)
name varchar 30 姓名
blocked int 1 账号状态,1使用,0禁用
uid int 11 用户短id
usertel varchar 30 手机号

示例

{
    "id": "0000371dcb18460eb41ebe82b70b8f52",
    "schoolId": "0010371dcb18460eb41ebe82b70b8f52",
    "username": "yonghu@show",
    "baseinfoId": "0000371dcb18460eb41ebe82b70b8f52",
    "usertype": "2",
    "usernumber": "56784321",
    "name": "用户",
    "blocked": 1,
    "uid": "1234",
    "usertel": "13000000000"
}

科目字典基本信息

数据标识为:basedata-courseCode

属性 类型 长度 描述
id varchar 32 标识号,唯一标识
name varchar 20 科目名称
englishName varchar 20 英文名
order int 11 排序
thirdId varchar 32 第三方id

示例

{
    "id": "8630815e3d9511e6809626d7c75c7844",
    "name": "语文",
    "englishName": "Chinese",
    "order": 1,
    "thirdId": "01"
}

教学周期信息

数据标识为:basedata-period

属性 类型 长度 描述
id varchar 32 标识号
name varchar 32 周期名称
startWeek int 11 开始周
endWeek int 11 结束周
xn varchar 32 学年
xq varchar 32 学期
schoolId varchar 32 学校Id(引用”组织机构基本信息”中的标识号属性。)
order int 11 排序
thirdId varchar 32 第三方周期Id
userId varchar 32 操作人UserId(引用“用户基本信息中”的标识号属性

示例

{
    "id": "010eadf34cd74159ad32dd6edcd6999d",
    "name": "单周",
    "startWeek": 6,
    "endWeek": 6,
    "xn": "2016-2017",
    "xq": "第二学期",
    "schoolId": "37ba331037d444968e45bcb4fc7a2514",
    "order": 6,
    "thirdId": "010eadf34cd74159ad32dd6edcd6999d",
    "userId": "0431c683405e11e7b17f6c92bf46542e"
}

标准课程信息

数据标识为:basedata-courseStandard

属性 类型 长度 描述
id varchar 32 标识号
name varchar 100 标准课程名称
englishName varchar 100 标准课程英文名称
sys int 2 是否系统默认
schoolId varchar 32 学校Id(引用“组织机构基本信息”中的标识号属性。)
courseCodeId varchar 32 科目字典ID(引用“科目字段基本信息”中的标识号属性)
source char 1 是否字典学科(0为字典学科,1为学校自定义学科)

示例

{
    "id": "003e693485ce4f919f03ff08bef03373",
    "name": "思想品德",
    "englishName": "Thought and morality",
    "sys": 0,
    "schoolId": "37ba331037d444968e45bcb4fc7a2514",
    "courseCodeId": "8632bbb13d9511e6809626d7c75c7844",
    "source": "0"
}

课程信息

数据标识为:basedata-course

属性 类型 长度 描述
id varchar 32 标识号
name varchar 64 课程名称
shortName varchar 64 课程简称
sys char 1 1系统课程,2非系统课程
schoolId varchar 32 学校Id(引用“组织机构基本信息”中的标识号属性。)
course_standard_id varchar 32 标准课程ID (引用“标准课程信息”中的标识号属性)
third_course_id varchar 32 第三方课程ID

示例

{
    "id": "0006b2fa706843d680cec2f9ad2d6359",
    "name": "音乐",
    "shortName": "音乐",
    "sys": "0",
    "schoolId": "37ba331037d444968e45bcb4fc7a2514",
    "course_standard_id": "a85be7a2b00111e49846ab4a71596906",
    "third_course_id": "10"
}

课程管理信息

数据标识为:basedata-courseManage

属性 类型 长度 描述
id varchar 32 标识号
courseId varchar 32 课程id(引用“课程信息”中的标识号)
xn varchar 32 学年
xq varchar 10 学期
courseTime varchar 16 课时
classType varchar 32 教室类别
periodId varchar 32 教学周期id(引用“教学周期信息”中的标识号)
remark text 课程描述信息
classId varchar 32 班级ID(引用“班级基本信息”中的标识号)
isFc int 1 是否分层

示例

{
    "id": "000128b20c6e4643a69e6227f0acaf2e",
    "courseId": "ef91766025124c63b6b35316aacf5890",
    "xn": "2016-2017",
    "xq": "第二学期",
    "courseTime": "5",
    "classType": "ptjs",
    "periodId": "9b26f8c90ea346b39c2a359cf50eac8f",
    "remark": "",
    "classId": "71ee155ac1936c6ccd28f42c38973ab4",
    "isFc": 0
}

教师授课安排信息

数据标识为:basedata-courseTeach

属性 类型 长度 描述
courseTeachId varchar 32 标识号
teacherId varchar 32 教师id(引用“教师基本信息”中的标识号)
teacherName varchar 32 教师姓名
classId varchar 32 班级Id(引用“班级基本信息”中的标识号)
className varchar 32 班级名称
subjectId varchar 32 标准课程Id(引用标准课程信息中的标识号)
subjectName varchar 100 标准课程名称
schoolId varchar 32 学校Id(引用“组织机构基本信息”中的标识号)
xn varchar 32 学年
xq varchar 10 学期

示例

{
    "idcourseTeachId": "0000ad3063c343b79587b02b30bb4728",
    "teacherId": "0791ed34381a467e8632bb98efdde57d",
    "teacherName": "教师",
    "classId": "0f3430160e00e6104015a451e37da2e2",
    "className": "1班",
    "subjectId": "2d67f89b1cff475d997e5817d05c1e58",
    "subjectName": "思想品德",
    "schoolId": "37ba331037d444968e45bcb4fc7a2514",
    "xn": "2016-2017",
    "xq": "第二学期"
}

排课结果信息

数据标识为:basedata-classArrangement

属性 类型 长度 描述
classarrangementId varchar 32 标识号
courseTeachId varchar 32 教师授课安排标识号
tableId varchar 32 周节次(如:1,2 代表周一第二节课)
classRoomId varchar 32 教室Id
area varchar 32 教室所属校区
no varchar 32 教室楼号
layer int 11 教室楼层
number varchar 40 教室编号
schoolId varchar 32 学校ID
isLock int 1 是否锁定
dsz int 1 单双周(0普通,1单周,2双周)
courseTime varchar 4 课程时长

示例

{
    "classarrangementId": "0887d02d8fc44581a19eac051bca8720",
    "courseTeachId": "4a86c4398cc64bad93a6dda039a694f6",
    "tableId": "2,3",
    "classRoomId": "0f3430160e00e6104015a451e37da2e2",
    "area": "本",
    "no": "东校区",
    "layer": 8,
    "number": "801",
    "schoolId": "0f3430160e00e6104015a451e37da2e2",
    "isLock": 1,
    "dsz": 1,
    "courseTime": "0"
}

行政班课表信息

数据标识为:basedata-classweektimetable

属性 类型 长度 描述
id varchar 32 标识号
classId varchar 32 班级Id
gradeId varchar 32 年级Id
classname varchar 32 班级名称
classshort varchar 32 班级简称
serial int 11 班级序号
courseId varchar 32 课程ID
teacherId varchar 32 教师ID
schoolId varchar 32 学校ID
tableId varchar 32 周节次(如:1,2 代表周一第二节课)
classRoomId varchar 32 教室ID
weekend varchar 100
changeStatu varchar 10 是否调课
weekStart varchar 10 周开始时间
xn varchar 10 学年
xq varchar 10 学期
dayTime varchar 23 日期(开始上课时间)
courseName varchar 80 课程名称
courseshort varchar 80 课程简称
startTime varchar 20 开始时间(如 16:03)
endTime varchar 20 结束时间(如 18:03)

示例

{
    "id": "06b7e20f3874421093e17d7fae1d70fe",
    "classId": "db10e1e6536b47f9b0f6691abbd2ca28",
    "gradeId": "32017",
    "classname": "1班",
    "classshort": "1",
    "serial": "1",
    "courseId": "1cce8a7d4ad44eda9a8bb8efb874de49",
    "teacherId": "6242ab190e9e40549048f3f70dbf6ad3",
    "schoolId": "0bc0c47dbe2c4265986165fabaef8746",
    "tableId": "2,7",
    "classRoomId": "40f95a5bf0a844daa5d0a2c181a6f9dc",
    "weekend": "11",
    "changeStatu": "",
    "weekStart": "2017-10-09",
    "xn": "2017-2018",
    "xq": "第一学期",
    "dayTime": "2017-10-10",
    "courseName": "语文",
    "courseshort": "语文",
    "startTime": "15:40",
    "endTime": "16:20"
}

分层班课表信息

数据标识为:basedata-classweektimetablefcb

属性 类型 长度 描述
id varchar 32 标识号
classId varchar 32 (分层班)班级Id
gradeId varchar 32 年级Id
classname varchar 32 班级名称
classshort varchar 32 班级简称
serial int 11 班级序号
courseId varchar 32 课程ID
teacherId varchar 32 教师ID
schoolId varchar 32 学校ID
tableId varchar 32 周节次(如:1,2 代表周一第二节课)
classRoomId varchar 32 教室ID
weekend varchar 100
changeStatu varchar 10 是否调课
weekStart varchar 10 周开始时间
xn varchar 10 学年
xq varchar 10 学期
dayTime varchar 23 日期(开始上课时间)
courseName varchar 80 课程名称
courseshort varchar 80 课程简称
startTime varchar 20 开始时间(如 16:03)
endTime varchar 20 结束时间(如 18:03)

示例

{
    "id": "22feaa6414574b4fbd4d438a20f237d5",
    "classId": "8be6a0b3869c4d2a8e2fbff53061c5a7",
    "gradeId": "32017",
    "classname": "数学分层班1",
    "classshort": "数学分层班1",
    "serial": "1",
    "courseId": "1d040a3a55394e26a369faac939961a3",
    "teacherId": "a8d876e2af90467c83d66e72064cb4ee",
    "schoolId": "0bc0c47dbe2c4265986165fabaef8746",
    "tableId": "2,7",
    "classRoomId": "20687ee713824dd3be978e2faf25642a",
    "weekend": "1",
    "changeStatu": "",
    "weekStart": "2017-07-31",
    "xn": "2017-2018",
    "xq": "第一学期",
    "dayTime": "2017-07-31",
    "courseName": "数学",
    "courseshort": "数学",
    "startTime": "15:40",
    "endTime": "16:20"
}

API

申请token令牌

申请token令牌
GET/exchange/auth/token

通过客户端标识和秘钥向数据中心申请token令牌,token失效时间为1小时。

Example URI

GET /exchange/auth/token
URI Parameters
HideShow
agent
string (required) 

注册的客户端标识

rand
string (required) 

8位随机数

sign
String (required) 

签名,生成规则:MD5(agent+accesskey+rand),其中accesskey为客户端秘钥

Response  200
HideShow
Headers
Content-Type: application/json;charset=utf-8
Body
{
  "success": true,
  "msg": "服务器异常",
  "token": "123"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "success": {
      "type": "boolean",
      "description": "是否成功"
    },
    "msg": {
      "type": "string",
      "description": "如果success是false返回失败信息"
    },
    "token": {
      "type": "string",
      "description": "如果success是true返回令牌"
    }
  }
}

获取数据请求地址

获取数据请求地址
POST/exchange/auth/getRequestUrl

由于每个基础数据的来源可能不能,需要根据token令牌和具体的基础数据标识来分别获取数据的真实请求地址。

Example URI

POST /exchange/auth/getRequestUrl
URI Parameters
HideShow
token
string (required) 

通过申请token令牌接口获取的令牌

objectKey
string (required) 

基础数据标识,参见"接口提供的数据列表"

Response  200
HideShow
Headers
Content-Type: application/json;charset=utf-8
Body
{
  "success": true,
  "msg": "服务器异常",
  "url": "http://xxxx"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "success": {
      "type": "boolean",
      "description": "是否成功"
    },
    "msg": {
      "type": "string",
      "description": "如果success是false返回失败信息"
    },
    "url": {
      "type": "string",
      "description": "如果success是true返回查询数据的接口地址"
    }
  }
}

查询数据

查询数据
POST/根据token令牌和基础数据标识获取的真实请求地址l

Example URI

POST /根据token令牌和基础数据标识获取的真实请求地址l
URI Parameters
HideShow
token
string (required) 

通过申请token令牌接口获取的令牌

objectKey
string (required) 

基础数据标识,参见"接口提供的数据列表"

query
string (required) 

查询条件,json格式字符串,格式如下:

{
    groupOp: 'and/or',
    rules: [{ field: '字段名', op: 操作符号, data: '查询数据' }…],
    page:1,
    limit:100
}
  • groupOp和rules参数非必填
  • groupOp rules之间的关系,groupOp不传的话默认是and
  • rules 查询条件的json数组,字段名对应基础数据里的属性(各个基础数据支持的查询属性请查看附录1),op操作符号支持以下操作:eq(等于) bw(以…开始) ew(以…结束) cn(包含),data为具体的查询条件
  • page 【必填】分页查询参数,从第几页开始查询,从1开始
  • limit 【必填】查询的条数
Response  200
HideShow
Headers
Content-Type: application/json;charset=utf-8
Body
{
  "success": true,
  "dataList": [
    {
      "id": "95ecafa4c32045739841838aa12dd1b9",
      "levelName": "小学",
      "levelOrder": "1"
    }
  ]
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "success": {
      "type": "boolean",
      "description": "是否成功"
    },
    "dataList": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "enum": [
              "95ecafa4c32045739841838aa12dd1b9"
            ],
            "description": "学段id"
          },
          "levelName": {
            "type": "string",
            "enum": [
              "小学"
            ],
            "description": "学段名称"
          },
          "levelOrder": {
            "type": "string",
            "enum": [
              "1"
            ],
            "description": "学段排序"
          }
        },
        "required": [
          "id",
          "levelName",
          "levelOrder"
        ],
        "additionalProperties": false
      },
      "description": "数据,注意:里面返回的字段与\"接口提供的数据列表\"中的属性名一致"
    }
  },
  "required": [
    "dataList"
  ]
}

统一身份认证

区域云平台提供统一身份认证解决方案,详见统一身份认证方案

消息集成

区域云平台支持开发者集成消息通知,通过调用消息api发送应用消息通知至消息中心,发送的消息会在消息中心下面显示应用消息,支持点击消息跳转至应用界面。

消息类型

云平台目前支持如下消息类型

消息类型id 类型描述
1 邮件
2 通知
3 计划
4 待办
5 应用通知

【API】发送消息

【API】发送消息
POST/api/message/send

Example URI

POST /api/message/send
URI Parameters
HideShow
timestamp
string (required) 

时间戳

appId
string (required) 

应用id,添加应用之后在详情里面可以查看

nonce
string (required) 

随机数

signature
string (required) 

timestamp,nonce,apikey(初审通过后获得的apiKey)算出来的消息接口验证码,MD5(apiKey + nonce + timestamp)

message
string (required) 

消息列表,json格式字符串,格式如下:

[
    {
        touser: 'admin',
        type: '1',
        content:'Hello World',
        url:'Hello World'
    },
    {...},
    ...
]
  • touser 【必填】接收人用户名,字段取值为用户基本信息订阅对象中的username字段
  • type 【必填】消息类型,传入消息类型id,详见消息集成->消息类型说明
  • content 【必填】消息内容
  • url 【必填】点击消息时的回调地址。要求提供的消息回调地址支持和区域云平台单点登录,这里提供一个方案,传到消息中心的消息地址为:http://xxxx/context/forward?url=A,http://xxxx/context/forward 这个地址专门处理第三方系统单点登录使用的地址,成功后跳转到A地址。
Response  200
HideShow
Headers
Content-Type: application/json;charset=utf-8
Body
{
  "success": true,
  "msg": "服务器异常"
}
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "success": {
      "type": "boolean",
      "description": "是否成功"
    },
    "msg": {
      "type": "string",
      "description": "如果success是false返回失败信息"
    }
  }
}

区域云导航集成

区域云平台支持统一的一级导航栏,开发者可以在页面集成html标签实现一级导航栏的嵌入。

引入方式

开发者在页面中引入html标签,即可完成嵌入一级导航栏,默认一级导航栏放在body中。

<script type="text/javascript" src="区平台地址/openapi/site/header.do"></script>

示例

<body>
<script type="text/javascript" src="区平台地址/openapi/site/header.do"></script>
</body>

如果想要导航显示在指定的容器中,则需要增加如下配置:

varlzxCloudHeaderOptions = {
    containerId: ‘XXX’
};

示例

<body>
<script type="text/javascript">
var lzxCloudHeaderOptions = {
    containerId: ‘lzx_header_container’
};
</script>
<div id="lzx_header_container"></div>
<script type="text/javascript" src="区平台地址/openapi/site/header.do"></script>
</body>

Generated by aglio on 21 Sep 2017