ts-glitter 21.9.1 → 21.9.4

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 (103) hide show
  1. package/lowcode/Entry.js +6 -1
  2. package/lowcode/Entry.ts +6 -1
  3. package/lowcode/backend-manager/bg-product.js +1 -1
  4. package/lowcode/backend-manager/bg-product.ts +2 -1
  5. package/lowcode/cms-plugin/app-market-install.js +97 -0
  6. package/lowcode/cms-plugin/app-market-install.ts +123 -0
  7. package/lowcode/cms-plugin/app-market-published.js +42 -0
  8. package/lowcode/cms-plugin/app-market-published.ts +70 -0
  9. package/lowcode/cms-plugin/app-market.js +286 -0
  10. package/lowcode/cms-plugin/app-market.ts +343 -0
  11. package/lowcode/cms-plugin/filter-options.js +7 -0
  12. package/lowcode/cms-plugin/filter-options.ts +10 -0
  13. package/lowcode/cms-plugin/shopping-information.js +19 -463
  14. package/lowcode/cms-plugin/shopping-information.ts +50 -582
  15. package/lowcode/css/editor.css +13 -0
  16. package/lowcode/glitter-base/global/language.js +6 -0
  17. package/lowcode/glitter-base/global/language.ts +6 -0
  18. package/lowcode/glitter-base/route/market.js +43 -0
  19. package/lowcode/glitter-base/route/market.ts +47 -0
  20. package/lowcode/glitter-base/route/shopping.js +15 -0
  21. package/lowcode/glitter-base/route/shopping.ts +24 -5
  22. package/lowcode/glitterBundle/dialog/dialog.js +2 -2
  23. package/lowcode/glitterBundle/dialog/dialog.ts +5 -5
  24. package/lowcode/jspage/function-page/main_editor.js +2 -2
  25. package/lowcode/jspage/function-page/main_editor.ts +2 -2
  26. package/lowcode/jspage/function-page/setting_editor.js +27 -0
  27. package/lowcode/jspage/function-page/setting_editor.ts +27 -0
  28. package/lowcode/public-components/user-manager/um-order.js +158 -60
  29. package/lowcode/public-components/user-manager/um-order.ts +229 -73
  30. package/package.json +1 -1
  31. package/src/api-public/controllers/app-market.d.ts +3 -0
  32. package/src/api-public/controllers/app-market.js +51 -0
  33. package/src/api-public/controllers/app-market.js.map +1 -0
  34. package/src/api-public/controllers/app-market.ts +59 -0
  35. package/src/api-public/controllers/index.js +3 -0
  36. package/src/api-public/controllers/index.js.map +1 -1
  37. package/src/api-public/controllers/index.ts +3 -0
  38. package/src/api-public/controllers/shop.js +38 -6
  39. package/src/api-public/controllers/shop.js.map +1 -1
  40. package/src/api-public/controllers/shop.ts +94 -61
  41. package/src/api-public/services/ai-robot.d.ts +1 -0
  42. package/src/api-public/services/app-market.d.ts +26 -0
  43. package/src/api-public/services/app-market.js +385 -0
  44. package/src/api-public/services/app-market.js.map +1 -0
  45. package/src/api-public/services/app-market.ts +412 -0
  46. package/src/api-public/services/auto-send-email.js +4 -3
  47. package/src/api-public/services/auto-send-email.js.map +1 -1
  48. package/src/api-public/services/auto-send-email.ts +3 -2
  49. package/src/api-public/services/checkout-event.js +7 -26
  50. package/src/api-public/services/checkout-event.js.map +1 -1
  51. package/src/api-public/services/checkout-event.ts +18 -43
  52. package/src/api-public/services/fb-api.d.ts +1 -0
  53. package/src/api-public/services/fb-message.d.ts +1 -0
  54. package/src/api-public/services/fb-service.js +4 -4
  55. package/src/api-public/services/fb-service.js.map +1 -1
  56. package/src/api-public/services/financial-service.d.ts +1 -0
  57. package/src/api-public/services/financial-serviceV2.d.ts +1 -0
  58. package/src/api-public/services/line-message.d.ts +1 -0
  59. package/src/api-public/services/model/handlePaymentTransaction.js +0 -1
  60. package/src/api-public/services/model/handlePaymentTransaction.js.map +1 -1
  61. package/src/api-public/services/model/handlePaymentTransaction.ts +3 -81
  62. package/src/api-public/services/monitor.d.ts +1 -0
  63. package/src/api-public/services/share-permission.d.ts +1 -1
  64. package/src/api-public/services/shopee.d.ts +4 -3
  65. package/src/api-public/services/shopping.d.ts +1 -0
  66. package/src/api-public/services/shopping.js +7 -7
  67. package/src/api-public/services/shopping.js.map +1 -5
  68. package/src/api-public/services/shopping.ts +15 -59
  69. package/src/api-public/services/user.d.ts +1 -0
  70. package/src/api-public/utils/ut-permission.d.ts +1 -0
  71. package/src/config.d.ts +2 -1
  72. package/src/config.js +1 -0
  73. package/src/config.js.map +1 -1
  74. package/src/config.ts +1 -0
  75. package/src/index.js +3 -3
  76. package/src/modules/AWSLib.js +3 -2
  77. package/src/modules/AWSLib.js.map +1 -1
  78. package/src/modules/database.d.ts +1 -1
  79. package/src/modules/redis.d.ts +1 -1
  80. package/src/modules/tool.d.ts +4 -4
  81. package/src/modules/tool.js +2 -1
  82. package/src/modules/tool.js.map +1 -1
  83. package/src/public-config-initial/auto-fcm.d.ts +1 -0
  84. package/src/public-config-initial/auto-fcm.js +6 -4
  85. package/src/public-config-initial/auto-fcm.js.map +1 -1
  86. package/src/public-config-initial/auto-fcm.ts +14 -9
  87. package/src/run.js +2 -1
  88. package/src/run.js.map +1 -1
  89. package/src/seo-config.d.ts +1 -0
  90. package/src/seo-config.js +3 -3
  91. package/src/seo-config.js.map +1 -1
  92. package/src/services/app.d.ts +1 -0
  93. package/src/services/app.js +7 -17
  94. package/src/services/app.js.map +1 -1
  95. package/src/services/backend-service.js +7 -17
  96. package/src/services/backend-service.js.map +1 -1
  97. package/src/services/create-instance.js +4 -3
  98. package/src/services/create-instance.js.map +1 -1
  99. package/src/services/saas-table-check.js +2 -2
  100. package/src/services/seo.d.ts +1 -0
  101. package/src/services/template.d.ts +1 -0
  102. package/src/services/tool.js +3 -2
  103. package/src/services/tool.js.map +1 -1
