vg-print 1.1.0 → 1.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +82 -0
- package/dist/{chunk-MW6X4KTL-BGX4AdvZ.js → chunk-MW6X4KTL-BXi3UvAj.js} +1 -1
- package/dist/{chunk-Q2Z2CG2I-4zALoFop.js → chunk-Q2Z2CG2I-BwVO1E3F.js} +1 -1
- package/dist/{chunk-Y7FY32AO-CBomeJj8.js → chunk-Y7FY32AO-Dbd6pbtx.js} +1 -1
- package/dist/{download-DTiI2jHs.js → download-EEjuwbYb.js} +2 -2
- package/dist/{index-CFsMCiM-.js → index-uN5-3hGS.js} +11792 -10172
- package/dist/rasterize-34PCWURX-D6vrmnjW.js +4 -0
- package/dist/style.css +1 -1
- package/dist/toBlob-D0xYwgv2.js +4 -0
- package/dist/toCanvas-BaKM-G3n.js +4 -0
- package/dist/{toImg-DQPkcEdR.js → toImg-C8t-rKFY.js} +2 -2
- package/dist/vg-print.es.js +1 -1
- package/package.json +1 -1
- package/dist/rasterize-34PCWURX-_oofvJcl.js +0 -4
- package/dist/toBlob-Da4HO1NL.js +0 -4
- package/dist/toCanvas-BXi8RbS2.js +0 -4
package/README.md
CHANGED
|
@@ -550,6 +550,88 @@ const onSave = ({ template, data, templateId }) => {
|
|
|
550
550
|
- 通过 `default-lang` 设置初始语言(`cn` 默认为中文);内部会同步 `vue-i18n` 与 `hiprint` 的语言。
|
|
551
551
|
- 运行时可在页面右上角语言切换菜单切换(无需刷新)。
|
|
552
552
|
|
|
553
|
+
## 数据源使用说明
|
|
554
|
+
|
|
555
|
+
`FullDesigner` 内置了数据源管理与字段绑定能力,可用于将接口字段自动映射到设计器组件字段下拉中。
|
|
556
|
+
|
|
557
|
+
### 入口与能力
|
|
558
|
+
|
|
559
|
+
- 入口:二级工具栏点击“数据源”打开管理弹窗
|
|
560
|
+
- 能力:数据源配置、测试获取、数据处理脚本、错误处理脚本、字段来源规则(全局/按组件类型)
|
|
561
|
+
|
|
562
|
+
### 使用流程(推荐)
|
|
563
|
+
|
|
564
|
+
1. 新增数据源并填写基础信息:
|
|
565
|
+
- 唯一名称
|
|
566
|
+
- 请求地址(URL)
|
|
567
|
+
- 请求方法(GET/POST/PUT/DELETE)
|
|
568
|
+
2. 按需配置请求头、参数、发送数据:
|
|
569
|
+
- 类型支持:`string`、`number`、`boolean`、`expression`
|
|
570
|
+
3. 编写“数据处理”脚本(`processCode`)并点击“测试链接”:
|
|
571
|
+
- 左侧显示原始返回(`rawResult`)
|
|
572
|
+
- 右侧显示处理结果(`processed`)
|
|
573
|
+
4. 配置“字段来源规则”并保存:
|
|
574
|
+
- 看板全局:`manual` 或 `global`
|
|
575
|
+
- 组件规则:`manual` / `global` / `custom`
|
|
576
|
+
5. 规则生效后,组件字段下拉会按规则自动展示字段列表
|
|
577
|
+
|
|
578
|
+
### processCode / errorProcessCode 约定
|
|
579
|
+
|
|
580
|
+
- `processCode` 函数形态:
|
|
581
|
+
|
|
582
|
+
```js
|
|
583
|
+
// (result, isSandbox, DSV, VFR) => { ...; return processed; }
|
|
584
|
+
return result
|
|
585
|
+
```
|
|
586
|
+
|
|
587
|
+
- `errorProcessCode` 函数形态:
|
|
588
|
+
|
|
589
|
+
```js
|
|
590
|
+
// (error, isSandbox, DSV, $message, VFR) => { ... }
|
|
591
|
+
$message.error(error.message)
|
|
592
|
+
```
|
|
593
|
+
|
|
594
|
+
### 字段结构约定
|
|
595
|
+
|
|
596
|
+
推荐返回以下结构,字段下拉识别最稳定:
|
|
597
|
+
|
|
598
|
+
```js
|
|
599
|
+
[
|
|
600
|
+
{ text: '字段显示名', field: '字段路径' }
|
|
601
|
+
]
|
|
602
|
+
```
|
|
603
|
+
|
|
604
|
+
如果返回的是对象或对象数组,系统也会自动递归提取字段路径(如 `user.name`、`order.items`)。
|
|
605
|
+
|
|
606
|
+
### 示例:将接口返回转换为字段列表
|
|
607
|
+
|
|
608
|
+
```js
|
|
609
|
+
return (result.data || []).map(item => ({
|
|
610
|
+
field: item.column_name,
|
|
611
|
+
text: item.table_comment || item.column_name
|
|
612
|
+
}))
|
|
613
|
+
```
|
|
614
|
+
|
|
615
|
+
### 缓存与持久化策略(当前实现)
|
|
616
|
+
|
|
617
|
+
- 数据源配置持久化:`KEY_VG_DATASOURCES`
|
|
618
|
+
- 字段绑定规则持久化:`KEY_VG_FIELD_BINDINGS`
|
|
619
|
+
- 数据源运行时缓存:`KEY_VG_DS_RUNTIME_CACHE`
|
|
620
|
+
- 仅缓存处理后数据(`processed`)
|
|
621
|
+
- 不缓存原始返回(`rawResult`)
|
|
622
|
+
- 默认 TTL:30 分钟
|
|
623
|
+
- 默认最大条目:20
|
|
624
|
+
|
|
625
|
+
### 常见问题
|
|
626
|
+
|
|
627
|
+
- 测试成功但没有字段:
|
|
628
|
+
- 检查 `processCode` 返回值是否为对象或对象数组
|
|
629
|
+
- 检查数据集 path 是否命中处理结果
|
|
630
|
+
- 字段下拉未更新:
|
|
631
|
+
- 先“测试链接”生成字段,再“保存规则”
|
|
632
|
+
- 表达式参数无效:
|
|
633
|
+
- `expression` 求值异常会被忽略,建议先用简单表达式验证
|
|
634
|
+
|
|
553
635
|
## 高级用法(hiprint)
|
|
554
636
|
|
|
555
637
|
本库导出 `hiprint`,可直接创建与操作模板对象(`hiprint.PrintTemplate`):
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { W as a } from "./chunk-MW6X4KTL-
|
|
1
|
+
import { W as a } from "./chunk-MW6X4KTL-BXi3UvAj.js";
|
|
2
2
|
async function o(r, t) {
|
|
3
3
|
let i = await a(r, t), e = new Image();
|
|
4
4
|
return e.src = i.toDataURL(`image/${t.format}`, t.quality), await e.decode(), e.style.width = `${i.width / t.dpr}px`, e.style.height = `${i.height / t.dpr}px`, e;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { m as f } from "./chunk-Y7FY32AO-
|
|
2
|
-
import { W as t } from "./chunk-MW6X4KTL-
|
|
1
|
+
import { m as f } from "./chunk-Y7FY32AO-Dbd6pbtx.js";
|
|
2
|
+
import { W as t } from "./chunk-MW6X4KTL-BXi3UvAj.js";
|
|
3
3
|
async function w(n, e) {
|
|
4
4
|
let c = ((e == null ? void 0 : e.format) || (e == null ? void 0 : e.type) || "").toLowerCase(), a = c === "jpg" ? "jpeg" : c || "png", i = (e == null ? void 0 : e.filename) || `snapdom.${a}`, o = { ...e || {}, format: a, type: a };
|
|
5
5
|
if (o.dpr = 1, a === "svg") {
|