How to write information via SUST API¶
v1.01 编写:张诚
本系统采用非对称加密形式完成数据对接,采用 openssl 生成 RSA 公私钥进行数据加解密。对接流程如下:
1 获取公密¶
在学工系统上注册,由学工部信息科提供。需要提供应用名称、应用地址、需要的 Api 名称,其中应用地址在测试阶段不做要求,上线后需用。
2 获取应用 id¶
应用注册完成后,会同步生成应用编号,该文本将成为 ClientId。
3 对接接口¶
系统的统一写入 API 接口为:
公网:域名/openapi/apiput/index
访问方式:POST 方式
4 对接方式¶
请求参数如下:
参数 |
必要性 |
说明 |
|---|---|---|
ClientId |
必要 |
应用 id |
AuthStr |
必要 |
权限、时间验证码(见下) |
AuthStr 为全局认证变量,其中包含 API 接口名称、时间验证等信息。其生成方式为:
连接字符串为:ApiName&时间戳
将该字符串利用公密进行加密
再使用 base64_encode 加密之后传送
示例:要访问学生列表,其 Api 名为 StudentList,假设当前时间戳为 1730189433。
构造字符:StudentList&1730189433
公密加密:sadsadjsldjljflcvjlcvjlxcvjlxcvjlxcvj
base64_encode 加密:fgldjflgjfdlgjdljasdhkjasdhas
访问:
openapi/api/index?ClientId=xxxx&AuthStr=fgldjflgjfdlgjdljasdhkjasdhas&其他参数
服务器会验证权限及时间是否过期,若错误会显示对应的错误信息。
5 插入数据接口¶
5.1 学生请假数据插入¶
注意:此时的 API 应该使用写入 API 接口
Api 名称:addLeave
数据格式为:
{
"UUID": "550e8400e29b41d4a716446655440000",
"student_id": "202310001",
"student_name": "李小明",
"leave_type": 2,
"begin_time": "2023-10-15 08:00:00",
"end_time": "2023-10-17 18:00:00",
"leave_reason": "因家中有事需要回家处理,特此请假三天",
"apply_time": "2023-10-14 14:30:00",
"back_time": null,
"leave_status": 1,
"back_status": 0,
"is_deleted": 0
}
UUID 为系统唯一码,用于更新数据,如需请假删除请更新删除表示位。
请假类型默认:1 事假,2 病假
leave_status 默认为 1,back_status 为销假状态(0,1)。back_time 为空时,请传递 null,不要传递空字符。
数据返回:
{
"code": 200,
"msg": "记录添加成功",
"data": {
"UUID": "550e8400e29b41d4a716446655440003",
"student_id": "202310001",
"student_name": "李小明",
"leave_type": 2,
"begin_time": "2023-10-15 08:00:00",
"end_time": "2023-10-17 18:00:00",
"leave_reason": "因家中有事需要回家处理,特此请假三天",
"apply_time": "2023-10-14 14:30:00",
"back_time": null,
"leave_status": 1,
"back_status": 0,
"is_deleted": 0,
"update_time": "2025-10-14 11:12:53"
}
}
添加更新使用同一个 API 及 Api 名称,以 UUID 唯一值判断新增或更新。
当 is_deleted 为 1 时为删除动作。
数据更新示例:
{
"UUID": "550e8400e29b41d4a716446655440001",
"student_id": "202310001",
"student_name": "李小明",
"leave_type": 2,
"begin_time": "2023-10-15 08:00:00",
"end_time": "2023-10-17 18:00:00",
"leave_reason": "因家中有事需要回家处理,特此请假三天",
"apply_time": "2023-10-14 14:30:00",
"back_time": null,
"leave_status": 1,
"back_status": 0,
"is_deleted": 0
}
数据更新返回:
{
"code": 200,
"msg": "记录添加成功",
"data": {
"UUID": "550e8400e29b41d4a716446655440001",
"student_id": "202310001",
"student_name": "李小明",
"leave_type": 2,
"begin_time": "2023-10-15 08:00:00",
"end_time": "2023-10-17 18:00:00",
"leave_reason": "因家中有事需要回家处理,特此请假三天",
"apply_time": "2023-10-14 14:30:00",
"back_time": null,
"leave_status": 1,
"back_status": 0,
"is_deleted": 0,
"update_time": "2025-10-14 11:12:42"
}
}