@peng_kai/kit 0.2.0-beta.22 → 0.2.0-beta.23
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.
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import type { UploadFile } from 'ant-design-vue/es/upload';
|
|
2
|
+
import { type Ref, computed } from 'vue';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* 获取URL中的文件名
|
|
6
|
+
* @param url - 文件的URL
|
|
7
|
+
* @returns 文件名
|
|
8
|
+
*/
|
|
9
|
+
export function getFileNameByUrl(url: string) {
|
|
10
|
+
return url.split('/').pop();
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* 判断文件是否全部上传完成
|
|
15
|
+
* @param files - 上传文件的引用
|
|
16
|
+
* @returns 如果所有文件都已完成上传,则返回 true;否则返回 false
|
|
17
|
+
*/
|
|
18
|
+
export function isFilesDoneFn(files: Ref<UploadFile[] | undefined>) {
|
|
19
|
+
return computed(() => files.value ? files.value.every(file => file.status === 'done') : true);
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* 将URL转换为上传文件对象数组
|
|
24
|
+
* @param urls 要转换的URL数组或URL字符串
|
|
25
|
+
* @returns 上传文件对象数组
|
|
26
|
+
*/
|
|
27
|
+
export function urlToUploadFile(urls?: string[] | string) {
|
|
28
|
+
const _urls = urls ? Array.isArray(urls) ? urls : [urls] : [];
|
|
29
|
+
const files = _urls.filter(url => !!url).map(url => ({
|
|
30
|
+
uid: getFileNameByUrl(url),
|
|
31
|
+
name: getFileNameByUrl(url),
|
|
32
|
+
status: 'done',
|
|
33
|
+
url,
|
|
34
|
+
}));
|
|
35
|
+
|
|
36
|
+
return files;
|
|
37
|
+
}
|