这几个月断断续续又修了一些东西,索性重新开个帖子整理一下。 先说一句,这个脚本的核心思路和实现依然来自福黎大佬的 《冷却后自动回复 1.1》。原版 1.1.12 本身已经很好用了,排队机制也很清晰。我后面做的这些内容,本质上都还是在原有逻辑基础上的修修补补,而不是重写。
这次最大的变化,其实不是核心逻辑,而是交互。
之前 1.3 版本 还是大量使用 alert / confirm 的。问题在于,这种弹窗是阻塞的。你人不在电脑前的时候,它会直接把整个排队流程卡住。于是经常会出现一种很蠢的情况: “脚本其实没死,它只是在等你点确定。” 所以这次基本把整套提示系统都换掉了。现在改成了右下角 toast 提示,不会再强行打断流程。提示会自动消失,有些还能带倒计时和默认选项。挂机的时候舒服了很多,至少不会再因为一个确认框把整个队列挂在那里。
另外还顺手加了个“ 双击 Enter 快捷排队”,这个点子其实是 @Hadley0T 提的。正常 Enter 还是换行,但 500ms 内连续按两次 Enter,就等价于直接点击“发表回复”。
另外,回帖计数这东西也总是会因为各种网络环境、页面状态、重复检测之类的问题出现偏差。之前我还一直试图做超限提醒,后来发现实在是很难彻底规避误判。与其疯狂弹提示,不如干脆取消掉,省得互相折磨。
至于核心逻辑,其实和 1.3 差别没那么大,更多还是一些真实使用环境下的小修小补。比如提交超时之后会给提示,自动重排的时候会显示当前 CD,退出队列的时候会提醒刷新确认,清空队列不会再疯狂连弹之类的。 很多东西其实都不是提前设计好的,而是: “这个情况炸了。”
“那补一下。” 然后继续用。 说实话,代码现在已经开始有点屎山味了。
因为很多逻辑都是后面一层层套上去的。有时候我自己回头看,也会出现一种: “我知道它为什么在这里,但我已经不太想碰它了。” 不过反过来说,这种根据自己实际使用体验,一点点把工具磨顺手的过程,其实还挺有意思的。至少现在已经比最早那个“疯狂弹窗把自己卡死”的时代文明多了。 如果大家使用过程中遇到问题,欢迎继续交流,一起慢慢完善。
|