clickgo 3.16.22 → 3.16.24

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.
Files changed (46) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +1 -1
  3. package/dist/app/demo/form/control/calendar/calendar.js +3 -0
  4. package/dist/app/demo/form/control/calendar/calendar.xml +1 -1
  5. package/dist/app/demo/form/control/menu/menu.xml +8 -8
  6. package/dist/app/demo/form/method/system/system.js +5 -0
  7. package/dist/app/demo/form/method/system/system.xml +1 -0
  8. package/dist/app/task/form/bar/bar.xml +1 -1
  9. package/dist/clickgo.d.ts +5 -0
  10. package/dist/clickgo.js +29 -1
  11. package/dist/control/arteditor.cgc +0 -0
  12. package/dist/control/box.cgc +0 -0
  13. package/dist/control/captcha.cgc +0 -0
  14. package/dist/control/common.cgc +0 -0
  15. package/dist/control/desc.cgc +0 -0
  16. package/dist/control/drawer.cgc +0 -0
  17. package/dist/control/echarts.cgc +0 -0
  18. package/dist/control/form.cgc +0 -0
  19. package/dist/control/iconview.cgc +0 -0
  20. package/dist/control/jodit.cgc +0 -0
  21. package/dist/control/map.cgc +0 -0
  22. package/dist/control/monaco.cgc +0 -0
  23. package/dist/control/mpegts.cgc +0 -0
  24. package/dist/control/nav.cgc +0 -0
  25. package/dist/control/page.cgc +0 -0
  26. package/dist/control/pdf.cgc +0 -0
  27. package/dist/control/property.cgc +0 -0
  28. package/dist/control/qrcode.cgc +0 -0
  29. package/dist/control/table.cgc +0 -0
  30. package/dist/control/task.cgc +0 -0
  31. package/dist/control/tplink.cgc +0 -0
  32. package/dist/control/tuieditor.cgc +0 -0
  33. package/dist/control/tuiviewer.cgc +0 -0
  34. package/dist/control/xterm.cgc +0 -0
  35. package/dist/global.css +1 -1
  36. package/dist/index.d.ts +4 -0
  37. package/dist/index.js +4 -0
  38. package/dist/lib/task.js +23 -22
  39. package/dist/lib/tool.d.ts +1 -1
  40. package/dist/lib/tool.js +22 -23
  41. package/dist/theme/blue.cgt +0 -0
  42. package/dist/theme/byterun.cgt +0 -0
  43. package/dist/theme/dark.cgt +0 -0
  44. package/dist/theme/light.cgt +0 -0
  45. package/package.json +1 -1
  46. package/types/index.d.ts +4 -0
package/LICENSE CHANGED
@@ -186,7 +186,7 @@
186
186
  same "printed page" as the copyright notice for easier
187
187
  identification within third-party archives.
188
188
 
189
- Copyright 2024 MAIYUN.NET
189
+ Copyright 2007 - 2025 MAIYUN.NET
190
190
 
191
191
  Licensed under the Apache License, Version 2.0 (the "License");
192
192
  you may not use this file except in compliance with the License.
package/README.md CHANGED
@@ -35,7 +35,7 @@ First, load the module loader, then load your app with it.
35
35
  **index.html**
36
36
 
37
37
  ```html
38
- <script src="https://cdn.jsdelivr.net/npm/@litert/loader@3.5.8/dist/loader.min.js?path=index&npm={'clickgo':'3.16.22'}"></script>
38
+ <script src="https://cdn.jsdelivr.net/npm/@litert/loader@3.5.8/dist/loader.min.js?path=index&npm={'clickgo':'3.16.24'}"></script>
39
39
  ```
40
40
 
41
41
  **index.js**
@@ -54,5 +54,8 @@ class default_1 extends clickgo.form.AbstractForm {
54
54
  onSelected(e) {
55
55
  this.selected = e.detail.value;
56
56
  }
57
+ setmv() {
58
+ this.mv = ['20230101', '20230108'];
59
+ }
57
60
  }
58
61
  exports.default = default_1;
@@ -18,7 +18,7 @@
18
18
  <button @click="bottom = !bottom" style="flex: 1;">{{bottom ? '' : '!'}}bottom</button>
19
19
  </layout>
20
20
  <layout gutter="10">
21
- <button @click="settime" style="flex: 1;">Set time</button>
21
+ <button @click="setmv" style="flex: 1;">Set modelValue</button>
22
22
  <button @click="start = !start" style="flex: 1;">{{start ? '' : '!'}}start</button>
23
23
  <button @click="end = !end" style="flex: 1;">{{end ? '' : '!'}}end</button>
24
24
  </layout>
@@ -4,7 +4,7 @@
4
4
  <menulist>
5
5
  <menulist-item alt="A">Item1</menulist-item>
6
6
  <menulist-item alt="B">Item2</menulist-item>
7
- <menulist-item alt="C">
7
+ <menulist-item>
8
8
  <template v-slot>Radio</template>
9
9
  <template v-slot:pop>
10
10
  <menulist>
@@ -12,7 +12,7 @@
12
12
  <menulist-item type="radio" alt="B" v-model="radio" label="radio2">Radio2</menulist-item>
13
13
  <menulist-item type="radio" alt="C" v-model="radio" label="radio3" @check="onRadio">Radio3</menulist-item>
14
14
  <menulist-split></menulist-split>
15
- <menulist-item alt="C">
15
+ <menulist-item>
16
16
  <template v-slot>Check</template>
17
17
  <template v-slot:pop>
18
18
  <menulist>
@@ -26,11 +26,11 @@
26
26
  </menulist>
27
27
  </template>
28
28
  </menulist-item>
29
- <menulist-item alt="D">
29
+ <menulist-item>
30
30
  <template v-slot>Custom</template>
31
31
  <template v-slot:pop>
32
32
  <menulist>
33
- <menulist-item alt="A">
33
+ <menulist-item>
34
34
  <template v-slot>Icon</template>
35
35
  <template v-slot:pop>
36
36
  <menulist>
@@ -40,7 +40,7 @@
40
40
  </menulist>
41
41
  </template>
42
42
  </menulist-item>
43
- <menulist-item alt="B">
43
+ <menulist-item>
44
44
  <template v-slot>Control</template>
45
45
  <template v-slot:pop>
46
46
  <menulist>
@@ -56,13 +56,13 @@
56
56
  </menulist>
57
57
  </template>
58
58
  </menulist-item>
59
- <menulist-item alt="C">
59
+ <menulist-item>
60
60
  <template v-slot>Free</template>
61
61
  <template v-slot:pop>
62
62
  <menulist>
63
63
  <layout>
64
64
  <menulist-item alt="A">Box 1</menulist-item>
65
- <menulist-item alt="B">
65
+ <menulist-item>
66
66
  <template v-slot>Box 2</template>
67
67
  <template v-slot:pop>
68
68
  <menulist>
@@ -82,7 +82,7 @@
82
82
  <label>Basic:</label>
83
83
  <menulist>
84
84
  <menulist-item alt="E">Item1</menulist-item>
85
- <menulist-item alt="F">
85
+ <menulist-item>
86
86
  <template v-slot>Item2</template>
