|
| 1 | + |
| 2 | +插件版本:每日60S新闻_1.2.7 |
| 3 | + |
| 4 | +插件源仓库:https://github.com/ajie4979/DailyNews.git |
| 5 | + |
| 6 | +如果这个插件对你有帮助,请不要吝啬你的 Star~ |
| 7 | + |
| 8 | +# 每日60S新闻 WAuxiliary 插件 |
| 9 | + |
| 10 | +支持微信群每日60S新闻文本/图片手动推送、推送群管理、每日定时推送,以及漏推补发与调试日志。 |
| 11 | + |
| 12 | +## 安装 |
| 13 | + |
| 14 | +1. 将整个 `每日60S新闻` 文件夹复制到 WAuxiliary 插件目录 |
| 15 | +2. 在插件列表中启用 **每日60S新闻** |
| 16 | +3. 打开微信前台界面一次,确保插件完成初始化 |
| 17 | +4. 输入 `/每日新闻设置` 并点击发送,打开配置界面 |
| 18 | + |
| 19 | +> 说明:插件文件夹名为 `每日60S新闻`,插件内部 ID 仍为 `DailyNews`(兼容已有配置)。 |
| 20 | +
|
| 21 | +## 版本记录 |
| 22 | + |
| 23 | +### 1.2.7 |
| 24 | +1. 指令统一增加 `/` 前缀,普通发送不再进入新闻指令处理或记录聊天正文 |
| 25 | +2. 指令匹配前自动去除首尾空白,避免误带空格导致无法识别 |
| 26 | +3. 消息触发的运行时恢复检查增加一分钟节流,减少重复补发检查 |
| 27 | + |
| 28 | +### 1.2.6 |
| 29 | +1. 发送模式切换立即生效,无需先点保存 |
| 30 | +2. 定时推送测试会按当前界面模式发送 |
| 31 | +3. 修复图片模式下载失败:统一同步下载、支持跳转/多字段图片地址,失败自动回退文本 |
| 32 | +### 1.2.5 |
| 33 | +1. 修复到点后短时间重启可能整天漏推:取消“不足1分钟不补发” |
| 34 | +2. 定时/补发按群记录成功,失败群可续推,避免一群成功导致其余群当天不再发送 |
| 35 | +3. 定时推送增加互斥锁,避免闹钟与补发并发重复推送 |
| 36 | +4. 运行时就绪时加强补发检查,降低动态广播在进程被杀后的漏推风险 |
| 37 | +5. 指令仅宿主输入框发送可触发,群内他人消息不再响应,防误触/刷屏 |
| 38 | + |
| 39 | +### 1.2.4 |
| 40 | +1. 调试日志改为仅输出到宿主 `log()`,不再写 `daily_news_log.txt` |
| 41 | +2. 日志按功能步骤输出(如 步骤1/4、步骤2/5),仍受“调试日志”开关控制 |
| 42 | +3. 覆盖加载、设置、群管理、定时、补发、手动推送、接口测试等关键流程 |
| 43 | +4. 插件目录与显示名调整为 `每日60S新闻` |
| 44 | + |
| 45 | +### 1.2.3 |
| 46 | +1. 强化漏推补发:进程被杀/重启后,只要今天到点且尚未成功推送,就会自动补发 |
| 47 | +2. 新增“今日已推送”去重:成功推送后记录日期,避免重复发送 |
| 48 | +3. 定时推送失败不记成功标记,便于后续补发;图片失败可回退文本 |
| 49 | +4. README 仅保留实际可用功能说明 |
| 50 | + |
| 51 | +### 1.2.2 |
| 52 | +1. Context 获取增加系统上下文反射回退,不再只依赖顶部界面 |
| 53 | +2. Context 未就绪时自动多次重试,并在消息/设置入口补初始化 |
| 54 | +3. 定时改为系统精确闹钟优先,修复息屏/Doze 下不稳定问题 |
| 55 | + |
| 56 | +### 1.2.1 |
| 57 | +1. 修复定时推送只推送一天的问题 |
| 58 | + |
| 59 | +### 1.2 |
| 60 | +1. 修复息屏状态下定时推送不稳定 |
| 61 | +2. 修复测试接口功能 |
| 62 | +3. 设置页新增定时推送测试按钮 |
| 63 | + |
| 64 | +### 1.1 |
| 65 | +1. 初版支持手动发送与定时推送 |
| 66 | + |
| 67 | +## 常用指令 |
| 68 | + |
| 69 | +### 输入框发送(仅宿主可触发,会拦截发送) |
| 70 | + |
| 71 | +- `/每日新闻设置`:打开独立配置界面 |
| 72 | +- `/每日新闻` / `/每日新闻发送`:立即向当前聊天发送新闻 |
| 73 | +- `/每日新闻测试接口`:请求新闻接口并 toast 返回结果 |
| 74 | + |
| 75 | +> 安全说明:以上指令只在宿主微信输入框点击发送时生效;群内其他人发送同名内容不会触发,避免误触/刷屏。 |
| 76 | +
|
| 77 | +其余配置请在 **/每日新闻设置** 界面操作。 |
| 78 | + |
| 79 | +## 配置界面能力 |
| 80 | + |
| 81 | +- 发送模式:文本早报 / 新闻图片 |
| 82 | +- 定时发送:开关、时间(`HH:mm`)、启用/删除定时 |
| 83 | +- 推送群管理:添加当前群、移除当前群、清空列表 |
| 84 | +- 状态显示:当前模式、定时状态、今日是否已推送(支持部分成功 x/y)、上次成功时间、推送群数 |
| 85 | +- 定时推送测试:立即向当前群发送(验证发送链路) |
| 86 | +- 调试:开启调试日志、测试接口 |
| 87 | + |
| 88 | +## 配置键 |
| 89 | + |
| 90 | +- `daily.news.send.mode`:发送模式,`text` 或 `image` |
| 91 | +- `daily.news.schedule.time`:定时发送时间,默认 `08:00` |
| 92 | +- `daily.news.schedule.enabled`:定时开关 |
| 93 | +- `daily.news.group.list`:群列表,多个群以 `;;` 拼接 |
| 94 | +- `daily.news.tasks`:任务持久化记录 |
| 95 | +- `daily.news.debug.enabled`:调试日志开关,默认 `false` |
| 96 | +- `daily.news.last.success.date`:最近一次全部成功推送日期(`yyyy-MM-dd`) |
| 97 | +- `daily.news.last.success.time`:最近一次全部成功推送时间 |
| 98 | +- `daily.news.last.attempt.date`:最近一次尝试推送日期 |
| 99 | +- `daily.news.success.groups`:今日已成功推送的群(`yyyy-MM-dd|群ID;;群ID`) |
| 100 | + |
| 101 | +## 定时与补发说明 |
| 102 | + |
| 103 | +- 使用系统闹钟做每日定时(优先精确闹钟) |
| 104 | +- 插件加载时会重挂闹钟,并检查是否需要补发 |
| 105 | +- 若今天已到点但尚未完成全部目标群推送,会自动补发/续推(含刚到点场景) |
| 106 | +- 按群记录成功:已成功的群不会重复发,失败群后续可补 |
| 107 | +- 全部目标群成功后才记“今日已推送” |
| 108 | +- 定时与补发互斥执行,降低并发重复推送 |
| 109 | +- 图片模式失败时会尝试回退为文本发送 |
| 110 | + |
| 111 | +## 调试日志 |
| 112 | + |
| 113 | +1. 打开 `/每日新闻设置` |
| 114 | +2. 开启 **调试日志** |
| 115 | +3. 保存设置 |
| 116 | +4. 正常操作插件(加载、发送、定时、测试等) |
| 117 | +5. 在 WAuxiliary 宿主日志中查看输出 |
| 118 | + |
| 119 | +日志格式示例: |
| 120 | + |
| 121 | +```text |
| 122 | +[每日60S新闻][信息][加载] 步骤1/4:插件开始加载 |
| 123 | +[每日60S新闻][信息][定时] 步骤1/5:开始挂载每日定时 |
| 124 | +[每日60S新闻][信息][补发] 检测到今日未完成推送(迟到120秒),准备补发/续推 |
| 125 | +[每日60S新闻][信息][新闻推送] 步骤2/5:开始请求新闻接口 |
| 126 | +``` |
| 127 | + |
| 128 | +说明: |
| 129 | + |
| 130 | +- 只有开启调试日志时才会调用宿主 `log()` |
| 131 | +- 不再生成 `daily_news_log.txt` 文件 |
| 132 | +- 覆盖加载、指令、设置、群管理、定时、补发、推送、接口测试等流程 |
| 133 | + |
| 134 | +## 缓存位置 |
| 135 | + |
| 136 | +优先目录: |
| 137 | + |
| 138 | +`/storage/emulated/0/Android/media/com.tencent.mm/WAuxiliary/Plugin/每日60S新闻` |
| 139 | + |
| 140 | +不可写时回退到宿主 `cacheDir/每日60S新闻`。 |
| 141 | + |
| 142 | +用于图片下载等临时缓存,不写操作日志文件。 |
| 143 | + |
| 144 | +## 使用建议 |
| 145 | + |
| 146 | +1. 先在群聊中打开设置,添加需要推送的群 |
| 147 | +2. 选择文本或图片模式 |
| 148 | +3. 设置每日时间并启用定时 |
| 149 | +4. 建议先用“定时推送测试 / 测试接口”确认链路正常 |
| 150 | +5. 排查问题时再临时打开调试日志,并查看宿主日志 |
| 151 | + |
| 152 | +## 部署注意 |
| 153 | + |
| 154 | +- 实际插件目录名:`每日60S新闻` |
| 155 | +- 插件 ID(info.prop):`DailyNews`(保持不变,兼容旧配置) |
| 156 | +- 显示名称:`每日60S新闻` |
| 157 | +- 指令前缀使用 `/每日新闻...`,仅宿主输入框发送生效 |
0 commit comments