ts-glitter 13.3.5 → 13.3.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 (99) hide show
  1. package/lowcode/Entry.js +1 -1
  2. package/lowcode/Entry.ts +1 -1
  3. package/lowcode/backend-manager/bg-blog.js +2 -7
  4. package/lowcode/backend-manager/bg-blog.ts +8 -13
  5. package/lowcode/backend-manager/bg-graph-api.js +6 -11
  6. package/lowcode/backend-manager/bg-graph-api.ts +14 -20
  7. package/lowcode/backend-manager/bg-line.js +526 -1002
  8. package/lowcode/backend-manager/bg-line.ts +1815 -2354
  9. package/lowcode/backend-manager/bg-notify.js +392 -746
  10. package/lowcode/backend-manager/bg-notify.ts +436 -835
  11. package/lowcode/backend-manager/bg-project.js +176 -293
  12. package/lowcode/backend-manager/bg-project.ts +214 -344
  13. package/lowcode/backend-manager/bg-recommend.js +39 -148
  14. package/lowcode/backend-manager/bg-recommend.ts +43 -162
  15. package/lowcode/backend-manager/bg-sns.js +489 -814
  16. package/lowcode/backend-manager/bg-sns.ts +1876 -2238
  17. package/lowcode/backend-manager/bg-widget.js +301 -171
  18. package/lowcode/backend-manager/bg-widget.ts +324 -193
  19. package/lowcode/cms-plugin/ai-points.js +84 -67
  20. package/lowcode/cms-plugin/ai-points.ts +280 -247
  21. package/lowcode/cms-plugin/auto-reply.js +6 -7
  22. package/lowcode/cms-plugin/auto-reply.ts +6 -7
  23. package/lowcode/cms-plugin/data-analyze.js +5 -6
  24. package/lowcode/cms-plugin/data-analyze.ts +5 -6
  25. package/lowcode/cms-plugin/form-setting.js +122 -220
  26. package/lowcode/cms-plugin/form-setting.ts +124 -240
  27. package/lowcode/cms-plugin/line-auto-reply.js +17 -18
  28. package/lowcode/cms-plugin/line-auto-reply.ts +29 -36
  29. package/lowcode/cms-plugin/member-group-list.js +5 -2
  30. package/lowcode/cms-plugin/member-group-list.ts +5 -2
  31. package/lowcode/cms-plugin/member-type-list.js +36 -84
  32. package/lowcode/cms-plugin/member-type-list.ts +39 -92
  33. package/lowcode/cms-plugin/menus-setting.js +8 -73
  34. package/lowcode/cms-plugin/menus-setting.ts +8 -78
  35. package/lowcode/cms-plugin/permission-setting.js +73 -106
  36. package/lowcode/cms-plugin/permission-setting.ts +236 -278
  37. package/lowcode/cms-plugin/shopping-collections.js +95 -137
  38. package/lowcode/cms-plugin/shopping-collections.ts +103 -147
  39. package/lowcode/cms-plugin/shopping-discount-setting.js +310 -416
  40. package/lowcode/cms-plugin/shopping-discount-setting.ts +1269 -1386
  41. package/lowcode/cms-plugin/shopping-finance-setting.js +1 -0
  42. package/lowcode/cms-plugin/shopping-finance-setting.ts +1 -0
  43. package/lowcode/cms-plugin/shopping-order-manager.js +742 -973
  44. package/lowcode/cms-plugin/shopping-order-manager.ts +1928 -2164
  45. package/lowcode/cms-plugin/shopping-order-return.js +147 -267
  46. package/lowcode/cms-plugin/shopping-order-return.ts +154 -292
  47. package/lowcode/cms-plugin/shopping-product-setting.js +6 -2
  48. package/lowcode/cms-plugin/shopping-product-setting.ts +8 -4
  49. package/lowcode/cms-plugin/shopping-product-stock.js +12 -92
  50. package/lowcode/cms-plugin/shopping-product-stock.ts +14 -94
  51. package/lowcode/cms-plugin/shopping-product-text.js +0 -3
  52. package/lowcode/cms-plugin/shopping-product-text.ts +0 -3
  53. package/lowcode/cms-plugin/shopping-rebate.js +95 -151
  54. package/lowcode/cms-plugin/shopping-rebate.ts +101 -159
  55. package/lowcode/cms-plugin/sms-points.js +83 -67
  56. package/lowcode/cms-plugin/sms-points.ts +281 -241
  57. package/lowcode/cms-plugin/sns-auto-reply.js +18 -18
  58. package/lowcode/cms-plugin/sns-auto-reply.ts +34 -40
  59. package/lowcode/cms-plugin/user-list.js +71 -90
  60. package/lowcode/cms-plugin/user-list.ts +76 -95
  61. package/lowcode/cms-plugin/web-config-setting.js +61 -111
  62. package/lowcode/cms-plugin/web-config-setting.ts +65 -124
  63. package/lowcode/css/editor.css +5 -2
  64. package/lowcode/glitter-base/route/shopping.js +1 -1
  65. package/lowcode/glitter-base/route/shopping.ts +19 -19
  66. package/lowcode/jspage/editor.js +1 -1
  67. package/lowcode/jspage/editor.ts +1 -1
  68. package/lowcode/jspage/main.js +3 -0
  69. package/lowcode/jspage/main.ts +3 -0
  70. package/package.json +1 -2
  71. package/src/api-public/controllers/ai-chat.js.map +5 -1
  72. package/src/api-public/controllers/article.js.map +1 -1
  73. package/src/api-public/controllers/chat.js.map +1 -1
  74. package/src/api-public/controllers/fb-message.js.map +1 -1
  75. package/src/api-public/controllers/index.js.map +1 -1
  76. package/src/api-public/controllers/line-message.js.map +1 -1
  77. package/src/api-public/controllers/rebate.js.map +1 -1
  78. package/src/api-public/controllers/shop.js.map +1 -1
  79. package/src/api-public/controllers/user.js.map +1 -1
  80. package/src/api-public/services/auto-send-email.js.map +1 -1
  81. package/src/api-public/services/chat.js +3 -3
  82. package/src/api-public/services/chat.js.map +1 -1
  83. package/src/api-public/services/chat.ts +2 -3
  84. package/src/api-public/services/fb-message.js.map +5 -1
  85. package/src/api-public/services/filter-protect-data.js.map +1 -1
  86. package/src/api-public/services/line-message.js.map +1 -1
  87. package/src/api-public/services/monitor.js.map +1 -1
  88. package/src/api-public/services/notify.js.map +1 -1
  89. package/src/api-public/services/rebate.js.map +1 -1
  90. package/src/api-public/services/schedule.js.map +1 -1
  91. package/src/api-public/services/share-permission.js.map +1 -1
  92. package/src/api-public/services/shopping.js.map +1 -1
  93. package/src/api-public/services/user.js +67 -66
  94. package/src/api-public/services/user.js.map +1 -1
  95. package/src/api-public/services/user.ts +212 -182
  96. package/src/helper/glitter-util.js.map +1 -1
  97. package/src/modules/firebase.d.ts +1 -0
  98. package/src/modules/firebase.js +1 -1
  99. package/src/modules/firebase.js.map +1 -1
