ts-glitter 20.7.3 → 20.7.5

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 (248) hide show
  1. package/jr9x7k3aau.json +1 -0
  2. package/lowcode/Entry.js +1 -1
  3. package/lowcode/Entry.ts +1 -1
  4. package/lowcode/backend-manager/bg-notify.js +2 -0
  5. package/lowcode/backend-manager/bg-notify.ts +2 -0
  6. package/lowcode/backend-manager/bg-widget.js +280 -155
  7. package/lowcode/backend-manager/bg-widget.ts +387 -244
  8. package/lowcode/backend-manager/splitPage.js +27 -52
  9. package/lowcode/backend-manager/splitPage.ts +29 -47
  10. package/lowcode/cms-plugin/app-release.js +63 -13
  11. package/lowcode/cms-plugin/app-release.ts +73 -13
  12. package/lowcode/cms-plugin/auto-fcm-advertise.js +23 -24
  13. package/lowcode/cms-plugin/auto-fcm-advertise.ts +286 -285
  14. package/lowcode/cms-plugin/auto-reply.js +285 -273
  15. package/lowcode/cms-plugin/auto-reply.ts +673 -660
  16. package/lowcode/cms-plugin/module/data.ts +1 -0
  17. package/lowcode/cms-plugin/module/order-setting.js +134 -117
  18. package/lowcode/cms-plugin/module/order-setting.ts +152 -138
  19. package/lowcode/cms-plugin/pos-pages/products-page.js +8 -16
  20. package/lowcode/cms-plugin/pos-pages/products-page.ts +10 -12
  21. package/lowcode/cms-plugin/shopping-order-manager.js +244 -289
  22. package/lowcode/cms-plugin/shopping-order-manager.ts +128 -156
  23. package/lowcode/cms-plugin/shopping-order-return.js +1 -1
  24. package/lowcode/cms-plugin/shopping-order-return.ts +1 -1
  25. package/lowcode/cms-plugin/shopping-product-setting.js +3 -3
  26. package/lowcode/cms-plugin/shopping-product-setting.ts +3 -3
  27. package/lowcode/cms-plugin/shopping-setting-advance.js +3 -28
  28. package/lowcode/cms-plugin/shopping-setting-advance.ts +3 -28
  29. package/lowcode/cms-plugin/stock-history.js +31 -15
  30. package/lowcode/cms-plugin/stock-history.ts +43 -25
  31. package/lowcode/cms-plugin/third-party-google.js +103 -81
  32. package/lowcode/cms-plugin/third-party-google.ts +296 -265
  33. package/lowcode/cms-plugin/user-list.js +166 -113
  34. package/lowcode/cms-plugin/user-list.ts +136 -78
  35. package/lowcode/form-view/e-commerce/path-select.js +100 -87
  36. package/lowcode/form-view/e-commerce/path-select.ts +372 -343
  37. package/lowcode/glitter-base/route/stock.ts +153 -141
  38. package/lowcode/glitterBundle/plugins/editor-elem.js +139 -149
  39. package/lowcode/glitterBundle/plugins/editor-elem.ts +207 -222
  40. package/lowcode/public-components/blogs/list.js +8 -16
  41. package/lowcode/public-components/blogs/list.ts +10 -12
  42. package/lowcode/public-components/product/product-list.js +8 -16
  43. package/lowcode/public-components/product/product-list.ts +10 -12
  44. package/lowcode/public-components/user-manager/um-login.js +270 -267
  45. package/lowcode/public-components/user-manager/um-login.ts +987 -983
  46. package/lowcode/public-models/order-info.js +12 -20
  47. package/lowcode/public-models/order-info.ts +13 -12
  48. package/package.json +1 -1
  49. package/src/Language.js.map +1 -1
  50. package/src/api-public/controllers/ai-chat.js.map +1 -1
  51. package/src/api-public/controllers/ai-points.js.map +1 -1
  52. package/src/api-public/controllers/app-release.js.map +1 -1
  53. package/src/api-public/controllers/article.js.map +1 -1
  54. package/src/api-public/controllers/chat.js.map +1 -1
  55. package/src/api-public/controllers/customer-sessions.js.map +1 -1
  56. package/src/api-public/controllers/delivery.js.map +1 -1
  57. package/src/api-public/controllers/fb-message.js.map +1 -1
  58. package/src/api-public/controllers/fb-service.js.map +1 -1
  59. package/src/api-public/controllers/fcm.js.map +1 -1
  60. package/src/api-public/controllers/graph-api.js.map +1 -1
  61. package/src/api-public/controllers/index.js.map +1 -1
  62. package/src/api-public/controllers/invoice.js.map +1 -1
  63. package/src/api-public/controllers/lambda.js.map +1 -1
  64. package/src/api-public/controllers/line-message.js.map +1 -1
  65. package/src/api-public/controllers/manager.js.map +1 -1
  66. package/src/api-public/controllers/oauth.js.map +1 -1
  67. package/src/api-public/controllers/post.js.map +1 -1
  68. package/src/api-public/controllers/progress.js.map +1 -1
  69. package/src/api-public/controllers/rebate.js.map +1 -1
  70. package/src/api-public/controllers/recommend.js.map +1 -1
  71. package/src/api-public/controllers/reconciliation.js.map +1 -1
  72. package/src/api-public/controllers/shop.js.map +1 -1
  73. package/src/api-public/controllers/shopee.js.map +1 -1
  74. package/src/api-public/controllers/sms-points.js.map +1 -1
  75. package/src/api-public/controllers/sms.js.map +1 -1
  76. package/src/api-public/controllers/smtp.js.map +1 -1
  77. package/src/api-public/controllers/sql_api.js.map +1 -1
  78. package/src/api-public/controllers/stock.js.map +1 -1
  79. package/src/api-public/controllers/track.js.map +1 -1
  80. package/src/api-public/controllers/user.js +1 -1
  81. package/src/api-public/controllers/user.js.map +1 -1
  82. package/src/api-public/controllers/user.ts +1 -1
  83. package/src/api-public/controllers/voucher.js.map +1 -1
  84. package/src/api-public/controllers/wallet.js.map +1 -1
  85. package/src/api-public/models/glitter-finance.js +2 -1
  86. package/src/api-public/models/glitter-finance.js.map +1 -1
  87. package/src/api-public/services/EcInvoice.js.map +1 -1
  88. package/src/api-public/services/ai-pointes.js.map +1 -1
  89. package/src/api-public/services/ai-robot.d.ts +1 -0
  90. package/src/api-public/services/ai-robot.js.map +1 -1
  91. package/src/api-public/services/article.js.map +1 -1
  92. package/src/api-public/services/auto-send-email.js.map +1 -1
  93. package/src/api-public/services/chat.js.map +1 -1
  94. package/src/api-public/services/checkout-event.d.ts +3 -1
  95. package/src/api-public/services/checkout-event.js +7 -4
  96. package/src/api-public/services/checkout-event.js.map +1 -1
  97. package/src/api-public/services/checkout-event.ts +26 -17
  98. package/src/api-public/services/checkout.js.map +1 -1
  99. package/src/api-public/services/custom-code.js.map +1 -1
  100. package/src/api-public/services/customer-sessions.js.map +1 -1
  101. package/src/api-public/services/data-analyze.js +3 -3
  102. package/src/api-public/services/data-analyze.js.map +1 -1
  103. package/src/api-public/services/data-analyze.ts +3 -3
  104. package/src/api-public/services/delivery.js.map +1 -1
  105. package/src/api-public/services/ezpay/tool.d.ts +1 -0
  106. package/src/api-public/services/ezpay/tool.js.map +1 -1
  107. package/src/api-public/services/fake-data-model/fake-order.js.map +1 -1
  108. package/src/api-public/services/fake-data-model/fake-product.js.map +1 -1
  109. package/src/api-public/services/fake-data-model/fake-user.js.map +1 -1
  110. package/src/api-public/services/fb-api.d.ts +1 -0
  111. package/src/api-public/services/fb-api.js.map +1 -1
  112. package/src/api-public/services/fb-message.d.ts +1 -0
  113. package/src/api-public/services/fb-message.js.map +1 -1
  114. package/src/api-public/services/fb-service.js +4 -4
  115. package/src/api-public/services/fb-service.js.map +1 -1
  116. package/src/api-public/services/filter-protect-data.js.map +1 -1
  117. package/src/api-public/services/financial-service.d.ts +1 -0
  118. package/src/api-public/services/financial-service.js.map +1 -1
  119. package/src/api-public/services/form-check.js.map +1 -1
  120. package/src/api-public/services/graph-api.js.map +1 -1
  121. package/src/api-public/services/initial-fake-data.js.map +1 -1
  122. package/src/api-public/services/invoice.js.map +1 -1
  123. package/src/api-public/services/language-setting.js.map +1 -1
  124. package/src/api-public/services/line-message.d.ts +1 -0
  125. package/src/api-public/services/line-message.js.map +1 -1
  126. package/src/api-public/services/mail.js.map +1 -1
  127. package/src/api-public/services/manager.js.map +1 -1
  128. package/src/api-public/services/model/handlePaymentTransaction.js.map +1 -1
  129. package/src/api-public/services/model/shopnex-line-message.js.map +1 -1
  130. package/src/api-public/services/monitor.d.ts +1 -0
  131. package/src/api-public/services/monitor.js.map +1 -1
  132. package/src/api-public/services/notify.js.map +1 -1
  133. package/src/api-public/services/order-event.js.map +1 -1
  134. package/src/api-public/services/paynow-logistics.js.map +1 -1
  135. package/src/api-public/services/phone-verify.js.map +1 -1
  136. package/src/api-public/services/pos.js.map +1 -1
  137. package/src/api-public/services/post.js.map +1 -1
  138. package/src/api-public/services/product-initial.js.map +1 -1
  139. package/src/api-public/services/public-table-check.js.map +1 -1
  140. package/src/api-public/services/rebate.js.map +1 -1
  141. package/src/api-public/services/recommend.js.map +1 -1
  142. package/src/api-public/services/reconciliation.js.map +1 -1
  143. package/src/api-public/services/schedule.js.map +1 -1
  144. package/src/api-public/services/share-permission.d.ts +1 -1
  145. package/src/api-public/services/share-permission.js.map +1 -1
  146. package/src/api-public/services/shopee.d.ts +1 -0
  147. package/src/api-public/services/shopee.js.map +1 -1
  148. package/src/api-public/services/shopping.js +5 -9
  149. package/src/api-public/services/shopping.js.map +1 -1
  150. package/src/api-public/services/shopping.ts +4 -10
  151. package/src/api-public/services/sms-pointes.js.map +1 -1
  152. package/src/api-public/services/sms.js.map +1 -1
  153. package/src/api-public/services/stock.js.map +1 -1
  154. package/src/api-public/services/terms-check.js.map +1 -1
  155. package/src/api-public/services/updated-table-checked.js.map +1 -1
  156. package/src/api-public/services/user-update.js.map +1 -1
  157. package/src/api-public/services/user.d.ts +6 -1
  158. package/src/api-public/services/user.js +30 -15
  159. package/src/api-public/services/user.js.map +1 -1
  160. package/src/api-public/services/user.ts +109 -91
  161. package/src/api-public/services/voucher.js.map +1 -1
  162. package/src/api-public/services/wallet.js.map +1 -1
  163. package/src/api-public/services/workers.js.map +1 -1
  164. package/src/api-public/utils/ut-database.js.map +1 -1
  165. package/src/api-public/utils/ut-permission.d.ts +1 -0
  166. package/src/api-public/utils/ut-permission.js.map +1 -1
  167. package/src/app-project/serverless/src/controllers/index.js.map +1 -1
  168. package/src/app-project/serverless/src/controllers/sample.js.map +1 -1
  169. package/src/app-project/serverless/src/modules/database.d.ts +2 -1
  170. package/src/app-project/serverless/src/modules/database.js.map +1 -1
  171. package/src/app-project/serverless/src/modules/exception.js.map +1 -1
  172. package/src/app-project/serverless/src/modules/hooks.js.map +1 -1
  173. package/src/app-project/serverless/src/modules/logger.js.map +1 -1
  174. package/src/app-project/serverless/src/modules/redis.d.ts +1 -1
  175. package/src/app-project/serverless/src/modules/redis.js.map +1 -1
  176. package/src/app-project/serverless/src/modules/response.js.map +1 -1
  177. package/src/app-project/serverless/src/modules/ssh.js.map +1 -1
  178. package/src/config.d.ts +1 -1
  179. package/src/config.js.map +1 -1
  180. package/src/controllers/ai.js.map +1 -1
  181. package/src/controllers/app.js.map +1 -1
  182. package/src/controllers/backend-server.js.map +1 -1
  183. package/src/controllers/filemanager.js.map +1 -1
  184. package/src/controllers/global-event.js.map +1 -1
  185. package/src/controllers/index.js.map +1 -1
  186. package/src/controllers/page.js.map +1 -1
  187. package/src/controllers/private_config.js.map +1 -1
  188. package/src/controllers/template.js.map +1 -1
  189. package/src/controllers/user.js.map +1 -1
  190. package/src/domain-check.js.map +1 -1
  191. package/src/export/export-test.js.map +1 -1
  192. package/src/firebase/message.js +2 -1
  193. package/src/firebase/message.js.map +1 -1
  194. package/src/helper/app_creater.js +2 -1
  195. package/src/helper/app_creater.js.map +1 -1
  196. package/src/helper/glitter-util.d.ts +1 -0
  197. package/src/helper/glitter-util.js.map +1 -1
  198. package/src/index.js +3 -3
  199. package/src/index.js.map +1 -1
  200. package/src/lambda/interface.d.ts +1 -1
  201. package/src/lambda/interface.js +2 -2
  202. package/src/lambda/interface.js.map +1 -1
  203. package/src/modules/AWSLib.js +3 -2
  204. package/src/modules/AWSLib.js.map +1 -1
  205. package/src/modules/caught-error.js.map +1 -1
  206. package/src/modules/database.d.ts +2 -1
  207. package/src/modules/database.js.map +1 -1
  208. package/src/modules/exception.js.map +1 -1
  209. package/src/modules/firebase.js.map +1 -1
  210. package/src/modules/hooks.js.map +1 -1
  211. package/src/modules/logger.js.map +1 -1
  212. package/src/modules/redis.d.ts +1 -1
  213. package/src/modules/redis.js.map +1 -1
  214. package/src/modules/response.js.map +1 -1
  215. package/src/modules/ssh.js.map +1 -1
  216. package/src/modules/tool.d.ts +4 -4
  217. package/src/modules/tool.js +2 -1
  218. package/src/modules/tool.js.map +1 -1
  219. package/src/public-config-initial/auto-fcm.js.map +1 -1
  220. package/src/run.js +2 -1
  221. package/src/run.js.map +1 -1
  222. package/src/seo-config.d.ts +1 -0
  223. package/src/seo-config.js +3 -3
  224. package/src/seo-config.js.map +1 -1
  225. package/src/services/ai.js.map +1 -1
  226. package/src/services/app.js.map +1 -1
  227. package/src/services/backend-service.js.map +1 -1
  228. package/src/services/create-instance.js +4 -3
  229. package/src/services/create-instance.js.map +1 -1
  230. package/src/services/global-event.js.map +1 -1
  231. package/src/services/ios-release.js.map +1 -1
  232. package/src/services/page.js.map +1 -1
  233. package/src/services/private_config.js.map +1 -1
  234. package/src/services/release.js.map +1 -1
  235. package/src/services/saas-table-check.js +2 -2
  236. package/src/services/saas-table-check.js.map +1 -1
  237. package/src/services/seo.js.map +1 -1
  238. package/src/services/ses.js +2 -1
  239. package/src/services/ses.js.map +1 -1
  240. package/src/services/system-schedule.js.map +1 -1
  241. package/src/services/template.js.map +1 -1
  242. package/src/services/tool.js +3 -2
  243. package/src/services/tool.js.map +1 -1
  244. package/src/services/user.js.map +1 -1
  245. package/src/services/web-socket.js.map +1 -1
  246. package/src/update-progress-track.js.map +1 -1
  247. package/src/update-script.js.map +1 -1
  248. package/src/api-public/services/checkout-service.js +0 -1074
@@ -238,7 +238,9 @@ export class StockHistory {
238
238
  },
239
239
  {
240
240
  key: '總金額',
241
- value: `<span class="fs-7">$ ${dd.content.product_list
241
+ value: html `<span class="fs-7"
242
+ >$
243
+ ${dd.content.product_list
242
244
  .reduce((sum, item) => {
243
245
  var _a, _b;
244
246
  if (dd.type === 'restocking') {
@@ -248,7 +250,8 @@ export class StockHistory {
248
250
  return sum + item.cost * ((_b = item.recent_count) !== null && _b !== void 0 ? _b : 0);
249
251
  }
250
252
  }, 0)
251
- .toLocaleString()}</span>`,
253
+ .toLocaleString()}</span
254
+ >`,
252
255
  },
253
256
  {
254
257
  key: '供應商',
@@ -1165,6 +1168,7 @@ export class StockHistory {
1165
1168
  gvc.bindView({
1166
1169
  bind: dvm.radioCompId,
1167
1170
  view: () => {
1171
+ dvm.variantIds = [];
1168
1172
  switch (vm.data.content.check_according) {
1169
1173
  case 'collection':
1170
1174
  return gvc.bindView(() => {
@@ -1824,8 +1828,10 @@ export class StockHistory {
1824
1828
  if (dd.result && dd.response.value) {
1825
1829
  dataList = dd.response.value.list;
1826
1830
  }
1827
- loading = false;
1828
- gvc.notifyDataChange(id);
1831
+ setTimeout(() => {
1832
+ loading = false;
1833
+ gvc.notifyDataChange(id);
1834
+ }, 100);
1829
1835
  });
1830
1836
  }
1831
1837
  },
@@ -1912,8 +1918,10 @@ export class StockHistory {
1912
1918
  if (dd.result && dd.response.value) {
1913
1919
  dataList = dd.response.value.list;
1914
1920
  }
1915
- loading = false;
1916
- gvc.notifyDataChange(id);
1921
+ setTimeout(() => {
1922
+ loading = false;
1923
+ gvc.notifyDataChange(id);
1924
+ }, 100);
1917
1925
  });
1918
1926
  }
1919
1927
  },
@@ -1975,8 +1983,10 @@ export class StockHistory {
1975
1983
  if (dd.result && dd.response.value) {
1976
1984
  dataList = dd.response.value.list;
1977
1985
  }
1978
- loading = false;
1979
- gvc.notifyDataChange(id);
1986
+ setTimeout(() => {
1987
+ loading = false;
1988
+ gvc.notifyDataChange(id);
1989
+ }, 100);
1980
1990
  });
1981
1991
  }
1982
1992
  },
