中燃WMS二维码生成器

获取页面信息并生成可拖拽的悬浮二维码

作者
intpfx
今日安裝
0
安裝總數
0
評價
0 0 0
版本
1.0
建立日期
2025-09-27
更新日期
2025-09-27
尺寸
20.6 KB
授權條款
MIT
腳本執行於

中燃WMS二维码生成器 - 用户脚本说明文档

概述

中燃WMS二维码生成器是一款专为中燃仓储管理系统(WMS)设计的用户脚本(UserScript),旨在自动提取特定页面的物料信息(如供应商名称、物料编码、生产日期、生产批次)并生成可拖拽的悬浮式二维码,方便工作人员通过移动设备快速扫描获取关键数据,提升仓储操作效率。

核心功能

  • 自动信息提取:精准抓取WMS系统#A3001页面(物料详情页)中的核心物料信息。
  • 动态二维码生成:实时将提取的信息转换为SVG格式二维码,支持手动刷新更新。
  • 可交互悬浮窗
    • 拖拽功能:支持鼠标/触摸设备拖拽调整悬浮窗位置,松手后自动吸附到最近窗口边缘。
    • 最小化/恢复:点击图标可切换悬浮窗大小,避免遮挡页面关键内容。
  • 状态记忆:自动保存悬浮窗位置,下次打开时无需重新调整。
  • 友好通知:操作结果(如初始化成功、二维码更新、加载失败)通过右下角通知提示,不干扰操作流程。

适用环境

项目 要求
目标系统 中燃仓储管理系统(WMS),具体页面:https://wms.chinagasholdings.com/logincenter/wms_workplace
页面哈希值 仅在页面URL哈希值为 #A3001 时生效(即物料详情页)
浏览器支持 支持安装Tampermonkey/Greasemonkey等用户脚本管理器的浏览器(Chrome、Edge、Firefox等)
脚本管理器 推荐使用 Tampermonkey(油猴),版本无强制要求,最新版最佳

安装步骤

  1. 安装脚本管理器
    在浏览器中安装用户脚本管理插件(以Chrome为例):

    • 打开Chrome应用商店,搜索 Tampermonkey 并安装;
    • 安装完成后,浏览器右上角会出现油猴图标(🐒)。
  2. 导入用户脚本

    • 点击浏览器右上角的油猴图标,选择 「添加新脚本」
    • 删除编辑器中默认的模板代码,将本脚本的完整代码复制粘贴到编辑器中;
    • 点击编辑器顶部的 「文件」→「保存」(或快捷键 Ctrl+S),脚本自动生效。
  3. 验证安装

    • 登录中燃WMS系统,进入物料详情页(确保URL末尾哈希值为 #A3001);
    • 页面加载完成后,会自动弹出二维码悬浮窗,同时右下角显示「二维码生成器已启动」通知,说明安装成功。

使用说明

1. 基础操作

  • 查看二维码:进入#A3001页面后,悬浮窗自动显示物料信息及对应的二维码,直接用手机扫码即可获取信息。
  • 刷新二维码:若页面物料信息更新,点击悬浮窗右上角的 「刷新图标」(🔄),二维码会实时重新生成。
  • 最小化/恢复:点击悬浮窗右上角的 「压缩图标」(−),悬浮窗会缩小为仅显示按钮;再次点击 「展开图标」(+)可恢复原大小。

2. 拖拽调整位置

  • 鼠标左键按住悬浮窗的非按钮区域(如二维码区域、信息显示区),拖拽至目标位置后松开;
  • 松手后,悬浮窗会自动吸附到最近的窗口边缘(左、右、上、下),避免随意摆放遮挡页面。

3. 处理异常情况

异常现象 可能原因 解决方案
进入#A3001页面无悬浮窗 脚本未启用/安装失败;页面哈希值不正确 1. 检查油猴图标是否亮显(未亮显则启用脚本);2. 确认URL哈希值为#A3001;3. 重新安装脚本
二维码显示「生成失败」 二维码库加载失败;页面信息提取错误 1. 检查网络连接(需联网加载二维码库);2. 刷新页面重试;3. 确认页面是否有「A3001detailFormMain」表单(F12开发者工具检查元素)
悬浮窗遮挡页面内容 悬浮窗位置不合适 拖拽悬浮窗至空白区域,或点击最小化按钮缩小悬浮窗

脚本结构说明

核心函数 功能描述
isTargetUrl() 判断当前页面哈希值是否为#A3001,决定是否加载脚本功能
loadFontAwesome() 动态加载Font Awesome图标库,提供刷新、最小化等按钮图标
importQRCode() 导入二维码生成库(从esm.sh加载),用于生成SVG格式二维码
getPageInfo() 从页面表单中提取供应商名称、物料编码、生产日期、生产批次等信息
createFloatingWindow() 创建悬浮窗DOM结构,包含按钮区、二维码容器、信息显示区
enableDragging() 为悬浮窗添加拖拽功能,支持鼠标和触摸设备,包含边缘吸附逻辑
updateQRCode() 整合信息提取、二维码生成、信息显示更新,是核心业务逻辑函数
showNotification() 显示操作结果通知,支持info(信息)、success(成功)、error(错误)三种类型

常见问题(FAQ)

  1. Q:进入#A3001页面后,悬浮窗不显示怎么办?
    A:① 检查油猴脚本是否启用(点击油猴图标,确保本脚本名称前的勾选框已选中);② 确认页面URL哈希值为#A3001(可手动刷新页面重试);③ 打开浏览器开发者工具(F12)→「控制台」,查看是否有报错信息(如网络错误、元素未找到),根据报错排查问题。

  2. Q:二维码扫描后信息不正确?
    A:点击悬浮窗的「刷新图标」(🔄),重新生成二维码;若仍不正确,检查页面表单中的物料信息是否填写完整(脚本会标注「无XX信息」的缺失项)。

  3. Q:脚本提示「二维码库加载失败」怎么办?
    A:该问题通常是网络原因导致无法加载esm.sh上的二维码库,解决方案:① 检查网络连接,确保可正常访问外部资源;② 若公司网络限制外部链接,可联系IT部门开放esm.sh域名的访问权限。

  4. Q:如何卸载脚本?
    A:点击油猴图标→找到「中燃WMS二维码生成器」→ 点击脚本右侧的「垃圾桶」图标,确认卸载即可。

注意事项

  1. 系统权限:使用前需确保已拥有中燃WMS系统的登录权限,且能正常访问#A3001物料详情页。
  2. 网络依赖:脚本首次运行时需联网加载Font Awesome图标库和二维码生成库,若网络受限可能导致功能异常。
  3. 页面兼容性:若中燃WMS系统更新页面结构(如表单ID、输入框名称变更),可能导致信息提取失败,需联系脚本开发者调整代码。
  4. 隐私安全:脚本仅在本地提取页面信息并生成二维码,不将任何数据上传至第三方服务器,确保信息安全。

许可证

本脚本采用 MIT许可证 开源,允许自由使用、修改和分发,但需保留原作者信息(author: intpfx),且不承担任何使用风险。

问题反馈

若使用过程中遇到 bugs(如二维码不生成、信息提取错误)或有功能建议,可通过以下方式反馈:

  • 记录问题现象(如页面URL、报错信息、操作步骤);
  • 联系脚本作者(intpfx),提供问题详情以便定位修复。