giime 0.7.2 → 0.7.3
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/es/components/src/business/uploadPro/UploadPro.vue.d.ts +0 -3
- package/es/components/src/business/uploadPro/index.d.ts +0 -7
- package/es/components/src/business/uploadPro/uploadPro.d.ts +0 -1
- package/es/components/src/business/uploadPro/uploadPro.mjs +1 -2
- package/es/components/src/business/uploadPro/uploadPro.mjs.map +1 -1
- package/es/constants/key.d.ts +2 -0
- package/es/constants/key.mjs.map +1 -1
- package/es/giime/version.d.ts +1 -1
- package/es/giime/version.mjs +1 -1
- package/es/giime/version.mjs.map +1 -1
- package/es/hooks/base/useUploadFile/index.mjs +3 -1
- package/es/hooks/base/useUploadFile/index.mjs.map +1 -1
- package/lib/components/src/business/uploadPro/UploadPro.vue.d.ts +0 -3
- package/lib/components/src/business/uploadPro/index.d.ts +0 -7
- package/lib/components/src/business/uploadPro/uploadPro.d.ts +0 -1
- package/lib/components/src/business/uploadPro/uploadPro.js +1 -2
- package/lib/components/src/business/uploadPro/uploadPro.js.map +1 -1
- package/lib/constants/key.d.ts +2 -0
- package/lib/constants/key.js.map +1 -1
- package/lib/giime/version.d.ts +1 -1
- package/lib/giime/version.js +1 -1
- package/lib/giime/version.js.map +1 -1
- package/lib/hooks/base/useUploadFile/index.js +3 -1
- package/lib/hooks/base/useUploadFile/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -18,7 +18,6 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
|
|
|
18
18
|
};
|
|
19
19
|
sceneCode: {
|
|
20
20
|
type: StringConstructor;
|
|
21
|
-
default: string;
|
|
22
21
|
};
|
|
23
22
|
acl: {
|
|
24
23
|
type: StringConstructor;
|
|
@@ -678,7 +677,6 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
|
|
|
678
677
|
};
|
|
679
678
|
sceneCode: {
|
|
680
679
|
type: StringConstructor;
|
|
681
|
-
default: string;
|
|
682
680
|
};
|
|
683
681
|
acl: {
|
|
684
682
|
type: StringConstructor;
|
|
@@ -862,7 +860,6 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
|
|
|
862
860
|
autoUpload: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
863
861
|
listType: import("element-plus/es/utils").EpPropMergeType<StringConstructor, "text" | "picture" | "picture-card", unknown>;
|
|
864
862
|
httpRequest: import("element-plus").UploadRequestHandler;
|
|
865
|
-
sceneCode: string;
|
|
866
863
|
acl: string;
|
|
867
864
|
showLoading: boolean;
|
|
868
865
|
showDelete: boolean;
|
|
@@ -19,7 +19,6 @@ export declare const GmUploadPro: import("../../../../utils").SFCWithInstall<{
|
|
|
19
19
|
};
|
|
20
20
|
sceneCode: {
|
|
21
21
|
type: StringConstructor;
|
|
22
|
-
default: string;
|
|
23
22
|
};
|
|
24
23
|
acl: {
|
|
25
24
|
type: StringConstructor;
|
|
@@ -686,7 +685,6 @@ export declare const GmUploadPro: import("../../../../utils").SFCWithInstall<{
|
|
|
686
685
|
};
|
|
687
686
|
sceneCode: {
|
|
688
687
|
type: StringConstructor;
|
|
689
|
-
default: string;
|
|
690
688
|
};
|
|
691
689
|
acl: {
|
|
692
690
|
type: StringConstructor;
|
|
@@ -870,7 +868,6 @@ export declare const GmUploadPro: import("../../../../utils").SFCWithInstall<{
|
|
|
870
868
|
autoUpload: import("element-plus/es/utils/index.js").EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
871
869
|
listType: import("element-plus/es/utils/index.js").EpPropMergeType<StringConstructor, "text" | "picture" | "picture-card", unknown>;
|
|
872
870
|
httpRequest: import("element-plus").UploadRequestHandler;
|
|
873
|
-
sceneCode: string;
|
|
874
871
|
acl: string;
|
|
875
872
|
showLoading: boolean;
|
|
876
873
|
showDelete: boolean;
|
|
@@ -904,7 +901,6 @@ export declare const GmUploadPro: import("../../../../utils").SFCWithInstall<{
|
|
|
904
901
|
};
|
|
905
902
|
sceneCode: {
|
|
906
903
|
type: StringConstructor;
|
|
907
|
-
default: string;
|
|
908
904
|
};
|
|
909
905
|
acl: {
|
|
910
906
|
type: StringConstructor;
|
|
@@ -1570,7 +1566,6 @@ export declare const GmUploadPro: import("../../../../utils").SFCWithInstall<{
|
|
|
1570
1566
|
autoUpload: import("element-plus/es/utils/index.js").EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
1571
1567
|
listType: import("element-plus/es/utils/index.js").EpPropMergeType<StringConstructor, "text" | "picture" | "picture-card", unknown>;
|
|
1572
1568
|
httpRequest: import("element-plus").UploadRequestHandler;
|
|
1573
|
-
sceneCode: string;
|
|
1574
1569
|
acl: string;
|
|
1575
1570
|
showLoading: boolean;
|
|
1576
1571
|
showDelete: boolean;
|
|
@@ -1601,7 +1596,6 @@ export declare const GmUploadPro: import("../../../../utils").SFCWithInstall<{
|
|
|
1601
1596
|
};
|
|
1602
1597
|
sceneCode: {
|
|
1603
1598
|
type: StringConstructor;
|
|
1604
|
-
default: string;
|
|
1605
1599
|
};
|
|
1606
1600
|
acl: {
|
|
1607
1601
|
type: StringConstructor;
|
|
@@ -2274,7 +2268,6 @@ export declare const GmUploadPro: import("../../../../utils").SFCWithInstall<{
|
|
|
2274
2268
|
autoUpload: import("element-plus/es/utils/index.js").EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
2275
2269
|
listType: import("element-plus/es/utils/index.js").EpPropMergeType<StringConstructor, "text" | "picture" | "picture-card", unknown>;
|
|
2276
2270
|
httpRequest: import("element-plus").UploadRequestHandler;
|
|
2277
|
-
sceneCode: string;
|
|
2278
2271
|
acl: string;
|
|
2279
2272
|
showLoading: boolean;
|
|
2280
2273
|
showDelete: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uploadPro.mjs","sources":["../../../../../../../packages/components/src/business/uploadPro/uploadPro.ts"],"sourcesContent":["import { type PropType } from 'vue';\nimport { type UploadFile, type UploadProps, uploadProps, type UploadUserFile } from 'element-plus';\nimport type { ResourceUrlResponse } from '@giime/api/resource/interface';\n// import { previewFileProps } from '../../composite/previewFile/previewFile';\n\nexport const uploadFileProps = {\n ...uploadProps,\n // ...previewFileProps,\n listType: {\n type: String as PropType<UploadProps['listType']>,\n default: 'picture-card',\n },\n drag: {\n type: Boolean,\n default: true,\n },\n /**领域编码 */\n domainCode: {\n type: String,\n },\n /**场景编码 */\n sceneCode: {\n type: String,\n
|
|
1
|
+
{"version":3,"file":"uploadPro.mjs","sources":["../../../../../../../packages/components/src/business/uploadPro/uploadPro.ts"],"sourcesContent":["import { type PropType } from 'vue';\nimport { type UploadFile, type UploadProps, uploadProps, type UploadUserFile } from 'element-plus';\nimport type { ResourceUrlResponse } from '@giime/api/resource/interface';\n// import { previewFileProps } from '../../composite/previewFile/previewFile';\n\nexport const uploadFileProps = {\n ...uploadProps,\n // ...previewFileProps,\n listType: {\n type: String as PropType<UploadProps['listType']>,\n default: 'picture-card',\n },\n drag: {\n type: Boolean,\n default: true,\n },\n /**领域编码 */\n domainCode: {\n type: String,\n },\n /**场景编码 */\n sceneCode: {\n type: String,\n },\n /** 文件权限,默认继承桶 */\n acl: {\n type: String,\n default: 'default',\n },\n /**上传中是否loading */\n showLoading: {\n type: Boolean,\n default: false,\n },\n /** 是否展示删除按钮 */\n showDelete: {\n type: Boolean,\n default: true,\n },\n /**禁用删除按钮的uid列表 */\n disabledDeleteUids: {\n type: Array as PropType<number[]>,\n default: () => [],\n },\n /** 删除时提示 */\n deleteTip: {\n type: Boolean,\n default: false,\n },\n /** 是否开启文件多选 */\n checkbox: {\n type: Boolean,\n default: false,\n },\n /**禁用多选按钮的uid列表 */\n disabledCheckboxUids: {\n type: Array as PropType<number[]>,\n default: () => [],\n },\n /** 缩略图宽度 */\n width: {\n type: Number,\n default: 120,\n },\n /** 缩略图高度 */\n height: {\n type: Number,\n default: 120,\n },\n /**全部文件上传完成事件 */\n onAllComplete: {\n type: Function as PropType<() => void>,\n default: () => {},\n },\n};\n\nexport type GmUploadProUserFileResponse = ResourceUrlResponse;\n\nexport type GmUploadProUserFile = Omit<UploadUserFile, 'response'> & { response?: GmUploadProUserFileResponse };\n"],"names":[],"mappings":";;AAKO,MAAM,eAAkB,GAAA;AAAA,EAC7B,GAAG,WAAA;AAAA;AAAA,EAEH,QAAU,EAAA;AAAA,IACR,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,cAAA;AAAA,GACX;AAAA,EACA,IAAM,EAAA;AAAA,IACJ,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,IAAA;AAAA,GACX;AAAA;AAAA,EAEA,UAAY,EAAA;AAAA,IACV,IAAM,EAAA,MAAA;AAAA,GACR;AAAA;AAAA,EAEA,SAAW,EAAA;AAAA,IACT,IAAM,EAAA,MAAA;AAAA,GACR;AAAA;AAAA,EAEA,GAAK,EAAA;AAAA,IACH,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,SAAA;AAAA,GACX;AAAA;AAAA,EAEA,WAAa,EAAA;AAAA,IACX,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,KAAA;AAAA,GACX;AAAA;AAAA,EAEA,UAAY,EAAA;AAAA,IACV,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,IAAA;AAAA,GACX;AAAA;AAAA,EAEA,kBAAoB,EAAA;AAAA,IAClB,IAAM,EAAA,KAAA;AAAA,IACN,OAAA,EAAS,MAAM,EAAC;AAAA,GAClB;AAAA;AAAA,EAEA,SAAW,EAAA;AAAA,IACT,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,KAAA;AAAA,GACX;AAAA;AAAA,EAEA,QAAU,EAAA;AAAA,IACR,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,KAAA;AAAA,GACX;AAAA;AAAA,EAEA,oBAAsB,EAAA;AAAA,IACpB,IAAM,EAAA,KAAA;AAAA,IACN,OAAA,EAAS,MAAM,EAAC;AAAA,GAClB;AAAA;AAAA,EAEA,KAAO,EAAA;AAAA,IACL,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,GAAA;AAAA,GACX;AAAA;AAAA,EAEA,MAAQ,EAAA;AAAA,IACN,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,GAAA;AAAA,GACX;AAAA;AAAA,EAEA,aAAe,EAAA;AAAA,IACb,IAAM,EAAA,QAAA;AAAA,IACN,SAAS,MAAM;AAAA,KAAC;AAAA,GAClB;AACF;;;;"}
|
package/es/constants/key.d.ts
CHANGED
|
@@ -14,6 +14,8 @@ export interface ConfigProviderContext {
|
|
|
14
14
|
};
|
|
15
15
|
/**领域编码 */
|
|
16
16
|
domainCode?: string;
|
|
17
|
+
/**场景编码 */
|
|
18
|
+
sceneCode?: string;
|
|
17
19
|
}
|
|
18
20
|
export declare const configProviderContextKey: InjectionKey<Ref<ConfigProviderContext>>;
|
|
19
21
|
export declare const INSTALLED_KEY: unique symbol;
|
package/es/constants/key.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"key.mjs","sources":["../../../../packages/constants/key.ts"],"sourcesContent":["import type { Router } from 'vue-router';\nimport type { loginDialogProps } from '@giime/components/src/business/loginDialog/loginDialog';\nimport type { ExtractPublicPropTypes, InjectionKey, Ref } from 'vue';\nexport interface ConfigProviderContext {\n // 用户端环境变量\n env: ImportMetaEnv;\n // 用户端路由\n router?: Router;\n disabledLoginDialog?: boolean;\n disabledRectSelect?: boolean;\n loginDialog?: ExtractPublicPropTypes<typeof loginDialogProps>;\n /**对消息进行配置 */\n message?: {\n plain?: boolean;\n };\n /**领域编码 */\n domainCode?: string;\n}\n\nexport const configProviderContextKey: InjectionKey<Ref<ConfigProviderContext>> = Symbol();\n\nexport const INSTALLED_KEY = Symbol('INSTALLED_KEY');\nexport const ImportMetaEnvKey: InjectionKey<ImportMetaEnv> = Symbol('ImportMetaEnvKey');\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"key.mjs","sources":["../../../../packages/constants/key.ts"],"sourcesContent":["import type { Router } from 'vue-router';\nimport type { loginDialogProps } from '@giime/components/src/business/loginDialog/loginDialog';\nimport type { ExtractPublicPropTypes, InjectionKey, Ref } from 'vue';\nexport interface ConfigProviderContext {\n // 用户端环境变量\n env: ImportMetaEnv;\n // 用户端路由\n router?: Router;\n disabledLoginDialog?: boolean;\n disabledRectSelect?: boolean;\n loginDialog?: ExtractPublicPropTypes<typeof loginDialogProps>;\n /**对消息进行配置 */\n message?: {\n plain?: boolean;\n };\n /**领域编码 */\n domainCode?: string;\n /**场景编码 */\n sceneCode?: string;\n}\n\nexport const configProviderContextKey: InjectionKey<Ref<ConfigProviderContext>> = Symbol();\n\nexport const INSTALLED_KEY = Symbol('INSTALLED_KEY');\nexport const ImportMetaEnvKey: InjectionKey<ImportMetaEnv> = Symbol('ImportMetaEnvKey');\n"],"names":[],"mappings":"AAqBO,MAAM,2BAAqE,MAAO,GAAA;AAE5E,MAAA,aAAA,GAAgB,OAAO,eAAe,EAAA;AACtC,MAAA,gBAAA,GAAgD,OAAO,kBAAkB;;;;"}
|
package/es/giime/version.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const version = "0.7.
|
|
1
|
+
export declare const version = "0.7.3";
|
package/es/giime/version.mjs
CHANGED
package/es/giime/version.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version.mjs","sources":["../../../../packages/giime/version.ts"],"sourcesContent":["export const version = '0.7.
|
|
1
|
+
{"version":3,"file":"version.mjs","sources":["../../../../packages/giime/version.ts"],"sourcesContent":["export const version = '0.7.2';\n"],"names":[],"mappings":"AAAO,MAAM,OAAU,GAAA;;;;"}
|
|
@@ -10,9 +10,11 @@ import { postResourceV1ResourcesUrl } from '../../../api/resource/controller/ZiY
|
|
|
10
10
|
const useUploadFile = () => {
|
|
11
11
|
const isLoading = ref(false);
|
|
12
12
|
const domainCode = useGlobalConfig("domainCode");
|
|
13
|
+
const sceneCode = useGlobalConfig("sceneCode");
|
|
13
14
|
const abortControllers = ref(/* @__PURE__ */ new Map());
|
|
14
15
|
const uploadFile = async (file, options) => {
|
|
15
16
|
const uploadDomainCode = options?.domainCode ?? domainCode.value;
|
|
17
|
+
const uploadSceneCode = (options?.sceneCode ?? sceneCode.value) || "internal_oss";
|
|
16
18
|
if (!uploadDomainCode) {
|
|
17
19
|
GmMessage.error("\u9886\u57DF\u7F16\u7801\u4E0D\u80FD\u4E3A\u7A7A");
|
|
18
20
|
throw new Error("\u9886\u57DF\u7F16\u7801\u4E0D\u80FD\u4E3A\u7A7A");
|
|
@@ -34,7 +36,7 @@ const useUploadFile = () => {
|
|
|
34
36
|
const { data } = await postResourceV1ResourcesUrl({
|
|
35
37
|
domainCode: uploadDomainCode,
|
|
36
38
|
// 领域编码
|
|
37
|
-
sceneCode:
|
|
39
|
+
sceneCode: uploadSceneCode,
|
|
38
40
|
// 场景编码
|
|
39
41
|
fileName: file.name,
|
|
40
42
|
contentType: file.type,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../../../../../packages/hooks/base/useUploadFile/index.ts"],"sourcesContent":["import axios from 'axios';\nimport { ref } from 'vue';\nimport { postResourceV1ResourcesUrl } from '@giime/api/resource/controller';\nimport { fileMd5, fileValidType, genFileId } from '@giime/utils/src/file';\nimport { GmMessage } from '@giime/components/src/plugins/message';\nimport { useGlobalConfig } from '@giime/hooks/base/useGlobalConfig';\nimport type { UploadProgressEvent, UploadRawFile, UploadRequestOptions } from 'element-plus';\n\nexport interface UseUploadFileOptions {\n /**领域编码 */\n domainCode?: string;\n /**场景编码 */\n sceneCode?: string;\n /**接受上传的文件类型 */\n accept?: string;\n /**文件权限,默认继承桶 */\n acl?: string;\n /**是否禁止上传文件到存储桶 */\n disablePutFile?: boolean;\n /** */\n elOptions?: UploadRequestOptions;\n}\n\nexport const useUploadFile = () => {\n const isLoading = ref(false);\n const domainCode = useGlobalConfig('domainCode');\n // 存储每个文件的取消控制器\n const abortControllers = ref<Map<number, AbortController>>(new Map());\n\n const uploadFile = async (file: UploadRawFile, options?: UseUploadFileOptions) => {\n // 领域编码\n const uploadDomainCode = options?.domainCode ?? domainCode.value;\n if (!uploadDomainCode) {\n GmMessage.error('领域编码不能为空');\n throw new Error('领域编码不能为空');\n }\n\n // 创建取消控制器\n const abortController = new AbortController();\n const fileKey = file.uid ?? genFileId();\n abortControllers.value.set(fileKey, abortController);\n\n try {\n isLoading.value = true;\n // 验证文件类型\n if (options?.accept && options?.accept !== '*') {\n const isValidType = fileValidType(file, options.accept);\n if (!isValidType) {\n GmMessage.error(`文件类型不支持,请上传 ${options.accept} 格式的文件`);\n throw new Error(`文件类型不支持,请上传 ${options.accept} 格式的文件`);\n }\n }\n const md5 = await fileMd5(file);\n const acl = options?.acl || 'default';\n const { data } = await postResourceV1ResourcesUrl({\n domainCode: uploadDomainCode, // 领域编码\n sceneCode:
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../../../../../packages/hooks/base/useUploadFile/index.ts"],"sourcesContent":["import axios from 'axios';\nimport { ref } from 'vue';\nimport { postResourceV1ResourcesUrl } from '@giime/api/resource/controller';\nimport { fileMd5, fileValidType, genFileId } from '@giime/utils/src/file';\nimport { GmMessage } from '@giime/components/src/plugins/message';\nimport { useGlobalConfig } from '@giime/hooks/base/useGlobalConfig';\nimport type { UploadProgressEvent, UploadRawFile, UploadRequestOptions } from 'element-plus';\n\nexport interface UseUploadFileOptions {\n /**领域编码 */\n domainCode?: string;\n /**场景编码 */\n sceneCode?: string;\n /**接受上传的文件类型 */\n accept?: string;\n /**文件权限,默认继承桶 */\n acl?: string;\n /**是否禁止上传文件到存储桶 */\n disablePutFile?: boolean;\n /** */\n elOptions?: UploadRequestOptions;\n}\n\nexport const useUploadFile = () => {\n const isLoading = ref(false);\n const domainCode = useGlobalConfig('domainCode');\n const sceneCode = useGlobalConfig('sceneCode');\n // 存储每个文件的取消控制器\n const abortControllers = ref<Map<number, AbortController>>(new Map());\n\n const uploadFile = async (file: UploadRawFile, options?: UseUploadFileOptions) => {\n // 领域编码\n const uploadDomainCode = options?.domainCode ?? domainCode.value;\n const uploadSceneCode = (options?.sceneCode ?? sceneCode.value) || 'internal_oss';\n if (!uploadDomainCode) {\n GmMessage.error('领域编码不能为空');\n throw new Error('领域编码不能为空');\n }\n\n // 创建取消控制器\n const abortController = new AbortController();\n const fileKey = file.uid ?? genFileId();\n abortControllers.value.set(fileKey, abortController);\n\n try {\n isLoading.value = true;\n // 验证文件类型\n if (options?.accept && options?.accept !== '*') {\n const isValidType = fileValidType(file, options.accept);\n if (!isValidType) {\n GmMessage.error(`文件类型不支持,请上传 ${options.accept} 格式的文件`);\n throw new Error(`文件类型不支持,请上传 ${options.accept} 格式的文件`);\n }\n }\n const md5 = await fileMd5(file);\n const acl = options?.acl || 'default';\n const { data } = await postResourceV1ResourcesUrl({\n domainCode: uploadDomainCode, // 领域编码\n sceneCode: uploadSceneCode, // 场景编码\n fileName: file.name,\n contentType: file.type,\n md5,\n size: file.size,\n acl, // 文件权限\n });\n\n if (data.data.uploadUrl) {\n try {\n await axios.put(data.data.uploadUrl, file, {\n headers: {\n 'Content-Type': file.type,\n 'x-oss-object-acl ': acl,\n 'Cache-Control': 'max-age=2592000',\n },\n signal: abortController.signal,\n onUploadProgress: progressEvent => {\n const progressEvt = progressEvent.event as UploadProgressEvent;\n progressEvt.percent = progressEvt.total > 0 ? (progressEvt.loaded / progressEvt.total) * 100 : 0;\n options?.elOptions?.onProgress(progressEvent.event);\n },\n });\n } catch (error: any) {\n // 如果是取消请求,不显示错误信息\n if (axios.isCancel(error) || error?.name === 'AbortError') {\n console.log('上传请求已取消');\n throw error;\n }\n GmMessage.error('推送至存储桶失败,请重试');\n throw error;\n }\n }\n\n return data.data;\n } finally {\n // 清理取消控制器\n abortControllers.value.delete(fileKey);\n isLoading.value = false;\n }\n };\n // 取消上传请求\n const cancelUpload = (fileUid: number) => {\n const abortController = abortControllers.value.get(fileUid);\n if (abortController) {\n abortController.abort();\n abortControllers.value.delete(fileUid);\n }\n };\n\n // 取消所有上传请求\n const cancelAllUploads = () => {\n abortControllers.value.forEach(controller => {\n controller.abort();\n });\n abortControllers.value.clear();\n };\n\n return {\n isLoading,\n uploadFile,\n cancelUpload,\n cancelAllUploads,\n };\n};\n"],"names":[],"mappings":"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"}
|
|
@@ -18,7 +18,6 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
|
|
|
18
18
|
};
|
|
19
19
|
sceneCode: {
|
|
20
20
|
type: StringConstructor;
|
|
21
|
-
default: string;
|
|
22
21
|
};
|
|
23
22
|
acl: {
|
|
24
23
|
type: StringConstructor;
|
|
@@ -678,7 +677,6 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
|
|
|
678
677
|
};
|
|
679
678
|
sceneCode: {
|
|
680
679
|
type: StringConstructor;
|
|
681
|
-
default: string;
|
|
682
680
|
};
|
|
683
681
|
acl: {
|
|
684
682
|
type: StringConstructor;
|
|
@@ -862,7 +860,6 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
|
|
|
862
860
|
autoUpload: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
863
861
|
listType: import("element-plus/es/utils").EpPropMergeType<StringConstructor, "text" | "picture" | "picture-card", unknown>;
|
|
864
862
|
httpRequest: import("element-plus").UploadRequestHandler;
|
|
865
|
-
sceneCode: string;
|
|
866
863
|
acl: string;
|
|
867
864
|
showLoading: boolean;
|
|
868
865
|
showDelete: boolean;
|
|
@@ -19,7 +19,6 @@ export declare const GmUploadPro: import("../../../../utils").SFCWithInstall<{
|
|
|
19
19
|
};
|
|
20
20
|
sceneCode: {
|
|
21
21
|
type: StringConstructor;
|
|
22
|
-
default: string;
|
|
23
22
|
};
|
|
24
23
|
acl: {
|
|
25
24
|
type: StringConstructor;
|
|
@@ -686,7 +685,6 @@ export declare const GmUploadPro: import("../../../../utils").SFCWithInstall<{
|
|
|
686
685
|
};
|
|
687
686
|
sceneCode: {
|
|
688
687
|
type: StringConstructor;
|
|
689
|
-
default: string;
|
|
690
688
|
};
|
|
691
689
|
acl: {
|
|
692
690
|
type: StringConstructor;
|
|
@@ -870,7 +868,6 @@ export declare const GmUploadPro: import("../../../../utils").SFCWithInstall<{
|
|
|
870
868
|
autoUpload: import("element-plus/es/utils/index.js").EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
871
869
|
listType: import("element-plus/es/utils/index.js").EpPropMergeType<StringConstructor, "text" | "picture" | "picture-card", unknown>;
|
|
872
870
|
httpRequest: import("element-plus").UploadRequestHandler;
|
|
873
|
-
sceneCode: string;
|
|
874
871
|
acl: string;
|
|
875
872
|
showLoading: boolean;
|
|
876
873
|
showDelete: boolean;
|
|
@@ -904,7 +901,6 @@ export declare const GmUploadPro: import("../../../../utils").SFCWithInstall<{
|
|
|
904
901
|
};
|
|
905
902
|
sceneCode: {
|
|
906
903
|
type: StringConstructor;
|
|
907
|
-
default: string;
|
|
908
904
|
};
|
|
909
905
|
acl: {
|
|
910
906
|
type: StringConstructor;
|
|
@@ -1570,7 +1566,6 @@ export declare const GmUploadPro: import("../../../../utils").SFCWithInstall<{
|
|
|
1570
1566
|
autoUpload: import("element-plus/es/utils/index.js").EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
1571
1567
|
listType: import("element-plus/es/utils/index.js").EpPropMergeType<StringConstructor, "text" | "picture" | "picture-card", unknown>;
|
|
1572
1568
|
httpRequest: import("element-plus").UploadRequestHandler;
|
|
1573
|
-
sceneCode: string;
|
|
1574
1569
|
acl: string;
|
|
1575
1570
|
showLoading: boolean;
|
|
1576
1571
|
showDelete: boolean;
|
|
@@ -1601,7 +1596,6 @@ export declare const GmUploadPro: import("../../../../utils").SFCWithInstall<{
|
|
|
1601
1596
|
};
|
|
1602
1597
|
sceneCode: {
|
|
1603
1598
|
type: StringConstructor;
|
|
1604
|
-
default: string;
|
|
1605
1599
|
};
|
|
1606
1600
|
acl: {
|
|
1607
1601
|
type: StringConstructor;
|
|
@@ -2274,7 +2268,6 @@ export declare const GmUploadPro: import("../../../../utils").SFCWithInstall<{
|
|
|
2274
2268
|
autoUpload: import("element-plus/es/utils/index.js").EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
2275
2269
|
listType: import("element-plus/es/utils/index.js").EpPropMergeType<StringConstructor, "text" | "picture" | "picture-card", unknown>;
|
|
2276
2270
|
httpRequest: import("element-plus").UploadRequestHandler;
|
|
2277
|
-
sceneCode: string;
|
|
2278
2271
|
acl: string;
|
|
2279
2272
|
showLoading: boolean;
|
|
2280
2273
|
showDelete: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uploadPro.js","sources":["../../../../../../../packages/components/src/business/uploadPro/uploadPro.ts"],"sourcesContent":["import { type PropType } from 'vue';\nimport { type UploadFile, type UploadProps, uploadProps, type UploadUserFile } from 'element-plus';\nimport type { ResourceUrlResponse } from '@giime/api/resource/interface';\n// import { previewFileProps } from '../../composite/previewFile/previewFile';\n\nexport const uploadFileProps = {\n ...uploadProps,\n // ...previewFileProps,\n listType: {\n type: String as PropType<UploadProps['listType']>,\n default: 'picture-card',\n },\n drag: {\n type: Boolean,\n default: true,\n },\n /**领域编码 */\n domainCode: {\n type: String,\n },\n /**场景编码 */\n sceneCode: {\n type: String,\n
|
|
1
|
+
{"version":3,"file":"uploadPro.js","sources":["../../../../../../../packages/components/src/business/uploadPro/uploadPro.ts"],"sourcesContent":["import { type PropType } from 'vue';\nimport { type UploadFile, type UploadProps, uploadProps, type UploadUserFile } from 'element-plus';\nimport type { ResourceUrlResponse } from '@giime/api/resource/interface';\n// import { previewFileProps } from '../../composite/previewFile/previewFile';\n\nexport const uploadFileProps = {\n ...uploadProps,\n // ...previewFileProps,\n listType: {\n type: String as PropType<UploadProps['listType']>,\n default: 'picture-card',\n },\n drag: {\n type: Boolean,\n default: true,\n },\n /**领域编码 */\n domainCode: {\n type: String,\n },\n /**场景编码 */\n sceneCode: {\n type: String,\n },\n /** 文件权限,默认继承桶 */\n acl: {\n type: String,\n default: 'default',\n },\n /**上传中是否loading */\n showLoading: {\n type: Boolean,\n default: false,\n },\n /** 是否展示删除按钮 */\n showDelete: {\n type: Boolean,\n default: true,\n },\n /**禁用删除按钮的uid列表 */\n disabledDeleteUids: {\n type: Array as PropType<number[]>,\n default: () => [],\n },\n /** 删除时提示 */\n deleteTip: {\n type: Boolean,\n default: false,\n },\n /** 是否开启文件多选 */\n checkbox: {\n type: Boolean,\n default: false,\n },\n /**禁用多选按钮的uid列表 */\n disabledCheckboxUids: {\n type: Array as PropType<number[]>,\n default: () => [],\n },\n /** 缩略图宽度 */\n width: {\n type: Number,\n default: 120,\n },\n /** 缩略图高度 */\n height: {\n type: Number,\n default: 120,\n },\n /**全部文件上传完成事件 */\n onAllComplete: {\n type: Function as PropType<() => void>,\n default: () => {},\n },\n};\n\nexport type GmUploadProUserFileResponse = ResourceUrlResponse;\n\nexport type GmUploadProUserFile = Omit<UploadUserFile, 'response'> & { response?: GmUploadProUserFileResponse };\n"],"names":["uploadProps"],"mappings":";;;;AAKO,MAAM,eAAkB,GAAA;AAAA,EAC7B,GAAGA,uBAAA;AAAA;AAAA,EAEH,QAAU,EAAA;AAAA,IACR,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,cAAA;AAAA,GACX;AAAA,EACA,IAAM,EAAA;AAAA,IACJ,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,IAAA;AAAA,GACX;AAAA;AAAA,EAEA,UAAY,EAAA;AAAA,IACV,IAAM,EAAA,MAAA;AAAA,GACR;AAAA;AAAA,EAEA,SAAW,EAAA;AAAA,IACT,IAAM,EAAA,MAAA;AAAA,GACR;AAAA;AAAA,EAEA,GAAK,EAAA;AAAA,IACH,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,SAAA;AAAA,GACX;AAAA;AAAA,EAEA,WAAa,EAAA;AAAA,IACX,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,KAAA;AAAA,GACX;AAAA;AAAA,EAEA,UAAY,EAAA;AAAA,IACV,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,IAAA;AAAA,GACX;AAAA;AAAA,EAEA,kBAAoB,EAAA;AAAA,IAClB,IAAM,EAAA,KAAA;AAAA,IACN,OAAA,EAAS,MAAM,EAAC;AAAA,GAClB;AAAA;AAAA,EAEA,SAAW,EAAA;AAAA,IACT,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,KAAA;AAAA,GACX;AAAA;AAAA,EAEA,QAAU,EAAA;AAAA,IACR,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,KAAA;AAAA,GACX;AAAA;AAAA,EAEA,oBAAsB,EAAA;AAAA,IACpB,IAAM,EAAA,KAAA;AAAA,IACN,OAAA,EAAS,MAAM,EAAC;AAAA,GAClB;AAAA;AAAA,EAEA,KAAO,EAAA;AAAA,IACL,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,GAAA;AAAA,GACX;AAAA;AAAA,EAEA,MAAQ,EAAA;AAAA,IACN,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,GAAA;AAAA,GACX;AAAA;AAAA,EAEA,aAAe,EAAA;AAAA,IACb,IAAM,EAAA,QAAA;AAAA,IACN,SAAS,MAAM;AAAA,KAAC;AAAA,GAClB;AACF;;;;"}
|
package/lib/constants/key.d.ts
CHANGED
|
@@ -14,6 +14,8 @@ export interface ConfigProviderContext {
|
|
|
14
14
|
};
|
|
15
15
|
/**领域编码 */
|
|
16
16
|
domainCode?: string;
|
|
17
|
+
/**场景编码 */
|
|
18
|
+
sceneCode?: string;
|
|
17
19
|
}
|
|
18
20
|
export declare const configProviderContextKey: InjectionKey<Ref<ConfigProviderContext>>;
|
|
19
21
|
export declare const INSTALLED_KEY: unique symbol;
|
package/lib/constants/key.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"key.js","sources":["../../../../packages/constants/key.ts"],"sourcesContent":["import type { Router } from 'vue-router';\nimport type { loginDialogProps } from '@giime/components/src/business/loginDialog/loginDialog';\nimport type { ExtractPublicPropTypes, InjectionKey, Ref } from 'vue';\nexport interface ConfigProviderContext {\n // 用户端环境变量\n env: ImportMetaEnv;\n // 用户端路由\n router?: Router;\n disabledLoginDialog?: boolean;\n disabledRectSelect?: boolean;\n loginDialog?: ExtractPublicPropTypes<typeof loginDialogProps>;\n /**对消息进行配置 */\n message?: {\n plain?: boolean;\n };\n /**领域编码 */\n domainCode?: string;\n}\n\nexport const configProviderContextKey: InjectionKey<Ref<ConfigProviderContext>> = Symbol();\n\nexport const INSTALLED_KEY = Symbol('INSTALLED_KEY');\nexport const ImportMetaEnvKey: InjectionKey<ImportMetaEnv> = Symbol('ImportMetaEnvKey');\n"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"key.js","sources":["../../../../packages/constants/key.ts"],"sourcesContent":["import type { Router } from 'vue-router';\nimport type { loginDialogProps } from '@giime/components/src/business/loginDialog/loginDialog';\nimport type { ExtractPublicPropTypes, InjectionKey, Ref } from 'vue';\nexport interface ConfigProviderContext {\n // 用户端环境变量\n env: ImportMetaEnv;\n // 用户端路由\n router?: Router;\n disabledLoginDialog?: boolean;\n disabledRectSelect?: boolean;\n loginDialog?: ExtractPublicPropTypes<typeof loginDialogProps>;\n /**对消息进行配置 */\n message?: {\n plain?: boolean;\n };\n /**领域编码 */\n domainCode?: string;\n /**场景编码 */\n sceneCode?: string;\n}\n\nexport const configProviderContextKey: InjectionKey<Ref<ConfigProviderContext>> = Symbol();\n\nexport const INSTALLED_KEY = Symbol('INSTALLED_KEY');\nexport const ImportMetaEnvKey: InjectionKey<ImportMetaEnv> = Symbol('ImportMetaEnvKey');\n"],"names":[],"mappings":";;AAqBO,MAAM,2BAAqE,MAAO,GAAA;AAE5E,MAAA,aAAA,GAAgB,OAAO,eAAe,EAAA;AACtC,MAAA,gBAAA,GAAgD,OAAO,kBAAkB;;;;;;"}
|
package/lib/giime/version.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const version = "0.7.
|
|
1
|
+
export declare const version = "0.7.3";
|
package/lib/giime/version.js
CHANGED
package/lib/giime/version.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version.js","sources":["../../../../packages/giime/version.ts"],"sourcesContent":["export const version = '0.7.
|
|
1
|
+
{"version":3,"file":"version.js","sources":["../../../../packages/giime/version.ts"],"sourcesContent":["export const version = '0.7.2';\n"],"names":[],"mappings":";;AAAO,MAAM,OAAU,GAAA;;;;"}
|
|
@@ -12,9 +12,11 @@ var postResourceV1ResourcesUrl = require('../../../api/resource/controller/ZiYua
|
|
|
12
12
|
const useUploadFile = () => {
|
|
13
13
|
const isLoading = vue.ref(false);
|
|
14
14
|
const domainCode = index.useGlobalConfig("domainCode");
|
|
15
|
+
const sceneCode = index.useGlobalConfig("sceneCode");
|
|
15
16
|
const abortControllers = vue.ref(/* @__PURE__ */ new Map());
|
|
16
17
|
const uploadFile = async (file$1, options) => {
|
|
17
18
|
const uploadDomainCode = options?.domainCode ?? domainCode.value;
|
|
19
|
+
const uploadSceneCode = (options?.sceneCode ?? sceneCode.value) || "internal_oss";
|
|
18
20
|
if (!uploadDomainCode) {
|
|
19
21
|
index$1.GmMessage.error("\u9886\u57DF\u7F16\u7801\u4E0D\u80FD\u4E3A\u7A7A");
|
|
20
22
|
throw new Error("\u9886\u57DF\u7F16\u7801\u4E0D\u80FD\u4E3A\u7A7A");
|
|
@@ -36,7 +38,7 @@ const useUploadFile = () => {
|
|
|
36
38
|
const { data } = await postResourceV1ResourcesUrl.postResourceV1ResourcesUrl({
|
|
37
39
|
domainCode: uploadDomainCode,
|
|
38
40
|
// 领域编码
|
|
39
|
-
sceneCode:
|
|
41
|
+
sceneCode: uploadSceneCode,
|
|
40
42
|
// 场景编码
|
|
41
43
|
fileName: file$1.name,
|
|
42
44
|
contentType: file$1.type,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../../packages/hooks/base/useUploadFile/index.ts"],"sourcesContent":["import axios from 'axios';\nimport { ref } from 'vue';\nimport { postResourceV1ResourcesUrl } from '@giime/api/resource/controller';\nimport { fileMd5, fileValidType, genFileId } from '@giime/utils/src/file';\nimport { GmMessage } from '@giime/components/src/plugins/message';\nimport { useGlobalConfig } from '@giime/hooks/base/useGlobalConfig';\nimport type { UploadProgressEvent, UploadRawFile, UploadRequestOptions } from 'element-plus';\n\nexport interface UseUploadFileOptions {\n /**领域编码 */\n domainCode?: string;\n /**场景编码 */\n sceneCode?: string;\n /**接受上传的文件类型 */\n accept?: string;\n /**文件权限,默认继承桶 */\n acl?: string;\n /**是否禁止上传文件到存储桶 */\n disablePutFile?: boolean;\n /** */\n elOptions?: UploadRequestOptions;\n}\n\nexport const useUploadFile = () => {\n const isLoading = ref(false);\n const domainCode = useGlobalConfig('domainCode');\n // 存储每个文件的取消控制器\n const abortControllers = ref<Map<number, AbortController>>(new Map());\n\n const uploadFile = async (file: UploadRawFile, options?: UseUploadFileOptions) => {\n // 领域编码\n const uploadDomainCode = options?.domainCode ?? domainCode.value;\n if (!uploadDomainCode) {\n GmMessage.error('领域编码不能为空');\n throw new Error('领域编码不能为空');\n }\n\n // 创建取消控制器\n const abortController = new AbortController();\n const fileKey = file.uid ?? genFileId();\n abortControllers.value.set(fileKey, abortController);\n\n try {\n isLoading.value = true;\n // 验证文件类型\n if (options?.accept && options?.accept !== '*') {\n const isValidType = fileValidType(file, options.accept);\n if (!isValidType) {\n GmMessage.error(`文件类型不支持,请上传 ${options.accept} 格式的文件`);\n throw new Error(`文件类型不支持,请上传 ${options.accept} 格式的文件`);\n }\n }\n const md5 = await fileMd5(file);\n const acl = options?.acl || 'default';\n const { data } = await postResourceV1ResourcesUrl({\n domainCode: uploadDomainCode, // 领域编码\n sceneCode:
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../../packages/hooks/base/useUploadFile/index.ts"],"sourcesContent":["import axios from 'axios';\nimport { ref } from 'vue';\nimport { postResourceV1ResourcesUrl } from '@giime/api/resource/controller';\nimport { fileMd5, fileValidType, genFileId } from '@giime/utils/src/file';\nimport { GmMessage } from '@giime/components/src/plugins/message';\nimport { useGlobalConfig } from '@giime/hooks/base/useGlobalConfig';\nimport type { UploadProgressEvent, UploadRawFile, UploadRequestOptions } from 'element-plus';\n\nexport interface UseUploadFileOptions {\n /**领域编码 */\n domainCode?: string;\n /**场景编码 */\n sceneCode?: string;\n /**接受上传的文件类型 */\n accept?: string;\n /**文件权限,默认继承桶 */\n acl?: string;\n /**是否禁止上传文件到存储桶 */\n disablePutFile?: boolean;\n /** */\n elOptions?: UploadRequestOptions;\n}\n\nexport const useUploadFile = () => {\n const isLoading = ref(false);\n const domainCode = useGlobalConfig('domainCode');\n const sceneCode = useGlobalConfig('sceneCode');\n // 存储每个文件的取消控制器\n const abortControllers = ref<Map<number, AbortController>>(new Map());\n\n const uploadFile = async (file: UploadRawFile, options?: UseUploadFileOptions) => {\n // 领域编码\n const uploadDomainCode = options?.domainCode ?? domainCode.value;\n const uploadSceneCode = (options?.sceneCode ?? sceneCode.value) || 'internal_oss';\n if (!uploadDomainCode) {\n GmMessage.error('领域编码不能为空');\n throw new Error('领域编码不能为空');\n }\n\n // 创建取消控制器\n const abortController = new AbortController();\n const fileKey = file.uid ?? genFileId();\n abortControllers.value.set(fileKey, abortController);\n\n try {\n isLoading.value = true;\n // 验证文件类型\n if (options?.accept && options?.accept !== '*') {\n const isValidType = fileValidType(file, options.accept);\n if (!isValidType) {\n GmMessage.error(`文件类型不支持,请上传 ${options.accept} 格式的文件`);\n throw new Error(`文件类型不支持,请上传 ${options.accept} 格式的文件`);\n }\n }\n const md5 = await fileMd5(file);\n const acl = options?.acl || 'default';\n const { data } = await postResourceV1ResourcesUrl({\n domainCode: uploadDomainCode, // 领域编码\n sceneCode: uploadSceneCode, // 场景编码\n fileName: file.name,\n contentType: file.type,\n md5,\n size: file.size,\n acl, // 文件权限\n });\n\n if (data.data.uploadUrl) {\n try {\n await axios.put(data.data.uploadUrl, file, {\n headers: {\n 'Content-Type': file.type,\n 'x-oss-object-acl ': acl,\n 'Cache-Control': 'max-age=2592000',\n },\n signal: abortController.signal,\n onUploadProgress: progressEvent => {\n const progressEvt = progressEvent.event as UploadProgressEvent;\n progressEvt.percent = progressEvt.total > 0 ? (progressEvt.loaded / progressEvt.total) * 100 : 0;\n options?.elOptions?.onProgress(progressEvent.event);\n },\n });\n } catch (error: any) {\n // 如果是取消请求,不显示错误信息\n if (axios.isCancel(error) || error?.name === 'AbortError') {\n console.log('上传请求已取消');\n throw error;\n }\n GmMessage.error('推送至存储桶失败,请重试');\n throw error;\n }\n }\n\n return data.data;\n } finally {\n // 清理取消控制器\n abortControllers.value.delete(fileKey);\n isLoading.value = false;\n }\n };\n // 取消上传请求\n const cancelUpload = (fileUid: number) => {\n const abortController = abortControllers.value.get(fileUid);\n if (abortController) {\n abortController.abort();\n abortControllers.value.delete(fileUid);\n }\n };\n\n // 取消所有上传请求\n const cancelAllUploads = () => {\n abortControllers.value.forEach(controller => {\n controller.abort();\n });\n abortControllers.value.clear();\n };\n\n return {\n isLoading,\n uploadFile,\n cancelUpload,\n cancelAllUploads,\n };\n};\n"],"names":["ref","useGlobalConfig","file","GmMessage","genFileId","fileValidType","fileMd5","postResourceV1ResourcesUrl"],"mappings":"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"}
|