ts-glitter 13.3.5 → 13.3.8

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 +4 -0
  69. package/lowcode/jspage/main.ts +4 -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
@@ -107,160 +107,104 @@ export class ShoppingRebate {
107
107
  });
108
108
  }))}
109
109
  </div>
110
- ${BgWidget.container(BgWidget.mainCard(gvc.bindView({
111
- bind: vm.tableId,
112
- view: () => {
113
- return BgWidget.tableV2({
114
- gvc: gvc,
115
- getData: (vmi) => {
116
- const limit = 15;
117
- ApiWallet.getRebate({
118
- page: vmi.page - 1,
119
- limit: limit,
120
- search: vm.query || undefined,
121
- }).then((data) => {
122
- vmi.pageSize = Math.ceil(data.response.total / limit);
123
- vm.dataList = data.response.data;
124
- function getDatalist() {
125
- return data.response.data.map((dd) => {
126
- var _a, _b;
127
- return [
128
- {
129
- key: EditorElem.checkBoxOnly({
130
- gvc: gvc,
131
- def: !data.response.data.find((dd) => {
132
- return !dd.checked;
133
- }),
134
- callback: (result) => {
135
- data.response.data.map((dd) => {
136
- dd.checked = result;
137
- });
138
- vmi.data = getDatalist();
139
- vmi.callback();
140
- gvc.notifyDataChange(vm.filterId);
141
- },
142
- }),
143
- value: EditorElem.checkBoxOnly({
144
- gvc: gvc,
145
- def: dd.checked,
146
- callback: (result) => {
147
- dd.checked = result;
148
- vmi.data = getDatalist();
149
- vmi.callback();
150
- gvc.notifyDataChange(vm.filterId);
151
- },
152
- style: 'height:25px;',
153
- }),
154
- },
155
- {
156
- key: '用戶名稱',
157
- value: `<span class="fs-7">${(_a = dd.name) !== null && _a !== void 0 ? _a : '資料異常'}</span>`,
158
- },
159
- {
160
- key: '購物金來源',
161
- value: (() => {
162
- let text = '';
163
- if (dd.content.order_id) {
164
- text = `訂單編號:${dd.content.order_id}`;
165
- }
166
- else {
167
- switch (dd.content.type) {
168
- case 'manual':
169
- text = '手動設定';
170
- break;
171
- case 'first_regiser':
172
- text = '新加入會員';
173
- break;
174
- case 'birth':
175
- text = '生日禮';
176
- break;
177
- default:
178
- text = dd.origin < 0 ? '使用折抵' : '其他';
179
- break;
110
+ ${BgWidget.container(BgWidget.mainCard([
111
+ BgWidget.searchPlace(gvc.event((e, event) => {
112
+ vm.query = e.value;
113
+ gvc.notifyDataChange(vm.id);
114
+ }), vm.query || '', '搜尋顧客信箱、姓名'),
115
+ gvc.bindView({
116
+ bind: vm.tableId,
117
+ view: () => {
118
+ return BgWidget.tableV3({
119
+ gvc: gvc,
120
+ getData: (vmi) => {
121
+ const limit = 15;
122
+ ApiWallet.getRebate({
123
+ page: vmi.page - 1,
124
+ limit: limit,
125
+ search: vm.query || undefined,
126
+ }).then((data) => {
127
+ function getDatalist() {
128
+ return data.response.data.map((dd) => {
129
+ var _a, _b;
130
+ return [
131
+ {
132
+ key: '用戶名稱',
133
+ value: `<span class="fs-7">${(_a = dd.name) !== null && _a !== void 0 ? _a : '資料異常'}</span>`,
134
+ },
135
+ {
136
+ key: '購物金來源',
137
+ value: (() => {
138
+ let text = '';
139
+ if (dd.content.order_id) {
140
+ text = `訂單編號:${dd.content.order_id}`;
180
141
  }
181
- }
182
- return html `<span class="fs-7">${text}</span>`;
183
- })(),
184
- },
185
- {
186
- key: '增減',
187
- value: (() => {
188
- if (dd.origin > 0) {
189
- return html `<span class="tx_700 text-success">+ ${dd.origin}</span>`;
190
- }
191
- return html `<span class="tx_700 text-danger">- ${dd.origin * -1}</span>`;
192
- })(),
193
- },
194
- {
195
- key: '此筆可使用餘額',
196
- value: (() => {
197
- const now = new Date();
198
- if (dd.origin > 0 && dd.remain > 0 && now > new Date(dd.created_at) && now < new Date(dd.deadline)) {
199
- return html `<span class="tx_700 text-success">+ ${dd.remain}</span>`;
200
- }
201
- return html `<span class="tx_700">0</span>`;
202
- })(),
203
- },
204
- {
205
- key: '備註',
206
- value: `<span class="fs-7">${typeof dd.note === 'string' ? dd.note : (_b = (dd.note && dd.note.note)) !== null && _b !== void 0 ? _b : '尚未填寫備註'}</span>`,
207
- },
208
- {
209
- key: '建立時間',
210
- value: `<span class="fs-7">${glitter.ut.dateFormat(new Date(dd.created_at), 'yyyy-MM-dd hh:mm:ss')}</span>`,
211
- },
212
- ];
213
- });
214
- }
215
- vmi.data = getDatalist();
216
- vmi.loading = false;
217
- vmi.callback();
218
- });
219
- },
220
- rowClick: (data, index) => {
221
- vm.data = vm.dataList[index];
222
- vm.type = 'replace';
223
- },
224
- filter: html `
225
- ${BgWidget.searchPlace(gvc.event((e, event) => {
226
- vm.query = e.value;
227
- gvc.notifyDataChange(vm.id);
228
- }), vm.query || '', '搜尋顧客信箱、姓名')}
229
- ${gvc.bindView(() => {
230
- return {
231
- bind: vm.filterId,
232
- view: () => {
233
- if (!vm.dataList ||
234
- !vm.dataList.find((dd) => {
235
- return dd.checked;
236
- })) {
237
- return '';
238
- }
239
- else {
240
- const selCount = vm.dataList.filter((dd) => dd.checked).length;
241
- return BgWidget.selNavbar({
242
- count: selCount,
243
- buttonList: [],
142
+ else {
143
+ switch (dd.content.type) {
144
+ case 'manual':
145
+ text = '手動設定';
146
+ break;
147
+ case 'first_regiser':
148
+ text = '新加入會員';
149
+ break;
150
+ case 'birth':
151
+ text = '生日禮';
152
+ break;
153
+ default:
154
+ text = dd.origin < 0 ? '使用折抵' : '其他';
155
+ break;
156
+ }
157
+ }
158
+ return html `<span class="fs-7">${text}</span>`;
159
+ })(),
160
+ },
161
+ {
162
+ key: '增減',
163
+ value: (() => {
164
+ if (dd.origin > 0) {
165
+ return html `<span class="tx_700 text-success">+ ${dd.origin}</span>`;
166
+ }
167
+ return html `<span class="tx_700 text-danger">- ${dd.origin * -1}</span>`;
168
+ })(),
169
+ },
170
+ {
171
+ key: '此筆可使用餘額',
172
+ value: (() => {
173
+ const now = new Date();
174
+ if (dd.origin > 0 && dd.remain > 0 && now > new Date(dd.created_at) && now < new Date(dd.deadline)) {
175
+ return html `<span class="tx_700 text-success">+ ${dd.remain}</span>`;
176
+ }
177
+ return html `<span class="tx_700">0</span>`;
178
+ })(),
179
+ },
180
+ {
181
+ key: '備註',
182
+ value: `<span class="fs-7">${typeof dd.note === 'string' ? dd.note : (_b = (dd.note && dd.note.note)) !== null && _b !== void 0 ? _b : '尚未填寫備註'}</span>`,
183
+ },
184
+ {
185
+ key: '建立時間',
186
+ value: `<span class="fs-7">${glitter.ut.dateFormat(new Date(dd.created_at), 'yyyy-MM-dd hh:mm:ss')}</span>`,
187
+ },
188
+ ];
244
189
  });
245
190
  }
246
- },
247
- divCreate: () => {
248
- return {
249
- class: `d-flex align-items-center mt-2 p-2 py-3 ${!vm.dataList ||
250
- !vm.dataList.find((dd) => {
251
- return dd.checked;
252
- })
253
- ? `d-none`
254
- : ``}`,
255
- style: ``,
256
- };
257
- },
258
- };
259
- })}
260
- `,
261
- });
262
- },
263
- })) + BgWidget.mbContainer(120))}
191
+ vm.dataList = data.response.data;
192
+ vmi.pageSize = Math.ceil(data.response.total / limit);
193
+ vmi.originalData = vm.dataList;
194
+ vmi.tableData = getDatalist();
195
+ vmi.loading = false;
196
+ vmi.callback();
197
+ });
198
+ },
199
+ rowClick: (data, index) => {
200
+ vm.data = vm.dataList[index];
201
+ vm.type = 'replace';
202
+ },
203
+ filter: [],
204
+ });
205
+ },
206
+ }),
207
+ ].join('')) + BgWidget.mbContainer(120))}
264
208
  `, BgWidget.getContainerWidth());
265
209
  }
266
210
  else if (vm.type == 'replace') {
@@ -132,166 +132,108 @@ export class ShoppingRebate {
132
132
  </div>
133
133
  ${BgWidget.container(
134
134
  BgWidget.mainCard(
135
- gvc.bindView({
136
- bind: vm.tableId,
137
- view: () => {
138
- return BgWidget.tableV2({
139
- gvc: gvc,
140
- getData: (vmi) => {
141
- const limit = 15;
142
- ApiWallet.getRebate({
143
- page: vmi.page - 1,
144
- limit: limit,
145
- search: vm.query || undefined,
146
- }).then((data) => {
147
- vmi.pageSize = Math.ceil(data.response.total / limit);
148
- vm.dataList = data.response.data;
149
-
150
- function getDatalist() {
151
- return data.response.data.map((dd: any) => {
152
- return [
153
- {
154
- key: EditorElem.checkBoxOnly({
155
- gvc: gvc,
156
- def: !data.response.data.find((dd: any) => {
157
- return !dd.checked;
158
- }),
159
- callback: (result) => {
160
- data.response.data.map((dd: any) => {
161
- dd.checked = result;
162
- });
163
- vmi.data = getDatalist();
164
- vmi.callback();
165
- gvc.notifyDataChange(vm.filterId);
166
- },
167
- }),
168
- value: EditorElem.checkBoxOnly({
169
- gvc: gvc,
170
- def: dd.checked,
171
- callback: (result) => {
172
- dd.checked = result;
173
- vmi.data = getDatalist();
174
- vmi.callback();
175
- gvc.notifyDataChange(vm.filterId);
176
- },
177
- style: 'height:25px;',
178
- }),
179
- },
180
- {
181
- key: '用戶名稱',
182
- value: `<span class="fs-7">${dd.name ?? '資料異常'}</span>`,
183
- },
184
- {
185
- key: '購物金來源',
186
- value: (() => {
187
- let text = '';
188
- if (dd.content.order_id) {
189
- text = `訂單編號:${dd.content.order_id}`;
190
- } else {
191
- switch (dd.content.type) {
192
- case 'manual':
193
- text = '手動設定';
194
- break;
195
- case 'first_regiser':
196
- text = '新加入會員';
197
- break;
198
- case 'birth':
199
- text = '生日禮';
200
- break;
201
- default:
202
- text = dd.origin < 0 ? '使用折抵' : '其他';
203
- break;
135
+ [
136
+ BgWidget.searchPlace(
137
+ gvc.event((e, event) => {
138
+ vm.query = e.value;
139
+ gvc.notifyDataChange(vm.id);
140
+ }),
141
+ vm.query || '',
142
+ '搜尋顧客信箱、姓名'
143
+ ),
144
+ gvc.bindView({
145
+ bind: vm.tableId,
146
+ view: () => {
147
+ return BgWidget.tableV3({
148
+ gvc: gvc,
149
+ getData: (vmi) => {
150
+ const limit = 15;
151
+ ApiWallet.getRebate({
152
+ page: vmi.page - 1,
153
+ limit: limit,
154
+ search: vm.query || undefined,
155
+ }).then((data) => {
156
+ function getDatalist() {
157
+ return data.response.data.map((dd: any) => {
158
+ return [
159
+ {
160
+ key: '用戶名稱',
161
+ value: `<span class="fs-7">${dd.name ?? '資料異常'}</span>`,
162
+ },
163
+ {
164
+ key: '購物金來源',
165
+ value: (() => {
166
+ let text = '';
167
+ if (dd.content.order_id) {
168
+ text = `訂單編號:${dd.content.order_id}`;
169
+ } else {
170
+ switch (dd.content.type) {
171
+ case 'manual':
172
+ text = '手動設定';
173
+ break;
174
+ case 'first_regiser':
175
+ text = '新加入會員';
176
+ break;
177
+ case 'birth':
178
+ text = '生日禮';
179
+ break;
180
+ default:
181
+ text = dd.origin < 0 ? '使用折抵' : '其他';
182
+ break;
183
+ }
204
184
  }
205
- }
206
- return html`<span class="fs-7">${text}</span>`;
207
- })(),
208
- },
209
- {
210
- key: '增減',
211
- value: (() => {
212
- if (dd.origin > 0) {
213
- return html`<span class="tx_700 text-success">+ ${dd.origin}</span>`;
214
- }
215
- return html`<span class="tx_700 text-danger">- ${dd.origin * -1}</span>`;
216
- })(),
217
- },
218
- {
219
- key: '此筆可使用餘額',
220
- value: (() => {
221
- const now = new Date();
222
- if (dd.origin > 0 && dd.remain > 0 && now > new Date(dd.created_at) && now < new Date(dd.deadline)) {
223
- return html`<span class="tx_700 text-success">+ ${dd.remain}</span>`;
224
- }
225
- return html`<span class="tx_700">0</span>`;
226
- })(),
227
- },
228
- {
229
- key: '備註',
230
- value: `<span class="fs-7">${typeof dd.note === 'string' ? dd.note : (dd.note && dd.note.note) ?? '尚未填寫備註'}</span>`,
231
- },
232
- {
233
- key: '建立時間',
234
- value: `<span class="fs-7">${glitter.ut.dateFormat(new Date(dd.created_at), 'yyyy-MM-dd hh:mm:ss')}</span>`,
235
- },
236
- ];
237
- });
238
- }
239
- vmi.data = getDatalist();
240
- vmi.loading = false;
241
- vmi.callback();
242
- });
243
- },
244
- rowClick: (data, index) => {
245
- vm.data = vm.dataList[index];
246
- vm.type = 'replace';
247
- },
248
- filter: html`
249
- ${BgWidget.searchPlace(
250
- gvc.event((e, event) => {
251
- vm.query = e.value;
252
- gvc.notifyDataChange(vm.id);
253
- }),
254
- vm.query || '',
255
- '搜尋顧客信箱、姓名'
256
- )}
257
- ${gvc.bindView(() => {
258
- return {
259
- bind: vm.filterId,
260
- view: () => {
261
- if (
262
- !vm.dataList ||
263
- !vm.dataList.find((dd: any) => {
264
- return dd.checked;
265
- })
266
- ) {
267
- return '';
268
- } else {
269
- const selCount = vm.dataList.filter((dd: any) => dd.checked).length;
270
- return BgWidget.selNavbar({
271
- count: selCount,
272
- buttonList: [],
273
- });
274
- }
275
- },
276
- divCreate: () => {
277
- return {
278
- class: `d-flex align-items-center mt-2 p-2 py-3 ${
279
- !vm.dataList ||
280
- !vm.dataList.find((dd: any) => {
281
- return dd.checked;
282
- })
283
- ? `d-none`
284
- : ``
285
- }`,
286
- style: ``,
287
- };
288
- },
289
- };
290
- })}
291
- `,
292
- });
293
- },
294
- })
185
+ return html`<span class="fs-7">${text}</span>`;
186
+ })(),
187
+ },
188
+ {
189
+ key: '增減',
190
+ value: (() => {
191
+ if (dd.origin > 0) {
192
+ return html`<span class="tx_700 text-success">+ ${dd.origin}</span>`;
193
+ }
194
+ return html`<span class="tx_700 text-danger">- ${dd.origin * -1}</span>`;
195
+ })(),
196
+ },
197
+ {
198
+ key: '此筆可使用餘額',
199
+ value: (() => {
200
+ const now = new Date();
201
+ if (dd.origin > 0 && dd.remain > 0 && now > new Date(dd.created_at) && now < new Date(dd.deadline)) {
202
+ return html`<span class="tx_700 text-success">+ ${dd.remain}</span>`;
203
+ }
204
+ return html`<span class="tx_700">0</span>`;
205
+ })(),
206
+ },
207
+ {
208
+ key: '備註',
209
+ value: `<span class="fs-7">${
210
+ typeof dd.note === 'string' ? dd.note : (dd.note && dd.note.note) ?? '尚未填寫備註'
211
+ }</span>`,
212
+ },
213
+ {
214
+ key: '建立時間',
215
+ value: `<span class="fs-7">${glitter.ut.dateFormat(new Date(dd.created_at), 'yyyy-MM-dd hh:mm:ss')}</span>`,
216
+ },
217
+ ];
218
+ });
219
+ }
220
+ vm.dataList = data.response.data;
221
+ vmi.pageSize = Math.ceil(data.response.total / limit);
222
+ vmi.originalData = vm.dataList;
223
+ vmi.tableData = getDatalist();
224
+ vmi.loading = false;
225
+ vmi.callback();
226
+ });
227
+ },
228
+ rowClick: (data, index) => {
229
+ vm.data = vm.dataList[index];
230
+ vm.type = 'replace';
231
+ },
232
+ filter: [],
233
+ });
234
+ },
235
+ }),
236
+ ].join('')
295
237
  ) + BgWidget.mbContainer(120)
296
238
  )}
297
239
  `,