@@ -1248,7 +1248,6 @@ export class ShoppingProductSetting {
1248
1248
  class: 'rounded border me-4',
1249
1249
  })}${Tool.truncateString(dd.content.title)}
1250
1250
  </div>`,
1251
- width: 45,
1252
1251
  },
1253
1252
  {
1254
1253
  key: '售價',
@@ -1430,7 +1429,6 @@ export class ShoppingProductSetting {
1430
1429
  },
1431
1430
  });
1432
1431
  },
1433
- option: false,
1434
1432
  },
1435
1433
  ],
1436
1434
  });
@@ -2324,7 +2322,7 @@ export class ShoppingProductSetting {
2324
2322
  document.body.clientWidth > 768 ? '預覽商品' : '預覽',
2325
2323
  gvc.event(() => {
2326
2324
  const href = `https://${(window.parent as any).glitter.share.editorViewModel.domain}/products/${postMD.seo.domain}`;
2327
- (window.parent as any).glitter.openNewTab(href)
2325
+ (window.parent as any).glitter.openNewTab(href);
2328
2326
  }),
2329
2327
  { icon: document.body.clientWidth > 768 ? 'fa-regular fa-eye' : undefined }
2330
2328
  )}
@@ -2369,6 +2367,11 @@ export class ShoppingProductSetting {
2369
2367
  }
2370
2368
 
