clickgo 3.16.10 → 3.16.11

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 (47) hide show
  1. package/README.md +1 -1
  2. package/dist/app/demo/config.json +4 -1
  3. package/dist/app/demo/form/control/tplink/tplink.js +74 -0
  4. package/dist/app/demo/form/control/tplink/tplink.xml +13 -0
  5. package/dist/app/demo/form/main.js +5 -0
  6. package/dist/app/demo/form/main.xml +3 -0
  7. package/dist/app/demo/form/method/system/system.js +0 -5
  8. package/dist/app/demo/form/method/system/system.xml +0 -1
  9. package/dist/clickgo.js +1 -1
  10. package/dist/clickgo.ts +1 -1
  11. package/dist/control/arteditor.cgc +0 -0
  12. package/dist/control/box.cgc +0 -0
  13. package/dist/control/common.cgc +0 -0
  14. package/dist/control/desc.cgc +0 -0
  15. package/dist/control/drawer.cgc +0 -0
  16. package/dist/control/echarts.cgc +0 -0
  17. package/dist/control/form.cgc +0 -0
  18. package/dist/control/iconview.cgc +0 -0
  19. package/dist/control/jodit.cgc +0 -0
  20. package/dist/control/map.cgc +0 -0
  21. package/dist/control/monaco.cgc +0 -0
  22. package/dist/control/mpegts.cgc +0 -0
  23. package/dist/control/nav.cgc +0 -0
  24. package/dist/control/page.cgc +0 -0
  25. package/dist/control/pdf.cgc +0 -0
  26. package/dist/control/property.cgc +0 -0
  27. package/dist/control/qrcode.cgc +0 -0
  28. package/dist/control/table.cgc +0 -0
  29. package/dist/control/task.cgc +0 -0
  30. package/dist/control/tplink.cgc +0 -0
  31. package/dist/control/tuieditor.cgc +0 -0
  32. package/dist/control/tuiviewer.cgc +0 -0
  33. package/dist/control/xterm.cgc +0 -0
  34. package/dist/ext/tplinkhd.min.js +1 -0
  35. package/dist/lib/core.js +16 -0
  36. package/dist/lib/core.ts +14 -0
  37. package/dist/lib/fs.js +1 -1
  38. package/dist/lib/fs.ts +1 -1
  39. package/dist/lib/task.js +10 -61
  40. package/dist/lib/task.ts +11 -65
  41. package/dist/lib/tool.js +4 -0
  42. package/dist/lib/tool.ts +8 -0
  43. package/dist/theme/blue.cgt +0 -0
  44. package/dist/theme/byterun.cgt +0 -0
  45. package/dist/theme/light.cgt +0 -0
  46. package/package.json +1 -1
  47. package/types/index.d.ts +0 -2
package/README.md CHANGED
@@ -25,7 +25,7 @@ Load the module loader first, and then load it using the module loader.
25
25
  **index.html**
26
26
 
27
27
  ```html
28
- <script src="https://cdn.jsdelivr.net/npm/@litert/loader@3.5.8/dist/loader.min.js?path=index&npm={'clickgo':'3.16.10'}"></script>
28
+ <script src="https://cdn.jsdelivr.net/npm/@litert/loader@3.5.8/dist/loader.min.js?path=index&npm={'clickgo':'3.16.11'}"></script>
29
29
  ```
30
30
 
31
31
  **index.js**
@@ -26,7 +26,8 @@
26
26
  "/clickgo/control/arteditor",
27
27
  "/clickgo/control/jodit",
28
28
  "/clickgo/control/qrcode",
29
- "/clickgo/control/mpegts"
29
+ "/clickgo/control/mpegts",
30
+ "/clickgo/control/tplink"
30
31
  ],
31
32
  "style": "/package/global",
32
33
 
@@ -159,6 +160,8 @@
159
160
  "/form/control/timeline/timeline.xml",
160
161
  "/form/control/tip/tip.js",
161
162
  "/form/control/tip/tip.xml",
163
+ "/form/control/tplink/tplink.js",
164
+ "/form/control/tplink/tplink.xml",
162
165
  "/form/control/tuieditor/tuieditor.js",
163
166
  "/form/control/tuieditor/tuieditor.xml",
164
167
  "/form/control/tuiviewer/tuiviewer.js",
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ const clickgo = __importStar(require("clickgo"));
37
+ class default_1 extends clickgo.form.AbstractForm {
38
+ constructor() {
39
+ super(...arguments);
40
+ this.controls = false;
41
+ this.list = true;
42
+ this.list1 = [
43
+ {
44
+ 'device': '80-AE-54-DA-45-FA',
45
+ 'channel': 1,
46
+ 'index': 0,
47
+ 'mode': 0
48
+ }
49
+ ];
50
+ this.list2 = [
51
+ {
52
+ 'device': '4C-10-D5-8D-99-D5',
53
+ 'channel': 1,
54
+ 'index': 0,
55
+ 'mode': 2
56
+ },
57
+ {
58
+ 'device': '80-AE-54-DA-45-FA',
59
+ 'channel': 6,
60
+ 'index': 1,
61
+ 'mode': 0
62
+ }
63
+ ];
64
+ this.init = {
65
+ 'sid': 'YTc4YmY5ODY2MjAxYWE0',
66
+ 'skey': '6c5b04bcb5d1434c834ba4b69db26a08'
67
+ };
68
+ this.range = false;
69
+ }
70
+ refresh() {
71
+ this.refs.tplink.refresh();
72
+ }
73
+ }
74
+ exports.default = default_1;
@@ -0,0 +1,13 @@
1
+ <form width="450" height="500" title="Tplink" padding="10">
2
+ <layout direction="v" gutter="10" style="flex: 1;">
3
+ <tplink ref="tplink" :controls="controls" :list="list ? list1 : list2" :init="init" :range="range ? [0, 0] : null" style="flex: 1; height: 0;"></tplink>
4
+ <layout gutter="10">
5
+ <button @click="controls = !controls" style="flex: 1;">{{controls ? '' : '!'}}controls</button>
6
+ <button @click="list = !list" style="flex: 1;">list{{list ? '1' : '2'}}</button>
7
+ </layout>
8
+ <layout gutter="10">
9
+ <button @click="range = !range" style="flex: 1;">{{range ? '' : '!'}}range</button>
10
+ <button @click="refresh" style="flex: 1;">refresh</button>
11
+ </layout>
12
+ </layout>
13
+ </form>
@@ -108,6 +108,7 @@ const content_1 = __importDefault(require("./control/content/content"));
108
108
  const delete_1 = __importDefault(require("./control/delete/delete"));
109
109
  const pdf_1 = __importDefault(require("./control/pdf/pdf"));
110
110
  const web_1 = __importDefault(require("./control/web/web"));
111
+ const tplink_1 = __importDefault(require("./control/tplink/tplink"));
111
112
  const form_2 = __importDefault(require("./event/form/form"));
112
113
  const other_1 = __importDefault(require("./event/other/other"));
113
114
  const screen_1 = __importDefault(require("./event/screen/screen"));
@@ -423,6 +424,10 @@ class default_1 extends clickgo.form.AbstractForm {
423
424
  frm = yield clickgo.form.create(web_1.default);
424
425
  break;
425
426
  }
427
+ case 'ctplink': {
428
+ frm = yield clickgo.form.create(tplink_1.default);
429
+ break;
430
+ }
426
431
  case 'eform': {
427
432
  frm = yield clickgo.form.create(form_2.default);
428
433
  break;
@@ -118,6 +118,9 @@
118
118
  <button @click="openForm('ctuieditor')">Tuieditor</button>
119
119
  <button @click="openForm('ctuiviewer')">Tuiviewer</button>
120
120
  </layout>
121
+ <layout gutter="10">
122
+ <button @click="openForm('ctplink')">Tplink</button>
123
+ </layout>
121
124
  </layout>
122
125
  </flow>
123
126
  <flow v-else-if="ntab === 'method'" class="inner" direction="v">
@@ -69,11 +69,6 @@ class default_1 extends clickgo.form.AbstractForm {
69
69
  yield clickgo.form.dialog('hasFrame: ' + (clickgo.hasFrame() ? 'true' : 'false'));
70
70
  });
71
71
  }