@@ -2031,8 +2041,10 @@ export class StockHistory {
2031
2041
  if (dd.result && dd.response.value) {
2032
2042
  dataList = dd.response.value.list;
2033
2043
  }
2034
- loading = false;
2035
- gvc.notifyDataChange(id);
2044
+ setTimeout(() => {
2045
+ loading = false;
2046
+ gvc.notifyDataChange(id);
2047
+ }, 100);
2036
2048
  });
2037
2049
  }
2038
2050
  },
@@ -2096,8 +2108,10 @@ export class StockHistory {
2096
2108
  if (dd.result && dd.response.value) {
2097
2109
  dataList = dd.response.value.list;
2098
2110
  }
2099
- loading = false;
2100
- gvc.notifyDataChange(id);
2111
+ setTimeout(() => {
2112
+ loading = false;
2113
+ gvc.notifyDataChange(id);
2114
+ }, 100);
2101
2115
  });
2102
2116
  }
2103
2117
  },
@@ -3154,11 +3168,13 @@ export class StockHistory {
3154
3168
  product_list.push(Object.assign(Object.assign({ variant_id: item.id, cost: 0, note: '', transfer_count: 0, product_id: item.product_content.id, check_count: 0 }, (origin !== null && origin !== void 0 ? origin : {})), { title: title, spec: spec && spec.length > 0 ? spec.join('/') : '單一規格', sku: sku !== null && sku !== void 0 ? sku : '', barcode: barcode !== null && barcode !== void 0 ? barcode : '' }));
3155
3169
  });
