ts-glitter 19.9.8 → 19.9.9
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/lowcode/Entry.js +1 -1
- package/lowcode/Entry.ts +1 -1
- package/lowcode/cms-plugin/app-release.js +222 -108
- package/lowcode/cms-plugin/app-release.ts +614 -478
- package/lowcode/public-components/product/pd-class.js +3 -0
- package/lowcode/public-components/product/pd-class.ts +3 -0
- package/lowcode/public-components/user-manager/um-login.js +1 -1
- package/lowcode/public-components/user-manager/um-login.ts +1 -1
- package/package.json +2 -2
- package/src/app-project/ios/proshake.xcodeproj/project.xcworkspace/xcuserdata/jianzhi.wang.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
- package/src/helper/glitter-util.d.ts +1 -2
- package/src/helper/glitter-util.js +3 -3
- package/src/helper/glitter-util.js.map +1 -1
- package/src/helper/glitter-util.ts +100 -84
- package/src/app-project/work-space/1743699101363/Gemfile +0 -3
- package/src/app-project/work-space/1743699101363/fastlane/Appfile +0 -8
- package/src/app-project/work-space/1743699101363/fastlane/Deliverfile +0 -3
- package/src/app-project/work-space/1743699101363/fastlane/Fastfile +0 -26
- package/src/app-project/work-space/1743699101363/fastlane/README.md +0 -32
- package/src/app-project/work-space/1743699101363/fastlane/metadata/copyright.txt +0 -1
- package/src/app-project/work-space/1743699101363/fastlane/metadata/en-US/apple_tv_privacy_policy.txt +0 -1
- package/src/app-project/work-space/1743699101363/fastlane/metadata/en-US/description.txt +0 -1
- package/src/app-project/work-space/1743699101363/fastlane/metadata/en-US/keywords.txt +0 -1
- package/src/app-project/work-space/1743699101363/fastlane/metadata/en-US/marketing_url.txt +0 -1
- package/src/app-project/work-space/1743699101363/fastlane/metadata/en-US/name.txt +0 -1
- package/src/app-project/work-space/1743699101363/fastlane/metadata/en-US/privacy_url.txt +0 -1
- package/src/app-project/work-space/1743699101363/fastlane/metadata/en-US/promotional_text.txt +0 -1
- package/src/app-project/work-space/1743699101363/fastlane/metadata/en-US/release_notes.txt +0 -1
- package/src/app-project/work-space/1743699101363/fastlane/metadata/en-US/subtitle.txt +0 -1
- package/src/app-project/work-space/1743699101363/fastlane/metadata/en-US/support_url.txt +0 -1
- package/src/app-project/work-space/1743699101363/fastlane/metadata/primary_category.txt +0 -1
- package/src/app-project/work-space/1743699101363/fastlane/metadata/primary_first_sub_category.txt +0 -1
- package/src/app-project/work-space/1743699101363/fastlane/metadata/primary_second_sub_category.txt +0 -1
- package/src/app-project/work-space/1743699101363/fastlane/metadata/review_information/demo_password.txt +0 -1
- package/src/app-project/work-space/1743699101363/fastlane/metadata/review_information/demo_user.txt +0 -1
- package/src/app-project/work-space/1743699101363/fastlane/metadata/review_information/email_address.txt +0 -1
- package/src/app-project/work-space/1743699101363/fastlane/metadata/review_information/first_name.txt +0 -1
- package/src/app-project/work-space/1743699101363/fastlane/metadata/review_information/last_name.txt +0 -1
- package/src/app-project/work-space/1743699101363/fastlane/metadata/review_information/notes.txt +0 -1
- package/src/app-project/work-space/1743699101363/fastlane/metadata/review_information/phone_number.txt +0 -1
- package/src/app-project/work-space/1743699101363/fastlane/metadata/secondary_category.txt +0 -1
- package/src/app-project/work-space/1743699101363/fastlane/metadata/secondary_first_sub_category.txt +0 -1
- package/src/app-project/work-space/1743699101363/fastlane/metadata/secondary_second_sub_category.txt +0 -1
- package/src/app-project/work-space/1743699101363/fastlane/report.xml +0 -25
- package/src/app-project/work-space/1743699101363/fastlane/screenshots/README.txt +0 -30
- package/src/app-project/work-space/1743699101363/proshake/AppDelegate.swift +0 -93
- package/src/app-project/work-space/1743699101363/proshake/Assets.xcassets/AppIcon.appiconset/100.png +0 -0
- package/src/app-project/work-space/1743699101363/proshake/Assets.xcassets/AppIcon.appiconset/102.png +0 -0
- package/src/app-project/work-space/1743699101363/proshake/Assets.xcassets/AppIcon.appiconset/1024.png +0 -0
- package/src/app-project/work-space/1743699101363/proshake/Assets.xcassets/AppIcon.appiconset/114.png +0 -0
- package/src/app-project/work-space/1743699101363/proshake/Assets.xcassets/AppIcon.appiconset/120.png +0 -0
- package/src/app-project/work-space/1743699101363/proshake/Assets.xcassets/AppIcon.appiconset/128.png +0 -0
- package/src/app-project/work-space/1743699101363/proshake/Assets.xcassets/AppIcon.appiconset/144.png +0 -0
- package/src/app-project/work-space/1743699101363/proshake/Assets.xcassets/AppIcon.appiconset/152.png +0 -0
- package/src/app-project/work-space/1743699101363/proshake/Assets.xcassets/AppIcon.appiconset/16.png +0 -0
- package/src/app-project/work-space/1743699101363/proshake/Assets.xcassets/AppIcon.appiconset/167.png +0 -0
- package/src/app-project/work-space/1743699101363/proshake/Assets.xcassets/AppIcon.appiconset/172.png +0 -0
- package/src/app-project/work-space/1743699101363/proshake/Assets.xcassets/AppIcon.appiconset/180.png +0 -0
- package/src/app-project/work-space/1743699101363/proshake/Assets.xcassets/AppIcon.appiconset/196.png +0 -0
- package/src/app-project/work-space/1743699101363/proshake/Assets.xcassets/AppIcon.appiconset/20.png +0 -0
- package/src/app-project/work-space/1743699101363/proshake/Assets.xcassets/AppIcon.appiconset/216.png +0 -0
- package/src/app-project/work-space/1743699101363/proshake/Assets.xcassets/AppIcon.appiconset/256.png +0 -0
- package/src/app-project/work-space/1743699101363/proshake/Assets.xcassets/AppIcon.appiconset/29.png +0 -0
- package/src/app-project/work-space/1743699101363/proshake/Assets.xcassets/AppIcon.appiconset/32.png +0 -0
- package/src/app-project/work-space/1743699101363/proshake/Assets.xcassets/AppIcon.appiconset/40.png +0 -0
- package/src/app-project/work-space/1743699101363/proshake/Assets.xcassets/AppIcon.appiconset/48.png +0 -0
- package/src/app-project/work-space/1743699101363/proshake/Assets.xcassets/AppIcon.appiconset/50.png +0 -0
- package/src/app-project/work-space/1743699101363/proshake/Assets.xcassets/AppIcon.appiconset/512.png +0 -0
- package/src/app-project/work-space/1743699101363/proshake/Assets.xcassets/AppIcon.appiconset/55.png +0 -0
- package/src/app-project/work-space/1743699101363/proshake/Assets.xcassets/AppIcon.appiconset/57.png +0 -0
- package/src/app-project/work-space/1743699101363/proshake/Assets.xcassets/AppIcon.appiconset/58.png +0 -0
- package/src/app-project/work-space/1743699101363/proshake/Assets.xcassets/AppIcon.appiconset/60.png +0 -0
- package/src/app-project/work-space/1743699101363/proshake/Assets.xcassets/AppIcon.appiconset/64.png +0 -0
- package/src/app-project/work-space/1743699101363/proshake/Assets.xcassets/AppIcon.appiconset/66.png +0 -0
- package/src/app-project/work-space/1743699101363/proshake/Assets.xcassets/AppIcon.appiconset/72.png +0 -0
- package/src/app-project/work-space/1743699101363/proshake/Assets.xcassets/AppIcon.appiconset/76.png +0 -0
- package/src/app-project/work-space/1743699101363/proshake/Assets.xcassets/AppIcon.appiconset/80.png +0 -0
- package/src/app-project/work-space/1743699101363/proshake/Assets.xcassets/AppIcon.appiconset/87.png +0 -0
- package/src/app-project/work-space/1743699101363/proshake/Assets.xcassets/AppIcon.appiconset/88.png +0 -0
- package/src/app-project/work-space/1743699101363/proshake/Assets.xcassets/AppIcon.appiconset/92.png +0 -0
- package/src/app-project/work-space/1743699101363/proshake/Assets.xcassets/AppIcon.appiconset/Contents.json +0 -354
- package/src/app-project/work-space/1743699101363/proshake/Assets.xcassets/AppIcon.appiconset/original.png +0 -0
- package/src/app-project/work-space/1743699101363/proshake/Assets.xcassets/Contents.json +0 -6
- package/src/app-project/work-space/1743699101363/proshake/Assets.xcassets/preview.imageset/Contents.json +0 -23
- package/src/app-project/work-space/1743699101363/proshake/Assets.xcassets/preview.imageset/original.png +0 -0
- package/src/app-project/work-space/1743699101363/proshake/Assets.xcassets/preview.imageset//345/260/201/351/235/242 1.png +0 -0
- package/src/app-project/work-space/1743699101363/proshake/Assets.xcassets/preview.imageset//345/260/201/351/235/242 2.png +0 -0
- package/src/app-project/work-space/1743699101363/proshake/Assets.xcassets/preview.imageset//345/260/201/351/235/242.png +0 -0
- package/src/app-project/work-space/1743699101363/proshake/Base.lproj/LaunchScreen.storyboard +0 -45
- package/src/app-project/work-space/1743699101363/proshake/Base.lproj/Main.storyboard +0 -45
- package/src/app-project/work-space/1743699101363/proshake/GlitterUI/index.html +0 -69
- package/src/app-project/work-space/1743699101363/proshake/GoogleService-Info.plist +0 -32
- package/src/app-project/work-space/1743699101363/proshake/Info.plist +0 -69
- package/src/app-project/work-space/1743699101363/proshake/SceneDelegate.swift +0 -70
- package/src/app-project/work-space/1743699101363/proshake/ViewController.swift +0 -68
- package/src/app-project/work-space/1743699101363/proshake/appstore.png +0 -0
- package/src/app-project/work-space/1743699101363/proshake/extension/ConversionJson.swift +0 -123
- package/src/app-project/work-space/1743699101363/proshake/extension/Public.swift +0 -679
- package/src/app-project/work-space/1743699101363/proshake/glitter-interface/BasicUtil.swift +0 -105
- package/src/app-project/work-space/1743699101363/proshake/glitter-interface/Ecommerce.swift +0 -138
- package/src/app-project/work-space/1743699101363/proshake/glitter-interface/GetInset.swift +0 -50
- package/src/app-project/work-space/1743699101363/proshake/glitter-interface/Notification.swift +0 -45
- package/src/app-project/work-space/1743699101363/proshake/playstore.png +0 -0
- package/src/app-project/work-space/1743699101363/proshake/proshake.entitlements +0 -8
- package/src/app-project/work-space/1743699101363/proshake/view-controler/MainView.swift +0 -15
- package/src/app-project/work-space/1743699101363/proshake/view-controler/MainView.xib +0 -35
- package/src/app-project/work-space/1743699101363/proshake/view-controler/SwiftUIView.swift +0 -18
- package/src/app-project/work-space/1743699101363/proshake.xcodeproj/project.pbxproj +0 -618
- package/src/app-project/work-space/1743699101363/proshake.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -7
- package/src/app-project/work-space/1743699101363/proshake.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -8
- package/src/app-project/work-space/1743699101363/proshake.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved +0 -276
- package/src/app-project/work-space/1743699101363/proshake.xcodeproj/project.xcworkspace/xcuserdata/jianzhi.wang.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
- package/src/app-project/work-space/1743699101363/proshake.xcodeproj/xcuserdata/jianzhi.wang.xcuserdatad/xcschemes/xcschememanagement.plist +0 -77
package/lowcode/Entry.js
CHANGED
|
@@ -141,7 +141,7 @@ export class Entry {
|
|
|
141
141
|
}
|
|
142
142
|
window.renderClock = (_b = window.renderClock) !== null && _b !== void 0 ? _b : createClock();
|
|
143
143
|
console.log(`Entry-time:`, window.renderClock.stop());
|
|
144
|
-
glitter.share.editerVersion = 'V_19.9.
|
|
144
|
+
glitter.share.editerVersion = 'V_19.9.9';
|
|
145
145
|
glitter.share.start = new Date();
|
|
146
146
|
const vm = { appConfig: [] };
|
|
147
147
|
window.saasConfig = {
|
package/lowcode/Entry.ts
CHANGED
|
@@ -140,7 +140,7 @@ export class Entry {
|
|
|
140
140
|
}
|
|
141
141
|
(window as any).renderClock = (window as any).renderClock ?? createClock();
|
|
142
142
|
console.log(`Entry-time:`, (window as any).renderClock.stop());
|
|
143
|
-
glitter.share.editerVersion = 'V_19.9.
|
|
143
|
+
glitter.share.editerVersion = 'V_19.9.9';
|
|
144
144
|
glitter.share.start = new Date();
|
|
145
145
|
const vm = { appConfig: [] };
|
|
146
146
|
(window as any).saasConfig = {
|
|
@@ -15,12 +15,17 @@ export class AppRelease {
|
|
|
15
15
|
const saasConfig = window.parent.saasConfig;
|
|
16
16
|
const cId = gvc.glitter.getUUID();
|
|
17
17
|
const html = String.raw;
|
|
18
|
+
let toggle = [];
|
|
18
19
|
let loading = true;
|
|
19
20
|
let postMDRefer = {
|
|
20
21
|
name: '',
|
|
21
22
|
logo: '',
|
|
22
23
|
status: 'no',
|
|
23
24
|
landing_page: '',
|
|
25
|
+
ios_google_redirect_uri: '',
|
|
26
|
+
ios_google_client_id: '',
|
|
27
|
+
ios_app_bundle_id: '',
|
|
28
|
+
android_app_bundle_id: '',
|
|
24
29
|
store_name: '',
|
|
25
30
|
store_sub_title: '',
|
|
26
31
|
promote_img: '',
|
|
@@ -115,10 +120,10 @@ export class AppRelease {
|
|
|
115
120
|
return BgWidget.spinner();
|
|
116
121
|
}
|
|
117
122
|
return BgWidget.container([
|
|
118
|
-
html
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
123
|
+
html ` <div class="title-container">
|
|
124
|
+
${BgWidget.title(html ` <div class="d-flex align-items-center" style="gap: 10px;">
|
|
125
|
+
APP管理
|
|
126
|
+
${(() => {
|
|
122
127
|
switch (postMDRefer.status) {
|
|
123
128
|
case 'no':
|
|
124
129
|
return ``;
|
|
@@ -130,8 +135,8 @@ export class AppRelease {
|
|
|
130
135
|
return BgWidget.warningInsignia('審核中');
|
|
131
136
|
}
|
|
132
137
|
})()}
|
|
133
|
-
|
|
134
|
-
|
|
138
|
+
</div>`)}
|
|
139
|
+
</div>`,
|
|
135
140
|
`<div class="mx-2 mx-lg-0">${BgWidget.warningInsignia(`審核通過時間約莫在7-14天,請確實填寫所有內容,已加快審核進度`)}</div>`,
|
|
136
141
|
BgWidget.card(gvc.bindView(() => {
|
|
137
142
|
const id = gvc.glitter.getUUID();
|
|
@@ -147,17 +152,17 @@ export class AppRelease {
|
|
|
147
152
|
});
|
|
148
153
|
});
|
|
149
154
|
return html `
|
|
150
|
-
|
|
151
|
-
|
|
155
|
+
<div class="d-flex flex-column" style="gap:5px;">
|
|
156
|
+
${[
|
|
152
157
|
`<div class="tx_normal fs-5 fw-500">APP佈景主題</div>`,
|
|
153
158
|
`<div class="tx_normal fs-sm fw-500 text-body" style="white-space: nowrap;">上次更新時間: ${gvc.glitter.ut.dateFormat(new Date(template.updated_time), 'MM-dd hh:mm')}</div>`,
|
|
154
159
|
``,
|
|
155
160
|
].join('')}
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
+
</div>
|
|
162
|
+
<div class="flex-fill"></div>
|
|
163
|
+
<div class="d-flex w-100" style="gap:10px;">
|
|
164
|
+
<div class="flex-fill"></div>
|
|
165
|
+
${[
|
|
161
166
|
BgWidget.save(gvc.event(() => {
|
|
162
167
|
window.parent.glitter.setUrlParameter('function', 'user-editor');
|
|
163
168
|
window.parent.glitter.setUrlParameter('device', 'mobile');
|
|
@@ -165,19 +170,19 @@ export class AppRelease {
|
|
|
165
170
|
window.parent.location.reload();
|
|
166
171
|
}), '主題設計'),
|
|
167
172
|
].join('')}
|
|
168
|
-
|
|
169
|
-
|
|
173
|
+
</div>
|
|
174
|
+
`;
|
|
170
175
|
}),
|
|
171
176
|
divCreate: {
|
|
172
177
|
class: `d-flex flex-column flex-lg-row align-items-lg-center `,
|
|
173
|
-
}
|
|
178
|
+
},
|
|
174
179
|
};
|
|
175
180
|
})),
|
|
176
181
|
[
|
|
177
182
|
{
|
|
178
183
|
title: '品牌內容',
|
|
179
184
|
editor: (() => {
|
|
180
|
-
let postMD =
|
|
185
|
+
let postMD = postMDRefer;
|
|
181
186
|
const dialog = new ShareDialog(gvc.glitter);
|
|
182
187
|
const id = gvc.glitter.getUUID();
|
|
183
188
|
const html = String.raw;
|
|
@@ -188,34 +193,38 @@ export class AppRelease {
|
|
|
188
193
|
return [
|
|
189
194
|
BgWidget.editeInput({
|
|
190
195
|
gvc: gvc,
|
|
191
|
-
title: html
|
|
192
|
-
|
|
193
|
-
|
|
196
|
+
title: html ` <div class="d-flex flex-column" style="gap:3px;">
|
|
197
|
+
App 名稱 ${BgWidget.grayNote('將展示於APP Logo下方,建議不要超過14個字元')}
|
|
198
|
+
</div>`,
|
|
194
199
|
default: postMD.name || '',
|
|
195
200
|
placeHolder: '請輸入APP名稱',
|
|
196
|
-
callback:
|
|
201
|
+
callback: text => {
|
|
197
202
|
postMD.name = text;
|
|
198
203
|
},
|
|
199
204
|
}),
|
|
200
|
-
html
|
|
201
|
-
|
|
202
|
-
|
|
205
|
+
html ` <div class="w-100">
|
|
206
|
+
<div class="d-flex flex-column mb-2" style="gap:3px;">
|
|
207
|
+
APP Logo ${BgWidget.grayNote('圖片上傳尺寸為1024 * 1024')}
|
|
208
|
+
</div>
|
|
209
|
+
${BgWidget.imageSelector(gvc, postMD.logo, text => {
|
|
203
210
|
postMD.logo = text;
|
|
204
211
|
gvc.notifyDataChange(id);
|
|
205
212
|
})}
|
|
206
|
-
|
|
207
|
-
html
|
|
208
|
-
|
|
209
|
-
|
|
213
|
+
</div>`,
|
|
214
|
+
html ` <div class="w-100">
|
|
215
|
+
<div class="d-flex flex-column mb-2" style="gap:3px;">
|
|
216
|
+
APP啟動畫面 ${BgWidget.grayNote('圖片上傳尺寸為1080 * 2400')}
|
|
217
|
+
</div>
|
|
218
|
+
${BgWidget.imageSelector(gvc, postMD.landing_page, text => {
|
|
210
219
|
postMD.landing_page = text;
|
|
211
220
|
gvc.notifyDataChange(id);
|
|
212
221
|
})}
|
|
213
|
-
|
|
222
|
+
</div>`,
|
|
214
223
|
html ` <div class="w-100 d-flex align-items-center justify-content-end">
|
|
215
|
-
|
|
216
|
-
save(false, postMD,
|
|
224
|
+
${BgWidget.save(gvc.event(() => {
|
|
225
|
+
save(false, postMD, result => { });
|
|
217
226
|
}), '儲存')}
|
|
218
|
-
|
|
227
|
+
</div>`,
|
|
219
228
|
].join(`<div class="my-3"></div>`);
|
|
220
229
|
},
|
|
221
230
|
divCreate: {
|
|
@@ -228,7 +237,7 @@ export class AppRelease {
|
|
|
228
237
|
{
|
|
229
238
|
title: '上架資訊',
|
|
230
239
|
editor: (() => {
|
|
231
|
-
let postMD =
|
|
240
|
+
let postMD = postMDRefer;
|
|
232
241
|
const id = gvc.glitter.getUUID();
|
|
233
242
|
return [
|
|
234
243
|
gvc.bindView(() => {
|
|
@@ -238,113 +247,105 @@ export class AppRelease {
|
|
|
238
247
|
return [
|
|
239
248
|
BgWidget.editeInput({
|
|
240
249
|
gvc: gvc,
|
|
241
|
-
title: html
|
|
242
|
-
|
|
243
|
-
|
|
250
|
+
title: html ` <div class="d-flex flex-column" style="gap:3px;">
|
|
251
|
+
App 名稱 ${BgWidget.grayNote('顯示在 Apple Store 與 Google Play 商城上的APP名稱')}
|
|
252
|
+
</div>`,
|
|
244
253
|
default: postMD.store_name || '',
|
|
245
254
|
placeHolder: '請輸入APP名稱',
|
|
246
|
-
callback:
|
|
255
|
+
callback: text => {
|
|
247
256
|
postMD.store_name = text;
|
|
248
257
|
},
|
|
249
258
|
}),
|
|
250
259
|
BgWidget.editeInput({
|
|
251
260
|
gvc: gvc,
|
|
252
|
-
title: html
|
|
261
|
+
title: html ` <div class="d-flex flex-column" style="gap:3px;">
|
|
262
|
+
App 副標題 ${BgWidget.grayNote('請輸入APP副標題')}
|
|
263
|
+
</div>`,
|
|
253
264
|
default: postMD.store_sub_title || '',
|
|
254
265
|
placeHolder: '請輸入副標題',
|
|
255
|
-
callback:
|
|
266
|
+
callback: text => {
|
|
256
267
|
postMD.store_sub_title = text;
|
|
257
268
|
},
|
|
258
269
|
}),
|
|
259
|
-
html
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
270
|
+
html ` <div class="w-100">
|
|
271
|
+
<div class="d-flex flex-column mb-2" style="gap:3px;">
|
|
272
|
+
應用程式商店宣傳圖片 ${BgWidget.grayNote('圖片上傳尺寸為1024 * 500')}
|
|
273
|
+
</div>
|
|
274
|
+
<div class="position-relative">
|
|
275
|
+
${BgWidget.imageSelector(gvc, postMD.promote_img, text => {
|
|
263
276
|
postMD.promote_img = text;
|
|
264
277
|
gvc.notifyDataChange(id);
|
|
265
278
|
})}
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
BgWidget.textArea({
|
|
269
|
-
gvc: gvc,
|
|
270
|
-
title: html `<div class="d-flex flex-column" style="gap:3px; ">
|
|
271
|
-
Google Play 簡短說明
|
|
272
|
-
${BgWidget.grayNote('「App 的簡短說明」是使用者在 Play 商店瀏覽應用程式時首先看到的文字介紹,讓他們快速了解您的 App 特點。使用者可點擊展開以閱讀完整說明,深入了解更多細節。')}
|
|
273
|
-
</div>`,
|
|
274
|
-
default: postMD.google_play_promote || '',
|
|
275
|
-
placeHolder: '請輸入説明內文',
|
|
276
|
-
callback: (text) => {
|
|
277
|
-
postMD.google_play_promote = text;
|
|
278
|
-
},
|
|
279
|
-
}),
|
|
279
|
+
</div>
|
|
280
|
+
</div>`,
|
|
280
281
|
BgWidget.textArea({
|
|
281
282
|
gvc: gvc,
|
|
282
|
-
title: html
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
283
|
+
title: html ` <div class="d-flex flex-column" style="gap:3px; ">
|
|
284
|
+
APP簡短說明
|
|
285
|
+
${BgWidget.grayNote('「App 的簡短說明」是使用者在 App Store 與 Google Play 瀏覽應用程式詳情時首先看到的文字介紹,讓他們快速了解您的 App 核心功能。使用者可以點擊展開以閱讀完整說明,獲取更多資訊。')}
|
|
286
|
+
</div>`,
|
|
286
287
|
default: postMD.app_store_promote || '',
|
|
287
288
|
placeHolder: '請輸入説明內文',
|
|
288
|
-
callback:
|
|
289
|
+
callback: text => {
|
|
289
290
|
postMD.app_store_promote = text;
|
|
290
291
|
},
|
|
291
292
|
}),
|
|
292
293
|
BgWidget.textArea({
|
|
293
294
|
gvc: gvc,
|
|
294
|
-
title: html
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
295
|
+
title: html ` <div class="d-flex flex-column" style="gap:3px; ">
|
|
296
|
+
描述
|
|
297
|
+
${BgWidget.grayNote('此段描述將用來詳細介紹 App 的特性和功能,幫助使用者更好地了解您的應用程式提供的價值。請確保內容為純文字格式,無法支援 HTML 標籤或格式化功能。')}
|
|
298
|
+
</div>`,
|
|
298
299
|
default: postMD.description || '',
|
|
299
300
|
placeHolder: '請輸入描述',
|
|
300
|
-
callback:
|
|
301
|
+
callback: text => {
|
|
301
302
|
postMD.description = text;
|
|
302
303
|
},
|
|
303
304
|
}),
|
|
304
305
|
BgWidget.editeInput({
|
|
305
306
|
gvc: gvc,
|
|
306
|
-
title: html
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
307
|
+
title: html ` <div class="d-flex flex-column" style="gap:3px;">
|
|
308
|
+
版權標示
|
|
309
|
+
${BgWidget.grayNote('請提供擁有 App 專有權的個人或公司名稱,格式為獲得專有權的年份加上名稱(例如:“2024 SHOPNEX, Inc.”)。版權符號將會自動添加。')}
|
|
310
|
+
</div>`,
|
|
310
311
|
default: postMD.copy_right || '',
|
|
311
312
|
placeHolder: '版權內容',
|
|
312
|
-
callback:
|
|
313
|
+
callback: text => {
|
|
313
314
|
postMD.copy_right = text;
|
|
314
315
|
},
|
|
315
316
|
}),
|
|
316
317
|
BgWidget.editeInput({
|
|
317
318
|
gvc: gvc,
|
|
318
|
-
title: html
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
319
|
+
title: html ` <div class="d-flex flex-column" style="gap:3px;">
|
|
320
|
+
應用程式搜尋關鍵詞
|
|
321
|
+
${BgWidget.grayNote('請輸入描述 App 的一個或多個關鍵詞(每個關鍵詞至少包含兩個字符),並以逗號分隔。應注意,App 名稱和公司名稱已可被應用程式商店搜尋,因此無需在關鍵字中重複新增。此外,請避免使用其他 App 或公司的名稱。')}
|
|
322
|
+
</div>`,
|
|
322
323
|
default: postMD.keywords || '',
|
|
323
324
|
placeHolder: '請輸入關鍵詞',
|
|
324
|
-
callback:
|
|
325
|
+
callback: text => {
|
|
325
326
|
postMD.keywords = text;
|
|
326
327
|
},
|
|
327
328
|
}),
|
|
328
329
|
BgWidget.editeInput({
|
|
329
330
|
gvc: gvc,
|
|
330
|
-
title: html
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
331
|
+
title: html ` <div class="d-flex flex-column" style="gap:3px;">
|
|
332
|
+
App 支援網址(URL)
|
|
333
|
+
${BgWidget.grayNote('如有疑問,用戶可透過提供的支援網站獲取幫助。該網站應包含真實聯絡資訊,方便用戶就 App 的問題、使用回饋或功能優化提出建議。請提供包含協議的完整網址(例如:http://support.shopnex.tw)。此支援網址將顯示給已下載此 App 的用戶,並僅在 商店 中顯示。')}
|
|
334
|
+
</div>`,
|
|
334
335
|
default: postMD.support_url || '',
|
|
335
336
|
placeHolder: '請輸入網址',
|
|
336
|
-
callback:
|
|
337
|
+
callback: text => {
|
|
337
338
|
postMD.support_url = text;
|
|
338
339
|
},
|
|
339
340
|
}),
|
|
340
341
|
BgWidget.editeInput({
|
|
341
342
|
gvc: gvc,
|
|
342
|
-
title: html
|
|
343
|
-
|
|
344
|
-
|
|
343
|
+
title: html ` <div class="d-flex flex-column" style="gap:3px;">
|
|
344
|
+
隱私政策網址(URL) ${BgWidget.grayNote('連結到你公司隱私政策的網址(URL)')}
|
|
345
|
+
</div>`,
|
|
345
346
|
default: postMD.privacy_url || '',
|
|
346
347
|
placeHolder: '請輸入網址',
|
|
347
|
-
callback:
|
|
348
|
+
callback: text => {
|
|
348
349
|
postMD.privacy_url = text;
|
|
349
350
|
},
|
|
350
351
|
}),
|
|
@@ -355,18 +356,78 @@ export class AppRelease {
|
|
|
355
356
|
},
|
|
356
357
|
};
|
|
357
358
|
}),
|
|
358
|
-
html
|
|
359
|
-
|
|
360
|
-
save(false, postMD,
|
|
359
|
+
html ` <div class="mt-3 w-100 d-flex align-items-center justify-content-end">
|
|
360
|
+
${BgWidget.save(gvc.event(() => {
|
|
361
|
+
save(false, postMD, result => { });
|
|
362
|
+
}), '儲存')}
|
|
363
|
+
</div>`,
|
|
364
|
+
].join(``);
|
|
365
|
+
})(),
|
|
366
|
+
},
|
|
367
|
+
{
|
|
368
|
+
title: 'IOS應用設定',
|
|
369
|
+
editor: (() => {
|
|
370
|
+
let postMD = postMDRefer;
|
|
371
|
+
const id = gvc.glitter.getUUID();
|
|
372
|
+
return [
|
|
373
|
+
gvc.bindView(() => {
|
|
374
|
+
return {
|
|
375
|
+
bind: id,
|
|
376
|
+
view: () => {
|
|
377
|
+
return [
|
|
378
|
+
BgWidget.editeInput({
|
|
379
|
+
gvc: gvc,
|
|
380
|
+
title: html ` <div class="d-flex flex-column" style="gap:3px;">
|
|
381
|
+
App 專案包名 ${BgWidget.grayNote('為空則預設為網域路徑')}
|
|
382
|
+
</div>`,
|
|
383
|
+
default: postMD.ios_app_bundle_id || '',
|
|
384
|
+
placeHolder: `${window.parent.glitter.share.editorViewModel.domain}`,
|
|
385
|
+
callback: text => {
|
|
386
|
+
postMD.ios_app_bundle_id = text;
|
|
387
|
+
gvc.notifyDataChange(id);
|
|
388
|
+
},
|
|
389
|
+
}),
|
|
390
|
+
`<div
|
|
391
|
+
onclick="${gvc.event(() => {
|
|
392
|
+
const dialog = new ShareDialog(gvc.glitter);
|
|
393
|
+
navigator.clipboard.writeText(postMD.ios_app_bundle_id ||
|
|
394
|
+
window.parent.glitter.share.editorViewModel
|
|
395
|
+
.domain);
|
|
396
|
+
dialog.successMessage({ text: '已複製至剪貼簿' });
|
|
397
|
+
})}"
|
|
398
|
+
>
|
|
399
|
+
${BgWidget.editeInput({
|
|
400
|
+
readonly: true,
|
|
401
|
+
gvc: gvc,
|
|
402
|
+
title: html ` <div class="d-flex flex-column" style="gap:5px;">
|
|
403
|
+
LINE登入
|
|
404
|
+
${BgWidget.grayNote('點擊複製專案ID至LINE開發者後台的『 iOS bundle ID 』欄位')}
|
|
405
|
+
</div>`,
|
|
406
|
+
default: postMD.ios_app_bundle_id ||
|
|
407
|
+
window.parent.glitter.share.editorViewModel.domain,
|
|
408
|
+
placeHolder: '',
|
|
409
|
+
callback: text => { },
|
|
410
|
+
})}
|
|
411
|
+
</div>`,
|
|
412
|
+
].join(`<div class="my-3"></div>`);
|
|
413
|
+
},
|
|
414
|
+
divCreate: {
|
|
415
|
+
class: ``,
|
|
416
|
+
},
|
|
417
|
+
};
|
|
418
|
+
}),
|
|
419
|
+
html ` <div class="mt-3 w-100 d-flex align-items-center justify-content-end">
|
|
420
|
+
${BgWidget.save(gvc.event(() => {
|
|
421
|
+
save(false, postMD, result => { });
|
|
361
422
|
}), '儲存')}
|
|
362
|
-
|
|
423
|
+
</div>`,
|
|
363
424
|
].join(``);
|
|
364
425
|
})(),
|
|
365
426
|
},
|
|
366
427
|
{
|
|
367
428
|
title: '聯絡資訊',
|
|
368
429
|
editor: (() => {
|
|
369
|
-
let postMD =
|
|
430
|
+
let postMD = postMDRefer;
|
|
370
431
|
const dialog = new ShareDialog(gvc.glitter);
|
|
371
432
|
const id = gvc.glitter.getUUID();
|
|
372
433
|
return [
|
|
@@ -377,10 +438,12 @@ export class AppRelease {
|
|
|
377
438
|
return [
|
|
378
439
|
BgWidget.editeInput({
|
|
379
440
|
gvc: gvc,
|
|
380
|
-
title: html
|
|
441
|
+
title: html ` <div class="d-flex flex-column" style="gap:3px;">
|
|
442
|
+
聯絡信箱 ${BgWidget.grayNote('承辦人員會透過此信箱與您聯絡')}
|
|
443
|
+
</div>`,
|
|
381
444
|
default: postMD.contact_email || '',
|
|
382
445
|
placeHolder: '請輸入信箱',
|
|
383
|
-
callback:
|
|
446
|
+
callback: text => {
|
|
384
447
|
function isValidEmail(email) {
|
|
385
448
|
const emailPattern = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
|
|
386
449
|
return emailPattern.test(email);
|
|
@@ -396,10 +459,12 @@ export class AppRelease {
|
|
|
396
459
|
}),
|
|
397
460
|
BgWidget.editeInput({
|
|
398
461
|
gvc: gvc,
|
|
399
|
-
title: html
|
|
462
|
+
title: html ` <div class="d-flex flex-column" style="gap:3px;">
|
|
463
|
+
聯絡電話 ${BgWidget.grayNote('承辦人員會透過此電話與您聯絡')}
|
|
464
|
+
</div>`,
|
|
400
465
|
default: postMD.contact_phone || '',
|
|
401
466
|
placeHolder: '請輸入電話',
|
|
402
|
-
callback:
|
|
467
|
+
callback: text => {
|
|
403
468
|
function isValidUSPhoneNumber(phoneNumber) {
|
|
404
469
|
const phonePattern = /^(\+1-?)?(\d{3})?-?\d{3}-?\d{4}$/;
|
|
405
470
|
return phonePattern.test(phoneNumber);
|
|
@@ -420,28 +485,77 @@ export class AppRelease {
|
|
|
420
485
|
},
|
|
421
486
|
};
|
|
422
487
|
}),
|
|
423
|
-
html
|
|
424
|
-
|
|
425
|
-
save(false, postMD,
|
|
488
|
+
html ` <div class="mt-3 w-100 d-flex align-items-center justify-content-end">
|
|
489
|
+
${BgWidget.save(gvc.event(() => {
|
|
490
|
+
save(false, postMD, result => { });
|
|
426
491
|
}), '儲存')}
|
|
427
|
-
|
|
492
|
+
</div>`,
|
|
428
493
|
].join('');
|
|
429
494
|
})(),
|
|
430
495
|
},
|
|
431
496
|
]
|
|
432
|
-
.map(
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
497
|
+
.map(dd => {
|
|
498
|
+
if (toggle.find(d1 => {
|
|
499
|
+
return d1 === dd.title;
|
|
500
|
+
})) {
|
|
501
|
+
return BgWidget.card(html ` <div class="d-flex flex-column">
|
|
502
|
+
<div
|
|
503
|
+
class="d-flex w-100 align-items-center"
|
|
504
|
+
style="cursor: pointer;"
|
|
505
|
+
onclick="${gvc.event(() => {
|
|
506
|
+
if (toggle.find(d1 => {
|
|
507
|
+
return d1 === dd.title;
|
|
508
|
+
})) {
|
|
509
|
+
toggle = toggle.filter(d1 => {
|
|
510
|
+
return d1 !== dd.title;
|
|
511
|
+
});
|
|
512
|
+
}
|
|
513
|
+
else {
|
|
514
|
+
toggle.push(dd.title);
|
|
515
|
+
}
|
|
516
|
+
gvc.notifyDataChange(cId);
|
|
517
|
+
})}"
|
|
518
|
+
>
|
|
519
|
+
${BgWidget.title(dd.title, 'font-size:20px;')}
|
|
520
|
+
<div class="flex-fill"></div>
|
|
521
|
+
<div class="d-flex flex-column align-items-center justify-content-center" style="">
|
|
522
|
+
<i class="fa-solid fa-caret-up fw-bold fs-2"></i>
|
|
523
|
+
<div class="fw-bold" style="font-size: 14px;margin-top: -5px;">收合</div>
|
|
524
|
+
</div>
|
|
525
|
+
</div>
|
|
526
|
+
<div class="flex-fill"></div>
|
|
527
|
+
<div class="my-3">${dd.editor}</div>
|
|
528
|
+
</div>`);
|
|
529
|
+
}
|
|
530
|
+
else {
|
|
531
|
+
return BgWidget.card(` <div class="d-flex w-100 align-items-center" style="cursor: pointer;" onclick="${gvc.event(() => {
|
|
532
|
+
if (toggle.find(d1 => {
|
|
533
|
+
return d1 === dd.title;
|
|
534
|
+
})) {
|
|
535
|
+
toggle = toggle.filter(d1 => {
|
|
536
|
+
return d1 !== dd.title;
|
|
537
|
+
});
|
|
538
|
+
}
|
|
539
|
+
else {
|
|
540
|
+
toggle.push(dd.title);
|
|
541
|
+
}
|
|
542
|
+
gvc.notifyDataChange(cId);
|
|
543
|
+
})}">
|
|
544
|
+
${BgWidget.title(dd.title, 'font-size:20px;')}
|
|
545
|
+
<div class="flex-fill"></div>
|
|
546
|
+
<div class="d-flex flex-column align-items-center justify-content-center" style="" >
|
|
547
|
+
<i class="fa-solid fa-caret-down fw-bold fs-2"></i>
|
|
548
|
+
<div class="fw-bold" style="font-size: 14px;margin-top: -5px;">展開</div>
|
|
549
|
+
</div>
|
|
550
|
+
</div>`);
|
|
551
|
+
}
|
|
438
552
|
})
|
|
439
553
|
.join(BgWidget.mbContainer(24)),
|
|
440
|
-
html
|
|
441
|
-
|
|
554
|
+
html ` <div class="update-bar-container">
|
|
555
|
+
${BgWidget.save(gvc.event(() => {
|
|
442
556
|
save(true, postMDRefer, () => { });
|
|
443
557
|
}), '將APP提交審查')}
|
|
444
|
-
|
|
558
|
+
</div>`,
|
|
445
559
|
BgWidget.mbContainer(120),
|
|
446
560
|
].join(`<div class="my-3"></div>`));
|
|
447
561
|
},
|