编辑 | blame | 历史 | 原始文档

条码组合 / 服务端成图 / 扫码解析 - 前端联调方案

涉及页面

  • 条码配置管理页(contentFormat 编辑)
  • 标签打印 / 条码展示页(服务端成图预览)
  • 扫码(PDA / 手机扫码枪)触发业务解析入口

业务流程与数据带入

  1. 条码配置 -> 内容生成:配置 contentFormat 支持组合占位符 {BUSINESSCODE}(业务编码)、{BUSINESSNAME}(业务名称)。前端传 bizTypebizCodebizName 调生成接口,后端按配置模板替换占位符、清空未知占位符,返回最终条码内容。
  2. 服务端成图:前端把条码内容 + 格式(1 QRCode / 2 EAN-13 / 3 Code39 / 4 UPC-A / 默认 Code128)+ 宽高传给 POST /render,后端用 zxing 生成图片,返回 Base64 data-URL 供 <img> 直接预览(不持久化落库)。
  3. 扫码解析:前端把扫到的内容传给 POST /parse,后端先精确匹配条码表,再按启用配置的 contentFormat 反向正则匹配,返回命中的 bizType / bizCode / bizName,前端据此跳转对应业务单据。

API

方法 路径 说明
GET /mes/wm/barcode/generate-content?bizType=&bizCode=&bizName= 按配置生成条码内容
POST /mes/wm/barcode/render 服务端成图(返回 Base64 图片)
POST /mes/wm/barcode/parse 扫码解析(返回业务字段)

请求参数(render):

参数 类型 必填 说明
content String 条码内容(可由 generate-content 返回)
format Integer 条码格式:1 QRCode / 2 EAN-13 / 3 Code39 / 4 UPC-A / 默认 Code128
width Integer 图片宽度(默认 200)
height Integer 图片高度(默认 200)

响应(render): { "code": 200, "data": "data:image/png;base64,..." }

请求参数(parse):

参数 类型 必填 说明
content String 扫描得到的条码内容

响应字段(parse):

字段 类型 说明
bizType Integer 命中的业务类型
bizCode String 命中的业务编码
bizName String 命中的业务名称

字段展示规则

字段 展示位置 说明
contentFormat 条码配置编辑页 支持 {BUSINESSCODE}{BUSINESSNAME} 组合
条码图片 标签 / 列表 render 返回 Base64 直接 <img src>
解析结果 扫码结果页 命中后展示业务编码并跳转

业务规则说明

场景 规则
生成内容 仅替换配置中存在的占位符;未配置的未知占位符会被清空
服务端成图 只做即时预览,不落库;正式附件仍走 system 存储附件机制
解析 优先精确匹配条码表;未命中再按启用配置 contentFormat 反向匹配;均未命中返回空
格式支持 二维码与一维码(EAN-13 / Code39 / UPC-A / Code128)

注意事项

  • 条码图片为 Base64 data-URL,适合即时预览;如需持久存储按「文件上传规则」走 /system/storage-*
  • generate-content 需要存在对应的启用条码配置,否则返回原样或空。