3156
3170
  }
3157
- callback(origins.filter((d1) => {
3158
- return !product_list.find((dd) => {
3171
+ callback(origins
3172
+ .filter(d1 => {
3173
+ return !product_list.find(dd => {
3159
3174
  return d1.variant_id === dd.variant_id;
3160
3175
  });
3161
- }).concat(product_list));
3176
+ })
3177
+ .concat(product_list));
3162
3178
  });
3163
3179
  }
3164
3180
  static getVariantInfo(dataList, callback) {
@@ -269,15 +269,18 @@ export class StockHistory {
269
269
  },
270
270
  {
271
271
  key: '總金額',
272
- value: `<span class="fs-7">$ ${dd.content.product_list
273
- .reduce((sum, item) => {
274
- if (dd.type === 'restocking') {
275
- return sum + item.cost * (item.transfer_count ?? 0);
276
- } else {
277
- return sum + item.cost * (item.recent_count ?? 0);
278
- }
279
- }, 0)
280
- .toLocaleString()}</span>`,
272
+ value: html`<span class="fs-7"
273
+ >$
274
+ ${dd.content.product_list
275
+ .reduce((sum, item) => {
276
+ if (dd.type === 'restocking') {
277
+ return sum + item.cost * (item.transfer_count ?? 0);
278
+ } else {
279
+ return sum + item.cost * (item.recent_count ?? 0);
280
+ }
281
+ }, 0)
282
+ .toLocaleString()}</span
283
+ >`,
281
284
  },
282
285
  {
283
286
  key: '供應商',
@@ -1264,6 +1267,7 @@ export class StockHistory {
1264
1267
  gvc.bindView({
1265
1268
  bind: dvm.radioCompId,
1266
1269
  view: () => {
1270
+ dvm.variantIds = [];
1267
1271
  switch (vm.data.content.check_according) {
1268
1272
  case 'collection':
1269
1273
  return gvc.bindView(() => {
@@ -2008,8 +2012,10 @@ export class StockHistory {
2008
2012
  if (dd.result && dd.response.value) {
2009
2013
  dataList = dd.response.value.list;
2010
2014
  }
2011
- loading = false;
2012
- gvc.notifyDataChange(id);
2015
+ setTimeout(() => {
2016
+ loading = false;
2017
+ gvc.notifyDataChange(id);
2018
+ }, 100);
2013
2019
  });
2014
2020
  }
2015
2021
  },
@@ -2109,8 +2115,10 @@ export class StockHistory {
2109
2115
  if (dd.result && dd.response.value) {
2110
2116
  dataList = dd.response.value.list;
2111
2117
  }
2112
- loading = false;
2113
- gvc.notifyDataChange(id);
2118
+ setTimeout(() => {
2119
+ loading = false;
2120
+ gvc.notifyDataChange(id);
2121
+ }, 100);
2114
2122
  });
2115
2123
  }
2116
2124
  },
@@ -2175,8 +2183,10 @@ export class StockHistory {
2175
2183
  if (dd.result && dd.response.value) {
2176
2184
  dataList = dd.response.value.list;
2177
2185
  }
2178
- loading = false;
2179
- gvc.notifyDataChange(id);
2186
+ setTimeout(() => {
2187
+ loading = false;
2188
+ gvc.notifyDataChange(id);
2189
+ }, 100);
2180
2190
  });
2181
2191
  }
2182
2192
  },
