ts-glitter 21.4.0 → 21.4.2

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 (97) hide show
  1. package/lowcode/Entry.js +18 -1
  2. package/lowcode/Entry.ts +19 -1
  3. package/lowcode/api/pageConfig.js +29 -10
  4. package/lowcode/api/pageConfig.ts +43 -11
  5. package/lowcode/backend-manager/bg-blog.js +5 -0
  6. package/lowcode/backend-manager/bg-blog.ts +5 -0
  7. package/lowcode/cms-plugin/menus-setting.js +15 -6
  8. package/lowcode/cms-plugin/menus-setting.ts +23 -6
  9. package/lowcode/cms-plugin/module/user-excel.js +11 -5
  10. package/lowcode/cms-plugin/module/user-excel.ts +11 -5
  11. package/lowcode/cms-plugin/shopping-discount-setting.js +236 -234
  12. package/lowcode/cms-plugin/shopping-discount-setting.ts +137 -134
  13. package/lowcode/cms-plugin/third-party-line.js +34 -0
  14. package/lowcode/cms-plugin/third-party-line.ts +34 -0
  15. package/lowcode/editor-components/global-editor.js +60 -0
  16. package/lowcode/editor-components/global-editor.ts +65 -0
  17. package/lowcode/editor-components/global-widget/bridge.js +40 -34
  18. package/lowcode/editor-components/global-widget/bridge.ts +42 -34
  19. package/lowcode/glitterBundle/html-component/global-widget.js +265 -170
  20. package/lowcode/glitterBundle/html-component/global-widget.ts +264 -159
  21. package/lowcode/index.html +1 -1
  22. package/lowcode/jspage/function-page/tool-setting.js +9 -1
  23. package/lowcode/jspage/function-page/tool-setting.ts +9 -1
  24. package/lowcode/jspage/main.js +78 -16
  25. package/lowcode/jspage/main.ts +108 -22
  26. package/lowcode/official_view_component/official/component.js +17 -10
  27. package/lowcode/official_view_component/official/component.ts +38 -27
  28. package/lowcode/public-components/blogs/blogs-01.js +200 -140
  29. package/lowcode/public-components/blogs/blogs-01.ts +232 -145
  30. package/lowcode/public-components/checkout/index.js +1 -1
  31. package/lowcode/public-components/checkout/index.ts +1 -1
  32. package/lowcode/public-components/headers/head-initial.ts +1 -1
  33. package/lowcode/public-components/headers/sy-02.js +1 -0
  34. package/lowcode/public-components/headers/sy-02.ts +1 -0
  35. package/lowcode/public-components/headers/sy-03.js +1 -0
  36. package/lowcode/public-components/headers/sy-03.ts +1 -0
  37. package/lowcode/public-components/headers/sy-04.js +1 -0
  38. package/lowcode/public-components/headers/sy-04.ts +1 -0
  39. package/lowcode/public-components/headers/sy-05.js +1 -0
  40. package/lowcode/public-components/headers/sy-05.ts +1 -0
  41. package/lowcode/public-components/product/product-detail.js +2 -2
  42. package/lowcode/public-components/product/product-detail.ts +4 -4
  43. package/lowcode/public-components/terms-related/index.ts +1 -0
  44. package/lowcode/public-components/user-manager/um-login.js +7 -1
  45. package/lowcode/public-components/user-manager/um-login.ts +8 -1
  46. package/package.json +1 -1
  47. package/src/api-public/models/glitter-finance.js +1 -2
  48. package/src/api-public/models/glitter-finance.js.map +1 -1
  49. package/src/api-public/services/checkout-event.js +1 -0
  50. package/src/api-public/services/checkout-event.js.map +1 -1
  51. package/src/api-public/services/checkout-event.ts +1 -0
  52. package/src/api-public/services/ezpay/tool.d.ts +0 -1
  53. package/src/api-public/services/user.js +7 -3
  54. package/src/api-public/services/user.js.map +1 -1
  55. package/src/api-public/services/user.ts +6 -3
  56. package/src/app-project/serverless/src/modules/database.d.ts +1 -1
  57. package/src/app-project/serverless/src/modules/redis.d.ts +1 -1
  58. package/src/controllers/template.js +2 -2
  59. package/src/controllers/template.js.map +1 -1
  60. package/src/controllers/template.ts +5 -2
  61. package/src/firebase/message.js +1 -2
  62. package/src/firebase/message.js.map +1 -1
  63. package/src/helper/app_creater.js +1 -2
  64. package/src/helper/app_creater.js.map +1 -1
  65. package/src/helper/glitter-util.d.ts +0 -1
  66. package/src/index.js +1 -1
  67. package/src/index.js.map +1 -1
  68. package/src/index.ts +1 -1
  69. package/src/lambda/interface.js +2 -2
  70. package/src/lambda/interface.js.map +1 -1
  71. package/src/modules/database.d.ts +1 -1
  72. package/src/run.js +1 -2
  73. package/src/run.js.map +1 -1
  74. package/src/seo-config.d.ts +1 -1
  75. package/src/seo-config.js +13 -12
  76. package/src/seo-config.js.map +1 -1
  77. package/src/seo-config.ts +18 -12
  78. package/src/services/app.d.ts +2 -1
  79. package/src/services/app.js +4 -2
  80. package/src/services/app.js.map +1 -1
  81. package/src/services/app.ts +5 -2
  82. package/src/services/backend-service.js +7 -17
  83. package/src/services/backend-service.js.map +1 -1
  84. package/src/services/saas-table-check.js +2 -2
  85. package/src/services/saas-table-check.js.map +1 -1
  86. package/src/services/seo.d.ts +2 -1
  87. package/src/services/seo.js +7 -4
  88. package/src/services/seo.js.map +1 -1
  89. package/src/services/seo.ts +7 -4
  90. package/src/services/ses.js +1 -2
  91. package/src/services/ses.js.map +1 -1
  92. package/src/services/template.d.ts +3 -1
  93. package/src/services/template.js +55 -34
  94. package/src/services/template.js.map +1 -1
  95. package/src/services/template.ts +68 -35
  96. package/nxv0ptv53w.json +0 -1
  97. package/omr85cp878.json +0 -1
