在ClassIsland的服务器集控发布前用于服务器的临时解决方案
文档由AI生成,我简单看了一下,没啥大问题,有问题请提交Issues,当然如果你有能力修复你也可以交PR(不要破坏储存库中原来的提示方式)
目前缺的就是 1.能向服务器POST的Windows端软件,其实本来是想做的,但是我比较喜欢UI好看的,然后画UI画累了就鸽掉了...... 2.一个能远程重启ClassIsland的接收端(相应地,上述管理软件应当能与这个接收端通讯)
我目前在缓慢地写这些内容,如果你有能力,你可以调用我的api独立开发类似于如上的软件,可以联系我,相互设置协作者(或填写贡献者等),联系方式见末尾
- 设置常量:
AUTH_URL
:认证服务器地址(必填)DB_PASSWORD
:数据库密密码(必填)DB_PATH
:数据库文件路径(内置,可不修改)
- 接口功能:注册一个新设备。
- 请求方法:
GET
- 请求参数:
api
:必须为register_new_device
。token
:认证令牌。name
:设备的唯一标识符。
- 返回值:
- 成功:
{"status": "设备注册成功", "name": "设备名"}
- 失败:
{"error": "缺少参数: token"}
或{"error": "设备已被注册,请更换ID"}
- 成功:
- 错误处理:
- 缺少
token
或name
时,返回400
错误,提示缺少必要参数。
- 缺少
- 接口功能:获取所有已注册设备的列表。
- 请求方法:
GET
- 请求参数:
api
:必须为get_device_list
。token
:认证令牌。
- 返回值:
- 成功:
{"status": "设备列表", "devices": ["设备1", "设备2", ...]}
- 失败:
{"error": "无效的令牌"}
- 成功:
- 错误处理:
- 缺少
token
时,返回400
错误,提示缺少参数。
- 缺少
- 接口功能:初始化服务并配置相关 URL 和组织名称。
- 请求方法:
GET
- 请求参数:
api
:必须为init
。token
:认证令牌。url
:服务的基础 URL。organization_name
:组织名称。
- 返回值:
- 成功:
{"status": "Service initialized"}
- 失败:
{"error": "缺少参数 token 或 URL"}
- 成功:
- 错误处理:
- 缺少
token
、url
或organization_name
时,返回400
错误,提示缺少参数。
- 缺少
- 接口功能:上传设备的课程表,文件以 Base64 编码形式传输。
- 请求方法:
GET
- 请求参数:
api
:必须为update_class_plan
。token
:认证令牌。name
:设备的唯一标识符。file
:课程表文件的 Base64 编码。
- 返回值:
- 成功:
{"status": "课程表上传", "name": "设备名"}
- 失败:
{"error": "文件保存失败"}
或{"error": "设备未找到"}
- 成功:
- 错误处理:
- 缺少
token
、name
或file
时,返回400
错误,提示缺少必要参数。
- 缺少
- 接口功能:上传设备的时间表,文件以 Base64 编码形式传输。
- 请求方法:
GET
- 请求参数:
api
:必须为update_time_layout
。token
:认证令牌。name
:设备的唯一标识符。file
:时间表文件的 Base64 编码。
- 返回值:
- 成功:
{"status": "时间表上传", "name": "设备名"}
- 失败:
{"error": "文件保存失败"}
或{"error": "设备未找到"}
- 成功:
- 错误处理:
- 缺少
token
、name
或file
时,返回400
错误,提示缺少必要参数。
- 缺少
- 接口功能:上传设备的科目信息,文件以 Base64 编码形式传输。
- 请求方法:
GET
- 请求参数:
api
:必须为update_subject
。token
:认证令牌。name
:设备的唯一标识符。file
:科目文件的 Base64 编码。
- 返回值:
- 成功:
{"status": "科目上传", "name": "设备名"}
- 失败:
{"error": "文件保存失败"}
或{"error": "设备未找到"}
- 成功:
- 错误处理:
- 缺少
token
、name
或file
时,返回400
错误,提示缺少必要参数。
- 缺少
- 接口功能:上传设备的默认设置,文件以 Base64 编码形式传输。
- 请求方法:
GET
- 请求参数:
api
:必须为update_default_settings
。token
:认证令牌。name
:设备的唯一标识符。file
:默认设置文件的 Base64 编码。
- 返回值:
- 成功:
{"status": "默认设置上传", "name": "设备名"}
- 失败:
{"error": "文件保存失败"}
或{"error": "设备未找到"}
- 成功:
- 错误处理:
- 缺少
token
、name
或file
时,返回400
错误,提示缺少必要参数。
- 缺少
- 接口功能:更新设备的策略配置。
- 请求方法:
GET
- 请求参数:
api
:必须为update_policy
。token
:认证令牌。name
:设备的唯一标识符。disable_profile_class_plan_editing
、disable_profile_time_layout_editing
、disable_profile_subjects_editing
等参数:设备策略的各项配置。
- 返回值:
- 成功:
{"status": "Policy updated", "name": "设备名"}
- 失败:
{"error": "设备未找到"}
- 成功:
- 错误处理:
- 缺少
token
或name
时,返回400
错误,提示缺少必要参数。
- 缺少
- 接口功能:获取指定设备的日志信息。
- 请求方法:
GET
- 请求参数:
api
:必须为get_log
。token
:认证令牌。name
:设备的唯一标识符。
- 返回值:
- 成功:
{"status": "Logs retrieved", "logs": "日志内容"}
- 失败:
{"error": "设备未找到"}
或{"error": "无效的令牌"}
- 成功:
- 错误处理:
- 缺少
token
或name
时,返回400
错误,提示缺少必要参数。
- 缺少
- 接口功能:删除指定设备。
- 请求方法:
GET
- 请求参数:
api
:必须为delete_device
。token
:认证令牌。name
:设备的唯一标识符。
- 返回值:
- 成功:
{"status": "Device deleted", "name": "设备名"}
- 失败:
{"error": "设备未找到"}
- 成功:
- 错误处理:
- 缺少
token
或name
时,返回400
错误,提示缺少必要参数。
- 缺少
- 所有接口都会根据缺少必要参数或令牌无效返回相应的错误信息,通常使用 HTTP
400
状态码,并通过 JSON 格式返回错误信息。
遇到问题(或想成为贡献者等)欢迎给我发送邮件[email protected]看见了会回