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
@@ -10,7 +10,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
10
10
  import { BgWidget } from '../backend-manager/bg-widget.js';
11
11
  import { Tool } from '../modules/tool.js';
12
12
  import { ApiUser } from '../glitter-base/route/user.js';
13
- import { LanguageBackend } from "./language-backend.js";
13
+ import { LanguageBackend } from './language-backend.js';
14
14
  const html = String.raw;
15
15
  export class AutoReply {
16
16
  static main(gvc, widget) {
@@ -59,7 +59,7 @@ export class AutoReply {
59
59
  return BgWidget.switchTextButton(gvc, dd.toggle, {
60
60
  left: dd.toggle ? '啟用' : '關閉',
61
61
  }, () => {
62
- ApiUser.getPublicConfig(dd.tag, 'manager').then((res) => {
62
+ ApiUser.getPublicConfig(dd.tag, 'manager').then(res => {
63
63
  dd.toggle = !dd.toggle;
64
64
  res.response.value = res.response.value || {};
65
65
  res.response.value.updated_time = new Date();
@@ -94,11 +94,11 @@ export class AutoReply {
94
94
  });
95
95
  }
96
96
  return BgWidget.container(html `
97
- <div class="title-container">
98
- ${BgWidget.title('自動寄件')}
99
- <div class="flex-fill"></div>
100
- </div>
101
- ${BgWidget.container(BgWidget.mainCard(BgWidget.tableV3({
97
+ <div class="title-container">
98
+ ${BgWidget.title('自動寄件')}
99
+ <div class="flex-fill"></div>
100
+ </div>
101
+ ${BgWidget.container(BgWidget.mainCard(BgWidget.tableV3({
102
102
  gvc: gvc,
103
103
  getData: (vmk) => __awaiter(this, void 0, void 0, function* () {
104
104
  const appData = yield ApiUser.getPublicConfig('store-information', 'manager');
@@ -115,7 +115,7 @@ export class AutoReply {
115
115
  'auto-email-verify',
116
116
  'auto-email-forget',
117
117
  'get-customer-message',
118
- ].map((b) => {
118
+ ].map(b => {
119
119
  return new Promise((resolve) => __awaiter(this, void 0, void 0, function* () {
120
120
  const data = yield AutoReply.getDefCompare(b);
121
121
  data.title = data.title.replace(/@\{\{app_name\}\}/g, (appData.response.value && appData.response.value.shop_name) || '商店名稱');
@@ -134,8 +134,8 @@ export class AutoReply {
134
134
  },
135
135
  filter: [],
136
136
  })))}
137
- ${BgWidget.mbContainer(240)}
138
- `);
137
+ ${BgWidget.mbContainer(240)}
138
+ `);
139
139
  },
140
140
  };
141
141
  });
@@ -144,10 +144,10 @@ export class AutoReply {
144
144
  let vm = {
145
145
  data: '',
146
146
  loading: true,
147
- language: window.parent.store_info.language_setting.def
147
+ language: window.parent.store_info.language_setting.def,
148
148
  };
149
149
  const id = gvc.glitter.getUUID();
150
- AutoReply.getDefCompare(tag).then((dd) => {
150
+ AutoReply.getDefCompare(tag).then(dd => {
151
151
  vm.data = dd;
152
152
  vm.loading = false;
153
153
  gvc.notifyDataChange(id);
@@ -162,7 +162,6 @@ export class AutoReply {
162
162
  if (vm.loading) {
163
163
  return BgWidget.spinner();
164
164
  }
165
- console.log(`vm.data->`, vm.data);
166
165
  if (!vm.data[vm.language]) {
167
166
  vm.data[vm.language] = {
168
167
  title: vm.data.title,
@@ -172,29 +171,40 @@ export class AutoReply {
172
171
  }
173
172
  const language_data = vm.data[vm.language];
174
173
  return html ` ${BgWidget.container([
175
- html `
176
- <div class="title-container">
177
- ${BgWidget.goBack(gvc.event(() => {
178
- back();
179
- }))}${BgWidget.title(vm.data.tag_name || '信件設定')}
180
- <div class="flex-fill"></div>
181
- ${LanguageBackend.switchBtn({
174
+ html ` <div class="title-container">
175
+ ${[
176
+ BgWidget.goBack(gvc.event(() => {
177
+ back();
178
+ })),
179
+ BgWidget.title(vm.data.tag_name || '信件設定'),
180
+ html `<div class="ms-2">
181
+ ${BgWidget.questionButton(gvc.event(() => {
182
+ BgWidget.dialog({
183
+ gvc,
184
+ title: '模板字串使用提示',
185
+ innerHTML: () => {
186
+ return BgWidget.alertInfo('可使用模板字串,信件將在寄送時自動填入相關數值', BgWidget.richTextQuickList.map(item => `${item.title}: ${item.value}`), {
187
+ class: 'mb-3',
188
+ style: '',
189
+ });
190
+ },
191
+ });
192
+ }))}
193
+ </div>`,
194
+ ].join('')}
195
+ <div class="flex-fill"></div>
196
+ ${LanguageBackend.switchBtn({
182
197
  gvc: gvc,
183
198
  language: vm.language,
184
- callback: (language) => {
199
+ callback: language => {
185
200
  vm.language = language;
186
201
  refresh();
187
202
  },
188
203
  })}
189
- </div>`,
204
+ </div>`,
190
205
  BgWidget.mbContainer(24),
191
- BgWidget.alertInfo('可使用模板字串,信件將在寄送時自動填入相關數值', ['商家名稱:@{{app_name}}', '訂單號碼:@{{訂單號碼}}', '會員姓名:@{{user_name}}'], {
192
- class: 'mb-3',
193
- style: '',
194
- }),
195
206
  BgWidget.mainCard(gvc.bindView(() => {
196
207
  const id = gvc.glitter.getUUID();
197
- ;
198
208
  return {
199
209
  bind: id,
200
210
  view: () => {
@@ -206,7 +216,7 @@ export class AutoReply {
206
216
  gvc: gvc,
207
217
  title: html `寄件者名稱` + BgWidget.languageInsignia(vm.language),
208
218
  default: language_data.name || '',
209
- callback: (text) => {
219
+ callback: text => {
210
220
  language_data.name = text;
211
221
  },
212
222
  placeHolder: '請輸入寄件者名稱',
@@ -215,15 +225,14 @@ export class AutoReply {
215
225
  gvc: gvc,
216
226
  title: html `信件標題` + BgWidget.languageInsignia(vm.language),
217
227
  default: language_data.title || '',
218
- callback: (text) => {
228
+ callback: text => {
219
229
  language_data.title = text;
220
230
  },
221
231
  placeHolder: '請輸入信件標題',
222
232
  }),
223
- html `
224
- <div class="tx_normal fw-normal mb-2">
225
- 信件內容${BgWidget.languageInsignia(vm.language)}
226
- </div>`,
233
+ html ` <div class="tx_normal fw-normal mb-2">
234
+ 信件內容${BgWidget.languageInsignia(vm.language)}
235
+ </div>`,
227
236
  gvc.bindView((() => {
228
237
  const id = gvc.glitter.getUUID();
229
238
  return {
@@ -234,72 +243,34 @@ export class AutoReply {
234
243
  return BgWidget.richTextEditor({
235
244
  gvc: gvc,
236
245
  content: (_a = language_data.content) !== null && _a !== void 0 ? _a : '',
237
- callback: (content) => {
246
+ callback: content => {
238
247
  language_data.content = content;
239
248
  },
240
249
  title: '內容編輯',
241
- quick_insert: (() => {
242
- switch (tag) {
243
- case 'auto-email-payment-successful':
244
- return [
245
- {
246
- title: '商家名稱',
247
- value: '@{{app_name}}'
248
- },
249
- {
250
- title: '訂單號碼',
251
- value: '@{{訂單號碼}}'
252
- },
253
- {
254
- title: '會員姓名',
255
- value: '@{{user_name}}'
256
- },
257
- {
258
- title: '訂單金額',
259
- value: '@{{訂單金額}}'
260
- },
261
- {
262
- title: '姓名',
263
- value: '@{{姓名}}'
264
- },
265
- {
266
- title: '電話',
267
- value: '@{{電話}}'
268
- },
269
- {
270
- title: '地址',
271
- value: '@{{地址}}'
272
- },
273
- {
274
- title: '信箱',
275
- value: '@{{信箱}}'
276
- }
277
- ];
278
- default:
279
- return [];
280
- }
281
- })()
250
+ quick_insert: ['get-customer-message', 'proof-purchase'].includes(tag) ||
251
+ tag.includes('auto-email')
252
+ ? BgWidget.richTextQuickList
253
+ : [],
282
254
  });
283
255
  }
284
256
  catch (e) {
285
- console.log(`error=>`, e);
286
- return ``;
257
+ console.error(`error=>`, e);
258
+ return '';
287
259
  }
288
260
  },
289
261
  divCreate: {},
290
262
  };
291
- })())
263
+ })()),
292
264
  ].join('');
293
265
  },
294
266
  };
295
267
  })),
296
268
  BgWidget.mbContainer(240),
297
- html `
298
- <div class="update-bar-container">
299
- ${BgWidget.cancel(gvc.event(() => {
269
+ html ` <div class="update-bar-container">
270
+ ${BgWidget.cancel(gvc.event(() => {
300
271
  back();
301
272
  }))}
302
- ${BgWidget.save(gvc.event(() => {
273
+ ${BgWidget.save(gvc.event(() => {
303
274
  widget.event('loading', { title: '儲存中' });
304
275
  vm.data.updated_time = new Date();
305
276
  ApiUser.setPublicConfig({
@@ -313,10 +284,10 @@ export class AutoReply {
313
284
  }, 1000);
314
285
  });
315
286
  }))}
316
- </div>`,
287
+ </div>`,
317
288
  ].join(''))}`;
318
289
  },
319
- divCreate: {}
290
+ divCreate: {},
320
291
  };
321
292
  });
322
293
  }
@@ -432,206 +403,247 @@ export class AutoReply {
432
403
  }
433
404
  static getCustomerMessageHTML() {
434
405
  const html = String.raw;
435
- return html `
406
+ return html ` <table
407
+ width="100%"
408
+ border="0"
409
+ cellpadding="0"
410
+ cellspacing="0"
411
+ style="box-sizing: border-box; caption-side: bottom; border-collapse: collapse; -webkit-font-smoothing: antialiased; border: none; empty-cells: show; max-width: 100%; color: rgb(65, 65, 65); font-family: sans-serif; font-size: 14px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; background-color: rgb(255, 255, 255);"
412
+ id="isPasted"
413
+ >
414
+ <tbody
415
+ style="box-sizing: border-box; border-color: inherit; border-style: solid; border-width: 0px; -webkit-font-smoothing: antialiased;"
416
+ >
417
+ <tr
418
+ style="box-sizing: border-box; border-color: inherit; border-style: solid; border-width: 0px; -webkit-font-smoothing: antialiased;"
419
+ >
420
+ <td
421
+ style="box-sizing: border-box; border: 0px solid rgb(221, 221, 221); -webkit-font-smoothing: antialiased; user-select: text; min-width: 5px;"
422
+ >
436
423
  <table
437
- width="100%"
438
- border="0"
439
- cellpadding="0"
440
- cellspacing="0"
441
- style="box-sizing: border-box; caption-side: bottom; border-collapse: collapse; -webkit-font-smoothing: antialiased; border: none; empty-cells: show; max-width: 100%; color: rgb(65, 65, 65); font-family: sans-serif; font-size: 14px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; background-color: rgb(255, 255, 255);"
442
- id="isPasted"
424
+ align="center"
425
+ width="100%"
426
+ border="0"
427
+ cellpadding="0"
428
+ cellspacing="0"
429
+ style="box-sizing: border-box; caption-side: bottom; border-collapse: collapse; -webkit-font-smoothing: antialiased; --bs-gutter-x: 1.5rem; --bs-gutter-y: 0; display: flex; flex-wrap: wrap; margin-top: calc(-1 * var(--bs-gutter-y)); margin-right: calc(-0.5 * var(--bs-gutter-x)); margin-left: calc(-0.5 * var(--bs-gutter-x)); border: none; empty-cells: show; max-width: 100%;"
443
430
  >
444
- <tbody style="box-sizing: border-box; border-color: inherit; border-style: solid; border-width: 0px; -webkit-font-smoothing: antialiased;">
445
- <tr style="box-sizing: border-box; border-color: inherit; border-style: solid; border-width: 0px; -webkit-font-smoothing: antialiased;">
446
- <td style="box-sizing: border-box; border: 0px solid rgb(221, 221, 221); -webkit-font-smoothing: antialiased; user-select: text; min-width: 5px;">
447
- <table
448
- align="center"
449
- width="100%"
450
- border="0"
451
- cellpadding="0"
452
- cellspacing="0"
453
- style="box-sizing: border-box; caption-side: bottom; border-collapse: collapse; -webkit-font-smoothing: antialiased; --bs-gutter-x: 1.5rem; --bs-gutter-y: 0; display: flex; flex-wrap: wrap; margin-top: calc(-1 * var(--bs-gutter-y)); margin-right: calc(-0.5 * var(--bs-gutter-x)); margin-left: calc(-0.5 * var(--bs-gutter-x)); border: none; empty-cells: show; max-width: 100%;"
431
+ <tbody
432
+ style="box-sizing: border-box; border-color: inherit; border-style: solid; border-width: 0px; -webkit-font-smoothing: antialiased; flex-shrink: 0; width: 1055.59px; max-width: 100%; padding-right: calc(var(--bs-gutter-x) * 0.5); padding-left: calc(var(--bs-gutter-x) * 0.5); margin-top: var(--bs-gutter-y);"
433
+ >
434
+ <tr
435
+ style="box-sizing: border-box; border-color: inherit; border-style: solid; border-width: 0px; -webkit-font-smoothing: antialiased;"
436
+ >
437
+ <td
438
+ style="box-sizing: border-box; border: 0px solid rgb(221, 221, 221); -webkit-font-smoothing: antialiased; user-select: text; min-width: 5px;"
439
+ >
440
+ <table
441
+ align="center"
442
+ border="0"
443
+ cellpadding="0"
444
+ cellspacing="0"
445
+ width="600"
446
+ style="box-sizing: border-box; caption-side: bottom; border-collapse: collapse; -webkit-font-smoothing: antialiased; border: none; empty-cells: show; max-width: 100%; color: rgb(0, 0, 0); width: 600px; margin: 0px auto;"
447
+ >
448
+ <tbody
449
+ style="box-sizing: border-box; border-color: inherit; border-style: solid; border-width: 0px; -webkit-font-smoothing: antialiased;"
450
+ >
451
+ <tr
452
+ style="box-sizing: border-box; border-color: inherit; border-style: solid; border-width: 0px; -webkit-font-smoothing: antialiased;"
454
453
  >
455
- <tbody
456
- style="box-sizing: border-box; border-color: inherit; border-style: solid; border-width: 0px; -webkit-font-smoothing: antialiased; flex-shrink: 0; width: 1055.59px; max-width: 100%; padding-right: calc(var(--bs-gutter-x) * 0.5); padding-left: calc(var(--bs-gutter-x) * 0.5); margin-top: var(--bs-gutter-y);"
454
+ <td
455
+ width="100%"
456
+ style="box-sizing: border-box; border: 0px; -webkit-font-smoothing: antialiased; user-select: text; min-width: 5px; font-weight: 400; text-align: left; padding-bottom: 5px; padding-top: 5px; vertical-align: top;"
457
+ >
458
+ <table
459
+ width="100%"
460
+ border="0"
461
+ cellpadding="0"
462
+ cellspacing="0"
463
+ style="box-sizing: border-box; caption-side: bottom; border-collapse: collapse; -webkit-font-smoothing: antialiased; border: none; empty-cells: show; max-width: 100%;"
457
464
  >
458
- <tr style="box-sizing: border-box; border-color: inherit; border-style: solid; border-width: 0px; -webkit-font-smoothing: antialiased;">
459
- <td style="box-sizing: border-box; border: 0px solid rgb(221, 221, 221); -webkit-font-smoothing: antialiased; user-select: text; min-width: 5px;">
460
- <table
461
- align="center"
462
- border="0"
463
- cellpadding="0"
464
- cellspacing="0"
465
- width="600"
466
- style="box-sizing: border-box; caption-side: bottom; border-collapse: collapse; -webkit-font-smoothing: antialiased; border: none; empty-cells: show; max-width: 100%; color: rgb(0, 0, 0); width: 600px; margin: 0px auto;"
465
+ <tbody
466
+ style="box-sizing: border-box; border-color: inherit; border-style: solid; border-width: 0px; -webkit-font-smoothing: antialiased;"
467
+ >
468
+ <tr
469
+ style="box-sizing: border-box; border-color: inherit; border-style: solid; border-width: 0px; -webkit-font-smoothing: antialiased;"
470
+ >
471
+ <td
472
+ style="box-sizing: border-box; border: 1px solid rgb(221, 221, 221); -webkit-font-smoothing: antialiased; user-select: text; min-width: 5px; width: 599px;"
473
+ >
474
+ <div
475
+ align="center"
476
+ style="box-sizing: border-box; -webkit-font-smoothing: antialiased; line-height: 10px;"
467
477
  >
468
- <tbody style="box-sizing: border-box; border-color: inherit; border-style: solid; border-width: 0px; -webkit-font-smoothing: antialiased;">
469
- <tr style="box-sizing: border-box; border-color: inherit; border-style: solid; border-width: 0px; -webkit-font-smoothing: antialiased;">
470
- <td
471
- width="100%"
472
- style="box-sizing: border-box; border: 0px; -webkit-font-smoothing: antialiased; user-select: text; min-width: 5px; font-weight: 400; text-align: left; padding-bottom: 5px; padding-top: 5px; vertical-align: top;"
473
- >
474
- <table
475
- width="100%"
476
- border="0"
477
- cellpadding="0"
478
- cellspacing="0"
479
- style="box-sizing: border-box; caption-side: bottom; border-collapse: collapse; -webkit-font-smoothing: antialiased; border: none; empty-cells: show; max-width: 100%;"
480
- >
481
- <tbody style="box-sizing: border-box; border-color: inherit; border-style: solid; border-width: 0px; -webkit-font-smoothing: antialiased;">
482
- <tr style="box-sizing: border-box; border-color: inherit; border-style: solid; border-width: 0px; -webkit-font-smoothing: antialiased;">
483
- <td
484
- style="box-sizing: border-box; border: 1px solid rgb(221, 221, 221); -webkit-font-smoothing: antialiased; user-select: text; min-width: 5px; width: 599px;"
485
- >
486
- <div align="center"
487
- style="box-sizing: border-box; -webkit-font-smoothing: antialiased; line-height: 10px;">
488
- <div style="box-sizing: border-box; -webkit-font-smoothing: antialiased; max-width: 600px;">
489
- <img
490
- src="https://d3jnmi1tfjgtti.cloudfront.net/file/234285319/1719903595261-s3s4scs3s7sfsfs7.png"
491
- class="fr-fic fr-dii"
492
- style="width: 100%;"
493
- />
494
- <br/>
495
- </div>
496
- </div>
497
- </td>
498
- </tr>
499
- </tbody>
500
- </table>
478
+ <div
479
+ style="box-sizing: border-box; -webkit-font-smoothing: antialiased; max-width: 600px;"
480
+ >
481
+ <img
482
+ src="https://d3jnmi1tfjgtti.cloudfront.net/file/234285319/1719903595261-s3s4scs3s7sfsfs7.png"
483
+ class="fr-fic fr-dii"
484
+ style="width: 100%;"
485
+ />
486
+ <br />
487
+ </div>
488
+ </div>
489
+ </td>
490
+ </tr>
491
+ </tbody>
492
+ </table>
501
493
 
502
- <table
503
- width="100%"
504
- border="0"
505
- cellpadding="0"
506
- cellspacing="0"
507
- style="box-sizing: border-box; caption-side: bottom; border-collapse: collapse; -webkit-font-smoothing: antialiased; border: none; empty-cells: show; max-width: 100%;"
508
- >
509
- <tbody style="box-sizing: border-box; border-color: inherit; border-style: solid; border-width: 0px; -webkit-font-smoothing: antialiased;">
510
- <tr style="box-sizing: border-box; border-color: inherit; border-style: solid; border-width: 0px; -webkit-font-smoothing: antialiased;">
511
- <td
512
- style="box-sizing: border-box; border: 1px solid rgb(221, 221, 221); -webkit-font-smoothing: antialiased; user-select: text; min-width: 5px; padding: 60px 45px 30px; text-align: left; width: 599px;"
513
- >
514
- <h1
515
- style="box-sizing: border-box; margin: 0px; font-weight: 700; line-height: 33.6px; color: rgb(54, 54, 54); font-size: 28px; -webkit-font-smoothing: antialiased; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; direction: ltr; font-family: Arial, Helvetica, sans-serif; text-align: left;"
516
- id="isPasted"
517
- >
518
- 客服訊息
519
- </h1>
520
- <br/>
521
- <div style="width: 100%;text-align: start;">@{{text}}</div>
522
- <br/>
523
- <br/><span
524
- style="color: rgb(16, 17, 18); font-family: Arial, Helvetica, sans-serif; font-size: 16px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; display: inline !important; float: none;"
525
- ><a
526
- href="@{{link}}"
527
- target="_blank"
528
- style="box-sizing: border-box; color: rgb(255, 255, 255); text-decoration: none; -webkit-font-smoothing: antialiased; transition: color 0.2s ease-in-out 0s; user-select: auto; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; background-color: rgb(255, 148, 2); border-width: 0px; border-style: solid; border-color: transparent; border-radius: 5px; display: inline-block; font-family: Arial, Helvetica, sans-serif; font-size: 24px; padding-bottom: 15px; padding-top: 15px; text-align: center; width: auto; word-break: keep-all;"
529
- id="isPasted"
530
- ><span
531
- style="box-sizing: border-box; -webkit-font-smoothing: antialiased; padding-left: 30px; padding-right: 30px; font-size: 24px; display: inline-block; letter-spacing: normal;"
532
- ><span
533
- style="box-sizing: border-box; -webkit-font-smoothing: antialiased; word-break: break-word; line-height: 48px;"
534
- ><strong
535
- style="box-sizing: border-box; font-weight: 700; -webkit-font-smoothing: antialiased;"
536
- >前往商店</strong
537
- ></span
538
- ></span
539
- ></a
540
- ></span
541
- >
542
- <br/>
543
- </td>
544
- </tr>
545
- </tbody>
546
- </table>
494
+ <table
495
+ width="100%"
496
+ border="0"
497
+ cellpadding="0"
498
+ cellspacing="0"
499
+ style="box-sizing: border-box; caption-side: bottom; border-collapse: collapse; -webkit-font-smoothing: antialiased; border: none; empty-cells: show; max-width: 100%;"
500
+ >
501
+ <tbody
502
+ style="box-sizing: border-box; border-color: inherit; border-style: solid; border-width: 0px; -webkit-font-smoothing: antialiased;"
503
+ >
504
+ <tr
505
+ style="box-sizing: border-box; border-color: inherit; border-style: solid; border-width: 0px; -webkit-font-smoothing: antialiased;"
506
+ >
507
+ <td
508
+ style="box-sizing: border-box; border: 1px solid rgb(221, 221, 221); -webkit-font-smoothing: antialiased; user-select: text; min-width: 5px; padding: 60px 45px 30px; text-align: left; width: 599px;"
509
+ >
510
+ <h1
511
+ style="box-sizing: border-box; margin: 0px; font-weight: 700; line-height: 33.6px; color: rgb(54, 54, 54); font-size: 28px; -webkit-font-smoothing: antialiased; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; direction: ltr; font-family: Arial, Helvetica, sans-serif; text-align: left;"
512
+ id="isPasted"
513
+ >
514
+ 客服訊息
515
+ </h1>
516
+ <br />
517
+ <div style="width: 100%;text-align: start;">@{{text}}</div>
518
+ <br />
519
+ <br /><span
520
+ style="color: rgb(16, 17, 18); font-family: Arial, Helvetica, sans-serif; font-size: 16px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial; display: inline !important; float: none;"
521
+ ><a
522
+ href="@{{link}}"
523
+ target="_blank"
524
+ style="box-sizing: border-box; color: rgb(255, 255, 255); text-decoration: none; -webkit-font-smoothing: antialiased; transition: color 0.2s ease-in-out 0s; user-select: auto; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; background-color: rgb(255, 148, 2); border-width: 0px; border-style: solid; border-color: transparent; border-radius: 5px; display: inline-block; font-family: Arial, Helvetica, sans-serif; font-size: 24px; padding-bottom: 15px; padding-top: 15px; text-align: center; width: auto; word-break: keep-all;"
525
+ id="isPasted"
526
+ ><span
527
+ style="box-sizing: border-box; -webkit-font-smoothing: antialiased; padding-left: 30px; padding-right: 30px; font-size: 24px; display: inline-block; letter-spacing: normal;"
528
+ ><span
529
+ style="box-sizing: border-box; -webkit-font-smoothing: antialiased; word-break: break-word; line-height: 48px;"
530
+ ><strong
531
+ style="box-sizing: border-box; font-weight: 700; -webkit-font-smoothing: antialiased;"
532
+ >前往商店</strong
533
+ ></span
534
+ ></span
535
+ ></a
536
+ ></span
537
+ >
538
+ <br />
539
+ </td>
540
+ </tr>
541
+ </tbody>
542
+ </table>
547
543
 
548
- <table
549
- width="100%"
550
- border="0"
551
- cellpadding="0"
552
- cellspacing="0"
553
- style="box-sizing: border-box; caption-side: bottom; border-collapse: collapse; -webkit-font-smoothing: antialiased; border: none; empty-cells: show; max-width: 100%; word-break: break-word; background-color: rgb(247, 247, 247);"
554
- >
555
- <tbody style="box-sizing: border-box; border-color: inherit; border-style: solid; border-width: 0px; -webkit-font-smoothing: antialiased;">
556
- <tr style="box-sizing: border-box; border-color: inherit; border-style: solid; border-width: 0px; -webkit-font-smoothing: antialiased;">
557
- <td
558
- style="box-sizing: border-box; border: 1px solid rgb(221, 221, 221); -webkit-font-smoothing: antialiased; user-select: text; min-width: 5px; padding: 28px 45px 10px;"
559
- >
560
- <div
561
- style="box-sizing: border-box; -webkit-font-smoothing: antialiased; color: rgb(16, 17, 18); direction: ltr; font-family: Arial, Helvetica, sans-serif; font-size: 16px; font-weight: 400; letter-spacing: 0px; line-height: 19.2px; text-align: left;"
562
- >
563
- <p style="box-sizing: border-box; margin-top: 0px; margin-bottom: 1.25rem; -webkit-font-smoothing: antialiased;">
564
- 如果您有任何疑問或需要幫助,我們的團隊隨時在這裡為您提供支持。
565
- </p>
544
+ <table
545
+ width="100%"
546
+ border="0"
547
+ cellpadding="0"
548
+ cellspacing="0"
549
+ style="box-sizing: border-box; caption-side: bottom; border-collapse: collapse; -webkit-font-smoothing: antialiased; border: none; empty-cells: show; max-width: 100%; word-break: break-word; background-color: rgb(247, 247, 247);"
550
+ >
551
+ <tbody
552
+ style="box-sizing: border-box; border-color: inherit; border-style: solid; border-width: 0px; -webkit-font-smoothing: antialiased;"
553
+ >
554
+ <tr
555
+ style="box-sizing: border-box; border-color: inherit; border-style: solid; border-width: 0px; -webkit-font-smoothing: antialiased;"
556
+ >
557
+ <td
558
+ style="box-sizing: border-box; border: 1px solid rgb(221, 221, 221); -webkit-font-smoothing: antialiased; user-select: text; min-width: 5px; padding: 28px 45px 10px;"
559
+ >
560
+ <div
561
+ style="box-sizing: border-box; -webkit-font-smoothing: antialiased; color: rgb(16, 17, 18); direction: ltr; font-family: Arial, Helvetica, sans-serif; font-size: 16px; font-weight: 400; letter-spacing: 0px; line-height: 19.2px; text-align: left;"
562
+ >
563
+ <p
564
+ style="box-sizing: border-box; margin-top: 0px; margin-bottom: 1.25rem; -webkit-font-smoothing: antialiased;"
565
+ >
566
+ 如果您有任何疑問或需要幫助,我們的團隊隨時在這裡為您提供支持。
567
+ </p>
566
568
 
567
- <p style="box-sizing: border-box; margin-top: 0px; margin-bottom: 1.25rem; -webkit-font-smoothing: antialiased;">
568
- 服務電話:+886 978-028-730
569
- </p>
569
+ <p
570
+ style="box-sizing: border-box; margin-top: 0px; margin-bottom: 1.25rem; -webkit-font-smoothing: antialiased;"
571
+ >
572
+ 服務電話:+886 978-028-730
573
+ </p>
570
574
 
571
- <p style="box-sizing: border-box; margin-top: 0px; margin-bottom: 1.25rem; -webkit-font-smoothing: antialiased;">
572
- 電子郵件:mk@ncdesign.info
573
- </p>
574
- </div>
575
- </td>
576
- </tr>
577
- </tbody>
578
- </table>
575
+ <p
576
+ style="box-sizing: border-box; margin-top: 0px; margin-bottom: 1.25rem; -webkit-font-smoothing: antialiased;"
577
+ >
578
+ 電子郵件:mk@ncdesign.info
579
+ </p>
580
+ </div>
581
+ </td>
582
+ </tr>
583
+ </tbody>
584
+ </table>
579
585
 
580
- <table
581
- width="100%"
582
- border="0"
583
- cellpadding="0"
584
- cellspacing="0"
585
- style="box-sizing: border-box; caption-side: bottom; border-collapse: collapse; -webkit-font-smoothing: antialiased; border: none; empty-cells: show; max-width: 100%; word-break: break-word; background-color: rgb(247, 247, 247);"
586
- >
587
- <tbody style="box-sizing: border-box; border-color: inherit; border-style: solid; border-width: 0px; -webkit-font-smoothing: antialiased;">
588
- <tr style="box-sizing: border-box; border-color: inherit; border-style: solid; border-width: 0px; -webkit-font-smoothing: antialiased;">
589
- <td
590
- style="box-sizing: border-box; border: 1px solid rgb(221, 221, 221); -webkit-font-smoothing: antialiased; user-select: text; min-width: 5px; padding: 20px 10px 10px;"
591
- >
592
- <div
593
- style="box-sizing: border-box; -webkit-font-smoothing: antialiased; color: rgb(16, 17, 18); direction: ltr; font-family: Arial, Helvetica, sans-serif; font-size: 14px; font-weight: 400; letter-spacing: 0px; line-height: 16.8px; text-align: center;"
594
- >
595
- <p style="box-sizing: border-box; margin-top: 0px; margin-bottom: 1.25rem; -webkit-font-smoothing: antialiased;">
596
- <a
597
- href="https://shopnex.tw/?article=termsofservice&page=blog_detail"
598
- target="_blank"
599
- rel="noopener"
600
- style="box-sizing: border-box; color: rgb(28, 28, 28); text-decoration: underline; -webkit-font-smoothing: antialiased; transition: color 0.2s ease-in-out 0s; user-select: auto;"
601
- >服務條款</a
602
- >&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
603
- <a
604
- href="https://shopnex.tw/?article=privacyterms&page=blog_detail"
605
- target="_blank"
606
- rel="noopener"
607
- style="box-sizing: border-box; color: rgb(28, 28, 28); text-decoration: underline; -webkit-font-smoothing: antialiased; transition: color 0.2s ease-in-out 0s; user-select: auto;"
608
- >隱私條款</a
609
- >&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
610
- <a
611
- href="https://shopnex.tw/?article=privacyterms&page=e-commerce-blog"
612
- target="_blank"
613
- rel="noopener"
614
- style="box-sizing: border-box; color: rgb(28, 28, 28); text-decoration: underline; -webkit-font-smoothing: antialiased; transition: color 0.2s ease-in-out 0s; user-select: auto;"
615
- >開店教學</a
616
- >
617
- </p>
618
- </div>
619
- </td>
620
- </tr>
621
- </tbody>
622
- </table>
623
- </td>
624
- </tr>
625
- </tbody>
626
- </table>
627
- </td>
628
- </tr>
629
- </tbody>
630
- </table>
631
- </td>
586
+ <table
587
+ width="100%"
588
+ border="0"
589
+ cellpadding="0"
590
+ cellspacing="0"
591
+ style="box-sizing: border-box; caption-side: bottom; border-collapse: collapse; -webkit-font-smoothing: antialiased; border: none; empty-cells: show; max-width: 100%; word-break: break-word; background-color: rgb(247, 247, 247);"
592
+ >
593
+ <tbody
594
+ style="box-sizing: border-box; border-color: inherit; border-style: solid; border-width: 0px; -webkit-font-smoothing: antialiased;"
595
+ >
596
+ <tr
597
+ style="box-sizing: border-box; border-color: inherit; border-style: solid; border-width: 0px; -webkit-font-smoothing: antialiased;"
598
+ >
599
+ <td
600
+ style="box-sizing: border-box; border: 1px solid rgb(221, 221, 221); -webkit-font-smoothing: antialiased; user-select: text; min-width: 5px; padding: 20px 10px 10px;"
601
+ >
602
+ <div
603
+ style="box-sizing: border-box; -webkit-font-smoothing: antialiased; color: rgb(16, 17, 18); direction: ltr; font-family: Arial, Helvetica, sans-serif; font-size: 14px; font-weight: 400; letter-spacing: 0px; line-height: 16.8px; text-align: center;"
604
+ >
605
+ <p
606
+ style="box-sizing: border-box; margin-top: 0px; margin-bottom: 1.25rem; -webkit-font-smoothing: antialiased;"
607
+ >
608
+ <a
609
+ href="https://shopnex.tw/?article=termsofservice&page=blog_detail"
610
+ target="_blank"
611
+ rel="noopener"
612
+ style="box-sizing: border-box; color: rgb(28, 28, 28); text-decoration: underline; -webkit-font-smoothing: antialiased; transition: color 0.2s ease-in-out 0s; user-select: auto;"
613
+ >服務條款</a
614
+ >&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
615
+ <a
616
+ href="https://shopnex.tw/?article=privacyterms&page=blog_detail"
617
+ target="_blank"
618
+ rel="noopener"
619
+ style="box-sizing: border-box; color: rgb(28, 28, 28); text-decoration: underline; -webkit-font-smoothing: antialiased; transition: color 0.2s ease-in-out 0s; user-select: auto;"
620
+ >隱私條款</a
621
+ >&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
622
+ <a
623
+ href="https://shopnex.tw/?article=privacyterms&page=e-commerce-blog"
624
+ target="_blank"
625
+ rel="noopener"
626
+ style="box-sizing: border-box; color: rgb(28, 28, 28); text-decoration: underline; -webkit-font-smoothing: antialiased; transition: color 0.2s ease-in-out 0s; user-select: auto;"
627
+ >開店教學</a
628
+ >
629
+ </p>
630
+ </div>
631
+ </td>
632
+ </tr>
633
+ </tbody>
634
+ </table>
635
+ </td>
636
+ </tr>
637
+ </tbody>
638
+ </table>
639
+ </td>
632
640
  </tr>
633
- </tbody>
634
- </table>`;
641
+ </tbody>
642
+ </table>
643
+ </td>
644
+ </tr>
645
+ </tbody>
646
+ </table>`;
635
647
  }
636
648
  }
637
649
  window.glitter.setModule(import.meta.url, AutoReply);