2371
2369
  return html` <div class="d-flex align-items-center justify-content-end mb-3">
2370
+ ${BgWidget.aiChatButton({
2371
+ gvc,
2372
+ select: 'writer',
2373
+ title: '使用AI文案寫手',
2374
+ })}
2372
2375
  <div class="flex-fill"></div>
2373
2376
  <div
2374
2377
  class="cursor_pointer"
@@ -2507,6 +2510,7 @@ export class ShoppingProductSetting {
2507
2510
  },
2508
2511
  }),
2509
2512
  height: 800,
2513
+ openOnInit: true,
2510
2514
  })}
2511
2515
  ${BgWidget.mbContainer(8)}
2512
2516
  ${vm.documents
@@ -4067,7 +4071,7 @@ color: ${selected.length ? `#393939` : `#DDD`};font-size: 18px;
4067
4071
  ${BgWidget.greenNote(
4068
4072
  href + `/${postMD.seo.domain}`,
4069
4073
  gvc.event(() => {
4070
- (window.parent as any).glitter.openNewTab(href + `/${postMD.seo.domain}`)
4074
+ (window.parent as any).glitter.openNewTab(href + `/${postMD.seo.domain}`);
4071
4075
  })
4072
4076
  )}
4073
4077
  </div>`,
@@ -1,4 +1,3 @@
1
- import { EditorElem } from '../glitterBundle/plugins/editor-elem.js';
2
1
  import { BgWidget } from '../backend-manager/bg-widget.js';
3
2
  import { BgListComponent } from '../backend-manager/bg-list-component.js';
4
3
  import { ShareDialog } from '../glitterBundle/dialog/ShareDialog.js';
@@ -40,55 +39,6 @@ export class StockList {
40
39
  var _a, _b, _c;
41
40
  vm.stockList[index] = dd.variant_content.stock;
42
41
  return [
43
- {
44
- key: gvc.bindView(() => {
45
- const id = gvc.glitter.getUUID();
46
- return {
47
- bind: id,
48
- view: () => {
49
- return EditorElem.checkBoxOnly({
50
- gvc: gvc,
51
- def: !vm.dataList.find((dd) => {
52
- return !dd.checked;
53
- }),
54
- callback: (result) => {
55
- vm.dataList.map((dd) => {
56
- dd.checked = result;
57
- });
58
- vmi.data = getDatalist();
59
- vmi.callback();
60
- gvc.notifyDataChange(vm.filterId);
61
- },
62
- });
63
- },
64
- divCreate: {
65
- class: `check-box-item`,
66
- },
67
- };
68
- }),
69
- value: gvc.bindView(() => {
70
- const id = gvc.glitter.getUUID();
71
- return {
72
- bind: id,
73
- view: () => {
74
- return EditorElem.checkBoxOnly({
75
- gvc: gvc,
76
- def: dd.checked,
77
- callback: (result) => {
78
- dd.checked = result;
79
- vmi.data = getDatalist();
80
- gvc.glitter.recreateView('.check-box-item');
81
- gvc.notifyDataChange(vm.filterId);
82
- },
83
- style: 'height:40px;',
84
- });
85
- },
86
- divCreate: {
87
- class: `check-box-item`,
88
- },
89
- };
90
- }),
91
- },
92
42
  {
93
43
  key: '商品名稱',
94
44
  value: html ` <div class="d-flex align-items-center gap-3">
