-
源项目NotifyIsland
-
由于代码复杂度原因,该项目的命名空间保持原项目
用于将ClassIsland的提醒功能更好的和第三方通知服务集成,以及PutIsland同款网络文本。
适用于 ClassIsland 2.0+
安装此插件,在设置中调整需要修改的内容,将 【启用 NotifyIsland 服务】开关 打开即可。
开启服务并调试完毕后,务必在展开的菜单中设置访问密钥!!!
默认监听 localhost:1379。localhost 无需管理员权限;若改为 * 或 +(监听所有网卡)则需要以管理员身份运行 ClassIsland。
通过请求 /api/notify 接口,可以触发 ClassIsland 提醒。
(示例:发送一个标题为“提醒标题”持续3秒,内容为“提醒内容”持续15秒的提醒,并自定义提醒语音内容)
自定义语音提醒内容可以省略,省略后将使用显示文本。
POST /api/notify HTTP/1.1
Authorization: Bearer 1145141919
Content-Type: application/json
{
"title": "提醒标题", #提醒标题(必须)
"title_duration": 3, #标题持续时间(必须)
"title_voice": "这是语音播放的提醒标题", #tts播放的标题(留空不出声音)
"content": "提醒内容", #提醒内容(可留空)
"content_duration": 15, #提醒持续时间(留空不展示内容)
"content_voice": "这是语音播放的提醒内容", #tts播放的内容(留空不出声音)
"effect_enabled": true, #是否启用强调特效
"sound_enabled": true #是否启用提醒音效
}
你可以使用以下字段修改通知
| 字段 | 类型 | 默认值 | 说明 |
|---|---|---|---|
type |
string | basic |
提醒类型。basic 基本通知 / rolling 滚动通知;也接受 simple、normal、default、static、基本、普通、简单 与 roll、scroll、scrolling、marquee、滚动 等写法(不区分大小写) |
rolling |
bool | - | type 的布尔简写,true 等价于 type: "rolling";两个字段同时给出时以 type 为准 |
target |
string | content |
使用滚动文本的部分:content 正文(默认)、mask 遮罩(遮罩改为滚动显示标题,正文仍是简单文本)、both 两者都用滚动文本 |
repeat_count |
int | 2 |
滚动文本的重复次数,必须大于 0 |
rolling_duration |
number | 见下 | 滚动提醒的显示时长(秒)。省略时正文取 content_duration、遮罩取 title_duration;两者都未提供时默认 20 秒(ClassIsland「滚动文本」模板的默认时长) |
HTTP/1.1 200 OK
Content-Type: application/json
{"Success":true,"Code":200,"Status":200,"Message":"[200]已推送到ClassIsland"}
| HTTP | Code | Message |
|---|---|---|
| 200 | 200 | [200]已推送到ClassIsland |
| 400 | -400 | 传入内容应为JSON格式 |
| 401 | -401 | API端点需要认证 |
| 403 | -403 | API端点认证失败 |
| 405 | -405 | API端点仅允许POST请求 |
在主界面添加 【HTTP 文本】 组件,并在组件设置中填入一个 组件 ID,即可通过 HTTP 请求更新它的显示内容。用法与 PutIsland 一致:
POST /<组件ID> HTTP/1.1
Content-Type: text/plain
这里是新的文本内容
- 请求体即文本内容(UTF-8)
- 也支持
/api/text/<组件ID>的写法,避免与其它路径冲突 - 同一个组件 ID 可以被多个组件同时使用,会一起更新
- 组件的文本会随 ClassIsland 配置一起保存,重启后仍保留
响应:
HTTP/1.1 200 OK
Content-Type: application/json
{"Success":true,"Code":200,"Status":200,"Message":"[200]已更新文本组件(更新了 1 个组件)"}
| HTTP | 说明 |
|---|---|
| 200 | 更新成功 |
| 400 | 路径为空(没有 Token) |
| 401 | 开启了「文本接口也要求密钥」但未携带正确密钥 |
| 404 | 没有组件使用该 ID |
提示:访问
GET /可以查看服务状态以及当前已注册的组件 ID 列表,便于调试。
| 方法 | 路径 | 说明 |
|---|---|---|
| POST | /api/notify |
触发提醒(JSON) |
| POST | /<组件ID> |
更新文本组件(纯文本,PutIsland 兼容) |
| POST | /api/text/<组件ID> |
同上,命名空间形式 |
| GET | / |
服务状态与已注册组件 ID |
- 建议仅监听
localhost,只允许本机软件调用。 - 提醒接口始终支持 Bearer 密钥校验;文本接口默认不校验(保持 PutIsland 用法),如需校验请在设置中打开「文本接口也要求密钥」。