@@ -2234,8 +2244,10 @@ export class StockHistory {
2234
2244
  if (dd.result && dd.response.value) {
2235
2245
  dataList = dd.response.value.list;
2236
2246
  }
2237
- loading = false;
2238
- gvc.notifyDataChange(id);
2247
+ setTimeout(() => {
2248
+ loading = false;
2249
+ gvc.notifyDataChange(id);
2250
+ }, 100);
2239
2251
  });
2240
2252
  }
2241
2253
  },
@@ -2302,8 +2314,10 @@ export class StockHistory {
2302
2314
  if (dd.result && dd.response.value) {
2303
2315
  dataList = dd.response.value.list;
2304
2316
  }
2305
- loading = false;
2306
- gvc.notifyDataChange(id);
2317
+ setTimeout(() => {
2318
+ loading = false;
2319
+ gvc.notifyDataChange(id);
2320
+ }, 100);
2307
2321
  });
2308
2322
  }
2309
2323
  },
@@ -3459,7 +3473,7 @@ export class StockHistory {
3459
3473
  cost: 0,
3460
3474
  note: '',
3461
3475
  transfer_count: 0,
3462
- product_id:item.product_content.id,
3476
+ product_id: item.product_content.id,
3463
3477
  check_count: 0,
3464
3478
  ...(origin ?? {}),
3465
3479
  title: title,
@@ -3470,11 +3484,15 @@ export class StockHistory {
3470
3484
  });
3471
3485
  }
3472
3486
 
3473
- callback( origins.filter((d1)=>{
3474
- return !product_list.find((dd)=>{
3475
- return d1.variant_id === dd.variant_id;
3476
- })
3477
- }).concat(product_list));
3487
+ callback(
3488
+ origins
3489
+ .filter(d1 => {
3490
+ return !product_list.find(dd => {
3491
+ return d1.variant_id === dd.variant_id;
3492
+ });
3493
+ })
3494
+ .concat(product_list)
3495
+ );
3478
3496
  });