@@ -165,11 +115,7 @@ export class StockList {
165
115
  ${BgWidget.title(option.title)}
166
116
  <div class="flex-fill"></div>
167
117
  <div style="display: none; gap: 14px;">
168
- ${BgWidget.grayButton('匯入', gvc.event(() => {
169
- console.log('匯入');
170
- }))}${BgWidget.grayButton('匯出', gvc.event(() => {
171
- console.log('匯出');
172
- }))}
118
+ ${BgWidget.grayButton('匯入', gvc.event(() => { }))}${BgWidget.grayButton('匯出', gvc.event(() => { }))}
173
119
  </div>
174
120
  </div>
175
121
  ${BgWidget.container([
@@ -260,7 +206,7 @@ export class StockList {
260
206
  gvc.bindView({
261
207
  bind: vm.tableId,
262
208
  view: () => {
263
- return BgWidget.tableV2({
209
+ return BgWidget.tableV3({
264
210
  gvc: gvc,
265
211
  getData: (vd) => {
266
212
  vmi = vd;
@@ -286,15 +232,13 @@ export class StockList {
286
232
  stockCount: vm.filter.count,
287
233
  accurate_search_collection: true,
288
234
  }).then((data) => {
235
+ vm.dataList = data.response.data;
289
236
  vmi.pageSize = Math.ceil(data.response.total / limit);
290
- vm.dataList = data.response.data.filter((data) => {
291
- return !option.filter_variants.find((dd) => {
292
- return dd === [data.product_id].concat(data.variant_content.spec).join('-');
293
- });
294
- });
295
- vmi.data = getDatalist();
237
+ vmi.originalData = vm.dataList;
238
+ vmi.tableData = getDatalist();
296
239
  vm.stockOriginList = vm.stockList.concat();
297
240
  gvc.notifyDataChange(vm.updateId);
241
+ vmi.loading = false;
298
242
  vmi.callback();
299
243
  });
300
244
  },
@@ -315,31 +259,7 @@ export class StockList {
315
259
  vm.type = 'editSpec';
316
260
  }
317
261
  },
318
- filter: gvc.bindView(() => {
319
- return {
320
- bind: vm.filterId,
321
- view: () => {
322
- const selCount = vm.dataList.filter((dd) => dd.checked).length;
323
- option.select_data.splice(0, option.select_data.length);
324
- vm.dataList
325
- .filter((dd) => dd.checked)
326
- .map((dd) => {
327
- option.select_data.push(dd);
328
- });
329
- return BgWidget.selNavbar({
330
- count: selCount,
331
- buttonList: [],
332
- });
333
- },
334
- divCreate: () => {
335
- const display = !vm.dataList || !vm.dataList.find((dd) => dd.checked) ? 'd-none' : '';
336
- return {
337
- class: `d-flex align-items-center p-2 ${display}`,
338
- style: `min-height:45px;`,
339
- };
340
- },
341
- };
342
- }),
262
+ filter: [],
343
263
  });
344
264
  },
345
265
  }),
@@ -367,11 +287,11 @@ export class StockList {
367
287
  }).then((re) => {
368
288
  dialog.dataLoading({ visible: false });
369
289
  if (re.result) {
370
- dialog.successMessage({ text: `上傳成功` });
290
+ dialog.successMessage({ text: '更新成功' });
371
291
  gvc.notifyDataChange(vm.tableId);
372
292
  }
373
293
  else {
374
- dialog.errorMessage({ text: `上傳失敗` });
294
+ dialog.errorMessage({ text: '更新失敗' });
375
295
  }
376
296
  });
377
297
  }))}
@@ -414,12 +334,12 @@ export class StockList {
414
334
  });
415
335
  }
416
336
  catch (e) {
417
- console.log(`editSpec===>`, e);
418
- return ``;
337
+ console.error('editProductSpec error', e);
338
+ return '';
419
339
  }
420
340
  }
421
341
  else {
422
- return ``;
342
+ return '';
423
343
  }
424
344
  },
425
345
  });
