Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BOC 申请进度增强脚本

一个非官方的 Tampermonkey 用户脚本,用于增强中国银行网页端申请进度查询页面。脚本在浏览器本地读取页面已经完成解密的 queryStatus 响应,显示秒级时间、制卡状态说明和卡号,并将身份证输入框切换为支持粘贴和末位 X 的系统输入框。

Important

本项目与中国银行无关,不代表其官方立场。仅限查询本人申请信息及个人研究使用。页面结构或接口变更后脚本可能失效,使用前请自行评估风险。

功能

  • 捕获 POST /api/app/cardorder/queryStatus 的本地明文响应,不依赖 Vuex 中经过格式化的数据。
  • 兼容 createDate 和 createdDate,优先显示包含 HH:mm:ss 的秒级时间。
  • 在“网点名称”下方追加精确时间、制卡状态及解释、卡号。
  • 沿用原页面的标签、字体和间距,并针对窄屏自动调整布局。
  • 使用系统身份证输入框,支持粘贴、系统键盘和末位 X。
  • 在控制台提供最近一次响应的查看、复制和下载能力。

安装

  1. 安装 Tampermonkey 或兼容的用户脚本管理器。
  2. 点击 安装脚本。
  3. 在用户脚本管理器中确认安装。
  4. 打开 open.boc.cn 的申请进度查询页面,刷新后重新查询一次。

脚本必须在发起查询前加载,才能接入本次请求使用的加密实例。已安装版本会通过脚本中的 @updateURL 和 @downloadURL 检查 GitHub 上的更新。

页面显示

查询成功后,脚本会在每张申请进度卡片的“网点名称”下方显示:

  • 精确时间:优先展示响应中的秒级时间。
  • 制卡状态:展示状态码、页面阶段以及明确标注为“推测”的补充解释。
  • 卡号:展示接口响应提供的卡号;是否脱敏取决于接口返回内容。

在宽度不超过 360px 的页面上会压缩标签列;宽度不超过 280px 时会改为上下排列,避免字段遮挡。

状态说明

状态码 页面步骤 补充解释
00 制卡中 推测:申请已受理,进入制卡流程
01 制卡中 推测:审核通过,正在制卡
02 流程异常 推测:审核未通过或申请异常
03 制卡中 推测:正在制卡,或制卡完成待寄送
04 待领卡 卡片已到网点,等待领取
05 流程异常 推测:领卡或邮寄环节异常
06 已领卡 已完成领卡
07 流程异常 推测:其他流程异常

页面代码能直接确认的是:00/01/03 显示“制卡中”,04 显示“待领卡”,06 显示“已领卡”,02/05/07 显示异常提示。更细的业务解释没有官方依据,因此界面会明确标注为“推测”。

控制台接口

打开浏览器开发者工具后,可以使用:

BOCProgress.print();
BOCProgress.get();
BOCProgress.copy();
BOCProgress.download();
BOCProgress.render();
BOCProgress.enableNativeIdInput();
方法 作用
print() 打印最近一次格式化结果和完整响应
get() 返回最近一次完整解密响应
copy() 将完整响应复制为 JSON
download() 将完整响应下载为 JSON 文件
render() 重新向当前详情页插入信息
enableNativeIdInput() 重新启用系统身份证输入框

工作原理

页面的进度接口使用 {body, hmac} 结构。每次请求都会创建独立的加密实例,并通过该实例的 decryptModel(response) 完成本地校验和解密。本脚本在页面加载初期包装对应 Webpack 模块的方法,在原方法正常返回后读取明文结果,不向第三方服务器发送请求。

页面自身会再次格式化时间字段,因此从页面状态中读取时可能只得到日期或空值。脚本直接读取刚解密的 HTTP 响应,以保留接口实际返回的秒级时间。

隐私与安全

  • 脚本不包含统计、遥测、远程日志或数据上传功能。
  • 查询结果仅保存在当前页面内存中;只有主动调用 copy() 或 download() 时才会导出。
  • 控制台和下载文件可能包含姓名、身份证号、卡号等敏感信息,请勿公开分享。
  • 脚本会改变身份证输入控件的交互方式,但不会绕过服务端身份校验。

兼容性

脚本依赖当前网页的 Webpack 模块和 DOM 结构。中国银行更新页面后,捕获或页面注入功能可能需要同步调整。出现问题时,请在不包含真实个人信息的前提下提交 Issue,并提供浏览器版本、脚本版本及脱敏后的控制台错误。

开发检查

node --check .\boc-progress-decrypt.user.js

许可证

MIT

About

Tampermonkey helper for displaying decrypted BOC application progress details

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages