一款用于中国银行移动端网页(open.boc.cn)的 Tampermonkey 油猴脚本,自动抓取「办卡进度查询」页面中的申请记录,以悬浮球 + 弹窗的形式展示制卡进度与完整卡号,并在状态发生变化时提醒你。 核心特点:数据完全读取自当前页面本地缓存(Vue 实例),不拦截、不发起任何网络请求。
| 功能 | 说明 |
|---|---|
| 悬浮球入口 | 页面右下角红色 💳 悬浮按钮,角标显示当前卡片数量 |
| 深色弹窗 | 点击悬浮球弹出,红色标题栏「中国银行 · 申卡信息」 |
| 制卡进度 | 直观显示中文状态与原始状态码,例如 制卡中(01) |
| 完整卡号 | 默认脱敏显示 223300 **** **** 2233,可一键切换完整卡号 |
| 一键复制 | 复制卡号、复制完整进度数据(JSON) |
| 原始数据 | 支持展开查看页面缓存中的原始 JSON |
| 状态监控 | 每 3 秒自动扫描,状态变化时弹出桌面通知 + 提示音 |
| 指定状态提醒 | 可自定义只关心部分状态(例如只在「待领卡」时提醒) |
| 多卡支持 | 一个页面多张卡自动识别、分块展示 |
| 数据导出 | 导出 JSON / CSV,以及状态变化历史记录 |
| 自动重扫 | 页面路由切换、异步渲染完成后自动重新扫描,无需手动刷新 |
+ 新建脚本boc-card-progress-exporter.user.js 全文粘贴进去Ctrl + S 保存,确认开关为启用状态(蓝色)chrome://extensions(Edge 为 edge://extensions)boc-card-progress-exporter.user.js 文件拖进页面即可支持 Chrome / Edge / Firefox + Tampermonkey(或 Violentmonkey、Greasemonkey)。脚本仅在
https://open.boc.cn/bankcard/cardReserve/index.html*生效。
先用手机浏览器(或 PC 移动端模拟 UA)登录并进入中国银行办卡进度查询:
https://open.boc.cn/bankcard/cardReserve/index.html#/applyProgressDetail
也可以直接点油猴菜单里的 「打开办卡进度查询页(新标签)」 快捷跳转。
脚本默认的快捷跳转用的是短链入口(
HOME_URL,访问后会自动重定向到上面的查询页);如果你的访问方式不同,改成直链https://open.boc.cn/bankcard/cardReserve/index.html#即可,只需修改脚本顶部这一处常量。 ⚠️ 脚本只负责读取页面已经加载的数据,不能代替你完成登录与查询。需要先在页面里正常查出你的申请记录。
进入进度详情页后,页面右下角会出现红色 💳 悬浮球:
| 按钮 | 作用 |
|---|---|
| 复制卡号 | 复制卡号(复制的是页面缓存里的原值,通常已经是完整卡号) |
| 复制进度 | 复制该卡片的完整进度数据(JSON) |
| 重新扫描 | 立即重新抓取页面数据 |
| 查看原始数据 | 展开/收起原始 JSON,便于核对或二次开发 |
脚本内置的状态码映射如下(mkcrdProgreSts 字段):
| 状态码 | 状态 | 弹窗颜色 |
|---|---|---|
00 |
待制卡 | 蓝 |
01 |
制卡中 | 绿 |
02 |
⚠ 流程异常 | 红 |
03 |
寄送中 | 橙 |
04 |
待领卡 | 黄 |
05 |
⚠ 流程异常 | 红 |
06 |
已领卡 | 紫 |
07 |
⚠ 流程异常 | 红 |
遇到未收录的状态码时,会显示 未知状态(XX),请对照页面实际文字到脚本顶部的 STATUS_MAP 中自行补充。 |
点击浏览器上 Tampermonkey 图标,在脚本名下方可以看到:
| 菜单项 | 说明 |
|---|---|
| 打开办卡进度查询页(新标签) | 新标签打开查询页入口(脚本顶部 HOME_URL,短链会自动重定向) |
| 在当前标签跳转查询页 | 当前页面直接跳转 |
| 打开申卡信息面板 | 手动唤起弹窗 |
| 设置监控状态码 | 填写需要提醒的状态码,逗号分隔,留空表示全部。例如 04,06 = 可以领卡时才提醒 |
| 导出全部数据 JSON | 导出当前所有卡片的原始数据 |
| 导出全部数据 CSV | Excel 可直接打开(含 UTF-8 BOM) |
| 导出状态变化历史 | 导出状态变化轨迹(时间、卡号、旧状态→新状态) |
| 清空历史记录 | 清除本地保存的变化历史 |
| 配置持久化:轮询开关、监控状态码、历史记录均保存在 Tampermonkey 本地存储中,关闭浏览器不会丢失。 |
在页面按 F12,可直接在 Console 调用:
BOC_CARD.refresh() // 手动扫描一次
BOC_CARD.get() // 返回原始对象数组
BOC_CARD.json() // 返回格式化 JSON 字符串
BOC_CARD.copy() // 复制全部数据到剪贴板
BOC_CARD.csvSave() // 直接下载 CSV
BOC_CARD.gotoReserve(true) // true=新标签,false=当前标签跳转查询页
BOC_CARD.STATUS_MAP // 查看/修改状态枚举
recordInfoQ:右下角没有出现悬浮球?
脚本只在 hash 路由包含 applyProgress 时显示悬浮球。请确认当前 URL 类似 .../index.html#/applyProgressDetail;如果页面已查到数据但悬浮球仍未出现,用油猴菜单 「打开申卡信息面板」 手动唤起。
Q:弹窗提示「未检测到数据」?
点一下 「重新扫描」;若仍为空,说明页面尚未完成渲染或登录状态失效,刷新页面重新查询一次。
Q:为什么卡号显示不完整?
默认为了安全做了脱敏显示。点击 「显示完整卡号」 即可查看;如果页面缓存里返回的卡号本身就是带 * 的,脚本无法还原(服务端已脱敏),此时不会显示切换链接。
Q:状态变化没有提醒?
STATUS_MAP(text 为显示文字,color 为颜色)后保存,重新进入页面即可生效。
Q:除了 Tampermonkey,还支持其他管理器吗?
支持 Violentmonkey / Greasemonkey。若 GM_openInTab 被限制,脚本会自动降级为 window.open。HOME_URL 常量(默认使用短链,自动重定向到查询页),一键切换直链BOC_CARD.gotoReserve()本项目为个人学习与技术交流用途的浏览器脚本,与中国银行官方无任何关联,不提供任何金融建议。脚本不修改、不伪造任何页面数据,仅做本地读取与展示。请勿将其用于任何违反中国银行服务协议或相关法律法规的用途。因使用本脚本产生的任何风险与责任,由使用者自行承担。