@@ -70,55 +70,6 @@ export class StockList {
70
70
  return vm.dataList.map((dd: any, index: number) => {
71
71
  vm.stockList[index] = dd.variant_content.stock;
72
72
  return [
73
- {
74
- key: gvc.bindView(() => {
75
- const id = gvc.glitter.getUUID();
76
- return {
77
- bind: id,
78
- view: () => {
79
- return EditorElem.checkBoxOnly({
80
- gvc: gvc,
81
- def: !vm.dataList.find((dd: any) => {
82
- return !dd.checked;
83
- }),
84
- callback: (result) => {
85
- vm.dataList.map((dd: any) => {
86
- dd.checked = result;
87
- });
88
- vmi.data = getDatalist();
89
- vmi.callback();
90
- gvc.notifyDataChange(vm.filterId);
91
- },
92
- });
93
- },
94
- divCreate: {
95
- class: `check-box-item`,
96
- },
97
- };
98
- }),
99
- value: gvc.bindView(() => {
100
- const id = gvc.glitter.getUUID();
101
- return {
102
- bind: id,
103
- view: () => {
104
- return EditorElem.checkBoxOnly({
105
- gvc: gvc,
106
- def: dd.checked,
107
- callback: (result) => {
108
- dd.checked = result;
109
- vmi.data = getDatalist();
110
- gvc.glitter.recreateView('.check-box-item');
111
- gvc.notifyDataChange(vm.filterId);
112
- },
113
- style: 'height:40px;',
114
- });
115
- },
116
- divCreate: {
117
- class: `check-box-item`,
118
- },
119
- };
120
- }),
121
- },
122
73
  {
123
74
  key: '商品名稱',
124
75
  value: html` <div class="d-flex align-items-center gap-3">
@@ -202,14 +153,10 @@ export class StockList {
202
153
  <div style="display: none; gap: 14px;">
203
154
  ${BgWidget.grayButton(
204
155
  '匯入',
205
- gvc.event(() => {
206
- console.log('匯入');
207
- })
156
+ gvc.event(() => {})
208
157
  )}${BgWidget.grayButton(
209
158
  '匯出',
210
- gvc.event(() => {
211
- console.log('匯出');
212
- })
159
+ gvc.event(() => {})
213
160
  )}
214
161
  </div>
215
162
  </div>
@@ -313,7 +260,7 @@ export class StockList {
313
260
  gvc.bindView({
314
261
  bind: vm.tableId,
315
262
  view: () => {
316
- return BgWidget.tableV2({
263
+ return BgWidget.tableV3({
317
264
  gvc: gvc,
318
265
  getData: (vd) => {
319
266
  vmi = vd;
@@ -339,15 +286,13 @@ export class StockList {
339
286
  stockCount: vm.filter.count,
340
287
  accurate_search_collection: true,
341
288
  }).then((data) => {
289
+ vm.dataList = data.response.data;
342
290
  vmi.pageSize = Math.ceil(data.response.total / limit);
343
- vm.dataList = data.response.data.filter((data: any) => {
344
- return !option.filter_variants.find((dd: any) => {
345
- return dd === [data.product_id].concat(data.variant_content.spec).join('-');
346
- });
347
- });
348
- vmi.data = getDatalist();
291
+ vmi.originalData = vm.dataList;
292
+ vmi.tableData = getDatalist();
349
293
  vm.stockOriginList = vm.stockList.concat();
350
294
  gvc.notifyDataChange(vm.updateId);
295
+ vmi.loading = false;
351
296
  vmi.callback();
352
297
  });
353
298
  },
@@ -367,31 +312,7 @@ export class StockList {
367
312
  vm.type = 'editSpec';
368
313
  }
369
314
  },
370
- filter: gvc.bindView(() => {
371
- return {
372
- bind: vm.filterId,
373
- view: () => {
374
- const selCount = vm.dataList.filter((dd: any) => dd.checked).length;
375
- option.select_data.splice(0, option.select_data.length);
376
- vm.dataList
377
- .filter((dd: any) => dd.checked)
378
- .map((dd: any) => {
379
- option.select_data.push(dd);
380
- });
381
- return BgWidget.selNavbar({
382
- count: selCount,
383
- buttonList: [],
384
- });
385
- },
386
- divCreate: () => {
387
- const display = !vm.dataList || !vm.dataList.find((dd: any) => dd.checked) ? 'd-none' : '';
388
- return {
389
- class: `d-flex align-items-center p-2 ${display}`,
390
- style: `min-height:45px;`,
391
- };
392
- },
393
- };
394
- }),
315
+ filter: [],
395
316
  });
396
317
  },
397
318
  }),
@@ -425,10 +346,10 @@ export class StockList {
425
346
  }).then((re) => {
426
347
  dialog.dataLoading({ visible: false });
427
348
  if (re.result) {
428
- dialog.successMessage({ text: `上傳成功` });
349
+ dialog.successMessage({ text: '更新成功' });
429
350
  gvc.notifyDataChange(vm.tableId);
430
351
  } else {
431
- dialog.errorMessage({ text: `上傳失敗` });
352
+ dialog.errorMessage({ text: '更新失敗' });
432
353
  }
433
354
  });
434
355
  })
@@ -471,13 +392,12 @@ export class StockList {
471
392
  },
472
393
  },
473
394
  });
474
- }catch (e) {
475
- console.log(`editSpec===>`,e)
476
- return ``
395
+ } catch (e) {
396
+ console.error('editProductSpec error', e);
397
+ return '';
477
398
  }
478
-
479
399
  } else {
480
- return ``;
400
+ return '';
481
401
  }
482
402
  },
483
403
  });
@@ -110,11 +110,8 @@ export class ProductText {
110
110
  },
111
111
  });
112
112
  },
113
- option: false,
114
113
  },
115
114
  ],
116
- tableMinWidth: 400,
117
- tableMaxWidth: 470,
118
115
  hiddenPageSplit: true,
119
116
  }),
120
117
  html ` <div
@@ -171,11 +171,8 @@ export class ProductText {
171
171
  },
172
172
  });
173
173
  },
174
- option: false,
175
174
  },
176
175
  ],
177
- tableMinWidth: 400,
178
- tableMaxWidth: 470,
179
176
  hiddenPageSplit: true,
180
177
  }),
181
178
  html` <div