ts-glitter 21.2.1 → 21.2.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lowcode/Entry.js +1 -1
- package/lowcode/Entry.ts +1 -1
- package/lowcode/jspage/main.js +343 -301
- package/lowcode/jspage/main.ts +1448 -1379
- package/lowcode/official_view_component/official/component.js +13 -3
- package/lowcode/official_view_component/official/component.ts +26 -11
- package/lowcode/public-components/checkout/index.js +5 -1
- package/lowcode/public-components/checkout/index.ts +5 -1
- package/package.json +1 -1
- package/src/modules/firebase.js +1 -0
- package/src/modules/firebase.js.map +1 -1
- package/src/modules/firebase.ts +2 -0
package/lowcode/jspage/main.js
CHANGED
|
@@ -27,116 +27,117 @@ import { PageCodeSetting } from '../editor/page-code-setting.js';
|
|
|
27
27
|
import { NormalPageEditor } from '../editor/normal-page-editor.js';
|
|
28
28
|
import { EditorConfig } from '../editor-config.js';
|
|
29
29
|
import { BgCustomerMessage } from '../backend-manager/bg-customer-message.js';
|
|
30
|
-
import { BgGuide } from
|
|
31
|
-
import { ApiShop } from
|
|
32
|
-
import { ShareDialog } from
|
|
33
|
-
import { SearchIdea } from
|
|
34
|
-
import { AiMessage } from
|
|
35
|
-
import { GlobalWidget } from
|
|
36
|
-
import { BgWidget } from
|
|
37
|
-
import { ApiUser } from
|
|
38
|
-
import { BaseApi } from
|
|
39
|
-
import { GlobalUser } from
|
|
40
|
-
import { Article } from
|
|
41
|
-
import { AiChat } from
|
|
42
|
-
import { SaasViewModel } from
|
|
30
|
+
import { BgGuide } from '../backend-manager/bg-guide.js';
|
|
31
|
+
import { ApiShop } from '../glitter-base/route/shopping.js';
|
|
32
|
+
import { ShareDialog } from '../glitterBundle/dialog/ShareDialog.js';
|
|
33
|
+
import { SearchIdea } from '../editor/search-idea.js';
|
|
34
|
+
import { AiMessage } from '../cms-plugin/ai-message.js';
|
|
35
|
+
import { GlobalWidget } from '../glitterBundle/html-component/global-widget.js';
|
|
36
|
+
import { BgWidget } from '../backend-manager/bg-widget.js';
|
|
37
|
+
import { ApiUser } from '../glitter-base/route/user.js';
|
|
38
|
+
import { BaseApi } from '../glitterBundle/api/base.js';
|
|
39
|
+
import { GlobalUser } from '../glitter-base/global/global-user.js';
|
|
40
|
+
import { Article } from '../glitter-base/route/article.js';
|
|
41
|
+
import { AiChat } from '../glitter-base/route/ai-chat.js';
|
|
42
|
+
import { SaasViewModel } from '../view-model/saas-view-model.js';
|
|
43
43
|
const html = String.raw;
|
|
44
44
|
const editorContainerID = `HtmlEditorContainer`;
|
|
45
45
|
init(import.meta.url, (gvc, glitter, gBundle) => {
|
|
46
|
-
glitter.share.loading_dialog =
|
|
46
|
+
glitter.share.loading_dialog = new ShareDialog(gvc.glitter);
|
|
47
47
|
const css = String.raw;
|
|
48
48
|
gvc.addStyle(css `
|
|
49
|
+
.hoverHidden div {
|
|
50
|
+
display: none;
|
|
51
|
+
}
|
|
49
52
|
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
.hoverHidden:hover div {
|
|
55
|
-
display: flex;
|
|
56
|
-
}
|
|
53
|
+
.hoverHidden:hover div {
|
|
54
|
+
display: flex;
|
|
55
|
+
}
|
|
57
56
|
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
57
|
+
.tooltip {
|
|
58
|
+
z-index: 99999 !important;
|
|
59
|
+
}
|
|
61
60
|
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
61
|
+
.scroll-in {
|
|
62
|
+
animation: slideInFromLeft 0.3s ease-out forwards;
|
|
63
|
+
}
|
|
65
64
|
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
65
|
+
.scroll-out {
|
|
66
|
+
left: 0%; /* 將元素移到畫面外 */
|
|
67
|
+
animation: slideOutFromLeft 0.3s ease-out forwards;
|
|
68
|
+
}
|
|
70
69
|
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
70
|
+
/* @keyframes 定義動畫 */
|
|
71
|
+
@keyframes slideInFromLeft {
|
|
72
|
+
0% {
|
|
73
|
+
left: -120%; /* 起始位置在畫面外 */
|
|
74
|
+
}
|
|
75
|
+
100% {
|
|
76
|
+
left: 0; /* 結束位置在畫面內 */
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
/* @keyframes 定義動畫 */
|
|
80
|
+
@keyframes slideOutFromLeft {
|
|
81
|
+
0% {
|
|
82
|
+
left: 0; /* 起始位置在畫面外 */
|
|
83
|
+
}
|
|
84
|
+
100% {
|
|
85
|
+
left: -120%; /* 結束位置在畫面內 */
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
`);
|
|
90
89
|
gvc.addStyle(css `
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
90
|
+
.parent_ {
|
|
91
|
+
position: relative; /* 确保子元素相对于父元素定位 */
|
|
92
|
+
}
|
|
94
93
|
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
94
|
+
.child_ {
|
|
95
|
+
display: none; /* 默认隐藏子元素 */
|
|
96
|
+
position: absolute; /* 可选:使子元素定位 */
|
|
97
|
+
top: 100%; /* 可选:根据需要调整子元素的位置 */
|
|
98
|
+
left: 0;
|
|
99
|
+
background-color: lightgrey; /* 可选:子元素背景颜色 */
|
|
100
|
+
padding: 10px; /* 可选:子元素内边距 */
|
|
101
|
+
border: 1px solid #ccc; /* 可选:子元素边框 */
|
|
102
|
+
}
|
|
104
103
|
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
104
|
+
.parent_:hover .child_ {
|
|
105
|
+
display: block; /* 当父元素被 hover 时显示子元素 */
|
|
106
|
+
}
|
|
108
107
|
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
108
|
+
.scroll-right-in {
|
|
109
|
+
right: -120%; /* 將元素移到畫面外 */
|
|
110
|
+
animation: slideInRight 0.3s ease-out forwards;
|
|
111
|
+
}
|
|
113
112
|
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
113
|
+
.scroll-right-out {
|
|
114
|
+
right: 0; /* 將元素移到畫面外 */
|
|
115
|
+
animation: slideOutRight 0.3s ease-out forwards;
|
|
116
|
+
}
|
|
118
117
|
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
118
|
+
/* @keyframes 定義動畫 */
|
|
119
|
+
@keyframes slideInRight {
|
|
120
|
+
0% {
|
|
121
|
+
right: -120%; /* 起始位置在畫面外 */
|
|
122
|
+
}
|
|
123
|
+
100% {
|
|
124
|
+
right: 0; /* 結束位置在畫面內 */
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
/* @keyframes 定義動畫 */
|
|
128
|
+
@keyframes slideOutRight {
|
|
129
|
+
0% {
|
|
130
|
+
right: 0; /* 起始位置在畫面外 */
|
|
131
|
+
}
|
|
132
|
+
100% {
|
|
133
|
+
right: -120%; /* 結束位置在畫面內 */
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
`);
|
|
138
137
|
glitter.share.is_blog_editor = () => {
|
|
139
|
-
return glitter.getUrlParameter('page').startsWith('pages/') ||
|
|
138
|
+
return (glitter.getUrlParameter('page').startsWith('pages/') ||
|
|
139
|
+
glitter.getUrlParameter('page').startsWith('hidden/') ||
|
|
140
|
+
glitter.getUrlParameter('page').startsWith('shop/'));
|
|
140
141
|
};
|
|
141
142
|
Storage.lastSelect = '';
|
|
142
143
|
const viewModel = {
|
|
@@ -186,24 +187,26 @@ init(import.meta.url, (gvc, glitter, gBundle) => {
|
|
|
186
187
|
}
|
|
187
188
|
if (parseInt(glitter.share.top_inset, 10)) {
|
|
188
189
|
gvc.addStyle(css `
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
190
|
+
.scroll-in {
|
|
191
|
+
padding-top: ${glitter.share.top_inset}px;
|
|
192
|
+
}
|
|
192
193
|
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
194
|
+
.scroll-right-in {
|
|
195
|
+
padding-top: ${glitter.share.top_inset}px;
|
|
196
|
+
}
|
|
197
|
+
`);
|
|
197
198
|
}
|
|
198
199
|
const waitGetData = [
|
|
199
200
|
() => __awaiter(this, void 0, void 0, function* () {
|
|
200
|
-
if (
|
|
201
|
+
if (EditorConfig.backend_page() === 'backend-manger' && !gvc.glitter.getUrlParameter('tab')) {
|
|
201
202
|
gvc.glitter.setUrlParameter('tab', 'home_page');
|
|
202
203
|
}
|
|
203
204
|
return yield new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
|
|
204
|
-
ApiPageConfig.getAppConfig().then(
|
|
205
|
+
ApiPageConfig.getAppConfig().then(res => {
|
|
205
206
|
viewModel.app_config_original = res.response.result[0];
|
|
206
|
-
if (EditorConfig.backend_page() === 'backend-manger' &&
|
|
207
|
+
if (EditorConfig.backend_page() === 'backend-manger' &&
|
|
208
|
+
viewModel.app_config_original.refer_app &&
|
|
209
|
+
viewModel.app_config_original.refer_app !== viewModel.app_config_original.appName) {
|
|
207
210
|
glitter.setUrlParameter('appName', viewModel.app_config_original.refer_app);
|
|
208
211
|
location.reload();
|
|
209
212
|
return;
|
|
@@ -219,16 +222,18 @@ init(import.meta.url, (gvc, glitter, gBundle) => {
|
|
|
219
222
|
viewModel.data = yield new Promise((resolve, reject) => {
|
|
220
223
|
ApiPageConfig.getPage({
|
|
221
224
|
tag: glitter.getUrlParameter('page'),
|
|
222
|
-
appName: gBundle.appName
|
|
223
|
-
}).then(
|
|
225
|
+
appName: gBundle.appName,
|
|
226
|
+
}).then(d2 => {
|
|
224
227
|
if (glitter.share.is_blog_editor()) {
|
|
225
228
|
Article.get({
|
|
226
229
|
page: 0,
|
|
227
230
|
limit: 1,
|
|
228
|
-
id: glitter.getUrlParameter('page-id')
|
|
231
|
+
id: glitter.getUrlParameter('page-id'),
|
|
229
232
|
}).then((data) => __awaiter(this, void 0, void 0, function* () {
|
|
230
233
|
const content = data.response.data[0].content;
|
|
231
|
-
if (content.language_data &&
|
|
234
|
+
if (content.language_data &&
|
|
235
|
+
content.language_data[glitter.getUrlParameter('language')] &&
|
|
236
|
+
content.language_data[glitter.getUrlParameter('language')].config) {
|
|
232
237
|
content.config = content.language_data[glitter.getUrlParameter('language')].config;
|
|
233
238
|
}
|
|
234
239
|
d2.response.result[0].config = content.config;
|
|
@@ -313,7 +318,7 @@ init(import.meta.url, (gvc, glitter, gBundle) => {
|
|
|
313
318
|
},
|
|
314
319
|
].concat(viewModel.initialJS);
|
|
315
320
|
for (const a of glitter.share.globalJsList) {
|
|
316
|
-
yield new Promise(
|
|
321
|
+
yield new Promise(resolve => {
|
|
317
322
|
glitter.addMtScript([
|
|
318
323
|
{
|
|
319
324
|
src: TriggerEvent.getLink(a.src.official),
|
|
@@ -334,7 +339,7 @@ init(import.meta.url, (gvc, glitter, gBundle) => {
|
|
|
334
339
|
else {
|
|
335
340
|
resolve(false);
|
|
336
341
|
}
|
|
337
|
-
})).then(
|
|
342
|
+
})).then(data => {
|
|
338
343
|
return data;
|
|
339
344
|
});
|
|
340
345
|
}),
|
|
@@ -342,13 +347,13 @@ init(import.meta.url, (gvc, glitter, gBundle) => {
|
|
|
342
347
|
let count = 0;
|
|
343
348
|
let result = yield new Promise((resolve, reject) => {
|
|
344
349
|
for (const a of waitGetData) {
|
|
345
|
-
a().then(
|
|
350
|
+
a().then(result => {
|
|
346
351
|
if (result) {
|
|
347
352
|
count++;
|
|
348
353
|
}
|
|
349
354
|
else {
|
|
350
355
|
resolve(false);
|
|
351
|
-
console.log(`falseIn`, waitGetData.findIndex(
|
|
356
|
+
console.log(`falseIn`, waitGetData.findIndex(dd => {
|
|
352
357
|
return dd === a;
|
|
353
358
|
}));
|
|
354
359
|
}
|
|
@@ -364,14 +369,14 @@ init(import.meta.url, (gvc, glitter, gBundle) => {
|
|
|
364
369
|
}
|
|
365
370
|
dialog.dataLoading({ visible: false });
|
|
366
371
|
viewModel.loading = false;
|
|
367
|
-
gvc.glitter.runJsInterFace(
|
|
372
|
+
gvc.glitter.runJsInterFace('getFireBaseToken', {}, response => {
|
|
368
373
|
if (response.token) {
|
|
369
374
|
ApiUser.registerFCM(viewModel.app_config_original.user, response.token, window.glitterBase);
|
|
370
375
|
}
|
|
371
376
|
}, {
|
|
372
377
|
webFunction(data, callback) {
|
|
373
378
|
callback({});
|
|
374
|
-
}
|
|
379
|
+
},
|
|
375
380
|
});
|
|
376
381
|
gvc.notifyDataChange(editorContainerID);
|
|
377
382
|
});
|
|
@@ -428,7 +433,7 @@ init(import.meta.url, (gvc, glitter, gBundle) => {
|
|
|
428
433
|
Article.get({
|
|
429
434
|
page: 0,
|
|
430
435
|
limit: 1,
|
|
431
|
-
id: glitter.getUrlParameter('page-id')
|
|
436
|
+
id: glitter.getUrlParameter('page-id'),
|
|
432
437
|
}).then((data) => __awaiter(this, void 0, void 0, function* () {
|
|
433
438
|
var _a;
|
|
434
439
|
const content = data.response.data[0].content;
|
|
@@ -442,7 +447,7 @@ init(import.meta.url, (gvc, glitter, gBundle) => {
|
|
|
442
447
|
keywords: '',
|
|
443
448
|
},
|
|
444
449
|
text: '',
|
|
445
|
-
config: ''
|
|
450
|
+
config: '',
|
|
446
451
|
};
|
|
447
452
|
}
|
|
448
453
|
content.language_data = (_a = content.language_data) !== null && _a !== void 0 ? _a : {
|
|
@@ -452,11 +457,11 @@ init(import.meta.url, (gvc, glitter, gBundle) => {
|
|
|
452
457
|
name: content.name,
|
|
453
458
|
seo: content.seo,
|
|
454
459
|
text: content.text,
|
|
455
|
-
config: content.config
|
|
456
|
-
}
|
|
460
|
+
config: content.config,
|
|
461
|
+
},
|
|
457
462
|
};
|
|
458
463
|
content.language_data[glitter.getUrlParameter('language')].config = config;
|
|
459
|
-
Article.put(data.response.data[0]).then(
|
|
464
|
+
Article.put(data.response.data[0]).then(response => {
|
|
460
465
|
resolve(response && response.result);
|
|
461
466
|
});
|
|
462
467
|
}));
|
|
@@ -473,7 +478,7 @@ init(import.meta.url, (gvc, glitter, gBundle) => {
|
|
|
473
478
|
page_type: viewModel.data.page_type,
|
|
474
479
|
preview_image: viewModel.data.preview_image,
|
|
475
480
|
favorite: viewModel.data.favorite,
|
|
476
|
-
}).then(
|
|
481
|
+
}).then(api => {
|
|
477
482
|
resolve(result && api.result);
|
|
478
483
|
});
|
|
479
484
|
}
|
|
@@ -516,7 +521,7 @@ init(import.meta.url, (gvc, glitter, gBundle) => {
|
|
|
516
521
|
}
|
|
517
522
|
});
|
|
518
523
|
}
|
|
519
|
-
saveEvent().then(
|
|
524
|
+
saveEvent().then(r => {
|
|
520
525
|
callback && callback();
|
|
521
526
|
});
|
|
522
527
|
};
|
|
@@ -556,10 +561,11 @@ init(import.meta.url, (gvc, glitter, gBundle) => {
|
|
|
556
561
|
view.push(NormalPageEditor.leftNav(gvc));
|
|
557
562
|
try {
|
|
558
563
|
const doc = new Editor(gvc, viewModel);
|
|
559
|
-
view.push(doc.create(html `
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
564
|
+
view.push(doc.create(html ` <div
|
|
565
|
+
class="d-flex overflow-hidden border-end guide-user-editor-1"
|
|
566
|
+
style="height:100vh;background:white;"
|
|
567
|
+
>
|
|
568
|
+
${gvc.bindView(() => {
|
|
563
569
|
return {
|
|
564
570
|
bind: 'left_sm_bar',
|
|
565
571
|
view: () => {
|
|
@@ -572,15 +578,15 @@ init(import.meta.url, (gvc, glitter, gBundle) => {
|
|
|
572
578
|
{
|
|
573
579
|
src: `fa-sharp fa-regular fa-globe guide-user-editor-11-icon`,
|
|
574
580
|
index: 'color',
|
|
575
|
-
hint: '全站樣式'
|
|
581
|
+
hint: '全站樣式',
|
|
576
582
|
},
|
|
577
583
|
{
|
|
578
584
|
src: `fa-regular fa-grid-2 design-guide-1-icon`,
|
|
579
585
|
index: 'widget',
|
|
580
|
-
hint: '設計元件'
|
|
581
|
-
}
|
|
586
|
+
hint: '設計元件',
|
|
587
|
+
},
|
|
582
588
|
]
|
|
583
|
-
.filter(
|
|
589
|
+
.filter(dd => {
|
|
584
590
|
if (gvc.glitter.getUrlParameter('device') === 'mobile') {
|
|
585
591
|
return dd.index !== 'widget';
|
|
586
592
|
}
|
|
@@ -590,36 +596,40 @@ init(import.meta.url, (gvc, glitter, gBundle) => {
|
|
|
590
596
|
})
|
|
591
597
|
.map((da) => {
|
|
592
598
|
return html `<i
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
${Storage.page_setting_item === `${da.index}`
|
|
599
|
+
class=" ${da.src} fs-5 fw-bold p-2 rounded"
|
|
600
|
+
data-bs-toggle="tooltip"
|
|
601
|
+
data-bs-placement="top"
|
|
602
|
+
data-bs-custom-class="custom-tooltip"
|
|
603
|
+
data-bs-title="${da.hint}"
|
|
604
|
+
style="cursor:pointer;
|
|
605
|
+
${Storage.page_setting_item === `${da.index}`
|
|
606
|
+
? `background:${EditorConfig.editor_layout.btn_background};color:white;`
|
|
607
|
+
: ``}
|
|
600
608
|
"
|
|
601
|
-
|
|
609
|
+
onclick="${gvc.event(() => {
|
|
602
610
|
viewModel.waitCopy = undefined;
|
|
603
611
|
viewModel.selectItem = undefined;
|
|
604
612
|
Storage.page_setting_item = da.index;
|
|
605
|
-
gvc.notifyDataChange([
|
|
613
|
+
gvc.notifyDataChange(['MainEditorLeft', 'left_sm_bar']);
|
|
606
614
|
})}"
|
|
607
|
-
|
|
615
|
+
></i>`;
|
|
608
616
|
})
|
|
609
617
|
.join('')}`;
|
|
610
618
|
},
|
|
611
619
|
divCreate: {
|
|
612
620
|
style: `width:60px;gap:20px;padding-top: 15px;min-width:60px;`,
|
|
613
|
-
class: `${Storage.select_function === 'user-editor' || Storage.select_function === 'page-editor'
|
|
621
|
+
class: `${Storage.select_function === 'user-editor' || Storage.select_function === 'page-editor'
|
|
622
|
+
? ``
|
|
623
|
+
: `d-none`} h-120 border-end d-flex flex-column align-items-center`,
|
|
614
624
|
},
|
|
615
625
|
onCreate: () => {
|
|
616
626
|
$('.tooltip').remove();
|
|
617
627
|
$('[data-bs-toggle="tooltip"]').tooltip();
|
|
618
|
-
}
|
|
628
|
+
},
|
|
619
629
|
};
|
|
620
630
|
})}
|
|
621
|
-
|
|
622
|
-
|
|
631
|
+
<div
|
|
632
|
+
class="offcanvas-body swiper scrollbar-hover w-120 ${(() => {
|
|
623
633
|
switch (Storage.select_function) {
|
|
624
634
|
case 'backend-manger':
|
|
625
635
|
case 'server-manager':
|
|
@@ -630,10 +640,13 @@ ${Storage.page_setting_item === `${da.index}` ? `background:${EditorConfig.edito
|
|
|
630
640
|
return `p-0`;
|
|
631
641
|
}
|
|
632
642
|
})()}"
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
643
|
+
style="overflow-y: auto;overflow-x:hidden;height:calc(100vh - ${document.body.clientWidth < 800 ||
|
|
644
|
+
document.body.clientWidth > 1200
|
|
645
|
+
? 56
|
|
646
|
+
: parseInt(glitter.share.top_inset, 10) + 56}px);"
|
|
647
|
+
>
|
|
648
|
+
<div class="h-120">
|
|
649
|
+
${gvc.bindView(() => {
|
|
637
650
|
return {
|
|
638
651
|
bind: 'MainEditorLeft',
|
|
639
652
|
view: () => __awaiter(void 0, void 0, void 0, function* () {
|
|
@@ -646,7 +659,8 @@ ${Storage.page_setting_item === `${da.index}` ? `background:${EditorConfig.edito
|
|
|
646
659
|
case 'page-editor':
|
|
647
660
|
case 'user-editor':
|
|
648
661
|
if (Storage.select_function === 'user-editor') {
|
|
649
|
-
if (!viewModel.data.page_config ||
|
|
662
|
+
if (!viewModel.data.page_config ||
|
|
663
|
+
viewModel.data.page_config.support_editor !== 'true') {
|
|
650
664
|
console.log(glitter.root_path);
|
|
651
665
|
}
|
|
652
666
|
}
|
|
@@ -673,10 +687,10 @@ ${Storage.page_setting_item === `${da.index}` ? `background:${EditorConfig.edito
|
|
|
673
687
|
},
|
|
674
688
|
};
|
|
675
689
|
})}
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
|
|
690
|
+
</div>
|
|
691
|
+
<div class="swiper-scrollbar end-0"></div>
|
|
692
|
+
</div>
|
|
693
|
+
</div>`, gvc.bindView({
|
|
680
694
|
bind: 'MainEditorRight',
|
|
681
695
|
view: () => {
|
|
682
696
|
return ``;
|
|
@@ -723,7 +737,7 @@ ${Storage.page_setting_item === `${da.index}` ? `background:${EditorConfig.edito
|
|
|
723
737
|
else {
|
|
724
738
|
}
|
|
725
739
|
}
|
|
726
|
-
|
|
740
|
+
ApiUser.getSaasUserData(GlobalUser.saas_token, 'me').then(res => {
|
|
727
741
|
const userData = res.response;
|
|
728
742
|
if (!userData.userData.name || !userData.userData.contact_phone) {
|
|
729
743
|
SaasViewModel.setContactInfo(gvc);
|
|
@@ -742,20 +756,19 @@ ${Storage.page_setting_item === `${da.index}` ? `background:${EditorConfig.edito
|
|
|
742
756
|
},
|
|
743
757
|
});
|
|
744
758
|
},
|
|
745
|
-
onCreate: () => {
|
|
746
|
-
},
|
|
759
|
+
onCreate: () => { },
|
|
747
760
|
onResume: () => {
|
|
748
761
|
setTimeout(() => {
|
|
749
762
|
gvc.notifyDataChange('MainEditorLeft');
|
|
750
763
|
}, 100);
|
|
751
|
-
}
|
|
764
|
+
},
|
|
752
765
|
};
|
|
753
766
|
});
|
|
754
767
|
function initialEditor(gvc, viewModel) {
|
|
755
768
|
var _a;
|
|
756
769
|
const glitter = gvc.glitter;
|
|
757
770
|
setTimeout(() => {
|
|
758
|
-
if (EditorConfig.backend_page() === 'backend-manger' &&
|
|
771
|
+
if (EditorConfig.backend_page() === 'backend-manger' && glitter.getUrlParameter('page') !== 'cms') {
|
|
759
772
|
setTimeout(() => {
|
|
760
773
|
glitter.setUrlParameter('page', 'cms');
|
|
761
774
|
}, 100);
|
|
@@ -768,13 +781,13 @@ function initialEditor(gvc, viewModel) {
|
|
|
768
781
|
dialog.dataLoading({ visible: true });
|
|
769
782
|
AiChat.generateHtml({
|
|
770
783
|
app_name: window.appName,
|
|
771
|
-
text: message
|
|
772
|
-
}).then(
|
|
784
|
+
text: message,
|
|
785
|
+
}).then(res => {
|
|
773
786
|
if (res.result && res.response.data.usage === 0) {
|
|
774
787
|
dialog.dataLoading({ visible: false });
|
|
775
788
|
dialog.errorMessage({ text: `很抱歉你的AI代幣不足,請先前往加值` });
|
|
776
789
|
}
|
|
777
|
-
else if (res.result &&
|
|
790
|
+
else if (res.result && !res.response.data.obj.result) {
|
|
778
791
|
dialog.dataLoading({ visible: false });
|
|
779
792
|
dialog.errorMessage({ text: `AI無法理解你的需求,請給出具體一點的描述` });
|
|
780
793
|
}
|
|
@@ -785,112 +798,113 @@ function initialEditor(gvc, viewModel) {
|
|
|
785
798
|
else {
|
|
786
799
|
res.response.data.obj.html;
|
|
787
800
|
AddComponent.addWidget(gvc, {
|
|
788
|
-
|
|
789
|
-
|
|
790
|
-
|
|
791
|
-
|
|
792
|
-
|
|
793
|
-
|
|
794
|
-
|
|
795
|
-
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
|
|
800
|
-
|
|
801
|
-
|
|
802
|
-
|
|
803
|
-
|
|
804
|
-
|
|
805
|
-
|
|
806
|
-
|
|
807
|
-
|
|
808
|
-
|
|
809
|
-
|
|
810
|
-
|
|
811
|
-
|
|
812
|
-
|
|
813
|
-
|
|
814
|
-
|
|
815
|
-
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
|
|
801
|
+
id: 's7scs2s9s3s5s8sc',
|
|
802
|
+
js: './official_view_component/official.js',
|
|
803
|
+
css: { class: {}, style: {} },
|
|
804
|
+
data: {
|
|
805
|
+
refer_app: 'shop_template_black_style',
|
|
806
|
+
tag: 'custom-code',
|
|
807
|
+
list: [],
|
|
808
|
+
carryData: {},
|
|
809
|
+
_style_refer_global: { index: '0' },
|
|
810
|
+
_style_refer: 'custom',
|
|
811
|
+
elem: 'div',
|
|
812
|
+
inner: '',
|
|
813
|
+
attr: [],
|
|
814
|
+
_padding: {},
|
|
815
|
+
_margin: {},
|
|
816
|
+
_border: {},
|
|
817
|
+
_max_width: '1200',
|
|
818
|
+
_gap: '',
|
|
819
|
+
_background: '',
|
|
820
|
+
_other: {},
|
|
821
|
+
_radius: '',
|
|
822
|
+
_reverse: 'false',
|
|
823
|
+
_hor_position: 'center',
|
|
824
|
+
_background_setting: { type: 'none' },
|
|
825
|
+
refer_form_data: {
|
|
826
|
+
code: res.response.data.obj.html,
|
|
827
|
+
width: { unit: 'px', value: '0px', number: '0' },
|
|
828
|
+
height: {
|
|
829
|
+
unit: 'px',
|
|
830
|
+
value: '50px',
|
|
831
|
+
number: '50',
|
|
819
832
|
},
|
|
820
|
-
|
|
821
|
-
|
|
822
|
-
|
|
823
|
-
|
|
824
|
-
|
|
825
|
-
|
|
826
|
-
|
|
827
|
-
|
|
828
|
-
|
|
829
|
-
|
|
830
|
-
|
|
831
|
-
|
|
832
|
-
}
|
|
833
|
-
}
|
|
833
|
+
with_bg: 'false',
|
|
834
|
+
background: {
|
|
835
|
+
id: 'custom-background',
|
|
836
|
+
title: '#030303',
|
|
837
|
+
content: '#000000',
|
|
838
|
+
'sec-title': '#000000',
|
|
839
|
+
background: '#ffffff',
|
|
840
|
+
'sec-background': '#FFFFFF',
|
|
841
|
+
'solid-button-bg': '#000000',
|
|
842
|
+
'border-button-bg': '#000000',
|
|
843
|
+
'solid-button-text': '#ffffff',
|
|
844
|
+
'border-button-text': '#000000',
|
|
845
|
+
},
|
|
846
|
+
},
|
|
834
847
|
},
|
|
835
|
-
|
|
836
|
-
|
|
837
|
-
|
|
838
|
-
|
|
839
|
-
|
|
840
|
-
|
|
841
|
-
|
|
842
|
-
|
|
843
|
-
|
|
844
|
-
|
|
845
|
-
|
|
846
|
-
|
|
847
|
-
|
|
848
|
-
|
|
849
|
-
|
|
850
|
-
|
|
851
|
-
|
|
852
|
-
|
|
853
|
-
|
|
854
|
-
|
|
855
|
-
|
|
856
|
-
|
|
857
|
-
|
|
858
|
-
|
|
859
|
-
|
|
860
|
-
|
|
861
|
-
|
|
862
|
-
|
|
863
|
-
|
|
864
|
-
|
|
865
|
-
|
|
866
|
-
|
|
867
|
-
|
|
868
|
-
|
|
869
|
-
|
|
870
|
-
|
|
871
|
-
|
|
872
|
-
|
|
873
|
-
|
|
874
|
-
|
|
875
|
-
|
|
876
|
-
|
|
877
|
-
|
|
878
|
-
|
|
879
|
-
|
|
880
|
-
|
|
881
|
-
|
|
882
|
-
|
|
848
|
+
type: 'component',
|
|
849
|
+
class: 'w-100',
|
|
850
|
+
index: 0,
|
|
851
|
+
label: '自定義HTML代碼',
|
|
852
|
+
style: '',
|
|
853
|
+
bundle: {},
|
|
854
|
+
global: [],
|
|
855
|
+
toggle: true,
|
|
856
|
+
stylist: [],
|
|
857
|
+
dataType: 'static',
|
|
858
|
+
style_from: 'code',
|
|
859
|
+
classDataType: 'static',
|
|
860
|
+
preloadEvenet: {},
|
|
861
|
+
share: {},
|
|
862
|
+
formData: {},
|
|
863
|
+
refreshAllParameter: {},
|
|
864
|
+
editor_bridge: {},
|
|
865
|
+
refreshComponentParameter: {},
|
|
866
|
+
list: [],
|
|
867
|
+
version: 'v2',
|
|
868
|
+
storage: {},
|
|
869
|
+
mobile: {
|
|
870
|
+
id: 's7scs2s9s3s5s8sc',
|
|
871
|
+
js: './official_view_component/official.js',
|
|
872
|
+
css: { class: {}, style: {} },
|
|
873
|
+
data: { refer_app: 'shop_template_black_style' },
|
|
874
|
+
type: 'component',
|
|
875
|
+
class: 'w-100',
|
|
876
|
+
index: 0,
|
|
877
|
+
label: '自定義HTML代碼',
|
|
878
|
+
style: '',
|
|
879
|
+
global: [],
|
|
880
|
+
toggle: true,
|
|
881
|
+
stylist: [],
|
|
882
|
+
dataType: 'static',
|
|
883
|
+
style_from: 'code',
|
|
884
|
+
classDataType: 'static',
|
|
885
|
+
preloadEvenet: {},
|
|
886
|
+
refreshAllParameter: {},
|
|
887
|
+
editor_bridge: {},
|
|
888
|
+
refreshComponentParameter: {},
|
|
889
|
+
list: [],
|
|
890
|
+
version: 'v2',
|
|
891
|
+
mobile_editable: [],
|
|
892
|
+
desktop_editable: [],
|
|
893
|
+
container_fonts: 0,
|
|
894
|
+
visible: true,
|
|
895
|
+
refer: 'custom',
|
|
883
896
|
},
|
|
884
|
-
|
|
885
|
-
|
|
886
|
-
|
|
887
|
-
|
|
888
|
-
|
|
889
|
-
},
|
|
897
|
+
mobile_editable: [],
|
|
898
|
+
desktop: {
|
|
899
|
+
data: {
|
|
900
|
+
refer_app: 'shop_template_black_style',
|
|
901
|
+
refer_form_data: {},
|
|
902
|
+
},
|
|
903
|
+
refer: 'custom',
|
|
890
904
|
},
|
|
891
|
-
|
|
892
|
-
|
|
893
|
-
|
|
905
|
+
desktop_editable: [],
|
|
906
|
+
container_fonts: 0,
|
|
907
|
+
visible: true,
|
|
894
908
|
});
|
|
895
909
|
dialog.successMessage({ text: `AI生成完畢,使用了『${res.response.data.usage}』點 AI Points.` });
|
|
896
910
|
}
|
|
@@ -904,12 +918,14 @@ function initialEditor(gvc, viewModel) {
|
|
|
904
918
|
backGroundColor: `transparent;`,
|
|
905
919
|
carry_search: [
|
|
906
920
|
{
|
|
907
|
-
key: 'device',
|
|
921
|
+
key: 'device',
|
|
922
|
+
value: device,
|
|
908
923
|
},
|
|
909
924
|
{
|
|
910
|
-
key: 'function',
|
|
911
|
-
|
|
912
|
-
|
|
925
|
+
key: 'function',
|
|
926
|
+
value: 'user-editor',
|
|
927
|
+
},
|
|
928
|
+
],
|
|
913
929
|
});
|
|
914
930
|
};
|
|
915
931
|
glitter.share.subscription = (title) => __awaiter(this, void 0, void 0, function* () {
|
|
@@ -923,11 +939,11 @@ function initialEditor(gvc, viewModel) {
|
|
|
923
939
|
email: '',
|
|
924
940
|
invoice_type: 'me',
|
|
925
941
|
company: '',
|
|
926
|
-
gui_number: ''
|
|
942
|
+
gui_number: '',
|
|
927
943
|
},
|
|
928
|
-
customer_info: {}
|
|
944
|
+
customer_info: {},
|
|
929
945
|
};
|
|
930
|
-
const dd =
|
|
946
|
+
const dd = yield ApiUser.getPublicConfig('ai-points-store', 'manager');
|
|
931
947
|
if (dd.response.value) {
|
|
932
948
|
vm.user_info = dd.response.value;
|
|
933
949
|
}
|
|
@@ -949,15 +965,17 @@ function initialEditor(gvc, viewModel) {
|
|
|
949
965
|
page: 0,
|
|
950
966
|
searchType: 'sku',
|
|
951
967
|
search: sku,
|
|
952
|
-
app_name: window.parent.glitterBase
|
|
968
|
+
app_name: window.parent.glitterBase,
|
|
953
969
|
});
|
|
954
|
-
vm.line_items = [
|
|
970
|
+
vm.line_items = [
|
|
971
|
+
{
|
|
955
972
|
id: product.response.data[0].id,
|
|
956
973
|
spec: product.response.data[0].content.variants.find((dd) => {
|
|
957
974
|
return dd.sku === sku;
|
|
958
975
|
}).spec,
|
|
959
|
-
count: 1
|
|
960
|
-
}
|
|
976
|
+
count: 1,
|
|
977
|
+
},
|
|
978
|
+
];
|
|
961
979
|
BgWidget.settingDialog({
|
|
962
980
|
gvc: gvc,
|
|
963
981
|
title: title,
|
|
@@ -967,52 +985,62 @@ function initialEditor(gvc, viewModel) {
|
|
|
967
985
|
gvc: gvc,
|
|
968
986
|
title: `發票寄送電子信箱`,
|
|
969
987
|
placeHolder: '請輸入發票寄送電子信箱',
|
|
970
|
-
callback:
|
|
988
|
+
callback: text => {
|
|
971
989
|
vm.user_info.email = text;
|
|
972
990
|
},
|
|
973
991
|
type: 'email',
|
|
974
|
-
default: vm.user_info.email
|
|
992
|
+
default: vm.user_info.email,
|
|
975
993
|
}),
|
|
976
994
|
`<div class="tx_normal fw-normal" >發票開立方式</div>`,
|
|
977
995
|
BgWidget.select({
|
|
978
|
-
gvc: gvc,
|
|
996
|
+
gvc: gvc,
|
|
997
|
+
callback: text => {
|
|
979
998
|
vm.user_info.invoice_type = text;
|
|
980
999
|
gvc.recreateView();
|
|
981
|
-
},
|
|
1000
|
+
},
|
|
1001
|
+
options: [
|
|
982
1002
|
{ key: 'me', value: '個人單位' },
|
|
983
|
-
{ key: 'company', value: '公司行號' }
|
|
984
|
-
],
|
|
1003
|
+
{ key: 'company', value: '公司行號' },
|
|
1004
|
+
],
|
|
1005
|
+
default: vm.user_info.invoice_type,
|
|
985
1006
|
}),
|
|
986
1007
|
...(() => {
|
|
987
1008
|
if (vm.user_info.invoice_type === 'company') {
|
|
988
1009
|
return [
|
|
989
1010
|
BgWidget.editeInput({
|
|
990
|
-
gvc: gvc,
|
|
1011
|
+
gvc: gvc,
|
|
1012
|
+
title: `發票抬頭`,
|
|
1013
|
+
placeHolder: '請輸入發票抬頭',
|
|
1014
|
+
callback: text => {
|
|
991
1015
|
vm.user_info.company = text;
|
|
992
|
-
},
|
|
1016
|
+
},
|
|
1017
|
+
type: 'text',
|
|
1018
|
+
default: `${vm.user_info.company}`,
|
|
993
1019
|
}),
|
|
994
1020
|
BgWidget.editeInput({
|
|
995
1021
|
gvc: gvc,
|
|
996
1022
|
title: `公司統一編號`,
|
|
997
1023
|
placeHolder: '請輸入統一編號',
|
|
998
|
-
callback:
|
|
1024
|
+
callback: text => {
|
|
999
1025
|
vm.user_info.gui_number = text;
|
|
1000
1026
|
},
|
|
1001
1027
|
type: 'number',
|
|
1002
|
-
default: `${vm.user_info.gui_number}
|
|
1003
|
-
})
|
|
1028
|
+
default: `${vm.user_info.gui_number}`,
|
|
1029
|
+
}),
|
|
1004
1030
|
];
|
|
1005
1031
|
}
|
|
1006
1032
|
else {
|
|
1007
1033
|
return [];
|
|
1008
1034
|
}
|
|
1009
|
-
})()
|
|
1035
|
+
})(),
|
|
1010
1036
|
].join(`<div class="my-2"></div>`)}</div>`;
|
|
1011
1037
|
},
|
|
1012
1038
|
footer_html: (gvc) => {
|
|
1013
|
-
return [
|
|
1039
|
+
return [
|
|
1040
|
+
BgWidget.cancel(gvc.event(() => {
|
|
1014
1041
|
gvc.closeDialog();
|
|
1015
|
-
})),
|
|
1042
|
+
})),
|
|
1043
|
+
BgWidget.save(gvc.event(() => __awaiter(this, void 0, void 0, function* () {
|
|
1016
1044
|
if (vm.user_info.invoice_type !== 'company') {
|
|
1017
1045
|
vm.user_info.company = '';
|
|
1018
1046
|
vm.user_info.gui_number = '';
|
|
@@ -1044,10 +1072,10 @@ function initialEditor(gvc, viewModel) {
|
|
|
1044
1072
|
user_id: 'manager',
|
|
1045
1073
|
});
|
|
1046
1074
|
vm.note = {
|
|
1047
|
-
invoice_data: vm.user_info
|
|
1075
|
+
invoice_data: vm.user_info,
|
|
1048
1076
|
};
|
|
1049
1077
|
vm.customer_info = {
|
|
1050
|
-
|
|
1078
|
+
payment_select: 'ecPay',
|
|
1051
1079
|
};
|
|
1052
1080
|
vm.user_info.appName = window.parent.appName;
|
|
1053
1081
|
BaseApi.create({
|
|
@@ -1056,7 +1084,7 @@ function initialEditor(gvc, viewModel) {
|
|
|
1056
1084
|
headers: {
|
|
1057
1085
|
'Content-Type': 'application/json',
|
|
1058
1086
|
'g-app': 'shopnex',
|
|
1059
|
-
|
|
1087
|
+
Authorization: GlobalUser.saas_token,
|
|
1060
1088
|
},
|
|
1061
1089
|
data: JSON.stringify(vm),
|
|
1062
1090
|
}).then((res) => __awaiter(this, void 0, void 0, function* () {
|
|
@@ -1064,14 +1092,16 @@ function initialEditor(gvc, viewModel) {
|
|
|
1064
1092
|
if (res.response.form) {
|
|
1065
1093
|
const id = gvc.glitter.getUUID();
|
|
1066
1094
|
if (gvc.glitter.deviceType === gvc.glitter.deviceTypeEnum.Ios) {
|
|
1067
|
-
gvc.glitter.runJsInterFace(
|
|
1068
|
-
form: res.response.form
|
|
1095
|
+
gvc.glitter.runJsInterFace('toCheckout', {
|
|
1096
|
+
form: res.response.form,
|
|
1069
1097
|
}, () => {
|
|
1070
1098
|
window.parent.location.reload();
|
|
1071
1099
|
});
|
|
1072
1100
|
}
|
|
1073
1101
|
else {
|
|
1074
|
-
window
|
|
1102
|
+
window
|
|
1103
|
+
.$('body')
|
|
1104
|
+
.append(`<div id="${id}" style="display: none;">${res.response.form}</div>`);
|
|
1075
1105
|
window.document.querySelector(`#${id} #submit`).click();
|
|
1076
1106
|
}
|
|
1077
1107
|
gvc.closeDialog();
|
|
@@ -1080,8 +1110,9 @@ function initialEditor(gvc, viewModel) {
|
|
|
1080
1110
|
dialog.errorMessage({ text: '發生錯誤' });
|
|
1081
1111
|
}
|
|
1082
1112
|
}));
|
|
1083
|
-
})))
|
|
1084
|
-
|
|
1113
|
+
}))),
|
|
1114
|
+
].join('');
|
|
1115
|
+
},
|
|
1085
1116
|
});
|
|
1086
1117
|
});
|
|
1087
1118
|
if (gvc.glitter.getUrlParameter('device') === 'mobile') {
|
|
@@ -1095,8 +1126,7 @@ function initialEditor(gvc, viewModel) {
|
|
|
1095
1126
|
glitter.share.swal = swal;
|
|
1096
1127
|
glitter.share.pastEvent = () => {
|
|
1097
1128
|
if (!glitter.share.copycomponent) {
|
|
1098
|
-
swal.nextStep(`請先複製元件`, () => {
|
|
1099
|
-
}, 'error');
|
|
1129
|
+
swal.nextStep(`請先複製元件`, () => { }, 'error');
|
|
1100
1130
|
return;
|
|
1101
1131
|
}
|
|
1102
1132
|
let copy = JSON.parse(glitter.share.copycomponent);
|
|
@@ -1195,7 +1225,7 @@ function initialEditor(gvc, viewModel) {
|
|
|
1195
1225
|
Storage.lastSelect = data.id;
|
|
1196
1226
|
glitter.htmlGenerate.hover_items = [Storage.lastSelect];
|
|
1197
1227
|
data.data._style_refer_global = {
|
|
1198
|
-
index: `0
|
|
1228
|
+
index: `0`,
|
|
1199
1229
|
};
|
|
1200
1230
|
console.log('viewModel.selectContainer==>', viewModel.selectContainer);
|
|
1201
1231
|
console.log('viewModel.selectContainer.container_config==>', viewModel.selectContainer.container_config);
|
|
@@ -1203,8 +1233,7 @@ function initialEditor(gvc, viewModel) {
|
|
|
1203
1233
|
try {
|
|
1204
1234
|
viewModel.selectContainer.container_config.getElement().recreateView();
|
|
1205
1235
|
}
|
|
1206
|
-
catch (e) {
|
|
1207
|
-
}
|
|
1236
|
+
catch (e) { }
|
|
1208
1237
|
}
|
|
1209
1238
|
else {
|
|
1210
1239
|
$(viewModel.selectContainer.container_config.getElement()).append(glitter.htmlGenerate.renderWidgetSingle({
|
|
@@ -1237,7 +1266,9 @@ function initialEditor(gvc, viewModel) {
|
|
|
1237
1266
|
glitter.share.loading_dialog.dataLoading({ visible: false });
|
|
1238
1267
|
}, 1000);
|
|
1239
1268
|
}, 100);
|
|
1240
|
-
viewModel.selectContainer &&
|
|
1269
|
+
viewModel.selectContainer &&
|
|
1270
|
+
viewModel.selectContainer.rerenderReplaceElem &&
|
|
1271
|
+
viewModel.selectContainer.rerenderReplaceElem();
|
|
1241
1272
|
}
|
|
1242
1273
|
AddComponent.toggle(false);
|
|
1243
1274
|
};
|
|
@@ -1292,9 +1323,20 @@ function initialEditor(gvc, viewModel) {
|
|
|
1292
1323
|
}, 1000);
|
|
1293
1324
|
}, 100);
|
|
1294
1325
|
AddComponent.toggle(false);
|
|
1295
|
-
viewModel.selectContainer &&
|
|
1326
|
+
viewModel.selectContainer &&
|
|
1327
|
+
viewModel.selectContainer.rerenderReplaceElem &&
|
|
1328
|
+
viewModel.selectContainer.rerenderReplaceElem();
|
|
1296
1329
|
};
|
|
1297
1330
|
shortCutKey(gvc);
|
|
1331
|
+
ApiPageConfig.getPageTemplate({
|
|
1332
|
+
template_from: 'all',
|
|
1333
|
+
page: '0',
|
|
1334
|
+
limit: '3000',
|
|
1335
|
+
type: 'module',
|
|
1336
|
+
tag: '標頭元件,商品卡片,頁腳元件',
|
|
1337
|
+
}).then(res => {
|
|
1338
|
+
glitter.share._global_component = res.response.result.data;
|
|
1339
|
+
});
|
|
1298
1340
|
}
|
|
1299
1341
|
function shortCutKey(gvc) {
|
|
1300
1342
|
document.addEventListener('keydown', function (event) {
|