ts-glitter 21.8.4 → 21.8.7

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 (38) hide show
  1. package/lowcode/Entry.js +1 -1
  2. package/lowcode/Entry.ts +1 -1
  3. package/lowcode/cms-plugin/POS-setting.js +18 -6
  4. package/lowcode/cms-plugin/POS-setting.ts +22 -10
  5. package/lowcode/cms-plugin/pos-pages/payment-page.js +9 -2
  6. package/lowcode/cms-plugin/pos-pages/payment-page.ts +11 -3
  7. package/lowcode/cms-plugin/stock-stores.js +55 -0
  8. package/lowcode/cms-plugin/stock-stores.ts +59 -0
  9. package/lowcode/editor/basic-component.js +10 -0
  10. package/lowcode/editor/basic-component.ts +11 -1
  11. package/lowcode/glitterBundle/plugins/html-render.js +0 -2
  12. package/lowcode/glitterBundle/plugins/html-render.ts +0 -1
  13. package/lowcode/jspage/function-page/setting_editor.js +1 -1
  14. package/lowcode/jspage/function-page/setting_editor.ts +1 -1
  15. package/lowcode/jspage/function-page/tool-setting.js +1 -5
  16. package/lowcode/jspage/function-page/tool-setting.ts +5 -4
  17. package/lowcode/jspage/main.js +1 -6
  18. package/lowcode/jspage/main.ts +1 -6
  19. package/lowcode/modules/image-library.js +0 -1
  20. package/lowcode/modules/image-library.ts +1 -1
  21. package/lowcode/official_view_component/official/component.js +1 -1
  22. package/lowcode/official_view_component/official/component.ts +1 -1
  23. package/lowcode/public-components/banner/first-banner.js +50 -85
  24. package/lowcode/public-components/banner/first-banner.ts +59 -96
  25. package/lowcode/public-components/layout-plugin/social-links-01.js +55 -34
  26. package/lowcode/public-components/layout-plugin/social-links-01.ts +68 -43
  27. package/package.json +1 -1
  28. package/src/api-public/services/checkout-event.js +75 -40
  29. package/src/api-public/services/checkout-event.js.map +1 -1
  30. package/src/api-public/services/checkout-event.ts +82 -31
  31. package/src/api-public/services/data-analyze.d.ts +1 -1
  32. package/src/api-public/services/shopping.d.ts +1 -0
  33. package/src/api-public/services/shopping.js +60 -49
  34. package/src/api-public/services/shopping.js.map +1 -1
  35. package/src/api-public/services/shopping.ts +87 -62
  36. package/src/services/saas-table-check.js +1 -1
  37. package/src/services/saas-table-check.js.map +1 -1
  38. package/src/services/saas-table-check.ts +1 -1
package/lowcode/Entry.js CHANGED
@@ -146,7 +146,7 @@ export class Entry {
146
146
  }
147
147
  window.renderClock = (_b = window.renderClock) !== null && _b !== void 0 ? _b : createClock();
148
148
  console.log(`Entry-time:`, window.renderClock.stop());
149
- glitter.share.editerVersion = 'V_21.8.4';
149
+ glitter.share.editerVersion = 'V_21.8.7';
150
150
  glitter.share.start = new Date();
151
151
  const vm = { appConfig: [] };
152
152
  window.saasConfig = {
package/lowcode/Entry.ts CHANGED
@@ -150,7 +150,7 @@ export class Entry {
150
150
  }
151
151
  (window as any).renderClock = (window as any).renderClock ?? createClock();
152
152
  console.log(`Entry-time:`, (window as any).renderClock.stop());
153
- glitter.share.editerVersion = 'V_21.8.4';
153
+ glitter.share.editerVersion = 'V_21.8.7';
154
154
  glitter.share.start = new Date();
155
155
  const vm = { appConfig: [] };
156
156
  (window as any).saasConfig = {
@@ -347,6 +347,13 @@ export class POSSetting {
347
347
  });
348
348
  return product.content.variants.find((variant) => arraysEqual(variant.spec, emptyArray));
349
349
  }
