Skip to content

在ClassIsland的服务器集控发布前用于服务器的临时解决方案

Notifications You must be signed in to change notification settings

mycbxzd1/ClassIsland_temporary_solution

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ClassIsland_temporary_solution

在ClassIsland的服务器集控发布前用于服务器的临时解决方案

文档由AI生成,我简单看了一下,没啥大问题,有问题请提交Issues,当然如果你有能力修复你也可以交PR(不要破坏储存库中原来的提示方式)

目前缺的就是 1.能向服务器POST的Windows端软件,其实本来是想做的,但是我比较喜欢UI好看的,然后画UI画累了就鸽掉了...... 2.一个能远程重启ClassIsland的接收端(相应地,上述管理软件应当能与这个接收端通讯)

我目前在缓慢地写这些内容,如果你有能力,你可以调用我的api独立开发类似于如上的软件,可以联系我,相互设置协作者(或填写贡献者等),联系方式见末尾


api文档(AI生成,实际使用中遇到错误可自行看PHP源码,或联系我)

api所有返回使用中文,请自行解码

初始化说明

  1. 设置常量
    • AUTH_URL:认证服务器地址(必填)
    • DB_PASSWORD:数据库密密码(必填)
    • DB_PATH:数据库文件路径(内置,可不修改)

API 接口


1. 注册新设备

  • 接口功能:注册一个新设备。
  • 请求方法GET
  • 请求参数
    • api:必须为 register_new_device
    • token:认证令牌。
    • name:设备的唯一标识符。
  • 返回值
    • 成功:{"status": "设备注册成功", "name": "设备名"}
    • 失败:{"error": "缺少参数: token"}{"error": "设备已被注册,请更换ID"}
  • 错误处理
    • 缺少 tokenname 时,返回 400 错误,提示缺少必要参数。

2. 获取设备列表

  • 接口功能:获取所有已注册设备的列表。
  • 请求方法GET
  • 请求参数
    • api:必须为 get_device_list
    • token:认证令牌。
  • 返回值
    • 成功:{"status": "设备列表", "devices": ["设备1", "设备2", ...]}
    • 失败:{"error": "无效的令牌"}
  • 错误处理
    • 缺少 token 时,返回 400 错误,提示缺少参数。

3. 设备注册服务初始化

  • 接口功能:初始化服务并配置相关 URL 和组织名称。
  • 请求方法GET
  • 请求参数
    • api:必须为 init
    • token:认证令牌。
    • url:服务的基础 URL。
    • organization_name:组织名称。
  • 返回值
    • 成功:{"status": "Service initialized"}
    • 失败:{"error": "缺少参数 token 或 URL"}
  • 错误处理
    • 缺少 tokenurlorganization_name 时,返回 400 错误,提示缺少参数。

4. 更新设备的课程表

  • 接口功能:上传设备的课程表,文件以 Base64 编码形式传输。
  • 请求方法GET
  • 请求参数
    • api:必须为 update_class_plan
    • token:认证令牌。
    • name:设备的唯一标识符。
    • file:课程表文件的 Base64 编码。
  • 返回值
    • 成功:{"status": "课程表上传", "name": "设备名"}
    • 失败:{"error": "文件保存失败"}{"error": "设备未找到"}
  • 错误处理
    • 缺少 tokennamefile 时,返回 400 错误,提示缺少必要参数。

5. 更新设备的时间表

  • 接口功能:上传设备的时间表,文件以 Base64 编码形式传输。
  • 请求方法GET
  • 请求参数
    • api:必须为 update_time_layout
    • token:认证令牌。
    • name:设备的唯一标识符。
    • file:时间表文件的 Base64 编码。
  • 返回值
    • 成功:{"status": "时间表上传", "name": "设备名"}
    • 失败:{"error": "文件保存失败"}{"error": "设备未找到"}
  • 错误处理
    • 缺少 tokennamefile 时,返回 400 错误,提示缺少必要参数。

6. 更新设备的科目

  • 接口功能:上传设备的科目信息,文件以 Base64 编码形式传输。
  • 请求方法GET
  • 请求参数
    • api:必须为 update_subject
    • token:认证令牌。
    • name:设备的唯一标识符。
    • file:科目文件的 Base64 编码。
  • 返回值
    • 成功:{"status": "科目上传", "name": "设备名"}
    • 失败:{"error": "文件保存失败"}{"error": "设备未找到"}
  • 错误处理
    • 缺少 tokennamefile 时,返回 400 错误,提示缺少必要参数。

7. 更新设备的默认设置

  • 接口功能:上传设备的默认设置,文件以 Base64 编码形式传输。
  • 请求方法GET
  • 请求参数
    • api:必须为 update_default_settings
    • token:认证令牌。
    • name:设备的唯一标识符。
    • file:默认设置文件的 Base64 编码。
  • 返回值
    • 成功:{"status": "默认设置上传", "name": "设备名"}
    • 失败:{"error": "文件保存失败"}{"error": "设备未找到"}
  • 错误处理
    • 缺少 tokennamefile 时,返回 400 错误,提示缺少必要参数。

8. 更新设备的策略

  • 接口功能:更新设备的策略配置。
  • 请求方法GET
  • 请求参数
    • api:必须为 update_policy
    • token:认证令牌。
    • name:设备的唯一标识符。
    • disable_profile_class_plan_editingdisable_profile_time_layout_editingdisable_profile_subjects_editing 等参数:设备策略的各项配置。
  • 返回值
    • 成功:{"status": "Policy updated", "name": "设备名"}
    • 失败:{"error": "设备未找到"}
  • 错误处理
    • 缺少 tokenname 时,返回 400 错误,提示缺少必要参数。

9. 获取设备日志

  • 接口功能:获取指定设备的日志信息。
  • 请求方法GET
  • 请求参数
    • api:必须为 get_log
    • token:认证令牌。
    • name:设备的唯一标识符。
  • 返回值
    • 成功:{"status": "Logs retrieved", "logs": "日志内容"}
    • 失败:{"error": "设备未找到"}{"error": "无效的令牌"}
  • 错误处理
    • 缺少 tokenname 时,返回 400 错误,提示缺少必要参数。

10. 删除设备

  • 接口功能:删除指定设备。
  • 请求方法GET
  • 请求参数
    • api:必须为 delete_device
    • token:认证令牌。
    • name:设备的唯一标识符。
  • 返回值
    • 成功:{"status": "Device deleted", "name": "设备名"}
    • 失败:{"error": "设备未找到"}
  • 错误处理
    • 缺少 tokenname 时,返回 400 错误,提示缺少必要参数。

错误处理

  • 所有接口都会根据缺少必要参数或令牌无效返回相应的错误信息,通常使用 HTTP 400 状态码,并通过 JSON 格式返回错误信息。

遇到问题(或想成为贡献者等)欢迎给我发送邮件[email protected]看见了会回

About

在ClassIsland的服务器集控发布前用于服务器的临时解决方案

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages