一、产品概述
巴事办热力图自动录入工具是一款基于 Chrome Extension Manifest V3 规范开发的企业级政务自动化插件,专为四川省巴中市基层数字化场景量身打造,实现巴事办平台热力图数据的智能化、批量化、安全化录入。
二、核心技术架构
2.1 身份认证体系
WordPress 统一身份认证集成
对接 https://weicunwu.cn/wp-login.php 官方登录接口
采用 HTTP Basic Auth + Nonce 双重验证机制
登录状态持久化存储于 chrome.storage.local
会话超时自动检测与重新登录机制
权限分级控制:未登录状态仅渲染标题栏与页面检测模块,核心功能 DOM 节点动态移除
登出安全机制(v4.3.1 新增)
退出登录时广播 STOP_FILLING 全局消息事件
基于 AbortController 信号量实现异步操作链的即时中断
递归清理所有 setTimeout / setInterval 定时器句柄
取消所有 pending 状态的 Promise 与 chrome.scripting.executeScript 调用
事件监听器采用 { once: true } 装饰器自动解绑,杜绝内存泄漏
清空任务队列、状态变量与本地存储,UI 原子化重置至 “等待上传表格” 初始态
2.2 自动化录入引擎
DOM 操作核心技术栈
Shadow DOM 深度穿透:递归遍历 open/closed Shadow Root,突破 Web Components 封装边界
异步加载智能等待:基于 MutationObserver 监听 DOM 树变更,配合 requestAnimationFrame 帧同步策略
原生事件模拟:精准触发 mousedown → mouseup → click 完整事件流,兼容 Ant Design 表单验证机制
键盘事件仿真:支持 ArrowDown / Enter 键盘遍历下拉选项,解决 Select 组件赋值失效问题
数据处理引擎
18 字段严格顺序映射:Excel 列与表单字段一一对应,支持空值占位跳过逻辑
人员类型多值匹配:逗号分隔字符串自动解析,批量选中下拉框多项选项
增量导入标记:Excel 最后一列写入 “已录入” 时间戳,下次导入自动跳过已处理行
批量循环流水线:新增 → 录入 → 保存 三步事务化执行,单条失败不影响整体流程
2.3 流程控制体系
全局任务调度器
暂停 / 停止断点续传:任务执行上下文序列化存储,恢复时精确回溯至中断点位
并发互斥锁机制:基于 chrome.storage 实现跨标签页任务互斥,杜绝重复录入
立即停止响应保证:100ms 内终止所有执行线程,满足紧急停止 SLA 要求
用户自定义随机延迟:操作间隔支持 [min, max] 区间随机化,规避反爬检测
状态管理
采用 Flux 单向数据流架构
状态变更通过自定义事件总线广播
支持 UI 状态与后台执行状态的双向同步
异常状态自动降级与恢复机制
2.4 兼容性与适配
框架适配
完美兼容 Ant Design 3.x/ 4.x/ 5.x 全版本
支持 Vue 2/3 Reactivity 响应式系统
适配各类 UI 组件库的表单验证逻辑
浏览器支持
Chrome 88+ 完整支持 Manifest V3
Service Worker 生命周期管理优化
跨域请求通过 host_permissions 精确授权
三、技术合规性
符合 Chrome Web Store 上架规范
所有权限声明最小化原则
用户数据本地加密存储,不上传第三方服务器
代码经过 SonarQube 静态扫描,无安全漏洞
支持 Chrome 企业策略部署27
