ts-glitter 14.2.8 → 14.3.0
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.
- package/cjbt8743y0.json +1 -0
- package/lowcode/Entry.js +29 -9
- package/lowcode/Entry.ts +28 -9
- package/lowcode/backend-manager/bg-recommend.js +4 -6
- package/lowcode/backend-manager/bg-recommend.ts +4 -6
- package/lowcode/cms-plugin/member-setting.js +36 -2
- package/lowcode/cms-plugin/member-setting.ts +36 -1
- package/lowcode/cms-plugin/shopping-rebate-setting.js +21 -6
- package/lowcode/cms-plugin/shopping-rebate-setting.ts +24 -8
- package/lowcode/glitter-base/route/wallet.js +11 -0
- package/lowcode/glitter-base/route/wallet.ts +14 -2
- package/lowcode/glitterBundle/plugins/editor-elem.js +32 -11
- package/lowcode/glitterBundle/plugins/editor-elem.ts +42 -12
- package/lowcode/public-components/checkout/index.js +35 -27
- package/lowcode/public-components/checkout/index.ts +111 -106
- package/lowcode/public-components/product/product-detail.js +182 -171
- package/lowcode/public-components/product/product-detail.ts +214 -196
- package/lowcode/public-components/user-manager/um-class.js +234 -193
- package/lowcode/public-components/user-manager/um-class.ts +230 -189
- package/lowcode/public-components/user-manager/um-rebate.js +13 -8
- package/lowcode/public-components/user-manager/um-rebate.ts +17 -12
- package/lowcode/public-components/user-manager/um-voucher.js +3 -3
- package/lowcode/public-components/user-manager/um-voucher.ts +3 -3
- package/package.json +1 -1
- package/src/api-public/controllers/ai-chat.js.map +1 -1
- package/src/api-public/controllers/app-release.js.map +1 -1
- package/src/api-public/controllers/article.js.map +1 -1
- package/src/api-public/controllers/post.js.map +1 -1
- package/src/api-public/controllers/shop.js +23 -12
- package/src/api-public/controllers/shop.js.map +1 -1
- package/src/api-public/controllers/shop.ts +36 -36
- package/src/api-public/controllers/user.js.map +1 -1
- package/src/api-public/services/EcInvoice.js.map +5 -1
- package/src/api-public/services/ai-robot.js.map +1 -1
- package/src/api-public/services/financial-service.d.ts +1 -0
- package/src/api-public/services/financial-service.js.map +1 -1
- package/src/api-public/services/post.js.map +1 -1
- package/src/api-public/services/rebate.d.ts +1 -0
- package/src/api-public/services/rebate.js +15 -0
- package/src/api-public/services/rebate.js.map +1 -1
- package/src/api-public/services/rebate.ts +21 -5
- package/src/api-public/services/shopping.js +0 -3
- package/src/api-public/services/shopping.js.map +1 -1
- package/src/api-public/services/shopping.ts +0 -4
- package/src/index.js +9 -4
- package/src/index.js.map +5 -1
- package/src/index.ts +7 -1
- package/src/services/template.js.map +1 -1
|
@@ -4,206 +4,234 @@ import { GlobalUser } from '../../glitter-base/global/global-user.js';
|
|
|
4
4
|
import { Tool } from '../../modules/tool.js';
|
|
5
5
|
import { BgWidget } from '../../backend-manager/bg-widget.js';
|
|
6
6
|
import { ShareDialog } from '../../glitterBundle/dialog/ShareDialog.js';
|
|
7
|
+
import { ApiWallet } from '../../glitter-base/route/wallet.js';
|
|
8
|
+
import { CheckInput } from '../../modules/checkInput.js';
|
|
7
9
|
|
|
8
10
|
const html = String.raw;
|
|
11
|
+
const css = String.raw;
|
|
9
12
|
|
|
10
13
|
export class UmClass {
|
|
11
14
|
static nav(gvc: GVC) {
|
|
15
|
+
const glitter = gvc.glitter;
|
|
12
16
|
this.addStyle(gvc);
|
|
17
|
+
const vm = {
|
|
18
|
+
id: gvc.glitter.getUUID(),
|
|
19
|
+
loading: true,
|
|
20
|
+
pageName: glitter.getUrlParameter('page'),
|
|
21
|
+
};
|
|
22
|
+
|
|
13
23
|
let changePage = (index: string, type: 'page' | 'home', subData: any) => {};
|
|
14
24
|
gvc.glitter.getModule(new URL('./official_event/page/change-page.js', gvc.glitter.root_path).href, (cl) => {
|
|
15
25
|
changePage = cl.changePage;
|
|
16
26
|
});
|
|
17
27
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
{
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
28
|
+
return gvc.bindView({
|
|
29
|
+
bind: vm.id,
|
|
30
|
+
view: () => {
|
|
31
|
+
if (vm.loading) {
|
|
32
|
+
return '';
|
|
33
|
+
} else {
|
|
34
|
+
glitter.share.rebateConfig.title = CheckInput.isEmpty(glitter.share.rebateConfig.title) ? '購物金' : glitter.share.rebateConfig.title;
|
|
35
|
+
const buttonHTML = [
|
|
36
|
+
{
|
|
37
|
+
key: 'account_userinfo',
|
|
38
|
+
title: '個人資料',
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
key: 'voucher-list',
|
|
42
|
+
title: '我的優惠券',
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
key: 'rebate',
|
|
46
|
+
title: `我的${glitter.share.rebateConfig.title}`,
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
key: 'order_list',
|
|
50
|
+
title: '訂單記錄',
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
key: 'wishlist',
|
|
54
|
+
title: '心願單',
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
key: 'reset_password',
|
|
58
|
+
title: '重設密碼',
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
key: 'logout',
|
|
62
|
+
title: '登出',
|
|
63
|
+
},
|
|
64
|
+
]
|
|
65
|
+
.map((item) => {
|
|
66
|
+
return html`
|
|
67
|
+
<div
|
|
68
|
+
class="option px-2 d-flex justify-content-center um-nav-btn ${vm.pageName === item.key ? 'um-nav-btn-active' : ''}"
|
|
69
|
+
onclick="${gvc.event(async () => {
|
|
70
|
+
if (item.key === 'reset_password') {
|
|
71
|
+
const dialog = new ShareDialog(gvc.glitter);
|
|
72
|
+
dialog.dataLoading({ visible: true });
|
|
73
|
+
const userData: any = await UmClass.getUserData(gvc);
|
|
74
|
+
dialog.dataLoading({ visible: false });
|
|
75
|
+
UmClass.dialog({
|
|
76
|
+
gvc: gvc,
|
|
77
|
+
title: '重設密碼事件',
|
|
78
|
+
tag: '',
|
|
79
|
+
innerHTML: (gvc: GVC) => {
|
|
80
|
+
let update_vm = {
|
|
81
|
+
verify_code: '',
|
|
82
|
+
pwd: '',
|
|
83
|
+
};
|
|
84
|
+
let get_verify_timer = 0;
|
|
85
|
+
let repeat_pwd = '';
|
|
86
|
+
return [
|
|
87
|
+
html`<div class="tx_normal fw-normal mb-1" style="">密碼</div>`,
|
|
88
|
+
html`<input
|
|
89
|
+
class="bgw-input "
|
|
90
|
+
style=""
|
|
91
|
+
type="password"
|
|
92
|
+
placeholder="請輸入密碼"
|
|
93
|
+
oninput="${gvc.event((e, event) => {
|
|
94
|
+
update_vm.pwd = e.value;
|
|
95
|
+
})}"
|
|
96
|
+
value="${update_vm.pwd}"
|
|
97
|
+
/>`,
|
|
98
|
+
html`<div class="tx_normal fw-normal mt-2 mb-1" style="">確認密碼</div>`,
|
|
99
|
+
html`<input
|
|
100
|
+
class="bgw-input mb-2"
|
|
101
|
+
style=""
|
|
102
|
+
type="password"
|
|
103
|
+
placeholder="請再次輸入密碼"
|
|
104
|
+
oninput="${gvc.event((e, event) => {
|
|
105
|
+
repeat_pwd = e.value;
|
|
106
|
+
})}"
|
|
107
|
+
value="${repeat_pwd}"
|
|
108
|
+
/>`,
|
|
109
|
+
gvc.bindView(() => {
|
|
110
|
+
const id = gvc.glitter.getUUID();
|
|
111
|
+
return {
|
|
112
|
+
bind: id,
|
|
113
|
+
view: () => {
|
|
114
|
+
return html`重設密碼驗證碼
|
|
115
|
+
${BgWidget.blueNote(
|
|
116
|
+
get_verify_timer ? `驗證碼已發送至『${userData.userData.email}』` : '點我取得驗證碼',
|
|
117
|
+
gvc.event(() => {
|
|
118
|
+
if (!get_verify_timer) {
|
|
119
|
+
const dialog = new ShareDialog(gvc.glitter);
|
|
120
|
+
dialog.dataLoading({ visible: true });
|
|
121
|
+
ApiUser.emailVerify(userData.userData.email, (window as any).appName).then(async (r) => {
|
|
122
|
+
dialog.dataLoading({ visible: false });
|
|
123
|
+
get_verify_timer = 60;
|
|
124
|
+
gvc.notifyDataChange(id);
|
|
125
|
+
});
|
|
126
|
+
}
|
|
127
|
+
})
|
|
128
|
+
)}`;
|
|
129
|
+
},
|
|
130
|
+
divCreate: {
|
|
131
|
+
class: `d-flex flex-column`,
|
|
132
|
+
style: `gap:3px;`,
|
|
133
|
+
},
|
|
134
|
+
onCreate: () => {
|
|
135
|
+
if (get_verify_timer > 0) {
|
|
136
|
+
get_verify_timer--;
|
|
137
|
+
setTimeout(() => {
|
|
138
|
+
gvc.notifyDataChange(id);
|
|
139
|
+
}, 1000);
|
|
140
|
+
}
|
|
141
|
+
},
|
|
142
|
+
};
|
|
143
|
+
}),
|
|
144
|
+
html`<input
|
|
145
|
+
class="bgw-input mt-2 mb-4"
|
|
146
|
+
style=""
|
|
147
|
+
type="text"
|
|
148
|
+
placeholder="請輸入驗證碼"
|
|
149
|
+
oninput="${gvc.event((e, event) => {
|
|
150
|
+
update_vm.verify_code = e.value;
|
|
151
|
+
})}"
|
|
152
|
+
value="${update_vm.verify_code}"
|
|
153
|
+
/>`,
|
|
154
|
+
html`<div class="d-flex align-items-center justify-content-end pt-2 border-top mx-n3">
|
|
155
|
+
<div
|
|
156
|
+
class="um-nav-btn um-nav-btn-active d-flex align-items-center justify-content-center"
|
|
157
|
+
style="cursor:pointer;"
|
|
158
|
+
type="button"
|
|
159
|
+
onclick="${gvc.event(() => {
|
|
160
|
+
if (update_vm.pwd.length < 8) {
|
|
161
|
+
dialog.errorMessage({ text: '密碼必須大於8位數' });
|
|
162
|
+
return;
|
|
163
|
+
}
|
|
164
|
+
if (repeat_pwd !== update_vm.pwd) {
|
|
165
|
+
dialog.errorMessage({ text: '請再次確認密碼' });
|
|
166
|
+
return;
|
|
167
|
+
}
|
|
104
168
|
dialog.dataLoading({ visible: true });
|
|
105
|
-
ApiUser.
|
|
169
|
+
ApiUser.updateUserData({
|
|
170
|
+
userData: update_vm,
|
|
171
|
+
}).then((res) => {
|
|
106
172
|
dialog.dataLoading({ visible: false });
|
|
107
|
-
|
|
108
|
-
|
|
173
|
+
if (!res.result && res.response.data.msg === 'email-verify-false') {
|
|
174
|
+
dialog.errorMessage({ text: '信箱驗證碼輸入錯誤' });
|
|
175
|
+
} else if (!res.result && res.response.data.msg === 'phone-verify-false') {
|
|
176
|
+
dialog.errorMessage({ text: '簡訊驗證碼輸入錯誤' });
|
|
177
|
+
} else if (!res.result && res.response.data.msg === 'phone-exists') {
|
|
178
|
+
dialog.errorMessage({ text: '此電話號碼已存在' });
|
|
179
|
+
} else if (!res.result && res.response.data.msg === 'email-exists') {
|
|
180
|
+
dialog.errorMessage({ text: '此信箱已存在' });
|
|
181
|
+
} else if (!res.result) {
|
|
182
|
+
dialog.errorMessage({ text: '更新異常' });
|
|
183
|
+
} else {
|
|
184
|
+
dialog.successMessage({ text: '更改成功' });
|
|
185
|
+
gvc.closeDialog();
|
|
186
|
+
}
|
|
109
187
|
});
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
if (!res.result && res.response.data.msg === 'email-verify-false') {
|
|
158
|
-
dialog.errorMessage({ text: '信箱驗證碼輸入錯誤' });
|
|
159
|
-
} else if (!res.result && res.response.data.msg === 'phone-verify-false') {
|
|
160
|
-
dialog.errorMessage({ text: '簡訊驗證碼輸入錯誤' });
|
|
161
|
-
} else if (!res.result && res.response.data.msg === 'phone-exists') {
|
|
162
|
-
dialog.errorMessage({ text: '此電話號碼已存在' });
|
|
163
|
-
} else if (!res.result && res.response.data.msg === 'email-exists') {
|
|
164
|
-
dialog.errorMessage({ text: '此信箱已存在' });
|
|
165
|
-
} else if (!res.result) {
|
|
166
|
-
dialog.errorMessage({ text: '更新異常' });
|
|
167
|
-
} else {
|
|
168
|
-
dialog.successMessage({ text: '更改成功' });
|
|
169
|
-
gvc.closeDialog();
|
|
170
|
-
}
|
|
171
|
-
});
|
|
172
|
-
})}"
|
|
173
|
-
>
|
|
174
|
-
<span class="tx_700_white">確認重設</span>
|
|
175
|
-
</div>
|
|
176
|
-
</div>`,
|
|
177
|
-
].join('');
|
|
178
|
-
},
|
|
179
|
-
});
|
|
180
|
-
console.log('重設密碼事件');
|
|
181
|
-
} else if (item.key === 'logout') {
|
|
182
|
-
GlobalUser.token = '';
|
|
183
|
-
changePage('index', 'home', {});
|
|
184
|
-
} else {
|
|
185
|
-
changePage(item.key, 'page', {});
|
|
186
|
-
}
|
|
187
|
-
})}"
|
|
188
|
-
>
|
|
189
|
-
${item.title}
|
|
190
|
-
</div>
|
|
191
|
-
`;
|
|
192
|
-
})
|
|
193
|
-
.join('');
|
|
194
|
-
|
|
195
|
-
return html` <div class="account-section">
|
|
196
|
-
<div class="section-title mb-4 mt-0 pt-lg-3 um-nav-title">我的帳號</div>
|
|
197
|
-
${document.body.clientWidth > 768
|
|
198
|
-
? html` <div class="mx-auto mt-3 um-nav-container">
|
|
199
|
-
<div class="account-options d-flex gap-3">${buttonHTML}</div>
|
|
200
|
-
</div>`
|
|
201
|
-
: html` <div class="account-navigation w-100">
|
|
202
|
-
<nav class="nav-links mb-3 mb-md-0">
|
|
203
|
-
<div class="nav-options d-flex flex-wrap justify-content-between um-nav-mobile-tags-container px-2">${buttonHTML}</div>
|
|
204
|
-
</nav>
|
|
205
|
-
</div>`}
|
|
206
|
-
</div>`;
|
|
188
|
+
})}"
|
|
189
|
+
>
|
|
190
|
+
<span class="tx_700_white">確認重設</span>
|
|
191
|
+
</div>
|
|
192
|
+
</div>`,
|
|
193
|
+
].join('');
|
|
194
|
+
},
|
|
195
|
+
});
|
|
196
|
+
} else if (item.key === 'logout') {
|
|
197
|
+
GlobalUser.token = '';
|
|
198
|
+
changePage('index', 'home', {});
|
|
199
|
+
} else {
|
|
200
|
+
changePage(item.key, 'page', {});
|
|
201
|
+
}
|
|
202
|
+
})}"
|
|
203
|
+
>
|
|
204
|
+
${item.title}
|
|
205
|
+
</div>
|
|
206
|
+
`;
|
|
207
|
+
})
|
|
208
|
+
.join('');
|
|
209
|
+
|
|
210
|
+
return html` <div class="account-section">
|
|
211
|
+
<div class="section-title mb-4 mt-0 pt-lg-3 um-nav-title">我的帳號</div>
|
|
212
|
+
${document.body.clientWidth > 768
|
|
213
|
+
? html` <div class="mx-auto mt-3 um-nav-container">
|
|
214
|
+
<div class="account-options d-flex gap-3">${buttonHTML}</div>
|
|
215
|
+
</div>`
|
|
216
|
+
: html` <div class="account-navigation w-100">
|
|
217
|
+
<nav class="nav-links mb-3 mb-md-0">
|
|
218
|
+
<div class="nav-options d-flex flex-wrap justify-content-between um-nav-mobile-tags-container px-2">${buttonHTML}</div>
|
|
219
|
+
</nav>
|
|
220
|
+
</div>`}
|
|
221
|
+
</div>`;
|
|
222
|
+
}
|
|
223
|
+
},
|
|
224
|
+
divCreate: {},
|
|
225
|
+
onCreate: () => {
|
|
226
|
+
if (vm.loading) {
|
|
227
|
+
UmClass.getRebateInfo().then((data) => {
|
|
228
|
+
glitter.share.rebateConfig = data;
|
|
229
|
+
vm.loading = false;
|
|
230
|
+
gvc.notifyDataChange(vm.id);
|
|
231
|
+
});
|
|
232
|
+
}
|
|
233
|
+
},
|
|
234
|
+
});
|
|
207
235
|
}
|
|
208
236
|
|
|
209
237
|
static spinner(height?: string): string {
|
|
@@ -241,6 +269,20 @@ export class UmClass {
|
|
|
241
269
|
}, obj.tag);
|
|
242
270
|
}
|
|
243
271
|
|
|
272
|
+
static async getRebateInfo() {
|
|
273
|
+
return new Promise((resolve) => {
|
|
274
|
+
ApiWallet.getRebateConfig({
|
|
275
|
+
type: 'me',
|
|
276
|
+
}).then(async (res) => {
|
|
277
|
+
if (res.result && res.response.data) {
|
|
278
|
+
resolve(res.response.data);
|
|
279
|
+
} else {
|
|
280
|
+
resolve({});
|
|
281
|
+
}
|
|
282
|
+
});
|
|
283
|
+
});
|
|
284
|
+
}
|
|
285
|
+
|
|
244
286
|
static async getUserData(gvc: GVC) {
|
|
245
287
|
return new Promise(async (resolve, reject) => {
|
|
246
288
|
gvc.glitter.share.GlobalUser.userInfo = undefined;
|
|
@@ -279,9 +321,8 @@ export class UmClass {
|
|
|
279
321
|
});
|
|
280
322
|
}
|
|
281
323
|
|
|
282
|
-
static
|
|
283
|
-
|
|
284
|
-
gvc.addStyle(css`
|
|
324
|
+
static addStyle(gvc: GVC) {
|
|
325
|
+
gvc.addStyle(`
|
|
285
326
|
.um-nav-title {
|
|
286
327
|
font-weight: 700;
|
|
287
328
|
font-size: 36px;
|
|
@@ -10,7 +10,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
10
10
|
import { UmClass } from './um-class.js';
|
|
11
11
|
import { ApiWallet } from '../../glitter-base/route/wallet.js';
|
|
12
12
|
import { ApiShop } from '../../glitter-base/route/shopping.js';
|
|
13
|
-
import { UMVoucher } from
|
|
13
|
+
import { UMVoucher } from './um-voucher.js';
|
|
14
|
+
import { CheckInput } from '../../modules/checkInput.js';
|
|
14
15
|
const html = String.raw;
|
|
15
16
|
export class UMRebate {
|
|
16
17
|
static main(gvc, widget, subData) {
|
|
@@ -22,6 +23,7 @@ export class UMRebate {
|
|
|
22
23
|
dataList: [],
|
|
23
24
|
amount: 0,
|
|
24
25
|
oldestText: '',
|
|
26
|
+
rebateConfig: {},
|
|
25
27
|
};
|
|
26
28
|
const ids = {
|
|
27
29
|
view: glitter.getUUID(),
|
|
@@ -37,6 +39,7 @@ export class UMRebate {
|
|
|
37
39
|
}
|
|
38
40
|
else {
|
|
39
41
|
const isWebsite = document.body.clientWidth > 768;
|
|
42
|
+
vm.rebateConfig.title = CheckInput.isEmpty(vm.rebateConfig.title) ? '購物金' : vm.rebateConfig.title;
|
|
40
43
|
return html `
|
|
41
44
|
<div class="um-container row">
|
|
42
45
|
<div class="col-12">${UmClass.nav(gvc)}</div>
|
|
@@ -44,7 +47,7 @@ export class UMRebate {
|
|
|
44
47
|
<div class="d-flex ${isWebsite ? 'gap-4' : 'gap-3'}">
|
|
45
48
|
<div class="fa-duotone fa-coins fs-1 d-flex align-items-center justify-content-center"></div>
|
|
46
49
|
<div class="${isWebsite ? '' : 'd-flex align-items-center gap-2'}">
|
|
47
|
-
<div class="fw-500 fs-6"
|
|
50
|
+
<div class="fw-500 fs-6">現有${vm.rebateConfig.title}</div>
|
|
48
51
|
<div class="fw-bold mt-0 mt-md-1 mb-1 um-rb-amount">${vm.amount}</div>
|
|
49
52
|
</div>
|
|
50
53
|
</div>
|
|
@@ -64,7 +67,7 @@ export class UMRebate {
|
|
|
64
67
|
loop="true"
|
|
65
68
|
background="transparent"
|
|
66
69
|
></lottie-player>
|
|
67
|
-
<span class="mb-5 fs-5"
|
|
70
|
+
<span class="mb-5 fs-5">目前沒有取得${vm.rebateConfig.title}呦</span>
|
|
68
71
|
</div>`;
|
|
69
72
|
}
|
|
70
73
|
const header = [
|
|
@@ -75,7 +78,7 @@ export class UMRebate {
|
|
|
75
78
|
title: '到期日期',
|
|
76
79
|
},
|
|
77
80
|
{
|
|
78
|
-
title:
|
|
81
|
+
title: `${vm.rebateConfig.title}來源`,
|
|
79
82
|
},
|
|
80
83
|
{
|
|
81
84
|
title: '獲得款項',
|
|
@@ -109,14 +112,14 @@ export class UMRebate {
|
|
|
109
112
|
(() => {
|
|
110
113
|
if (item.orderID) {
|
|
111
114
|
if (item.money > 0) {
|
|
112
|
-
return `訂單『 ${item.orderID}
|
|
115
|
+
return `訂單『 ${item.orderID} 』獲得${vm.rebateConfig.title}`;
|
|
113
116
|
}
|
|
114
117
|
else {
|
|
115
|
-
return `訂單『 ${item.orderID}
|
|
118
|
+
return `訂單『 ${item.orderID} 』使用${vm.rebateConfig.title}`;
|
|
116
119
|
}
|
|
117
120
|
}
|
|
118
121
|
else {
|
|
119
|
-
return item.note ||
|
|
122
|
+
return item.note || `手動增減${vm.rebateConfig.title}`;
|
|
120
123
|
}
|
|
121
124
|
})(),
|
|
122
125
|
item.money.toLocaleString(),
|
|
@@ -196,7 +199,7 @@ export class UMRebate {
|
|
|
196
199
|
if (!(oldest.remain && oldest.deadline)) {
|
|
197
200
|
resolve('');
|
|
198
201
|
}
|
|
199
|
-
resolve(html `您尚有 ${oldest.remain}
|
|
202
|
+
resolve(html `您尚有 ${oldest.remain} 元${vm.rebateConfig.title}<br />將於 ${glitter.ut.dateFormat(new Date(oldest.deadline), 'yyyy/MM/dd hh:mm')} 到期`);
|
|
200
203
|
}));
|
|
201
204
|
}),
|
|
202
205
|
new Promise((resolve) => {
|
|
@@ -213,10 +216,12 @@ export class UMRebate {
|
|
|
213
216
|
}
|
|
214
217
|
}));
|
|
215
218
|
}),
|
|
219
|
+
UmClass.getRebateInfo(),
|
|
216
220
|
]).then((dataList) => {
|
|
217
221
|
vm.amount = dataList[0];
|
|
218
222
|
vm.oldestText = dataList[1];
|
|
219
223
|
vm.dataList = dataList[2];
|
|
224
|
+
vm.rebateConfig = dataList[3];
|
|
220
225
|
loadings.view = false;
|
|
221
226
|
gvc.notifyDataChange(ids.view);
|
|
222
227
|
});
|