@@ -5,159 +5,246 @@ import { Language } from '../../glitter-base/global/language.js';
5
5
  import { ApiCart } from '../../glitter-base/route/api-cart.js';
6
6
  import { Article } from '../../glitter-base/route/article.js';
7
7
  import { GlobalUser } from '../../glitter-base/global/global-user.js';
8
+ import { ApiPageConfig } from '../../api/pageConfig.js';
9
+ import { ApiUser } from '../../glitter-base/route/user.js';
10
+
11
+ const html = String.raw;
8
12
 
9
13
  export class Blogs01 {
10
14
  static main(gvc: GVC, subData: any) {
15
+ let initial = false;
16
+ return gvc.bindView(() => {
17
+ const bid = gvc.glitter.getUUID();
18
+ return {
19
+ bind: bid,
20
+ view: () => {
21
+ return ``;
22
+ },
23
+ divCreate: {
24
+ class: `${bid}`,
25
+ },
26
+ onCreate: async () => {
27
+ if (!initial) {
28
+ try {
29
+ initial = true;
11
30
 
12
- if (subData.content.generator !== 'page_editor') {
13
- const dd = subData.content;
14
- return `<div class="container mx-auto fr-view mb-5" style="max-width: 1100px;font-family: 'Source Sans Pro', 'Open Sans', 'Helvetica Neue', Helvetica, Arial, 'Hiragino Sans GB', 'Microsoft YaHei', '微软雅黑', 'STHeiti', 'WenQuanYi Micro Hei', SimSun, sans-serif;">
15
- <h1 class="my-5 w-100 text-center p-0" style="color:${subData.content.title};font-size:${document.body.clientWidth > 800 ? `32px` : `24px`};font-weight: 600;">
16
- ${(dd.language_data && dd.language_data[Language.getLanguage()].title) || dd.title}
17
- </h1>
18
- ${(dd.language_data && dd.language_data[Language.getLanguage()].text) || dd.text}</div>`;
19
- } else {
20
- function startRender() {
21
- // 隱形賣場和一頁商店,預設加入購物車
22
- if (
23
- subData.content.relative_data &&
24
- ['shopping', 'hidden'].includes(subData.content.page_type) &&
25
- localStorage.getItem('block-refresh-cart') !== 'true'
26
- ) {
27
- const clock = gvc.glitter.ut.clock();
28
- const interVal = setInterval(() => {
29
- if (clock.stop() < 2000) {
30
- new ApiCart(ApiCart.globalCart).setCart(cart => {
31
- subData.content.relative_data.map((dd: any) => {
32
- const line_item = cart.line_items.find((d1: any) => {
33
- return `${d1.id}-${d1.spec.join('-')}` === `${dd.product_id}-${dd.variant.spec.join('-')}`;
34
- });
35
- if (!line_item) {
36
- cart.line_items.push({
37
- id: dd.product_id,
38
- spec: dd.variant.spec,
39
- count: 1,
40
- });
41
- }
42
- });
43
- });
44
- } else {
45
- gvc.notifyDataChange(['js-cart-count']);
46
- gvc.glitter.share.reloadCartData && gvc.glitter.share.reloadCartData();
47
- if (document.querySelector('.customer-message')) {
48
- document.querySelector('.customer-message')!.remove();
49
- }
50
- clearInterval(interVal);
51
- }
52
- }, 300);
53
- } else {
54
- localStorage.setItem('block-refresh-cart', 'false');
55
- }
56
-
57
- return new gvc.glitter.htmlGenerate(subData.content.config, [], subData.content).render(
58
- gvc,
59
- {
60
- class: `w-100`,
61
- style: `position:relative;`,
62
- containerID: gvc.glitter.getUUID(),
63
- tag: gvc.glitter.getUUID(),
64
- jsFinish: () => {},
65
- onCreate: () => {},
66
- document: document,
67
- },
68
- {}
69
- );
70
- }
71
-
72
- // 判斷是隱形賣場決定是否可見
73
- if (subData.content.page_type === 'hidden') {
74
- if (subData.content.show_auth.auth === 'all') {
75
- return startRender();
76
- } else if (subData.content.show_auth.auth === 'password') {
77
- if (localStorage.getItem('password_to_see_' + subData.content.tag) === subData.content.show_auth.value) {
78
- return startRender();
79
- }
80
- return gvc.bindView(() => {
81
- const rid = gvc.glitter.getUUID();
82
- return {
83
- bind: rid,
84
- view: () => {
85
- return ``;
86
- },
87
- divCreate: {
88
- option: [{ key: 'id', value: rid }],
89
- },
90
- onCreate: () => {
91
- function checkPwd() {
92
- const pwd = window.prompt(Language.text('enter_website_password'), '');
93
- localStorage.setItem('password_to_see_' + subData.content.tag, pwd ?? '');
94
- if (subData.content.show_auth.value === pwd) {
95
- document.querySelector(`#${rid}`)!.outerHTML = startRender();
31
+ const [o_header] = await Promise.all([
32
+ new Promise<any>((resolve, reject)=>{
33
+ (window as any).glitterInitialHelper.getPageData('c_header',(res:any)=>{
34
+ console.log(`res===>`,res)
35
+ resolve(res)
36
+ })
37
+ })
38
+ ]);
39
+ console.log(`o_header===>`,o_header)
40
+ subData.content.config=subData.content.config.filter((dd:any)=> dd.data.tag!=='c_header')
41
+ //pages的自訂View
42
+ const view = (() => {
43
+ if (subData.content.generator !== 'page_editor') {
44
+ const dd = subData.content;
45
+ return html` <div
46
+ class="container mx-auto fr-view mb-5"
47
+ style="max-width: 1100px;font-family: 'Source Sans Pro', 'Open Sans', 'Helvetica Neue', Helvetica, Arial, 'Hiragino Sans GB', 'Microsoft YaHei', '微软雅黑', 'STHeiti', 'WenQuanYi Micro Hei', SimSun, sans-serif;"
48
+ >
49
+ <h1
50
+ class="my-5 w-100 text-center p-0"
51
+ style="color:${subData.content.title};font-size:${document.body.clientWidth > 800
52
+ ? `32px`
53
+ : `24px`};font-weight: 600;"
54
+ >
55
+ ${(dd.language_data && dd.language_data[Language.getLanguage()].title) || dd.title}
56
+ </h1>
57
+ ${(dd.language_data && dd.language_data[Language.getLanguage()].text) || dd.text}
58
+ </div>`;
96
59
  } else {
97
- const dialog = new ShareDialog(gvc.glitter);
98
- dialog.checkYesOrNot({
99
- text: Language.text('incorrect_website_password'),
100
- callback: () => {
101
- gvc.glitter.closeDiaLog();
102
- checkPwd();
103
- },
104
- });
105
- }
106
- }
107
-
108
- checkPwd();
109
- },
110
- };
111
- });
112
- } else if (subData.content.show_auth.auth === 'member_type') {
113
- return gvc.bindView(() => {
114
- const rid = gvc.glitter.getUUID();
115
- return {
116
- bind: rid,
117
- view: () => {
118
- return ``;
119
- },
120
- divCreate: {
121
- option: [{ key: 'id', value: rid }],
122
- },
123
- onCreate: () => {
124
- const dialog = new ShareDialog(gvc.glitter);
125
- UmClass.getUserData(gvc).then((resp: any) => {
126
- try {
127
- const mem = resp.member.find((d: any) => {
128
- return d.trigger;
129
- });
130
- if (subData.content.show_auth.value.includes(mem.id)) {
131
- document.querySelector(`#${rid}`)!.outerHTML = startRender();
132
- } else {
133
- if (GlobalUser.token) {
134
- dialog.errorMessage({ text: Language.text('no_access_permission') });
135
- gvc.glitter.href = '/index';
60
+ function startRender() {
61
+ // 隱形賣場和一頁商店,預設加入購物車
62
+ if (
63
+ subData.content.relative_data &&
64
+ ['shopping', 'hidden'].includes(subData.content.page_type) &&
65
+ localStorage.getItem('block-refresh-cart') !== 'true'
66
+ ) {
67
+ const clock = gvc.glitter.ut.clock();
68
+ const interVal = setInterval(() => {
69
+ if (clock.stop() < 2000) {
70
+ new ApiCart(ApiCart.globalCart).setCart(cart => {
71
+ subData.content.relative_data.map((dd: any) => {
72
+ const line_item = cart.line_items.find((d1: any) => {
73
+ return (
74
+ `${d1.id}-${d1.spec.join('-')}` === `${dd.product_id}-${dd.variant.spec.join('-')}`
75
+ );
76
+ });
77
+ if (!line_item) {
78
+ cart.line_items.push({
79
+ id: dd.product_id,
80
+ spec: dd.variant.spec,
81
+ count: 1,
82
+ });
83
+ }
84
+ });
85
+ });
86
+ } else {
87
+ gvc.notifyDataChange(['js-cart-count']);
88
+ gvc.glitter.share.reloadCartData && gvc.glitter.share.reloadCartData();
89
+ if (document.querySelector('.customer-message')) {
90
+ document.querySelector('.customer-message')!.remove();
91
+ }
92
+ clearInterval(interVal);
93
+ }
94
+ }, 300);
136
95
  } else {
137
- GlobalUser.loginRedirect = location.href;
138
- gvc.glitter.href = '/login';
96
+ localStorage.setItem('block-refresh-cart', 'false');
139
97
  }
98
+ return new gvc.glitter.htmlGenerate(subData.content.config, [], subData.content).render(
99
+ gvc,
100
+ {
101
+ class: `w-100`,
102
+ style: `position:relative;`,
103
+ containerID: gvc.glitter.getUUID(),
104
+ tag: gvc.glitter.getUUID(),
105
+ jsFinish: () => {},
106
+ onCreate: () => {},
107
+ document: document,
108
+ },
109
+ {}
110
+ );
140
111
  }
141
- } catch (e) {
142
- if (GlobalUser.token) {
143
- dialog.errorMessage({ text: Language.text('no_access_permission') });
144
- gvc.glitter.href = '/index';
112
+
113
+ // 判斷是隱形賣場決定是否可見
114
+ if (subData.content.page_type === 'hidden') {
115
+ if (subData.content.show_auth.auth === 'all') {
116
+ return startRender();
117
+ } else if (subData.content.show_auth.auth === 'password') {
118
+ if (
119
+ localStorage.getItem('password_to_see_' + subData.content.tag) ===
120
+ subData.content.show_auth.value
121
+ ) {
122
+ return startRender();
123
+ }
124
+ return gvc.bindView(() => {
125
+ const rid = gvc.glitter.getUUID();
126
+ return {
127
+ bind: rid,
128
+ view: () => {
129
+ return ``;
130
+ },
131
+ divCreate: {
132
+ option: [{ key: 'id', value: rid }],
133
+ },
134
+ onCreate: () => {
135
+ function checkPwd() {
136
+ const pwd = window.prompt(Language.text('enter_website_password'), '');
137
+ localStorage.setItem('password_to_see_' + subData.content.tag, pwd ?? '');
138
+ if (subData.content.show_auth.value === pwd) {
139
+ document.querySelector(`#${rid}`)!.outerHTML = startRender();
140
+ } else {
141
+ const dialog = new ShareDialog(gvc.glitter);
142
+ dialog.checkYesOrNot({
143
+ text: Language.text('incorrect_website_password'),
144
+ callback: () => {
145
+ gvc.glitter.closeDiaLog();
146
+ checkPwd();
147
+ },
148
+ });
149
+ }
150
+ }
151
+
152
+ checkPwd();
153
+ },
154
+ };
155
+ });
156
+ } else if (subData.content.show_auth.auth === 'member_type') {
157
+ return gvc.bindView(() => {
158
+ const rid = gvc.glitter.getUUID();
159
+ return {
160
+ bind: rid,
161
+ view: () => {
162
+ return ``;
163
+ },
164
+ divCreate: {
165
+ option: [{ key: 'id', value: rid }],
166
+ },
167
+ onCreate: () => {
168
+ const dialog = new ShareDialog(gvc.glitter);
169
+ UmClass.getUserData(gvc).then((resp: any) => {
170
+ try {
171
+ const mem = resp.member.find((d: any) => {
172
+ return d.trigger;
173
+ });
174
+ if (subData.content.show_auth.value.includes(mem.id)) {
175
+ document.querySelector(`#${rid}`)!.outerHTML = startRender();
176
+ } else {
177
+ if (GlobalUser.token) {
178
+ dialog.errorMessage({ text: Language.text('no_access_permission') });
179
+ gvc.glitter.href = '/index';
180
+ } else {
181
+ GlobalUser.loginRedirect = location.href;
182
+ gvc.glitter.href = '/login';
183
+ }
184
+ }
185
+ } catch (e) {
186
+ if (GlobalUser.token) {
187
+ dialog.errorMessage({ text: Language.text('no_access_permission') });
188
+ gvc.glitter.href = '/index';
189
+ } else {
190
+ GlobalUser.loginRedirect = location.href;
191
+ gvc.glitter.href = '/login';
192
+ }
193
+ }
194
+ });
195
+ },
196
+ };
197
+ });
198
+ } else {
199
+ return startRender();
200
+ }
145
201
  } else {
146
- GlobalUser.loginRedirect = location.href;
147
- gvc.glitter.href = '/login';
202
+ return startRender();
148
203
  }
149
204
  }
150
- });
151
- },
152
- };
153
- });
154
- } else {
155
- return startRender();
156
- }
157
- } else {
158
- return startRender();
159
- }
160
- }
205
+ })();
206
+ //取得HeaderView
207
+ let ogHeaderView = new gvc.glitter.htmlGenerate(o_header.response.result[0].config, [], {}).render(
208
+ gvc,
209
+ {
210
+ class: `w-100`,
211
+ style: `position:relative;`,
212
+ containerID: gvc.glitter.getUUID(),
213
+ tag: gvc.glitter.getUUID(),
214
+ jsFinish: () => {},
215
+ onCreate: () => {},
216
+ document: document,
217
+ },
218
+ {}
219
+ );
220
+ // //判斷有自訂Header調整自訂選單內容
221
+ // if (c_header.response.value && c_header.response.value[0] && c_header.response.value[0].header_refer!=='def') {
222
+ // ogHeaderView=new gvc.glitter.htmlGenerate([c_header.response.value[0]], [], {}).render(
223
+ // gvc,
224
+ // {
225
+ // class: `w-100`,
226
+ // style: `position:relative;`,
227
+ // containerID: gvc.glitter.getUUID(),
228
+ // tag: gvc.glitter.getUUID(),
229
+ // jsFinish: () => {},
230
+ // onCreate: () => {},
231
+ // document: document,
232
+ // },
233
+ // {}
234
+ // )
235
+ // }
236
+ document.querySelector(`.${bid}`)!.outerHTML = [
237
+ ogHeaderView,
238
+ view
239
+ ].join('');
240
+ initial = true;
241
+ } catch (e) {
242
+ console.log(e)
243
+ }
244
+ }
245
+ },
246
+ };
247
+ });
161
248
  }
162
249
 
163
250
  static async getMain(gvc: GVC) {
@@ -168,9 +255,9 @@ ${(dd.language_data && dd.language_data[Language.getLanguage()].text) || dd.text
168
255
  page: 0,
169
256
  tag: page.substring(page.indexOf('/') + 1, page.length),
170
257
  }).then(res => {
171
- if(!res.response.data[0]){
172
- gvc.glitter.href='/index'
173
- }else{
258
+ if (!res.response.data[0]) {
259
+ gvc.glitter.href = '/index';
260
+ } else {
174
261
  resolve(Blogs01.main(gvc, res.response.data[0]));
175
262
  }
176
263
  });
@@ -3080,7 +3080,7 @@ export class CheckoutIndex {
3080
3080
  class: `check_out_cart_data text-start`,
3081
3081
  style: gvc.glitter.getUrlParameter('page') === 'checkout'
3082
3082
  ? `background:#f0f0f0;`
3083
- : `background:#f0f0f0;padding-top:10px;border-radius:10px;`,
3083
+ : `background:#f0f0f0;padding-top:10px;border-radius:10px;max-width:1200px;margin:0 auto;`,
3084
3084
  },
3085
3085
  onCreate: () => {
3086
3086
  if (gvc.glitter.getUrlParameter('page') !== 'checkout') {
@@ -3376,7 +3376,7 @@ export class CheckoutIndex {
3376
3376
  style:
3377
3377
  gvc.glitter.getUrlParameter('page') === 'checkout'
3378
3378
  ? `background:#f0f0f0;`
3379
- : `background:#f0f0f0;padding-top:10px;border-radius:10px;`,
3379
+ : `background:#f0f0f0;padding-top:10px;border-radius:10px;max-width:1200px;margin:0 auto;`,
3380
3380
  },
3381
3381
  onCreate: () => {
3382
3382
  if (gvc.glitter.getUrlParameter('page') !== 'checkout') {
@@ -1,7 +1,7 @@
1
1
  import { GVC } from '../../glitterBundle/GVController.js';
2
2
 
3
3
  export class HeadInitial{
4
- public static initial(cf: { browser: () => string; mobile: () => string, gvc: GVC }) {
4
+ public static initial(cf: { browser: () => string; mobile: () => string, gvc: GVC,widget:any }) {
5
5
  const gvc = cf.gvc;
6
6
  if(gvc.glitter.share.is_application){
7
7
 
@@ -12,6 +12,7 @@ const html = String.raw;
12
12
  export class Sy02 {
13
13
  static main(gvc, widget, subData) {
14
14
  return HeadInitial.initial({
15
+ widget: widget,
15
16
  browser: () => {
16
17
  var _a, _b, _c, _d, _e;
17
18
  let changePage = (index, type, subData) => { };
@@ -15,6 +15,7 @@ const html = String.raw;
15
15
  export class Sy02 {
16
16
  public static main(gvc: GVC, widget: any, subData: any) {
17
17
  return HeadInitial.initial({
18
+ widget:widget,
18
19
  browser: () => {
19
20
  let changePage = (index: string, type: 'page' | 'home', subData: any) => {};
20
21
  gvc.glitter.getModule(new URL('./official_event/page/change-page.js', gvc.glitter.root_path).href, cl => {
@@ -12,6 +12,7 @@ const html = String.raw;
12
12
  export class Sy03 {
13
13
  static main(gvc, widget, subData) {
14
14
  return HeadInitial.initial({
15
+ widget: widget,
15
16
  browser: () => {
16
17
  var _a, _b, _c;
17
18
  let changePage = (index, type, subData) => { };
@@ -15,6 +15,7 @@ const html = String.raw;
15
15
  export class Sy03 {
16
16
  public static main(gvc: GVC, widget: any, subData: any) {
17
17
  return HeadInitial.initial({
18
+ widget:widget,
18
19
  browser: () => {
19
20
  let changePage = (index: string, type: 'page' | 'home', subData: any) => {};
20
21
  gvc.glitter.getModule(new URL('./official_event/page/change-page.js', gvc.glitter.root_path).href, cl => {
@@ -12,6 +12,7 @@ const html = String.raw;
12
12
  export class Sy04 {
13
13
  static main(gvc, widget, subData) {
14
14
  return HeadInitial.initial({
15
+ widget: widget,
15
16
  browser: () => {
16
17
  var _a, _b, _c, _d;
17
18
  let changePage = (index, type, subData) => { };
@@ -15,6 +15,7 @@ const html = String.raw;
15
15
  export class Sy04 {
16
16
  public static main(gvc: GVC, widget: any, subData: any) {
17
17
  return HeadInitial.initial({
18
+ widget:widget,
18
19
  browser: () => {
19
20
  let changePage = (index: string, type: 'page' | 'home', subData: any) => {};
20
21
  gvc.glitter.getModule(new URL('./official_event/page/change-page.js', gvc.glitter.root_path).href, cl => {
@@ -8,6 +8,7 @@ const html = String.raw;
8
8
  export class Sy05 {
9
9
  static main(gvc, widget, subData) {
10
10
  return HeadInitial.initial({
11
+ widget: widget,
11
12
  browser: () => {
12
13
  var _a, _b, _c;
13
14
  let changePage = (index, type, subData) => {
@@ -15,6 +15,7 @@ const html = String.raw;
15
15
  export class Sy05 {
16
16
  public static main(gvc: GVC, widget: any, subData: any) {
17
17
  return HeadInitial.initial({
18
+ widget:widget,
18
19
  browser:()=>{
19
20
  let changePage = (index: string, type: 'page' | 'home', subData: any) => {
20
21
  };
@@ -131,8 +131,8 @@ export class ProductDetail {
131
131
  });
132
132
  }
133
133
  return html ` <div class="mx-auto pb-5" style="max-width:1100px;word-break: break-all;white-space: normal;">
134
- <div class="breadcrumb mb-0 d-flex align-items-center py-3" style="cursor:pointer; gap:10px;">
135
- ${book_mark
134
+ <div class="breadcrumb mb-0 d-flex align-items-center py-3 " style="cursor:pointer; gap:10px;">
135
+ ${window.page_refer ? `` : book_mark
136
136
  .map(dd => {
137
137
  return html ` <li
138
138
  class="breadcrumb-item "
@@ -141,15 +141,15 @@ export class ProductDetail {
141
141
  }
142
142
 
143
143
  return html` <div class="mx-auto pb-5" style="max-width:1100px;word-break: break-all;white-space: normal;">
144
- <div class="breadcrumb mb-0 d-flex align-items-center py-3" style="cursor:pointer; gap:10px;">
145
- ${book_mark
144
+ <div class="breadcrumb mb-0 d-flex align-items-center py-3 " style="cursor:pointer; gap:10px;">
145
+ ${(window as any).page_refer ? ``:book_mark
146
146
  .map(dd => {
147
147
  return html` <li
148
148
  class="breadcrumb-item "
149
149
  style="margin-top: 0px;color:${ProductModule.titleFontColor};"
150
150
  onclick="${gvc.event(() => {
151
- dd.event();
152
- })}"
151
+ dd.event();
152
+ })}"
153
153
  >
154
154
  ${dd.title}
155
155
  </li>`;
@@ -34,6 +34,7 @@ export class TermsRelated {
34
34
  }) &&
35
35
  `${glitter.getUrlParameter('page')}`.split('/')[1]
36
36
  ) {
37
+
37
38
  return await new Promise((resolve, reject) => {
38
39
  glitter.getModule(new URL('./public-components/blogs/blogs-01.js', gvc.glitter.root_path).href, res => {
39
40
  resolve(res.getMain(obj.gvc));
@@ -619,6 +619,7 @@ export class UMLogin {
619
619
  return [
620
620
  (() => {
621
621
  function callLogin() {
622
+ var _a;
622
623
  if (glitter.deviceType !== glitter.deviceTypeEnum.Web) {
623
624
  gvc.glitter.runJsInterFace('line_login', {
624
625
  id: widget.share.line.id,
@@ -632,7 +633,12 @@ export class UMLogin {
632
633
  }
633
634
  else {
634
635
  const redirect_url = location.origin + location.pathname;
635
- gvc.glitter.href = `https://access.line.me/oauth2/v2.1/authorize?response_type=code&client_id=${widget.share.line.id}&redirect_uri=${encodeURI(redirect_url)}&state=line_login&scope=profile%20openid%20email&nonce=09876xyz`;
636
+ widget.share.line.support_scope = (_a = widget.share.line.support_scope) !== null && _a !== void 0 ? _a : [];
637
+ gvc.glitter.href = `https://access.line.me/oauth2/v2.1/authorize?response_type=code&client_id=${widget.share.line.id}&redirect_uri=${encodeURI(redirect_url)}&state=line_login&scope=${[
638
+ 'profile',
639
+ 'openid',
640
+ 'email'
641
+ ].concat(widget.share.line.support_scope).join('%20')}&nonce=09876xyz`;
636
642
  }
637
643
  }
638
644
  return {
@@ -660,9 +660,16 @@ export class UMLogin {
660
660
  );
661
661
  } else {
662
662
  const redirect_url = location.origin + location.pathname;
663
+ widget.share.line.support_scope=widget.share.line.support_scope??[]
663
664
  gvc.glitter.href = `https://access.line.me/oauth2/v2.1/authorize?response_type=code&client_id=${widget.share.line.id}&redirect_uri=${encodeURI(
664
665
  redirect_url
665
- )}&state=line_login&scope=profile%20openid%20email&nonce=09876xyz`;
666
+ )}&state=line_login&scope=${
667
+ [
668
+ 'profile',
669
+ 'openid',
670
+ 'email'
671
+ ].concat(widget.share.line.support_scope).join('%20')
672
+ }&nonce=09876xyz`;
666
673
  }
667
674
  }
668
675
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ts-glitter",
3
- "version": "21.4.0",
3
+ "version": "21.4.2",
4
4
  "description": "",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.onlinePayArray = void 0;
3
+ exports.onlinePayArray = onlinePayArray;
4
4
  function onlinePayArray() {
5
5
  return [
6
6
  { key: 'newWebPay', name: '藍新金流' },
@@ -13,6 +13,5 @@ function onlinePayArray() {
13
13
  { key: 'ut_credit_card', name: '聯合信用卡', type: 'pos' },
14
14
  ];
15
15
  }
16
- exports.onlinePayArray = onlinePayArray;
17
16
  ;
18
17
  //# sourceMappingURL=glitter-finance.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"glitter-finance.js","sourceRoot":"","sources":["glitter-finance.ts"],"names":[],"mappings":";;;AAAA,SAAgB,cAAc;IAC5B,OAAO;QACL,EAAE,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE;QAClC,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE;QAC9B,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE;QACjC,EAAE,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE;QACrC,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,EAAE;QACrC,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE;QAC/B,EAAE,GAAG,EAAE,eAAe,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE;QACvD,EAAE,GAAG,EAAE,gBAAgB,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE;KAEtD,CAAA;AACH,CAAC;AAZD,wCAYC;AAAE,CAAC"}
1
+ {"version":3,"file":"glitter-finance.js","sourceRoot":"","sources":["glitter-finance.ts"],"names":[],"mappings":";;AAAA,wCAYC;AAZD,SAAgB,cAAc;IAC5B,OAAO;QACL,EAAE,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE;QAClC,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE;QAC9B,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE;QACjC,EAAE,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE;QACrC,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,EAAE;QACrC,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE;QAC/B,EAAE,GAAG,EAAE,eAAe,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE;QACvD,EAAE,GAAG,EAAE,gBAAgB,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE;KAEtD,CAAA;AACH,CAAC;AAAE,CAAC"}
@@ -387,6 +387,7 @@ class CheckoutEvent {
387
387
  }
388
388
  return 0;
389
389
  })();
390
+ console.log(`shipmentValue=>`, shipmentValue);
390
391
  item.shipment_obj = {
391
392
  type: variant.shipment_type,
392
393
  value: shipmentValue,