3479
3497
  }
3480
3498
 
@@ -18,6 +18,7 @@ export class ThirdPartyGoggle {
18
18
  const vm = {
19
19
  loading: true,
20
20
  data: {
21
+ android_app_id: '',
21
22
  google_toggle: false,
22
23
  id: '',
23
24
  app_id: '',
@@ -29,12 +30,12 @@ export class ThirdPartyGoggle {
29
30
  g_tag: [],
30
31
  },
31
32
  };
32
- ApiUser.getPublicConfig(key, 'manager').then((dd) => {
33
+ ApiUser.getPublicConfig(key, 'manager').then(dd => {
33
34
  vm.loading = false;
34
35
  if (Object.keys(dd.response.value).length) {
35
36
  dd.response.value && (vm.data = dd.response.value);
36
37
  }
37
- ApiUser.getPublicConfig('ga4_config', 'manager').then((res) => {
38
+ ApiUser.getPublicConfig('ga4_config', 'manager').then(res => {
38
39
  if (Object.keys(res.response.value).length) {
39
40
  res.response.value && (vm.ga = res.response.value);
40
41
  }
@@ -52,17 +53,17 @@ export class ThirdPartyGoggle {
52
53
  return [
53
54
  array
54
55
  .map((dd, index) => {
55
- return html `<div
56
- class="col-12 col-sm-4 mb-2 ps-0"
57
- style="align-self: stretch;
56
+ return html ` <div
57
+ class="col-12 col-sm-4 mb-2 ps-0"
58
+ style="align-self: stretch;
58
59
  justify-content: flex-start;
59
60
  align-items: flex-start;
60
61
  gap: 0px;
61
62
  display: inline-flex;"
62
- >
63
- <input
64
- class="w-100"
65
- style="flex: 1 1 0;
63
+ >
64
+ <input
65
+ class="w-100"
66
+ style="flex: 1 1 0;
66
67
  height: 40px;
67
68
  padding: 9px 18px;
68
69
  overflow: hidden;
@@ -73,14 +74,14 @@ export class ThirdPartyGoggle {
73
74
  display: flex;
74
75
  border-right: 0px;
75
76
  border-radius: 10px 0px 0px 10px;"
76
- placeholder="請輸入編號"
77
- value="${dd.code}"
78
- onchange="${gvc.event((e, event) => {
77
+ placeholder="請輸入編號"
78
+ value="${dd.code}"
79
+ onchange="${gvc.event((e, event) => {
79
80
  dd.code = e.value;
80
81
  })}"
81
- />
82
- <div
83
- style="height: 100%;
82
+ />
83
+ <div
84
+ style="height: 100%;
84
85
  background: #f2f2f2;
85
86
  justify-content: center;
86
87
  align-items: center;
@@ -90,11 +91,11 @@ export class ThirdPartyGoggle {
90
91
  border-top-right-radius: 10px;
91
92
  border-bottom-right-radius: 10px;
92
93
  cursor: pointer;"
93
- onclick="${gvc.event(() => {
94
+ onclick="${gvc.event(() => {
94
95
  const dialog = new ShareDialog(gvc.glitter);
95
96
  dialog.checkYesOrNot({
96
97
  text: '是否確認刪除此追蹤編號?',
97
- callback: (response) => {
98
+ callback: response => {
98
99
  if (response) {
99
100
  array.splice(index, 1);
100
101
  gvc.notifyDataChange(id);
@@ -102,139 +103,160 @@ export class ThirdPartyGoggle {
102
103
  },
103
104
  });
104
105
  })}"
105
- >
106
- <div class="" style=""><i class="fa-regular fa-trash-can" aria-hidden="true"></i></div>
107
- </div>
108
- </div>`;
106
+ >
107
+ <div class="" style=""><i class="fa-regular fa-trash-can" aria-hidden="true"></i></div>
108
+ </div>
109
+ </div>`;
109
110
  })
110
111
  .join(''),
111
- html `<div
112
- class="col-12 col-sm-4 mb-2 ps-0"
113
- onclick="${gvc.event(() => {
112
+ html ` <div
113
+ class="col-12 col-sm-4 mb-2 ps-0"
114
+ onclick="${gvc.event(() => {
114
115
  array.push({ code: '' });
115
116
  gvc.notifyDataChange(id);
116
117
  })}"
117
- >
118
- <div class="bt_orange">新增編號</div>
119
- </div>`,
118
+ >
119
+ <div class="bt_orange">新增編號</div>
120
+ </div>`,
120
121
  ].join(``);
121
122
  }
122
123
  return [
123
- html `<div class="title-container">
124
- ${BgWidget.title('Google 串接設定')}
125
- <div class="flex-fill"></div>
126
- </div>`,
124
+ html ` <div class="title-container">
125
+ ${BgWidget.title('Google 串接設定')}
126
+ <div class="flex-fill"></div>
127
+ </div>`,
127
128
  BgWidget.mbContainer(18),
128
129
  BgWidget.container1x2({
129
130
  html: [
130
131
  BgWidget.mainCard([
131
- html `<div class="tx_700">串接綁定</div>`,
132
- html `<div class="d-flex align-items-center" style="gap:10px;">
133
- 啟用Google登入${BgWidget.switchButton(gvc, vm.data.google_toggle, () => {
132
+ html ` <div class="tx_700">串接綁定</div>`,
133
+ html ` <div class="d-flex align-items-center" style="gap:10px;">
134
+ 啟用Google登入${BgWidget.switchButton(gvc, vm.data.google_toggle, () => {
134
135
  vm.data.google_toggle = !vm.data.google_toggle;
135
136
  gvc.notifyDataChange(id);
136
137
  })}
137
- </div>`,
138
+ </div>`,
138
139
  BgWidget.editeInput({
139
140
  gvc: gvc,
140
- title: html `<div class="d-flex align-items-center" style="gap:10px;">客户端 ID</div>`,
141
+ title: html ` <div class="d-flex align-items-center" style="gap:10px;">客户端 ID</div>`,
141
142
  default: vm.data.id,
142
143
  placeHolder: '請前往GOOGLE開發者後台取得客户端 ID',
143
- callback: (text) => {
144
+ callback: text => {
144
145
  vm.data.id = text;
145
146
  },
146
147
  }),
147
148
  BgWidget.editeInput({
148
149
  gvc: gvc,
149
- title: html `<div class="d-flex align-items-center" style="gap:10px;">APP客户端 ID『 非必填 』</div>`,
150
+ title: html ` <div class="d-flex align-items-center" style="gap:10px;">
151
+ IOS客户端ID ${BgWidget.dangerNote('*有購買APP方案才需要填寫')}
152
+ </div>`,
150
153
  default: vm.data.app_id,
151
154
  placeHolder: '請前往Google Cloud後台取得客户端 ID',
152
- callback: (text) => {
155
+ callback: text => {
153
156
  vm.data.app_id = text;
154
157
  },
155
158
  }),
156
159
  BgWidget.editeInput({
157
160
  gvc: gvc,
158
- title: html `<div class="d-flex align-items-center" style="gap:10px;">應用程式密鑰</div>`,
161
+ title: html ` <div class="d-flex align-items-center" style="gap:10px;">
162
+ Android客户端ID ${BgWidget.dangerNote('*有購買APP方案才需要填寫')}
163
+ </div>`,
164
+ default: vm.data.android_app_id,
165
+ placeHolder: '請前往Google Cloud後台取得客户端 ID',
166
+ callback: text => {
167
+ vm.data.android_app_id = text;
168
+ },
169
+ }),
170
+ BgWidget.editeInput({
171
+ gvc: gvc,
172
+ title: html ` <div class="d-flex align-items-center" style="gap:10px;">應用程式密鑰</div>`,
159
173
  default: vm.data.secret,
160
174
  placeHolder: '請前往GOOGLE開發者後台取得應用程式密鑰',
161
- callback: (text) => {
175
+ callback: text => {
162
176
  vm.data.secret = text;
163
177
  },
164
178
  }),
165
- html `<div
166
- onclick="${gvc.event(() => {
179
+ html ` <div
180
+ onclick="${gvc.event(() => {
167
181
  const dialog = new ShareDialog(gvc.glitter);
168
182
  navigator.clipboard.writeText(`https://` + window.parent.glitter.share.editorViewModel.domain + '/login');
169
183
  dialog.successMessage({ text: '已複製至剪貼簿' });
170
184
  })}"
171
- >
172
- ${BgWidget.editeInput({
185
+ >
186
+ ${BgWidget.editeInput({
173
187
  readonly: true,
174
188
  gvc: gvc,
175
- title: html `<div class="d-flex flex-column" style="gap:5px;">
176
- 重新導向URI『 登入頁 』 ${BgWidget.grayNote('點擊複製此連結至Google Cloud後台的OAuth重定向URI')}
177
- </div>`,
189
+ title: html ` <div class="d-flex flex-column" style="gap:5px;">
190
+ 重新導向URI『 登入頁 』
191
+ ${BgWidget.grayNote('點擊複製此連結至Google Cloud後台的OAuth重定向URI')}
192
+ </div>`,
178
193
  default: `https://` + window.parent.glitter.share.editorViewModel.domain + '/login',
179
194
  placeHolder: '',
180
- callback: (text) => { },
195
+ callback: text => { },
181
196
  })}
182
- </div>`,
183
- html `<div
184
- onclick="${gvc.event(() => {
197
+ </div>`,
198
+ html ` <div
199
+ onclick="${gvc.event(() => {
185
200
  const dialog = new ShareDialog(gvc.glitter);
186
201
  navigator.clipboard.writeText(`https://` + window.parent.glitter.share.editorViewModel.domain + '/register');
187
202
  dialog.successMessage({ text: '已複製至剪貼簿' });
188
203
  })}"
189
- >
190
- ${BgWidget.editeInput({
204
+ >
205
+ ${BgWidget.editeInput({
191
206
  readonly: true,
192
207
  gvc: gvc,
193
- title: html `<div class="d-flex flex-column" style="gap:5px;">
194
- 重新導向URI『 註冊頁 』 ${BgWidget.grayNote('點擊複製此連結至Google Cloud後台的OAuth重定向URI')}
195
- </div>`,
208
+ title: html ` <div class="d-flex flex-column" style="gap:5px;">
209
+ 重新導向URI『 註冊頁 』
210
+ ${BgWidget.grayNote('點擊複製此連結至Google Cloud後台的OAuth重定向URI')}
211
+ </div>`,
196
212
  default: `https://` + window.parent.glitter.share.editorViewModel.domain + '/register',
197
213
  placeHolder: '',
198
- callback: (text) => { },
214
+ callback: text => { },
199
215
  })}
200
- </div>`,
216
+ </div>`,
201
217
  ].join(BgWidget.mbContainer(12))),
202
218
  BgWidget.mainCard([
203
- html `<div class="tx_700 d-flex align-items-center" style="gap:10px;">
204
- <img style="width: 25px;height: 25px;" src="https://d3jnmi1tfjgtti.cloudfront.net/file/252530754/1718208842472-ic_analytics.svg" />
205
- 資料分析 Google Analytics ( GA4 )
206
- </div>`,
207
- html `<div class="tx_700">追蹤編號</div>`,
208
- html `<div class="row m-0">${renderCodeSelect(vm.ga.ga4)}</div>`,
219
+ html ` <div class="tx_700 d-flex align-items-center" style="gap:10px;">
220
+ <img
221
+ style="width: 25px;height: 25px;"
222
+ src="https://d3jnmi1tfjgtti.cloudfront.net/file/252530754/1718208842472-ic_analytics.svg"
223
+ />
224
+ 資料分析 Google Analytics ( GA4 )
225
+ </div>`,
226
+ html ` <div class="tx_700">追蹤編號</div>`,
227
+ html ` <div class="row m-0">${renderCodeSelect(vm.ga.ga4)}</div>`,
209
228
  ].join(BgWidget.mbContainer(12))),
210
229
  BgWidget.mainCard([
211
- html `<div class="tx_700 d-flex align-items-center" style="gap:10px;">
212
- <img style="width: 25px;height: 25px;" src="https://d3jnmi1tfjgtti.cloudfront.net/file/252530754/1718210156723-ic_tag_manager.svg" />
213
- 追蹤代碼管理工具 Google Tag Manager
214
- </div>`,
215
- html `<div class="tx_700">追蹤編號含GTM</div>`,
216
- html `<div class="row m-0">${renderCodeSelect(vm.ga.g_tag)}</div>`,
230
+ html ` <div class="tx_700 d-flex align-items-center" style="gap:10px;">
231
+ <img
232
+ style="width: 25px;height: 25px;"
233
+ src="https://d3jnmi1tfjgtti.cloudfront.net/file/252530754/1718210156723-ic_tag_manager.svg"
234
+ />
235
+ 追蹤代碼管理工具 Google Tag Manager
236
+ </div>`,
237
+ html ` <div class="tx_700">追蹤編號含GTM</div>`,
238
+ html ` <div class="row m-0">${renderCodeSelect(vm.ga.g_tag)}</div>`,
217
239
  ].join(BgWidget.mbContainer(12))),
218
240
  ].join(BgWidget.mbContainer(24)),
219
241
  ratio: 70,
220
242
  }, {
221
243
  html: [
222
244
  BgWidget.summaryCard([
223
- html `<div class="tx_700">操作說明</div>`,
224
- html `<div class="tx_normal">設定Google串接,實現Google登入,與 GA4 用戶行為追蹤</div>`,
225
- html `<div class="tx_normal">
226
- 前往
227
- ${BgWidget.blueNote(`『 教學步驟 』`, gvc.event(() => {
245
+ html ` <div class="tx_700">操作說明</div>`,
246
+ html ` <div class="tx_normal">設定Google串接,實現Google登入,與 GA4 用戶行為追蹤</div>`,
247
+ html ` <div class="tx_normal">
248
+ 前往
249
+ ${BgWidget.blueNote(`『 教學步驟 』`, gvc.event(() => {
228
250
  window.parent.glitter.openNewTab('https://shopnex.tw/blogs/googleapiconnect');
229
251
  }))}
230
- 查看串接設定流程
231
- </div>`,
252
+ 查看串接設定流程
253
+ </div>`,
232
254
  ].join(BgWidget.mbContainer(12))),
233
255
  ].join(BgWidget.mbContainer(24)),
234
256
  ratio: 30,
235
257
  }),
236
- html `<div class="update-bar-container">
237
- ${BgWidget.save(gvc.event(() => __awaiter(this, void 0, void 0, function* () {
258
+ html ` <div class="update-bar-container">
259
+ ${BgWidget.save(gvc.event(() => __awaiter(this, void 0, void 0, function* () {
238
260
  const dialog = new ShareDialog(gvc.glitter);
239
261
  dialog.dataLoading({ visible: true });
240
262
  const cf = (yield ApiUser.getPublicConfig('login_config', 'manager')).response.value || {};
@@ -259,7 +281,7 @@ export class ThirdPartyGoggle {
259
281
  gvc.closeDialog();
260
282
  });
261
283
  })))}
262
- </div>`,
284
+ </div>`,
263
285
  ].join('');
264
286
  },
265
287
  };