{"_id":"@boom_pk/lowcode-barcode-component","_rev":"2-296ae8bdf078147a370bb8587a8330ef","name":"@boom_pk/lowcode-barcode-component","dist-tags":{"latest":"1.0.1"},"versions":{"1.0.0":{"name":"@boom_pk/lowcode-barcode-component","version":"1.0.0","keywords":["lowcode","barcode","react","component","阿里低代码引擎","jsbarcode","条形码"],"author":{"name":"cc"},"license":"MIT","_id":"@boom_pk/lowcode-barcode-component@1.0.0","maintainers":[{"name":"boom_pk","email":"18516791191@163.com"}],"dist":{"shasum":"4c5d96af6e5ab8b2c8c534bc5cb8b5bc8d48cb91","tarball":"https://registry.npmjs.org/@boom_pk/lowcode-barcode-component/-/lowcode-barcode-component-1.0.0.tgz","fileCount":10,"integrity":"sha512-mFNNltiHbGHrdLuTMlKRTR6jEsftXNdXsLHwY9dlbfiFg2XlYsAOs92Z6VXE3hQD6F0VMk8yJ0x08DBmhLwbHA==","signatures":[{"sig":"MEUCIGtHm4igVOgxmA9nPSdOmOcWYTG4Q8uk3myI5b1AWpLBAiEA8nI05LMNGF1a4Bpjke2TiR4eq4Qb+x/QQzDuAXs0y5A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":107204},"main":"lib/index.js","babel":{"env":{"lib":{"presets":[["@babel/preset-env",{"modules":"commonjs"}],"@babel/preset-react"]}},"presets":[["@babel/preset-env",{"modules":false}],"@babel/preset-react"]},"types":"lib/index.d.ts","module":"es/index.js","scripts":{"dev":"webpack serve --mode development","build":"npm run build:lib && npm run build:es && npm run build:umd","build:es":"babel src --out-dir es --copy-files --env-name es","build:lib":"babel src --out-dir lib --copy-files","build:umd":"webpack --mode production","prepublishOnly":"npm run build"},"_npmUser":{"name":"boom_pk","email":"18516791191@163.com"},"_npmVersion":"10.5.0","description":"阿里低代码引擎条形码组件","directories":{},"_nodeVersion":"21.7.3","dependencies":{"jsbarcode":"^3.11.5"},"_hasShrinkwrap":false,"devDependencies":{"react":"^17.0.2","webpack":"^5.69.1","react-dom":"^17.0.2","@babel/cli":"^7.17.6","css-loader":"^6.6.0","@babel/core":"^7.17.5","webpack-cli":"^4.9.2","babel-loader":"^8.2.3","style-loader":"^3.3.1","@babel/preset-env":"^7.16.11","webpack-dev-server":"^4.7.4","@babel/preset-react":"^7.16.7","html-webpack-plugin":"^5.5.0"},"peerDependencies":{"react":">=16.8.0","react-dom":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/lowcode-barcode-component_1.0.0_1749696557185_0.8441932947215844","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@boom_pk/lowcode-barcode-component","version":"1.0.1","description":"阿里低代码引擎条形码组件","main":"lib/index.js","module":"es/index.js","types":"lib/index.d.ts","scripts":{"build":"npm run build:lib && npm run build:es && npm run build:umd","build:lib":"babel src --out-dir lib --copy-files","build:es":"babel src --out-dir es --copy-files --env-name es","build:umd":"webpack --mode production","dev":"webpack serve --mode development","prepublishOnly":"npm run build"},"keywords":["lowcode","barcode","react","component","阿里低代码引擎","jsbarcode","条形码"],"author":{"name":"cc"},"license":"MIT","peerDependencies":{"react":">=16.8.0","react-dom":">=16.8.0"},"dependencies":{"jsbarcode":"^3.11.5"},"devDependencies":{"@babel/cli":"^7.17.6","@babel/core":"^7.17.5","@babel/preset-env":"^7.16.11","@babel/preset-react":"^7.16.7","babel-loader":"^8.2.3","css-loader":"^6.6.0","html-webpack-plugin":"^5.5.0","react":"^17.0.2","react-dom":"^17.0.2","style-loader":"^3.3.1","webpack":"^5.69.1","webpack-cli":"^4.9.2","webpack-dev-server":"^4.7.4"},"babel":{"presets":[["@babel/preset-env",{"modules":false}],"@babel/preset-react"],"env":{"lib":{"presets":[["@babel/preset-env",{"modules":"commonjs"}],"@babel/preset-react"]}}},"_id":"@boom_pk/lowcode-barcode-component@1.0.1","_nodeVersion":"21.7.3","_npmVersion":"10.5.0","dist":{"integrity":"sha512-m82bsL2yoe6qNrB1jTzoC+frReqqAe+OhxM+H5TPInAAP08vp7vQo0/M2mCh4s+MtsP+Sh5ViJtHpYjqWJLFJA==","shasum":"5bfa183fe26a6586add43396fa20effee5b3c864","tarball":"https://registry.npmjs.org/@boom_pk/lowcode-barcode-component/-/lowcode-barcode-component-1.0.1.tgz","fileCount":10,"unpackedSize":107301,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIDSWREkZs5icAkfWixY5ij8FjFCAXNSM5CEQxDqDjSJbAiBrQFGsj3zpsOyAdI6G2X1BwEZeYvxMdS5waZ+dyvfX+w=="}]},"_npmUser":{"name":"boom_pk","email":"18516791191@163.com"},"directories":{},"maintainers":[{"name":"boom_pk","email":"18516791191@163.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/lowcode-barcode-component_1.0.1_1749707472464_0.14720661841613358"},"_hasShrinkwrap":false}},"time":{"created":"2025-06-12T02:49:17.067Z","modified":"2025-06-12T05:51:12.931Z","1.0.0":"2025-06-12T02:49:17.354Z","1.0.1":"2025-06-12T05:51:12.678Z"},"author":{"name":"cc"},"license":"MIT","keywords":["lowcode","barcode","react","component","阿里低代码引擎","jsbarcode","条形码"],"description":"阿里低代码引擎条形码组件","maintainers":[{"name":"boom_pk","email":"18516791191@163.com"}],"readme":"# 阿里低代码引擎条形码组件\r\n\r\n一个专为阿里低代码引擎开发的条形码生成组件，支持多种条形码格式，配置灵活，使用简单。\r\n\r\n## ✨ 特性\r\n\r\n- 🎯 **多格式支持** - 支持 CODE128、CODE39、EAN13、EAN8、UPC 等主流条形码格式\r\n- 🎨 **高度可配置** - 支持宽度、高度、颜色、字体等多种样式配置\r\n- 📱 **响应式设计** - 适配各种设备尺寸\r\n- 🔧 **低代码友好** - 完全适配阿里低代码引擎的组件规范\r\n- ⚡ **高性能** - 基于 Canvas 渲染，性能优异\r\n- 🛡️ **类型安全** - 完整的 TypeScript 支持\r\n\r\n## 📦 安装\r\n\r\n```bash\r\nnpm install @your-org/barcode-component jsbarcode\r\n```\r\n\r\n## 🚀 快速开始\r\n\r\n### 在低代码引擎中使用\r\n\r\n```javascript\r\nimport { BarcodeComponent, BarcodeComponentMeta } from '@your-org/barcode-component';\r\n\r\n// 注册组件到设计器\r\ndesigner.registerComponent(BarcodeComponent, BarcodeComponentMeta);\r\n```\r\n\r\n### 在 React 项目中直接使用\r\n\r\n```jsx\r\nimport BarcodeComponent from '@your-org/barcode-component';\r\n\r\nfunction App() {\r\n  return (\r\n    <BarcodeComponent\r\n      value=\"HELLO123456\"\r\n      format=\"CODE128\"\r\n      width={2}\r\n      height={100}\r\n      displayValue={true}\r\n      fontSize={20}\r\n      background=\"#ffffff\"\r\n      lineColor=\"#000000\"\r\n    />\r\n  );\r\n}\r\n```\r\n\r\n## 📋 API 参考\r\n\r\n### 基础属性\r\n\r\n| 属性 | 类型 | 默认值 | 说明 |\r\n|------|------|--------|------|\r\n| `value` | `string` | `'SAMPLE123'` | 条形码内容 |\r\n| `format` | `string` | `'CODE128'` | 条形码格式 |\r\n| `width` | `number` | `2` | 条形码宽度系数 |\r\n| `height` | `number` | `100` | 条形码高度 |\r\n\r\n### 文本属性\r\n\r\n| 属性 | 类型 | 默认值 | 说明 |\r\n|------|------|--------|------|\r\n| `displayValue` | `boolean` | `true` | 是否显示文本 |\r\n| `fontSize` | `number` | `20` | 字体大小 |\r\n| `textAlign` | `'left' \\| 'center' \\| 'right'` | `'center'` | 文本对齐方式 |\r\n| `textPosition` | `'top' \\| 'bottom'` | `'bottom'` | 文本位置 |\r\n\r\n### 样式属性\r\n\r\n| 属性 | 类型 | 默认值 | 说明 |\r\n|------|------|--------|------|\r\n| `background` | `string` | `'#ffffff'` | 背景颜色 |\r\n| `lineColor` | `string` | `'#000000'` | 条形码颜色 |\r\n| `margin` | `number` | `10` | 整体边距 |\r\n| `marginTop` | `number` | `10` | 上边距 |\r\n| `marginBottom` | `number` | `10` | 下边距 |\r\n| `marginLeft` | `number` | `10` | 左边距 |\r\n| `marginRight` | `number` | `10` | 右边距 |\r\n\r\n## 🔧 支持的条形码格式\r\n\r\n| 格式 | 说明 | 适用场景 |\r\n|------|------|----------|\r\n| `CODE128` | 通用编码，支持完整 ASCII 字符集 | 物流、库存管理 |\r\n| `CODE39` | 工业标准，支持数字、字母和部分符号 | 工业、军用标识 |\r\n| `EAN13` | 欧洲商品条码标准（13位） | 商品零售 |\r\n| `EAN8` | 欧洲商品条码标准（8位） | 小商品 |\r\n| `UPC` | 美国商品条码标准 | 北美零售 |\r\n| `CODE128A` | CODE128 子集 A | 控制字符 |\r\n| `CODE128B` | CODE128 子集 B | 大小写字母和数字 |\r\n| `CODE128C` | CODE128 子集 C | 纯数字，压缩编码 |\r\n\r\n## 🎨 使用示例\r\n\r\n### 基础用法\r\n\r\n```jsx\r\n// 简单的商品条码\r\n<BarcodeComponent\r\n  value=\"1234567890123\"\r\n  format=\"EAN13\"\r\n/>\r\n\r\n// 自定义样式的条码\r\n<BarcodeComponent\r\n  value=\"HELLO-WORLD\"\r\n  format=\"CODE128\"\r\n  width={3}\r\n  height={120}\r\n  background=\"#f0f0f0\"\r\n  lineColor=\"#333333\"\r\n  fontSize={24}\r\n/>\r\n```\r\n\r\n### 高级配置\r\n\r\n```jsx\r\n// 完整配置的条码\r\n<BarcodeComponent\r\n  value=\"PRODUCT-001\"\r\n  format=\"CODE39\"\r\n  width={2.5}\r\n  height={80}\r\n  displayValue={true}\r\n  fontSize={16}\r\n  textAlign=\"center\"\r\n  textPosition=\"bottom\"\r\n  background=\"#ffffff\"\r\n  lineColor=\"#000000\"\r\n  margin={15}\r\n  marginTop={10}\r\n  marginBottom={20}\r\n  marginLeft={10}\r\n  marginRight={10}\r\n/>\r\n```\r\n\r\n### 动态条码\r\n\r\n```jsx\r\nfunction DynamicBarcode() {\r\n  const [barcodeValue, setBarcodeValue] = useState('SAMPLE123');\r\n  const [format, setFormat] = useState('CODE128');\r\n  \r\n  return (\r\n    <div>\r\n      <input\r\n        type=\"text\"\r\n        value={barcodeValue}\r\n        onChange={(e) => setBarcodeValue(e.target.value)}\r\n        placeholder=\"输入条码内容\"\r\n      />\r\n      <select value={format} onChange={(e) => setFormat(e.target.value)}>\r\n        <option value=\"CODE128\">CODE128</option>\r\n        <option value=\"CODE39\">CODE39</option>\r\n        <option value=\"EAN13\">EAN13</option>\r\n      </select>\r\n      <BarcodeComponent\r\n        value={barcodeValue}\r\n        format={format}\r\n        width={2}\r\n        height={100}\r\n      />\r\n    </div>\r\n  );\r\n}\r\n```\r\n\r\n## 🏗️ 开发指南\r\n\r\n### 本地开发\r\n\r\n```bash\r\n# 克隆项目\r\ngit clone <your-repo-url>\r\ncd barcode-component\r\n\r\n# 安装依赖\r\nnpm install\r\n\r\n# 启动开发服务器\r\nnpm run dev\r\n```\r\n\r\n### 构建打包\r\n\r\n```bash\r\n# 构建所有版本\r\nnpm run build\r\n\r\n# 构建 CommonJS 版本\r\nnpm run build:lib\r\n\r\n# 构建 ES Module 版本\r\nnpm run build:es\r\n\r\n# 构建 UMD 版本\r\nnpm run build:umd\r\n```\r\n\r\n### 目录结构\r\n\r\n```\r\nbarcode-component/\r\n├── src/\r\n│   ├── BarcodeComponent.jsx     # 主组件\r\n│   ├── barcode-meta.js          # 组件元数据\r\n│   └── index.js                 # 入口文件\r\n├── public/\r\n│   └── index.html               # 演示页面\r\n├── lib/                         # CommonJS 构建输出\r\n├── es/                          # ES Module 构建输出\r\n├── dist/                        # UMD 构建输出\r\n├── package.json\r\n├── webpack.config.js\r\n└── README.md\r\n```\r\n\r\n## 🔍 注意事项\r\n\r\n### 条形码内容要求\r\n\r\n- **EAN13**: 必须是 12 或 13 位数字\r\n- **EAN8**: 必须是 7 或 8 位数字\r\n- **UPC**: 必须是 11 或 12 位数字\r\n- **CODE39**: 支持数字、大写字母和 `-.$+%/` 符号\r\n- **CODE128**: 支持完整 ASCII 字符集\r\n\r\n### 错误处理\r\n\r\n组件内置错误处理机制，当条形码生成失败时会在 Canvas 上显示错误信息。\r\n\r\n### 性能优化\r\n\r\n- 使用 `React.memo` 避免不必要的重渲染\r\n- 仅在必要属性变化时重新生成条形码\r\n- Canvas 复用避免频繁创建销毁\r\n\r\n## 🤝 贡献指南\r\n\r\n欢迎提交 Issue 和 Pull Request！\r\n\r\n1. Fork 本仓库\r\n2. 创建特性分支 (`git checkout -b feature/AmazingFeature`)\r\n3. 提交更改 (`git commit -m 'Add some AmazingFeature'`)\r\n4. 推送到分支 (`git push origin feature/AmazingFeature`)\r\n5. 开启 Pull Request\r\n\r\n## 📄 许可证\r\n\r\nMIT License - 详见 [LICENSE](LICENSE) 文件\r\n\r\n## 🆘 常见问题\r\n\r\n### Q: 如何在低代码引擎中使用？\r\n\r\nA: 参考上面的快速开始部分，需要先注册组件到设计器中。\r\n\r\n### Q: 支持二维码吗？\r\n\r\nA: 当前版本只支持条形码，二维码支持计划在下个版本中添加。\r\n\r\n### Q: 如何自定义更多样式？\r\n\r\nA: 可以通过 CSS 类名或内联样式对组件容器进行样式定制。\r\n\r\n### Q: 条形码模糊怎么办？\r\n\r\nA: 尝试调整 `width` 和 `height` 参数，或者在高 DPI 屏幕上使用更大的尺寸。\r\n\r\n---\r\n\r\n如有问题或建议，请提交 [Issue](https://github.com/your-org/barcode-component/issues) 或联系维护者。","readmeFilename":"README.md"}