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.
Files changed (38) hide show
  1. package/dist/functions/file/getIconfontNameByExtension.js +8 -8
  2. package/dist/functions/file/getIconfontNameByExtension.js.map +1 -1
  3. package/package.json +1 -1
  4. package/types/im-api.d.ts +7 -3
  5. package/types/im-chat.d.ts +7 -5
  6. package/dist/functions/api/auth.d.ts +0 -14
  7. package/dist/functions/api/auth.js +0 -109
  8. package/dist/functions/api/auth.js.map +0 -1
  9. package/dist/functions/api/schemas/auth.schema.d.ts +0 -363
  10. package/dist/functions/api/schemas/auth.schema.js +0 -39
  11. package/dist/functions/api/schemas/auth.schema.js.map +0 -1
  12. package/dist/functions/api/schemas/video.schema.d.ts +0 -391
  13. package/dist/functions/api/schemas/video.schema.js +0 -55
  14. package/dist/functions/api/schemas/video.schema.js.map +0 -1
  15. package/dist/functions/api/video.d.ts +0 -62
  16. package/dist/functions/api/video.js +0 -243
  17. package/dist/functions/api/video.js.map +0 -1
  18. package/dist/functions/oss/uploadViaSignedPut.d.ts +0 -35
  19. package/dist/functions/oss/uploadViaSignedPut.js +0 -86
  20. package/dist/functions/oss/uploadViaSignedPut.js.map +0 -1
  21. package/dist/functions/software/publishToPgyer.d.ts +0 -16
  22. package/dist/functions/software/publishToPgyer.js +0 -96
  23. package/dist/functions/software/publishToPgyer.js.map +0 -1
  24. package/dist/functions/validation/generateFakeBankCard.d.ts +0 -87
  25. package/dist/functions/validation/generateFakeBankCard.js +0 -152
  26. package/dist/functions/validation/generateFakeBankCard.js.map +0 -1
  27. package/dist/functions/validation/generateFakeBusinessLicense.d.ts +0 -21
  28. package/dist/functions/validation/generateFakeBusinessLicense.js +0 -160
  29. package/dist/functions/validation/generateFakeBusinessLicense.js.map +0 -1
  30. package/dist/functions/validation/generateFakeDrivingLicense.d.ts +0 -31
  31. package/dist/functions/validation/generateFakeDrivingLicense.js +0 -119
  32. package/dist/functions/validation/generateFakeDrivingLicense.js.map +0 -1
  33. package/dist/functions/validation/generateFakeIdCard.d.ts +0 -30
  34. package/dist/functions/validation/generateFakeIdCard.js +0 -123
  35. package/dist/functions/validation/generateFakeIdCard.js.map +0 -1
  36. package/dist/functions/validation/generateFakeLicensePlate.d.ts +0 -13
  37. package/dist/functions/validation/generateFakeLicensePlate.js +0 -87
  38. 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 {};