@@ -29,6 +29,7 @@
29
29
  --main-orange-2: #ffb400;
30
30
  --main-orange-3: #ff6c02;
31
31
  --main-green: #10931d;
32
+ --main-yellow: #FFB21C;
32
33
 
33
34
  --item-primary: #4d86db;
34
35
  --item-success: #d8ecda;
@@ -420,6 +421,18 @@ h6 {
420
421
  font-weight: 400;
421
422
  }
422
423
 
424
+ .tx_yellow_12 {
425
+ font-size: 12px;
426
+ color: var(--main-yellow);
427
+ font-weight: 400;
428
+ }
429
+
430
+ .tx_yellow_14 {
431
+ font-size: 14px;
432
+ color: var(--main-yellow);
433
+ font-weight: 400;
434
+ }
435
+
423
436
  .c_card {
424
437
  border-radius: 10px;
425
438
  background: var(--main-white);
@@ -124,6 +124,8 @@ export class Language {
124
124
  cn: '请问确定要取消此订单吗?',
125
125
  en: `Are you sure you want to cancel this order?`,
126
126
  },
127
+ { key: 'order_number', tw: '訂單號碼', en: 'Order number', cn: '訂單號碼' },
128
+ { key: 'find_order', tw: '訂單查詢', en: 'Order inquiry', cn: '訂單查詢' },
127
129
  { key: 's_cancel_order', tw: '取消訂單成功', cn: '取消订单成功', en: `Order canceled successfully` },
128
130
  { key: 'newWebPay', tw: '藍新金流', cn: '蓝新金流', en: `NewebPay` },
129
131
  { key: 'ecPay', tw: '綠界金流', cn: '绿界金流', en: `EcPay` },
@@ -141,6 +143,10 @@ export class Language {
141
143
  { key: 'login_in_to_checkout', tw: '登入後結帳', cn: '登入后结帐', en: `Log in and checkout` },
142
144
  { key: 'birth', tw: '生日', cn: '生日', en: `Birth` },
143
145
  { key: 'select', tw: '選取', cn: '选择', en: 'Select' },
146
+ { key: 'if_buyer_no_account', tw: '若你購買時未註冊會員,請從此查詢訂單,或者<span class="mx-2" style="color: #0a53be;cursor:pointer;" onclick="#login">登入</span>會員進行查詢',
147
+ cn: `若你购买时未注册会员,请从此查询订单,或者<span class="mx-2" style="color: #0a53be;cursor:pointer;" onclick="#login">登入</span>会员进行查询`,
148
+ en: `If you did not register as a member when you purchased, please check your order here, or <span class="mx-2" style="color: #0a53be;cursor:pointer;" onclick="#login">log in</span> as a member to check.`
149
+ },
144
150
  {
145
151
  key: 'disable_ship',
146
152
  tw: '無配送方式',
@@ -133,6 +133,8 @@ export class Language {
133
133
  cn: '请问确定要取消此订单吗?',
134
134
  en: `Are you sure you want to cancel this order?`,
135
135
  },
136
+ {key: 'order_number',tw:'訂單號碼',en:'Order number',cn: '訂單號碼'},
137
+ {key: 'find_order',tw:'訂單查詢',en:'Order inquiry',cn: '訂單查詢'},
136
138
  { key: 's_cancel_order', tw: '取消訂單成功', cn: '取消订单成功', en: `Order canceled successfully` },
137
139
  { key: 'newWebPay', tw: '藍新金流', cn: '蓝新金流', en: `NewebPay` },
138
140
  { key: 'ecPay', tw: '綠界金流', cn: '绿界金流', en: `EcPay` },
@@ -150,6 +152,10 @@ export class Language {
150
152
  { key: 'login_in_to_checkout', tw: '登入後結帳', cn: '登入后结帐', en: `Log in and checkout` },
151
153
  { key: 'birth', tw: '生日', cn: '生日', en: `Birth` },
152
154
  { key: 'select', tw: '選取', cn: '选择', en: 'Select' },
155
+ {key: 'if_buyer_no_account',tw:'若你購買時未註冊會員,請從此查詢訂單,或者<span class="mx-2" style="color: #0a53be;cursor:pointer;" onclick="#login">登入</span>會員進行查詢',
156
+ cn:`若你购买时未注册会员,请从此查询订单,或者<span class="mx-2" style="color: #0a53be;cursor:pointer;" onclick="#login">登入</span>会员进行查询`,
157
+ en:`If you did not register as a member when you purchased, please check your order here, or <span class="mx-2" style="color: #0a53be;cursor:pointer;" onclick="#login">log in</span> as a member to check.`
158
+ },
153
159
  {
154
160
  key: 'disable_ship',
155
161
  tw: '無配送方式',
@@ -0,0 +1,43 @@
1
+ import { BaseApi } from '../../glitterBundle/api/base.js';
2
+ export class ApiMarket {
3
+ static getAppList() {
4
+ return BaseApi.create({
5
+ url: getBaseUrl() + `/api-public/v1/app_market`,
6
+ type: 'GET',
7
+ headers: {
8
+ 'Content-Type': 'application/json',
9
+ 'g-app': getConfig().config.appName,
10
+ Authorization: getConfig().config.token,
11
+ },
12
+ });
13
+ }
14
+ static getInstallAppList() {
15
+ return BaseApi.create({
16
+ url: getBaseUrl() + `/api-public/v1/app_market/install`,
17
+ type: 'GET',
18
+ headers: {
19
+ 'Content-Type': 'application/json',
20
+ 'g-app': getConfig().config.appName,
21
+ Authorization: getConfig().config.token,
22
+ },
23
+ });
24
+ }
25
+ static getPublishedAppList() {
26
+ return BaseApi.create({
27
+ url: getBaseUrl() + `/api-public/v1/app_market/published`,
28
+ type: 'GET',
29
+ headers: {
30
+ 'Content-Type': 'application/json',
31
+ 'g-app': getConfig().config.appName,
32
+ Authorization: getConfig().config.token,
33
+ },
34
+ });
35
+ }
36
+ }
37
+ function getConfig() {
38
+ const saasConfig = window.parent.saasConfig;
39
+ return saasConfig;
40
+ }
41
+ function getBaseUrl() {
42
+ return getConfig().config.url;
43
+ }
@@ -0,0 +1,47 @@
1
+ import { BaseApi } from '../../glitterBundle/api/base.js';
2
+
3
+
4
+ export class ApiMarket {
5
+ static getAppList() {
6
+ return BaseApi.create({
7
+ url: getBaseUrl() + `/api-public/v1/app_market`,
8
+ type: 'GET',
9
+ headers: {
10
+ 'Content-Type': 'application/json',
11
+ 'g-app': getConfig().config.appName,
12
+ Authorization: getConfig().config.token,
13
+ },
14
+ });
15
+ }
16
+ static getInstallAppList() {
17
+ return BaseApi.create({
18
+ url: getBaseUrl() + `/api-public/v1/app_market/install`,
19
+ type: 'GET',
20
+ headers: {
21
+ 'Content-Type': 'application/json',
22
+ 'g-app': getConfig().config.appName,
23
+ Authorization: getConfig().config.token,
24
+ },
25
+ });
26
+ }
27
+ static getPublishedAppList() {
28
+ return BaseApi.create({
29
+ url: getBaseUrl() + `/api-public/v1/app_market/published`,
30
+ type: 'GET',
31
+ headers: {
32
+ 'Content-Type': 'application/json',
33
+ 'g-app': getConfig().config.appName,
34
+ Authorization: getConfig().config.token,
35
+ },
36
+ });
37
+ }
38
+ }
39
+
40
+ function getConfig() {
41
+ const saasConfig: { config: any; api: any } = (window.parent as any).saasConfig;
42
+ return saasConfig;
43
+ }
44
+
45
+ function getBaseUrl() {
46
+ return getConfig().config.url;
47
+ }
@@ -551,6 +551,8 @@ export class ApiShop {
551
551
  `/api-public/v1/ec/order?${(() => {
552
552
  var _a;
553
553
  let par = [`limit=${json.limit}`, `page=${json.page}`];
554
+ json.buyer_name && par.push(`buyer_name=${json.buyer_name}`);
555
+ json.buyer_phone && par.push(`buyer_phone=${json.buyer_phone}`);
554
556
  json.search && par.push(`search=${json.search}`);
555
557
  json.id && par.push(`id=${json.id}`);
556
558
  json.id_list && par.push(`id_list=${json.id_list}`);
@@ -579,6 +581,19 @@ export class ApiShop {
579
581
  },
580
582
  });
581
583
  }
584
+ static verifyOrderCode(verify_code) {
585
+ const glitter = window.glitter;
586
+ return BaseApi.create({
587
+ url: getBaseUrl() + `/api-public/v1/ec/order/verifyCode?order_id=${glitter.getUrlParameter('cart_token')}`,
588
+ type: 'POST',
589
+ headers: {
590
+ 'Content-Type': 'application/json',
591
+ 'g-app': getConfig().config.appName,
592
+ Authorization: GlobalUser.token,
593
+ },
594
+ data: JSON.stringify({ verify_code }),
595
+ });
596
+ }
582
597
  static getSearchReturnOrder(json) {
583
598
  const filterString = this.returnOrderListFilterString(json.filter);
584
599
  return BaseApi.create({
@@ -197,7 +197,7 @@ export class ApiShop {
197
197
  });
198
198
  }
199
199
 
200
- public static postMultiProduct(cf: { data: any; token?: string }) {
200
+ static postMultiProduct(cf: { data: any; token?: string }) {
201
201
  return BaseApi.create({
202
202
  url: getBaseUrl() + `/api-public/v1/ec/product/multiple`,
203
203
  type: 'POST',
@@ -210,7 +210,7 @@ export class ApiShop {
210
210
  });
211
211
  }
212
212
 
213
- public static putProduct(cf: { data: any; token?: string }) {
213
+ static putProduct(cf: { data: any; token?: string }) {
214
214
  return BaseApi.create({
215
215
  url: getBaseUrl() + `/api-public/v1/ec/product`,
216
216
  type: 'PUT',
@@ -648,6 +648,8 @@ export class ApiShop {
648
648
  valid?: boolean;
649
649
  is_shipment?: boolean;
650
650
  is_reconciliation?: boolean;
651
+ buyer_name?:string,
652
+ buyer_phone?:string
651
653
  }) {
652
654
  const filterString = this.orderListFilterString(json.filter);
653
655
  return BaseApi.create({
@@ -655,6 +657,8 @@ export class ApiShop {
655
657
  getBaseUrl() +
656
658
  `/api-public/v1/ec/order?${(() => {
657
659
  let par = [`limit=${json.limit}`, `page=${json.page}`];
660
+ json.buyer_name && par.push(`buyer_name=${json.buyer_name}`);
661
+ json.buyer_phone && par.push(`buyer_phone=${json.buyer_phone}`);
658
662
  json.search && par.push(`search=${json.search}`);
659
663
  json.id && par.push(`id=${json.id}`);
660
664
  json.id_list && par.push(`id_list=${json.id_list}`);
@@ -684,6 +688,21 @@ export class ApiShop {
684
688
  });
685
689
  }
686
690
 
691
+ static verifyOrderCode(verify_code: string) {
692
+ const glitter = (window as any).glitter;
693
+
694
+ return BaseApi.create({
695
+ url: getBaseUrl() + `/api-public/v1/ec/order/verifyCode?order_id=${glitter.getUrlParameter('cart_token')}`,
696
+ type: 'POST',
697
+ headers: {
698
+ 'Content-Type': 'application/json',
699
+ 'g-app': getConfig().config.appName,
700
+ Authorization: GlobalUser.token,
701
+ },
702
+ data: JSON.stringify({ verify_code }),
703
+ });
704
+ }
705
+
687
706
  static getSearchReturnOrder(json: {
688
707
  limit: number;
689
708
  page: number;
@@ -735,7 +754,7 @@ export class ApiShop {
735
754
  });
736
755
  }
737
756
 
738
- public static putVoucher(json: { postData: any; token?: string; type?: 'normal' | 'manager' }) {
757
+ static putVoucher(json: { postData: any; token?: string; type?: 'normal' | 'manager' }) {
739
758
  return BaseApi.create({
740
759
  url: getBaseUrl() + `/api-public/v1/voucher`,
741
760
  type: 'PUT',
@@ -748,7 +767,7 @@ export class ApiShop {
748
767
  });
749
768
  }
750
769
 
751
- public static postVoucher(json: { postData: any; token?: string; type: 'normal' | 'manager' }) {
770
+ static postVoucher(json: { postData: any; token?: string; type: 'normal' | 'manager' }) {
752
771
  return BaseApi.create({
753
772
  url: getBaseUrl() + `/api-public/v1/voucher`,
754
773
  type: 'POST',
@@ -1250,7 +1269,7 @@ export class ApiShop {
1250
1269
  });
1251
1270
  }
1252
1271
 
1253
- public static app_subscription(receipt: string, app_name: string) {
1272
+ static app_subscription(receipt: string, app_name: string) {
1254
1273
  return BaseApi.create({
1255
1274
  url: getBaseUrl() + `/api-public/v1/ec/apple-webhook`,
1256
1275
  type: 'POST',
@@ -126,7 +126,7 @@ init(import.meta.url, (gvc, glitter, gBundle) => {
126
126
  var _a, _b;
127
127
  (_b = (_a = gBundle.obj) === null || _a === void 0 ? void 0 : _a.callback) === null || _b === void 0 ? void 0 : _b.call(_a, true);
128
128
  gvc.closeDialog();
129
- }
129
+ },
130
130
  },
131
131
  width: 420,
132
132
  });
@@ -170,7 +170,7 @@ init(import.meta.url, (gvc, glitter, gBundle) => {
170
170
  title: (_q = gBundle.notString) !== null && _q !== void 0 ? _q : Language.text('cancel'),
171
171
  event: () => { var _a; return (_a = gBundle.callback) === null || _a === void 0 ? void 0 : _a.call(gBundle, false); },
172
172
  },
173
- width: (_r = gBundle.width) !== null && _r !== void 0 ? _r : 600
173
+ width: (_r = gBundle.width) !== null && _r !== void 0 ? _r : 600,
174
174
  });
175
175
  default:
176
176
  return '';
@@ -12,7 +12,7 @@ interface DialogConfig {
12
12
  cancel?: ButtonConfig;
13
13
  confirm?: ButtonConfig;
14
14
  width?: number;
15
- auto?:boolean;
15
+ auto?: boolean;
16
16
  }
17
17
 
18
18
  interface Bundle {
@@ -156,8 +156,8 @@ init(import.meta.url, (gvc, glitter, gBundle: Bundle) => {
156
156
  title: Language.text('okay'),
157
157
  event: () => {
158
158
  gBundle.obj?.callback?.(true);
159
- gvc.closeDialog()
160
- }
159
+ gvc.closeDialog();
160
+ },
161
161
  },
162
162
  width: 420,
163
163
  });
@@ -165,7 +165,7 @@ init(import.meta.url, (gvc, glitter, gBundle: Bundle) => {
165
165
  case 'checkYesOrNot':
166
166
  case 'warningMessage':
167
167
  return createDialogBox({
168
- icon: icons.question,
168
+ icon: icons.question,
169
169
  content: gBundle.title ?? '',
170
170
  confirm: {
171
171
  title: gBundle.yesString ?? Language.text('okay'),
@@ -204,7 +204,7 @@ init(import.meta.url, (gvc, glitter, gBundle: Bundle) => {
204
204
  title: gBundle.notString ?? Language.text('cancel'),
205
205
  event: () => gBundle.callback?.(false),
206
206
  },
207
- width:gBundle.width??600
207
+ width: gBundle.width ?? 600,
208
208
  });
209
209
 
210
210
  default:
@@ -1195,7 +1195,7 @@ export class Main_editor {
1195
1195
  frame.style.height = `${frame_height}px`;
1196
1196
  frame.style.transform = `scale(${(container_width / frame_width).toFixed(2)})`;
1197
1197
  frame.style.left = document.body.clientWidth > 800 && Storage.view_type === ViewType.mobile ? '25%' : '0';
1198
- frame.style.top = `${tool_box + (gvc.glitter.share.top_inset ? parseInt(gvc.glitter.share.top_inset, 10) + 10 : 0)}px`;
1198
+ frame.style.top = `${tool_box + (gvc.glitter.share.top_inset ? parseInt(gvc.glitter.share.top_inset, 10) : 0)}px`;
1199
1199
  };
1200
1200
  return gvc.bindView(() => {
1201
1201
  return {
@@ -1213,7 +1213,7 @@ export class Main_editor {
1213
1213
  return html ` <div
1214
1214
  class="position-relative w-100 h-100"
1215
1215
  style="${parseInt(gvc.glitter.share.top_inset, 10)
1216
- ? `padding-top:${parseInt(gvc.glitter.share.top_inset, 10) + 10}px;`
1216
+ ? `padding-top:${parseInt(gvc.glitter.share.top_inset, 10)}px;`
1217
1217
  : ``}"
1218
1218
  id="editerCenter"
1219
1219
  >
@@ -1320,7 +1320,7 @@ export class Main_editor {
1320
1320
  frame.style.height = `${frame_height}px`;
1321
1321
  frame.style.transform = `scale(${(container_width / frame_width).toFixed(2)})`;
1322
1322
  frame.style.left = document.body.clientWidth > 800 && Storage.view_type === ViewType.mobile ? '25%' : '0';
1323
- frame.style.top = `${tool_box + (gvc.glitter.share.top_inset ? parseInt(gvc.glitter.share.top_inset, 10) + 10 : 0)}px`;
1323
+ frame.style.top = `${tool_box + (gvc.glitter.share.top_inset ? parseInt(gvc.glitter.share.top_inset, 10) : 0)}px`;
1324
1324
  };
1325
1325
 
1326
1326
  return gvc.bindView(() => {
@@ -1338,7 +1338,7 @@ export class Main_editor {
1338
1338
  return html` <div
1339
1339
  class="position-relative w-100 h-100"
1340
1340
  style="${parseInt(gvc.glitter.share.top_inset, 10)
1341
- ? `padding-top:${parseInt(gvc.glitter.share.top_inset, 10) + 10}px;`
1341
+ ? `padding-top:${parseInt(gvc.glitter.share.top_inset, 10)}px;`
1342
1342
  : ``}"
1343
1343
  id="editerCenter"
1344
1344
  >
@@ -1416,6 +1416,33 @@ Setting_editor.menuItems = () => {
1416
1416
  groupIcon: 'https://d3jnmi1tfjgtti.cloudfront.net/file/234285319/list-tree-regular.svg',
1417
1417
  moduleName: '蝦皮',
1418
1418
  },
1419
+ {
1420
+ icon: '',
1421
+ page: 'APP-Market-Landing',
1422
+ group: 'APP應用',
1423
+ title: 'APP Market',
1424
+ appName: 'cms_system',
1425
+ groupIcon: 'https://d3jnmi1tfjgtti.cloudfront.net/file/234285319/list-tree-regular.svg',
1426
+ moduleName: 'APP Market',
1427
+ },
1428
+ {
1429
+ icon: '',
1430
+ page: 'APP-Market-Install',
1431
+ group: 'APP應用',
1432
+ title: '已安裝App',
1433
+ appName: 'cms_system',
1434
+ groupIcon: 'https://d3jnmi1tfjgtti.cloudfront.net/file/234285319/list-tree-regular.svg',
1435
+ moduleName: 'APP Market',
1436
+ },
1437
+ {
1438
+ icon: '',
1439
+ page: 'APP-Market-Published',
1440
+ group: 'APP應用',
1441
+ title: '已發佈App',
1442
+ appName: 'cms_system',
1443
+ groupIcon: 'https://d3jnmi1tfjgtti.cloudfront.net/file/234285319/list-tree-regular.svg',
1444
+ moduleName: 'APP Market',
1445
+ },
1419
1446
  {
1420
1447
  icon: '',
1421
1448
  page: 'web_theme',
@@ -627,6 +627,33 @@ export class Setting_editor {
627
627
  groupIcon: 'https://d3jnmi1tfjgtti.cloudfront.net/file/234285319/list-tree-regular.svg',
628
628
  moduleName: '蝦皮',
629
629
  },
630
+ {
631
+ icon: '',
632
+ page: 'APP-Market-Landing',
633
+ group: 'APP應用',
634
+ title: 'APP Market',
635
+ appName: 'cms_system',
636
+ groupIcon: 'https://d3jnmi1tfjgtti.cloudfront.net/file/234285319/list-tree-regular.svg',
637
+ moduleName: 'APP Market',
638
+ },
639
+ {
640
+ icon: '',
641
+ page: 'APP-Market-Install',
642
+ group: 'APP應用',
643
+ title: '已安裝App',
644
+ appName: 'cms_system',
645
+ groupIcon: 'https://d3jnmi1tfjgtti.cloudfront.net/file/234285319/list-tree-regular.svg',
646
+ moduleName: 'APP Market',
647
+ },
648
+ {
649
+ icon: '',
650
+ page: 'APP-Market-Published',
651
+ group: 'APP應用',
652
+ title: '已發佈App',
653
+ appName: 'cms_system',
654
+ groupIcon: 'https://d3jnmi1tfjgtti.cloudfront.net/file/234285319/list-tree-regular.svg',
655
+ moduleName: 'APP Market',
656
+ },
630
657
  {
631
658
  icon: '',
632
659
  page: 'web_theme',