350
+ data.content.specs.map((dd, index) => {
351
+ dd.option.map((d1, index) => {
352
+ d1.select = index === 0;
353
+ });
354
+ });
355
+ selectVariant = changeSelectVariant(data);
356
+ obj.callback(selectVariant);
350
357
  gvc.glitter.innerDialog(gvc => {
351
358
  return gvc.bindView({
352
359
  bind: 'productDialog',
@@ -354,10 +361,14 @@ export class POSSetting {
354
361
  var _a;
355
362
  try {
356
363
  selectVariant.preview_image = selectVariant.preview_image || [];
357
- selectVariant.stock =
358
- (selectVariant.stockList[POSSetting.config.where_store] &&
359
- parseInt(selectVariant.stockList[POSSetting.config.where_store].count, 10)) ||
360
- 0;
364
+ selectVariant.stock = gvc.glitter.share.store_list.filter((dd) => {
365
+ var _a;
366
+ return (dd.id === POSSetting.config.where_store) || ((_a = gvc.glitter.share.store_list.find((dd) => {
367
+ return dd.id === POSSetting.config.where_store;
368
+ }).support_store) !== null && _a !== void 0 ? _a : []).includes(dd.id);
369
+ }).map((d1) => {
370
+ return selectVariant.stockList[d1.id].count;
371
+ }).reduce((acc, val) => acc + val, 0);
361
372
  return html ` <div
362
373
  class="w-100 h-100 d-flex align-items-center justify-content-center"
363
374
  onclick="${gvc.event(() => gvc.glitter.closeDiaLog())}"
@@ -507,7 +518,7 @@ export class POSSetting {
507
518
  </div>
508
519
  ${selectVariant.show_understocking === 'false'
509
520
  ? ''
510
- : BgWidget.blueNote('查看其他庫存點', gvc.event(() => {
521
+ : BgWidget.blueNote('查看各庫存點數量', gvc.event(() => {
511
522
  BgWidget.settingDialog({
512
523
  gvc,
513
524
  title: '其他庫存點',
@@ -528,7 +539,7 @@ export class POSSetting {
528
539
  return dataList.map((dd) => {
529
540
  return [
530
541
  {
531
- key: '門市名稱',
542
+ key: '門市/庫存點',
532
543
  value: `<span class="fs-7">${dd.name}</span>`,
533
544
  },
534
545
  {
@@ -540,6 +551,7 @@ export class POSSetting {
540
551
  }
541
552
  ApiUser.getPublicConfig('store_manager', 'manager').then((dd) => {
542
553
  var _a;
554
+ console.log(`selectVariant===>`, selectVariant);
543
555
  if (dd.result && Array.isArray((_a = dd.response.value) === null || _a === void 0 ? void 0 : _a.list)) {
544
556
  dd.response.value.list.map((store) => {
545
557
  var _a, _b, _c;
@@ -385,6 +385,7 @@ export class POSSetting {
385
385
  const data = obj.defaultData;
386
386
  const orderDetail = obj.orderDetail;
387
387
  let selectVariant = obj.selectVariant;
388
+
388
389
  let count = 1;
389
390
 
390
391
  function arraysEqual(arr1: any[], arr2: any[]) {
@@ -399,7 +400,13 @@ export class POSSetting {
399
400
  });
400
401
  return product.content.variants.find((variant: any) => arraysEqual(variant.spec, emptyArray));
401
402
  }
402
-
403
+ data.content.specs.map((dd:any,index:number)=>{
404
+ dd.option.map((d1:any,index:number)=>{
405
+ d1.select = index===0;
406
+ })
407
+ });
408
+ selectVariant = changeSelectVariant(data);
409
+ obj.callback(selectVariant);
403
410
  gvc.glitter.innerDialog(
404
411
  gvc => {
405
412
  return gvc.bindView({
@@ -407,10 +414,16 @@ export class POSSetting {
407
414
  view: () => {
408
415
  try {
409
416
  selectVariant.preview_image = selectVariant.preview_image || [];
410
- selectVariant.stock =
411
- (selectVariant.stockList[POSSetting.config.where_store] &&
412
- parseInt(selectVariant.stockList[POSSetting.config.where_store].count, 10)) ||
413
- 0;
417
+ selectVariant.stock = gvc.glitter.share.store_list.filter((dd:any)=>{
418
+ return (dd.id===POSSetting.config.where_store) || (
419
+ gvc.glitter.share.store_list.find((dd:any)=>{
420
+ return dd.id === POSSetting.config.where_store;
421
+ }).support_store ?? []
422
+ ).includes(dd.id);
423
+ }).map((d1:any)=>{
424
+ return selectVariant.stockList[d1.id].count
425
+ }).reduce((acc: any, val: any) => acc + val,0)
426
+
414
427
 
415
428
  return html` <div
416
429
  class="w-100 h-100 d-flex align-items-center justify-content-center"
@@ -453,7 +466,7 @@ export class POSSetting {
453
466
  'zh-TW': string;
454
467
  };
455
468
  }[] = data.content.specs;
456
-
469
+
457
470
  return productSpecs
458
471
  .map((spec, index1) => {
459
472
  return html` <div>
@@ -577,7 +590,7 @@ export class POSSetting {
577
590
  ${selectVariant.show_understocking === 'false'
578
591
  ? ''
579
592
  : BgWidget.blueNote(
580
- '查看其他庫存點',
593
+ '查看各庫存點數量',
581
594
  gvc.event(() => {
582
595
  BgWidget.settingDialog({
583
596
  gvc,
@@ -588,7 +601,6 @@ export class POSSetting {
588
601
  filter: [],
589
602
  getData: vmi => {
590
603
  const dataList: { name: string; count: number }[] = [];
591
-
592
604
  function callback() {
593
605
  vmi.pageSize = 1;
594
606
  vmi.originalData = dataList;
@@ -596,12 +608,11 @@ export class POSSetting {
596
608
  vmi.loading = false;
597
609
  vmi.callback();
598
610
  }
599
-
600
611
  function getDatalist() {
601
612
  return dataList.map((dd: any) => {
602
613
  return [
603
614
  {
604
- key: '門市名稱',
615
+ key: '門市/庫存點',
605
616
  value: `<span class="fs-7">${dd.name}</span>`,
606
617
  },
607
618
  {
@@ -613,6 +624,7 @@ export class POSSetting {
613
624
  }
614
625
 
615
626
  ApiUser.getPublicConfig('store_manager', 'manager').then((dd: any) => {
627
+ console.log(`selectVariant===>`,selectVariant)
616
628
  if (dd.result && Array.isArray(dd.response.value?.list)) {
617
629
  dd.response.value.list.map((store: any) => {
618
630
  const n = selectVariant.stockList?.[store.id]?.count ?? 0;
@@ -228,8 +228,15 @@ export class PaymentPage {
228
228
  if (`${data.show_understocking}` === 'false') {
229
229
  return '不追蹤庫存';
230
230
  }
231
- const stock = data.stockList[POSSetting.config.where_store];
232
- return `庫存: ${(stock === null || stock === void 0 ? void 0 : stock.count) || 0}`;
231
+ const stock = gvc.glitter.share.store_list.filter((dd) => {
232
+ var _a;
233
+ return (dd.id === POSSetting.config.where_store) || ((_a = gvc.glitter.share.store_list.find((dd) => {
234
+ return dd.id === POSSetting.config.where_store;
235
+ }).support_store) !== null && _a !== void 0 ? _a : []).includes(dd.id);
236
+ }).map((d1) => {
237
+ return data.stockList[d1.id].count;
238
+ }).reduce((acc, val) => acc + val, 0);
239
+ return `庫存: ${stock || 0}`;
233
240
  })()}
234
241
  </div>
235
242
  </div>
@@ -265,9 +265,17 @@ export class PaymentPage {
265
265
  if (`${data.show_understocking}` === 'false') {
266
266
  return '不追蹤庫存';
267
267
  }
268
-
269
- const stock = data.stockList[POSSetting.config.where_store];
270
- return `庫存: ${stock?.count || 0}`;
268
+ const stock = gvc.glitter.share.store_list.filter((dd:any)=>{
269
+ return (dd.id===POSSetting.config.where_store) || (
270
+ gvc.glitter.share.store_list.find((dd:any)=>{
271
+ return dd.id === POSSetting.config.where_store;
272
+ }).support_store ?? []
273
+ ).includes(dd.id);
274
+ }).map((d1:any)=>{
275
+ return data.stockList[d1.id].count
276
+ }).reduce((acc: any, val: any) => acc + val,0)
277
+
278
+ return `庫存: ${stock || 0}`;
271
279
  })()}
272
280
  </div>
273
281
  </div>
@@ -52,6 +52,7 @@ export class StockStores {
52
52
  manager_phone: '',
53
53
  note: '',
54
54
  is_shop: is_shop,
55
+ support_store: []
55
56
  };
56
57
  }
57
58
  static list(gvc, vm, isShop) {
@@ -161,6 +162,7 @@ export class StockStores {
161
162
  manager_phone: '',
162
163
  note: '',
163
164
  is_shop: false,
165
+ support_store: []
164
166
  },
165
167
  ];
166
168
  ApiUser.setPublicConfig({
@@ -290,6 +292,59 @@ export class StockStores {
290
292
  })}
291
293
  </div>
292
294
  </div>`,
295
+ (() => {
296
+ if (vm.data.is_shop) {
297
+ return gvc.bindView(() => {
298
+ var _a;
299
+ const id = gvc.glitter.getUUID();
300
+ vm.data.support_store = (_a = vm.data.support_store) !== null && _a !== void 0 ? _a : [];
301
+ let manager = undefined;
302
+ ApiUser.getPublicConfig('store_manager', 'manager').then(res => {
303
+ manager = res;
304
+ gvc.notifyDataChange(id);
305
+ });
306
+ return {
307
+ bind: id,
308
+ view: () => {
309
+ if (!manager) {
310
+ return BgWidget.spinner();
311
+ }
312
+ if (!manager.response.value.list.filter((dd) => {
313
+ return !dd.is_shop;
314
+ }).length) {
315
+ return ``;
316
+ }
317
+ return BgWidget.inlineCheckBox({
318
+ title: '門市相關庫存點',
319
+ gvc: gvc,
320
+ def: vm.data.support_store,
321
+ type: 'multiple',
322
+ array: manager.response.value.list
323
+ .filter((dd) => {
324
+ return !dd.is_shop;
325
+ })
326
+ .map((dd) => {
327
+ return {
328
+ title: dd.name,
329
+ value: dd.id,
330
+ };
331
+ }),
332
+ callback: text => {
333
+ vm.data.support_store = text;
334
+ gvc.notifyDataChange(id);
335
+ },
336
+ });
337
+ },
338
+ divCreate: {
339
+ class: `col-12`,
340
+ },
341
+ };
342
+ });
343
+ }
344
+ else {
345
+ return ``;
346
+ }
347
+ })(),
293
348
  html ` <div class="tx_normal">備註</div>
294
349
  ${EditorElem.editeText({
295
350
  gvc: gvc,
@@ -20,6 +20,7 @@ export type StoreData = {
20
20
  manager_phone: string;
21
21
  note: string;
22
22
  is_shop: boolean;
23
+ support_store: string[];
23
24
  };
24
25
 
25
26
  type VM = {
@@ -83,6 +84,7 @@ export class StockStores {
83
84
  manager_phone: '',
84
85
  note: '',
85
86
  is_shop: is_shop,
87
+ support_store:[]
86
88
  };
87
89
  }
88
90
  static list(gvc: GVC, vm: VM, isShop: boolean) {
@@ -208,6 +210,7 @@ export class StockStores {
208
210
  manager_phone: '',
209
211
  note: '',
210
212
  is_shop: false,
213
+ support_store:[]
211
214
  },
212
215
  ];
213
216
  ApiUser.setPublicConfig({
@@ -347,6 +350,62 @@ export class StockStores {
347
350
  })}
348
351
  </div>
349
352
  </div>`,
353
+ (()=>{
354
+ if(vm.data.is_shop){
355
+ return gvc.bindView(() => {
356
+
357
+ const id = gvc.glitter.getUUID();
358
+
359
+ vm.data.support_store = vm.data.support_store ?? [];
360
+ let manager: any = undefined;
361
+ ApiUser.getPublicConfig('store_manager', 'manager').then(res => {
362
+ manager = res;
363
+ gvc.notifyDataChange(id);
364
+ });
365
+ return {
366
+ bind: id,
367
+ view: () => {
368
+ if (!manager) {
369
+ return BgWidget.spinner();
370
+ }
371
+ if (
372
+ !manager.response.value.list.filter((dd: any) => {
373
+ return !dd.is_shop;
374
+ }).length
375
+ ) {
376
+ return ``;
377
+ }
378
+ return BgWidget.inlineCheckBox({
379
+ title: '門市相關庫存點',
380
+ gvc: gvc,
381
+ def: vm.data.support_store!,
382
+ type: 'multiple',
383
+ array: manager.response.value.list
384
+ .filter((dd: any) => {
385
+ return !dd.is_shop;
386
+ })
387
+ .map((dd: any) => {
388
+ return {
389
+ title: dd.name,
390
+ value: dd.id,
391
+ };
392
+ }),
393
+ callback: text => {
394
+ vm.data.support_store = text as any;
395
+ gvc.notifyDataChange(id);
396
+ },
397
+ });
398
+ },
399
+ divCreate: {
400
+ class: `col-12`,
401
+ },
402
+ };
403
+ })
404
+ }else{
405
+ return ``
406
+ }
407
+ })()
408
+ ,
350
409
  html` <div class="tx_normal">備註</div>
351
410
  ${EditorElem.editeText({
352
411
  gvc: gvc,
@@ -9452,6 +9452,16 @@ BasicComponent.componentList = [
9452
9452
  "formData": {}
9453
9453
  },
9454
9454
  image: `https://d3jnmi1tfjgtti.cloudfront.net/file/234285319/size1440_s*px$_scs0sfs1sasbs1sf_Screenshot2024-11-14at2.03.47 AM.jpg`
9455
+ },
9456
+ {
9457
+ title: '社群按鈕',
9458
+ config: { "id": "s6s7sbs4s5s5sasd", "js": "./official_view_component/official.js", "css": { "class": {}, "style": {} }, "data": { "tag": "social_popup", "_gap": "", "attr": [], "elem": "div", "list": [], "inner": "", "_other": {}, "_border": {}, "_margin": {}, "_radius": "", "_padding": {}, "_reverse": "false", "carryData": {}, "refer_app": "shop_template_black_style", "_max_width": "", "_background": "", "_style_refer": "global", "_hor_position": "center", "refer_form_data": { "social_list": [{ "icon": "https://d3jnmi1tfjgtti.cloudfront.net/file/234285319/1722936949034-default_image.jpg", "social_type": "fb" }, { "social_type": "ig" }, { "social_type": "line" }] }, "_background_setting": { "type": "none" } }, "list": [], "type": "component", "class": "w-100", "index": 2, "label": "社群彈窗", "style": "", "global": [], "mobile": { "id": "s6s7sbs4s5s5sasd", "js": "./official_view_component/official.js", "css": { "class": {}, "style": {} }, "data": { "refer_app": "shop_template_black_style" }, "list": [], "type": "component", "class": "w-100", "index": 2, "label": "社群彈窗", "style": "", "global": [], "toggle": true, "stylist": [], "version": "v2", "visible": true, "dataType": "static", "style_from": "code", "classDataType": "static", "editor_bridge": {}, "preloadEvenet": {}, "container_fonts": 0, "mobile_editable": [], "desktop_editable": [], "refreshAllParameter": {}, "refreshComponentParameter": {}, "refer": "custom" }, "toggle": true, "desktop": { "data": { "refer_app": "shop_template_black_style", "refer_form_data": {} }, "refer": "custom" }, "stylist": [], "version": "v2", "visible": true, "dataType": "static", "style_from": "code", "classDataType": "static", "editor_bridge": {}, "preloadEvenet": {}, "container_fonts": 0, "mobile_editable": [], "desktop_editable": [], "refreshAllParameter": {}, "refreshComponentParameter": {}, "formData": {} },
9459
+ image: `https://d3jnmi1tfjgtti.cloudfront.net/file/234285319/Screenshot 2025-05-21 at 6.22.03 PM.jpg`
9460
+ },
9461
+ {
9462
+ title: '首頁廣告',
9463
+ config: { "id": "s4s1sfs7s9s8sds5", "js": "./official_view_component/official.js", "css": { "class": {}, "style": {} }, "data": { "tag": "banner-first", "_gap": "", "attr": [], "elem": "div", "list": [], "inner": "", "_other": {}, "_border": {}, "_margin": {}, "_radius": "", "_padding": {}, "_reverse": "false", "carryData": {}, "refer_app": "shop_template_black_style", "_max_width": "", "_background": "", "_style_refer": "custom", "_hor_position": "center", "refer_form_data": { "map": "https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d3625.9857346364677!2d121.56387331536634!3d25.033964283970027!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x3442abbff9f1f2cd%3A0xa5e9e25b96d47b6!2z5p2x5Y2A5rC45bq36Zmi!5e0!3m2!1szh-TW!2stw!4v1697247462832!5m2!1szh-TW!2stw", "list": [{ "img": "https://d3jnmi1tfjgtti.cloudfront.net/file/122538856/s*px$_s7s4s2sas9s7s1s8_1747824490757.png", "link": "/all-product", "title": "所有商品頁面" }], "width": { "unit": "px", "value": "450px", "number": "450" }, "height": { "unit": "px", "value": "450px", "number": "450" } }, "_background_setting": { "type": "none" }, "_style_refer_global": { "index": "0" } }, "list": [], "type": "component", "class": "w-100", "index": 21, "label": "首圖廣告", "style": "", "global": [], "mobile": { "id": "s4s1sfs7s9s8sds5", "js": "./official_view_component/official.js", "css": { "class": {}, "style": {} }, "data": { "refer_app": "shop_template_black_style" }, "list": [], "type": "component", "class": "w-100", "index": 21, "label": "首圖廣告", "style": "", "global": [], "toggle": true, "stylist": [], "version": "v2", "visible": true, "dataType": "static", "style_from": "code", "classDataType": "static", "editor_bridge": {}, "preloadEvenet": {}, "container_fonts": 0, "mobile_editable": [], "desktop_editable": [], "refreshAllParameter": {}, "refreshComponentParameter": {}, "refer": "custom" }, "toggle": true, "desktop": { "data": { "refer_app": "shop_template_black_style", "refer_form_data": {} }, "refer": "custom" }, "stylist": [], "version": "v2", "visible": true, "dataType": "static", "style_from": "code", "classDataType": "static", "editor_bridge": {}, "preloadEvenet": {}, "container_fonts": 0, "mobile_editable": [], "desktop_editable": [], "refreshAllParameter": {}, "refreshComponentParameter": {}, "formData": {} },
9464
+ image: `https://d3jnmi1tfjgtti.cloudfront.net/file/122538856/Screenshot 2025-05-21 at 6.50.46 PM.jpg`
9455
9465
  }
9456
9466
  ];
9457
9467
  BasicComponent.productList = [
@@ -9067,7 +9067,17 @@ export class BasicComponent {
9067
9067
  "formData": {}
9068
9068
  },
9069
9069
  image: `https://d3jnmi1tfjgtti.cloudfront.net/file/234285319/size1440_s*px$_scs0sfs1sasbs1sf_Screenshot2024-11-14at2.03.47 AM.jpg`
9070
- }
9070
+ },
9071
+ {
9072
+ title: '社群按鈕',
9073
+ config: {"id":"s6s7sbs4s5s5sasd","js":"./official_view_component/official.js","css":{"class":{},"style":{}},"data":{"tag":"social_popup","_gap":"","attr":[],"elem":"div","list":[],"inner":"","_other":{},"_border":{},"_margin":{},"_radius":"","_padding":{},"_reverse":"false","carryData":{},"refer_app":"shop_template_black_style","_max_width":"","_background":"","_style_refer":"global","_hor_position":"center","refer_form_data":{"social_list":[{"icon":"https://d3jnmi1tfjgtti.cloudfront.net/file/234285319/1722936949034-default_image.jpg","social_type":"fb"},{"social_type":"ig"},{"social_type":"line"}]},"_background_setting":{"type":"none"}},"list":[],"type":"component","class":"w-100","index":2,"label":"社群彈窗","style":"","global":[],"mobile":{"id":"s6s7sbs4s5s5sasd","js":"./official_view_component/official.js","css":{"class":{},"style":{}},"data":{"refer_app":"shop_template_black_style"},"list":[],"type":"component","class":"w-100","index":2,"label":"社群彈窗","style":"","global":[],"toggle":true,"stylist":[],"version":"v2","visible":true,"dataType":"static","style_from":"code","classDataType":"static","editor_bridge":{},"preloadEvenet":{},"container_fonts":0,"mobile_editable":[],"desktop_editable":[],"refreshAllParameter":{},"refreshComponentParameter":{},"refer":"custom"},"toggle":true,"desktop":{"data":{"refer_app":"shop_template_black_style","refer_form_data":{}},"refer":"custom"},"stylist":[],"version":"v2","visible":true,"dataType":"static","style_from":"code","classDataType":"static","editor_bridge":{},"preloadEvenet":{},"container_fonts":0,"mobile_editable":[],"desktop_editable":[],"refreshAllParameter":{},"refreshComponentParameter":{},"formData":{}},
9074
+ image: `https://d3jnmi1tfjgtti.cloudfront.net/file/234285319/Screenshot 2025-05-21 at 6.22.03 PM.jpg`
9075
+ },
9076
+ {
9077
+ title: '首頁廣告',
9078
+ config: {"id":"s4s1sfs7s9s8sds5","js":"./official_view_component/official.js","css":{"class":{},"style":{}},"data":{"tag":"banner-first","_gap":"","attr":[],"elem":"div","list":[],"inner":"","_other":{},"_border":{},"_margin":{},"_radius":"","_padding":{},"_reverse":"false","carryData":{},"refer_app":"shop_template_black_style","_max_width":"","_background":"","_style_refer":"custom","_hor_position":"center","refer_form_data":{"map":"https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d3625.9857346364677!2d121.56387331536634!3d25.033964283970027!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x3442abbff9f1f2cd%3A0xa5e9e25b96d47b6!2z5p2x5Y2A5rC45bq36Zmi!5e0!3m2!1szh-TW!2stw!4v1697247462832!5m2!1szh-TW!2stw","list":[{"img":"https://d3jnmi1tfjgtti.cloudfront.net/file/122538856/s*px$_s7s4s2sas9s7s1s8_1747824490757.png","link":"/all-product","title":"所有商品頁面"}],"width":{"unit":"px","value":"450px","number":"450"},"height":{"unit":"px","value":"450px","number":"450"}},"_background_setting":{"type":"none"},"_style_refer_global":{"index":"0"}},"list":[],"type":"component","class":"w-100","index":21,"label":"首圖廣告","style":"","global":[],"mobile":{"id":"s4s1sfs7s9s8sds5","js":"./official_view_component/official.js","css":{"class":{},"style":{}},"data":{"refer_app":"shop_template_black_style"},"list":[],"type":"component","class":"w-100","index":21,"label":"首圖廣告","style":"","global":[],"toggle":true,"stylist":[],"version":"v2","visible":true,"dataType":"static","style_from":"code","classDataType":"static","editor_bridge":{},"preloadEvenet":{},"container_fonts":0,"mobile_editable":[],"desktop_editable":[],"refreshAllParameter":{},"refreshComponentParameter":{},"refer":"custom"},"toggle":true,"desktop":{"data":{"refer_app":"shop_template_black_style","refer_form_data":{}},"refer":"custom"},"stylist":[],"version":"v2","visible":true,"dataType":"static","style_from":"code","classDataType":"static","editor_bridge":{},"preloadEvenet":{},"container_fonts":0,"mobile_editable":[],"desktop_editable":[],"refreshAllParameter":{},"refreshComponentParameter":{},"formData":{}},
9079
+ image: `https://d3jnmi1tfjgtti.cloudfront.net/file/122538856/Screenshot 2025-05-21 at 6.50.46 PM.jpg`
9080
+ }
9071
9081
  ]
9072
9082
 
9073
9083
  public static productList = [
@@ -10,7 +10,6 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
10
10
  import { init } from '../GVController.js';
11
11
  import { TriggerEvent } from './trigger-event.js';
12
12
  import { GlobalUser } from '../../glitter-base/global/global-user.js';
13
- import { FirstBanner } from '../../public-components/banner/first-banner.js';
14
13
  import { Language } from '../../glitter-base/global/language.js';
15
14
  import { ApplicationConfig } from '../../application-config.js';
16
15
  const html = String.raw;
@@ -91,7 +90,6 @@ init(import.meta.url, (gvc, glitter, gBundle) => {
91
90
  return {
92
91
  onCreateView: () => {
93
92
  var _a, _b, _c, _d, _e, _f, _g, _h;
94
- FirstBanner.main({ gvc: gvc });
95
93
  if (gBundle.page_config.seo && gBundle.page_config.seo.type === 'custom' && gBundle.page_config.seo.title) {
96
94
  glitter.setUrlParameter('', undefined, [
97
95
  (_a = gBundle.page_config.seo.title_prefix) !== null && _a !== void 0 ? _a : '',
@@ -76,7 +76,6 @@ init(import.meta.url, (gvc, glitter, gBundle) => {
76
76
 
77
77
  return {
78
78
  onCreateView: () => {
79
- FirstBanner.main({ gvc: gvc });
80
79
  //定義SEO TITLE
81
80
  if (gBundle.page_config.seo && gBundle.page_config.seo.type === 'custom' && gBundle.page_config.seo.title) {
82
81
  glitter.setUrlParameter(
@@ -77,7 +77,7 @@ export class Setting_editor {
77
77
  ].includes(item.page)) {
78
78
  return userPlan > 1;
79
79
  }
80
- if (['app-design', 'app-upload', 'cloud_subscrible', 'notify_message_list'].includes(item.page)) {
80
+ if (['app-design', 'app-upload', 'cloud_subscrible', 'notify_message_list', 'auto_fcm_push', 'auto_fcm_advertise', 'upload', 'auto_fcm_history'].includes(item.page)) {
81
81
  return userPlan > 2;
82
82
  }
83
83
  return true;
@@ -964,7 +964,7 @@ export class Setting_editor {
964
964
  ) {
965
965
  return userPlan > 1;
966
966
  }
967
- if (['app-design', 'app-upload', 'cloud_subscrible', 'notify_message_list'].includes(item.page)) {
967
+ if (['app-design', 'app-upload', 'cloud_subscrible', 'notify_message_list','auto_fcm_push','auto_fcm_advertise','upload','auto_fcm_history'].includes(item.page)) {
968
968
  return userPlan > 2;
969
969
  }
970
970
  return true;
@@ -9,7 +9,6 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
9
9
  };
10
10
  import { BgWidget } from '../../backend-manager/bg-widget.js';
11
11
  import { ApiPageConfig } from '../../api/pageConfig.js';
12
- import { FirstBanner } from '../../public-components/banner/first-banner.js';
13
12
  import { GlobalWidget } from '../../editor-components/global-widget/global-widget.js';
14
13
  export class ToolSetting {
15
14
  static main(gvc) {
@@ -173,10 +172,7 @@ export class ToolSetting {
173
172
  const htmlGenerate = new gvc.glitter.htmlGenerate(widget_container, [], {
174
173
  editor_updated_callback: (oWidget) => {
175
174
  if (dd.tag === '廣告輪播') {
176
- FirstBanner.main({
177
- gvc: document.querySelector('.iframe_view').contentWindow.glitter.pageConfig[0].gvc,
178
- ed_widget: oWidget,
179
- });
175
+ console.log(`oWidget==>`, oWidget);
180
176
  }
181
177
  },
182
178
  }, true);
@@ -213,10 +213,11 @@ export class ToolSetting {
213
213
  {
214
214
  editor_updated_callback: (oWidget: any) => {
215
215
  if (dd.tag === '廣告輪播') {
216
- FirstBanner.main({
217
- gvc: (document.querySelector('.iframe_view') as any).contentWindow.glitter.pageConfig[0].gvc,
218
- ed_widget: oWidget,
219
- });
216
+ console.log(`oWidget==>`,oWidget)
217
+ // FirstBanner.main({
218
+ // gvc: (document.querySelector('.iframe_view') as any).contentWindow.glitter.pageConfig[0].gvc,
219
+ // // ed_widget: oWidget,
220
+ // });
220
221
  }
221
222
  },
222
223
  },
@@ -743,12 +743,7 @@ init(import.meta.url, (gvc, glitter, gBundle) => {
743
743
  src: `fa-sharp fa-regular fa-globe guide-user-editor-11-icon`,
744
744
  index: 'color',
745
745
  hint: '全站樣式',
746
- },
747
- {
748
- src: `fa-regular fa-grid-2 design-guide-1-icon`,
749
- index: 'widget',
750
- hint: '設計元件',
751
- },
746
+ }
752
747
  ]
753
748
  .filter(dd => {
754
749
  if (gvc.glitter.getUrlParameter('device') === 'mobile') {
@@ -804,12 +804,7 @@ init(import.meta.url, (gvc, glitter, gBundle) => {
804
804
  src: `fa-sharp fa-regular fa-globe guide-user-editor-11-icon`,
805
805
  index: 'color',
806
806
  hint: '全站樣式',
807
- },
808
- {
809
- src: `fa-regular fa-grid-2 design-guide-1-icon`,
810
- index: 'widget',
811
- hint: '設計元件',
812
- },
807
+ }
813
808
  ]
814
809
  .filter(dd => {
815
810
  if (gvc.glitter.getUrlParameter('device') === 'mobile') {
@@ -1099,7 +1099,6 @@ export class imageLibrary {
1099
1099
  if (cf.key === 'album') {
1100
1100
  dialog.successMessage({ text: '相簿建立成功' });
1101
1101
  cf.getSelect(selected);
1102
- gvc.closeDialog();
1103
1102
  return;
1104
1103
  }
1105
1104
  if (['image-manager', 'folderEdit'].includes(cf.key)) {
@@ -1225,7 +1225,7 @@ export class imageLibrary {
1225
1225
  if (cf.key === 'album') {
1226
1226
  dialog.successMessage({ text: '相簿建立成功' });
1227
1227
  cf.getSelect(selected);
1228
- gvc.closeDialog();
1228
+ // gvc.closeDialog();
1229
1229
  return;
1230
1230
  }
1231
1231
 
@@ -1178,7 +1178,7 @@ export const component = Plugin.createComponent(import.meta.url, (glitter, editM
1178
1178
  </div>`,
1179
1179
  ` <div class="mx-n3" style="background: #DDD;height: 1px;"></div>`,
1180
1180
  ].join(`<div style="height:18px;"></div>`);
1181
- if (app_editor || glitter.share.editorViewModel.selectItem.is_customer_header) {
1181
+ if (app_editor || ((glitter.share.editorViewModel.selectItem) && glitter.share.editorViewModel.selectItem.is_customer_header)) {
1182
1182
  global_setting_view = ``;
1183
1183
  }
1184
1184
  if (vm.page === 'editor') {
@@ -1355,7 +1355,7 @@ export const component = Plugin.createComponent(import.meta.url, (glitter: Glitt
1355
1355
  </div>`,
1356
1356
  ` <div class="mx-n3" style="background: #DDD;height: 1px;"></div>`,
1357
1357
  ].join(`<div style="height:18px;"></div>`);
1358
- if (app_editor || glitter.share.editorViewModel.selectItem.is_customer_header) {
1358
+ if (app_editor || ((glitter.share.editorViewModel.selectItem) && glitter.share.editorViewModel.selectItem.is_customer_header)) {
1359
1359
  global_setting_view = ``;
1360
1360
  }
1361
1361
  if (vm.page === 'editor') {