@king-one/antdv 1.0.93 → 1.0.94
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/CHANGELOG.md +6 -0
- package/dist/theme-chalk/icon.css +1 -1
- package/dist/theme-chalk/index.css +1 -1
- package/dist/types/components/pro-upload/index.d.ts +103 -0
- package/dist/types/components/pro-upload/src/data.d.ts +9 -0
- package/dist/types/components/pro-upload/src/file-list.d.ts +46 -0
- package/dist/types/components/pro-upload/src/gd-upload.d.ts +99 -0
- package/dist/types/components/pro-upload/src/hooks/index.d.ts +2 -0
- package/dist/types/components/pro-upload/src/hooks/resType.d.ts +35 -0
- package/dist/types/components/pro-upload/src/hooks/useHttp.d.ts +15 -0
- package/dist/types/components/pro-upload/src/hooks/useUpload.d.ts +11 -0
- package/dist/types/components/pro-upload/src/props.d.ts +46 -0
- package/dist/types/components/pro-upload/src/types.d.ts +61 -0
- package/dist/types/components/pro-upload/src/utils/emitter.d.ts +7 -0
- package/dist/types/components/pro-upload/src/utils/index.d.ts +30 -0
- package/global.d.ts +1 -0
- package/package.json +3 -2
package/CHANGELOG.md
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
@font-face{font-family:iconfont;src:url(fonts/iconfont.woff2?t=
|
|
1
|
+
@font-face{font-family:iconfont;src:url(fonts/iconfont.woff2?t=86794) format("woff2"),url(fonts/iconfont.woff?t=69624) format("woff"),url(fonts/iconfont.ttf?t=88709) format("truetype")}.king-icon{font-family:iconfont!important;font-size:16px;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-king-title-icon:before{content:"\e680"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
:root{--king-color-white:#ffffff;--king-color-primary:#409eff;--king-color-success:#67c23a;--king-color-warning:#e6a23c;--king-color-danger:#f56c6c;--king-color-error:#f56c6c;--king-color-info:#909399;--king-transition-duration:0.3s}.king-button--primary{--king-button-text-color:var(--king-color-primary)}.king-button--success{--king-button-text-color:var(--king-color-success)}.king-button--warning{--king-button-text-color:var(--king-color-warning)}.king-button--danger{--king-button-text-color:var(--king-color-danger)}.king-button--error{--king-button-text-color:var(--king-color-error)}.king-button--info{--king-button-text-color:var(--king-color-info)}.king-button{color:var(--king-button-text-color)}.king-scrollbar{overflow:hidden;position:relative;z-index:auto;height:100%;width:100%}.king-scrollbar .king-scrollbar-container{width:100%;overflow:scroll;height:100%;min-height:inherit;max-height:inherit;scrollbar-width:none}.king-scrollbar .king-scrollbar-content{width:-moz-fit-content;width:fit-content}.king-scrollbar .king-scrollbar-rail{position:absolute}.king-scrollbar .king-scrollbar-rail--vertical{right:0;width:5px;top:2px;bottom:2px;right:4px}.king-scrollbar .king-scrollbar-rail--horizontal{bottom:2px;height:5px;left:2px;right:2px}.king-scrollbar .king-scrollbar-rail__scrollbar--vertical{background:rgba(0,0,0,.25);position:absolute;border-radius:5px;width:100%;cursor:pointer}.king-scrollbar .king-scrollbar-rail__scrollbar--horizontal{background:rgba(0,0,0,.25);position:absolute;border-radius:5px;height:100%;cursor:pointer}.v-vl-items{width:-moz-fit-content;width:fit-content}.king-scale-virtual-list{width:100%;height:100%}.king-scale-virtual-list .king-scale-virtual-list-container{margin:0 auto;position:relative}.king-scale-virtual-list .king-scale-vittual-wrapper{width:-moz-fit-content;width:fit-content;margin:0 auto;position:absolute;left:50%}.king-pro-title{border-bottom:1px solid #ccc;font-weight:500;display:flex;align-items:center}.king-pro-title .icon{margin-right:10px}.king-pro-title--unborder{border:none}.king-pro-modal .ant-modal-content{padding:0}.king-pro-modal .ant-modal-header{height:56px;padding-left:32px;padding-right:24px;display:flex;justify-content:space-between;align-items:center;background:#f1f7ff;border-bottom:1px solid #e6e8ea}.king-pro-modal .ant-modal-body{padding:10px 20px;max-height:65vh;overflow:auto}.king-pro-modal .ant-modal-footer{height:56px;display:flex;padding:0 16px;justify-content:flex-end;align-items:center;border-top:1px solid #e6e8ea}.king-pro-modal .ant-modal-title{flex:1}.king-pro-modal .pro-modal-title{cursor:move;width:100%}.king-pro-area-select{width:100%}@font-face{font-family:iconfont;src:url(fonts/iconfont.woff2?t=
|
|
1
|
+
:root{--king-color-white:#ffffff;--king-color-primary:#409eff;--king-color-success:#67c23a;--king-color-warning:#e6a23c;--king-color-danger:#f56c6c;--king-color-error:#f56c6c;--king-color-info:#909399;--king-transition-duration:0.3s}.king-button--primary{--king-button-text-color:var(--king-color-primary)}.king-button--success{--king-button-text-color:var(--king-color-success)}.king-button--warning{--king-button-text-color:var(--king-color-warning)}.king-button--danger{--king-button-text-color:var(--king-color-danger)}.king-button--error{--king-button-text-color:var(--king-color-error)}.king-button--info{--king-button-text-color:var(--king-color-info)}.king-button{color:var(--king-button-text-color)}.king-scrollbar{overflow:hidden;position:relative;z-index:auto;height:100%;width:100%}.king-scrollbar .king-scrollbar-container{width:100%;overflow:scroll;height:100%;min-height:inherit;max-height:inherit;scrollbar-width:none}.king-scrollbar .king-scrollbar-content{width:-moz-fit-content;width:fit-content}.king-scrollbar .king-scrollbar-rail{position:absolute}.king-scrollbar .king-scrollbar-rail--vertical{right:0;width:5px;top:2px;bottom:2px;right:4px}.king-scrollbar .king-scrollbar-rail--horizontal{bottom:2px;height:5px;left:2px;right:2px}.king-scrollbar .king-scrollbar-rail__scrollbar--vertical{background:rgba(0,0,0,.25);position:absolute;border-radius:5px;width:100%;cursor:pointer}.king-scrollbar .king-scrollbar-rail__scrollbar--horizontal{background:rgba(0,0,0,.25);position:absolute;border-radius:5px;height:100%;cursor:pointer}.v-vl-items{width:-moz-fit-content;width:fit-content}.king-scale-virtual-list{width:100%;height:100%}.king-scale-virtual-list .king-scale-virtual-list-container{margin:0 auto;position:relative}.king-scale-virtual-list .king-scale-vittual-wrapper{width:-moz-fit-content;width:fit-content;margin:0 auto;position:absolute;left:50%}.king-pro-title{border-bottom:1px solid #ccc;font-weight:500;display:flex;align-items:center}.king-pro-title .icon{margin-right:10px}.king-pro-title--unborder{border:none}.king-pro-modal .ant-modal-content{padding:0}.king-pro-modal .ant-modal-header{height:56px;padding-left:32px;padding-right:24px;display:flex;justify-content:space-between;align-items:center;background:#f1f7ff;border-bottom:1px solid #e6e8ea}.king-pro-modal .ant-modal-body{padding:10px 20px;max-height:65vh;overflow:auto}.king-pro-modal .ant-modal-footer{height:56px;display:flex;padding:0 16px;justify-content:flex-end;align-items:center;border-top:1px solid #e6e8ea}.king-pro-modal .ant-modal-title{flex:1}.king-pro-modal .pro-modal-title{cursor:move;width:100%}.king-pro-area-select{width:100%}@font-face{font-family:iconfont;src:url(fonts/iconfont.woff2?t=44459) format("woff2"),url(fonts/iconfont.woff?t=88129) format("woff"),url(fonts/iconfont.ttf?t=24337) format("truetype")}.king-icon{font-family:iconfont!important;font-size:16px;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-king-title-icon:before{content:"\e680"}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import { useUpload } from './src/hooks/useUpload';
|
|
2
|
+
import { SFCWithInstall } from '../utils/install';
|
|
3
|
+
import { DefineComponent, PropType, ComponentOptionsMixin, PublicProps, ExtractPropTypes } from 'vue';
|
|
4
|
+
import { UploadPropsType } from './src/types';
|
|
5
|
+
export * from './src/types';
|
|
6
|
+
export { useUpload };
|
|
7
|
+
export declare const KProUpload: SFCWithInstall<DefineComponent<{
|
|
8
|
+
uploadName: {
|
|
9
|
+
type: StringConstructor;
|
|
10
|
+
};
|
|
11
|
+
business: {
|
|
12
|
+
type: StringConstructor;
|
|
13
|
+
required: boolean;
|
|
14
|
+
};
|
|
15
|
+
proxyPrefix: {
|
|
16
|
+
type: PropType< UploadPropsType["proxyPrefix"]>;
|
|
17
|
+
};
|
|
18
|
+
fileList: {
|
|
19
|
+
type: PropType< UploadPropsType["fileList"]>;
|
|
20
|
+
required: boolean;
|
|
21
|
+
default: () => never[];
|
|
22
|
+
};
|
|
23
|
+
accept: {
|
|
24
|
+
type: PropType< UploadPropsType["accept"]>;
|
|
25
|
+
};
|
|
26
|
+
disabled: {
|
|
27
|
+
type: BooleanConstructor;
|
|
28
|
+
default: boolean;
|
|
29
|
+
};
|
|
30
|
+
maxSize: {
|
|
31
|
+
type: PropType< UploadPropsType["maxSize"]>;
|
|
32
|
+
default: number;
|
|
33
|
+
};
|
|
34
|
+
maxCount: {
|
|
35
|
+
type: NumberConstructor;
|
|
36
|
+
default: number;
|
|
37
|
+
};
|
|
38
|
+
http: {
|
|
39
|
+
type: PropType< UploadPropsType["http"]>;
|
|
40
|
+
required: boolean;
|
|
41
|
+
};
|
|
42
|
+
itemWidth: {
|
|
43
|
+
type: PropType< UploadPropsType["itemWidth"]>;
|
|
44
|
+
default: number;
|
|
45
|
+
};
|
|
46
|
+
itemHeight: {
|
|
47
|
+
type: PropType< UploadPropsType["itemHeight"]>;
|
|
48
|
+
default: number;
|
|
49
|
+
};
|
|
50
|
+
}, () => import("vue/jsx-runtime").JSX.Element, unknown, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, "update:fileList"[], "update:fileList", PublicProps, Readonly< ExtractPropTypes<{
|
|
51
|
+
uploadName: {
|
|
52
|
+
type: StringConstructor;
|
|
53
|
+
};
|
|
54
|
+
business: {
|
|
55
|
+
type: StringConstructor;
|
|
56
|
+
required: boolean;
|
|
57
|
+
};
|
|
58
|
+
proxyPrefix: {
|
|
59
|
+
type: PropType< UploadPropsType["proxyPrefix"]>;
|
|
60
|
+
};
|
|
61
|
+
fileList: {
|
|
62
|
+
type: PropType< UploadPropsType["fileList"]>;
|
|
63
|
+
required: boolean;
|
|
64
|
+
default: () => never[];
|
|
65
|
+
};
|
|
66
|
+
accept: {
|
|
67
|
+
type: PropType< UploadPropsType["accept"]>;
|
|
68
|
+
};
|
|
69
|
+
disabled: {
|
|
70
|
+
type: BooleanConstructor;
|
|
71
|
+
default: boolean;
|
|
72
|
+
};
|
|
73
|
+
maxSize: {
|
|
74
|
+
type: PropType< UploadPropsType["maxSize"]>;
|
|
75
|
+
default: number;
|
|
76
|
+
};
|
|
77
|
+
maxCount: {
|
|
78
|
+
type: NumberConstructor;
|
|
79
|
+
default: number;
|
|
80
|
+
};
|
|
81
|
+
http: {
|
|
82
|
+
type: PropType< UploadPropsType["http"]>;
|
|
83
|
+
required: boolean;
|
|
84
|
+
};
|
|
85
|
+
itemWidth: {
|
|
86
|
+
type: PropType< UploadPropsType["itemWidth"]>;
|
|
87
|
+
default: number;
|
|
88
|
+
};
|
|
89
|
+
itemHeight: {
|
|
90
|
+
type: PropType< UploadPropsType["itemHeight"]>;
|
|
91
|
+
default: number;
|
|
92
|
+
};
|
|
93
|
+
}>> & {
|
|
94
|
+
"onUpdate:fileList"?: ((...args: any[]) => any) | undefined;
|
|
95
|
+
}, {
|
|
96
|
+
itemWidth: number | undefined;
|
|
97
|
+
itemHeight: number | undefined;
|
|
98
|
+
disabled: boolean;
|
|
99
|
+
fileList: object[];
|
|
100
|
+
maxSize: number | undefined;
|
|
101
|
+
maxCount: number;
|
|
102
|
+
}, {}>>;
|
|
103
|
+
export default KProUpload;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export type IconTypesKey = 'audio' | 'materials' | 'pdf' | 'ppt' | 'video' | 'xls' | 'zip' | 'img' | 'docx';
|
|
2
|
+
type IconTypes = Record<IconTypesKey, {
|
|
3
|
+
url: any;
|
|
4
|
+
value: string[];
|
|
5
|
+
}> & {
|
|
6
|
+
[key: string]: any;
|
|
7
|
+
};
|
|
8
|
+
export declare const iconTypes: IconTypes;
|
|
9
|
+
export {};
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { PropType, DefineComponent, ComponentOptionsMixin, PublicProps, ExtractPropTypes } from 'vue';
|
|
2
|
+
import { AxiosInstance } from 'axios';
|
|
3
|
+
import { FileListType } from './types';
|
|
4
|
+
declare const _default: DefineComponent<{
|
|
5
|
+
http: {
|
|
6
|
+
type: PropType<AxiosInstance | object | Function>;
|
|
7
|
+
default: () => {};
|
|
8
|
+
};
|
|
9
|
+
itemWidth: {
|
|
10
|
+
type: NumberConstructor;
|
|
11
|
+
default: number;
|
|
12
|
+
};
|
|
13
|
+
itemHeight: {
|
|
14
|
+
type: NumberConstructor;
|
|
15
|
+
default: number;
|
|
16
|
+
};
|
|
17
|
+
list: {
|
|
18
|
+
type: PropType<FileListType[]>;
|
|
19
|
+
default: never[];
|
|
20
|
+
};
|
|
21
|
+
}, () => import("vue/jsx-runtime").JSX.Element, unknown, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, "update:list"[], "update:list", PublicProps, Readonly< ExtractPropTypes<{
|
|
22
|
+
http: {
|
|
23
|
+
type: PropType<AxiosInstance | object | Function>;
|
|
24
|
+
default: () => {};
|
|
25
|
+
};
|
|
26
|
+
itemWidth: {
|
|
27
|
+
type: NumberConstructor;
|
|
28
|
+
default: number;
|
|
29
|
+
};
|
|
30
|
+
itemHeight: {
|
|
31
|
+
type: NumberConstructor;
|
|
32
|
+
default: number;
|
|
33
|
+
};
|
|
34
|
+
list: {
|
|
35
|
+
type: PropType<FileListType[]>;
|
|
36
|
+
default: never[];
|
|
37
|
+
};
|
|
38
|
+
}>> & {
|
|
39
|
+
"onUpdate:list"?: ((...args: any[]) => any) | undefined;
|
|
40
|
+
}, {
|
|
41
|
+
itemWidth: number;
|
|
42
|
+
itemHeight: number;
|
|
43
|
+
list: FileListType[];
|
|
44
|
+
http: object | Function | AxiosInstance;
|
|
45
|
+
}, {}>;
|
|
46
|
+
export default _default;
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import { DefineComponent, PropType, ComponentOptionsMixin, PublicProps, ExtractPropTypes } from 'vue';
|
|
2
|
+
import { UploadPropsType } from './types';
|
|
3
|
+
declare const _default: DefineComponent<{
|
|
4
|
+
uploadName: {
|
|
5
|
+
type: StringConstructor;
|
|
6
|
+
};
|
|
7
|
+
business: {
|
|
8
|
+
type: StringConstructor;
|
|
9
|
+
required: boolean;
|
|
10
|
+
};
|
|
11
|
+
proxyPrefix: {
|
|
12
|
+
type: PropType< UploadPropsType["proxyPrefix"]>;
|
|
13
|
+
};
|
|
14
|
+
fileList: {
|
|
15
|
+
type: PropType< UploadPropsType["fileList"]>;
|
|
16
|
+
required: boolean;
|
|
17
|
+
default: () => never[];
|
|
18
|
+
};
|
|
19
|
+
accept: {
|
|
20
|
+
type: PropType< UploadPropsType["accept"]>;
|
|
21
|
+
};
|
|
22
|
+
disabled: {
|
|
23
|
+
type: BooleanConstructor;
|
|
24
|
+
default: boolean;
|
|
25
|
+
};
|
|
26
|
+
maxSize: {
|
|
27
|
+
type: PropType< UploadPropsType["maxSize"]>;
|
|
28
|
+
default: number;
|
|
29
|
+
};
|
|
30
|
+
maxCount: {
|
|
31
|
+
type: NumberConstructor;
|
|
32
|
+
default: number;
|
|
33
|
+
};
|
|
34
|
+
http: {
|
|
35
|
+
type: PropType< UploadPropsType["http"]>;
|
|
36
|
+
required: boolean;
|
|
37
|
+
};
|
|
38
|
+
itemWidth: {
|
|
39
|
+
type: PropType< UploadPropsType["itemWidth"]>;
|
|
40
|
+
default: number;
|
|
41
|
+
};
|
|
42
|
+
itemHeight: {
|
|
43
|
+
type: PropType< UploadPropsType["itemHeight"]>;
|
|
44
|
+
default: number;
|
|
45
|
+
};
|
|
46
|
+
}, () => import("vue/jsx-runtime").JSX.Element, unknown, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, "update:fileList"[], "update:fileList", PublicProps, Readonly< ExtractPropTypes<{
|
|
47
|
+
uploadName: {
|
|
48
|
+
type: StringConstructor;
|
|
49
|
+
};
|
|
50
|
+
business: {
|
|
51
|
+
type: StringConstructor;
|
|
52
|
+
required: boolean;
|
|
53
|
+
};
|
|
54
|
+
proxyPrefix: {
|
|
55
|
+
type: PropType< UploadPropsType["proxyPrefix"]>;
|
|
56
|
+
};
|
|
57
|
+
fileList: {
|
|
58
|
+
type: PropType< UploadPropsType["fileList"]>;
|
|
59
|
+
required: boolean;
|
|
60
|
+
default: () => never[];
|
|
61
|
+
};
|
|
62
|
+
accept: {
|
|
63
|
+
type: PropType< UploadPropsType["accept"]>;
|
|
64
|
+
};
|
|
65
|
+
disabled: {
|
|
66
|
+
type: BooleanConstructor;
|
|
67
|
+
default: boolean;
|
|
68
|
+
};
|
|
69
|
+
maxSize: {
|
|
70
|
+
type: PropType< UploadPropsType["maxSize"]>;
|
|
71
|
+
default: number;
|
|
72
|
+
};
|
|
73
|
+
maxCount: {
|
|
74
|
+
type: NumberConstructor;
|
|
75
|
+
default: number;
|
|
76
|
+
};
|
|
77
|
+
http: {
|
|
78
|
+
type: PropType< UploadPropsType["http"]>;
|
|
79
|
+
required: boolean;
|
|
80
|
+
};
|
|
81
|
+
itemWidth: {
|
|
82
|
+
type: PropType< UploadPropsType["itemWidth"]>;
|
|
83
|
+
default: number;
|
|
84
|
+
};
|
|
85
|
+
itemHeight: {
|
|
86
|
+
type: PropType< UploadPropsType["itemHeight"]>;
|
|
87
|
+
default: number;
|
|
88
|
+
};
|
|
89
|
+
}>> & {
|
|
90
|
+
"onUpdate:fileList"?: ((...args: any[]) => any) | undefined;
|
|
91
|
+
}, {
|
|
92
|
+
itemWidth: number | undefined;
|
|
93
|
+
itemHeight: number | undefined;
|
|
94
|
+
disabled: boolean;
|
|
95
|
+
fileList: object[];
|
|
96
|
+
maxSize: number | undefined;
|
|
97
|
+
maxCount: number;
|
|
98
|
+
}, {}>;
|
|
99
|
+
export default _default;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
export type ResponseType<T = any> = {
|
|
2
|
+
data: T;
|
|
3
|
+
msg: string;
|
|
4
|
+
status: number | string;
|
|
5
|
+
token: any;
|
|
6
|
+
traceId: any;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* 获取上传url的type
|
|
10
|
+
*/
|
|
11
|
+
export type GetUrlType = ResponseType;
|
|
12
|
+
export type UploadFileResType = {
|
|
13
|
+
id: string;
|
|
14
|
+
originName: string;
|
|
15
|
+
size: number;
|
|
16
|
+
type: string;
|
|
17
|
+
md5: string;
|
|
18
|
+
business: string;
|
|
19
|
+
storeName: string;
|
|
20
|
+
savePath: string;
|
|
21
|
+
multiStorage: boolean;
|
|
22
|
+
};
|
|
23
|
+
export type UploadFileType = ResponseType<UploadFileResType>;
|
|
24
|
+
export type FileDetailType = ResponseType<{
|
|
25
|
+
id: string;
|
|
26
|
+
originName: string;
|
|
27
|
+
size: number;
|
|
28
|
+
type: string;
|
|
29
|
+
md5: string;
|
|
30
|
+
permanentTicket: string;
|
|
31
|
+
status: string;
|
|
32
|
+
business: string;
|
|
33
|
+
createTime: string;
|
|
34
|
+
multiStorage: boolean;
|
|
35
|
+
}[]>;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { AxiosRequestConfig, AxiosInstance } from 'axios';
|
|
2
|
+
import { GetUrlType, UploadFileType, ResponseType, FileDetailType } from './resType';
|
|
3
|
+
export declare function useHttp(http: AxiosInstance): {
|
|
4
|
+
getUploadUrl: (config?: AxiosRequestConfig) => Promise<GetUrlType>;
|
|
5
|
+
uploadFileApi: (url: string, config: any) => Promise<UploadFileType>;
|
|
6
|
+
deleteFileApi: (config: AxiosRequestConfig) => Promise<ResponseType>;
|
|
7
|
+
getDownloadUrlApi: (config: any) => Promise<ResponseType<string[]>>;
|
|
8
|
+
downloadFileApi: (url: string, config: AxiosRequestConfig<{
|
|
9
|
+
fileId: string;
|
|
10
|
+
ticket: string;
|
|
11
|
+
}>) => Promise<any>;
|
|
12
|
+
getFileDetailApi: (config: {
|
|
13
|
+
fileIds: string[];
|
|
14
|
+
}) => Promise<FileDetailType>;
|
|
15
|
+
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { AxiosInstance } from 'axios';
|
|
2
|
+
import { IUploadFileConfig } from '../types';
|
|
3
|
+
import { UploadFileResType, FileDetailType } from './resType';
|
|
4
|
+
export declare function useUpload(httpConfig: AxiosInstance): {
|
|
5
|
+
uploadFile: (config: IUploadFileConfig) => Promise< UploadFileResType>;
|
|
6
|
+
downloadFile: (config: string[]) => Promise<boolean>;
|
|
7
|
+
getImgUrl: (config: string[]) => Promise<string[]>;
|
|
8
|
+
getFileDetails: (config: string[]) => Promise<ReturnType<(config: {
|
|
9
|
+
fileIds: string[];
|
|
10
|
+
}) => Promise< FileDetailType>>>;
|
|
11
|
+
};
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { PropType } from 'vue';
|
|
2
|
+
import { UploadPropsType } from './types';
|
|
3
|
+
export declare const UploadComponentProps: {
|
|
4
|
+
uploadName: {
|
|
5
|
+
type: StringConstructor;
|
|
6
|
+
};
|
|
7
|
+
business: {
|
|
8
|
+
type: StringConstructor;
|
|
9
|
+
required: boolean;
|
|
10
|
+
};
|
|
11
|
+
proxyPrefix: {
|
|
12
|
+
type: PropType<UploadPropsType["proxyPrefix"]>;
|
|
13
|
+
};
|
|
14
|
+
fileList: {
|
|
15
|
+
type: PropType<UploadPropsType["fileList"]>;
|
|
16
|
+
required: boolean;
|
|
17
|
+
default: () => never[];
|
|
18
|
+
};
|
|
19
|
+
accept: {
|
|
20
|
+
type: PropType<UploadPropsType["accept"]>;
|
|
21
|
+
};
|
|
22
|
+
disabled: {
|
|
23
|
+
type: BooleanConstructor;
|
|
24
|
+
default: boolean;
|
|
25
|
+
};
|
|
26
|
+
maxSize: {
|
|
27
|
+
type: PropType<UploadPropsType["maxSize"]>;
|
|
28
|
+
default: number;
|
|
29
|
+
};
|
|
30
|
+
maxCount: {
|
|
31
|
+
type: NumberConstructor;
|
|
32
|
+
default: number;
|
|
33
|
+
};
|
|
34
|
+
http: {
|
|
35
|
+
type: PropType<UploadPropsType["http"]>;
|
|
36
|
+
required: boolean;
|
|
37
|
+
};
|
|
38
|
+
itemWidth: {
|
|
39
|
+
type: PropType<UploadPropsType["itemWidth"]>;
|
|
40
|
+
default: number;
|
|
41
|
+
};
|
|
42
|
+
itemHeight: {
|
|
43
|
+
type: PropType<UploadPropsType["itemHeight"]>;
|
|
44
|
+
default: number;
|
|
45
|
+
};
|
|
46
|
+
};
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { AxiosInstance } from 'axios';
|
|
2
|
+
export type UploadPropsType = {
|
|
3
|
+
uploadName?: string;
|
|
4
|
+
/**
|
|
5
|
+
* 业务类型,如: seal
|
|
6
|
+
*/
|
|
7
|
+
business: string;
|
|
8
|
+
/**
|
|
9
|
+
* proxy 代理的关键字 如: '/api'
|
|
10
|
+
* 这个主要是用来做图片的回显操作,获取回显地址接口返回的是一个相对路径
|
|
11
|
+
* 也就是说跟着项目服务走的,所以这边要跟着使用项目的代理去走,到时候做好判断
|
|
12
|
+
* 如果是build的时候,把这个代理去掉,使用import.meta.env.PROD判断当前环境
|
|
13
|
+
*/
|
|
14
|
+
proxyPrefix?: string;
|
|
15
|
+
/**
|
|
16
|
+
* 接受上传的文件类型, 详见 input accept Attribute
|
|
17
|
+
* 如果不做限制,不需要使用该属性
|
|
18
|
+
*/
|
|
19
|
+
accept?: string[];
|
|
20
|
+
/**
|
|
21
|
+
* 是否禁用
|
|
22
|
+
*/
|
|
23
|
+
disabled?: boolean;
|
|
24
|
+
/**
|
|
25
|
+
* 限制上传数量。当为 1 时,始终用最新上传的文件代替当前文件
|
|
26
|
+
*/
|
|
27
|
+
maxCount?: number;
|
|
28
|
+
/**
|
|
29
|
+
* 允许文件最大值
|
|
30
|
+
*/
|
|
31
|
+
maxSize?: number;
|
|
32
|
+
/**
|
|
33
|
+
* 已经上传的文件列表(受控)
|
|
34
|
+
*/
|
|
35
|
+
fileList: Array<object>;
|
|
36
|
+
/**
|
|
37
|
+
* 项目的axios实例,主要是用项目的拦截器相关配配置
|
|
38
|
+
*/
|
|
39
|
+
http: AxiosInstance | Function | object;
|
|
40
|
+
/**
|
|
41
|
+
* img 的宽
|
|
42
|
+
*/
|
|
43
|
+
itemWidth?: number;
|
|
44
|
+
/**
|
|
45
|
+
* img 的高
|
|
46
|
+
*/
|
|
47
|
+
itemHeight?: number;
|
|
48
|
+
};
|
|
49
|
+
export type FileListType = {
|
|
50
|
+
icon: any;
|
|
51
|
+
type?: string;
|
|
52
|
+
fileName?: string;
|
|
53
|
+
id?: string;
|
|
54
|
+
size?: number;
|
|
55
|
+
status?: 'done' | 'uploading' | 'error';
|
|
56
|
+
spining?: false | true;
|
|
57
|
+
};
|
|
58
|
+
export type IUploadFileConfig = {
|
|
59
|
+
business: string;
|
|
60
|
+
file: File;
|
|
61
|
+
};
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 获取文件后缀名,传入文件名+后缀名如aaa.png
|
|
3
|
+
* @param filename
|
|
4
|
+
*/
|
|
5
|
+
export declare function getFileExtension(filename: string): string;
|
|
6
|
+
interface UrlParams {
|
|
7
|
+
[key: string]: string;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* 根据url获取path以及params
|
|
11
|
+
* @param url
|
|
12
|
+
*/
|
|
13
|
+
export declare function parseUrl(url: string): {
|
|
14
|
+
path: string;
|
|
15
|
+
params: UrlParams;
|
|
16
|
+
};
|
|
17
|
+
export declare function getUploadIcon(extension: string): string;
|
|
18
|
+
/**
|
|
19
|
+
* 根据file对象获得对应的base64
|
|
20
|
+
* @param file
|
|
21
|
+
*/
|
|
22
|
+
export declare function getBase64(file: File): Promise<unknown>;
|
|
23
|
+
/**
|
|
24
|
+
* 根据文件流下载文件
|
|
25
|
+
* @param blob
|
|
26
|
+
* @param fileName
|
|
27
|
+
* @param fileType
|
|
28
|
+
*/
|
|
29
|
+
export declare function getDownloadFile(blob: Blob, fileName: string, fileType: string): void;
|
|
30
|
+
export {};
|
package/global.d.ts
CHANGED
|
@@ -12,6 +12,7 @@ declare module 'vue' {
|
|
|
12
12
|
KProTable: typeof import('@king-one/antdv')['KProTable'];
|
|
13
13
|
KProTag: typeof import('@king-one/antdv')['KProTag'];
|
|
14
14
|
KProTitle: typeof import('@king-one/antdv')['KProTitle'];
|
|
15
|
+
KProUpload: typeof import('@king-one/antdv')['KProUpload'];
|
|
15
16
|
KScaleVirtualList: typeof import('@king-one/antdv')['KScaleVirtualList'];
|
|
16
17
|
KScrollBar: typeof import('@king-one/antdv')['KScrollBar'];
|
|
17
18
|
}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@king-one/antdv",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "1.0.
|
|
4
|
+
"version": "1.0.94",
|
|
5
5
|
"description": "",
|
|
6
6
|
"author": "",
|
|
7
7
|
"license": "ISC",
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
"async-validator": "^4.2.5",
|
|
21
21
|
"axios": "^1.6.2",
|
|
22
22
|
"lodash-es": "^4.17.21",
|
|
23
|
-
"vue": "
|
|
23
|
+
"vue": "^3.4.34"
|
|
24
24
|
},
|
|
25
25
|
"publishConfig": {
|
|
26
26
|
"access": "public",
|
|
@@ -30,6 +30,7 @@
|
|
|
30
30
|
"@vueuse/core": "^10.11.0",
|
|
31
31
|
"@vueuse/shared": "^11.0.0",
|
|
32
32
|
"evtd": "^0.2.4",
|
|
33
|
+
"mitt": "^3.0.1",
|
|
33
34
|
"@king-one/utils": "^1.0.12"
|
|
34
35
|
},
|
|
35
36
|
"custom": {
|