jvs-draw 1.1.8 → 1.1.10
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 +64 -1
- package/dist/config.d.ts +9 -0
- package/dist/core/renderer.d.ts +1 -1
- package/dist/jvs-draw.css +1 -1
- package/dist/jvs-draw.es.js +5465 -4918
- package/dist/jvs-draw.umd.js +6 -6
- package/dist/jvs-ui-public/icon-fonts/iconfont.css +7 -3
- package/dist/jvs-ui-public/icon-fonts/iconfont.js +1 -1
- package/dist/jvs-ui-public/icon-fonts/iconfont.json +7 -0
- package/dist/jvs-ui-public/icon-fonts/iconfont.ttf +0 -0
- package/dist/jvs-ui-public/icon-fonts/iconfont.woff +0 -0
- package/dist/jvs-ui-public/icon-fonts/iconfont.woff2 +0 -0
- package/dist/locales/en-US.d.ts +134 -0
- package/dist/locales/index.d.ts +3 -0
- package/dist/locales/zh-CN.d.ts +134 -0
- package/dist/store/index.d.ts +21 -0
- package/dist/utils/math.d.ts +2 -2
- package/package.json +2 -1
package/README.md
CHANGED
|
@@ -140,11 +140,74 @@ const handleSetData = () => {
|
|
|
140
140
|
drawRef.value.setCanvasData(newData);
|
|
141
141
|
}
|
|
142
142
|
};
|
|
143
|
+
|
|
144
|
+
// 配置画板 (如: 开启并自定义图片上传)
|
|
145
|
+
const handleSetting = () => {
|
|
146
|
+
if (drawRef.value) {
|
|
147
|
+
drawRef.value.setConfig({
|
|
148
|
+
enableImageUpload: true, // 开启自定义图片上传
|
|
149
|
+
uploadImageFn: async (file: File) => {
|
|
150
|
+
// 在这里对接你自己的后端上传接口
|
|
151
|
+
const formData = new FormData();
|
|
152
|
+
formData.append('file', file);
|
|
153
|
+
// 假设的上传请求
|
|
154
|
+
// const res = await axios.post('/api/upload', formData);
|
|
155
|
+
// return res.data.url;
|
|
156
|
+
|
|
157
|
+
// 此处返回模拟的线上图片地址作为示例
|
|
158
|
+
return URL.createObjectURL(file);
|
|
159
|
+
}
|
|
160
|
+
});
|
|
161
|
+
}
|
|
162
|
+
};
|
|
143
163
|
</script>
|
|
144
164
|
```
|
|
145
|
-
|
|
146
165
|
*(注意:所有方法均需通过 `ref` 获取组件实例后调用,以支持多实例独立运行。)*
|
|
147
166
|
|
|
167
|
+
### 4. 完整的可选配置项 (Config)
|
|
168
|
+
|
|
169
|
+
通过组件暴露的 `setConfig` 方法,您可以传入以下参数来全局定制画板的 UI 显示及其他核心设置:
|
|
170
|
+
|
|
171
|
+
| 配置项 | 类型 | 默认值 | 说明 |
|
|
172
|
+
| :--- | :---: | :---: | :--- |
|
|
173
|
+
| `showToolbar` | `boolean` | `true` | 是否显示左侧工具栏 (包含画笔、形状工具等) |
|
|
174
|
+
| `showPropertiesPanel` | `boolean` | `true` | 是否显示右侧属性面板 (用于修改颜色、线宽等) |
|
|
175
|
+
| `showBoardName` | `boolean` | `true` | 是否显示在左上角的画板名称标题 |
|
|
176
|
+
| `showFooter` | `boolean` | `true` | 是否显示底部栏 (包含缩放、拖拽视口工具等) |
|
|
177
|
+
| `editable` | `boolean` | `true` | 是否开启编辑模式。设为 `false` 画板进入纯浏览/只读模式 |
|
|
178
|
+
| `loadFromLocal` | `boolean` | `true` | 初始化时是否优先从本地缓存读取画板数据(而非使用 `initialData`) |
|
|
179
|
+
| `initialData` | `Object` | `undefined` | 初始画布数据对象。包含 `elements` (数组) 和 `appState` (对象) |
|
|
180
|
+
| `enableImageUpload` | `boolean` | `false` | 是否开启自定义图片上传 |
|
|
181
|
+
| `uploadImageFn` | `Function` | `undefined` | 开启图片上传时的实际拦截函数 `(file: File) => Promise<string>` |
|
|
182
|
+
| `language` | `string` | `'zh-CN'` | 设置当前显示的语言,内置 `'zh-CN'` 和 `'en-US'` |
|
|
183
|
+
| `showLanguageMenu` | `boolean` | `true` | 是否在左侧菜单显示语言切换选项 |
|
|
184
|
+
| `languageList` | `Array` | `undefined` | 自定义语言下拉列表选项结构:`[{ label: 'x', value: 'x' }]`,传入后自动追加 |
|
|
185
|
+
| `messages` | `Object` | `undefined` | 自定义外部语言的翻译字典集,结构为 `Record<string, Record<string, string>>` |
|
|
186
|
+
|
|
187
|
+
### 5. 自定义国际化语言 (i18n)
|
|
188
|
+
|
|
189
|
+
`jvs-draw` 内置了简体中文 (`zh-CN`) 和英文 (`en-US`)。如果需要引入其他语言并扩充下拉切换列表,可以通过传入 `languageList` 和 `messages` 来动态拓展。
|
|
190
|
+
|
|
191
|
+
例如,增加繁体中文 (`zh-TW`) 支持:
|
|
192
|
+
|
|
193
|
+
```typescript
|
|
194
|
+
import { setConfig } from 'jvs-draw';
|
|
195
|
+
|
|
196
|
+
setConfig({
|
|
197
|
+
showLanguageMenu: true, // 确保显示语言切换菜单
|
|
198
|
+
languageList: [
|
|
199
|
+
{ label: '繁体中文', value: 'zh-TW' } // 新选项会自动追加在这列表里
|
|
200
|
+
],
|
|
201
|
+
messages: {
|
|
202
|
+
'zh-TW': {
|
|
203
|
+
'board.language': '語言',
|
|
204
|
+
'board.backgroundGrid': '背景網格',
|
|
205
|
+
// ... 其它你在界面上见到的相关词条都可以在此传入重写
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
});
|
|
209
|
+
```
|
|
210
|
+
|
|
148
211
|
## 🧩 依赖说明
|
|
149
212
|
|
|
150
213
|
- `vue` >= 3.x
|
package/dist/config.d.ts
CHANGED
|
@@ -1,6 +1,11 @@
|
|
|
1
|
+
export interface LanguageOption {
|
|
2
|
+
label: string;
|
|
3
|
+
value: string;
|
|
4
|
+
}
|
|
1
5
|
export interface JvsDrawConfig {
|
|
2
6
|
showToolbar?: boolean;
|
|
3
7
|
showBoardName?: boolean;
|
|
8
|
+
showGlobalSettings?: boolean;
|
|
4
9
|
showFooter?: boolean;
|
|
5
10
|
showPropertiesPanel?: boolean;
|
|
6
11
|
editable?: boolean;
|
|
@@ -11,6 +16,10 @@ export interface JvsDrawConfig {
|
|
|
11
16
|
};
|
|
12
17
|
enableImageUpload?: boolean;
|
|
13
18
|
uploadImageFn?: (file: File) => string | Promise<string>;
|
|
19
|
+
language?: string;
|
|
20
|
+
showLanguageMenu?: boolean;
|
|
21
|
+
languageList?: LanguageOption[];
|
|
22
|
+
messages?: Record<string, Record<string, string>>;
|
|
14
23
|
}
|
|
15
24
|
export declare const globalConfig: JvsDrawConfig;
|
|
16
25
|
export declare const setConfig: (config: Partial<JvsDrawConfig>) => void;
|
package/dist/core/renderer.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ExcalidrawElement } from '../types/element';
|
|
2
|
-
export declare const renderScene: (canvas: HTMLCanvasElement, elements: readonly ExcalidrawElement[], scrollX: number, scrollY: number, zoom: number, selectedElementIds?: Record<string, boolean>, editingElementId?: string | null, erasingElementIds?: Record<string, boolean>, highlightedFrameId?: string | null, highlightedElementIds?: Record<string, boolean>, gridType?: string,
|
|
2
|
+
export declare const renderScene: (canvas: HTMLCanvasElement, elements: readonly ExcalidrawElement[], scrollX: number, scrollY: number, zoom: number, selectedElementIds?: Record<string, boolean>, editingElementId?: string | null, erasingElementIds?: Record<string, boolean>, highlightedFrameId?: string | null, highlightedElementIds?: Record<string, boolean>, gridType?: string, viewBackgroundColor?: string, images?: Record<string, string>, croppingElementId?: string | null) => void;
|
|
3
3
|
export declare const renderLaserTrails: (canvas: HTMLCanvasElement, trails: {
|
|
4
4
|
x: number;
|
|
5
5
|
y: number;
|