🌸 欢迎来到Python办公自动化专栏—Python处理办公问题,解放您的双
💻 个人主页——>个人主页欢迎访问
😸 Github主页——>Github主页欢迎访问
❓ 知乎主页——>知乎主页欢迎访问
🏳️🌈 CSDN博客主页:请点击——> 一晌小贪欢的博客主页求关注
👍 该系列文章专栏:请点击——>Python办公自动化专栏求订阅
🕷 此外还有爬虫专栏:请点击——>Python爬虫基础专栏求订阅
📕 此外还有python基础专栏:请点击——>Python基础学习专栏求订阅
文章作者技术和水平有限,如果文中出现错误,希望大家能指正🙏
❤️ 欢迎各位佬关注! ❤️
前言
纯前端浏览器扩展(Manifest V3):登录后可一键遍历并签到你关注的所有微博超话,支持每日定时自动签到、补签检查与签到状态分析,内置可视化日志与统计信息。无需后端服务,所有数据仅保存在本地。
插件信息
GitHub仓库:微博超话一键签到(插件版)
个人博客:微博超话一键签到(插件版)
功能特性
一键自动签到:识别“签到”按钮并逐个执行签到,记录成功/失败。
签到状态分析:统计“可签到 / 已签到”数量与完成率,不执行实际签到。
每日定时:在设定时间通过浏览器闹钟自动执行签到,并具备补签逻辑。
登录管理:一键打开登录页与检查登录状态。
本地存储:保存设置与最近一次执行结果,方便查看与调试。
预览模式:preview.html 可在不加载扩展接口的情况下预览界面(使用模拟数据)。
安装与加载(Chrome / Edge)
下载或克隆本仓库代码。
打开浏览器的扩展管理页面:
Chrome:在地址栏输入 chrome://extensions/
Edge:在地址栏输入 edge://extensions/
打开右上角“开发者模式”。
点击“加载已解压的扩展程序”,选择本仓库中的 weibo-chaohua-checkin 目录。
加载成功后,浏览器工具栏会出现“微博超话一键签到”扩展图标,点击打开弹窗使用。
如果仅想预览界面,不依赖扩展接口,可直接双击打开 weibo-chaohua-checkin/preview.html。
使用指南
首次登录:
在弹窗点击“打开登录页面”,将在新标签页打开微博登录页;完成登录后回到弹窗点击“检查登录”。
登录成功后,弹窗“登录状态”会显示“登录有效”。
立即签到:
点击“一键自动签到”,扩展会遍历你关注的所有超话,逐项执行签到并在表格与日志中实时展示结果。
分析签到状态(不执行签到):
点击“分析签到状态”,统计今日已签到/可签到的数量与签到完成率,仅用于查看,不会改变状态。
每日自动签到:
在“设置”面板勾选“启用每日自动签到”,选择执行时间(本地时区),点击“保存设置”。
弹窗会显示“下次执行时间”。到点后,后台脚本会自动执行签到并更新下一次闹钟。
如果当天到达设定时间时扩展未运行,下一次启动时会触发一次“补签”检查以完成当日任务。
停止执行:
在签到或分析进行中,可随时点击“停止”。
清除缓存:
点击“清除缓存”会清空本地 localStorage(弹窗侧的预览/非扩展环境),扩展运行时主要使用 chrome.storage.local 存储。
权限说明
manifest.json 中声明的权限与用途:
storage:保存扩展设置与最近一次执行结果(如数量统计)。
alarms:创建每日定时闹钟并在到点时自动签到。
scripting:在微博页面上下文执行脚本(携带正确 Cookie/Referer),确保签到接口调用有效。
tabs:查询或创建微博相关标签页,用于在页面上下文执行脚本。
host_permissions:
https://m.weibo.cn/*:读取登录状态、获取关注的超话列表、执行签到接口。
https://passport.weibo.com/*:打开登录页并完成登录流程。
工作原理(技术实现)
背景脚本 background.js(MV3 Service Worker):
读取设置(enableDaily, dailyTime)后建立闹钟(chrome.alarms),按本地时区每日触发。
在闹钟触发或消息请求时执行 autoCheckin():
通过 https://m.weibo.cn/api/config 检查登录(credentials: 'include')。
通过 https://m.weibo.cn/api/container/getIndex?containerid=100803_-_followsuper 分页拉取关注的超话卡片(基于 since_id)。
对每个卡片的 card_group 遍历,识别按钮:签到 / 已签到 / 明日再来 等。
若可签到,提取按钮 scheme(形如 /api/container/button?...),并在微博页面上下文以 fetch() 调用完成签到。
汇总统计并存储到 chrome.storage.local:lastRunDate、lastResult(总数/新签到/已签到/失败)。
通过 checkMakeup() 实现补签:当设定时间已过且当天尚未执行时,启动/安装后自动跑一次,并重置下一次闹钟。
弹窗脚本 popup.js:
提供登录管理、执行签到/分析、日志与统计、表格渲染、设置读取/保存等 UI 功能。
支持“预览模式”(不在扩展环境时自动启用),使用模拟数据展示界面与流程,方便无扩展环境下查看。
页面上下文执行:
通过 chrome.scripting.executeScript 在微博标签页的主世界执行 fetch(),以确保请求头(Cookie/Referer/Sec-Fetch 等)符合页面规则;若无现成微博标签页,扩展会创建一个标签页并在其中执行。
数据存储键
settings:{ enableDaily: boolean, dailyTime: 'HH:MM' }
lastRunDate:'YYYY-MM-DD'
lastResult:{ ts, totalTopics, checkedInBefore, newlyCheckedIn, failedCheckin }
nextRun:下次定时触发的时间戳(毫秒)
文件结构
weibo-chaohua-checkin/
├── manifest.json # 扩展清单(Manifest V3)
├── background.js # 背景脚本(定时与补签、消息处理)
├── popup.html # 弹窗界面结构
├── popup.js # 弹窗交互逻辑(签到/分析/设置/日志/表格)
├── preview.html # 预览页面(不依赖扩展接口)
└── styles.css # 基本样式
常见问题(FAQ)
登录失败或提示未登录?
请先点击“打开登录页面”并在新标签页完成登录;随后回到弹窗点击“检查登录”。
请确保未启用无痕模式或阻止第三方 Cookie;必要时清理浏览器缓存后重试。
“下次执行时间”显示未设置?
勾选“启用每日自动签到”并点击“保存设置”。
在某些系统上,浏览器 Service Worker 会因长时不活动而休眠;保持浏览器运行或定期打开扩展弹窗,确保闹钟能够触发。
签到失败的原因?
接口策略调整或频率限制、网络异常、Cookie 失效等均可能导致失败;可稍后重试并查看弹窗日志。
表格中未显示任何超话?
请确认你在微博已关注超话;也可以在移动端页面(m.weibo.cn)的“我的超话”验证是否可正常访问。
能否在预览模式下实际签到?
不能。预览模式仅用于界面查看与流程演示,不会访问微博接口,也不会创建闹钟。
隐私与安全
本扩展不会采集、上传任何个人数据;所有请求均直接与微博官方接口通信。
设置与执行结果仅保存在本地存储(chrome.storage.local)。
请遵守微博平台使用规范,合理控制签到频率。
开发与调试
依赖:Chromium 系浏览器,支持 Manifest V3。
调试入口:chrome://extensions(或 edge://extensions)打开“开发者模式”,查看“服务工作线程(Service Worker)”日志与控制台输出。
关键逻辑:
定时与补签:background.js 中的 setupAlarm() 与 checkMakeup()。
页面执行:ensureWeiboTab() + chrome.scripting.executeScript()。
弹窗交互:popup.js 中的事件绑定与表格渲染。
UI 预览:直接打开 preview.html,不需要加载扩展即可查看界面与交互流程(模拟数据)。
版本信息
当前版本:0.2.0
说明:支持每日定时自动签到、补签检查、状态分析与预览模式;界面包含统计、表格与日志。
免责声明
本项目仅用于个人学习与效率提升,所有接口与网页资源归微博平台所有。请勿用于违反平台规则的用途。由于平台接口或策略调整导致的功能不可用,作者不承担相关责任。
如需反馈问题或提交改进建议,欢迎发起 Issue 或 Pull Request。
希望对初学者有帮助;致力于办公自动化的小小程序员一枚
希望能得到大家的【❤️一个免费关注❤️】感谢!
求个 🤞 关注 🤞 +❤️ 喜欢 ❤️ +👍 收藏 👍
此外还有办公自动化专栏,欢迎大家订阅:Python办公自动化专栏
此外还有爬虫专栏,欢迎大家订阅:Python爬虫基础专栏
此外还有Python基础专栏,欢迎大家订阅:Python基础学习专栏