feat: 完善后端并新增 Vue3 WebUI
后端: - 修复登录校验、DB 并发(单例+WAL+纯Go sqlite)、会话密钥持久化等核心缺陷 - 新增 Timer CRUD/签到/手动触发、执行日志、仪表盘、驱动元数据等 API - 统一驱动接口: 带 context 的执行器、真实错误返回、敏感字段掩码、连通性测试 - 补全钉钉执行器; Timer 触发/提醒去重; 配置支持默认值与环境变量覆盖 前端: - Vite+Vue3+TS+Pinia+Element Plus, 由驱动元数据动态渲染配置表单 - 登录/仪表盘(倒计时环)/定时器/规则/账号/日志/设置页面, 支持暗色模式 - 主题色 #66ccff, 信号波纹 logo, go:embed 单二进制部署 构建: Dockerfile 增加前端构建阶段; 补充各驱动配置文档 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
+13
-5
@@ -1,17 +1,25 @@
|
||||
# Bilibili
|
||||
# Bilibili 配置
|
||||
|
||||
## Account Config
|
||||
账号类型: `bilibili`,规则类型: `bilibili-dynamic`。
|
||||
|
||||
## 账号配置 (Account Config)
|
||||
|
||||
```json
|
||||
{
|
||||
"raw_cookies": "xxxx"
|
||||
"raw_cookies": "SESSDATA=xxx; bili_jct=xxx; DedeUserID=xxx; ..."
|
||||
}
|
||||
```
|
||||
|
||||
## Dynamic Config
|
||||
登录 [bilibili.com](https://www.bilibili.com) 后,从浏览器开发者工具(F12 → 网络 → 任意请求 → 请求头 → Cookie)复制完整的 Cookie 字符串。
|
||||
|
||||
在 WebUI 的账号页面可以点击“测试”验证 Cookie 是否有效。
|
||||
|
||||
## 规则配置 (Rule Config)
|
||||
|
||||
```json
|
||||
{
|
||||
"msg": "something"
|
||||
"msg": "要发送的动态内容"
|
||||
}
|
||||
```
|
||||
|
||||
定时器到期后会以该账号发布一条纯文本动态。
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
# 钉钉机器人配置
|
||||
|
||||
钉钉在 goodBaby 中有两个用途:
|
||||
|
||||
1. **提醒渠道**:定时器临近到期时提醒你签到,在 WebUI 的“设置”页配置
|
||||
2. **规则类型** (`dingtalk`):定时器到期后向钉钉群发送消息,不需要关联账号
|
||||
|
||||
## 获取机器人凭据
|
||||
|
||||
1. 在钉钉群中:群设置 → 智能群助手 → 添加机器人 → 自定义
|
||||
2. 安全设置推荐选择“加签”,记下 Secret
|
||||
3. 创建后复制 Webhook 地址中 `access_token=` 后面的值
|
||||
|
||||
## 规则配置 (Rule Config)
|
||||
|
||||
```json
|
||||
{
|
||||
"access_token": "机器人 access_token",
|
||||
"secret": "加签 Secret(未开启加签可留空)",
|
||||
"title": "消息标题",
|
||||
"msg": "消息内容,支持 Markdown"
|
||||
}
|
||||
```
|
||||
|
||||
## 提醒渠道配置(设置页)
|
||||
|
||||
```json
|
||||
{
|
||||
"access_token": "机器人 access_token",
|
||||
"secret": "加签 Secret"
|
||||
}
|
||||
```
|
||||
+38
-2
@@ -1,3 +1,39 @@
|
||||
# Email Config
|
||||
# Email 配置
|
||||
|
||||
## Email Account Config
|
||||
账号类型: `email`,规则类型: `email`。
|
||||
|
||||
## 账号配置 (Account Config)
|
||||
|
||||
```json
|
||||
{
|
||||
"smtp_server": "smtp.example.com",
|
||||
"port": 465,
|
||||
"security": "ssl",
|
||||
"username": "you@example.com",
|
||||
"password": "你的密码或授权码",
|
||||
"from": "you@example.com",
|
||||
"test_destination": "test@example.com"
|
||||
}
|
||||
```
|
||||
|
||||
| 字段 | 必填 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| `smtp_server` | 是 | SMTP 服务器地址 |
|
||||
| `port` | 是 | 端口,SSL 一般为 465,STARTTLS 一般为 587 |
|
||||
| `security` | 否 | `ssl` / `starttls` / `none`,默认 `ssl` |
|
||||
| `username` | 是 | 登录用户名,通常是邮箱地址 |
|
||||
| `password` | 是 | 密码或授权码(QQ 邮箱、163 等需要使用授权码) |
|
||||
| `from` | 否 | 发件人地址,默认使用 `username` |
|
||||
| `test_destination` | 否 | 填写后,点击“测试”会真的发送一封测试邮件到该地址 |
|
||||
|
||||
## 规则配置 (Rule Config)
|
||||
|
||||
```json
|
||||
{
|
||||
"title": "邮件标题",
|
||||
"msg": "邮件正文",
|
||||
"destinations": ["a@example.com", "b@example.com"]
|
||||
}
|
||||
```
|
||||
|
||||
每个收件人独立发送、独立重试,互不影响。
|
||||
|
||||
@@ -0,0 +1,33 @@
|
||||
# GitHub 配置
|
||||
|
||||
账号类型: `github`,规则类型: `github-repo-public`。
|
||||
|
||||
定时器到期后,把指定的私有仓库设置为公开。
|
||||
|
||||
## 账号配置 (Account Config)
|
||||
|
||||
```json
|
||||
{
|
||||
"token": "ghp_xxxxxxxx",
|
||||
"owner": "your-github-name"
|
||||
}
|
||||
```
|
||||
|
||||
| 字段 | 必填 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| `token` | 是 | Personal Access Token,需要 `repo` 权限 |
|
||||
| `owner` | 是 | 仓库所有者(用户名或组织名) |
|
||||
|
||||
Token 在 GitHub → Settings → Developer settings → Personal access tokens 创建。
|
||||
|
||||
在 WebUI 的账号页面可以点击“测试”验证 Token 是否有效。
|
||||
|
||||
## 规则配置 (Rule Config)
|
||||
|
||||
```json
|
||||
{
|
||||
"repos": ["repo-a", "repo-b"]
|
||||
}
|
||||
```
|
||||
|
||||
只填仓库名,不含所有者。
|
||||
@@ -0,0 +1,33 @@
|
||||
# OneBot (QQ) 配置
|
||||
|
||||
账号类型: `onebot`,规则类型: `onebot`。
|
||||
|
||||
对接 [NapCat](https://napneko.github.io/)、go-cqhttp 等实现了 OneBot HTTP API 的服务。
|
||||
|
||||
## 账号配置 (Account Config)
|
||||
|
||||
```json
|
||||
{
|
||||
"url": "http://localhost:3000",
|
||||
"token": "your_access_token"
|
||||
}
|
||||
```
|
||||
|
||||
| 字段 | 必填 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| `url` | 是 | OneBot HTTP 服务地址 |
|
||||
| `token` | 是 | Access Token |
|
||||
|
||||
在 WebUI 的账号页面可以点击“测试”验证连通性(调用 `get_login_info`)。
|
||||
|
||||
## 规则配置 (Rule Config)
|
||||
|
||||
```json
|
||||
{
|
||||
"msg": "要发送的消息",
|
||||
"send_groups": [123456789],
|
||||
"send_users": [987654321]
|
||||
}
|
||||
```
|
||||
|
||||
`send_groups`(群号)与 `send_users`(好友 QQ 号)至少填写一项。
|
||||
Reference in New Issue
Block a user