# How to read information via SUST API v1.01 编写:张诚 本系统采用非对称加密形式完成数据对接,采用 openssl 生成 RSA 公私钥进行数据加解密。对接流程如下: ## 1 获取公密 在学工系统上注册,由学工部信息科提供。需要提供应用名称、应用地址、需要的 Api 名称,其中应用地址在测试阶段不做要求,上线后需用。 ## 2 获取应用 id 应用注册完成后,会同步生成应用编号,该文本将成为 ClientId。 ## 3 对接接口 系统的统一读取 API 接口为: - 公网:域名/openapi/api/index - 私网:http://ip/xgb/index.php/openapi/api/index 访问方式:GET 方式 ## 4 对接方式 请求参数如下: | 参数 | 必要性 | 说明 | |----------|-----|--------------| | ClientId | 必要 | 应用 id | | AuthStr | 必要 | 权限、时间验证码(见下) | AuthStr 为全局认证变量,其中包含 API 接口名称、时间验证等信息。其生成方式为: - 连接字符串为:ApiName&时间戳 - 将该字符串利用公密进行加密 - 再使用 base64_encode 加密之后传送 示例:要访问学生列表,其 Api 名为 StudentList,假设当前时间戳为 1730189433。 1) 构造字符:StudentList&1730189433 2) 公密加密:sadsadjsldjljflcvjlcvjlxcvjlxcvjlxcvj 3) base64_encode 加密:fgldjflgjfdlgjdljasdhkjasdhas 4) 访问: ```text openapi/api/index?ClientId=xxxx&AuthStr=fgldjflgjfdlgjdljasdhkjasdhas&其他参数 ``` 服务器会验证权限及时间是否过期,若错误会显示对应的错误信息。 ## 5 API 接口 ### 5.1 学生信息列表 Api 名称:StudentList 扩展参数: | 参数 | 必填 | 说明 | |----------|----|-------------------------| | XH | 否 | 学号 | | XM | 否 | 姓名 | | page | 否 | 分页页码(默认 1 页) | | pagesize | 否 | 页数(默认 1000 条) | | date | 否 | 增(改)量数据判断时间(2024-10-29) | 返回参数解释: | 参数 | 说明 | |------------|--------------------| | XM | 姓名 | | XH | 学号 | | BJMC | 班级名称 | | ZYMC | 专业名称 | | DWMC | 学院名称 | | NJ | 年级 | | MZ | 民族码 | | ZZMM | 政治面貌码 | | XZ | 学制 | | PYCC | 培养层次 | | XSZT | 学生状态(1 在校,其他都是不在校) | | updatetime | 更新时间 | ### 5.2 教师信息列表 Api 名称:TeacherList 扩展参数: | 参数 | 必填 | 说明 | |----------|----|-------------------------| | GH | 否 | 工号 | | XM | 否 | 姓名 | | page | 否 | 分页页码(默认 1 页) | | pagesize | 否 | 页数(默认 1000 条) | | date | 否 | 增(改)量数据判断时间(2024-10-29) | 返回参数解释: | 参数 | 说明 | |------------|---------------------| | XM | 姓名 | | XH | 学号 | | DWMC | 学院名称 | | TYPE | 1.学校管理员,2.副书记,3.辅导员 | | updatetime | 更新时间 | ### 5.3 教师班级权限获取 Api 名称:Teacher2Class 扩展参数: | 参数 | 必填 | 说明 | |----------|----|-------------------------| | GH | 否 | 工号 | | XM | 否 | 姓名 | | page | 否 | 分页页码(默认 1 页) | | pagesize | 否 | 页数(默认 1000 条) | | date | 否 | 增(改)量数据判断时间(2024-10-29) | 返回参数解释: | 参数 | 说明 | |------------|---------------------| | XM | 姓名 | | XH | 学号 | | DWMC | 学院名称 | | TYPE | 1.学校管理员,2.副书记,3.辅导员 | | CLASSLIST | 管辖班级列表 | | updatetime | 更新时间 | ### 5.4 消息推送 Api 名称:SendMsg 扩展参数: | 参数 | 必填 | 说明 | |-----------|----|------------------| | toPersons | 是 | 工号/学号 | | Content | 是 | 消息内容,支持 HTML(\*) | | Url | 否 | 链接地址 | - 简单的 HTML 代码,例如: ```html 你好,请点击此处进入学校官网,感谢您!\r\n 感谢您对学工部信息科工作的支持! ``` \r\n 为换行符。 ### 5.5 请假信息 Api 名称:LeaveList 扩展参数: | 参数 | 必填 | 说明 | |----------|----|-------------------------| | XH | 否 | 学号 | | XM | 否 | 姓名 | | page | 否 | 分页页码(默认 1 页) | | pagesize | 否 | 页数(默认 1000 条) | | date | 否 | 增(改)量数据判断时间(2024-10-29) | 返回参数解释: | 参数 | 说明 | |------------|---------------------| | id | 增量 id | | XM | 姓名 | | XH | 学号 | | QJKSSJ | 开始时间 | | QJJSSJ | 结束时间 | | QJXJSJ | 销假时间(如果存在以该字段为结束时间) | | updatetime | 更新时间 | ### 5.6 学生在校信息 Api 名称:StudentStatus 扩展参数: | 参数 | 必填 | 说明 | |----------|----|-------------------------| | XH | 否 | 学号 | | XM | 否 | 姓名 | | page | 否 | 分页页码(默认 1 页) | | pagesize | 否 | 页数(默认 1000 条) | | date | 否 | 增(改)量数据判断时间(2024-10-29) | 返回参数解释: | 参数 | 说明 | |------------|--------------------| | id | 增量 id | | XM | 姓名 | | XH | 学号 | | QJKSSJ | 离校开始时间(管理员会动态调整时间) | | QJJSSJ | 离校结束时间(管理员会动态调整时间) | | updatetime | 更新时间 |