87
87
  <template v-slot:pop>
88
88
  <menulist>
@@ -59,6 +59,11 @@ class default_1 extends clickgo.form.AbstractForm {
59
59
  yield clickgo.form.dialog('Platform: ' + clickgo.getPlatform());
60
60
  });
61
61
  }
62
+ getDevice() {
63
+ return __awaiter(this, void 0, void 0, function* () {
64
+ yield clickgo.form.dialog('Device: ' + JSON.stringify(clickgo.getDevice()));
65
+ });
66
+ }
62
67
  isImmersion() {
63
68
  return __awaiter(this, void 0, void 0, function* () {
64
69
  yield clickgo.form.dialog('Immersion: ' + (clickgo.isImmersion() ? 'true' : 'false'));
@@ -3,6 +3,7 @@
3
3
  <button @click="getVersion">clickgo.getVersion()</button>
4
4
  <button @click="isNative">clickgo.isNative()</button>
5
5
  <button @click="getPlatform">clickgo.getPlatform()</button>
6
+ <button @click="getDevice">clickgo.getDevice()</button>
6
7
  <button @click="isImmersion">clickgo.isImmersion()</button>
7
8
  <button @click="hasFrame">clickgo.hasFrame()</button>
8
9
  <layout gutter="10">
@@ -29,7 +29,7 @@
29
29
  </task-item>
30
30
  <template v-slot:pop>
31
31
  <menulist>
32
- <menulist-item alt="P">
32
+ <menulist-item>
33
33
  {{l('position')}}
34
34
  <template v-slot:pop>
35
35
  <menulist>
package/dist/clickgo.d.ts CHANGED
@@ -1,6 +1,11 @@
1
1
  export declare function getVersion(): string;
2
2
  export declare function isNative(): boolean;
3
3
  export declare function getPlatform(): NodeJS.Platform | 'web';
4
+ declare let device: {
5
+ 'type': 'unknown' | 'mobile' | 'desktop';
6
+ 'os': 'unknown' | 'android' | 'ios' | 'windows' | 'macos' | 'linux';
7
+ };
8
+ export declare function getDevice(): typeof device;
4
9
  export declare function isImmersion(): boolean;
5
10
  export declare function hasFrame(): boolean;
6
11
  export declare const vue: import('../types/index').IVueObject;
package/dist/clickgo.js CHANGED
@@ -37,9 +37,10 @@ exports.zip = exports.tool = exports.theme = exports.task = exports.storage = ex
37
37
  exports.getVersion = getVersion;
38
38
  exports.isNative = isNative;
39
39
  exports.getPlatform = getPlatform;
40
+ exports.getDevice = getDevice;
40
41
  exports.isImmersion = isImmersion;
41
42
  exports.hasFrame = hasFrame;
42
- const version = '3.16.22';
43
+ const version = '3.16.24';
43
44
  function getVersion() {
44
45
  return version;
45
46
  }
@@ -61,6 +62,33 @@ if (native) {
61
62
  function getPlatform() {
62
63
  return platform;
63
64
  }
65
+ let device = {
66
+ 'type': 'unknown',
67
+ 'os': 'unknown',
68
+ };
69
+ function getDevice() {
70
+ if (device.type !== 'unknown') {
71
+ return device;
72
+ }
73
+ const ua = navigator.userAgent.toLowerCase();
74
+ if (ua.includes('android')) {
75
+ device.os = 'android';
76
+ }
77
+ else if (ua.includes('iphone') || ua.includes('ipad') || ua.includes('ipod')) {
78
+ device.os = 'ios';
79
+ }
80
+ else if (ua.includes('windows') || ua.includes('win32')) {
81
+ device.os = 'windows';
82
+ }
83
+ else if (ua.includes('mac os') || ua.includes('darwin')) {
84
+ device.os = 'macos';
85
+ }
86
+ else if (ua.includes('linux')) {
87
+ device.os = 'linux';
88
+ }
89
+ device.type = ['windows', 'macos', 'linux'].includes(device.os) ? 'desktop' : 'mobile';
90
+ return device;
91
+ }
64
92
  function isImmersion() {
65
93
  return immersion;
66
94
  }
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
package/dist/global.css CHANGED
@@ -1 +1 @@
1
- @font-face{font-family:"Noto Sans Regular";src:url("notosans-regular.ttf")}#cg-wrap{position:fixed;left:0;top:0;--g-padding-xs:2px;--g-padding-s:4px;--g-padding:7px;--g-padding-h:4px var(--g-padding);--g-padding-l:14px;--g-padding-l-h:8px var(--g-padding-l);--g-padding-xl:22px;--g-padding-xl-h:12px var(--g-padding-xl);--g-bpadding:18px;--g-margin:2px;--g-radius:0;--g-radius-l:4px;--g-radius-xl:8px;--g-size:12px;--g-size-m:16px;--g-size-l:20px;--g-size-xl:28px;--g-size-xxl:34px;--g-control:14px;--g-control-m:18px;--g-family:"Noto Sans Regular",apple-system,BlinkMacSystemFont,"Helvetica Neue",Helvetica,Arial,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;--g-line:1.2;--g-cubic:cubic-bezier(0.39, 0.575, 0.565, 1);--g-transition:none;--g-boxsize:calc(var(--g-padding) * 2 + var(--g-size));--cg:oklch(.7 .23 45);--cg-bg:oklch(.98 .01 45);--success:oklch(.7 .23 150);--success-hover:oklch(.75 .23 150);--success-active:oklch(.6 .23 150);--success-focus:oklch(.65 .23 150);--success-disabled:oklch(.85 0 150);--success-bg:oklch(.98 .01 150);--info:oklch(.7 .23 255);--info-hover:oklch(.75 .23 255);--info-active:oklch(.6 .23 255);--info-focus:oklch(.65 .23 255);--info-disabled:oklch(.85 0 255);--info-bg:oklch(.98 .01 255);--warning:oklch(.7 .23 45);--warning-hover:oklch(.75 .23 45);--warning-active:oklch(.6 .23 45);--warning-focus:oklch(.65 .23 45);--warning-disabled:oklch(.85 0 45);--warning-bg:oklch(.98 .01 45);--danger:oklch(.7 .23 25);--danger-hover:oklch(.75 .23 25);--danger-active:oklch(.6 .23 25);--danger-focus:oklch(.65 .23 25);--danger-disabled:oklch(.85 0 25);--danger-bg:oklch(.98 .01 25);--system-color:oklch(.96 0 0);--system-background:oklch(0 0 0 / .35);--system-background-hover:oklch(1 0 0 / .06);--system-background-active:oklch(1 0 0 / .1);--system-control-background:oklch(1 0 0 / .03);--system-border-color:oklch(1 0 0 / .03);--system-border-color-hover:oklch(1 0 0 / .06);--system-placeholder-color:oklch(1 0 0 / .2);--g-pure:oklch(1 0 0);--face:oklch(.95 0 0);--face-hover:oklch(.9 0 0);--face-selected:oklch(.85 0 0);--g-pop-background:oklch(1 0 0);--g-pop-backdrop:none;--g-pop-border:solid .5px var(--g-border-color);--g-shadow:none;--g-outline-shadow:none;--g-color:oklch(.45 0 0);--g-color-hover:oklch(.55 0 0);--g-color-active:oklch(.35 0 0);--g-color-focus:oklch(.4 0 0);--g-color-disabled:oklch(.7 0 0);--g-background:oklch(.95 0 0);--g-background-hover:oklch(1 0 0);--g-background-active:oklch(.9 0 0);--g-background-opacity:oklch(.5 0 0 / .2);--g-background-focus:oklch(.97 0 0);--g-background-disabled:oklch(.85 0 0);--g-border-color:oklch(.5 0 0);--g-border-color-hover:oklch(.55 0 0);--g-border-color-active:oklch(.4 0 0);--g-border-color-focus:oklch(.45 0 0);--g-border-color-disabled:oklch(.7 0 0);--g-focusbox-border-color:var(--g-plain-border-color);--g-plain-color:var(--g-color);--g-plain-color-hover:var(--g-color-hover);--g-plain-color-active:var(--g-color-active);--g-plain-color-focus:var(--g-color-focus);--g-plain-color-disabled:var(--g-color-disabled);--g-plain-background:oklch(1 0 0);--g-plain-background-hover:oklch(.98 0 0);--g-plain-background-active:oklch(.95 0 0);--g-plain-background-focus:var(--g-plain-background);--g-plain-background-disabled:oklch(.95 0 0);--g-plain-background-selected:oklch(.95 0 0);--g-plain-border-color:oklch(.8 0 0);--g-plain-border-color-hover:oklch(.9 0 0);--g-plain-border-color-active:oklch(.7 0 0);--g-plain-border-color-focus:oklch(.75 0 0);--g-plain-border-color-disabled:oklch(.7 0 0);--g-plain-border-color-plain:oklch(.95 0 0);--g-block-background:oklch(.9 0 0);--g-block-background-hover:oklch(.8 0 0);--g-block-dark-background:oklch(.3 0 0);--g-block-dark-background-hover:oklch(.4 0 0)}[data-cg-disabled]{cursor:not-allowed}#cg-form-list{z-index:20020000}#cg-pop-list{z-index:20020001}#cg-simpletask{z-index:20020002}#cg-rectangle{z-index:20020003;box-sizing:border-box;position:absolute;border-radius:3px;box-shadow:0 0 10px rgba(0,0,0,.25);background:rgba(255,255,255,.05);pointer-events:none;opacity:0}#cg-circular{z-index:20020003;box-sizing:border-box;position:absolute;border:solid 3px var(--cg);border-radius:50%;filter:drop-shadow(0 0 3px var(--cg));pointer-events:none;opacity:0}#cg-gesture{z-index:20020003;box-sizing:border-box;position:absolute;border-radius:50%;pointer-events:none;opacity:0;background:var(--system-background);box-shadow:0px 15px 30px rgba(0,0,0,.07);transform:scale(0);width:20px;height:20px}#cg-gesture.done{background:rgba(255,255,255,.3);border:solid 3px rgba(0,0,0,.3)}#cg-gesture.ani{transition:all .3s var(--g-cubic);transition-property:left,top,transform}#cg-drag{z-index:20020003;box-sizing:border-box;position:absolute;border-radius:3px;pointer-events:none;background:rgba(255,255,255,.1);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);box-shadow:0 3px 5px rgba(0,0,0,.1);opacity:0;display:flex;justify-content:center;align-items:center;border:solid 1px #fff;transition:all .3s var(--g-cubic);transition-property:transform,border;transform:initial}#cg-launcher{z-index:20020004;box-sizing:border-box;position:fixed;background:var(--system-background);-webkit-backdrop-filter:blur(30px) saturate(1.5);backdrop-filter:blur(30px) saturate(1.5);width:100%;height:100%;left:0;top:0;color:var(--system-color);display:none;flex-direction:column;transition:all .3s var(--g-cubic);transform:scale(1.2);opacity:0}#cg-launcher:not(.cg-show){pointer-events:none}#cg-launcher.cg-show{transform:scale(1);opacity:1}.cg-launcher-search{text-align:center;padding:50px}.cg-launcher-sinput{-webkit-appearance:none;appearance:none;padding:15px;border:solid 1px rgba(0,0,0,0);background:var(--system-control-background);width:60%;border-radius:5px;color:var(--system-color);transition:all .3s var(--g-cubic)}.cg-launcher-sinput::placeholder{color:var(--system-placeholder-color)}.cg-launcher-sinput::selection{background-color:var(--system-background-hover)}.cg-launcher-sinput:focus{outline:none;border-color:var(--system-border-color-hover)}.cg-launcher-foldername{-webkit-appearance:none;appearance:none;height:50px;font-size:28px !important;border:none;background:rgba(0,0,0,0);width:50%;color:var(--system-color);text-align:center}.cg-launcher-foldername::selection{background-color:var(--system-background-hover)}.cg-launcher-foldername:focus{outline:none}.cg-launcher-item{width:190px;display:inline-flex;vertical-align:middle;margin-bottom:50px}.cg-launcher-inner{flex:1;width:0}.cg-launcher-icon{background-position:center;background-size:80px;height:80px;background-repeat:no-repeat}.cg-launcher-icon:active{filter:brightness(0.6)}.cg-launcher-name{font-size:var(--g-size);font-weight:bold;text-shadow:0 0 3px rgba(0,0,0,.6);text-align:center;margin-top:20px}.cg-launcher-icon,.cg-launcher-name{transition:all .3s var(--g-cubic);transition-property:opacity}.cg-launcher-space{width:50px}.cg-launcher-folder{display:flex;justify-content:center;height:80px}.cg-launcher-folder>div{height:80px;width:80px;background:rgba(255,255,255,.3);border-radius:20px;padding:10px 4px 4px 10px;transition:all .3s var(--g-cubic);transition-property:left,top,width,height,opacity;overflow-y:auto}.cg-launcher-folder>div::-webkit-scrollbar{display:none}.cg-launcher-folder>div .cg-launcher-item,.cg-launcher-folder>div .cg-launcher-space{transition:all .3s var(--g-cubic)}.cg-launcher-folder>div.cg-show{padding:50px 0 0 50px}.cg-launcher-folder>div:not(.cg-show):active{filter:brightness(0.6)}.cg-launcher-folder>div:not(.cg-show) .cg-launcher-item{width:22px;margin-bottom:6px}.cg-launcher-folder>div:not(.cg-show) .cg-launcher-icon{background-size:16px;height:16px;pointer-events:none}.cg-launcher-folder>div:not(.cg-show) .cg-launcher-name{display:none}.cg-launcher-folder>div:not(.cg-show) .cg-launcher-space{width:6px}.cg-launcher-list{flex:1;height:0;overflow-y:auto;padding:0 0 0 50px}.cg-launcher-list::-webkit-scrollbar{display:none}.cg-launcher-list.cg-folder-open>.cg-launcher-item>.cg-launcher-inner>.cg-launcher-icon,.cg-launcher-list.cg-folder-open>.cg-launcher-item>.cg-launcher-inner>.cg-launcher-name{opacity:0}.cg-launcher-list.cg-folder-open>.cg-launcher-item>.cg-launcher-inner>.cg-launcher-folder>div:not(.cg-show){opacity:0}[data-cg-pop]{position:absolute;box-shadow:0px 15px 30px rgba(0,0,0,.07);transition:.3s var(--g-cubic);transition-property:transform,opacity;transform:translateY(-10px);opacity:0;overflow:hidden}[data-cg-pop]:not([data-cg-open]){pointer-events:none}[data-cg-pop][data-cg-pop-none]{display:none !important}[data-cg-pop][data-cg-open]{transform:translateY(0px);opacity:1}#cg-notify{z-index:20020005}.cg-notify-wrap{background:var(--system-background);position:fixed;padding:15px;border-radius:5px;right:0;bottom:0;width:280px;font-size:14px;display:flex;transition:.3s var(--g-cubic);transition-property:transform,opacity;overflow:hidden;color:var(--system-color);box-shadow:0px 15px 30px rgba(0,0,0,.07);-webkit-backdrop-filter:blur(30px) saturate(1.5);backdrop-filter:blur(30px) saturate(1.5)}.cg-notify-wrap.cg-notify-only{align-items:center}.cg-notify-wrap.cg-notify-full .cg-notify-title{padding-bottom:10px}.cg-notify-icon{margin-right:10px;width:14px;height:14px;border-radius:50%}.cg-notify-icon.cg-primary{background:var(--success)}.cg-notify-icon.cg-info{background:var(--info)}.cg-notify-icon.cg-warning{background:var(--warning)}.cg-notify-icon.cg-danger{background:var(--danger)}.cg-notify-icon.cg-progress{background:var(--cg)}.cg-notify-title{font-size:16px;font-weight:bold}.cg-notify-content{line-height:1.5;word-break:break-word}.cg-notify-progress{position:absolute;bottom:0;left:0;border-radius:1px;background:var(--cg);transition:width 1s ease-out;width:0%;height:2px}#cg-alert{z-index:20020006}.cg-alert-wrap{position:fixed;left:0;bottom:100px;width:100%;font-size:14px;display:flex;align-items:center;justify-content:center;transition:.3s var(--g-cubic);transition-property:transform,opacity;color:var(--system-color);pointer-events:none}.cg-alert-wrap.cg-default .cg-alert-icon{display:none}.cg-alert-wrap.cg-primary{color:var(--success)}.cg-alert-wrap.cg-primary .cg-alert-content{border-color:var(--success);background:var(--success-bg)}.cg-alert-wrap.cg-primary .cg-alert-icon{background:var(--success)}.cg-alert-wrap.cg-info{color:var(--info)}.cg-alert-wrap.cg-info .cg-alert-content{border-color:var(--info);background:var(--info-bg)}.cg-alert-wrap.cg-info .cg-alert-icon{background:var(--info)}.cg-alert-wrap.cg-warning{color:var(--warning)}.cg-alert-wrap.cg-warning .cg-alert-content{border-color:var(--warning);background:var(--warning-bg)}.cg-alert-wrap.cg-warning .cg-alert-icon{background:var(--warning)}.cg-alert-wrap.cg-danger{color:var(--danger)}.cg-alert-wrap.cg-danger .cg-alert-content{border-color:var(--danger);background:var(--danger-bg)}.cg-alert-wrap.cg-danger .cg-alert-icon{background:var(--danger)}.cg-alert-content{padding:15px;background:var(--system-background);display:flex;align-items:center;box-shadow:0px 15px 30px rgba(0,0,0,.07);-webkit-backdrop-filter:blur(30px) saturate(1.5);backdrop-filter:blur(30px) saturate(1.5);border:solid .5px rgba(0,0,0,0);border-radius:5px}.cg-alert-icon{margin-right:10px;width:14px;height:14px;border-radius:50%}#cg-simpletask{left:0;bottom:-46px;width:100%;height:46px;top:initial;background:var(--system-background);-webkit-backdrop-filter:blur(30px) saturate(1.5);backdrop-filter:blur(30px) saturate(1.5);padding:5px 0 5px 5px;display:flex;color:var(--system-color);transition:bottom .3s var(--g-cubic);overflow-x:auto;position:fixed}#cg-simpletask::-webkit-scrollbar{display:none}.cg-simpletask-item{background:oklch(0 0 0/0.05);border-radius:3px;padding:10px;display:flex;align-items:center;margin-right:5px}.cg-simpletask-item:hover{background:oklch(0 0 0/0.1)}.cg-simpletask-item:active{background:oklch(0 0 0/0.2)}.cg-simpletask-icon{margin-right:5px;background-size:cover;width:16px;height:16px}#cg-confirm{z-index:20020007;position:fixed;left:0;top:0;width:100%;height:100%;background:var(--system-background);-webkit-backdrop-filter:blur(150px) saturate(1.5);backdrop-filter:blur(150px) saturate(1.5);justify-content:center;align-items:center}#cg-confirm .cg-confirm-box{background:var(--system-background);width:60%;box-shadow:0px 15px 30px rgba(0,0,0,.07);font-size:14px;border-radius:3px;overflow:hidden;color:var(--system-color)}#cg-confirm .cg-confirm-box #cg-confirm-content{padding:25px;line-height:1.5}#cg-confirm .cg-confirm-box .cg-confirm-controls{border-top:solid .5px var(--system-border-color);display:flex}#cg-confirm .cg-confirm-box .cg-confirm-controls>div{padding:20px;flex:1;text-align:center}#cg-confirm .cg-confirm-box .cg-confirm-controls>div:last-child{border-left:solid .5px var(--system-border-color)}#cg-confirm .cg-confirm-box .cg-confirm-controls>div:hover{background:var(--system-background-hover)}#cg-confirm .cg-confirm-box .cg-confirm-controls>div:active{background:var(--system-background-active)}
1
+ @font-face{font-family:"Noto Sans Regular";src:url("notosans-regular.ttf")}#cg-wrap{position:fixed;left:0;top:0;--g-padding-xs:2px;--g-padding-s:4px;--g-padding:7px;--g-padding-h:4px var(--g-padding);--g-padding-l:14px;--g-padding-l-h:8px var(--g-padding-l);--g-padding-xl:22px;--g-padding-xl-h:12px var(--g-padding-xl);--g-bpadding:18px;--g-margin:2px;--g-radius:0;--g-radius-l:4px;--g-radius-xl:8px;--g-size-xs:10px;--g-size:12px;--g-size-m:16px;--g-size-l:20px;--g-size-xl:28px;--g-size-xxl:34px;--g-control:14px;--g-control-m:18px;--g-family:"Noto Sans Regular",apple-system,BlinkMacSystemFont,"Helvetica Neue",Helvetica,Arial,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;--g-line:1.2;--g-cubic:cubic-bezier(0.39, 0.575, 0.565, 1);--g-transition:none;--g-boxsize:calc(var(--g-padding) * 2 + var(--g-size));--cg:oklch(.7 .23 45);--cg-bg:oklch(.98 .01 45);--success:oklch(.7 .23 150);--success-hover:oklch(.75 .23 150);--success-active:oklch(.6 .23 150);--success-focus:oklch(.65 .23 150);--success-disabled:oklch(.85 0 150);--success-bg:oklch(.98 .01 150);--info:oklch(.7 .23 255);--info-hover:oklch(.75 .23 255);--info-active:oklch(.6 .23 255);--info-focus:oklch(.65 .23 255);--info-disabled:oklch(.85 0 255);--info-bg:oklch(.98 .01 255);--warning:oklch(.7 .23 45);--warning-hover:oklch(.75 .23 45);--warning-active:oklch(.6 .23 45);--warning-focus:oklch(.65 .23 45);--warning-disabled:oklch(.85 0 45);--warning-bg:oklch(.98 .01 45);--danger:oklch(.7 .23 25);--danger-hover:oklch(.75 .23 25);--danger-active:oklch(.6 .23 25);--danger-focus:oklch(.65 .23 25);--danger-disabled:oklch(.85 0 25);--danger-bg:oklch(.98 .01 25);--system-color:oklch(.96 0 0);--system-background:oklch(0 0 0 / .35);--system-background-hover:oklch(1 0 0 / .06);--system-background-active:oklch(1 0 0 / .1);--system-control-background:oklch(1 0 0 / .03);--system-border-color:oklch(1 0 0 / .03);--system-border-color-hover:oklch(1 0 0 / .06);--system-placeholder-color:oklch(1 0 0 / .2);--g-pure:oklch(1 0 0);--face:oklch(.95 0 0);--face-hover:oklch(.9 0 0);--face-selected:oklch(.85 0 0);--g-pop-background:oklch(1 0 0);--g-pop-backdrop:none;--g-pop-border:solid .5px var(--g-border-color);--g-shadow:none;--g-outline-shadow:none;--g-color:oklch(.45 0 0);--g-color-hover:oklch(.55 0 0);--g-color-active:oklch(.35 0 0);--g-color-focus:oklch(.4 0 0);--g-color-disabled:oklch(.7 0 0);--g-color-tip:oklch(.6 0 0);--g-background:oklch(.95 0 0);--g-background-hover:oklch(1 0 0);--g-background-active:oklch(.9 0 0);--g-background-opacity:oklch(.5 0 0 / .2);--g-background-focus:oklch(.97 0 0);--g-background-disabled:oklch(.85 0 0);--g-border-color:oklch(.5 0 0);--g-border-color-hover:oklch(.55 0 0);--g-border-color-active:oklch(.4 0 0);--g-border-color-focus:oklch(.45 0 0);--g-border-color-disabled:oklch(.7 0 0);--g-focusbox-border-color:var(--g-plain-border-color);--g-plain-color:var(--g-color);--g-plain-color-hover:var(--g-color-hover);--g-plain-color-active:var(--g-color-active);--g-plain-color-focus:var(--g-color-focus);--g-plain-color-disabled:var(--g-color-disabled);--g-plain-background:oklch(1 0 0);--g-plain-background-hover:oklch(.98 0 0);--g-plain-background-active:oklch(.95 0 0);--g-plain-background-focus:var(--g-plain-background);--g-plain-background-disabled:oklch(.95 0 0);--g-plain-background-selected:oklch(.95 0 0);--g-plain-border-color:oklch(.8 0 0);--g-plain-border-color-hover:oklch(.9 0 0);--g-plain-border-color-active:oklch(.7 0 0);--g-plain-border-color-focus:oklch(.75 0 0);--g-plain-border-color-disabled:oklch(.7 0 0);--g-plain-border-color-plain:oklch(.95 0 0);--g-block-background:oklch(.9 0 0);--g-block-background-hover:oklch(.8 0 0);--g-block-dark-background:oklch(.3 0 0);--g-block-dark-background-hover:oklch(.4 0 0)}[data-cg-disabled]{cursor:not-allowed}#cg-form-list{z-index:20020000}#cg-pop-list{z-index:20020001}#cg-simpletask{z-index:20020002}#cg-rectangle{z-index:20020003;box-sizing:border-box;position:absolute;border-radius:3px;box-shadow:0 0 10px rgba(0,0,0,.25);background:rgba(255,255,255,.05);pointer-events:none;opacity:0}#cg-circular{z-index:20020003;box-sizing:border-box;position:absolute;border:solid 3px var(--cg);border-radius:50%;filter:drop-shadow(0 0 3px var(--cg));pointer-events:none;opacity:0}#cg-gesture{z-index:20020003;box-sizing:border-box;position:absolute;border-radius:50%;pointer-events:none;opacity:0;background:var(--system-background);box-shadow:0px 15px 30px rgba(0,0,0,.07);transform:scale(0);width:20px;height:20px}#cg-gesture.done{background:rgba(255,255,255,.3);border:solid 3px rgba(0,0,0,.3)}#cg-gesture.ani{transition:all .3s var(--g-cubic);transition-property:left,top,transform}#cg-drag{z-index:20020003;box-sizing:border-box;position:absolute;border-radius:3px;pointer-events:none;background:rgba(255,255,255,.1);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);box-shadow:0 3px 5px rgba(0,0,0,.1);opacity:0;display:flex;justify-content:center;align-items:center;border:solid 1px #fff;transition:all .3s var(--g-cubic);transition-property:transform,border;transform:initial}#cg-launcher{z-index:20020004;box-sizing:border-box;position:fixed;background:var(--system-background);-webkit-backdrop-filter:blur(30px) saturate(1.5);backdrop-filter:blur(30px) saturate(1.5);width:100%;height:100%;left:0;top:0;color:var(--system-color);display:none;flex-direction:column;transition:all .3s var(--g-cubic);transform:scale(1.2);opacity:0}#cg-launcher:not(.cg-show){pointer-events:none}#cg-launcher.cg-show{transform:scale(1);opacity:1}.cg-launcher-search{text-align:center;padding:50px}.cg-launcher-sinput{-webkit-appearance:none;appearance:none;padding:15px;border:solid 1px rgba(0,0,0,0);background:var(--system-control-background);width:60%;border-radius:5px;color:var(--system-color);transition:all .3s var(--g-cubic)}.cg-launcher-sinput::placeholder{color:var(--system-placeholder-color)}.cg-launcher-sinput::selection{background-color:var(--system-background-hover)}.cg-launcher-sinput:focus{outline:none;border-color:var(--system-border-color-hover)}.cg-launcher-foldername{-webkit-appearance:none;appearance:none;height:50px;font-size:28px !important;border:none;background:rgba(0,0,0,0);width:50%;color:var(--system-color);text-align:center}.cg-launcher-foldername::selection{background-color:var(--system-background-hover)}.cg-launcher-foldername:focus{outline:none}.cg-launcher-item{width:190px;display:inline-flex;vertical-align:middle;margin-bottom:50px}.cg-launcher-inner{flex:1;width:0}.cg-launcher-icon{background-position:center;background-size:80px;height:80px;background-repeat:no-repeat}.cg-launcher-icon:active{filter:brightness(0.6)}.cg-launcher-name{font-size:var(--g-size);font-weight:bold;text-shadow:0 0 3px rgba(0,0,0,.6);text-align:center;margin-top:20px}.cg-launcher-icon,.cg-launcher-name{transition:all .3s var(--g-cubic);transition-property:opacity}.cg-launcher-space{width:50px}.cg-launcher-folder{display:flex;justify-content:center;height:80px}.cg-launcher-folder>div{height:80px;width:80px;background:rgba(255,255,255,.3);border-radius:20px;padding:10px 4px 4px 10px;transition:all .3s var(--g-cubic);transition-property:left,top,width,height,opacity;overflow-y:auto}.cg-launcher-folder>div::-webkit-scrollbar{display:none}.cg-launcher-folder>div .cg-launcher-item,.cg-launcher-folder>div .cg-launcher-space{transition:all .3s var(--g-cubic)}.cg-launcher-folder>div.cg-show{padding:50px 0 0 50px}.cg-launcher-folder>div:not(.cg-show):active{filter:brightness(0.6)}.cg-launcher-folder>div:not(.cg-show) .cg-launcher-item{width:22px;margin-bottom:6px}.cg-launcher-folder>div:not(.cg-show) .cg-launcher-icon{background-size:16px;height:16px;pointer-events:none}.cg-launcher-folder>div:not(.cg-show) .cg-launcher-name{display:none}.cg-launcher-folder>div:not(.cg-show) .cg-launcher-space{width:6px}.cg-launcher-list{flex:1;height:0;overflow-y:auto;padding:0 0 0 50px}.cg-launcher-list::-webkit-scrollbar{display:none}.cg-launcher-list.cg-folder-open>.cg-launcher-item>.cg-launcher-inner>.cg-launcher-icon,.cg-launcher-list.cg-folder-open>.cg-launcher-item>.cg-launcher-inner>.cg-launcher-name{opacity:0}.cg-launcher-list.cg-folder-open>.cg-launcher-item>.cg-launcher-inner>.cg-launcher-folder>div:not(.cg-show){opacity:0}[data-cg-pop]{position:absolute;box-shadow:0px 15px 30px rgba(0,0,0,.07);transition:.3s var(--g-cubic);transition-property:transform,opacity;transform:translateY(-10px);opacity:0;overflow:hidden}[data-cg-pop]:not([data-cg-open]){pointer-events:none}[data-cg-pop][data-cg-pop-none]{display:none !important}[data-cg-pop][data-cg-open]{transform:translateY(0px);opacity:1}#cg-notify{z-index:20020005}.cg-notify-wrap{background:var(--system-background);position:fixed;padding:15px;border-radius:5px;right:0;bottom:0;width:280px;font-size:14px;display:flex;transition:.3s var(--g-cubic);transition-property:transform,opacity;overflow:hidden;color:var(--system-color);box-shadow:0px 15px 30px rgba(0,0,0,.07);-webkit-backdrop-filter:blur(30px) saturate(1.5);backdrop-filter:blur(30px) saturate(1.5)}.cg-notify-wrap.cg-notify-only{align-items:center}.cg-notify-wrap.cg-notify-full .cg-notify-title{padding-bottom:10px}.cg-notify-icon{margin-right:10px;width:14px;height:14px;border-radius:50%}.cg-notify-icon.cg-primary{background:var(--success)}.cg-notify-icon.cg-info{background:var(--info)}.cg-notify-icon.cg-warning{background:var(--warning)}.cg-notify-icon.cg-danger{background:var(--danger)}.cg-notify-icon.cg-progress{background:var(--cg)}.cg-notify-title{font-size:16px;font-weight:bold}.cg-notify-content{line-height:1.5;word-break:break-word}.cg-notify-progress{position:absolute;bottom:0;left:0;border-radius:1px;background:var(--cg);transition:width 1s ease-out;width:0%;height:2px}#cg-alert{z-index:20020006}.cg-alert-wrap{position:fixed;left:0;bottom:100px;width:100%;font-size:14px;display:flex;align-items:center;justify-content:center;transition:.3s var(--g-cubic);transition-property:transform,opacity;color:var(--system-color);pointer-events:none}.cg-alert-wrap.cg-default .cg-alert-icon{display:none}.cg-alert-wrap.cg-primary{color:var(--success)}.cg-alert-wrap.cg-primary .cg-alert-content{border-color:var(--success);background:var(--success-bg)}.cg-alert-wrap.cg-primary .cg-alert-icon{background:var(--success)}.cg-alert-wrap.cg-info{color:var(--info)}.cg-alert-wrap.cg-info .cg-alert-content{border-color:var(--info);background:var(--info-bg)}.cg-alert-wrap.cg-info .cg-alert-icon{background:var(--info)}.cg-alert-wrap.cg-warning{color:var(--warning)}.cg-alert-wrap.cg-warning .cg-alert-content{border-color:var(--warning);background:var(--warning-bg)}.cg-alert-wrap.cg-warning .cg-alert-icon{background:var(--warning)}.cg-alert-wrap.cg-danger{color:var(--danger)}.cg-alert-wrap.cg-danger .cg-alert-content{border-color:var(--danger);background:var(--danger-bg)}.cg-alert-wrap.cg-danger .cg-alert-icon{background:var(--danger)}.cg-alert-content{padding:15px;background:var(--system-background);display:flex;align-items:center;box-shadow:0px 15px 30px rgba(0,0,0,.07);-webkit-backdrop-filter:blur(30px) saturate(1.5);backdrop-filter:blur(30px) saturate(1.5);border:solid .5px rgba(0,0,0,0);border-radius:5px}.cg-alert-icon{margin-right:10px;width:14px;height:14px;border-radius:50%}#cg-simpletask{left:0;bottom:-46px;width:100%;height:46px;top:initial;background:var(--system-background);-webkit-backdrop-filter:blur(30px) saturate(1.5);backdrop-filter:blur(30px) saturate(1.5);padding:5px 0 5px 5px;display:flex;color:var(--system-color);transition:bottom .3s var(--g-cubic);overflow-x:auto;position:fixed}#cg-simpletask::-webkit-scrollbar{display:none}.cg-simpletask-item{background:oklch(0 0 0/0.05);border-radius:3px;padding:10px;display:flex;align-items:center;margin-right:5px}.cg-simpletask-item:hover{background:oklch(0 0 0/0.1)}.cg-simpletask-item:active{background:oklch(0 0 0/0.2)}.cg-simpletask-icon{margin-right:5px;background-size:cover;width:16px;height:16px}#cg-confirm{z-index:20020007;position:fixed;left:0;top:0;width:100%;height:100%;background:var(--system-background);-webkit-backdrop-filter:blur(150px) saturate(1.5);backdrop-filter:blur(150px) saturate(1.5);justify-content:center;align-items:center}#cg-confirm .cg-confirm-box{background:var(--system-background);width:60%;box-shadow:0px 15px 30px rgba(0,0,0,.07);font-size:14px;border-radius:3px;overflow:hidden;color:var(--system-color)}#cg-confirm .cg-confirm-box #cg-confirm-content{padding:25px;line-height:1.5}#cg-confirm .cg-confirm-box .cg-confirm-controls{border-top:solid .5px var(--system-border-color);display:flex}#cg-confirm .cg-confirm-box .cg-confirm-controls>div{padding:20px;flex:1;text-align:center}#cg-confirm .cg-confirm-box .cg-confirm-controls>div:last-child{border-left:solid .5px var(--system-border-color)}#cg-confirm .cg-confirm-box .cg-confirm-controls>div:hover{background:var(--system-background-hover)}#cg-confirm .cg-confirm-box .cg-confirm-controls>div:active{background:var(--system-background-active)}
package/dist/index.d.ts CHANGED
@@ -15,6 +15,10 @@ export declare let vue: import('../types/index').IVueObject;
15
15
  export declare function getVersion(): string;
16
16
  export declare function isNative(): boolean;
17
17
  export declare function getPlatform(): NodeJS.Platform | 'web';
18
+ export declare function getDevice(): {
19
+ 'type': 'unknown' | 'mobile' | 'desktop';
20
+ 'os': 'unknown' | 'android' | 'ios' | 'windows' | 'macos' | 'linux';
21
+ };
18
22
  export declare function isImmersion(): boolean;
19
23
  export declare function hasFrame(): boolean;
20
24
  export declare abstract class AbstractBoot {
package/dist/index.js CHANGED
@@ -13,6 +13,7 @@ exports.AbstractBoot = exports.vue = exports.zip = exports.tool = exports.theme
13
13
  exports.getVersion = getVersion;
14
14
  exports.isNative = isNative;
15
15
  exports.getPlatform = getPlatform;
16
+ exports.getDevice = getDevice;
16
17
  exports.isImmersion = isImmersion;
17
18
  exports.hasFrame = hasFrame;
18
19
  exports.launcher = launcher;
@@ -25,6 +26,9 @@ function isNative() {
25
26
  function getPlatform() {
26
27
  return exports.clickgo.getPlatform();
27
28
  }
29
+ function getDevice() {
30
+ return exports.clickgo.getDevice();
31
+ }
28
32
  function isImmersion() {
29
33
  return exports.clickgo.isImmersion();
30
34
  }
package/dist/lib/task.js CHANGED
@@ -243,7 +243,7 @@ function getList() {
243
243
  }
244
244
  function run(url_1) {
245
245
  return __awaiter(this, arguments, void 0, function* (url, opt = {}, ntid) {
246
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
246
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
247
247
  let app = null;
248
248
  if (typeof url === 'string') {
249
249
  if (!url.endsWith('/') && !url.endsWith('.cga')) {
@@ -253,11 +253,9 @@ function run(url_1) {
253
253
  if (opt.icon) {
254
254
  icon = opt.icon;
255
255
  }
256
- if (opt.notify === undefined) {
257
- opt.notify = true;
258
- }
256
+ (_a = opt.notify) !== null && _a !== void 0 ? _a : (opt.notify = true);
259
257
  const notifyId = opt.notify ? form.notify({
260
- 'title': (_b = (_a = localeData[core.config.locale]) === null || _a === void 0 ? void 0 : _a.loading) !== null && _b !== void 0 ? _b : localeData['en'].loading,
258
+ 'title': (_c = (_b = localeData[core.config.locale]) === null || _b === void 0 ? void 0 : _b.loading) !== null && _c !== void 0 ? _c : localeData['en'].loading,
261
259
  'content': url,
262
260
  'icon': icon,
263
261
  'timeout': 0,
@@ -373,19 +371,22 @@ function run(url_1) {
373
371
  }
374
372
  };
375
373
  invoke.invokeClickgo = {
376
- getVersion: function () {
374
+ getVersion: () => {
377
375
  return clickgo.getVersion();
378
376
  },
379
- isNative() {
377
+ isNative: () => {
380
378
  return clickgo.isNative();
381
379
  },
382
- getPlatform() {
380
+ getPlatform: () => {
383
381
  return clickgo.getPlatform();
384
382
  },
385
- isImmersion() {
383
+ getDevice: () => {
384
+ return clickgo.getDevice();
385
+ },
386
+ isImmersion: () => {
386
387
  return clickgo.isImmersion();
387
388
  },
388
- hasFrame() {
389
+ hasFrame: () => {
389
390
  return clickgo.hasFrame();
390
391
  },
391
392
  'control': {
@@ -1164,7 +1165,7 @@ function run(url_1) {
1164
1165
  return code;
1165
1166
  };
1166
1167
  app.files['/invoke/clickgo.js'] = `module.exports = invokeClickgo;`;
1167
- const path = (_c = opt.path) !== null && _c !== void 0 ? _c : ((typeof url === 'string') ? url : '/runtime/' + tool.random(8, tool.RANDOM_LUN) + '.cga');
1168
+ const path = (_d = opt.path) !== null && _d !== void 0 ? _d : ((typeof url === 'string') ? url : '/runtime/' + tool.random(8, tool.RANDOM_LUN) + '.cga');
1168
1169
  const lio = path.endsWith('.cga') ? path.lastIndexOf('/') : path.slice(0, -1).lastIndexOf('/');
1169
1170
  const current = path.slice(0, lio);
1170
1171
  exports.list[taskId] = {
@@ -1179,7 +1180,7 @@ function run(url_1) {
1179
1180
  'current': current,
1180
1181
  'runtime': clickgo.vue.reactive({
1181
1182
  'dialogFormIds': [],
1182
- 'permissions': (_d = opt.permissions) !== null && _d !== void 0 ? _d : []
1183
+ 'permissions': (_e = opt.permissions) !== null && _e !== void 0 ? _e : []
1183
1184
  }),
1184
1185
  'forms': {},
1185
1186
  'controls': {},
@@ -1192,7 +1193,7 @@ function run(url_1) {
1192
1193
  if (!path.endsWith('.json')) {
1193
1194
  path += '.json';
1194
1195
  }
1195
- yield ((_e = opt.initProgress) === null || _e === void 0 ? void 0 : _e.call(opt, 'Load local ' + path + ' ...'));
1196
+ yield ((_f = opt.initProgress) === null || _f === void 0 ? void 0 : _f.call(opt, 'Load local ' + path + ' ...'));
1196
1197
  const lcontent = yield fs.getContent(path, {
1197
1198
  'encoding': 'utf8'
1198
1199
  }, taskId);
@@ -1203,7 +1204,7 @@ function run(url_1) {
1203
1204
  const data = JSON.parse(lcontent);
1204
1205
  loadLocaleData(locale, data, '', taskId);
1205
1206
  }
1206
- catch (_p) {
1207
+ catch (_q) {
1207
1208
  }
1208
1209
  }
1209
1210
  }
@@ -1232,18 +1233,18 @@ function run(url_1) {
1232
1233
  return -3;
1233
1234
  }
1234
1235
  dom.createToStyleList(taskId);
1235
- yield ((_f = opt.initProgress) === null || _f === void 0 ? void 0 : _f.call(opt, 'Control initialization ...'));
1236
+ yield ((_g = opt.initProgress) === null || _g === void 0 ? void 0 : _g.call(opt, 'Control initialization ...'));
1236
1237
  const r = yield control.init(taskId, invoke, opt.cache);
1237
1238
  if (r < 0) {
1238
1239
  dom.removeFromStyleList(taskId);
1239
1240
  delete exports.list[taskId];
1240
1241
  return -400 + r;
1241
1242
  }
1242
- if ((_g = app.config.themes) === null || _g === void 0 ? void 0 : _g.length) {
1243
+ if ((_h = app.config.themes) === null || _h === void 0 ? void 0 : _h.length) {
1243
1244
  for (let path of app.config.themes) {
1244
1245
  path += '.cgt';
1245
1246
  path = tool.urlResolve('/', path);
1246
- yield ((_h = opt.initProgress) === null || _h === void 0 ? void 0 : _h.call(opt, 'Load theme ' + path + ' ...'));
1247
+ yield ((_j = opt.initProgress) === null || _j === void 0 ? void 0 : _j.call(opt, 'Load theme ' + path + ' ...'));
1247
1248
  const file = yield fs.getContent(path, undefined, taskId);
1248
1249
  if (file && typeof file !== 'string') {
1249
1250
  const th = yield theme.read(file);
@@ -1255,7 +1256,7 @@ function run(url_1) {
1255
1256
  }
1256
1257
  else {
1257
1258
  if (theme.global) {
1258
- yield ((_j = opt.initProgress) === null || _j === void 0 ? void 0 : _j.call(opt, 'Load global theme ...'));
1259
+ yield ((_k = opt.initProgress) === null || _k === void 0 ? void 0 : _k.call(opt, 'Load global theme ...'));
1259
1260
  yield theme.load(undefined, taskId);
1260
1261
  }
1261
1262
  }
@@ -1265,19 +1266,19 @@ function run(url_1) {
1265
1266
  }, taskId);
1266
1267
  if (style) {
1267
1268
  const r = tool.stylePrepend(style, 'cg-task' + taskId.toString() + '_');
1268
- yield ((_k = opt.initProgress) === null || _k === void 0 ? void 0 : _k.call(opt, 'Style initialization ...'));
1269
+ yield ((_l = opt.initProgress) === null || _l === void 0 ? void 0 : _l.call(opt, 'Style initialization ...'));
1269
1270
  dom.pushStyle(taskId, yield tool.styleUrl2DataUrl(app.config.style, r.style, app.files));
1270
1271
  }
1271
1272
  }
1272
1273
  core.trigger('taskStarted', taskId);
1273
1274
  if (app.config.permissions) {
1274
- yield ((_l = opt.initProgress) === null || _l === void 0 ? void 0 : _l.call(opt, 'Style initialization ...'));
1275
+ yield ((_m = opt.initProgress) === null || _m === void 0 ? void 0 : _m.call(opt, 'Style initialization ...'));
1275
1276
  yield checkPermission(app.config.permissions, true, undefined, taskId);
1276
1277
  }
1277
1278
  const appCls = new expo.default();
1278
1279
  exports.list[taskId].class = appCls;
1279
- yield ((_m = opt.initProgress) === null || _m === void 0 ? void 0 : _m.call(opt, 'Starting ...'));
1280
- yield appCls.main((_o = opt.data) !== null && _o !== void 0 ? _o : {});
1280
+ yield ((_o = opt.initProgress) === null || _o === void 0 ? void 0 : _o.call(opt, 'Starting ...'));
1281
+ yield appCls.main((_p = opt.data) !== null && _p !== void 0 ? _p : {});
1281
1282
  return taskId;
1282
1283
  });
1283
1284
  }
@@ -15,7 +15,7 @@ export declare function getClassPrototype(obj: object, over?: string[], level?:
15
15
  export declare function blob2ArrayBuffer(blob: Blob): Promise<ArrayBuffer>;
16
16
  export declare function sizeFormat(size: number, spliter?: string): string;
17
17
  export declare function weightFormat(weight: number, spliter?: string): string;
18
- export declare function clone(obj: Record<string, any> | any[]): any[] | any;
18
+ export declare function clone<T>(obj: T): T;
19
19
  export declare function sleep(ms?: number): Promise<boolean>;
20
20
  export declare function nextFrame(): Promise<void>;
21
21
  export declare function sleepFrame(count: number): Promise<void>;
package/dist/lib/tool.js CHANGED
@@ -191,9 +191,8 @@ function weightFormat(weight, spliter = ' ') {
191
191
  return (Math.round(weight * 100) / 100).toString() + spliter + units[i];
192
192
  }
193
193
  function clone(obj) {
194
- let newObj = {};
195
- if (obj instanceof Array) {
196
- newObj = [];
194
+ if (Array.isArray(obj)) {
195
+ const newObj = [];
197
196
  for (let i = 0; i < obj.length; ++i) {
198
197
  if (obj[i] instanceof Date) {
199
198
  newObj[i] = new Date(obj[i].getTime());
@@ -215,28 +214,28 @@ function clone(obj) {
215
214
  newObj[i] = obj[i];
216
215
  }
217
216
  }
217
+ return newObj;
218
218
  }
219
- else {
220
- for (const key in obj) {
221
- if (obj[key] instanceof Date) {
222
- newObj[key] = new Date(obj[key].getTime());
223
- }
224
- else if (obj[key] instanceof FormData) {
225
- const fd = new FormData();
226
- for (const item of obj[key]) {
227
- fd.append(item[0], item[1]);
228
- }
229
- newObj[key] = fd;
230
- }
231
- else if (obj[key] === null) {
232
- newObj[key] = null;
233
- }
234
- else if (typeof obj[key] === 'object') {
235
- newObj[key] = clone(obj[key]);
236
- }
237
- else {
238
- newObj[key] = obj[key];
219
+ const newObj = {};
220
+ for (const key in obj) {
221
+ if (obj[key] instanceof Date) {
222
+ newObj[key] = new Date(obj[key].getTime());
223
+ }
224
+ else if (obj[key] instanceof FormData) {
225
+ const fd = new FormData();
226
+ for (const item of obj[key]) {
227
+ fd.append(item[0], item[1]);
239
228
  }
229
+ newObj[key] = fd;
230
+ }
231
+ else if (obj[key] === null) {
232
+ newObj[key] = null;
233
+ }
234
+ else if (typeof obj[key] === 'object') {
235
+ newObj[key] = clone(obj[key]);
236
+ }
237
+ else {
238
+ newObj[key] = obj[key];
240
239
  }
241
240
  }
242
241
  return newObj;
Binary file
Binary file
Binary file
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "clickgo",
3
- "version": "3.16.22",
3
+ "version": "3.16.24",
4
4
  "description": "Background interface, software interface, mobile phone APP interface operation library.",
5
5
  "keywords": [
6
6
  "deskrt",
package/types/index.d.ts CHANGED
@@ -13,6 +13,10 @@ export * as zip from '../dist/lib/zip';
13
13
  export function getVersion(): string;
14
14
  export function isNative(): boolean;
15
15
  export function getPlatform(): NodeJS.Platform | 'web';
16
+ export function getDevice(): {
17
+ 'type': 'unknown' | 'mobile' | 'desktop';
18
+ 'os': 'unknown' | 'android' | 'ios' | 'windows' | 'macos' | 'linux';
19
+ };
16
20
  export function isImmersion(): boolean;
17
21
  export function hasFrame(): boolean;
18
22
  // eslint-disable-next-line @typescript-eslint/naming-convention