自动签到与签到监控
让支持签到的聚合账号每天按时签到、累计额度,并同步签到日志,避免人工忘记操作。
功能概览
- 站点检测:账号识别时自动判断站点是否带签到入口,可在账号详情里打开/关闭“签到检测”。
- 自定义签到入口:针对魔改站点,可配置
customCheckInUrl与customRedeemUrl,同时决定是否联动打开充值页面。 - 自动签到调度:
autoCheckinScheduler基于chrome.alarms在指定时间窗内随机触发签到,避免所有账号同一时间访问。 - 执行记录:每次运行会产生日志,包含成功/失败原因、最后运行时间以及下一次计划时间,可在「自动签到」页面查看。
使用前提
- 在 账号管理 → 编辑账号 中开启“签到检测”,并确保能手动签到成功。
- 对需要自动签到的账号勾选“自动签到”开关(默认开启,可单个账号关闭)。
- 在 设置 → 自动签到 中开启全局自动签到,并设定时间窗口。
- 浏览器需支持
chrome.alarms(Chrome、Edge、Kiwi 浏览器正常,部分 Firefox 移动端可能不支持)。
设置步骤
1. 账号级开关
- 打开任意账号详情 → “更多设置”。
- 启用“签到检测”后,可配置:
- 自定义签到 URL(若站点默认入口不可用)。
- 自定义充值 URL 及“签到时顺带打开充值页”。
- “自动签到”开关(关闭后即使全局启用,该账号也不会参与自动签到)。
2. 全局时间窗口
在 设置 → 自动签到 面板中:
| 选项 | 说明 |
|---|---|
| 启用自动签到 | 控制全局 globalEnabled。关闭后不会创建闹钟。 |
| 时间窗开始 / 结束 | 24 小时格式,允许跨夜(例如 22:00 → 06:00)。调度器会在该时间范围内随机选择一个时间运行。 |
| 查看执行记录 | 快捷跳转到「自动签到」页面,查看状态与日志。 |
| 恢复默认 | 调用 resetAutoCheckinConfig(),恢复到 09:00~18:00、关闭状态。 |
3. 查看执行状态
- 打开 插件侧边栏 → 自动签到 页面,可查看:
- 最近执行结果(成功 / 部分成功 / 失败)。
- 下一次调度时间
nextScheduledAt。 - 账号维度日志(耗时、失败原因等)。
- 可点击“立即执行”手动触发一次
autoCheckin:runNow,用于调试。
工作原理
- 配置写入:
UserPreferencesContext将autoCheckin配置保存到本地偏好,并通过sendRuntimeMessage通知后台。 - 调度初始化:
autoCheckinScheduler.initialize()在扩展启动时创建闹钟监听,若浏览器支持chrome.alarms即可随机设定下一次执行时间。 - 执行流程:
- 读取所有账号,重置上一日
isCheckedInToday状态。 - 过滤满足条件的账号(开启检测、允许自动签到、尚未签到、存在 provider)。
- 逐个调用对应 provider(目前内置 Veloera,可扩展),并在请求间插入随机延迟避免触发限流。
- 成功后调用
accountStorage.markAccountAsCheckedIn(),失败则记录日志。 - 最终写入
autoCheckinStorage,供前端页面展示每个账号的状态。
- 读取所有账号,重置上一日
- 重新调度:执行完成后再次调用
scheduleNextRun(),保证每天仅触发一次(或按配置频率触发)。
最佳实践
- 时间窗建议:设置在凌晨或站点低峰期(例如 02:00-05:00),提高成功率。
- 跨设备同步:结合 WebDAV 备份与自动同步,确保多设备共用同一份账号与签到设置,避免重复签到。
- 异常通知:暂未内置通知,可自行监听背景页
autoCheckinStorage或查看「自动签到」页面发现失败记录。
常见问题
| 问题 | 排查方法 |
|---|---|
| 页面显示“未计划” | 浏览器不支持 chrome.alarms 或未启用全局自动签到;尝试重新保存设置或换用 Chrome/Edge。 |
| 某账号每天失败 | 检查该站是否支持自动签到 provider,必要时关闭该账号的自动签到改为手动。 |
| 自定义 URL 无效 | 确认可在浏览器中直接访问并成功签到;部分站点需要额外的 form data,目前仅支持 GET/简单 POST 的签到流程。 |
| 多个账号重复签到 | 可能来自多台设备同时运行,建议启用 WebDAV 同步保持配置一致,或仅保留一台设备开启自动签到。 |