@zhangqingcq/vgce 0.0.32 → 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- package/README.md +18 -6
- package/dist/style.css +1 -7
- package/dist/vgce.js +33862 -58808
- package/dist/vgce.umd.cjs +57 -1044
- package/package.json +1 -1
- package/src/assets/svgs/clock-a.svg +11 -11
- package/src/components/ace-edit.ts +15 -16
- package/src/components/svg-editor/index.vue +3 -1
- package/src/components/svg-viewer.vue +3 -0
- package/src/config/files/clock-a.vue +44 -21
- package/src/config/svg/custom/clock-a.ts +43 -2
- package/src/utils/index.ts +5 -0
package/package.json
CHANGED
@@ -1,23 +1,23 @@
|
|
1
1
|
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="100" height="100">
|
2
|
-
<path d="M512.3 518.9m-469.2 0a469.2 469.2 0 1 0 938.4 0 469.2 469.2 0 1 0-938.4 0Z" fill="#
|
2
|
+
<path d="M512.3 518.9m-469.2 0a469.2 469.2 0 1 0 938.4 0 469.2 469.2 0 1 0-938.4 0Z" fill="#B3A7FF"/>
|
3
3
|
<path d="M512.3 518.9m-392.5 0a392.5 392.5 0 1 0 785 0 392.5 392.5 0 1 0-785 0Z" fill="#FFFFFF"/>
|
4
|
-
<path d="M512.3 523.8c-4.5 0-9-1.7-12.4-5.1-6.8-6.8-6.8-17.9 0-24.8l130.8-130.8c6.8-6.8 17.9-6.8 24.8 0 6.8 6.8 6.8 17.9 0 24.8L524.7 518.7c-3.5 3.4-7.9 5.1-12.4 5.1z"
|
5
|
-
fill="#2D416C">
|
6
|
-
<animateTransform attributeName="transform" attributeType="XML" type="rotate" from="-45 512 512"
|
7
|
-
to="315 512 512" dur="43200s" repeatCount="indefinite"/>
|
8
|
-
</path>
|
9
4
|
<path d="M512.3 523.8c-4.5 0-9-1.7-12.4-5.1L318.3 337.1c-6.8-6.8-6.8-17.9 0-24.8 6.8-6.8 17.9-6.8 24.8 0L524.7 494c6.8 6.8 6.8 17.9 0 24.8-3.5 3.3-7.9 5-12.4 5z"
|
10
|
-
fill="#
|
5
|
+
fill="#50E68E">
|
11
6
|
<animateTransform attributeName="transform" attributeType="XML" type="rotate" from="45 512 512"
|
12
7
|
to="405 512 512" dur="3600s" repeatCount="indefinite"/>
|
13
8
|
</path>
|
14
|
-
<path d="M512.3
|
9
|
+
<path d="M512.3 523.8c-4.5 0-9-1.7-12.4-5.1-6.8-6.8-6.8-17.9 0-24.8l130.8-130.8c6.8-6.8 17.9-6.8 24.8 0 6.8 6.8 6.8 17.9 0 24.8L524.7 518.7c-3.5 3.4-7.9 5.1-12.4 5.1z"
|
10
|
+
fill="#9A36E7">
|
11
|
+
<animateTransform attributeName="transform" attributeType="XML" type="rotate" from="-45 512 512"
|
12
|
+
to="315 512 512" dur="43200s" repeatCount="indefinite"/>
|
13
|
+
</path>
|
14
|
+
<path d="M512.3 506.3m-47.5 0a47.5 47.5 0 1 0 95 0 47.5 47.5 0 1 0-95 0Z" fill="#F45AFC"/>
|
15
15
|
<path d="M512.3 218.8c-9 0-16.3-7.3-16.3-16.3v-29.1c0-9 7.3-16.3 16.3-16.3s16.3 7.3 16.3 16.3v29.1c0 9-7.4 16.3-16.3 16.3zM512.3 880.8c-9 0-16.3-7.3-16.3-16.3v-29.1c0-9 7.3-16.3 16.3-16.3s16.3 7.3 16.3 16.3v29.1c0 9-7.4 16.3-16.3 16.3zM812.4 518.9c0-9 7.3-16.3 16.3-16.3h29.1c9 0 16.3 7.3 16.3 16.3s-7.3 16.3-16.3 16.3h-29.1c-8.9 0-16.3-7.3-16.3-16.3zM150.4 518.9c0-9 7.3-16.3 16.3-16.3h29.1c9 0 16.3 7.3 16.3 16.3s-7.3 16.3-16.3 16.3h-29.1c-8.9 0-16.3-7.3-16.3-16.3z"
|
16
|
-
fill="#
|
16
|
+
fill="#4942CF"/>
|
17
17
|
<path d="M296.9 733.5c-2.2 0-4.5-0.9-6.2-2.6-3.4-3.4-3.4-9 0-12.4L540 469.2c3.4-3.4 9-3.4 12.4 0 3.4 3.4 3.4 9 0 12.4L303.1 731c-1.7 1.7-4 2.5-6.2 2.5z"
|
18
|
-
fill="#
|
18
|
+
fill="#E83E24">
|
19
19
|
<animateTransform attributeName="transform" attributeType="XML" type="rotate" from="135 512 512"
|
20
20
|
to="495 512 512" dur="60s" repeatCount="indefinite"/>
|
21
21
|
</path>
|
22
|
-
<path d="M512.3 506.3m-22.8 0a22.8 22.8 0 1 0 45.6 0 22.8 22.8 0 1 0-45.6 0Z" fill="#
|
22
|
+
<path d="M512.3 506.3m-22.8 0a22.8 22.8 0 1 0 45.6 0 22.8 22.8 0 1 0-45.6 0Z" fill="#EBF257"/>
|
23
23
|
</svg>
|
@@ -1,27 +1,26 @@
|
|
1
1
|
import ace from 'ace-builds'
|
2
|
-
|
3
|
-
|
4
|
-
ace.config.setModuleUrl('ace/theme/github', themeUrl)
|
2
|
+
// import themeUrl from 'ace-builds/src-noconflict/theme-github?url'
|
3
|
+
// ace.config.setModuleUrl('ace/theme/github', themeUrl)
|
5
4
|
|
6
5
|
import themeUrl2 from 'ace-builds/src-noconflict/theme-kr_theme?url'
|
7
6
|
ace.config.setModuleUrl('ace/theme/kr_theme', themeUrl2)
|
8
7
|
|
9
|
-
import workerBaseUrl from 'ace-builds/src-noconflict/worker-base?url'
|
10
|
-
ace.config.setModuleUrl('ace/mode/base', workerBaseUrl)
|
8
|
+
// import workerBaseUrl from 'ace-builds/src-noconflict/worker-base?url'
|
9
|
+
// ace.config.setModuleUrl('ace/mode/base', workerBaseUrl)
|
11
10
|
|
12
11
|
import modeJsonUrl from 'ace-builds/src-noconflict/mode-json?url'
|
13
12
|
ace.config.setModuleUrl('ace/mode/json', modeJsonUrl)
|
14
13
|
import workerJsonUrl from 'ace-builds/src-noconflict/worker-json?url'
|
15
14
|
ace.config.setModuleUrl('ace/mode/json_worker', workerJsonUrl)
|
16
|
-
import snippetsJsonUrl from 'ace-builds/src-noconflict/snippets/json?url'
|
17
|
-
ace.config.setModuleUrl('ace/snippets/json', snippetsJsonUrl)
|
18
|
-
|
19
|
-
import modeJavascriptUrl from 'ace-builds/src-noconflict/mode-javascript?url'
|
20
|
-
ace.config.setModuleUrl('ace/mode/javascript', modeJavascriptUrl)
|
21
|
-
import workerJavascriptUrl from 'ace-builds/src-noconflict/worker-javascript?url'
|
22
|
-
ace.config.setModuleUrl('ace/mode/javascript_worker', workerJavascriptUrl)
|
23
|
-
import snippetsJavascriptUrl from 'ace-builds/src-noconflict/snippets/javascript?url'
|
24
|
-
ace.config.setModuleUrl('ace/snippets/javascript', snippetsJavascriptUrl)
|
15
|
+
// import snippetsJsonUrl from 'ace-builds/src-noconflict/snippets/json?url'
|
16
|
+
// ace.config.setModuleUrl('ace/snippets/json', snippetsJsonUrl)
|
17
|
+
//
|
18
|
+
// import modeJavascriptUrl from 'ace-builds/src-noconflict/mode-javascript?url'
|
19
|
+
// ace.config.setModuleUrl('ace/mode/javascript', modeJavascriptUrl)
|
20
|
+
// import workerJavascriptUrl from 'ace-builds/src-noconflict/worker-javascript?url'
|
21
|
+
// ace.config.setModuleUrl('ace/mode/javascript_worker', workerJavascriptUrl)
|
22
|
+
// import snippetsJavascriptUrl from 'ace-builds/src-noconflict/snippets/javascript?url'
|
23
|
+
// ace.config.setModuleUrl('ace/snippets/javascript', snippetsJavascriptUrl)
|
25
24
|
|
26
|
-
import 'ace-builds/src-noconflict/ext-language_tools'
|
27
|
-
ace.require('ace/ext/language_tools')
|
25
|
+
// import 'ace-builds/src-noconflict/ext-language_tools'
|
26
|
+
// ace.require('ace/ext/language_tools')
|
@@ -32,6 +32,9 @@
|
|
32
32
|
import { useConfigStore } from '@/stores/config'
|
33
33
|
import { fileRead, fileWrite } from '@/utils/file-read-write'
|
34
34
|
import { useEditPrivateStore } from '@/stores/system'
|
35
|
+
import { setEditorLoadTime } from '@/utils'
|
36
|
+
|
37
|
+
setEditorLoadTime()
|
35
38
|
|
36
39
|
//todo 优化自带组件使用体验
|
37
40
|
const emits = defineEmits(['onReturn', 'onPreview', 'onSave'])
|
@@ -42,7 +45,6 @@
|
|
42
45
|
const svgEditLayoutStore = useSvgEditLayoutStore(pinia)
|
43
46
|
const configStore = useConfigStore(pinia)
|
44
47
|
const editPrivateStore = useEditPrivateStore(pinia)
|
45
|
-
|
46
48
|
const centerRef = ref()
|
47
49
|
const importJsonRef = ref<InstanceType<typeof ImportJson>>()
|
48
50
|
const visible_conf: IVisibleConf = reactive({
|
@@ -9,6 +9,7 @@
|
|
9
9
|
preventDefault,
|
10
10
|
prosToVBind,
|
11
11
|
setArrItemByID,
|
12
|
+
setEditorLoadTime,
|
12
13
|
stopEvent,
|
13
14
|
valFormat
|
14
15
|
} from '@/utils'
|
@@ -22,6 +23,8 @@
|
|
22
23
|
|
23
24
|
import { sub, close } from '@/utils/mqtt-net'
|
24
25
|
|
26
|
+
setEditorLoadTime()
|
27
|
+
|
25
28
|
const emit = defineEmits(['onMessage'])
|
26
29
|
const props = withDefaults(defineProps<{ data?: IDataModel; canvasDrag?: boolean }>(), {
|
27
30
|
canvasDrag: true
|
@@ -1,51 +1,74 @@
|
|
1
1
|
<script lang="ts" setup>
|
2
|
-
const props = withDefaults(
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
2
|
+
const props = withDefaults(
|
3
|
+
defineProps<{
|
4
|
+
id: string
|
5
|
+
centerColor: string
|
6
|
+
secondsColor: string
|
7
|
+
circleColor: string
|
8
|
+
minutesColor: string
|
9
|
+
hoursColor: string
|
10
|
+
scaleColor: string
|
11
|
+
backgroundColor: string
|
12
|
+
borderColor: string
|
13
|
+
}>(),
|
14
|
+
{
|
15
|
+
id: '',
|
16
|
+
centerColor: '#EBF257',
|
17
|
+
secondsColor: '#E83E24',
|
18
|
+
circleColor: '#F45AFC',
|
19
|
+
minutesColor: '#50E68E',
|
20
|
+
hoursColor: '#9A36E7',
|
21
|
+
scaleColor: '#4942CF',
|
22
|
+
backgroundColor: '#ffffff',
|
23
|
+
borderColor: '#B3A7FF'
|
24
|
+
}
|
25
|
+
)
|
26
|
+
const nowTime = new Date(Number(window.sessionStorage.getItem('editorLoadTime') || '0'))
|
27
|
+
const s = nowTime.getSeconds() + 1
|
28
|
+
const m = nowTime.getMinutes()
|
29
|
+
const h = Math.floor((nowTime.getHours() + (m + s / 60) / 60) * 30)
|
7
30
|
</script>
|
8
31
|
<template>
|
9
32
|
<g :id="props.id">
|
10
33
|
<symbol :id="`${props.id}clock-a-n`" viewBox="0 0 1024 1024">
|
11
|
-
<path d="M512.3 518.9m-469.2 0a469.2 469.2 0 1 0 938.4 0 469.2 469.2 0 1 0-938.4 0Z" fill="
|
12
|
-
<path d="M512.3 518.9m-392.5 0a392.5 392.5 0 1 0 785 0 392.5 392.5 0 1 0-785 0Z" fill="
|
34
|
+
<path d="M512.3 518.9m-469.2 0a469.2 469.2 0 1 0 938.4 0 469.2 469.2 0 1 0-938.4 0Z" :fill="props.borderColor" />
|
35
|
+
<path d="M512.3 518.9m-392.5 0a392.5 392.5 0 1 0 785 0 392.5 392.5 0 1 0-785 0Z" :fill="props.backgroundColor" />
|
13
36
|
<path
|
14
|
-
d="M512.3 523.8c-4.5 0-9-1.7-12.4-5.
|
15
|
-
fill="
|
37
|
+
d="M512.3 523.8c-4.5 0-9-1.7-12.4-5.1L318.3 337.1c-6.8-6.8-6.8-17.9 0-24.8 6.8-6.8 17.9-6.8 24.8 0L524.7 494c6.8 6.8 6.8 17.9 0 24.8-3.5 3.3-7.9 5-12.4 5z"
|
38
|
+
:fill="props.minutesColor"
|
16
39
|
>
|
17
40
|
<animateTransform
|
18
41
|
attributeName="transform"
|
19
42
|
attributeType="XML"
|
20
43
|
type="rotate"
|
21
|
-
:from="`${
|
22
|
-
:to="`${
|
23
|
-
dur="
|
44
|
+
:from="`${45 + m * 6} 512.3 506.3`"
|
45
|
+
:to="`${405 + m * 6} 512.3 506.3`"
|
46
|
+
dur="3600s"
|
24
47
|
repeatCount="indefinite"
|
25
48
|
/>
|
26
49
|
</path>
|
27
50
|
<path
|
28
|
-
d="M512.3 523.8c-4.5 0-9-1.7-12.4-5.
|
29
|
-
fill="
|
51
|
+
d="M512.3 523.8c-4.5 0-9-1.7-12.4-5.1-6.8-6.8-6.8-17.9 0-24.8l130.8-130.8c6.8-6.8 17.9-6.8 24.8 0 6.8 6.8 6.8 17.9 0 24.8L524.7 518.7c-3.5 3.4-7.9 5.1-12.4 5.1z"
|
52
|
+
:fill="props.hoursColor"
|
30
53
|
>
|
31
54
|
<animateTransform
|
32
55
|
attributeName="transform"
|
33
56
|
attributeType="XML"
|
34
57
|
type="rotate"
|
35
|
-
:from="`${45 +
|
36
|
-
:to="`${
|
37
|
-
dur="
|
58
|
+
:from="`${-45 + h} 512.3 506.3`"
|
59
|
+
:to="`${315 + h} 512.3 506.3`"
|
60
|
+
dur="43200s"
|
38
61
|
repeatCount="indefinite"
|
39
62
|
/>
|
40
63
|
</path>
|
41
|
-
<path d="M512.3 506.3m-47.5 0a47.5 47.5 0 1 0 95 0 47.5 47.5 0 1 0-95 0Z" fill="
|
64
|
+
<path d="M512.3 506.3m-47.5 0a47.5 47.5 0 1 0 95 0 47.5 47.5 0 1 0-95 0Z" :fill="props.circleColor" />
|
42
65
|
<path
|
43
66
|
d="M512.3 218.8c-9 0-16.3-7.3-16.3-16.3v-29.1c0-9 7.3-16.3 16.3-16.3s16.3 7.3 16.3 16.3v29.1c0 9-7.4 16.3-16.3 16.3zM512.3 880.8c-9 0-16.3-7.3-16.3-16.3v-29.1c0-9 7.3-16.3 16.3-16.3s16.3 7.3 16.3 16.3v29.1c0 9-7.4 16.3-16.3 16.3zM812.4 518.9c0-9 7.3-16.3 16.3-16.3h29.1c9 0 16.3 7.3 16.3 16.3s-7.3 16.3-16.3 16.3h-29.1c-8.9 0-16.3-7.3-16.3-16.3zM150.4 518.9c0-9 7.3-16.3 16.3-16.3h29.1c9 0 16.3 7.3 16.3 16.3s-7.3 16.3-16.3 16.3h-29.1c-8.9 0-16.3-7.3-16.3-16.3z"
|
44
|
-
fill="
|
67
|
+
:fill="props.scaleColor"
|
45
68
|
/>
|
46
69
|
<path
|
47
70
|
d="M296.9 733.5c-2.2 0-4.5-0.9-6.2-2.6-3.4-3.4-3.4-9 0-12.4L540 469.2c3.4-3.4 9-3.4 12.4 0 3.4 3.4 3.4 9 0 12.4L303.1 731c-1.7 1.7-4 2.5-6.2 2.5z"
|
48
|
-
fill="
|
71
|
+
:fill="props.secondsColor"
|
49
72
|
>
|
50
73
|
<animateTransform
|
51
74
|
attributeName="transform"
|
@@ -57,7 +80,7 @@
|
|
57
80
|
repeatCount="indefinite"
|
58
81
|
/>
|
59
82
|
</path>
|
60
|
-
<path d="M512.3 506.3m-22.8 0a22.8 22.8 0 1 0 45.6 0 22.8 22.8 0 1 0-45.6 0Z" fill="
|
83
|
+
<path d="M512.3 506.3m-22.8 0a22.8 22.8 0 1 0 45.6 0 22.8 22.8 0 1 0-45.6 0Z" :fill="props.centerColor" />
|
61
84
|
</symbol>
|
62
85
|
<use :xlink:href="`#${props.id}clock-a-n`" width="100" height="100" />
|
63
86
|
</g>
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import { EDoneJsonType } from '@/config/types'
|
1
|
+
import { EConfigItemPropsType, EDoneJsonType } from '@/config/types'
|
2
2
|
import type { IConfigItem } from '@/config/types'
|
3
3
|
|
4
4
|
export const clock_a: IConfigItem = {
|
@@ -12,7 +12,48 @@ export const clock_a: IConfigItem = {
|
|
12
12
|
actual_rect: true
|
13
13
|
},
|
14
14
|
display: true,
|
15
|
-
props: {
|
15
|
+
props: {
|
16
|
+
centerColor: {
|
17
|
+
title: '针顶颜色',
|
18
|
+
type: EConfigItemPropsType.Color,
|
19
|
+
val: '#EBF257'
|
20
|
+
},
|
21
|
+
secondsColor: {
|
22
|
+
title: '秒针颜色',
|
23
|
+
type: EConfigItemPropsType.Color,
|
24
|
+
val: '#E83E24'
|
25
|
+
},
|
26
|
+
circleColor: {
|
27
|
+
title: '针圈颜色',
|
28
|
+
type: EConfigItemPropsType.Color,
|
29
|
+
val: '#F45AFC'
|
30
|
+
},
|
31
|
+
minutesColor: {
|
32
|
+
title: '分针颜色',
|
33
|
+
type: EConfigItemPropsType.Color,
|
34
|
+
val: '#50E68E'
|
35
|
+
},
|
36
|
+
hoursColor: {
|
37
|
+
title: '时针颜色',
|
38
|
+
type: EConfigItemPropsType.Color,
|
39
|
+
val: '#9A36E7'
|
40
|
+
},
|
41
|
+
scaleColor: {
|
42
|
+
title: '刻度颜色',
|
43
|
+
type: EConfigItemPropsType.Color,
|
44
|
+
val: '#4942CF'
|
45
|
+
},
|
46
|
+
backgroundColor: {
|
47
|
+
title: '表盘颜色',
|
48
|
+
type: EConfigItemPropsType.Color,
|
49
|
+
val: '#ffffff'
|
50
|
+
},
|
51
|
+
borderColor: {
|
52
|
+
title: '裱框颜色',
|
53
|
+
type: EConfigItemPropsType.Color,
|
54
|
+
val: '#B3A7FF'
|
55
|
+
}
|
56
|
+
},
|
16
57
|
common_animations: {
|
17
58
|
val: '',
|
18
59
|
delay: 'delay-0s',
|
package/src/utils/index.ts
CHANGED
@@ -28,6 +28,11 @@ export function componentsRegister() {
|
|
28
28
|
}
|
29
29
|
}
|
30
30
|
|
31
|
+
export function setEditorLoadTime() {
|
32
|
+
//记录编辑器加载到浏览器的时间,有些组件需要用这个时间
|
33
|
+
window.sessionStorage.setItem('editorLoadTime', new Date().getTime().toString())
|
34
|
+
}
|
35
|
+
|
31
36
|
/**
|
32
37
|
* 生成随机字符串
|
33
38
|
* @param len 生成个数
|