72
- unblock() {
73
- return __awaiter(this, void 0, void 0, function* () {
74
- yield clickgo.form.dialog('typeof sessionStorage: ' + typeof sessionStorage);
75
- });
76
- }
77
72
  ls() {
78
73
  return __awaiter(this, void 0, void 0, function* () {
79
74
  yield clickgo.form.dialog('typeof localStorage: ' + typeof localStorage);
@@ -5,7 +5,6 @@
5
5
  <button @click="getPlatform">clickgo.getPlatform()</button>
6
6
  <button @click="isImmersion">clickgo.isImmersion()</button>
7
7
  <button @click="hasFrame">clickgo.hasFrame()</button>
8
- <button @click="unblock">unblock: ['sessionStorage']</button>
9
8
  <layout gutter="10">
10
9
  <button @click="ls" style="flex: 1;">typeof localStorage</button>
11
10
  <button @click="map" style="flex: 1;">Map</button>
package/dist/clickgo.js CHANGED
@@ -39,7 +39,7 @@ exports.isNative = isNative;
39
39
  exports.getPlatform = getPlatform;
40
40
  exports.isImmersion = isImmersion;
41
41
  exports.hasFrame = hasFrame;
42
- const version = '3.16.10';
42
+ const version = '3.16.11';
43
43
  function getVersion() {
44
44
  return version;
45
45
  }
package/dist/clickgo.ts CHANGED
@@ -13,7 +13,7 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
- const version = '3.16.10';
16
+ const version = '3.16.11';
17
17
  export function getVersion(): string {
18
18
  return version;
19
19
  }
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
@@ -0,0 +1 @@
1
+ (function(_0x3e42f5,_0x2bcc8a){var _0x244d5f=_0x13ab,_0x31cfa4=_0x3e42f5();while(!![]){try{var _0x3eabf0=parseInt(_0x244d5f(0x1a2))/0x1*(parseInt(_0x244d5f(0x136))/0x2)+-parseInt(_0x244d5f(0x17c))/0x3+parseInt(_0x244d5f(0x110))/0x4+-parseInt(_0x244d5f(0xd7))/0x5*(-parseInt(_0x244d5f(0x129))/0x6)+parseInt(_0x244d5f(0x11a))/0x7+parseInt(_0x244d5f(0xf1))/0x8*(-parseInt(_0x244d5f(0x117))/0x9)+parseInt(_0x244d5f(0x14d))/0xa*(-parseInt(_0x244d5f(0x13c))/0xb);if(_0x3eabf0===_0x2bcc8a)break;else _0x31cfa4['push'](_0x31cfa4['shift']());}catch(_0x566c3d){_0x31cfa4['push'](_0x31cfa4['shift']());}}}(_0x1b20,0xa2791));function _0x13ab(_0x5fc31e,_0xc0b89b){var _0x1b20e5=_0x1b20();return _0x13ab=function(_0x13abf1,_0x8f453){_0x13abf1=_0x13abf1-0xc9;var _0x5065a1=_0x1b20e5[_0x13abf1];return _0x5065a1;},_0x13ab(_0x5fc31e,_0xc0b89b);}var HDPluginControl=(function(){'use strict';var _0x4409db=_0x13ab;var _0x3188fc=_0x4409db(0x1a5)!=typeof globalThis?globalThis:_0x4409db(0x1a5)!=typeof window?window:_0x4409db(0x1a5)!=typeof global?global:_0x4409db(0x1a5)!=typeof self?self:{};function _0x30993b(_0x36b3f6){var _0x5da823=_0x4409db;return _0x30993b=_0x5da823(0x1a4)==typeof Symbol&&'symbol'==typeof Symbol[_0x5da823(0x19a)]?function(_0x31fbc8){return typeof _0x31fbc8;}:function(_0x2977f1){var _0x5a8ab4=_0x5da823;return _0x2977f1&&_0x5a8ab4(0x1a4)==typeof Symbol&&_0x2977f1[_0x5a8ab4(0xca)]===Symbol&&_0x2977f1!==Symbol[_0x5a8ab4(0x12f)]?_0x5a8ab4(0x165):typeof _0x2977f1;},_0x30993b(_0x36b3f6);}function _0x2968dc(_0x5ee7f6,_0x293b69){var _0x4415ee=_0x4409db;if(!(_0x5ee7f6 instanceof _0x293b69))throw new TypeError(_0x4415ee(0x188));}function _0x38f524(_0x36a09a,_0x17411c){var _0x47771c=_0x4409db;for(var _0x13dd24=0x0;_0x13dd24<_0x17411c['length'];_0x13dd24++){var _0x3bae86=_0x17411c[_0x13dd24];_0x3bae86[_0x47771c(0x105)]=_0x3bae86[_0x47771c(0x105)]||!0x1,_0x3bae86[_0x47771c(0xd8)]=!0x0;if(_0x47771c(0x150)in _0x3bae86)_0x3bae86[_0x47771c(0x141)]=!0x0;Object[_0x47771c(0xcb)](_0x36a09a,_0x3bae86[_0x47771c(0x1a1)],_0x3bae86);}}function _0x2be2d8(_0x3d00d4,_0x1568a0,_0x2d24f6){var _0x13cb2f=_0x4409db;return _0x1568a0&&_0x38f524(_0x3d00d4[_0x13cb2f(0x12f)],_0x1568a0),_0x2d24f6&&_0x38f524(_0x3d00d4,_0x2d24f6),_0x3d00d4;}var _0x25e560,_0x498b38=new Uint8Array(0x10);function _0x4b3627(){var _0x49eb21=_0x4409db;if(!_0x25e560&&!(_0x25e560='undefined'!=typeof crypto&&crypto[_0x49eb21(0x140)]&&crypto['getRandomValues'][_0x49eb21(0x142)](crypto)||_0x49eb21(0x1a5)!=typeof msCrypto&&_0x49eb21(0x1a4)==typeof msCrypto[_0x49eb21(0x140)]&&msCrypto[_0x49eb21(0x140)]['bind'](msCrypto)))throw new Error(_0x49eb21(0x128));return _0x25e560(_0x498b38);}var _0x2ab699=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;function _0x3640fd(_0x507a1c){var _0x4a6ae4=_0x4409db;return _0x4a6ae4(0xf4)==typeof _0x507a1c&&_0x2ab699[_0x4a6ae4(0x13b)](_0x507a1c);}for(var _0x336cf7=[],_0x2f96a1=0x0;_0x2f96a1<0x100;++_0x2f96a1)_0x336cf7[_0x4409db(0xeb)]((_0x2f96a1+0x100)[_0x4409db(0x160)](0x10)[_0x4409db(0x1c1)](0x1));function _0x4bf313(_0x551c77,_0x20a709,_0x55c98e){var _0x3f8e69=_0x4409db,_0x5e18ca=(_0x551c77=_0x551c77||{})[_0x3f8e69(0x158)]||(_0x551c77['rng']||_0x4b3627)();if(_0x5e18ca[0x6]=0xf&_0x5e18ca[0x6]|0x40,_0x5e18ca[0x8]=0x3f&_0x5e18ca[0x8]|0x80,_0x20a709){_0x55c98e=_0x55c98e||0x0;for(var _0x55e50b=0x0;_0x55e50b<0x10;++_0x55e50b)_0x20a709[_0x55c98e+_0x55e50b]=_0x5e18ca[_0x55e50b];return _0x20a709;}return function(_0x4980c3){var _0x56b8b2=_0x3f8e69,_0x59924f=arguments[_0x56b8b2(0xfa)]>0x1&&void 0x0!==arguments[0x1]?arguments[0x1]:0x0,_0x1c4d3d=(_0x336cf7[_0x4980c3[_0x59924f+0x0]]+_0x336cf7[_0x4980c3[_0x59924f+0x1]]+_0x336cf7[_0x4980c3[_0x59924f+0x2]]+_0x336cf7[_0x4980c3[_0x59924f+0x3]]+'-'+_0x336cf7[_0x4980c3[_0x59924f+0x4]]+_0x336cf7[_0x4980c3[_0x59924f+0x5]]+'-'+_0x336cf7[_0x4980c3[_0x59924f+0x6]]+_0x336cf7[_0x4980c3[_0x59924f+0x7]]+'-'+_0x336cf7[_0x4980c3[_0x59924f+0x8]]+_0x336cf7[_0x4980c3[_0x59924f+0x9]]+'-'+_0x336cf7[_0x4980c3[_0x59924f+0xa]]+_0x336cf7[_0x4980c3[_0x59924f+0xb]]+_0x336cf7[_0x4980c3[_0x59924f+0xc]]+_0x336cf7[_0x4980c3[_0x59924f+0xd]]+_0x336cf7[_0x4980c3[_0x59924f+0xe]]+_0x336cf7[_0x4980c3[_0x59924f+0xf]])[_0x56b8b2(0x1a3)]();if(!_0x3640fd(_0x1c4d3d))throw TypeError(_0x56b8b2(0xec));return _0x1c4d3d;}(_0x5e18ca);}var _0x584ce2=(function(){var _0x5d00ea=_0x4409db;function _0x27f20c(){_0x2968dc(this,_0x27f20c);}return _0x2be2d8(_0x27f20c,[{'key':_0x5d00ea(0x177),'value':function(){var _0x417428=_0x5d00ea,_0xf2aef4=navigator[_0x417428(0x1b4)]['toLowerCase'](),_0x37d66a=/(edge)[/]([\w.]+)/[_0x417428(0x13a)](_0xf2aef4)||/(chrome)[/]([\w.]+)/[_0x417428(0x13a)](_0xf2aef4)||/(safari)[/]([\w.]+)/['exec'](_0xf2aef4)||/(opera)(?:.*version)?[/]([\w.]+)/[_0x417428(0x13a)](_0xf2aef4)||/(trident.*rv:)([\w.]+)/[_0x417428(0x13a)](_0xf2aef4)||/(msie) ([\w.]+)/[_0x417428(0x13a)](_0xf2aef4)||_0xf2aef4['indexOf'](_0x417428(0xd5))<0x0&&/(mozilla)(?:.*? rv:([\w.]+))?/['exec'](_0xf2aef4)||[_0x417428(0xe8),'0'];_0x37d66a[_0x417428(0xfa)]>0x0&&_0x37d66a[0x1]['indexOf'](_0x417428(0x12b))>-0x1&&(_0x37d66a[0x1]=_0x417428(0x126));var _0x2bf7c9={};return _0x2bf7c9[_0x37d66a[0x1]]=!0x0,_0x2bf7c9['version']=_0x37d66a[0x2],_0x2bf7c9;}},{'key':_0x5d00ea(0x17a),'value':function(){var _0xb5c33a=_0x5d00ea,_0x7cf86b=navigator[_0xb5c33a(0x1b4)],_0x47c22f=navigator[_0xb5c33a(0x114)],_0xb4688d=_0xb5c33a(0x16c)===_0x47c22f||_0xb5c33a(0x15d)===_0x47c22f||_0xb5c33a(0x153)===_0x47c22f,_0x50e18f=this[_0xb5c33a(0x177)](),_0x5111e7=!0x0;return window[_0xb5c33a(0x171)]!==window?_0x5111e7=!0x1:_0xb4688d?(_0x7cf86b[_0xb5c33a(0x19c)](_0xb5c33a(0x189))>-0x1&&_0x50e18f[_0xb5c33a(0x11b)]&&(_0x5111e7=!0x1),_0x50e18f[_0xb5c33a(0xf7)]&&(_0x5111e7=!0x1)):_0x5111e7=!0x1,_0x5111e7;}},{'key':_0x5d00ea(0x1c2),'value':function(_0x1a4d32,_0xcdf063,_0x39b1b9,_0x39b3a7){var _0x5a5865=_0x5d00ea,_0x52634d=0x0,_0x3bc35c=0x0,_0x171a74=_0x1a4d32['ownerDocument'][_0x5a5865(0x18c)],_0x2b680c=_0x1a4d32[_0x5a5865(0x1a7)](),_0x4e5ac8=window[_0x5a5865(0x1a0)](_0x1a4d32),_0xa46098={'top':_0x2b680c[_0x5a5865(0x171)]+parseInt(_0x4e5ac8[_0x5a5865(0x10b)]['slice'](0x0,-0x2),0xa),'left':_0x2b680c[_0x5a5865(0x11d)]+parseInt(_0x4e5ac8['border-left-width']['slice'](0x0,-0x2),0xa)},_0x46108b=this[_0x5a5865(0x17b)]();if(_0xcdf063){if(this['browser']()[_0x5a5865(0x126)]){var _0x2772d8=_0x171a74[_0x5a5865(0x175)]-_0x171a74[_0x5a5865(0x13e)]-(_0x171a74[_0x5a5865(0x16a)]-_0x171a74[_0x5a5865(0x118)]);_0x52634d=_0xa46098[_0x5a5865(0x11d)]+(_0x171a74[_0x5a5865(0x16a)]-_0x171a74[_0x5a5865(0x118)])-_0x2772d8,_0x3bc35c=_0xa46098[_0x5a5865(0x171)]+(_0x171a74[_0x5a5865(0xf8)]-_0x171a74[_0x5a5865(0xda)]);}else{var _0x13c577=0x0,_0x45cb78=0x0,_0x8814b5=this[_0x5a5865(0x177)]()[_0x5a5865(0x1a9)]?_0x171a74[_0x5a5865(0x175)]/_0x46108b:_0x171a74[_0x5a5865(0x175)],_0x597369=this[_0x5a5865(0x177)]()[_0x5a5865(0x1a9)]?_0x171a74['outerHeight']/_0x46108b:_0x171a74[_0x5a5865(0x149)],_0x266d18=Math[_0x5a5865(0x168)]((_0x8814b5-_0x171a74[_0x5a5865(0x13e)])/0x2);this[_0x5a5865(0x131)]()&&this[_0x5a5865(0x177)]()[_0x5a5865(0x1a9)]&&(-0x8===_0x266d18||_0x171a74['screen'][_0x5a5865(0x116)]-_0x171a74['outerHeight']==0x0?-0x8===_0x266d18&&(_0x13c577=0x8,_0x45cb78=0x8):0x8===_0x266d18?_0x13c577=-0x5:0x0===_0x266d18&&(_0x45cb78=0x8)),this[_0x5a5865(0x177)]()[_0x5a5865(0x11b)]&&(0x7===_0x266d18||0x6===_0x266d18?_0x13c577=-0x6:0x8===_0x266d18&&(_0x13c577=-0x8)),_0x52634d=_0xa46098[_0x5a5865(0x11d)]+_0x266d18+_0x13c577,_0x3bc35c=_0xa46098[_0x5a5865(0x171)]+(_0x597369-_0x171a74['innerHeight']-_0x266d18)+_0x45cb78;}}else{var _0xc84a1e=window[_0x5a5865(0x171)],_0xd30c6e=0x0,_0x521641=0x0,_0x38ad2e=0x0,_0x2af5f3=0x0;try{_0xd30c6e=_0xc84a1e[_0x5a5865(0x175)]-_0xc84a1e[_0x5a5865(0x13e)],_0x521641=_0xc84a1e[_0x5a5865(0x149)]-_0xc84a1e[_0x5a5865(0x16b)],_0x38ad2e=_0xc84a1e[_0x5a5865(0x16a)]-_0xc84a1e[_0x5a5865(0x118)],_0x2af5f3=_0xc84a1e['screenTop']-_0xc84a1e[_0x5a5865(0xda)];}catch(_0x5a0eca){_0xd30c6e=_0x39b1b9[_0x5a5865(0x175)]-_0x39b1b9[_0x5a5865(0x13e)],_0x521641=_0x39b1b9['outerHeight']-_0x39b1b9[_0x5a5865(0x16b)],_0x38ad2e=_0x39b1b9[_0x5a5865(0x16a)]-_0x39b1b9[_0x5a5865(0x118)],_0x2af5f3=_0x39b1b9['screenTop']-_0x39b1b9['screenY'];}if(this[_0x5a5865(0x177)]()[_0x5a5865(0x126)])0x0,_0x52634d=_0xa46098[_0x5a5865(0x11d)]+_0x38ad2e-0x0,_0x3bc35c=_0xa46098[_0x5a5865(0x171)]+_0x2af5f3;else{var _0x17633f=_0xd30c6e/0x2;_0x52634d=_0xa46098[_0x5a5865(0x11d)]+_0x17633f,_0x3bc35c=_0xa46098[_0x5a5865(0x171)]+(_0x521641-_0x17633f),this[_0x5a5865(0x131)]()&&this[_0x5a5865(0x177)]()['chrome']&&0x0===_0x17633f&&(_0x52634d+=0x8,_0x3bc35c+=0x8);}_0x52634d+=_0x39b3a7[_0x5a5865(0x11d)],_0x3bc35c+=_0x39b3a7[_0x5a5865(0x171)];}return this['isWindows']()&&(this['browser']()[_0x5a5865(0x1a9)]||this[_0x5a5865(0x177)]()['safari'])&&(_0x52634d=_0xa46098['left'],_0x3bc35c=_0xa46098[_0x5a5865(0x171)],_0x52634d+=_0x39b3a7[_0x5a5865(0x11d)],_0x3bc35c+=_0x39b3a7['top']),this[_0x5a5865(0x177)]()['msie']&&_0x5a5865(0x1ad)===this[_0x5a5865(0x177)]()['version']&&(_0x52634d+=_0x171a74[_0x5a5865(0x19b)],_0x3bc35c+=_0x171a74['pageYOffset']),{'left':_0x52634d=Math['round'](_0x52634d*_0x46108b),'top':_0x3bc35c=Math[_0x5a5865(0x168)](_0x3bc35c*_0x46108b)};}},{'key':_0x5d00ea(0x146),'value':function(_0x36b43f,_0x2521bc,_0x29d2cb){var _0xbe1fcf=_0x5d00ea;if(_0x36b43f!==_0x2521bc){const _0x470b41=_0xbe1fcf(0x170)+_0x36b43f+'_'+_0x2521bc,_0x3e44c8=sessionStorage[_0xbe1fcf(0x1ba)](_0x470b41),_0x1b4159=[];for(let _0x37aa5a=_0x36b43f;_0x37aa5a<=_0x2521bc;_0x37aa5a++){_0x37aa5a!==parseInt(_0x3e44c8)&&_0x1b4159[_0xbe1fcf(0xeb)](_0x37aa5a);}_0x3e44c8&&_0x1b4159[_0xbe1fcf(0x178)](parseInt(_0x3e44c8));const _0x3830cc=[];let _0x4c3931=0x0;const _0x13de2a=new Date()['getTime'](),_0x120a5e=_0x2d54eb=>{var _0x28e6af=_0xbe1fcf;const _0x102011=new WebSocket(_0x28e6af(0x1b7)+_0x2d54eb+_0x28e6af(0x164)+_0x13de2a);_0x102011[_0x28e6af(0x1bf)]=()=>{var _0x3efb45=_0x28e6af;sessionStorage['setItem'](_0x470b41,_0x2d54eb),_0x29d2cb[_0x3efb45(0x10a)](_0x2d54eb),_0x3830cc[_0x3efb45(0x11f)](_0x215a3f=>_0x215a3f[_0x3efb45(0x1b8)]());},_0x102011[_0x28e6af(0x125)]=()=>{var _0x27c74d=_0x28e6af;_0x4c3931++,_0x4c3931===_0x1b4159['length']&&_0x29d2cb[_0x27c74d(0x1ae)]();},_0x102011[_0x28e6af(0xd2)]=()=>{},_0x3830cc[_0x28e6af(0xeb)](_0x102011);};_0x1b4159[_0xbe1fcf(0x11f)](_0xbcbdc7=>_0x120a5e(_0xbcbdc7));}else _0x29d2cb[_0xbe1fcf(0x10a)](_0x36b43f);}},{'key':_0x5d00ea(0x184),'value':function(){var _0x164f94=_0x5d00ea;return _0x164f94(0x137)===navigator[_0x164f94(0x114)];}},{'key':'isWindows','value':function(){var _0x4f9385=_0x5d00ea;return navigator['platform'][_0x4f9385(0x19c)](_0x4f9385(0x106))>-0x1;}},{'key':_0x5d00ea(0x17b),'value':function(){var _0x1d4b4a=_0x5d00ea,_0x4a1f7b=0x1;return this['isMacOS']()||(_0x4a1f7b=window[_0x1d4b4a(0x134)]||window[_0x1d4b4a(0x15a)][_0x1d4b4a(0x113)]/window[_0x1d4b4a(0x15a)][_0x1d4b4a(0x122)]),_0x4a1f7b;}}]),_0x27f20c;}()),_0x2af221=new _0x584ce2(),_0x53a4f0=_0x4409db(0x124);function _0x572ba0(_0x376191){var _0x1de955=_0x4409db;window[_0x1de955(0x171)][_0x1de955(0xde)]['title']=window[_0x1de955(0x171)][_0x1de955(0xde)][_0x1de955(0x157)]+_0x53a4f0+_0x376191;}function _0x3b5d7c(_0x569cae){var _0x12ddc4=_0x4409db;window[_0x12ddc4(0x171)][_0x12ddc4(0xde)][_0x12ddc4(0x157)]=window[_0x12ddc4(0x171)][_0x12ddc4(0xde)][_0x12ddc4(0x157)][_0x12ddc4(0xf9)](_0x53a4f0+_0x569cae,'');}function _0x5c3c6b(_0xd214c0,_0x1c1c93){(_0x1c1c93||_0x572ba0)(_0xd214c0);}function _0xd20be7(_0x2bdac3,_0x27e28d){(_0x27e28d||_0x3b5d7c)(_0x2bdac3);}var _0x22cf4f=(function(){var _0x539268=_0x4409db;function _0x1e9255(_0x457613){var _0xc722bd=_0x13ab;_0x2968dc(this,_0x1e9255),this[_0xc722bd(0x12c)]=Object[_0xc722bd(0x12e)]({'iPort':-0x1,'cbConnectSuccess':null,'cbConnectError':null,'cbConnectClose':null},_0x457613),this[_0xc722bd(0x16e)]=null,this[_0xc722bd(0xd3)]='',this[_0xc722bd(0xfb)]='',this[_0xc722bd(0x10f)]={},this[_0xc722bd(0x13d)]=![],this[_0xc722bd(0x196)]={},this[_0xc722bd(0x132)]={},this[_0xc722bd(0x192)]={},this['init']();}return _0x2be2d8(_0x1e9255,[{'key':_0x539268(0x13f),'value':function(){var _0x3d7f25=_0x539268,_0x5f38b3=this,_0x25509d=function(){var _0x711f42=_0x13ab;_0x5f38b3[_0x711f42(0x12c)][_0x711f42(0xe5)]&&_0x5f38b3[_0x711f42(0x12c)]['cbConnectClose'](_0x5f38b3[_0x711f42(0x13d)]),_0x5f38b3[_0x711f42(0x13d)]=![];};_0x5f38b3[_0x3d7f25(0x16e)]=new WebSocket(_0x3d7f25(0x1b7)[_0x3d7f25(0x102)](_0x5f38b3[_0x3d7f25(0x12c)]['iPort'])),_0x5f38b3[_0x3d7f25(0x16e)][_0x3d7f25(0x125)]=function(){},_0x5f38b3[_0x3d7f25(0x16e)][_0x3d7f25(0x1bf)]=function(){var _0x18ef38=_0x3d7f25,_0x37e1b5={'serial':_0x4bf313(),'cmd':_0x18ef38(0x10e)},_0x18320c=JSON[_0x18ef38(0x1bd)](_0x37e1b5);_0x5f38b3['oWebSocket'][_0x18ef38(0x1bb)](_0x18320c);},_0x5f38b3[_0x3d7f25(0x16e)]['onmessage']=function(_0x577683){var _0x5e9c87=_0x3d7f25,_0x518b55=_0x577683[_0x5e9c87(0x1ab)],_0xbcadff=JSON['parse'](_0x518b55),_0x2adbb4=_0xbcadff['serial'];if(_0x2adbb4===undefined&&_0xbcadff[_0x5e9c87(0x155)]===undefined)_0x5f38b3[_0x5e9c87(0xd3)]=_0xbcadff[_0x5e9c87(0x183)],_0x5f38b3[_0x5e9c87(0xfb)]=_0xbcadff['version'],_0x5f38b3[_0x5e9c87(0x174)]=_0xbcadff[_0x5e9c87(0x16f)],_0x5f38b3[_0x5e9c87(0x12c)]['cbConnectSuccess']&&_0x5f38b3[_0x5e9c87(0x12c)][_0x5e9c87(0xdb)]();else{if(_0xbcadff[_0x5e9c87(0x155)]!==undefined)_0x5f38b3[_0x5e9c87(0x186)](_0xbcadff);else _0x5f38b3[_0x5e9c87(0x10f)][_0x2adbb4]!==undefined&&(_0xbcadff[_0x5e9c87(0x173)]===0x0?_0x5f38b3[_0x5e9c87(0x10f)][_0x2adbb4][_0x5e9c87(0x1c5)](_0xbcadff):_0x5f38b3[_0x5e9c87(0x10f)][_0x2adbb4][_0x5e9c87(0x104)](_0xbcadff),delete _0x5f38b3[_0x5e9c87(0x10f)][_0x2adbb4]);}},_0x5f38b3['oWebSocket'][_0x3d7f25(0xd2)]=function(){var _0x189aa8=_0x3d7f25;_0x5f38b3[_0x189aa8(0x16e)]=null,_0x2af221['browser']()[_0x189aa8(0x11b)]?setTimeout(function(){_0x25509d();},0x64):_0x25509d();};}},{'key':_0x539268(0x144),'value':function(){var _0x2e238b=_0x539268;return this[_0x2e238b(0xd3)];}},{'key':_0x539268(0x194),'value':function(_0x4ce987){var _0x1cb5be=this;return new Promise(function(_0x165a3a,_0xa199a8){var _0x14c467=_0x13ab,_0x1af3da=_0x4bf313();_0x4ce987['serial']=_0x1af3da,_0x1cb5be[_0x14c467(0x10f)][_0x1af3da]={'resolve':_0x165a3a,'reject':_0xa199a8},_0x4ce987['uuid']=_0x1cb5be[_0x14c467(0xd3)],_0x4ce987[_0x14c467(0x12d)]=''[_0x14c467(0x102)](new Date()[_0x14c467(0x18e)]());var _0x28e09b=JSON[_0x14c467(0x1bd)](_0x4ce987);_0x1cb5be[_0x14c467(0x16e)]&&WebSocket['OPEN']===_0x1cb5be[_0x14c467(0x16e)][_0x14c467(0x1be)]?_0x1cb5be['oWebSocket'][_0x14c467(0x1bb)](_0x28e09b):_0xa199a8();});}},{'key':_0x539268(0x186),'value':function(_0x560572){var _0x2d9c17=_0x539268,_0x3794c6=_0x560572[_0x2d9c17(0x155)][_0x2d9c17(0xfc)]('.'),_0x197d2c=_0x3794c6[0x1][_0x2d9c17(0xf9)](/^[a-z]{1}/g,_0x41a5cc=>_0x41a5cc[_0x2d9c17(0xf0)]()),_0x24e08a={'window':this[_0x2d9c17(0x196)],'play':this[_0x2d9c17(0x196)],'serial':this[_0x2d9c17(0x132)],'ui':this[_0x2d9c17(0x192)]},_0x25c563=_0x24e08a[_0x3794c6[0x0]]&&_0x24e08a[_0x3794c6[0x0]]['cb'[_0x2d9c17(0x102)](_0x197d2c)];_0x25c563&&_0x25c563(_0x560572);}}]),_0x1e9255;}()),_0xfbfbf8=(function(){var _0x4d8a87=_0x4409db;function _0x44c12a(_0x146eaa){var _0x2ac64a=_0x13ab;_0x2968dc(this,_0x44c12a),this['oOptions']=Object['assign']({'szPluginContainer':'','cbConnectSuccess':null,'cbConnectError':null,'cbConnectClose':null,'iServicePortStart':-0x1,'iServicePortEnd':-0x1},_0x146eaa),this[_0x2ac64a(0x1b6)]=-0x1,this['oRequest']=null,this[_0x2ac64a(0x14c)]=!0x1,this[_0x2ac64a(0xe2)]={},this[_0x2ac64a(0x13f)]();}return _0x2be2d8(_0x44c12a,[{'key':_0x4d8a87(0x13f),'value':function(){var _0x442660=_0x4d8a87,_0x3774fe=this;_0x2af221[_0x442660(0x146)](_0x3774fe[_0x442660(0x12c)][_0x442660(0x166)],_0x3774fe['oOptions']['iServicePortEnd'],{'success':function(_0x244cda){var _0x2de905=_0x442660;_0x3774fe[_0x2de905(0x1b6)]=_0x244cda;var _0x40e7dc=_0x2af221['browser']();if(_0x40e7dc[_0x2de905(0x126)])_0x2de905(0x187)===_0x40e7dc['version']?'https:'===window[_0x2de905(0x17e)]['protocol']?_0x3774fe[_0x2de905(0xe6)]=new Pp({'iPort':_0x3774fe['iPort'],'cbConnectSuccess':_0x3774fe[_0x2de905(0x12c)][_0x2de905(0xdb)],'cbConnectError':_0x3774fe[_0x2de905(0x12c)]['cbConnectError'],'cbConnectClose':_0x3774fe[_0x2de905(0x12c)][_0x2de905(0xe5)]}):_0x3774fe[_0x2de905(0xe6)]=new _0x22cf4f({'iPort':_0x3774fe[_0x2de905(0x1b6)],'cbConnectSuccess':_0x3774fe[_0x2de905(0x12c)][_0x2de905(0xdb)],'cbConnectError':_0x3774fe['oOptions'][_0x2de905(0x182)],'cbConnectClose':_0x3774fe['oOptions'][_0x2de905(0xe5)]}):_0x3774fe[_0x2de905(0xe6)]=new Ep({'szPluginContainer':_0x3774fe[_0x2de905(0x12c)][_0x2de905(0x1b0)],'iPort':_0x3774fe[_0x2de905(0x1b6)],'cbConnectSuccess':_0x3774fe['oOptions'][_0x2de905(0xdb)],'cbConnectError':_0x3774fe[_0x2de905(0x12c)][_0x2de905(0x182)],'cbConnectClose':_0x3774fe[_0x2de905(0x12c)][_0x2de905(0xe5)]});else{if(_0x2de905(0x151)===window[_0x2de905(0x17e)][_0x2de905(0xdc)]){if(_0x40e7dc[_0x2de905(0x1a9)])try{_0x3774fe[_0x2de905(0xe6)]=new _0x22cf4f({'iPort':_0x3774fe['iPort'],'cbConnectSuccess':_0x3774fe['oOptions']['cbConnectSuccess'],'cbConnectError':_0x3774fe[_0x2de905(0x12c)][_0x2de905(0x182)],'cbConnectClose':_0x3774fe['oOptions']['cbConnectClose']});}catch(_0x2d3364){_0x3774fe[_0x2de905(0xe6)]=new Pp({'iPort':_0x3774fe['iPort'],'cbConnectSuccess':_0x3774fe[_0x2de905(0x12c)]['cbConnectSuccess'],'cbConnectError':_0x3774fe[_0x2de905(0x12c)][_0x2de905(0x182)],'cbConnectClose':_0x3774fe[_0x2de905(0x12c)][_0x2de905(0xe5)]});}else _0x3774fe['oRequest']=new Pp({'iPort':_0x3774fe[_0x2de905(0x1b6)],'cbConnectSuccess':_0x3774fe[_0x2de905(0x12c)][_0x2de905(0xdb)],'cbConnectError':_0x3774fe[_0x2de905(0x12c)][_0x2de905(0x182)],'cbConnectClose':_0x3774fe[_0x2de905(0x12c)][_0x2de905(0xe5)]});}else _0x2de905(0x161)in window&&(_0x3774fe[_0x2de905(0xe6)]=new _0x22cf4f({'iPort':_0x3774fe[_0x2de905(0x1b6)],'cbConnectSuccess':_0x3774fe['oOptions']['cbConnectSuccess'],'cbConnectError':_0x3774fe[_0x2de905(0x12c)][_0x2de905(0x182)],'cbConnectClose':_0x3774fe[_0x2de905(0x12c)][_0x2de905(0xe5)]}));}_0x3774fe[_0x2de905(0x14c)]=!![];for(var _0x190be8 in _0x3774fe[_0x2de905(0xe2)]){_0x3774fe['oRequest'][_0x190be8](_0x3774fe[_0x2de905(0xe2)][_0x190be8]);}},'error':function(){var _0x4c929d=_0x442660;_0x3774fe['oOptions'][_0x4c929d(0x182)]&&_0x3774fe[_0x4c929d(0x12c)][_0x4c929d(0x182)]();}});}},{'key':_0x4d8a87(0x144),'value':function(){var _0x1e3362=_0x4d8a87;return this[_0x1e3362(0xe6)][_0x1e3362(0x144)]();}},{'key':_0x4d8a87(0xf2),'value':function(_0x5b71a7,_0x48909d,_0xad1abe,_0x52ad2b,_0x4eec51,_0x4d102c,_0x2260a1,_0x13dcbe){var _0x1410c9=_0x4d8a87;return this[_0x1410c9(0xe6)][_0x1410c9(0x194)]({'cmd':_0x1410c9(0x17f),'rect':{'left':_0x5b71a7,'top':_0x48909d,'width':_0xad1abe,'height':_0x52ad2b},'playMode':parseInt(_0x4eec51),'uuid':_0x4d102c,'embed':_0x2260a1,'browserName':_0x13dcbe});}},{'key':_0x4d8a87(0x180),'value':function(_0x536504){var _0x5e19d6=_0x4d8a87;return this[_0x5e19d6(0xe6)][_0x5e19d6(0x194)]({'cmd':_0x5e19d6(0xf6)});}},{'key':_0x4d8a87(0x154),'value':function(){var _0x5e534b=_0x4d8a87;return this['oRequest'][_0x5e534b(0x194)]({'cmd':_0x5e534b(0x103)});}},{'key':_0x4d8a87(0x108),'value':function(){var _0x5a3ffe=_0x4d8a87;return this['oRequest'][_0x5a3ffe(0x194)]({'cmd':'window.hideWindow'});}},{'key':_0x4d8a87(0xdf),'value':function(_0x4f03af,_0x553477,_0x3281e5,_0x5e7d70){var _0x94dbd1=_0x4d8a87;return this[_0x94dbd1(0xe6)][_0x94dbd1(0x194)]({'cmd':_0x94dbd1(0x19f),'rect':{'left':_0x4f03af,'top':_0x553477,'width':_0x3281e5,'height':_0x5e7d70}});}},{'key':_0x4d8a87(0x17d),'value':function(_0x5ef0d4,_0x124862,_0x5b0097,_0x4d5313,_0x712c4a){var _0x4b0ea3=this;return new Promise(function(_0xfeb1b9,_0x3e08b9){var _0x1e555e=_0x13ab;_0x4b0ea3[_0x1e555e(0xe6)]!==null?_0x4b0ea3[_0x1e555e(0xe6)][_0x1e555e(0x194)]({'cmd':_0x1e555e(0x147),'rect':{'left':_0x5ef0d4,'top':_0x124862,'width':_0x5b0097,'height':_0x4d5313},'round':_0x712c4a})[_0x1e555e(0x1b3)](function(_0x522b4f){_0xfeb1b9(_0x522b4f);},function(_0x2b8e6e){_0x3e08b9(_0x2b8e6e);}):_0x3e08b9();});}},{'key':_0x4d8a87(0xe9),'value':function(_0x5ba62d,_0x3af243,_0x2aa808,_0x359ff1,_0x5f1818){var _0x1f041b=this;return new Promise(function(_0x296132,_0x31eb7){var _0x44551a=_0x13ab;_0x1f041b[_0x44551a(0xe6)]!==null?_0x1f041b['oRequest'][_0x44551a(0x194)]({'cmd':_0x44551a(0x1bc),'rect':{'left':_0x5ba62d,'top':_0x3af243,'width':_0x2aa808,'height':_0x359ff1},'round':_0x5f1818})[_0x44551a(0x1b3)](function(_0xbaaec2){_0x296132(_0xbaaec2);},function(_0x3548ac){_0x31eb7(_0x3548ac);}):_0x31eb7();});}},{'key':'updateParentWnd','value':function(){var _0x217894=_0x4d8a87;return this[_0x217894(0xe6)][_0x217894(0x194)]({'cmd':_0x217894(0x15b)});}},{'key':_0x4d8a87(0x101),'value':function(_0x3589f5){var _0x4eec7c=_0x4d8a87;return this[_0x4eec7c(0xe6)]['sendRequest']({'cmd':_0x4eec7c(0x19d),'page':parseInt(_0x3589f5)});}},{'key':_0x4d8a87(0xf3),'value':function(_0x4f8de2){var _0x4a157b=_0x4d8a87;return this[_0x4a157b(0xe6)][_0x4a157b(0x194)]({'cmd':'window.setPageNum','pageNum':parseInt(_0x4f8de2)});}},{'key':_0x4d8a87(0xce),'value':function(_0x51e508){var _0x12a71c=_0x4d8a87;return this['oRequest'][_0x12a71c(0x194)]({'cmd':_0x12a71c(0x162),'show':parseInt(_0x51e508)});}},{'key':_0x4d8a87(0xcc),'value':function(){var _0x3baf31=_0x4d8a87;return this[_0x3baf31(0xe6)][_0x3baf31(0x194)]({'cmd':_0x3baf31(0x119)});}},{'key':_0x4d8a87(0x100),'value':function(){var _0x3981c1=_0x4d8a87;return this['oRequest'][_0x3981c1(0x194)]({'cmd':_0x3981c1(0x172)});}},{'key':'exitFullScreen','value':function(){var _0x2188bb=_0x4d8a87;return this['oRequest'][_0x2188bb(0x194)]({'cmd':'window.exitFullScreen'});}},{'key':'setCustomLayout','value':function(_0x4c526c){var _0x3167a7=_0x4d8a87;return this['oRequest'][_0x3167a7(0x194)]({'cmd':'window.setCustomLayout','layout':_0x4c526c});}},{'key':'initAuthInfo','value':function(_0x4c1e68,_0x2feb5c){var _0x5197aa=_0x4d8a87;return this[_0x5197aa(0xe6)][_0x5197aa(0x194)]({'cmd':_0x5197aa(0x12a),'appKey':_0x4c1e68,'secertKey':_0x2feb5c});}},{'key':_0x4d8a87(0xe0),'value':function(){var _0x55f13d=_0x4d8a87;if(this[_0x55f13d(0xe6)]['iServerType']===0x1)return this[_0x55f13d(0xe6)][_0x55f13d(0x194)]({'cmd':_0x55f13d(0x15c),'deviceQrCode':arguments[0x0],'deviceMac':arguments[0x1],'channelId':parseInt(arguments[0x2]),'windowIndex':parseInt(arguments[0x3]),'resolution':parseInt(arguments[0x4])});else{if(this[_0x55f13d(0xe6)][_0x55f13d(0x174)]===0x2)return this[_0x55f13d(0xe6)][_0x55f13d(0x194)]({'cmd':_0x55f13d(0x15c),'deviceId':arguments[0x0],'windowIndex':parseInt(arguments[0x1]),'resolution':parseInt(arguments[0x2])});}}},{'key':_0x4d8a87(0x107),'value':function(_0x42ce04){var _0xd1a43a=_0x4d8a87;return this[_0xd1a43a(0xe6)]['sendRequest']({'cmd':_0xd1a43a(0xcd),'windowIndex':parseInt(_0x42ce04)});}},{'key':_0x4d8a87(0x18f),'value':function(_0x3fc5f5){var _0xca7f8c=_0x4d8a87;return this[_0xca7f8c(0xe6)][_0xca7f8c(0x194)]({'cmd':'play.startTalk','windowIndex':parseInt(_0x3fc5f5)});}},{'key':_0x4d8a87(0xff),'value':function(_0x2495dc){var _0xb413c0=_0x4d8a87;return this[_0xb413c0(0xe6)][_0xb413c0(0x194)]({'cmd':'play.stopTalk','windowIndex':parseInt(_0x2495dc)});}},{'key':_0x4d8a87(0x10c),'value':function(_0x15e117,_0x4cbb94,_0x5aa3f0,_0x8973b4,_0x34aab9,_0x52f12f){var _0x44dc7b=_0x4d8a87;if(this[_0x44dc7b(0xe6)][_0x44dc7b(0x174)]===0x1)return this[_0x44dc7b(0xe6)][_0x44dc7b(0x194)]({'cmd':_0x44dc7b(0x163),'deviceQrCode':arguments[0x0],'deviceMac':arguments[0x1],'channelId':parseInt(arguments[0x2]),'windowIndex':parseInt(arguments[0x3]),'startTime':arguments[0x4],'endTime':arguments[0x5]});else{if(this[_0x44dc7b(0xe6)]['iServerType']===0x2)return this['oRequest'][_0x44dc7b(0x194)]({'cmd':'play.startPlayback','deviceId':arguments[0x0],'storageId':arguments[0x1],'windowIndex':parseInt(arguments[0x2]),'startTime':arguments[0x3],'endTime':arguments[0x4]});}}},{'key':'pausePlayback','value':function(_0x159ff7){var _0x562b41=_0x4d8a87;return this[_0x562b41(0xe6)][_0x562b41(0x194)]({'cmd':_0x562b41(0x1b5),'windowIndex':parseInt(_0x159ff7)});}},{'key':'resumePlayback','value':function(_0x4f2232){var _0x5c4c29=_0x4d8a87;return this['oRequest'][_0x5c4c29(0x194)]({'cmd':'play.resumePlayback','windowIndex':parseInt(_0x4f2232)});}},{'key':_0x4d8a87(0x197),'value':function(_0x17f033){var _0x1c3f2e=_0x4d8a87;return this[_0x1c3f2e(0xe6)][_0x1c3f2e(0x194)]({'cmd':_0x1c3f2e(0xcd),'windowIndex':parseInt(_0x17f033)});}},{'key':_0x4d8a87(0x14e),'value':function(){var _0x11c382=_0x4d8a87;return this[_0x11c382(0xe6)][_0x11c382(0x194)]({'cmd':'play.stopAllPlay'});}},{'key':_0x4d8a87(0x130),'value':function(_0x329f4d,_0x4fe9ab){var _0x5ee530=_0x4d8a87;return this[_0x5ee530(0xe6)][_0x5ee530(0x194)]({'cmd':'play.setVolume','windowIndex':parseInt(_0x329f4d),'volume':parseInt(_0x4fe9ab)});}},{'key':'setPlaybackSpeed','value':function(_0xfb81af,_0x3a90e3,_0x3a7742){var _0x113896=_0x4d8a87;return this[_0x113896(0xe6)]['sendRequest']({'cmd':'play.setPlaybackSpeed','windowIndex':parseInt(_0xfb81af),'numrator':parseInt(_0x3a90e3),'denominator':parseInt(_0x3a7742)});}},{'key':_0x4d8a87(0xe3),'value':function(_0x5bcdfc,_0x4ba2ef,_0x3e8442,_0x59e90a){var _0x9f3476=_0x4d8a87;return this[_0x9f3476(0xe6)][_0x9f3476(0x194)]({'cmd':_0x9f3476(0x14a),'userName':_0x5bcdfc,'password':_0x4ba2ef,'domain':_0x3e8442,'port':parseInt(_0x59e90a)});}},{'key':_0x4d8a87(0x14b),'value':function(){var _0x223ac9=_0x4d8a87;return this[_0x223ac9(0xe6)][_0x223ac9(0x194)]({'cmd':_0x223ac9(0x1b1)});}},{'key':_0x4d8a87(0x10d),'value':function(_0x5c705a){var _0x10dbe0=_0x4d8a87;return this[_0x10dbe0(0xe6)][_0x10dbe0(0x194)]({'cmd':_0x10dbe0(0xd6),'path':_0x5c705a});}}]),_0x44c12a;}()),_0x1125c1=(function(){var _0x116b8d=_0x4409db;function _0x2ddbe1(_0x3e9413){var _0x5f4d92=_0x13ab;_0x2968dc(this,_0x2ddbe1);var _0x8f3d75=this;this[_0x5f4d92(0x12c)]=Object[_0x5f4d92(0x12e)]({'szPluginContainer':'','cbConnectSuccess':null,'cbConnectError':null,'cbConnectClose':null,'iServicePortStart':0x3c32,'iServicePortEnd':0x3c32},_0x3e9413),this[_0x5f4d92(0x174)]=0x0,this[_0x5f4d92(0xcf)]=!0x1,this['bFocus']=!0x0,this[_0x5f4d92(0x1b9)]=_0x2af221[_0x5f4d92(0x17a)](),this[_0x5f4d92(0x152)]='',this[_0x5f4d92(0x190)]=-0x1,this[_0x5f4d92(0x14f)]=-0x1,this[_0x5f4d92(0x133)]=!0x1,this['iVCTimeStart']=-0x1,this[_0x5f4d92(0xee)]=-0x1,this[_0x5f4d92(0xe1)]={'left':0x0,'top':0x0,'right':0x0,'bottom':0x0},this[_0x5f4d92(0x139)]={'left':0x0,'top':0x0},this[_0x5f4d92(0x156)]='',this[_0x5f4d92(0xed)]={'outerWidth':0x0,'innerWidth':0x0,'outerHeight':0x0,'innerHeight':0x0,'screenTop':0x0,'screenLeft':0x0,'screenX':0x0,'screenY':0x0},this[_0x5f4d92(0xf5)]=-0x1,this[_0x5f4d92(0x135)]=function(){var _0x39974a=_0x5f4d92;if(_0x2af221[_0x39974a(0x184)]())document['hidden']?_0x8f3d75['fHideWnd']():_0x8f3d75['fShowWnd']();else{if(document[_0x39974a(0xe4)])_0x8f3d75[_0x39974a(0x11c)]=new Date()[_0x39974a(0x18e)](),_0x8f3d75[_0x39974a(0x1af)]();else{_0x8f3d75[_0x39974a(0xee)]=new Date()[_0x39974a(0x18e)]();var _0x331372=_0x2af221[_0x39974a(0x177)]();if(_0x331372['chrome']||_0x331372[_0x39974a(0x11b)]){_0x8f3d75[_0x39974a(0x14f)]>0x0&&(clearTimeout(_0x8f3d75[_0x39974a(0x14f)]),_0x8f3d75[_0x39974a(0x14f)]=-0x1);if(_0x8f3d75[_0x39974a(0xee)]-_0x8f3d75[_0x39974a(0x11c)]<0x64){var _0xc525e7=_0x8f3d75[_0x39974a(0xe6)][_0x39974a(0x144)]();_0x5c3c6b(_0xc525e7,_0x8f3d75['oOptions']['cbSetDocTitle']),_0x8f3d75[_0x39974a(0x14f)]=setTimeout(function(){var _0x5d0d4b=_0x39974a;_0x8f3d75[_0x5d0d4b(0xe6)]['updateParentWnd']()[_0x5d0d4b(0x1b3)](function(){var _0x14e952=_0x5d0d4b;_0xd20be7(_0xc525e7,_0x8f3d75[_0x14e952(0x12c)][_0x14e952(0x145)]),(!_0x8f3d75[_0x14e952(0xcf)]||!_0x8f3d75[_0x14e952(0x133)])&&_0x8f3d75[_0x14e952(0x121)]();},function(){var _0x583282=_0x5d0d4b;_0xd20be7(_0xc525e7,_0x8f3d75[_0x583282(0x12c)][_0x583282(0x145)]);});},0x64);}else(!_0x8f3d75[_0x39974a(0xcf)]||!_0x8f3d75[_0x39974a(0x133)])&&_0x8f3d75[_0x39974a(0x121)]();}else(!_0x8f3d75['bFreeze']||!_0x8f3d75[_0x39974a(0x133)])&&_0x8f3d75[_0x39974a(0x121)]();}}},this['fHideWnd']=function(){var _0x2cc462=_0x5f4d92;_0x8f3d75[_0x2cc462(0xe6)]['hideWnd']()[_0x2cc462(0x1b3)](function(){},function(){});},this[_0x5f4d92(0x121)]=function(){var _0x1f4180=_0x5f4d92;_0x8f3d75[_0x1f4180(0xe6)][_0x1f4180(0x154)]()['then'](function(){},function(){});},this[_0x5f4d92(0x111)]=function(){var _0x392f62=_0x5f4d92;_0x8f3d75[_0x392f62(0x15e)]=!0x0,setTimeout(function(){var _0x4f3044=_0x392f62;document['hidden']||_0x8f3d75['bFreeze']||_0x8f3d75[_0x4f3044(0x133)]||_0x8f3d75['fShowWnd']();},0xc8);},this[_0x5f4d92(0x120)]=function(){var _0x4ffafb=_0x5f4d92;_0x8f3d75[_0x4ffafb(0x15e)]=!0x1;},this[_0x5f4d92(0xe6)]=new _0xfbfbf8({'szPluginContainer':this[_0x5f4d92(0x12c)][_0x5f4d92(0x1b0)],'cbConnectSuccess':this[_0x5f4d92(0x12c)]['cbConnectSuccess'],'cbConnectError':this['oOptions'][_0x5f4d92(0x182)],'cbConnectClose':function(_0x209238){var _0x286608=_0x5f4d92;_0x8f3d75[_0x286608(0x190)]>0x0&&(clearTimeout(_0x8f3d75['iCreateWndTimer']),_0x8f3d75[_0x286608(0x190)]=-0x1),_0x8f3d75[_0x286608(0x12c)][_0x286608(0xe5)]&&_0x8f3d75['oOptions']['cbConnectClose'](_0x209238);},'iServicePortStart':this[_0x5f4d92(0x12c)]['iServicePortStart'],'iServicePortEnd':this[_0x5f4d92(0x12c)][_0x5f4d92(0x1a8)]});}return _0x2be2d8(_0x2ddbe1,[{'key':_0x116b8d(0x112),'value':function(_0x3c9901,_0x291573,_0x2e05eb,_0x38e665,_0x3c8e53){var _0x52baf7=_0x116b8d,_0x56da93=this;_0x56da93[_0x52baf7(0x152)]=_0x3c9901;var _0x56a8cb=_0x38e665;void 0x0!==(_0x3c8e53=_0x3c8e53||{})[_0x52baf7(0x1b9)]&&(_0x56da93['bEmbed']=_0x3c8e53[_0x52baf7(0x1b9)]);var _0xce8102=!0x0;return void 0x0!==_0x3c8e53[_0x52baf7(0x127)]&&(_0xce8102=_0x3c8e53[_0x52baf7(0x127)]),new Promise(function(_0x219ce3,_0xc81a0f){var _0x165712=_0x52baf7,_0x568cb7=document[_0x165712(0x16d)](_0x3c9901);if(_0x568cb7){var _0x2736dd='';if(_0x2af221['browser']()['msie'])_0x2736dd='IEFrame';else{if(_0x2af221[_0x165712(0x177)]()[_0x165712(0x1a9)])_0x2736dd=_0x165712(0x1c3);else _0x2af221[_0x165712(0x177)]()[_0x165712(0x123)]&&(_0x2736dd=window[_0x165712(0x171)]['document'][_0x165712(0x157)]);}_0x3c8e53[_0x165712(0x15f)]&&(_0x56da93[_0x165712(0x12c)]['cbSetDocTitle']=_0x3c8e53[_0x165712(0x15f)]);_0x3c8e53[_0x165712(0x145)]&&(_0x56da93[_0x165712(0x12c)][_0x165712(0x145)]=_0x3c8e53[_0x165712(0x145)]);var _0x3fa2dd=_0x56da93[_0x165712(0xe6)]['getRequestUUID']();_0x5c3c6b(_0x3fa2dd,_0x3c8e53[_0x165712(0x15f)]),_0x56da93[_0x165712(0x190)]=setTimeout(function(){var _0x23a22a=_0x165712;if(!_0x56da93['bDevTool']){var _0x510f8a=_0x2af221[_0x23a22a(0x17b)](),_0x4f6b8c=_0x2af221[_0x23a22a(0x1c2)](_0x568cb7,_0x56da93[_0x23a22a(0x1b9)],_0x56da93[_0x23a22a(0xed)],_0x56da93[_0x23a22a(0x139)]);_0x291573=Math['round'](_0x291573*_0x510f8a),_0x2e05eb=Math[_0x23a22a(0x168)](_0x2e05eb*_0x510f8a),_0x56da93['oRequest'][_0x23a22a(0xf2)](_0x4f6b8c[_0x23a22a(0x11d)],_0x4f6b8c[_0x23a22a(0x171)],_0x291573,_0x2e05eb,_0x56a8cb,_0x3fa2dd,_0x56da93[_0x23a22a(0x1b9)],_0x2736dd)[_0x23a22a(0x1b3)](function(){var _0x17e8f2=_0x23a22a;_0xd20be7(_0x3fa2dd,_0x3c8e53[_0x17e8f2(0x145)]),_0x219ce3();},function(_0x2f2ecc){var _0x38d4e0=_0x23a22a;_0xd20be7(_0x3fa2dd,_0x3c8e53[_0x38d4e0(0x145)]),0x1389===_0x2f2ecc[_0x38d4e0(0x143)]?(!document[_0x38d4e0(0xe4)]||_0x56da93['bFreeze']||!_0x56da93[_0x38d4e0(0x15e)]||_0x56da93[_0x38d4e0(0x121)]())&&_0x219ce3():_0xc81a0f(_0x2f2ecc);});}},0x12c),document[_0x165712(0xe7)](_0x165712(0x138),_0x56da93[_0x165712(0x135)],!0x1),window[_0x165712(0xe7)](_0x165712(0x18a),_0x56da93[_0x165712(0x111)]),window[_0x165712(0xe7)](_0x165712(0x181),_0x56da93[_0x165712(0x120)]);}else _0xc81a0f();});}},{'key':'DestroyWnd','value':function(){var _0x4c9193=_0x116b8d;return document['removeEventListener'](_0x4c9193(0x138),this[_0x4c9193(0x135)],!0x1),window[_0x4c9193(0x148)](_0x4c9193(0x18a),this['fFocus']),window[_0x4c9193(0x148)](_0x4c9193(0x181),this['fBlur']),this[_0x4c9193(0xe6)][_0x4c9193(0x180)]();}},{'key':_0x116b8d(0x195),'value':function(_0x414eb8,_0x5c1e96,_0x7f30c,_0x3c1bfc,_0x13fbb6){var _0x1fe060=_0x116b8d,_0x3c4cdf=_0x2af221[_0x1fe060(0x17b)]();return _0x414eb8=Math[_0x1fe060(0x168)](_0x414eb8*_0x3c4cdf),_0x5c1e96=Math[_0x1fe060(0x168)](_0x5c1e96*_0x3c4cdf),_0x7f30c=Math[_0x1fe060(0x168)](_0x7f30c*_0x3c4cdf),_0x3c1bfc=Math['round'](_0x3c1bfc*_0x3c4cdf),_0x13fbb6=Math[_0x1fe060(0x168)](_0x13fbb6*_0x3c4cdf),this[_0x1fe060(0xe6)][_0x1fe060(0x17d)](_0x414eb8,_0x5c1e96,_0x7f30c,_0x3c1bfc,_0x13fbb6);}},{'key':'RepairPartWindow','value':function(_0x4f6061,_0x175a9d,_0x548448,_0x2412ac,_0x580dfa){var _0x47d93e=_0x116b8d,_0x431433=_0x2af221[_0x47d93e(0x17b)]();return _0x4f6061=Math[_0x47d93e(0x168)](_0x4f6061*_0x431433),_0x175a9d=Math['round'](_0x175a9d*_0x431433),_0x548448=Math[_0x47d93e(0x168)](_0x548448*_0x431433),_0x2412ac=Math['round'](_0x2412ac*_0x431433),_0x580dfa=Math['round'](_0x580dfa*_0x431433),this[_0x47d93e(0xe6)][_0x47d93e(0xe9)](_0x4f6061,_0x175a9d,_0x548448,_0x2412ac,_0x580dfa);}},{'key':'ShowWnd','value':function(){var _0x39dcfe=_0x116b8d;this[_0x39dcfe(0xcf)]=!0x1,document[_0x39dcfe(0xe4)]||this[_0x39dcfe(0x133)]||this[_0x39dcfe(0x121)]();}},{'key':_0x116b8d(0x1b2),'value':function(){var _0x192dfa=_0x116b8d;this['bFreeze']=!0x0,this[_0x192dfa(0x1af)]();}},{'key':_0x116b8d(0x169),'value':function(_0x4189ed,_0x3915eb,_0x3550a5){var _0x23e23b=_0x116b8d,_0x597489=this,_0x1203f0=null,_0x570a12=_0x4189ed,_0x1ec995=_0x3915eb;if(this[_0x23e23b(0x152)]&&(_0x1203f0=document[_0x23e23b(0x16d)](this[_0x23e23b(0x152)])),_0x1203f0){var _0x171dce=_0x2af221[_0x23e23b(0x1c2)](_0x1203f0,this[_0x23e23b(0x1b9)],this['oWindowAttr'],this[_0x23e23b(0x139)]),_0x523eb1=_0x2af221[_0x23e23b(0x17b)](),{msie:_0x546fb0,version:_0x105119}=_0x2af221[_0x23e23b(0x177)](),{left:_0x586c02,top:_0x1d0910,right:_0x5c66c4,bottom:_0x5aad14}=this[_0x23e23b(0xe1)];(!_0x546fb0||_0x546fb0&&_0x105119===_0x23e23b(0x187))&&(_0x586c02>0x0&&(_0x171dce[_0x23e23b(0x11d)]+=Math[_0x23e23b(0x168)](_0x586c02*_0x523eb1),_0x4189ed-=_0x586c02),_0x1d0910>0x0&&(_0x171dce['top']+=Math[_0x23e23b(0x168)](_0x1d0910*_0x523eb1),_0x3915eb-=_0x1d0910),_0x5c66c4>0x0&&(_0x4189ed-=_0x5c66c4),_0x5aad14>0x0&&(_0x3915eb-=_0x5aad14)),_0x4189ed=Math[_0x23e23b(0x168)](_0x4189ed*_0x523eb1),_0x3915eb=Math[_0x23e23b(0x168)](_0x3915eb*_0x523eb1),this['oRequest'][_0x23e23b(0xdf)](_0x171dce[_0x23e23b(0x11d)],_0x171dce['top'],_0x4189ed,_0x3915eb),(_0x546fb0&&_0x105119===_0x23e23b(0x187)||!_0x2af221['isWindows']())&&(_0x3550a5&&_0x3550a5[_0x23e23b(0x109)]?this[_0x23e23b(0xf5)]=-0x1:(this['iFixedResizeTimer']>-0x1&&(clearTimeout(this[_0x23e23b(0xf5)]),this[_0x23e23b(0xf5)]=-0x1),this[_0x23e23b(0xf5)]=setTimeout(()=>_0x597489[_0x23e23b(0x169)](_0x570a12,_0x1ec995,{'bFixed':!![]}),0x12c)));}}},{'key':_0x116b8d(0x11e),'value':function(_0x125591){var _0x214dbc=_0x116b8d;return this[_0x214dbc(0xe6)][_0x214dbc(0x101)](_0x125591);}},{'key':'SetPageNum','value':function(_0x1a9e15){var _0x3c544a=_0x116b8d;return this[_0x3c544a(0xe6)][_0x3c544a(0xf3)](_0x1a9e15);}},{'key':_0x116b8d(0xfe),'value':function(_0x319630){var _0x2f6e63=_0x116b8d;return this['oRequest'][_0x2f6e63(0xce)](_0x319630);}},{'key':_0x116b8d(0x1c0),'value':function(){var _0x488b14=_0x116b8d;return this[_0x488b14(0xe6)][_0x488b14(0xcc)]();}},{'key':_0x116b8d(0xdd),'value':function(){var _0xd9f55d=_0x116b8d;return this[_0xd9f55d(0xe6)][_0xd9f55d(0x100)]();}},{'key':'ExitFullScreen','value':function(){var _0x1099ba=_0x116b8d;return this['oRequest'][_0x1099ba(0x18b)]();}},{'key':_0x116b8d(0x167),'value':function(_0x4bc3fe){var _0x4ade5f=_0x116b8d;return this[_0x4ade5f(0xe6)][_0x4ade5f(0x1c4)](_0x4bc3fe);}},{'key':_0x116b8d(0x18d),'value':function(_0x13e751,_0x51fc33){var _0x274c41=_0x116b8d;return this['oRequest'][_0x274c41(0x191)](_0x13e751,_0x51fc33);}},{'key':_0x116b8d(0xfd),'value':function(){var _0x4f6daa=_0x116b8d;return this[_0x4f6daa(0xe6)][_0x4f6daa(0xe0)][_0x4f6daa(0xd9)](this['oRequest'],arguments);}},{'key':'StopPreview','value':function(_0x1ba474){var _0x372b78=_0x116b8d;return this[_0x372b78(0xe6)][_0x372b78(0x107)](_0x1ba474);}},{'key':_0x116b8d(0xd4),'value':function(_0x3b45a0){var _0x385c28=_0x116b8d;return this[_0x385c28(0xe6)]['startTalk'](_0x3b45a0);}},{'key':'StopTalk','value':function(_0x1352b8){var _0x3efcf2=_0x116b8d;return this[_0x3efcf2(0xe6)][_0x3efcf2(0xff)](_0x1352b8);}},{'key':_0x116b8d(0xd1),'value':function(){var _0x22932f=_0x116b8d;return this[_0x22932f(0xe6)][_0x22932f(0x10c)][_0x22932f(0xd9)](this[_0x22932f(0xe6)],arguments);}},{'key':_0x116b8d(0x1ac),'value':function(_0x39e082){var _0x4f5b32=_0x116b8d;return this['oRequest'][_0x4f5b32(0x176)](_0x39e082);}},{'key':_0x116b8d(0xea),'value':function(_0x31c34c){var _0x1bb58f=_0x116b8d;return this[_0x1bb58f(0xe6)][_0x1bb58f(0xef)](_0x31c34c);}},{'key':_0x116b8d(0xc9),'value':function(_0x12cee1){var _0x5cb170=_0x116b8d;return this[_0x5cb170(0xe6)][_0x5cb170(0x197)](_0x12cee1);}},{'key':_0x116b8d(0x199),'value':function(){var _0x3fa4c7=_0x116b8d;return this[_0x3fa4c7(0xe6)][_0x3fa4c7(0x14e)]();}},{'key':'SetVolume','value':function(_0x5e3b38,_0x31c599){var _0x15a31d=_0x116b8d;return this[_0x15a31d(0xe6)][_0x15a31d(0x130)](_0x5e3b38,_0x31c599);}},{'key':_0x116b8d(0xd0),'value':function(_0x5bcef8,_0x7b25af,_0x18cc13){var _0x21bdfb=_0x116b8d;return this[_0x21bdfb(0xe6)]['setPlaybackSpeed'](_0x5bcef8,_0x7b25af,_0x18cc13);}},{'key':_0x116b8d(0x115),'value':function(_0x1f6d95,_0x1d5f98,_0x4aa9aa,_0x345212){var _0x17e12c=_0x116b8d;return this[_0x17e12c(0xe6)]['loginTUMS'](_0x1f6d95,_0x1d5f98,_0x4aa9aa,_0x345212);}},{'key':_0x116b8d(0x193),'value':function(){var _0x45990e=_0x116b8d;return this[_0x45990e(0xe6)]['logoutTUMS']();}},{'key':_0x116b8d(0x1aa),'value':function(_0x3a8d23){var _0x4681b7=_0x116b8d;return this[_0x4681b7(0xe6)][_0x4681b7(0x10d)](_0x3a8d23);}}],[{'key':_0x116b8d(0x1a6),'value':function(_0xd2aa41){var _0x3bb1aa=_0x116b8d,_0x200105=window[_0x3bb1aa(0x198)](_0xd2aa41,_0x3bb1aa(0x19e));_0x200105?setTimeout(()=>{var _0x9d4c61=_0x3bb1aa;_0x200105[_0x9d4c61(0x1b8)]();},0xbb8):console[_0x3bb1aa(0x1ae)](_0x3bb1aa(0x179),_0xd2aa41);}}]),_0x2ddbe1;}());return _0x1125c1[_0x4409db(0x185)]=_0x4409db(0x159),_0x1125c1;}());function _0x1b20(){var _0x4b3e43=['oOptions','timestamp','assign','prototype','setVolume','isWindows','oSerialCallback','bDevTool','devicePixelRatio','fVisibilityChange','1809922MHfLdT','MacIntel','visibilitychange','oDocOffset','exec','test','22AsluPu','bNormalClose','innerWidth','init','getRandomValues','writable','bind','errorCode','getRequestUUID','cbUnsetDocTitle','detectPort','window.cutWindow','removeEventListener','outerHeight','system.login','logoutTUMS','bInit','5394870QyYmTl','stopAllPlay','iUpdateParentWndTimer','value','https:','szWndId','Windows','showWnd','cmd','szTitle','title','random','1.0.0','screen','window.updateParentWindow','play.startPreview','Win32','bFocus','cbSetDocTitle','toString','WebSocket','window.showWindowToolbar','play.startPlayback','/ws?update=','symbol','iServicePortStart','SetCustomLayout','round','Resize','screenLeft','innerHeight','Win64','getElementById','oWebSocket','server_type','TPWebControlPort_','top','window.showFullScreen','error_code','iServerType','outerWidth','pausePlayback','browser','unshift','Failed\x20to\x20open\x20new\x20window\x20for:','getCreateWndMode','getDevicePixelRatio','1414794oXFlkz','cuttingPartWindow','location','window.createWnd','destroyWnd','blur','cbConnectError','uuid','isMacOS','version','parseCmd','11.0','Cannot\x20call\x20a\x20class\x20as\x20a\x20function','Windows\x20NT\x2010.0','focus','exitFullScreen','defaultView','InitAuthInfo','getTime','startTalk','iCreateWndTimer','initAuthInfo','oUIControlCallback','LogoutTUMS','sendRequest','CuttingPartWindow','oWindowControlCallback','stopPlayback','open','StopAllPlay','iterator','pageXOffset','indexOf','window.setWindowPage','_blank','window.setWindowGeometry','getComputedStyle','key','1vBBoUn','toLowerCase','function','undefined','WakeUpPlugin','getBoundingClientRect','iServicePortEnd','chrome','SetStoragePath','data','PausePlayback','10.0','error','fHideWnd','szPluginContainer','system.logout','HideWnd','then','userAgent','play.pausePlayback','iPort','ws://127.0.0.1:','close','bEmbed','getItem','send','window.repairWindow','stringify','readyState','onopen','HideWndToolbar','substr','getWndPostion','Chrome','setCustomLayout','resolve','StopPlayback','constructor','defineProperty','hideWndToolbar','play.stopPlay','showWndToolbar','bFreeze','SetPlaybackSpeed','StartPlayback','onclose','szUUID','StartTalk','compatible','system.setStoragePath','3317305oQBhEL','configurable','apply','screenY','cbConnectSuccess','protocol','ShowFullScreen','document','setWndGeometry','startPreview','oWndCover','oCallbacks','loginTUMS','hidden','cbConnectClose','oRequest','addEventListener','unknown','repairPartWindow','ResumePlayback','push','Stringified\x20UUID\x20is\x20invalid','oWindowAttr','iVCTimeEnd','resumePlayback','toUpperCase','13272uwRHyZ','createWnd','setPageNum','string','iFixedResizeTimer','window.destoryWindow','edge','screenTop','replace','length','szVersion','split','StartPreview','ShowWndToolbar','stopTalk','showFullScreen','setWndPage','concat','window.showWindow','reject','enumerable','Win','stopPreview','hideWnd','bFixed','success','border-top-width','startPlayback','setStoragePath','system.connect','oRequestList','4805380vfwTOT','fFocus','CreateWnd','deviceXDPI','platform','LoginTUMS','height','3618cRCjkX','screenX','window.hideWindowToolbar','792484zivWub','mozilla','iVCTimeStart','left','SetWndPage','forEach','fBlur','fShowWnd','logicalXDPI','safari','\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000','onerror','msie','bActiveXParentWnd','crypto.getRandomValues()\x20not\x20supported.\x20See\x20https://github.com/uuidjs/uuid#getrandomvalues-not-supported','6dygELU','system.initAuthInfo','trident'];_0x1b20=function(){return _0x4b3e43;};return _0x1b20();}
package/dist/lib/core.js CHANGED
@@ -391,6 +391,22 @@ const modules = {
391
391
  'obj': null,
392
392
  'loading': false,
393
393
  'resolve': []
394
+ },
395
+ 'tplink': {
396
+ func: function () {
397
+ return __awaiter(this, void 0, void 0, function* () {
398
+ yield loader.loadScripts([
399
+ __dirname + '/../ext/tplinkhd.min.js'
400
+ ]);
401
+ if (!window.HDPluginControl) {
402
+ throw Error('Tplink load failed.');
403
+ }
404
+ return window.HDPluginControl;
405
+ });
406
+ },
407
+ 'obj': null,
408
+ 'loading': false,
409
+ 'resolve': [],
394
410
  }
395
411
  };
396
412
  function regModule(name, func) {
package/dist/lib/core.ts CHANGED
@@ -433,6 +433,20 @@ const modules: Record<string, {
433
433
  'obj': null,
434
434
  'loading': false,
435
435
  'resolve': []
436
+ },
437
+ 'tplink': {
438
+ func: async function() {
439
+ await loader.loadScripts([
440
+ __dirname + '/../ext/tplinkhd.min.js'
441
+ ]);
442
+ if (!(window as any).HDPluginControl) {
443
+ throw Error('Tplink load failed.');
444
+ }
445
+ return (window as any).HDPluginControl;
446
+ },
447
+ 'obj': null,
448
+ 'loading': false,
449
+ 'resolve': [],
436
450
  }
437
451
  };
438
452
 
package/dist/lib/fs.js CHANGED
@@ -65,7 +65,7 @@ const task = __importStar(require("./task"));
65
65
  const form = __importStar(require("./form"));
66
66
  const core = __importStar(require("./core"));
67
67
  const native = __importStar(require("./native"));
68
- const clickgoFiles = ['/app/', '/app/demo/', '/app/demo/app.js', '/app/demo/config.json', '/app/demo/form/', '/app/demo/form/control/', '/app/demo/form/control/alayout2/', '/app/demo/form/control/alayout2/alayout2.js', '/app/demo/form/control/alayout2/alayout2.xml', '/app/demo/form/control/alert/', '/app/demo/form/control/alert/alert.js', '/app/demo/form/control/alert/alert.xml', '/app/demo/form/control/arteditor/', '/app/demo/form/control/arteditor/arteditor.js', '/app/demo/form/control/arteditor/arteditor.xml', '/app/demo/form/control/arteditor/img.js', '/app/demo/form/control/arteditor/img.xml', '/app/demo/form/control/block/', '/app/demo/form/control/block/block.css', '/app/demo/form/control/block/block.xml', '/app/demo/form/control/box/', '/app/demo/form/control/box/box.js', '/app/demo/form/control/box/box.xml', '/app/demo/form/control/button/', '/app/demo/form/control/button/button.css', '/app/demo/form/control/button/button.js', '/app/demo/form/control/button/button.xml', '/app/demo/form/control/check/', '/app/demo/form/control/check/check.js', '/app/demo/form/control/check/check.xml', '/app/demo/form/control/circle/', '/app/demo/form/control/circle/circle.xml', '/app/demo/form/control/content/', '/app/demo/form/control/content/content.js', '/app/demo/form/control/content/content.xml', '/app/demo/form/control/date/', '/app/demo/form/control/date/date.js', '/app/demo/form/control/date/date.xml', '/app/demo/form/control/datepanel/', '/app/demo/form/control/datepanel/datepanel.js', '/app/demo/form/control/datepanel/datepanel.xml', '/app/demo/form/control/daterange/', '/app/demo/form/control/daterange/daterange.js', '/app/demo/form/control/daterange/daterange.xml', '/app/demo/form/control/delete/', '/app/demo/form/control/delete/delete.js', '/app/demo/form/control/delete/delete.xml', '/app/demo/form/control/desc/', '/app/demo/form/control/desc/desc.js', '/app/demo/form/control/desc/desc.xml', '/app/demo/form/control/dialog/', '/app/demo/form/control/dialog/dialog.js', '/app/demo/form/control/dialog/dialog.xml', '/app/demo/form/control/drawer/', '/app/demo/form/control/drawer/drawer.js', '/app/demo/form/control/drawer/drawer.xml', '/app/demo/form/control/echarts/', '/app/demo/form/control/echarts/echarts.js', '/app/demo/form/control/echarts/echarts.xml', '/app/demo/form/control/empty/', '/app/demo/form/control/empty/empty.js', '/app/demo/form/control/empty/empty.xml', '/app/demo/form/control/file/', '/app/demo/form/control/file/file.js', '/app/demo/form/control/file/file.xml', '/app/demo/form/control/flow/', '/app/demo/form/control/flow/flow.css', '/app/demo/form/control/flow/flow.js', '/app/demo/form/control/flow/flow.xml', '/app/demo/form/control/form/', '/app/demo/form/control/form/form.css', '/app/demo/form/control/form/form.js', '/app/demo/form/control/form/form.xml', '/app/demo/form/control/grid/', '/app/demo/form/control/grid/grid.js', '/app/demo/form/control/grid/grid.xml', '/app/demo/form/control/group/', '/app/demo/form/control/group/group.js', '/app/demo/form/control/group/group.xml', '/app/demo/form/control/hske/', '/app/demo/form/control/hske/hske.js', '/app/demo/form/control/hske/hske.xml', '/app/demo/form/control/html/', '/app/demo/form/control/html/html.js', '/app/demo/form/control/html/html.xml', '/app/demo/form/control/icon/', '/app/demo/form/control/icon/icon.xml', '/app/demo/form/control/iconview/', '/app/demo/form/control/iconview/iconview.js', '/app/demo/form/control/iconview/iconview.xml', '/app/demo/form/control/img/', '/app/demo/form/control/img/img.xml', '/app/demo/form/control/imgviewer/', '/app/demo/form/control/imgviewer/imgviewer.js', '/app/demo/form/control/imgviewer/imgviewer.xml', '/app/demo/form/control/jodit/', '/app/demo/form/control/jodit/jodit.js', '/app/demo/form/control/jodit/jodit.xml', '/app/demo/form/control/label/', '/app/demo/form/control/label/label.js', '/app/demo/form/control/label/label.xml', '/app/demo/form/control/layout/', '/app/demo/form/control/layout/layout.js', '/app/demo/form/control/layout/layout.xml', '/app/demo/form/control/link/', '/app/demo/form/control/link/link.js', '/app/demo/form/control/link/link.xml', '/app/demo/form/control/list/', '/app/demo/form/control/list/list.css', '/app/demo/form/control/list/list.js', '/app/demo/form/control/list/list.xml', '/app/demo/form/control/loading/', '/app/demo/form/control/loading/loading.xml', '/app/demo/form/control/map/', '/app/demo/form/control/map/map.js', '/app/demo/form/control/map/map.xml', '/app/demo/form/control/marquee/', '/app/demo/form/control/marquee/marquee.js', '/app/demo/form/control/marquee/marquee.xml', '/app/demo/form/control/menu/', '/app/demo/form/control/menu/menu.js', '/app/demo/form/control/menu/menu.xml', '/app/demo/form/control/monaco/', '/app/demo/form/control/monaco/monaco.js', '/app/demo/form/control/monaco/monaco.xml', '/app/demo/form/control/mpegts/', '/app/demo/form/control/mpegts/mpegts.js', '/app/demo/form/control/mpegts/mpegts.xml', '/app/demo/form/control/nav/', '/app/demo/form/control/nav/nav.js', '/app/demo/form/control/nav/nav.xml', '/app/demo/form/control/page/', '/app/demo/form/control/page/page.js', '/app/demo/form/control/page/page.xml', '/app/demo/form/control/palette/', '/app/demo/form/control/palette/palette.js', '/app/demo/form/control/palette/palette.xml', '/app/demo/form/control/panel/', '/app/demo/form/control/panel/panel.js', '/app/demo/form/control/panel/panel.xml', '/app/demo/form/control/panel/test1.js', '/app/demo/form/control/panel/test1.xml', '/app/demo/form/control/panel/test2.xml', '/app/demo/form/control/pdf/', '/app/demo/form/control/pdf/pdf.js', '/app/demo/form/control/pdf/pdf.xml', '/app/demo/form/control/pdf/test.pdf', '/app/demo/form/control/progress/', '/app/demo/form/control/progress/progress.js', '/app/demo/form/control/progress/progress.xml', '/app/demo/form/control/property/', '/app/demo/form/control/property/property.js', '/app/demo/form/control/property/property.xml', '/app/demo/form/control/qrcode/', '/app/demo/form/control/qrcode/qrcode.js', '/app/demo/form/control/qrcode/qrcode.xml', '/app/demo/form/control/radio/', '/app/demo/form/control/radio/radio.js', '/app/demo/form/control/radio/radio.xml', '/app/demo/form/control/scroll/', '/app/demo/form/control/scroll/scroll.js', '/app/demo/form/control/scroll/scroll.xml', '/app/demo/form/control/select/', '/app/demo/form/control/select/select.js', '/app/demo/form/control/select/select.xml', '/app/demo/form/control/setting/', '/app/demo/form/control/setting/setting.xml', '/app/demo/form/control/sgroup/', '/app/demo/form/control/sgroup/sgroup.xml', '/app/demo/form/control/step/', '/app/demo/form/control/step/step.js', '/app/demo/form/control/step/step.xml', '/app/demo/form/control/svg/', '/app/demo/form/control/svg/svg.js', '/app/demo/form/control/svg/svg.xml', '/app/demo/form/control/switch/', '/app/demo/form/control/switch/switch.js', '/app/demo/form/control/switch/switch.xml', '/app/demo/form/control/tab/', '/app/demo/form/control/tab/tab.js', '/app/demo/form/control/tab/tab.xml', '/app/demo/form/control/table/', '/app/demo/form/control/table/table.js', '/app/demo/form/control/table/table.xml', '/app/demo/form/control/tag/', '/app/demo/form/control/tag/tag.js', '/app/demo/form/control/tag/tag.xml', '/app/demo/form/control/text/', '/app/demo/form/control/text/text.js', '/app/demo/form/control/text/text.xml', '/app/demo/form/control/timeline/', '/app/demo/form/control/timeline/timeline.js', '/app/demo/form/control/timeline/timeline.xml', '/app/demo/form/control/tip/', '/app/demo/form/control/tip/tip.js', '/app/demo/form/control/tip/tip.xml', '/app/demo/form/control/tuieditor/', '/app/demo/form/control/tuieditor/tuieditor.js', '/app/demo/form/control/tuieditor/tuieditor.xml', '/app/demo/form/control/tuiviewer/', '/app/demo/form/control/tuiviewer/tuiviewer.js', '/app/demo/form/control/tuiviewer/tuiviewer.xml', '/app/demo/form/control/uploader/', '/app/demo/form/control/uploader/uploader.js', '/app/demo/form/control/uploader/uploader.xml', '/app/demo/form/control/vflow/', '/app/demo/form/control/vflow/vflow.css', '/app/demo/form/control/vflow/vflow.js', '/app/demo/form/control/vflow/vflow.xml', '/app/demo/form/control/video/', '/app/demo/form/control/video/video.js', '/app/demo/form/control/video/video.xml', '/app/demo/form/control/web/', '/app/demo/form/control/web/web.js', '/app/demo/form/control/web/web.xml', '/app/demo/form/control/xterm/', '/app/demo/form/control/xterm/xterm.js', '/app/demo/form/control/xterm/xterm.xml', '/app/demo/form/event/', '/app/demo/form/event/form/', '/app/demo/form/event/form/form.css', '/app/demo/form/event/form/form.js', '/app/demo/form/event/form/form.xml', '/app/demo/form/event/other/', '/app/demo/form/event/other/other.js', '/app/demo/form/event/other/other.xml', '/app/demo/form/event/screen/', '/app/demo/form/event/screen/screen.js', '/app/demo/form/event/screen/screen.xml', '/app/demo/form/event/task/', '/app/demo/form/event/task/task.js', '/app/demo/form/event/task/task.xml', '/app/demo/form/main.css', '/app/demo/form/main.js', '/app/demo/form/main.xml', '/app/demo/form/method/', '/app/demo/form/method/acontrol/', '/app/demo/form/method/acontrol/acontrol.js', '/app/demo/form/method/acontrol/acontrol.xml', '/app/demo/form/method/aform/', '/app/demo/form/method/aform/aform.js', '/app/demo/form/method/aform/aform.xml', '/app/demo/form/method/aform/sd.js', '/app/demo/form/method/aform/sd.xml', '/app/demo/form/method/core/', '/app/demo/form/method/core/core.js', '/app/demo/form/method/core/core.xml', '/app/demo/form/method/dom/', '/app/demo/form/method/dom/dom.css', '/app/demo/form/method/dom/dom.js', '/app/demo/form/method/dom/dom.xml', '/app/demo/form/method/form/', '/app/demo/form/method/form/form.js', '/app/demo/form/method/form/form.xml', '/app/demo/form/method/form/test.xml', '/app/demo/form/method/fs/', '/app/demo/form/method/fs/fs.js', '/app/demo/form/method/fs/fs.xml', '/app/demo/form/method/fs/text.js', '/app/demo/form/method/fs/text.xml', '/app/demo/form/method/native/', '/app/demo/form/method/native/native.js', '/app/demo/form/method/native/native.xml', '/app/demo/form/method/storage/', '/app/demo/form/method/storage/storage.js', '/app/demo/form/method/storage/storage.xml', '/app/demo/form/method/system/', '/app/demo/form/method/system/system.js', '/app/demo/form/method/system/system.xml', '/app/demo/form/method/task/', '/app/demo/form/method/task/locale1.json', '/app/demo/form/method/task/locale2.json', '/app/demo/form/method/task/task.js', '/app/demo/form/method/task/task.xml', '/app/demo/form/method/theme/', '/app/demo/form/method/theme/theme.js', '/app/demo/form/method/theme/theme.xml', '/app/demo/form/method/tool/', '/app/demo/form/method/tool/tool.js', '/app/demo/form/method/tool/tool.xml', '/app/demo/form/method/zip/', '/app/demo/form/method/zip/zip.js', '/app/demo/form/method/zip/zip.xml', '/app/demo/form/solution/', '/app/demo/form/solution/backpanel/', '/app/demo/form/solution/backpanel/backpanel.js', '/app/demo/form/solution/backpanel/backpanel.xml', '/app/demo/global.css', '/app/demo/res/', '/app/demo/res/custombtn.cgc', '/app/demo/res/icon.svg', '/app/demo/res/img.jpg', '/app/demo/res/marker.svg', '/app/demo/res/r-1.svg', '/app/demo/res/r-2.svg', '/app/demo/res/sql.svg', '/app/demo/res/txt.svg', '/app/demo/res/video.mp4', '/app/demo/res/zip.svg', '/app/task/', '/app/task/app.js', '/app/task/config.json', '/app/task/form/', '/app/task/form/bar/', '/app/task/form/bar/bar.js', '/app/task/form/bar/bar.xml', '/app/task/form/desktop/', '/app/task/form/desktop/desktop.xml', '/app/task/locale/', '/app/task/locale/en.json', '/app/task/locale/ja.json', '/app/task/locale/sc.json', '/app/task/locale/tc.json', '/clickgo.js', '/clickgo.ts', '/control/', '/control/arteditor.cgc', '/control/box.cgc', '/control/common.cgc', '/control/desc.cgc', '/control/drawer.cgc', '/control/echarts.cgc', '/control/form.cgc', '/control/iconview.cgc', '/control/jodit.cgc', '/control/map.cgc', '/control/monaco.cgc', '/control/mpegts.cgc', '/control/nav.cgc', '/control/page.cgc', '/control/pdf.cgc', '/control/property.cgc', '/control/qrcode.cgc', '/control/table.cgc', '/control/task.cgc', '/control/tuieditor.cgc', '/control/tuiviewer.cgc', '/control/web.cgc', '/control/xterm.cgc', '/ext/', '/ext/toastui-editor-all.min.js', '/global.css', '/icon.png', '/index.js', '/index.ts', '/lib/', '/lib/control.js', '/lib/control.ts', '/lib/core.js', '/lib/core.ts', '/lib/dom.js', '/lib/dom.ts', '/lib/form.js', '/lib/form.ts', '/lib/fs.js', '/lib/fs.ts', '/lib/native.js', '/lib/native.ts', '/lib/storage.js', '/lib/storage.ts', '/lib/task.js', '/lib/task.ts', '/lib/theme.js', '/lib/theme.ts', '/lib/tool.js', '/lib/tool.ts', '/lib/zip.js', '/lib/zip.ts', '/theme/', '/theme/blue.cgt', '/theme/byterun.cgt', '/theme/light.cgt'];
68
+ const clickgoFiles = ['/app/', '/app/demo/', '/app/demo/app.js', '/app/demo/config.json', '/app/demo/form/', '/app/demo/form/control/', '/app/demo/form/control/alayout2/', '/app/demo/form/control/alayout2/alayout2.js', '/app/demo/form/control/alayout2/alayout2.xml', '/app/demo/form/control/alert/', '/app/demo/form/control/alert/alert.js', '/app/demo/form/control/alert/alert.xml', '/app/demo/form/control/arteditor/', '/app/demo/form/control/arteditor/arteditor.js', '/app/demo/form/control/arteditor/arteditor.xml', '/app/demo/form/control/arteditor/img.js', '/app/demo/form/control/arteditor/img.xml', '/app/demo/form/control/block/', '/app/demo/form/control/block/block.css', '/app/demo/form/control/block/block.xml', '/app/demo/form/control/box/', '/app/demo/form/control/box/box.js', '/app/demo/form/control/box/box.xml', '/app/demo/form/control/button/', '/app/demo/form/control/button/button.css', '/app/demo/form/control/button/button.js', '/app/demo/form/control/button/button.xml', '/app/demo/form/control/check/', '/app/demo/form/control/check/check.js', '/app/demo/form/control/check/check.xml', '/app/demo/form/control/circle/', '/app/demo/form/control/circle/circle.xml', '/app/demo/form/control/content/', '/app/demo/form/control/content/content.js', '/app/demo/form/control/content/content.xml', '/app/demo/form/control/date/', '/app/demo/form/control/date/date.js', '/app/demo/form/control/date/date.xml', '/app/demo/form/control/datepanel/', '/app/demo/form/control/datepanel/datepanel.js', '/app/demo/form/control/datepanel/datepanel.xml', '/app/demo/form/control/daterange/', '/app/demo/form/control/daterange/daterange.js', '/app/demo/form/control/daterange/daterange.xml', '/app/demo/form/control/delete/', '/app/demo/form/control/delete/delete.js', '/app/demo/form/control/delete/delete.xml', '/app/demo/form/control/desc/', '/app/demo/form/control/desc/desc.js', '/app/demo/form/control/desc/desc.xml', '/app/demo/form/control/dialog/', '/app/demo/form/control/dialog/dialog.js', '/app/demo/form/control/dialog/dialog.xml', '/app/demo/form/control/drawer/', '/app/demo/form/control/drawer/drawer.js', '/app/demo/form/control/drawer/drawer.xml', '/app/demo/form/control/echarts/', '/app/demo/form/control/echarts/echarts.js', '/app/demo/form/control/echarts/echarts.xml', '/app/demo/form/control/empty/', '/app/demo/form/control/empty/empty.js', '/app/demo/form/control/empty/empty.xml', '/app/demo/form/control/file/', '/app/demo/form/control/file/file.js', '/app/demo/form/control/file/file.xml', '/app/demo/form/control/flow/', '/app/demo/form/control/flow/flow.css', '/app/demo/form/control/flow/flow.js', '/app/demo/form/control/flow/flow.xml', '/app/demo/form/control/form/', '/app/demo/form/control/form/form.css', '/app/demo/form/control/form/form.js', '/app/demo/form/control/form/form.xml', '/app/demo/form/control/grid/', '/app/demo/form/control/grid/grid.js', '/app/demo/form/control/grid/grid.xml', '/app/demo/form/control/group/', '/app/demo/form/control/group/group.js', '/app/demo/form/control/group/group.xml', '/app/demo/form/control/hske/', '/app/demo/form/control/hske/hske.js', '/app/demo/form/control/hske/hske.xml', '/app/demo/form/control/html/', '/app/demo/form/control/html/html.js', '/app/demo/form/control/html/html.xml', '/app/demo/form/control/icon/', '/app/demo/form/control/icon/icon.xml', '/app/demo/form/control/iconview/', '/app/demo/form/control/iconview/iconview.js', '/app/demo/form/control/iconview/iconview.xml', '/app/demo/form/control/img/', '/app/demo/form/control/img/img.xml', '/app/demo/form/control/imgviewer/', '/app/demo/form/control/imgviewer/imgviewer.js', '/app/demo/form/control/imgviewer/imgviewer.xml', '/app/demo/form/control/jodit/', '/app/demo/form/control/jodit/jodit.js', '/app/demo/form/control/jodit/jodit.xml', '/app/demo/form/control/label/', '/app/demo/form/control/label/label.js', '/app/demo/form/control/label/label.xml', '/app/demo/form/control/layout/', '/app/demo/form/control/layout/layout.js', '/app/demo/form/control/layout/layout.xml', '/app/demo/form/control/link/', '/app/demo/form/control/link/link.js', '/app/demo/form/control/link/link.xml', '/app/demo/form/control/list/', '/app/demo/form/control/list/list.css', '/app/demo/form/control/list/list.js', '/app/demo/form/control/list/list.xml', '/app/demo/form/control/loading/', '/app/demo/form/control/loading/loading.xml', '/app/demo/form/control/map/', '/app/demo/form/control/map/map.js', '/app/demo/form/control/map/map.xml', '/app/demo/form/control/marquee/', '/app/demo/form/control/marquee/marquee.js', '/app/demo/form/control/marquee/marquee.xml', '/app/demo/form/control/menu/', '/app/demo/form/control/menu/menu.js', '/app/demo/form/control/menu/menu.xml', '/app/demo/form/control/monaco/', '/app/demo/form/control/monaco/monaco.js', '/app/demo/form/control/monaco/monaco.xml', '/app/demo/form/control/mpegts/', '/app/demo/form/control/mpegts/mpegts.js', '/app/demo/form/control/mpegts/mpegts.xml', '/app/demo/form/control/nav/', '/app/demo/form/control/nav/nav.js', '/app/demo/form/control/nav/nav.xml', '/app/demo/form/control/page/', '/app/demo/form/control/page/page.js', '/app/demo/form/control/page/page.xml', '/app/demo/form/control/palette/', '/app/demo/form/control/palette/palette.js', '/app/demo/form/control/palette/palette.xml', '/app/demo/form/control/panel/', '/app/demo/form/control/panel/panel.js', '/app/demo/form/control/panel/panel.xml', '/app/demo/form/control/panel/test1.js', '/app/demo/form/control/panel/test1.xml', '/app/demo/form/control/panel/test2.xml', '/app/demo/form/control/pdf/', '/app/demo/form/control/pdf/pdf.js', '/app/demo/form/control/pdf/pdf.xml', '/app/demo/form/control/pdf/test.pdf', '/app/demo/form/control/progress/', '/app/demo/form/control/progress/progress.js', '/app/demo/form/control/progress/progress.xml', '/app/demo/form/control/property/', '/app/demo/form/control/property/property.js', '/app/demo/form/control/property/property.xml', '/app/demo/form/control/qrcode/', '/app/demo/form/control/qrcode/qrcode.js', '/app/demo/form/control/qrcode/qrcode.xml', '/app/demo/form/control/radio/', '/app/demo/form/control/radio/radio.js', '/app/demo/form/control/radio/radio.xml', '/app/demo/form/control/scroll/', '/app/demo/form/control/scroll/scroll.js', '/app/demo/form/control/scroll/scroll.xml', '/app/demo/form/control/select/', '/app/demo/form/control/select/select.js', '/app/demo/form/control/select/select.xml', '/app/demo/form/control/setting/', '/app/demo/form/control/setting/setting.xml', '/app/demo/form/control/sgroup/', '/app/demo/form/control/sgroup/sgroup.xml', '/app/demo/form/control/step/', '/app/demo/form/control/step/step.js', '/app/demo/form/control/step/step.xml', '/app/demo/form/control/svg/', '/app/demo/form/control/svg/svg.js', '/app/demo/form/control/svg/svg.xml', '/app/demo/form/control/switch/', '/app/demo/form/control/switch/switch.js', '/app/demo/form/control/switch/switch.xml', '/app/demo/form/control/tab/', '/app/demo/form/control/tab/tab.js', '/app/demo/form/control/tab/tab.xml', '/app/demo/form/control/table/', '/app/demo/form/control/table/table.js', '/app/demo/form/control/table/table.xml', '/app/demo/form/control/tag/', '/app/demo/form/control/tag/tag.js', '/app/demo/form/control/tag/tag.xml', '/app/demo/form/control/text/', '/app/demo/form/control/text/text.js', '/app/demo/form/control/text/text.xml', '/app/demo/form/control/timeline/', '/app/demo/form/control/timeline/timeline.js', '/app/demo/form/control/timeline/timeline.xml', '/app/demo/form/control/tip/', '/app/demo/form/control/tip/tip.js', '/app/demo/form/control/tip/tip.xml', '/app/demo/form/control/tplink/', '/app/demo/form/control/tplink/tplink.js', '/app/demo/form/control/tplink/tplink.xml', '/app/demo/form/control/tuieditor/', '/app/demo/form/control/tuieditor/tuieditor.js', '/app/demo/form/control/tuieditor/tuieditor.xml', '/app/demo/form/control/tuiviewer/', '/app/demo/form/control/tuiviewer/tuiviewer.js', '/app/demo/form/control/tuiviewer/tuiviewer.xml', '/app/demo/form/control/uploader/', '/app/demo/form/control/uploader/uploader.js', '/app/demo/form/control/uploader/uploader.xml', '/app/demo/form/control/vflow/', '/app/demo/form/control/vflow/vflow.css', '/app/demo/form/control/vflow/vflow.js', '/app/demo/form/control/vflow/vflow.xml', '/app/demo/form/control/video/', '/app/demo/form/control/video/video.js', '/app/demo/form/control/video/video.xml', '/app/demo/form/control/web/', '/app/demo/form/control/web/web.js', '/app/demo/form/control/web/web.xml', '/app/demo/form/control/xterm/', '/app/demo/form/control/xterm/xterm.js', '/app/demo/form/control/xterm/xterm.xml', '/app/demo/form/event/', '/app/demo/form/event/form/', '/app/demo/form/event/form/form.css', '/app/demo/form/event/form/form.js', '/app/demo/form/event/form/form.xml', '/app/demo/form/event/other/', '/app/demo/form/event/other/other.js', '/app/demo/form/event/other/other.xml', '/app/demo/form/event/screen/', '/app/demo/form/event/screen/screen.js', '/app/demo/form/event/screen/screen.xml', '/app/demo/form/event/task/', '/app/demo/form/event/task/task.js', '/app/demo/form/event/task/task.xml', '/app/demo/form/main.css', '/app/demo/form/main.js', '/app/demo/form/main.xml', '/app/demo/form/method/', '/app/demo/form/method/acontrol/', '/app/demo/form/method/acontrol/acontrol.js', '/app/demo/form/method/acontrol/acontrol.xml', '/app/demo/form/method/aform/', '/app/demo/form/method/aform/aform.js', '/app/demo/form/method/aform/aform.xml', '/app/demo/form/method/aform/sd.js', '/app/demo/form/method/aform/sd.xml', '/app/demo/form/method/core/', '/app/demo/form/method/core/core.js', '/app/demo/form/method/core/core.xml', '/app/demo/form/method/dom/', '/app/demo/form/method/dom/dom.css', '/app/demo/form/method/dom/dom.js', '/app/demo/form/method/dom/dom.xml', '/app/demo/form/method/form/', '/app/demo/form/method/form/form.js', '/app/demo/form/method/form/form.xml', '/app/demo/form/method/form/test.xml', '/app/demo/form/method/fs/', '/app/demo/form/method/fs/fs.js', '/app/demo/form/method/fs/fs.xml', '/app/demo/form/method/fs/text.js', '/app/demo/form/method/fs/text.xml', '/app/demo/form/method/native/', '/app/demo/form/method/native/native.js', '/app/demo/form/method/native/native.xml', '/app/demo/form/method/storage/', '/app/demo/form/method/storage/storage.js', '/app/demo/form/method/storage/storage.xml', '/app/demo/form/method/system/', '/app/demo/form/method/system/system.js', '/app/demo/form/method/system/system.xml', '/app/demo/form/method/task/', '/app/demo/form/method/task/locale1.json', '/app/demo/form/method/task/locale2.json', '/app/demo/form/method/task/task.js', '/app/demo/form/method/task/task.xml', '/app/demo/form/method/theme/', '/app/demo/form/method/theme/theme.js', '/app/demo/form/method/theme/theme.xml', '/app/demo/form/method/tool/', '/app/demo/form/method/tool/tool.js', '/app/demo/form/method/tool/tool.xml', '/app/demo/form/method/zip/', '/app/demo/form/method/zip/zip.js', '/app/demo/form/method/zip/zip.xml', '/app/demo/form/solution/', '/app/demo/form/solution/backpanel/', '/app/demo/form/solution/backpanel/backpanel.js', '/app/demo/form/solution/backpanel/backpanel.xml', '/app/demo/global.css', '/app/demo/res/', '/app/demo/res/custombtn.cgc', '/app/demo/res/icon.svg', '/app/demo/res/img.jpg', '/app/demo/res/marker.svg', '/app/demo/res/r-1.svg', '/app/demo/res/r-2.svg', '/app/demo/res/sql.svg', '/app/demo/res/txt.svg', '/app/demo/res/video.mp4', '/app/demo/res/zip.svg', '/app/task/', '/app/task/app.js', '/app/task/config.json', '/app/task/form/', '/app/task/form/bar/', '/app/task/form/bar/bar.js', '/app/task/form/bar/bar.xml', '/app/task/form/desktop/', '/app/task/form/desktop/desktop.xml', '/app/task/locale/', '/app/task/locale/en.json', '/app/task/locale/ja.json', '/app/task/locale/sc.json', '/app/task/locale/tc.json', '/clickgo.js', '/clickgo.ts', '/control/', '/control/arteditor.cgc', '/control/box.cgc', '/control/common.cgc', '/control/desc.cgc', '/control/drawer.cgc', '/control/echarts.cgc', '/control/form.cgc', '/control/iconview.cgc', '/control/jodit.cgc', '/control/map.cgc', '/control/monaco.cgc', '/control/mpegts.cgc', '/control/nav.cgc', '/control/page.cgc', '/control/pdf.cgc', '/control/property.cgc', '/control/qrcode.cgc', '/control/table.cgc', '/control/task.cgc', '/control/tplink.cgc', '/control/tuieditor.cgc', '/control/tuiviewer.cgc', '/control/web.cgc', '/control/xterm.cgc', '/ext/', '/ext/toastui-editor-all.min.js', '/ext/tplinkhd.min.js', '/global.css', '/icon.png', '/index.js', '/index.ts', '/lib/', '/lib/control.js', '/lib/control.ts', '/lib/core.js', '/lib/core.ts', '/lib/dom.js', '/lib/dom.ts', '/lib/form.js', '/lib/form.ts', '/lib/fs.js', '/lib/fs.ts', '/lib/native.js', '/lib/native.ts', '/lib/storage.js', '/lib/storage.ts', '/lib/task.js', '/lib/task.ts', '/lib/theme.js', '/lib/theme.ts', '/lib/tool.js', '/lib/tool.ts', '/lib/zip.js', '/lib/zip.ts', '/notosans-regular.ttf', '/theme/', '/theme/blue.cgt', '/theme/byterun.cgt', '/theme/light.cgt'];
69
69
  const localeData = {
70
70
  'en': {
71
71
  'apply-unmount': 'Are you sure to unmount the "?" mount point?',
package/dist/lib/fs.ts CHANGED
@@ -12,7 +12,7 @@ import * as form from './form';
12
12
  import * as core from './core';
13
13
  import * as native from './native';
14
14
 
15
- const clickgoFiles = ['/app/', '/app/demo/', '/app/demo/app.js', '/app/demo/config.json', '/app/demo/form/', '/app/demo/form/control/', '/app/demo/form/control/alayout2/', '/app/demo/form/control/alayout2/alayout2.js', '/app/demo/form/control/alayout2/alayout2.xml', '/app/demo/form/control/alert/', '/app/demo/form/control/alert/alert.js', '/app/demo/form/control/alert/alert.xml', '/app/demo/form/control/arteditor/', '/app/demo/form/control/arteditor/arteditor.js', '/app/demo/form/control/arteditor/arteditor.xml', '/app/demo/form/control/arteditor/img.js', '/app/demo/form/control/arteditor/img.xml', '/app/demo/form/control/block/', '/app/demo/form/control/block/block.css', '/app/demo/form/control/block/block.xml', '/app/demo/form/control/box/', '/app/demo/form/control/box/box.js', '/app/demo/form/control/box/box.xml', '/app/demo/form/control/button/', '/app/demo/form/control/button/button.css', '/app/demo/form/control/button/button.js', '/app/demo/form/control/button/button.xml', '/app/demo/form/control/check/', '/app/demo/form/control/check/check.js', '/app/demo/form/control/check/check.xml', '/app/demo/form/control/circle/', '/app/demo/form/control/circle/circle.xml', '/app/demo/form/control/content/', '/app/demo/form/control/content/content.js', '/app/demo/form/control/content/content.xml', '/app/demo/form/control/date/', '/app/demo/form/control/date/date.js', '/app/demo/form/control/date/date.xml', '/app/demo/form/control/datepanel/', '/app/demo/form/control/datepanel/datepanel.js', '/app/demo/form/control/datepanel/datepanel.xml', '/app/demo/form/control/daterange/', '/app/demo/form/control/daterange/daterange.js', '/app/demo/form/control/daterange/daterange.xml', '/app/demo/form/control/delete/', '/app/demo/form/control/delete/delete.js', '/app/demo/form/control/delete/delete.xml', '/app/demo/form/control/desc/', '/app/demo/form/control/desc/desc.js', '/app/demo/form/control/desc/desc.xml', '/app/demo/form/control/dialog/', '/app/demo/form/control/dialog/dialog.js', '/app/demo/form/control/dialog/dialog.xml', '/app/demo/form/control/drawer/', '/app/demo/form/control/drawer/drawer.js', '/app/demo/form/control/drawer/drawer.xml', '/app/demo/form/control/echarts/', '/app/demo/form/control/echarts/echarts.js', '/app/demo/form/control/echarts/echarts.xml', '/app/demo/form/control/empty/', '/app/demo/form/control/empty/empty.js', '/app/demo/form/control/empty/empty.xml', '/app/demo/form/control/file/', '/app/demo/form/control/file/file.js', '/app/demo/form/control/file/file.xml', '/app/demo/form/control/flow/', '/app/demo/form/control/flow/flow.css', '/app/demo/form/control/flow/flow.js', '/app/demo/form/control/flow/flow.xml', '/app/demo/form/control/form/', '/app/demo/form/control/form/form.css', '/app/demo/form/control/form/form.js', '/app/demo/form/control/form/form.xml', '/app/demo/form/control/grid/', '/app/demo/form/control/grid/grid.js', '/app/demo/form/control/grid/grid.xml', '/app/demo/form/control/group/', '/app/demo/form/control/group/group.js', '/app/demo/form/control/group/group.xml', '/app/demo/form/control/hske/', '/app/demo/form/control/hske/hske.js', '/app/demo/form/control/hske/hske.xml', '/app/demo/form/control/html/', '/app/demo/form/control/html/html.js', '/app/demo/form/control/html/html.xml', '/app/demo/form/control/icon/', '/app/demo/form/control/icon/icon.xml', '/app/demo/form/control/iconview/', '/app/demo/form/control/iconview/iconview.js', '/app/demo/form/control/iconview/iconview.xml', '/app/demo/form/control/img/', '/app/demo/form/control/img/img.xml', '/app/demo/form/control/imgviewer/', '/app/demo/form/control/imgviewer/imgviewer.js', '/app/demo/form/control/imgviewer/imgviewer.xml', '/app/demo/form/control/jodit/', '/app/demo/form/control/jodit/jodit.js', '/app/demo/form/control/jodit/jodit.xml', '/app/demo/form/control/label/', '/app/demo/form/control/label/label.js', '/app/demo/form/control/label/label.xml', '/app/demo/form/control/layout/', '/app/demo/form/control/layout/layout.js', '/app/demo/form/control/layout/layout.xml', '/app/demo/form/control/link/', '/app/demo/form/control/link/link.js', '/app/demo/form/control/link/link.xml', '/app/demo/form/control/list/', '/app/demo/form/control/list/list.css', '/app/demo/form/control/list/list.js', '/app/demo/form/control/list/list.xml', '/app/demo/form/control/loading/', '/app/demo/form/control/loading/loading.xml', '/app/demo/form/control/map/', '/app/demo/form/control/map/map.js', '/app/demo/form/control/map/map.xml', '/app/demo/form/control/marquee/', '/app/demo/form/control/marquee/marquee.js', '/app/demo/form/control/marquee/marquee.xml', '/app/demo/form/control/menu/', '/app/demo/form/control/menu/menu.js', '/app/demo/form/control/menu/menu.xml', '/app/demo/form/control/monaco/', '/app/demo/form/control/monaco/monaco.js', '/app/demo/form/control/monaco/monaco.xml', '/app/demo/form/control/mpegts/', '/app/demo/form/control/mpegts/mpegts.js', '/app/demo/form/control/mpegts/mpegts.xml', '/app/demo/form/control/nav/', '/app/demo/form/control/nav/nav.js', '/app/demo/form/control/nav/nav.xml', '/app/demo/form/control/page/', '/app/demo/form/control/page/page.js', '/app/demo/form/control/page/page.xml', '/app/demo/form/control/palette/', '/app/demo/form/control/palette/palette.js', '/app/demo/form/control/palette/palette.xml', '/app/demo/form/control/panel/', '/app/demo/form/control/panel/panel.js', '/app/demo/form/control/panel/panel.xml', '/app/demo/form/control/panel/test1.js', '/app/demo/form/control/panel/test1.xml', '/app/demo/form/control/panel/test2.xml', '/app/demo/form/control/pdf/', '/app/demo/form/control/pdf/pdf.js', '/app/demo/form/control/pdf/pdf.xml', '/app/demo/form/control/pdf/test.pdf', '/app/demo/form/control/progress/', '/app/demo/form/control/progress/progress.js', '/app/demo/form/control/progress/progress.xml', '/app/demo/form/control/property/', '/app/demo/form/control/property/property.js', '/app/demo/form/control/property/property.xml', '/app/demo/form/control/qrcode/', '/app/demo/form/control/qrcode/qrcode.js', '/app/demo/form/control/qrcode/qrcode.xml', '/app/demo/form/control/radio/', '/app/demo/form/control/radio/radio.js', '/app/demo/form/control/radio/radio.xml', '/app/demo/form/control/scroll/', '/app/demo/form/control/scroll/scroll.js', '/app/demo/form/control/scroll/scroll.xml', '/app/demo/form/control/select/', '/app/demo/form/control/select/select.js', '/app/demo/form/control/select/select.xml', '/app/demo/form/control/setting/', '/app/demo/form/control/setting/setting.xml', '/app/demo/form/control/sgroup/', '/app/demo/form/control/sgroup/sgroup.xml', '/app/demo/form/control/step/', '/app/demo/form/control/step/step.js', '/app/demo/form/control/step/step.xml', '/app/demo/form/control/svg/', '/app/demo/form/control/svg/svg.js', '/app/demo/form/control/svg/svg.xml', '/app/demo/form/control/switch/', '/app/demo/form/control/switch/switch.js', '/app/demo/form/control/switch/switch.xml', '/app/demo/form/control/tab/', '/app/demo/form/control/tab/tab.js', '/app/demo/form/control/tab/tab.xml', '/app/demo/form/control/table/', '/app/demo/form/control/table/table.js', '/app/demo/form/control/table/table.xml', '/app/demo/form/control/tag/', '/app/demo/form/control/tag/tag.js', '/app/demo/form/control/tag/tag.xml', '/app/demo/form/control/text/', '/app/demo/form/control/text/text.js', '/app/demo/form/control/text/text.xml', '/app/demo/form/control/timeline/', '/app/demo/form/control/timeline/timeline.js', '/app/demo/form/control/timeline/timeline.xml', '/app/demo/form/control/tip/', '/app/demo/form/control/tip/tip.js', '/app/demo/form/control/tip/tip.xml', '/app/demo/form/control/tuieditor/', '/app/demo/form/control/tuieditor/tuieditor.js', '/app/demo/form/control/tuieditor/tuieditor.xml', '/app/demo/form/control/tuiviewer/', '/app/demo/form/control/tuiviewer/tuiviewer.js', '/app/demo/form/control/tuiviewer/tuiviewer.xml', '/app/demo/form/control/uploader/', '/app/demo/form/control/uploader/uploader.js', '/app/demo/form/control/uploader/uploader.xml', '/app/demo/form/control/vflow/', '/app/demo/form/control/vflow/vflow.css', '/app/demo/form/control/vflow/vflow.js', '/app/demo/form/control/vflow/vflow.xml', '/app/demo/form/control/video/', '/app/demo/form/control/video/video.js', '/app/demo/form/control/video/video.xml', '/app/demo/form/control/web/', '/app/demo/form/control/web/web.js', '/app/demo/form/control/web/web.xml', '/app/demo/form/control/xterm/', '/app/demo/form/control/xterm/xterm.js', '/app/demo/form/control/xterm/xterm.xml', '/app/demo/form/event/', '/app/demo/form/event/form/', '/app/demo/form/event/form/form.css', '/app/demo/form/event/form/form.js', '/app/demo/form/event/form/form.xml', '/app/demo/form/event/other/', '/app/demo/form/event/other/other.js', '/app/demo/form/event/other/other.xml', '/app/demo/form/event/screen/', '/app/demo/form/event/screen/screen.js', '/app/demo/form/event/screen/screen.xml', '/app/demo/form/event/task/', '/app/demo/form/event/task/task.js', '/app/demo/form/event/task/task.xml', '/app/demo/form/main.css', '/app/demo/form/main.js', '/app/demo/form/main.xml', '/app/demo/form/method/', '/app/demo/form/method/acontrol/', '/app/demo/form/method/acontrol/acontrol.js', '/app/demo/form/method/acontrol/acontrol.xml', '/app/demo/form/method/aform/', '/app/demo/form/method/aform/aform.js', '/app/demo/form/method/aform/aform.xml', '/app/demo/form/method/aform/sd.js', '/app/demo/form/method/aform/sd.xml', '/app/demo/form/method/core/', '/app/demo/form/method/core/core.js', '/app/demo/form/method/core/core.xml', '/app/demo/form/method/dom/', '/app/demo/form/method/dom/dom.css', '/app/demo/form/method/dom/dom.js', '/app/demo/form/method/dom/dom.xml', '/app/demo/form/method/form/', '/app/demo/form/method/form/form.js', '/app/demo/form/method/form/form.xml', '/app/demo/form/method/form/test.xml', '/app/demo/form/method/fs/', '/app/demo/form/method/fs/fs.js', '/app/demo/form/method/fs/fs.xml', '/app/demo/form/method/fs/text.js', '/app/demo/form/method/fs/text.xml', '/app/demo/form/method/native/', '/app/demo/form/method/native/native.js', '/app/demo/form/method/native/native.xml', '/app/demo/form/method/storage/', '/app/demo/form/method/storage/storage.js', '/app/demo/form/method/storage/storage.xml', '/app/demo/form/method/system/', '/app/demo/form/method/system/system.js', '/app/demo/form/method/system/system.xml', '/app/demo/form/method/task/', '/app/demo/form/method/task/locale1.json', '/app/demo/form/method/task/locale2.json', '/app/demo/form/method/task/task.js', '/app/demo/form/method/task/task.xml', '/app/demo/form/method/theme/', '/app/demo/form/method/theme/theme.js', '/app/demo/form/method/theme/theme.xml', '/app/demo/form/method/tool/', '/app/demo/form/method/tool/tool.js', '/app/demo/form/method/tool/tool.xml', '/app/demo/form/method/zip/', '/app/demo/form/method/zip/zip.js', '/app/demo/form/method/zip/zip.xml', '/app/demo/form/solution/', '/app/demo/form/solution/backpanel/', '/app/demo/form/solution/backpanel/backpanel.js', '/app/demo/form/solution/backpanel/backpanel.xml', '/app/demo/global.css', '/app/demo/res/', '/app/demo/res/custombtn.cgc', '/app/demo/res/icon.svg', '/app/demo/res/img.jpg', '/app/demo/res/marker.svg', '/app/demo/res/r-1.svg', '/app/demo/res/r-2.svg', '/app/demo/res/sql.svg', '/app/demo/res/txt.svg', '/app/demo/res/video.mp4', '/app/demo/res/zip.svg', '/app/task/', '/app/task/app.js', '/app/task/config.json', '/app/task/form/', '/app/task/form/bar/', '/app/task/form/bar/bar.js', '/app/task/form/bar/bar.xml', '/app/task/form/desktop/', '/app/task/form/desktop/desktop.xml', '/app/task/locale/', '/app/task/locale/en.json', '/app/task/locale/ja.json', '/app/task/locale/sc.json', '/app/task/locale/tc.json', '/clickgo.js', '/clickgo.ts', '/control/', '/control/arteditor.cgc', '/control/box.cgc', '/control/common.cgc', '/control/desc.cgc', '/control/drawer.cgc', '/control/echarts.cgc', '/control/form.cgc', '/control/iconview.cgc', '/control/jodit.cgc', '/control/map.cgc', '/control/monaco.cgc', '/control/mpegts.cgc', '/control/nav.cgc', '/control/page.cgc', '/control/pdf.cgc', '/control/property.cgc', '/control/qrcode.cgc', '/control/table.cgc', '/control/task.cgc', '/control/tuieditor.cgc', '/control/tuiviewer.cgc', '/control/web.cgc', '/control/xterm.cgc', '/ext/', '/ext/toastui-editor-all.min.js', '/global.css', '/icon.png', '/index.js', '/index.ts', '/lib/', '/lib/control.js', '/lib/control.ts', '/lib/core.js', '/lib/core.ts', '/lib/dom.js', '/lib/dom.ts', '/lib/form.js', '/lib/form.ts', '/lib/fs.js', '/lib/fs.ts', '/lib/native.js', '/lib/native.ts', '/lib/storage.js', '/lib/storage.ts', '/lib/task.js', '/lib/task.ts', '/lib/theme.js', '/lib/theme.ts', '/lib/tool.js', '/lib/tool.ts', '/lib/zip.js', '/lib/zip.ts', '/theme/', '/theme/blue.cgt', '/theme/byterun.cgt', '/theme/light.cgt'];
15
+ const clickgoFiles = ['/app/', '/app/demo/', '/app/demo/app.js', '/app/demo/config.json', '/app/demo/form/', '/app/demo/form/control/', '/app/demo/form/control/alayout2/', '/app/demo/form/control/alayout2/alayout2.js', '/app/demo/form/control/alayout2/alayout2.xml', '/app/demo/form/control/alert/', '/app/demo/form/control/alert/alert.js', '/app/demo/form/control/alert/alert.xml', '/app/demo/form/control/arteditor/', '/app/demo/form/control/arteditor/arteditor.js', '/app/demo/form/control/arteditor/arteditor.xml', '/app/demo/form/control/arteditor/img.js', '/app/demo/form/control/arteditor/img.xml', '/app/demo/form/control/block/', '/app/demo/form/control/block/block.css', '/app/demo/form/control/block/block.xml', '/app/demo/form/control/box/', '/app/demo/form/control/box/box.js', '/app/demo/form/control/box/box.xml', '/app/demo/form/control/button/', '/app/demo/form/control/button/button.css', '/app/demo/form/control/button/button.js', '/app/demo/form/control/button/button.xml', '/app/demo/form/control/check/', '/app/demo/form/control/check/check.js', '/app/demo/form/control/check/check.xml', '/app/demo/form/control/circle/', '/app/demo/form/control/circle/circle.xml', '/app/demo/form/control/content/', '/app/demo/form/control/content/content.js', '/app/demo/form/control/content/content.xml', '/app/demo/form/control/date/', '/app/demo/form/control/date/date.js', '/app/demo/form/control/date/date.xml', '/app/demo/form/control/datepanel/', '/app/demo/form/control/datepanel/datepanel.js', '/app/demo/form/control/datepanel/datepanel.xml', '/app/demo/form/control/daterange/', '/app/demo/form/control/daterange/daterange.js', '/app/demo/form/control/daterange/daterange.xml', '/app/demo/form/control/delete/', '/app/demo/form/control/delete/delete.js', '/app/demo/form/control/delete/delete.xml', '/app/demo/form/control/desc/', '/app/demo/form/control/desc/desc.js', '/app/demo/form/control/desc/desc.xml', '/app/demo/form/control/dialog/', '/app/demo/form/control/dialog/dialog.js', '/app/demo/form/control/dialog/dialog.xml', '/app/demo/form/control/drawer/', '/app/demo/form/control/drawer/drawer.js', '/app/demo/form/control/drawer/drawer.xml', '/app/demo/form/control/echarts/', '/app/demo/form/control/echarts/echarts.js', '/app/demo/form/control/echarts/echarts.xml', '/app/demo/form/control/empty/', '/app/demo/form/control/empty/empty.js', '/app/demo/form/control/empty/empty.xml', '/app/demo/form/control/file/', '/app/demo/form/control/file/file.js', '/app/demo/form/control/file/file.xml', '/app/demo/form/control/flow/', '/app/demo/form/control/flow/flow.css', '/app/demo/form/control/flow/flow.js', '/app/demo/form/control/flow/flow.xml', '/app/demo/form/control/form/', '/app/demo/form/control/form/form.css', '/app/demo/form/control/form/form.js', '/app/demo/form/control/form/form.xml', '/app/demo/form/control/grid/', '/app/demo/form/control/grid/grid.js', '/app/demo/form/control/grid/grid.xml', '/app/demo/form/control/group/', '/app/demo/form/control/group/group.js', '/app/demo/form/control/group/group.xml', '/app/demo/form/control/hske/', '/app/demo/form/control/hske/hske.js', '/app/demo/form/control/hske/hske.xml', '/app/demo/form/control/html/', '/app/demo/form/control/html/html.js', '/app/demo/form/control/html/html.xml', '/app/demo/form/control/icon/', '/app/demo/form/control/icon/icon.xml', '/app/demo/form/control/iconview/', '/app/demo/form/control/iconview/iconview.js', '/app/demo/form/control/iconview/iconview.xml', '/app/demo/form/control/img/', '/app/demo/form/control/img/img.xml', '/app/demo/form/control/imgviewer/', '/app/demo/form/control/imgviewer/imgviewer.js', '/app/demo/form/control/imgviewer/imgviewer.xml', '/app/demo/form/control/jodit/', '/app/demo/form/control/jodit/jodit.js', '/app/demo/form/control/jodit/jodit.xml', '/app/demo/form/control/label/', '/app/demo/form/control/label/label.js', '/app/demo/form/control/label/label.xml', '/app/demo/form/control/layout/', '/app/demo/form/control/layout/layout.js', '/app/demo/form/control/layout/layout.xml', '/app/demo/form/control/link/', '/app/demo/form/control/link/link.js', '/app/demo/form/control/link/link.xml', '/app/demo/form/control/list/', '/app/demo/form/control/list/list.css', '/app/demo/form/control/list/list.js', '/app/demo/form/control/list/list.xml', '/app/demo/form/control/loading/', '/app/demo/form/control/loading/loading.xml', '/app/demo/form/control/map/', '/app/demo/form/control/map/map.js', '/app/demo/form/control/map/map.xml', '/app/demo/form/control/marquee/', '/app/demo/form/control/marquee/marquee.js', '/app/demo/form/control/marquee/marquee.xml', '/app/demo/form/control/menu/', '/app/demo/form/control/menu/menu.js', '/app/demo/form/control/menu/menu.xml', '/app/demo/form/control/monaco/', '/app/demo/form/control/monaco/monaco.js', '/app/demo/form/control/monaco/monaco.xml', '/app/demo/form/control/mpegts/', '/app/demo/form/control/mpegts/mpegts.js', '/app/demo/form/control/mpegts/mpegts.xml', '/app/demo/form/control/nav/', '/app/demo/form/control/nav/nav.js', '/app/demo/form/control/nav/nav.xml', '/app/demo/form/control/page/', '/app/demo/form/control/page/page.js', '/app/demo/form/control/page/page.xml', '/app/demo/form/control/palette/', '/app/demo/form/control/palette/palette.js', '/app/demo/form/control/palette/palette.xml', '/app/demo/form/control/panel/', '/app/demo/form/control/panel/panel.js', '/app/demo/form/control/panel/panel.xml', '/app/demo/form/control/panel/test1.js', '/app/demo/form/control/panel/test1.xml', '/app/demo/form/control/panel/test2.xml', '/app/demo/form/control/pdf/', '/app/demo/form/control/pdf/pdf.js', '/app/demo/form/control/pdf/pdf.xml', '/app/demo/form/control/pdf/test.pdf', '/app/demo/form/control/progress/', '/app/demo/form/control/progress/progress.js', '/app/demo/form/control/progress/progress.xml', '/app/demo/form/control/property/', '/app/demo/form/control/property/property.js', '/app/demo/form/control/property/property.xml', '/app/demo/form/control/qrcode/', '/app/demo/form/control/qrcode/qrcode.js', '/app/demo/form/control/qrcode/qrcode.xml', '/app/demo/form/control/radio/', '/app/demo/form/control/radio/radio.js', '/app/demo/form/control/radio/radio.xml', '/app/demo/form/control/scroll/', '/app/demo/form/control/scroll/scroll.js', '/app/demo/form/control/scroll/scroll.xml', '/app/demo/form/control/select/', '/app/demo/form/control/select/select.js', '/app/demo/form/control/select/select.xml', '/app/demo/form/control/setting/', '/app/demo/form/control/setting/setting.xml', '/app/demo/form/control/sgroup/', '/app/demo/form/control/sgroup/sgroup.xml', '/app/demo/form/control/step/', '/app/demo/form/control/step/step.js', '/app/demo/form/control/step/step.xml', '/app/demo/form/control/svg/', '/app/demo/form/control/svg/svg.js', '/app/demo/form/control/svg/svg.xml', '/app/demo/form/control/switch/', '/app/demo/form/control/switch/switch.js', '/app/demo/form/control/switch/switch.xml', '/app/demo/form/control/tab/', '/app/demo/form/control/tab/tab.js', '/app/demo/form/control/tab/tab.xml', '/app/demo/form/control/table/', '/app/demo/form/control/table/table.js', '/app/demo/form/control/table/table.xml', '/app/demo/form/control/tag/', '/app/demo/form/control/tag/tag.js', '/app/demo/form/control/tag/tag.xml', '/app/demo/form/control/text/', '/app/demo/form/control/text/text.js', '/app/demo/form/control/text/text.xml', '/app/demo/form/control/timeline/', '/app/demo/form/control/timeline/timeline.js', '/app/demo/form/control/timeline/timeline.xml', '/app/demo/form/control/tip/', '/app/demo/form/control/tip/tip.js', '/app/demo/form/control/tip/tip.xml', '/app/demo/form/control/tplink/', '/app/demo/form/control/tplink/tplink.js', '/app/demo/form/control/tplink/tplink.xml', '/app/demo/form/control/tuieditor/', '/app/demo/form/control/tuieditor/tuieditor.js', '/app/demo/form/control/tuieditor/tuieditor.xml', '/app/demo/form/control/tuiviewer/', '/app/demo/form/control/tuiviewer/tuiviewer.js', '/app/demo/form/control/tuiviewer/tuiviewer.xml', '/app/demo/form/control/uploader/', '/app/demo/form/control/uploader/uploader.js', '/app/demo/form/control/uploader/uploader.xml', '/app/demo/form/control/vflow/', '/app/demo/form/control/vflow/vflow.css', '/app/demo/form/control/vflow/vflow.js', '/app/demo/form/control/vflow/vflow.xml', '/app/demo/form/control/video/', '/app/demo/form/control/video/video.js', '/app/demo/form/control/video/video.xml', '/app/demo/form/control/web/', '/app/demo/form/control/web/web.js', '/app/demo/form/control/web/web.xml', '/app/demo/form/control/xterm/', '/app/demo/form/control/xterm/xterm.js', '/app/demo/form/control/xterm/xterm.xml', '/app/demo/form/event/', '/app/demo/form/event/form/', '/app/demo/form/event/form/form.css', '/app/demo/form/event/form/form.js', '/app/demo/form/event/form/form.xml', '/app/demo/form/event/other/', '/app/demo/form/event/other/other.js', '/app/demo/form/event/other/other.xml', '/app/demo/form/event/screen/', '/app/demo/form/event/screen/screen.js', '/app/demo/form/event/screen/screen.xml', '/app/demo/form/event/task/', '/app/demo/form/event/task/task.js', '/app/demo/form/event/task/task.xml', '/app/demo/form/main.css', '/app/demo/form/main.js', '/app/demo/form/main.xml', '/app/demo/form/method/', '/app/demo/form/method/acontrol/', '/app/demo/form/method/acontrol/acontrol.js', '/app/demo/form/method/acontrol/acontrol.xml', '/app/demo/form/method/aform/', '/app/demo/form/method/aform/aform.js', '/app/demo/form/method/aform/aform.xml', '/app/demo/form/method/aform/sd.js', '/app/demo/form/method/aform/sd.xml', '/app/demo/form/method/core/', '/app/demo/form/method/core/core.js', '/app/demo/form/method/core/core.xml', '/app/demo/form/method/dom/', '/app/demo/form/method/dom/dom.css', '/app/demo/form/method/dom/dom.js', '/app/demo/form/method/dom/dom.xml', '/app/demo/form/method/form/', '/app/demo/form/method/form/form.js', '/app/demo/form/method/form/form.xml', '/app/demo/form/method/form/test.xml', '/app/demo/form/method/fs/', '/app/demo/form/method/fs/fs.js', '/app/demo/form/method/fs/fs.xml', '/app/demo/form/method/fs/text.js', '/app/demo/form/method/fs/text.xml', '/app/demo/form/method/native/', '/app/demo/form/method/native/native.js', '/app/demo/form/method/native/native.xml', '/app/demo/form/method/storage/', '/app/demo/form/method/storage/storage.js', '/app/demo/form/method/storage/storage.xml', '/app/demo/form/method/system/', '/app/demo/form/method/system/system.js', '/app/demo/form/method/system/system.xml', '/app/demo/form/method/task/', '/app/demo/form/method/task/locale1.json', '/app/demo/form/method/task/locale2.json', '/app/demo/form/method/task/task.js', '/app/demo/form/method/task/task.xml', '/app/demo/form/method/theme/', '/app/demo/form/method/theme/theme.js', '/app/demo/form/method/theme/theme.xml', '/app/demo/form/method/tool/', '/app/demo/form/method/tool/tool.js', '/app/demo/form/method/tool/tool.xml', '/app/demo/form/method/zip/', '/app/demo/form/method/zip/zip.js', '/app/demo/form/method/zip/zip.xml', '/app/demo/form/solution/', '/app/demo/form/solution/backpanel/', '/app/demo/form/solution/backpanel/backpanel.js', '/app/demo/form/solution/backpanel/backpanel.xml', '/app/demo/global.css', '/app/demo/res/', '/app/demo/res/custombtn.cgc', '/app/demo/res/icon.svg', '/app/demo/res/img.jpg', '/app/demo/res/marker.svg', '/app/demo/res/r-1.svg', '/app/demo/res/r-2.svg', '/app/demo/res/sql.svg', '/app/demo/res/txt.svg', '/app/demo/res/video.mp4', '/app/demo/res/zip.svg', '/app/task/', '/app/task/app.js', '/app/task/config.json', '/app/task/form/', '/app/task/form/bar/', '/app/task/form/bar/bar.js', '/app/task/form/bar/bar.xml', '/app/task/form/desktop/', '/app/task/form/desktop/desktop.xml', '/app/task/locale/', '/app/task/locale/en.json', '/app/task/locale/ja.json', '/app/task/locale/sc.json', '/app/task/locale/tc.json', '/clickgo.js', '/clickgo.ts', '/control/', '/control/arteditor.cgc', '/control/box.cgc', '/control/common.cgc', '/control/desc.cgc', '/control/drawer.cgc', '/control/echarts.cgc', '/control/form.cgc', '/control/iconview.cgc', '/control/jodit.cgc', '/control/map.cgc', '/control/monaco.cgc', '/control/mpegts.cgc', '/control/nav.cgc', '/control/page.cgc', '/control/pdf.cgc', '/control/property.cgc', '/control/qrcode.cgc', '/control/table.cgc', '/control/task.cgc', '/control/tplink.cgc', '/control/tuieditor.cgc', '/control/tuiviewer.cgc', '/control/web.cgc', '/control/xterm.cgc', '/ext/', '/ext/toastui-editor-all.min.js', '/ext/tplinkhd.min.js', '/global.css', '/icon.png', '/index.js', '/index.ts', '/lib/', '/lib/control.js', '/lib/control.ts', '/lib/core.js', '/lib/core.ts', '/lib/dom.js', '/lib/dom.ts', '/lib/form.js', '/lib/form.ts', '/lib/fs.js', '/lib/fs.ts', '/lib/native.js', '/lib/native.ts', '/lib/storage.js', '/lib/storage.ts', '/lib/task.js', '/lib/task.ts', '/lib/theme.js', '/lib/theme.ts', '/lib/tool.js', '/lib/tool.ts', '/lib/zip.js', '/lib/zip.ts', '/notosans-regular.ttf', '/theme/', '/theme/blue.cgt', '/theme/byterun.cgt', '/theme/light.cgt'];
16
16
 
17
17
  /** --- fs lib 用到的语言包 --- */
18
18
  const localeData: Record<string, {
package/dist/lib/task.js CHANGED
@@ -292,46 +292,18 @@ function run(url_1) {
292
292
  return -1;
293
293
  }
294
294
  const taskId = ++exports.lastId;
295
- const unblock = opt.unblock ? tool.clone(opt.unblock) : [];
296
- const unblockSys = [
297
- 'require',
298
- '__awaiter', 'eval', 'Math', 'Array', 'Blob', 'Error', 'Infinity', 'getComputedStyle', 'parseInt', 'parseFloat', 'Promise', 'Date', 'JSON', 'fetch', 'Number', 'String', 'Object', 'encodeURIComponent', 'decodeURIComponent', 'FormData', 'WebSocket',
299
- 'Map', 'Set', 'WeakMap', 'WeakSet', 'RegExp', 'Function', 'Boolean', 'Symbol', 'Proxy', 'Reflect', 'Intl', 'NaN', 'navigator', 'Image', 'Audio', 'CanvasRenderingContext2D', 'WebGLRenderingContext', 'NodeList', 'HTMLCollection', 'Event', 'MouseEvent', 'KeyboardEvent', 'TouchEvent', 'File', 'FileList', 'URL', 'Navigator', 'Performance', 'Crypto', 'Worker', 'SharedWorker', 'ServiceWorker', 'WebAssembly', 'IntersectionObserver', 'MutationObserver', 'AudioContext', 'WebGL2RenderingContext', 'WebGLVertexArrayObject', 'WebGLBuffer', 'WebGLShader', 'WebGLProgram', 'WebGLTexture', 'WebGLRenderbuffer', 'WebGLFramebuffer', 'WebGLUniformLocation', 'WebGLActiveInfo', 'WebGLShaderPrecisionFormat', 'PerformanceObserver', 'PerformanceEntry', 'performance', 'ResizeObserver', 'requestIdleCallback', 'cancelIdleCallback', 'AbortController', 'AbortSignal', 'TextDecoder', 'TextEncoder', 'StorageEvent', 'BeforeUnloadEvent', 'PointerEvent', 'CompositionEvent', 'WheelEvent', 'InputEvent', 'HashChangeEvent', 'PopStateEvent', 'MessageEvent', 'Notification', 'BatteryManager', 'DeviceOrientationEvent', 'DeviceMotionEvent', 'ScreenOrientation', 'MediaQueryList', 'SpeechSynthesisUtterance', 'BroadcastChannel', 'Worklet', 'CustomEvent', 'TransitionEvent', 'AnimationEvent', 'Response', 'Request', 'Headers', 'ReadableStream', 'WritableStream', 'TransformStream', 'URLSearchParams', 'History', 'location', 'crypto', 'indexedDB', 'IDBFactory', 'IDBDatabase', 'IDBTransaction', 'IDBObjectStore', 'IDBIndex', 'IDBCursor', 'IDBKeyRange', 'IDBRequest', 'FileReader', 'Atomics', 'CanvasGradient', 'CanvasPattern', 'TextMetrics', 'ImageData', 'Path2D', 'TextTrack', 'VTTCue', 'TrackEvent', 'OfflineAudioContext', 'AnalyserNode', 'AudioBuffer', 'AudioBufferSourceNode', 'AudioDestinationNode', 'AudioListener', 'AudioNode', 'AudioParam', 'AudioScheduledSourceNode', 'AudioWorklet', 'BaseAudioContext', 'BiquadFilterNode', 'ChannelMergerNode', 'ChannelSplitterNode', 'ConstantSourceNode', 'ConvolverNode', 'DelayNode', 'DynamicsCompressorNode', 'GainNode', 'IIRFilterNode', 'MediaElementAudioSourceNode', 'MediaStreamAudioSourceNode', 'MediaStreamAudioDestinationNode', 'OscillatorNode', 'PannerNode', 'PeriodicWave', 'ScriptProcessorNode', 'StereoPannerNode', 'WaveShaperNode', 'UIEvent', 'FocusEvent', 'ClipboardEvent', 'GamepadEvent', 'MediaKeyMessageEvent', 'PageTransitionEvent', 'ProgressEvent', 'Touch', 'ErrorEvent', 'MediaStreamEvent', 'IDBVersionChangeEvent', 'SpeechSynthesisEvent', 'AudioProcessingEvent', 'OfflineAudioCompletionEvent', 'ClipboardItem', 'PresentationConnection', 'PresentationConnectionAvailableEvent', 'PresentationConnectionCloseEvent', 'PresentationConnectionList', 'PresentationReceiver', 'PresentationRequest', 'PushManager', 'PushSubscription', 'PushSubscriptionOptions', 'ServiceWorkerContainer', 'PaymentRequest', 'PaymentAddress', 'PaymentRequestUpdateEvent', 'PaymentResponse', 'PresentationAvailability', 'Bluetooth', 'BluetoothDevice', 'BluetoothRemoteGATTServer', 'BluetoothRemoteGATTService', 'BluetoothRemoteGATTCharacteristic', 'BluetoothRemoteGATTDescriptor', 'MediaRecorder', 'MessageChannel', 'MessagePort', 'atob', 'btoa'
300
- ];
301
- for (const name of unblockSys) {
302
- if (unblock.includes(name)) {
303
- continue;
304
- }
305
- unblock.push(name);
306
- }
295
+ const blocks = ['document', 'localStorage'];
307
296
  const invoke = {};
308
- if (!unblock.includes('window')) {
309
- invoke.window = {};
310
- for (const name of unblock) {
311
- if (window[name] === undefined) {
312
- continue;
313
- }
314
- invoke.window[name] = window[name];
315
- }
316
- }
317
297
  const ks = Object.getOwnPropertyNames(window);
298
+ invoke.window = {};
318
299
  for (const k of ks) {
319
- if (k.includes('window')) {
320
- continue;
321
- }
322
- if (k.includes('Event')) {
323
- continue;
324
- }
325
- if (k.includes('-')) {
326
- continue;
327
- }
328
- if (/^[0-9]+$/.test(k)) {
300
+ if (blocks.includes(k)) {
329
301
  continue;
330
302
  }
331
- if (unblock.includes(k)) {
332
- continue;
333
- }
334
- invoke[k] = undefined;
303
+ invoke.window[k] = window[k];
304
+ }
305
+ for (const block of blocks) {
306
+ invoke[block] = undefined;
335
307
  }
336
308
  invoke.console = {
337
309
  assert: function (condition, ...data) {
@@ -400,22 +372,6 @@ function run(url_1) {
400
372
  return loader.require(paths, files, opt);
401
373
  }
402
374
  };
403
- if (!unblock.includes('Object')) {
404
- invoke.Object = {
405
- defineProperty: function () {
406
- return;
407
- },
408
- keys: function (o) {
409
- return Object.keys(o);
410
- },
411
- assign: function (o, o2) {
412
- if (o.controlName !== undefined) {
413
- return o;
414
- }
415
- return Object.assign(o, o2);
416
- }
417
- };
418
- }
419
375
  invoke.invokeClickgo = {
420
376
  getVersion: function () {
421
377
  return clickgo.getVersion();
@@ -939,16 +895,6 @@ function run(url_1) {
939
895
  },
940
896
  run: function (url, opt = {}) {
941
897
  var _a;
942
- if (opt.unblock) {
943
- const inUnblock = [];
944
- for (const item of opt.unblock) {
945
- if (!unblock.includes(item)) {
946
- continue;
947
- }
948
- inUnblock.push(item);
949
- }
950
- opt.unblock = inUnblock;
951
- }
952
898
  if (opt.permissions) {
953
899
  if (!((_a = exports.list[taskId]) === null || _a === void 0 ? void 0 : _a.runtime.permissions.includes('root'))) {
954
900
  opt.permissions = undefined;
@@ -1150,6 +1096,9 @@ function run(url_1) {
1150
1096
  formatTime: function (ts, tz) {
1151
1097
  return tool.formatTime(ts, tz);
1152
1098
  },
1099
+ isMs: function (time) {
1100
+ return tool.isMs(time);
1101
+ },
1153
1102
  queryStringify: function (query) {
1154
1103
  return tool.queryStringify(query);
1155
1104
  },
package/dist/lib/task.ts CHANGED
@@ -311,49 +311,20 @@ export async function run(url: string | types.IApp, opt: types.ITaskRunOptions =
311
311
  }
312
312
  // --- 申请任务ID ---
313
313
  const taskId = ++lastId;
314
- // --- 注入的参数,屏蔽浏览器全局对象,注入新的对象 ---
315
- /** --- 不屏蔽的全局对象 --- */
316
- const unblock = opt.unblock ? tool.clone(opt.unblock) : [];
317
- const unblockSys = [
318
- 'require',
319
- '__awaiter', 'eval', 'Math', 'Array', 'Blob', 'Error', 'Infinity', 'getComputedStyle', 'parseInt', 'parseFloat', 'Promise', 'Date', 'JSON', 'fetch', 'Number', 'String', 'Object', 'encodeURIComponent', 'decodeURIComponent', 'FormData', 'WebSocket',
320
- 'Map', 'Set', 'WeakMap', 'WeakSet', 'RegExp', 'Function', 'Boolean', 'Symbol', 'Proxy', 'Reflect', 'Intl', 'NaN', 'navigator', 'Image', 'Audio', 'CanvasRenderingContext2D', 'WebGLRenderingContext', 'NodeList', 'HTMLCollection', 'Event', 'MouseEvent', 'KeyboardEvent', 'TouchEvent', 'File', 'FileList', 'URL', 'Navigator', 'Performance', 'Crypto', 'Worker', 'SharedWorker', 'ServiceWorker', 'WebAssembly', 'IntersectionObserver', 'MutationObserver', 'AudioContext', 'WebGL2RenderingContext', 'WebGLVertexArrayObject', 'WebGLBuffer', 'WebGLShader', 'WebGLProgram', 'WebGLTexture', 'WebGLRenderbuffer', 'WebGLFramebuffer', 'WebGLUniformLocation', 'WebGLActiveInfo', 'WebGLShaderPrecisionFormat', 'PerformanceObserver', 'PerformanceEntry', 'performance', 'ResizeObserver', 'requestIdleCallback', 'cancelIdleCallback', 'AbortController', 'AbortSignal', 'TextDecoder', 'TextEncoder', 'StorageEvent', 'BeforeUnloadEvent', 'PointerEvent', 'CompositionEvent', 'WheelEvent', 'InputEvent', 'HashChangeEvent', 'PopStateEvent', 'MessageEvent', 'Notification', 'BatteryManager', 'DeviceOrientationEvent', 'DeviceMotionEvent', 'ScreenOrientation', 'MediaQueryList', 'SpeechSynthesisUtterance', 'BroadcastChannel', 'Worklet', 'CustomEvent', 'TransitionEvent', 'AnimationEvent', 'Response', 'Request', 'Headers', 'ReadableStream', 'WritableStream', 'TransformStream', 'URLSearchParams', 'History', 'location', 'crypto', 'indexedDB', 'IDBFactory', 'IDBDatabase', 'IDBTransaction', 'IDBObjectStore', 'IDBIndex', 'IDBCursor', 'IDBKeyRange', 'IDBRequest', 'FileReader', 'Atomics', 'CanvasGradient', 'CanvasPattern', 'TextMetrics', 'ImageData', 'Path2D', 'TextTrack', 'VTTCue', 'TrackEvent', 'OfflineAudioContext', 'AnalyserNode', 'AudioBuffer', 'AudioBufferSourceNode', 'AudioDestinationNode', 'AudioListener', 'AudioNode', 'AudioParam', 'AudioScheduledSourceNode', 'AudioWorklet', 'BaseAudioContext', 'BiquadFilterNode', 'ChannelMergerNode', 'ChannelSplitterNode', 'ConstantSourceNode', 'ConvolverNode', 'DelayNode', 'DynamicsCompressorNode', 'GainNode', 'IIRFilterNode', 'MediaElementAudioSourceNode', 'MediaStreamAudioSourceNode', 'MediaStreamAudioDestinationNode', 'OscillatorNode', 'PannerNode', 'PeriodicWave', 'ScriptProcessorNode', 'StereoPannerNode', 'WaveShaperNode', 'UIEvent', 'FocusEvent', 'ClipboardEvent', 'GamepadEvent', 'MediaKeyMessageEvent', 'PageTransitionEvent', 'ProgressEvent', 'Touch', 'ErrorEvent', 'MediaStreamEvent', 'IDBVersionChangeEvent', 'SpeechSynthesisEvent', 'AudioProcessingEvent', 'OfflineAudioCompletionEvent', 'ClipboardItem', 'PresentationConnection', 'PresentationConnectionAvailableEvent', 'PresentationConnectionCloseEvent', 'PresentationConnectionList', 'PresentationReceiver', 'PresentationRequest', 'PushManager', 'PushSubscription', 'PushSubscriptionOptions', 'ServiceWorkerContainer', 'PaymentRequest', 'PaymentAddress', 'PaymentRequestUpdateEvent', 'PaymentResponse', 'PresentationAvailability', 'Bluetooth', 'BluetoothDevice', 'BluetoothRemoteGATTServer', 'BluetoothRemoteGATTService', 'BluetoothRemoteGATTCharacteristic', 'BluetoothRemoteGATTDescriptor', 'MediaRecorder', 'MessageChannel', 'MessagePort', 'atob', 'btoa'
321
- ];
322
- for (const name of unblockSys) {
323
- if (unblock.includes(name)) {
324
- continue;
325
- }
326
- unblock.push(name);
327
- }
314
+ // --- 注入的参数,屏蔽一些全局对象 ---
315
+ const blocks = ['document', 'localStorage'];
328
316
  /** --- 最终注入的对象 --- */
329
317
  const invoke: Record<string, any> = {};
330
- if (!unblock.includes('window')) {
331
- invoke.window = {};
332
- for (const name of unblock) {
333
- if (window[name] === undefined) {
334
- continue;
335
- }
336
- invoke.window[name] = window[name];
337
- }
338
- }
339
318
  const ks = Object.getOwnPropertyNames(window);
319
+ invoke.window = {};
340
320
  for (const k of ks) {
341
- if (k.includes('window')) {
342
- continue;
343
- }
344
- if (k.includes('Event')) {
345
- continue;
346
- }
347
- if (k.includes('-')) {
348
- continue;
349
- }
350
- if (/^[0-9]+$/.test(k)) {
321
+ if (blocks.includes(k)) {
351
322
  continue;
352
323
  }
353
- if (unblock.includes(k)) {
354
- continue;
355
- }
356
- invoke[k] = undefined;
324
+ invoke.window[k] = (window as Record<string, any>)[k];
325
+ }
326
+ for (const block of blocks) {
327
+ invoke[block] = undefined;
357
328
  }
358
329
  // --- console ---
359
330
  invoke.console = {
@@ -431,23 +402,6 @@ export async function run(url: string | types.IApp, opt: types.ITaskRunOptions =
431
402
  return loader.require(paths, files, opt);
432
403
  }
433
404
  };
434
- // --- Object ---
435
- if (!unblock.includes('Object')) {
436
- invoke.Object = {
437
- defineProperty: function(): void {
438
- return;
439
- },
440
- keys: function(o: any): string[] {
441
- return Object.keys(o);
442
- },
443
- assign: function(o: any, o2: any): any {
444
- if (o.controlName !== undefined) {
445
- return o;
446
- }
447
- return Object.assign(o, o2);
448
- }
449
- };
450
- }
451
405
  // --- ClickGo 相关 ---
452
406
  invoke.invokeClickgo = {
453
407
  getVersion: function(): string {
@@ -1038,17 +992,6 @@ export async function run(url: string | types.IApp, opt: types.ITaskRunOptions =
1038
992
  return getList();
1039
993
  },
1040
994
  run: function(url: string, opt: types.ITaskRunOptions = {}): Promise<number> {
1041
- if (opt.unblock) {
1042
- const inUnblock: string[] = [];
1043
- // --- 只能解除屏蔽当前函数里面被解除的变量 ---
1044
- for (const item of opt.unblock) {
1045
- if (!unblock.includes(item)) {
1046
- continue;
1047
- }
1048
- inUnblock.push(item);
1049
- }
1050
- opt.unblock = inUnblock;
1051
- }
1052
995
  if (opt.permissions) {
1053
996
  if (!list[taskId]?.runtime.permissions.includes('root')) {
1054
997
  opt.permissions = undefined;
@@ -1312,6 +1255,9 @@ export async function run(url: string | types.IApp, opt: types.ITaskRunOptions =
1312
1255
  } {
1313
1256
  return tool.formatTime(ts, tz);
1314
1257
  },
1258
+ isMs: function(time: number): boolean {
1259
+ return tool.isMs(time);
1260
+ },
1315
1261
  queryStringify: function(query: Record<string, any>): string {
1316
1262
  return tool.queryStringify(query);
1317
1263
  },
package/dist/lib/tool.js CHANGED
@@ -88,6 +88,7 @@ exports.execCommand = execCommand;
88
88
  exports.compar = compar;
89
89
  exports.formatSecond = formatSecond;
90
90
  exports.formatTime = formatTime;
91
+ exports.isMs = isMs;
91
92
  exports.queryStringify = queryStringify;
92
93
  exports.queryParse = queryParse;
93
94
  const core = __importStar(require("./core"));
@@ -971,6 +972,9 @@ function formatTime(ts, tz) {
971
972
  rtn.zone = 'UTC' + (ntz >= 0 ? '+' : '') + ntz.toString();
972
973
  return rtn;
973
974
  }
975
+ function isMs(time) {
976
+ return time > 1000000000000 ? true : false;
977
+ }
974
978
  function queryStringify(query) {
975
979
  return Object.entries(query).map(([k, v]) => {
976
980
  if (Array.isArray(v)) {
package/dist/lib/tool.ts CHANGED
@@ -1225,6 +1225,14 @@ export function formatTime(ts: number | Date, tz?: number): {
1225
1225
  return rtn;
1226
1226
  }
1227
1227
 
1228
+ /**
1229
+ * --- 是否是毫秒 ---
1230
+ * @param time 要判断的时间戳
1231
+ */
1232
+ export function isMs(time: number): boolean {
1233
+ return time > 1000000000000 ? true : false;
1234
+ }
1235
+
1228
1236
  /**
1229
1237
  * --- 将对象转换为 query string ---
1230
1238
  * @param query 要转换的对象
Binary file
Binary file
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "clickgo",
3
- "version": "3.16.10",
3
+ "version": "3.16.11",
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
@@ -451,8 +451,6 @@ export interface ITaskRunOptions {
451
451
  'initProgress'?: (state: string) => void | Promise<void>;
452
452
  /** --- 显示 notify 窗口 --- */
453
453
  'notify'?: boolean;
454
- /** --- 不禁止某些浏览器对象,App 模式下仅能设置基任务中已经 unblock 的值 --- */
455
- 'unblock'?: string[];
456
454
  /** --- 直接赋予此任务相应权限,App 模式下有 "root" 权限的应用才能设置 --- */
457
455
  'permissions'?: string[];
458
456
  /** --- 给 task 传值 --- */