zcw-shared 2.8.0 → 2.10.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/dist/functions/file/getIconfontNameByExtension.js +8 -8
- package/dist/functions/file/getIconfontNameByExtension.js.map +1 -1
- package/package.json +1 -1
- package/types/im-api.d.ts +7 -3
- package/types/im-chat.d.ts +7 -5
- package/dist/functions/api/auth.d.ts +0 -14
- package/dist/functions/api/auth.js +0 -109
- package/dist/functions/api/auth.js.map +0 -1
- package/dist/functions/api/schemas/auth.schema.d.ts +0 -363
- package/dist/functions/api/schemas/auth.schema.js +0 -39
- package/dist/functions/api/schemas/auth.schema.js.map +0 -1
- package/dist/functions/api/schemas/video.schema.d.ts +0 -391
- package/dist/functions/api/schemas/video.schema.js +0 -55
- package/dist/functions/api/schemas/video.schema.js.map +0 -1
- package/dist/functions/api/video.d.ts +0 -62
- package/dist/functions/api/video.js +0 -243
- package/dist/functions/api/video.js.map +0 -1
- package/dist/functions/oss/uploadViaSignedPut.d.ts +0 -35
- package/dist/functions/oss/uploadViaSignedPut.js +0 -86
- package/dist/functions/oss/uploadViaSignedPut.js.map +0 -1
- package/dist/functions/software/publishToPgyer.d.ts +0 -16
- package/dist/functions/software/publishToPgyer.js +0 -96
- package/dist/functions/software/publishToPgyer.js.map +0 -1
- package/dist/functions/validation/generateFakeBankCard.d.ts +0 -87
- package/dist/functions/validation/generateFakeBankCard.js +0 -152
- package/dist/functions/validation/generateFakeBankCard.js.map +0 -1
- package/dist/functions/validation/generateFakeBusinessLicense.d.ts +0 -21
- package/dist/functions/validation/generateFakeBusinessLicense.js +0 -160
- package/dist/functions/validation/generateFakeBusinessLicense.js.map +0 -1
- package/dist/functions/validation/generateFakeDrivingLicense.d.ts +0 -31
- package/dist/functions/validation/generateFakeDrivingLicense.js +0 -119
- package/dist/functions/validation/generateFakeDrivingLicense.js.map +0 -1
- package/dist/functions/validation/generateFakeIdCard.d.ts +0 -30
- package/dist/functions/validation/generateFakeIdCard.js +0 -123
- package/dist/functions/validation/generateFakeIdCard.js.map +0 -1
- package/dist/functions/validation/generateFakeLicensePlate.d.ts +0 -13
- package/dist/functions/validation/generateFakeLicensePlate.js +0 -87
- package/dist/functions/validation/generateFakeLicensePlate.js.map +0 -1
|
@@ -1,243 +0,0 @@
|
|
|
1
|
-
async function doFetch(url, options) {
|
|
2
|
-
const { baseUrl, getToken, fetch: fetchImpl, console: consoleImpl, ...rest } = options;
|
|
3
|
-
const headers = {
|
|
4
|
-
'Content-Type': 'application/json',
|
|
5
|
-
...(rest.headers ?? {}),
|
|
6
|
-
};
|
|
7
|
-
const token = await getToken?.();
|
|
8
|
-
if (token) {
|
|
9
|
-
headers['Authorization'] = `Bearer ${token}`;
|
|
10
|
-
}
|
|
11
|
-
else if (consoleImpl) {
|
|
12
|
-
consoleImpl.debug?.('[VideoApi] No token provided for request:', url);
|
|
13
|
-
}
|
|
14
|
-
let response;
|
|
15
|
-
try {
|
|
16
|
-
response = await fetchImpl(`${baseUrl}${url}`, {
|
|
17
|
-
...rest,
|
|
18
|
-
headers,
|
|
19
|
-
});
|
|
20
|
-
}
|
|
21
|
-
catch (error) {
|
|
22
|
-
throw new Error(`Network error: ${error instanceof Error ? error.message : String(error)}`);
|
|
23
|
-
}
|
|
24
|
-
const isResponseObject = response &&
|
|
25
|
-
typeof response === 'object' &&
|
|
26
|
-
'ok' in response &&
|
|
27
|
-
'status' in response &&
|
|
28
|
-
typeof response.status === 'number';
|
|
29
|
-
if (isResponseObject) {
|
|
30
|
-
if (!response.ok) {
|
|
31
|
-
let errorText = '';
|
|
32
|
-
try {
|
|
33
|
-
if (typeof response.text === 'function') {
|
|
34
|
-
const text = await response.text().catch(() => '');
|
|
35
|
-
try {
|
|
36
|
-
const json = JSON.parse(text);
|
|
37
|
-
errorText = json.message || json.error || text;
|
|
38
|
-
}
|
|
39
|
-
catch {
|
|
40
|
-
errorText = text;
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
else if (typeof response.json === 'function') {
|
|
44
|
-
const errorData = await response.json().catch(() => ({}));
|
|
45
|
-
errorText = errorData.message || errorData.error || JSON.stringify(errorData);
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
catch (e) {
|
|
49
|
-
errorText = '';
|
|
50
|
-
}
|
|
51
|
-
const statusText = response.statusText || '';
|
|
52
|
-
const errorMessage = errorText
|
|
53
|
-
? `Request failed: ${response.status} ${statusText} - ${errorText}`
|
|
54
|
-
: `Request failed: ${response.status} ${statusText}`;
|
|
55
|
-
throw new Error(errorMessage);
|
|
56
|
-
}
|
|
57
|
-
if (typeof response.json === 'function') {
|
|
58
|
-
return response.json();
|
|
59
|
-
}
|
|
60
|
-
return response;
|
|
61
|
-
}
|
|
62
|
-
if (response && typeof response === 'object' && 'error' in response) {
|
|
63
|
-
throw new Error(response.error?.message || response.message || 'Request failed');
|
|
64
|
-
}
|
|
65
|
-
return response;
|
|
66
|
-
}
|
|
67
|
-
export function createVideoApiClient(options) {
|
|
68
|
-
const { baseUrl, getToken, fetch, console: customConsole, URLSearchParams: URLSearchParamsImpl } = options;
|
|
69
|
-
const consoleImpl = customConsole ?? { error: () => { }, log: () => { }, warn: () => { }, debug: () => { } };
|
|
70
|
-
const createURLSearchParams = URLSearchParamsImpl
|
|
71
|
-
? (init) => new URLSearchParamsImpl(init)
|
|
72
|
-
: (init) => {
|
|
73
|
-
const params = new Map();
|
|
74
|
-
if (typeof init === 'string') {
|
|
75
|
-
init.split('&').forEach(pair => {
|
|
76
|
-
const [key, value] = pair.split('=');
|
|
77
|
-
if (key)
|
|
78
|
-
params.set(key, [value || '']);
|
|
79
|
-
});
|
|
80
|
-
}
|
|
81
|
-
else if (Array.isArray(init)) {
|
|
82
|
-
init.forEach(([key, value]) => {
|
|
83
|
-
const existing = params.get(key) || [];
|
|
84
|
-
existing.push(value);
|
|
85
|
-
params.set(key, existing);
|
|
86
|
-
});
|
|
87
|
-
}
|
|
88
|
-
else if (init) {
|
|
89
|
-
Object.entries(init).forEach(([key, value]) => {
|
|
90
|
-
params.set(key, [value]);
|
|
91
|
-
});
|
|
92
|
-
}
|
|
93
|
-
return {
|
|
94
|
-
set: (key, value) => params.set(key, [value]),
|
|
95
|
-
toString: () => Array.from(params.entries()).map(([k, vs]) => vs.map(v => `${k}=${encodeURIComponent(v)}`).join('&')).join('&')
|
|
96
|
-
};
|
|
97
|
-
};
|
|
98
|
-
return {
|
|
99
|
-
getCategories() {
|
|
100
|
-
return doFetch('/videos/categories', {
|
|
101
|
-
method: 'GET',
|
|
102
|
-
baseUrl,
|
|
103
|
-
getToken,
|
|
104
|
-
fetch,
|
|
105
|
-
console: consoleImpl,
|
|
106
|
-
});
|
|
107
|
-
},
|
|
108
|
-
createCategory(payload) {
|
|
109
|
-
return doFetch('/videos/categories', {
|
|
110
|
-
method: 'POST',
|
|
111
|
-
body: JSON.stringify(payload),
|
|
112
|
-
baseUrl,
|
|
113
|
-
getToken,
|
|
114
|
-
fetch,
|
|
115
|
-
});
|
|
116
|
-
},
|
|
117
|
-
updateCategory(id, payload) {
|
|
118
|
-
return doFetch(`/videos/categories/${id}`, {
|
|
119
|
-
method: 'PUT',
|
|
120
|
-
body: JSON.stringify(payload),
|
|
121
|
-
baseUrl,
|
|
122
|
-
getToken,
|
|
123
|
-
fetch,
|
|
124
|
-
});
|
|
125
|
-
},
|
|
126
|
-
deleteCategory(id) {
|
|
127
|
-
return doFetch(`/videos/categories/${id}`, {
|
|
128
|
-
method: 'DELETE',
|
|
129
|
-
baseUrl,
|
|
130
|
-
getToken,
|
|
131
|
-
fetch,
|
|
132
|
-
});
|
|
133
|
-
},
|
|
134
|
-
getVideos(params) {
|
|
135
|
-
const searchParams = createURLSearchParams();
|
|
136
|
-
if (params.limit != null)
|
|
137
|
-
searchParams.set('limit', String(params.limit));
|
|
138
|
-
if (params.offset != null)
|
|
139
|
-
searchParams.set('offset', String(params.offset));
|
|
140
|
-
if (params.categoryId)
|
|
141
|
-
searchParams.set('categoryId', params.categoryId);
|
|
142
|
-
if (params.search)
|
|
143
|
-
searchParams.set('search', params.search);
|
|
144
|
-
const query = searchParams.toString();
|
|
145
|
-
const url = query ? `/videos?${query}` : '/videos';
|
|
146
|
-
return doFetch(url, {
|
|
147
|
-
method: 'GET',
|
|
148
|
-
baseUrl,
|
|
149
|
-
getToken,
|
|
150
|
-
fetch,
|
|
151
|
-
console: consoleImpl,
|
|
152
|
-
});
|
|
153
|
-
},
|
|
154
|
-
getVideo(id) {
|
|
155
|
-
return doFetch(`/videos/${id}`, {
|
|
156
|
-
method: 'GET',
|
|
157
|
-
baseUrl,
|
|
158
|
-
getToken,
|
|
159
|
-
fetch,
|
|
160
|
-
});
|
|
161
|
-
},
|
|
162
|
-
getRecommendVideos(id, limit) {
|
|
163
|
-
const searchParams = createURLSearchParams();
|
|
164
|
-
if (limit != null)
|
|
165
|
-
searchParams.set('limit', String(limit));
|
|
166
|
-
const query = searchParams.toString();
|
|
167
|
-
const url = query ? `/videos/${id}/recommend?${query}` : `/videos/${id}/recommend`;
|
|
168
|
-
return doFetch(url, {
|
|
169
|
-
method: 'GET',
|
|
170
|
-
baseUrl,
|
|
171
|
-
getToken,
|
|
172
|
-
fetch,
|
|
173
|
-
});
|
|
174
|
-
},
|
|
175
|
-
createVideo(payload) {
|
|
176
|
-
return doFetch('/videos', {
|
|
177
|
-
method: 'POST',
|
|
178
|
-
body: JSON.stringify(payload),
|
|
179
|
-
baseUrl,
|
|
180
|
-
getToken,
|
|
181
|
-
fetch,
|
|
182
|
-
});
|
|
183
|
-
},
|
|
184
|
-
updateVideo(id, payload) {
|
|
185
|
-
return doFetch(`/videos/${id}`, {
|
|
186
|
-
method: 'PUT',
|
|
187
|
-
body: JSON.stringify(payload),
|
|
188
|
-
baseUrl,
|
|
189
|
-
getToken,
|
|
190
|
-
fetch,
|
|
191
|
-
});
|
|
192
|
-
},
|
|
193
|
-
deleteVideo(id) {
|
|
194
|
-
return doFetch(`/videos/${id}`, {
|
|
195
|
-
method: 'DELETE',
|
|
196
|
-
baseUrl,
|
|
197
|
-
getToken,
|
|
198
|
-
fetch,
|
|
199
|
-
});
|
|
200
|
-
},
|
|
201
|
-
toggleLike(id) {
|
|
202
|
-
return doFetch(`/videos/${id}/like`, {
|
|
203
|
-
method: 'POST',
|
|
204
|
-
baseUrl,
|
|
205
|
-
getToken,
|
|
206
|
-
fetch,
|
|
207
|
-
});
|
|
208
|
-
},
|
|
209
|
-
checkLike(id) {
|
|
210
|
-
return doFetch(`/videos/${id}/like`, {
|
|
211
|
-
method: 'GET',
|
|
212
|
-
baseUrl,
|
|
213
|
-
getToken,
|
|
214
|
-
fetch,
|
|
215
|
-
});
|
|
216
|
-
},
|
|
217
|
-
getComments(id, params) {
|
|
218
|
-
const searchParams = createURLSearchParams();
|
|
219
|
-
if (params?.limit != null)
|
|
220
|
-
searchParams.set('limit', String(params.limit));
|
|
221
|
-
if (params?.offset != null)
|
|
222
|
-
searchParams.set('offset', String(params.offset));
|
|
223
|
-
const query = searchParams.toString();
|
|
224
|
-
const url = query ? `/videos/${id}/comments?${query}` : `/videos/${id}/comments`;
|
|
225
|
-
return doFetch(url, {
|
|
226
|
-
method: 'GET',
|
|
227
|
-
baseUrl,
|
|
228
|
-
getToken,
|
|
229
|
-
fetch,
|
|
230
|
-
});
|
|
231
|
-
},
|
|
232
|
-
createComment(id, payload) {
|
|
233
|
-
return doFetch(`/videos/${id}/comments`, {
|
|
234
|
-
method: 'POST',
|
|
235
|
-
body: JSON.stringify(payload),
|
|
236
|
-
baseUrl,
|
|
237
|
-
getToken,
|
|
238
|
-
fetch,
|
|
239
|
-
});
|
|
240
|
-
},
|
|
241
|
-
};
|
|
242
|
-
}
|
|
243
|
-
//# sourceMappingURL=video.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"video.js","sourceRoot":"","sources":["../../../src/functions/api/video.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
export type OssSignedUploadPayload = {
|
|
2
|
-
signedUrl: string;
|
|
3
|
-
publicUrl: string;
|
|
4
|
-
path: string;
|
|
5
|
-
bucket: string;
|
|
6
|
-
token?: string;
|
|
7
|
-
putHints?: unknown;
|
|
8
|
-
};
|
|
9
|
-
export declare function fetchOssSignedUploadUrl(input: {
|
|
10
|
-
apiBaseUrl: string;
|
|
11
|
-
authorizationBearer?: string;
|
|
12
|
-
bucket: string;
|
|
13
|
-
path: string;
|
|
14
|
-
upsert?: boolean;
|
|
15
|
-
}): Promise<OssSignedUploadPayload>;
|
|
16
|
-
export declare function putToSignedUrl(input: {
|
|
17
|
-
signedUrl: string;
|
|
18
|
-
body: Blob | ArrayBuffer;
|
|
19
|
-
contentType: string;
|
|
20
|
-
onUploadProgress?: (loaded: number, total: number) => void;
|
|
21
|
-
}): Promise<void>;
|
|
22
|
-
export declare function uploadFileViaOssSignedPut(input: {
|
|
23
|
-
apiBaseUrl: string;
|
|
24
|
-
authorizationBearer?: string;
|
|
25
|
-
file: File | Blob;
|
|
26
|
-
bucket: string;
|
|
27
|
-
path: string;
|
|
28
|
-
contentType?: string;
|
|
29
|
-
upsert?: boolean;
|
|
30
|
-
onUploadProgress?: (loaded: number, total: number) => void;
|
|
31
|
-
}): Promise<{
|
|
32
|
-
publicUrl: string;
|
|
33
|
-
path: string;
|
|
34
|
-
bucket: string;
|
|
35
|
-
}>;
|
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
export async function fetchOssSignedUploadUrl(input) {
|
|
2
|
-
const base = input.apiBaseUrl.replace(/\/+$/, "");
|
|
3
|
-
const headers = {
|
|
4
|
-
"Content-Type": "application/json",
|
|
5
|
-
};
|
|
6
|
-
if (input.authorizationBearer) {
|
|
7
|
-
headers.Authorization = `Bearer ${input.authorizationBearer}`;
|
|
8
|
-
}
|
|
9
|
-
const res = await fetch(`${base}/oss/signed-upload-url`, {
|
|
10
|
-
method: "POST",
|
|
11
|
-
headers,
|
|
12
|
-
body: JSON.stringify({
|
|
13
|
-
bucket: input.bucket,
|
|
14
|
-
path: input.path,
|
|
15
|
-
upsert: input.upsert !== false,
|
|
16
|
-
}),
|
|
17
|
-
});
|
|
18
|
-
const json = (await res.json().catch(() => ({})));
|
|
19
|
-
if (!res.ok) {
|
|
20
|
-
throw new Error(json.message || `signed-upload-url failed: ${res.status}`);
|
|
21
|
-
}
|
|
22
|
-
const data = json.data;
|
|
23
|
-
if (!data?.signedUrl || !data.publicUrl) {
|
|
24
|
-
throw new Error("signed-upload-url 响应缺少 signedUrl/publicUrl");
|
|
25
|
-
}
|
|
26
|
-
return data;
|
|
27
|
-
}
|
|
28
|
-
export function putToSignedUrl(input) {
|
|
29
|
-
return new Promise((resolve, reject) => {
|
|
30
|
-
const xhr = new XMLHttpRequest();
|
|
31
|
-
xhr.open("PUT", input.signedUrl, true);
|
|
32
|
-
xhr.setRequestHeader("Content-Type", input.contentType);
|
|
33
|
-
xhr.upload.onprogress = (ev) => {
|
|
34
|
-
if (input.onUploadProgress && ev.lengthComputable) {
|
|
35
|
-
input.onUploadProgress(ev.loaded, ev.total);
|
|
36
|
-
}
|
|
37
|
-
};
|
|
38
|
-
xhr.onload = () => {
|
|
39
|
-
if (xhr.status < 200 || xhr.status >= 300) {
|
|
40
|
-
reject(new Error(`对象存储 PUT 失败: ${xhr.status}`));
|
|
41
|
-
return;
|
|
42
|
-
}
|
|
43
|
-
resolve();
|
|
44
|
-
};
|
|
45
|
-
xhr.onerror = () => reject(new Error("网络错误"));
|
|
46
|
-
xhr.send(input.body);
|
|
47
|
-
});
|
|
48
|
-
}
|
|
49
|
-
export async function uploadFileViaOssSignedPut(input) {
|
|
50
|
-
const meta = await fetchOssSignedUploadUrl({
|
|
51
|
-
apiBaseUrl: input.apiBaseUrl,
|
|
52
|
-
authorizationBearer: input.authorizationBearer,
|
|
53
|
-
bucket: input.bucket,
|
|
54
|
-
path: input.path,
|
|
55
|
-
upsert: input.upsert,
|
|
56
|
-
});
|
|
57
|
-
const ct = input.contentType ||
|
|
58
|
-
(typeof File !== "undefined" && input.file instanceof File && input.file.type
|
|
59
|
-
? input.file.type
|
|
60
|
-
: "") ||
|
|
61
|
-
"application/octet-stream";
|
|
62
|
-
if (typeof XMLHttpRequest !== "undefined") {
|
|
63
|
-
await putToSignedUrl({
|
|
64
|
-
signedUrl: meta.signedUrl,
|
|
65
|
-
body: input.file,
|
|
66
|
-
contentType: ct,
|
|
67
|
-
onUploadProgress: input.onUploadProgress,
|
|
68
|
-
});
|
|
69
|
-
}
|
|
70
|
-
else {
|
|
71
|
-
const res = await fetch(meta.signedUrl, {
|
|
72
|
-
method: "PUT",
|
|
73
|
-
headers: { "Content-Type": ct },
|
|
74
|
-
body: input.file,
|
|
75
|
-
});
|
|
76
|
-
if (!res.ok) {
|
|
77
|
-
throw new Error(`对象存储 PUT 失败: ${res.status}`);
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
return {
|
|
81
|
-
publicUrl: meta.publicUrl,
|
|
82
|
-
path: meta.path,
|
|
83
|
-
bucket: meta.bucket,
|
|
84
|
-
};
|
|
85
|
-
}
|
|
86
|
-
//# sourceMappingURL=uploadViaSignedPut.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"uploadViaSignedPut.js","sourceRoot":"","sources":["../../../src/functions/oss/uploadViaSignedPut.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import type { PublishToPgyerOptions, PublishToPgyerResult } from '../../../types/pgyer.d';
|
|
2
|
-
import type { FileSystem } from '../../../references/node.d';
|
|
3
|
-
import type { Console } from '../../../references/console.d';
|
|
4
|
-
import type { fetch, FormData, Headers } from '../../../references/fetch.d';
|
|
5
|
-
import type { Blob } from '../../../references/blob.d';
|
|
6
|
-
export interface PublishToPgyerDeps {
|
|
7
|
-
existsSync: FileSystem['existsSync'];
|
|
8
|
-
readFileSync: FileSystem['readFileSync'];
|
|
9
|
-
fetch: typeof fetch;
|
|
10
|
-
FormData: typeof FormData;
|
|
11
|
-
Headers: typeof Headers;
|
|
12
|
-
Blob: typeof Blob;
|
|
13
|
-
log: Console['log'];
|
|
14
|
-
error: Console['error'];
|
|
15
|
-
}
|
|
16
|
-
export declare function publishToPgyer(options: PublishToPgyerOptions, deps: PublishToPgyerDeps): Promise<PublishToPgyerResult>;
|
|
@@ -1,96 +0,0 @@
|
|
|
1
|
-
export async function publishToPgyer(options, deps) {
|
|
2
|
-
const { filePath, apiKey, uKey, password, updateDescription, channelShortcut, installType, appName } = options;
|
|
3
|
-
try {
|
|
4
|
-
if (!deps.existsSync(filePath)) {
|
|
5
|
-
return {
|
|
6
|
-
success: false,
|
|
7
|
-
error: `文件不存在: ${filePath}`
|
|
8
|
-
};
|
|
9
|
-
}
|
|
10
|
-
if (!apiKey && !uKey) {
|
|
11
|
-
return {
|
|
12
|
-
success: false,
|
|
13
|
-
error: '必须提供 apiKey 或 uKey'
|
|
14
|
-
};
|
|
15
|
-
}
|
|
16
|
-
deps.log(`正在读取文件: ${filePath}`);
|
|
17
|
-
const fileBuffer = deps.readFileSync(filePath);
|
|
18
|
-
const fileName = filePath.split(/[/\\]/).pop() || 'app';
|
|
19
|
-
const formData = new deps.FormData();
|
|
20
|
-
const blobSource = typeof fileBuffer === 'string'
|
|
21
|
-
? fileBuffer
|
|
22
|
-
: fileBuffer;
|
|
23
|
-
const blob = new deps.Blob([blobSource]);
|
|
24
|
-
formData.append('file', blob, fileName);
|
|
25
|
-
if (apiKey) {
|
|
26
|
-
formData.append('_api_key', apiKey);
|
|
27
|
-
}
|
|
28
|
-
if (uKey) {
|
|
29
|
-
formData.append('uKey', uKey);
|
|
30
|
-
}
|
|
31
|
-
if (password) {
|
|
32
|
-
formData.append('password', password);
|
|
33
|
-
}
|
|
34
|
-
if (updateDescription) {
|
|
35
|
-
formData.append('updateDescription', updateDescription);
|
|
36
|
-
}
|
|
37
|
-
if (channelShortcut) {
|
|
38
|
-
formData.append('channelShortcut', channelShortcut);
|
|
39
|
-
}
|
|
40
|
-
if (installType) {
|
|
41
|
-
formData.append('installType', String(installType));
|
|
42
|
-
}
|
|
43
|
-
if (appName) {
|
|
44
|
-
formData.append('appName', appName);
|
|
45
|
-
}
|
|
46
|
-
deps.log('正在上传到蒲公英...');
|
|
47
|
-
const response = await deps.fetch('https://www.pgyer.com/apiv2/app/upload', {
|
|
48
|
-
method: 'POST',
|
|
49
|
-
body: formData
|
|
50
|
-
});
|
|
51
|
-
const responseData = await response.json();
|
|
52
|
-
if (!response.ok || responseData.code !== 0) {
|
|
53
|
-
const errorMessage = responseData.message || responseData.error || '上传失败';
|
|
54
|
-
deps.error(`蒲公英上传失败: ${errorMessage}`);
|
|
55
|
-
return {
|
|
56
|
-
success: false,
|
|
57
|
-
error: errorMessage,
|
|
58
|
-
rawResponse: responseData
|
|
59
|
-
};
|
|
60
|
-
}
|
|
61
|
-
const appData = responseData.data || {};
|
|
62
|
-
deps.log('上传成功!');
|
|
63
|
-
if (appData.appDownloadURL) {
|
|
64
|
-
deps.log(`下载地址: ${appData.appDownloadURL}`);
|
|
65
|
-
}
|
|
66
|
-
if (appData.appQRCodeURL) {
|
|
67
|
-
deps.log(`二维码: ${appData.appQRCodeURL}`);
|
|
68
|
-
}
|
|
69
|
-
return {
|
|
70
|
-
success: true,
|
|
71
|
-
data: {
|
|
72
|
-
appKey: appData.appKey,
|
|
73
|
-
appType: appData.appType,
|
|
74
|
-
appName: appData.appName,
|
|
75
|
-
appVersion: appData.appVersion,
|
|
76
|
-
appVersionNo: appData.appVersionNo,
|
|
77
|
-
appFileSize: appData.appFileSize,
|
|
78
|
-
appIcon: appData.appIcon,
|
|
79
|
-
appQRCodeURL: appData.appQRCodeURL,
|
|
80
|
-
appDownloadURL: appData.appDownloadURL,
|
|
81
|
-
appShortcutUrl: appData.appShortcutUrl,
|
|
82
|
-
appUpdateDescription: appData.appUpdateDescription
|
|
83
|
-
},
|
|
84
|
-
rawResponse: responseData
|
|
85
|
-
};
|
|
86
|
-
}
|
|
87
|
-
catch (error) {
|
|
88
|
-
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
89
|
-
deps.error('发布到蒲公英失败:', error);
|
|
90
|
-
return {
|
|
91
|
-
success: false,
|
|
92
|
-
error: `发布失败: ${errorMessage}`
|
|
93
|
-
};
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
//# sourceMappingURL=publishToPgyer.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"publishToPgyer.js","sourceRoot":"","sources":["../../../src/functions/software/publishToPgyer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,87 +0,0 @@
|
|
|
1
|
-
declare const BRAND_PREFIXES: {
|
|
2
|
-
readonly UnionPay: readonly ["62"];
|
|
3
|
-
readonly VISA: readonly ["4"];
|
|
4
|
-
readonly Mastercard: readonly ["51", "52", "53", "54", "55"];
|
|
5
|
-
readonly JCB: readonly ["3528", "3530", "3589"];
|
|
6
|
-
readonly AMEX: readonly ["34", "37"];
|
|
7
|
-
};
|
|
8
|
-
declare const CARD_TYPES: readonly ["金卡", "白金卡", "钻石卡", "经典卡"];
|
|
9
|
-
declare const CHIP_STYLES: readonly ["classic", "minimal"];
|
|
10
|
-
declare const THEMES: {
|
|
11
|
-
readonly sapphire: {
|
|
12
|
-
readonly name: "蓝宝石";
|
|
13
|
-
readonly baseColor: "#0b1f44";
|
|
14
|
-
readonly accentColor: "#7dd3fc";
|
|
15
|
-
readonly gradient: [string, string];
|
|
16
|
-
readonly patternColor: "rgba(255, 255, 255, 0.08)";
|
|
17
|
-
readonly textColor: "#f4f8ff";
|
|
18
|
-
readonly secondaryTextColor: "rgba(244, 248, 255, 0.8)";
|
|
19
|
-
};
|
|
20
|
-
readonly jade: {
|
|
21
|
-
readonly name: "翡翠绿";
|
|
22
|
-
readonly baseColor: "#064e3b";
|
|
23
|
-
readonly accentColor: "#a7f3d0";
|
|
24
|
-
readonly gradient: [string, string];
|
|
25
|
-
readonly patternColor: "rgba(255, 255, 255, 0.1)";
|
|
26
|
-
readonly textColor: "#ecfdf5";
|
|
27
|
-
readonly secondaryTextColor: "rgba(236, 253, 245, 0.85)";
|
|
28
|
-
};
|
|
29
|
-
readonly ember: {
|
|
30
|
-
readonly name: "赤焰金";
|
|
31
|
-
readonly baseColor: "#7c2d12";
|
|
32
|
-
readonly accentColor: "#fde68a";
|
|
33
|
-
readonly gradient: [string, string];
|
|
34
|
-
readonly patternColor: "rgba(255, 255, 255, 0.12)";
|
|
35
|
-
readonly textColor: "#fff7ed";
|
|
36
|
-
readonly secondaryTextColor: "rgba(255, 247, 237, 0.8)";
|
|
37
|
-
};
|
|
38
|
-
readonly carbon: {
|
|
39
|
-
readonly name: "碳纤黑";
|
|
40
|
-
readonly baseColor: "#0f172a";
|
|
41
|
-
readonly accentColor: "#facc15";
|
|
42
|
-
readonly gradient: [string, string];
|
|
43
|
-
readonly patternColor: "rgba(250, 204, 21, 0.08)";
|
|
44
|
-
readonly textColor: "#f8fafc";
|
|
45
|
-
readonly secondaryTextColor: "rgba(248, 250, 252, 0.75)";
|
|
46
|
-
};
|
|
47
|
-
};
|
|
48
|
-
export type BankCardBrand = keyof typeof BRAND_PREFIXES;
|
|
49
|
-
export type BankCardProductTier = (typeof CARD_TYPES)[number];
|
|
50
|
-
export type BankCardThemeKey = keyof typeof THEMES;
|
|
51
|
-
export type BankCardChipStyle = (typeof CHIP_STYLES)[number];
|
|
52
|
-
export interface BankCardTheme {
|
|
53
|
-
name: string;
|
|
54
|
-
baseColor: string;
|
|
55
|
-
accentColor: string;
|
|
56
|
-
gradient: [string, string];
|
|
57
|
-
patternColor: string;
|
|
58
|
-
textColor: string;
|
|
59
|
-
secondaryTextColor: string;
|
|
60
|
-
}
|
|
61
|
-
export interface GenerateFakeBankCardOptions {
|
|
62
|
-
bankName?: string;
|
|
63
|
-
holderName?: string;
|
|
64
|
-
brand?: BankCardBrand;
|
|
65
|
-
cardType?: BankCardProductTier;
|
|
66
|
-
cardNumber?: string;
|
|
67
|
-
theme?: BankCardThemeKey;
|
|
68
|
-
validYears?: number;
|
|
69
|
-
}
|
|
70
|
-
export interface GeneratedBankCardProfile {
|
|
71
|
-
bankName: string;
|
|
72
|
-
bankShortName: string;
|
|
73
|
-
cardBrand: BankCardBrand;
|
|
74
|
-
cardType: BankCardProductTier;
|
|
75
|
-
holderName: string;
|
|
76
|
-
cardNumber: string;
|
|
77
|
-
formattedNumber: string;
|
|
78
|
-
issuerCode: string;
|
|
79
|
-
validFrom: string;
|
|
80
|
-
validThru: string;
|
|
81
|
-
tagline: string;
|
|
82
|
-
background: BankCardTheme;
|
|
83
|
-
chipStyle: BankCardChipStyle;
|
|
84
|
-
contactless: boolean;
|
|
85
|
-
}
|
|
86
|
-
export declare function generateFakeBankCard(options?: GenerateFakeBankCardOptions): GeneratedBankCardProfile;
|
|
87
|
-
export {};
|