giime 0.5.4 → 0.5.6

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 (52) hide show
  1. package/dist/index.css +9 -5
  2. package/es/api/materialApi/cross/postSaveFileResources.mjs +0 -1
  3. package/es/api/materialApi/cross/postSaveFileResources.mjs.map +1 -1
  4. package/es/components/src/base/affix/index.mjs.map +1 -1
  5. package/es/components/src/business/loginDialog/LoginDialog.vue2.mjs.map +1 -1
  6. package/es/components/src/business/loginDialog/loginDialog.mjs.map +1 -1
  7. package/es/components/src/composite/fileComponent/FileComponent.vue2.mjs +7 -6
  8. package/es/components/src/composite/fileComponent/FileComponent.vue2.mjs.map +1 -1
  9. package/es/components/src/composite/previewFile/PreviewFile.vue2.mjs +1 -1
  10. package/es/components/src/composite/previewFile/PreviewFile.vue2.mjs.map +1 -1
  11. package/es/components/src/composite/previewFile/previewFile.mjs +1 -1
  12. package/es/components/src/composite/previewFile/previewFile.mjs.map +1 -1
  13. package/es/components/src/composite/uploadFile/UploadFile.vue.mjs +1 -1
  14. package/es/components/src/composite/uploadFile/UploadFile.vue2.mjs +141 -115
  15. package/es/components/src/composite/uploadFile/UploadFile.vue2.mjs.map +1 -1
  16. package/es/constants/key.mjs.map +1 -1
  17. package/es/giime/version.d.ts +1 -1
  18. package/es/giime/version.mjs +1 -1
  19. package/es/giime/version.mjs.map +1 -1
  20. package/es/index.css +9 -5
  21. package/es/utils/src/http/createAxios.mjs.map +1 -1
  22. package/es/utils/src/http/errorMessage.mjs.map +1 -1
  23. package/es/utils/src/tree.mjs.map +1 -1
  24. package/lib/api/materialApi/cross/postSaveFileResources.js +0 -1
  25. package/lib/api/materialApi/cross/postSaveFileResources.js.map +1 -1
  26. package/lib/components/src/base/affix/index.js.map +1 -1
  27. package/lib/components/src/business/loginDialog/LoginDialog.vue2.js.map +1 -1
  28. package/lib/components/src/business/loginDialog/loginDialog.js.map +1 -1
  29. package/lib/components/src/composite/fileComponent/FileComponent.vue2.js +7 -6
  30. package/lib/components/src/composite/fileComponent/FileComponent.vue2.js.map +1 -1
  31. package/lib/components/src/composite/previewFile/PreviewFile.vue2.js +1 -1
  32. package/lib/components/src/composite/previewFile/PreviewFile.vue2.js.map +1 -1
  33. package/lib/components/src/composite/previewFile/previewFile.js +1 -1
  34. package/lib/components/src/composite/previewFile/previewFile.js.map +1 -1
  35. package/lib/components/src/composite/uploadFile/UploadFile.vue.js +1 -1
  36. package/lib/components/src/composite/uploadFile/UploadFile.vue2.js +140 -114
  37. package/lib/components/src/composite/uploadFile/UploadFile.vue2.js.map +1 -1
  38. package/lib/constants/key.js.map +1 -1
  39. package/lib/giime/version.d.ts +1 -1
  40. package/lib/giime/version.js +1 -1
  41. package/lib/giime/version.js.map +1 -1
  42. package/lib/index.css +9 -5
  43. package/lib/utils/src/http/createAxios.js.map +1 -1
  44. package/lib/utils/src/http/errorMessage.js.map +1 -1
  45. package/lib/utils/src/tree.js.map +1 -1
  46. package/package.json +1 -1
  47. package/es/utils/src/alioss.d.ts +0 -32
  48. package/es/utils/src/alioss.mjs +0 -110
  49. package/es/utils/src/alioss.mjs.map +0 -1
  50. package/lib/utils/src/alioss.d.ts +0 -32
  51. package/lib/utils/src/alioss.js +0 -113
  52. package/lib/utils/src/alioss.js.map +0 -1
@@ -10,9 +10,8 @@ var index = require('../fileComponent/index.js');
10
10
  var index$1 = require('../previewFile/index.js');
11
11
  var uploadFile = require('./uploadFile.js');
12
12
 
13
- const _withScopeId = (n) => (vue.pushScopeId("data-v-80cd8f61"), n = n(), vue.popScopeId(), n);
14
- const _hoisted_1 = { class: "el-upload-file" };
15
- const _hoisted_2 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ vue.createElementVNode(
13
+ const _withScopeId = (n) => (vue.pushScopeId("data-v-bb2dfbf0"), n = n(), vue.popScopeId(), n);
14
+ const _hoisted_1 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ vue.createElementVNode(
16
15
  "div",
17
16
  { class: "el-upload__text gm-text-center !gm-text-xs gm-text-gray-500" },
18
17
  [
@@ -22,9 +21,9 @@ const _hoisted_2 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ vue.create
22
21
  -1
23
22
  /* HOISTED */
24
23
  ));
25
- const _hoisted_3 = { class: "el-upload-list__item-actions" };
24
+ const _hoisted_2 = { class: "el-upload-list__item-actions" };
25
+ const _hoisted_3 = ["onClick"];
26
26
  const _hoisted_4 = ["onClick"];
27
- const _hoisted_5 = ["onClick"];
28
27
  var _sfc_main = /* @__PURE__ */ vue.defineComponent({
29
28
  ...{
30
29
  name: "GmUploadFile"
@@ -73,6 +72,12 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
73
72
  });
74
73
  return res;
75
74
  };
75
+ const beforeRemove = (file, files) => {
76
+ if (props.disabled) {
77
+ return false;
78
+ }
79
+ return props.beforeRemove ? props.beforeRemove(file, files) : true;
80
+ };
76
81
  const handleRemove = (file) => {
77
82
  elementPlus.ElMessageBox.confirm("\u786E\u5B9A\u5220\u9664\u8BE5\u6587\u4EF6\u5417\uFF1F", "\u63D0\u793A", {
78
83
  confirmButtonText: "\u786E\u5B9A",
@@ -114,127 +119,148 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
114
119
  });
115
120
  return (_ctx, _cache) => {
116
121
  const _component_el_icon = vue.resolveComponent("el-icon");
122
+ const _component_el_button = vue.resolveComponent("el-button");
117
123
  const _component_el_checkbox = vue.resolveComponent("el-checkbox");
118
124
  const _component_el_upload = vue.resolveComponent("el-upload");
119
125
  const _component_el_checkbox_group = vue.resolveComponent("el-checkbox-group");
120
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1, [
121
- vue.createVNode(_component_el_checkbox_group, {
122
- modelValue: checkoutFiles.value,
123
- "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => checkoutFiles.value = $event),
124
- onChange: handleCheckedChange
125
- }, {
126
- default: vue.withCtx(() => [
127
- vue.createVNode(_component_el_upload, vue.mergeProps({
128
- ref_key: "uploadFileRef",
129
- ref: uploadFileRef
130
- }, props, {
131
- "file-list": fileList.value,
132
- "onUpdate:fileList": _cache[0] || (_cache[0] = ($event) => fileList.value = $event),
133
- action: "",
134
- "http-request": httpRequest
135
- }), vue.createSlots({
136
- default: vue.withCtx(() => [
137
- !_ctx.disabled ? vue.renderSlot(_ctx.$slots, "default", { key: 0 }, () => [
138
- vue.createElementVNode(
139
- "div",
140
- {
141
- class: "gm-flex gm-flex-col gm-items-center gm-justify-center gm-rounded-md gm-p-1",
142
- style: vue.normalizeStyle([{ "flex-direction": "column" }, { width: _ctx.width + "px", height: _ctx.height + "px" }])
143
- },
144
- [
145
- vue.createVNode(_component_el_icon, {
146
- size: 30,
147
- color: "#999"
148
- }, {
149
- default: vue.withCtx(() => [
150
- vue.createVNode(vue.unref(iconsVue.UploadFilled))
151
- ]),
152
- _: 1
153
- /* STABLE */
154
- }),
155
- _hoisted_2
156
- ],
157
- 4
158
- /* STYLE */
159
- )
160
- ], true) : vue.createCommentVNode("v-if", true)
161
- ]),
162
- _: 2
163
- /* DYNAMIC */
164
- }, [
165
- _ctx.showFileList && _ctx.listType === "picture-card" ? {
166
- name: "file",
167
- fn: vue.withCtx(({ file }) => [
168
- _ctx.checkbox ? (vue.openBlock(), vue.createBlock(_component_el_checkbox, {
169
- key: 0,
170
- value: file
171
- }, null, 8, ["value"])) : vue.createCommentVNode("v-if", true),
172
- vue.renderSlot(_ctx.$slots, "file", { file }, () => [
173
- vue.createElementVNode(
126
+ return vue.openBlock(), vue.createElementBlock(
127
+ "div",
128
+ {
129
+ class: vue.normalizeClass([{ "gm-upload-file-picture-card": _ctx.listType === "picture-card", "gm-upload-file-disabled": _ctx.disabled }, "gm-upload-file"])
130
+ },
131
+ [
132
+ vue.createVNode(_component_el_checkbox_group, {
133
+ modelValue: checkoutFiles.value,
134
+ "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => checkoutFiles.value = $event),
135
+ onChange: handleCheckedChange
136
+ }, {
137
+ default: vue.withCtx(() => [
138
+ vue.createVNode(_component_el_upload, vue.mergeProps({
139
+ ref_key: "uploadFileRef",
140
+ ref: uploadFileRef
141
+ }, props, {
142
+ "file-list": fileList.value,
143
+ "onUpdate:fileList": _cache[0] || (_cache[0] = ($event) => fileList.value = $event),
144
+ "before-remove": beforeRemove,
145
+ action: "",
146
+ "http-request": httpRequest
147
+ }), vue.createSlots({
148
+ default: vue.withCtx(() => [
149
+ !_ctx.disabled ? vue.renderSlot(_ctx.$slots, "default", { key: 0 }, () => [
150
+ _ctx.listType === "picture-card" ? (vue.openBlock(), vue.createElementBlock(
174
151
  "div",
175
152
  {
176
- class: "gm-flex gm-items-center gm-justify-center gm-rounded-md",
177
- style: vue.normalizeStyle({ width: _ctx.width + "px", height: _ctx.height + "px" })
153
+ key: 0,
154
+ class: "gm-flex gm-flex-col gm-items-center gm-justify-center gm-rounded-md gm-p-1",
155
+ style: vue.normalizeStyle([{ "flex-direction": "column" }, { width: _ctx.width + "px", height: _ctx.height + "px" }])
178
156
  },
179
157
  [
180
- vue.createVNode(vue.unref(index.GmFileComponent), {
181
- file,
182
- size: _ctx.width - 40,
183
- url: _ctx.url,
184
- controls: false
185
- }, null, 8, ["file", "size", "url"])
186
- ],
187
- 4
188
- /* STYLE */
189
- ),
190
- vue.createElementVNode("div", _hoisted_3, [
191
- vue.createElementVNode("span", {
192
- class: "el-upload-list__item-preview",
193
- onClick: ($event) => handlePreview(file)
194
- }, [
195
- vue.createVNode(_component_el_icon, null, {
158
+ vue.createVNode(_component_el_icon, {
159
+ size: 30,
160
+ color: "#999"
161
+ }, {
196
162
  default: vue.withCtx(() => [
197
- vue.createVNode(vue.unref(iconsVue.View))
163
+ vue.createVNode(vue.unref(iconsVue.UploadFilled))
198
164
  ]),
199
165
  _: 1
200
166
  /* STABLE */
201
- })
202
- ], 8, _hoisted_4),
203
- _ctx.showDelete ? (vue.openBlock(), vue.createElementBlock("span", {
204
- key: 0,
205
- class: "el-upload-list__item-delete",
206
- onClick: ($event) => handleRemove(file)
207
- }, [
208
- vue.createVNode(_component_el_icon, null, {
209
- default: vue.withCtx(() => [
210
- vue.createVNode(vue.unref(iconsVue.Delete))
211
- ]),
212
- _: 1
213
- /* STABLE */
214
- })
215
- ], 8, _hoisted_5)) : vue.createCommentVNode("v-if", true)
216
- ])
217
- ], true)
167
+ }),
168
+ _hoisted_1
169
+ ],
170
+ 4
171
+ /* STYLE */
172
+ )) : (vue.openBlock(), vue.createBlock(_component_el_button, {
173
+ key: 1,
174
+ type: "primary",
175
+ size: "default"
176
+ }, {
177
+ default: vue.withCtx(() => [
178
+ vue.createTextVNode("\u70B9\u51FB\u4E0A\u4F20")
179
+ ]),
180
+ _: 1
181
+ /* STABLE */
182
+ }))
183
+ ], true) : vue.createCommentVNode("v-if", true)
218
184
  ]),
219
- key: "0"
220
- } : void 0
221
- ]), 1040, ["file-list"])
222
- ]),
223
- _: 3
224
- /* FORWARDED */
225
- }, 8, ["modelValue"]),
226
- vue.createVNode(vue.unref(index$1.GmPreviewFile), {
227
- dialogVisible: dialogVisible.value,
228
- "onUpdate:dialogVisible": _cache[2] || (_cache[2] = ($event) => dialogVisible.value = $event),
229
- "file-index": fileIndex.value,
230
- "onUpdate:fileIndex": _cache[3] || (_cache[3] = ($event) => fileIndex.value = $event),
231
- "file-list": fileList.value,
232
- controls: _ctx.controls,
233
- oncontextmenu: _ctx.oncontextmenu,
234
- controlslist: _ctx.controlslist,
235
- field: _ctx.field
236
- }, null, 8, ["dialogVisible", "file-index", "file-list", "controls", "oncontextmenu", "controlslist", "field"])
237
- ]);
185
+ _: 2
186
+ /* DYNAMIC */
187
+ }, [
188
+ _ctx.showFileList && _ctx.listType === "picture-card" ? {
189
+ name: "file",
190
+ fn: vue.withCtx(({ file }) => [
191
+ _ctx.checkbox ? (vue.openBlock(), vue.createBlock(_component_el_checkbox, {
192
+ key: 0,
193
+ value: file
194
+ }, null, 8, ["value"])) : vue.createCommentVNode("v-if", true),
195
+ vue.renderSlot(_ctx.$slots, "file", { file }, () => [
196
+ vue.createElementVNode(
197
+ "div",
198
+ {
199
+ class: "gm-flex gm-items-center gm-justify-center gm-rounded-md",
200
+ style: vue.normalizeStyle({ width: _ctx.width + "px", height: _ctx.height + "px" })
201
+ },
202
+ [
203
+ vue.createVNode(vue.unref(index.GmFileComponent), {
204
+ file,
205
+ size: _ctx.width - 40,
206
+ url: _ctx.url,
207
+ controls: false
208
+ }, null, 8, ["file", "size", "url"])
209
+ ],
210
+ 4
211
+ /* STYLE */
212
+ ),
213
+ vue.createElementVNode("div", _hoisted_2, [
214
+ vue.createElementVNode("span", {
215
+ class: "el-upload-list__item-preview",
216
+ onClick: ($event) => handlePreview(file)
217
+ }, [
218
+ vue.createVNode(_component_el_icon, null, {
219
+ default: vue.withCtx(() => [
220
+ vue.createVNode(vue.unref(iconsVue.View))
221
+ ]),
222
+ _: 1
223
+ /* STABLE */
224
+ })
225
+ ], 8, _hoisted_3),
226
+ _ctx.showDelete ? (vue.openBlock(), vue.createElementBlock("span", {
227
+ key: 0,
228
+ class: "el-upload-list__item-delete",
229
+ onClick: ($event) => handleRemove(file)
230
+ }, [
231
+ vue.createVNode(_component_el_icon, null, {
232
+ default: vue.withCtx(() => [
233
+ vue.createVNode(vue.unref(iconsVue.Delete))
234
+ ]),
235
+ _: 1
236
+ /* STABLE */
237
+ })
238
+ ], 8, _hoisted_4)) : vue.createCommentVNode("v-if", true)
239
+ ])
240
+ ], true)
241
+ ]),
242
+ key: "0"
243
+ } : void 0
244
+ ]), 1040, ["file-list"])
245
+ ]),
246
+ _: 3
247
+ /* FORWARDED */
248
+ }, 8, ["modelValue"]),
249
+ vue.createVNode(vue.unref(index$1.GmPreviewFile), {
250
+ dialogVisible: dialogVisible.value,
251
+ "onUpdate:dialogVisible": _cache[2] || (_cache[2] = ($event) => dialogVisible.value = $event),
252
+ "file-index": fileIndex.value,
253
+ "onUpdate:fileIndex": _cache[3] || (_cache[3] = ($event) => fileIndex.value = $event),
254
+ "file-list": fileList.value,
255
+ controls: _ctx.controls,
256
+ oncontextmenu: _ctx.oncontextmenu,
257
+ controlslist: _ctx.controlslist,
258
+ field: _ctx.field
259
+ }, null, 8, ["dialogVisible", "file-index", "file-list", "controls", "oncontextmenu", "controlslist", "field"])
260
+ ],
261
+ 2
262
+ /* CLASS */
263
+ );
238
264
  };
239
265
  }
240
266
  });
@@ -1 +1 @@
1
- {"version":3,"file":"UploadFile.vue2.js","sources":["../../../../../../../packages/components/src/composite/uploadFile/UploadFile.vue"],"sourcesContent":["<template>\r\n <div class=\"el-upload-file\">\r\n <el-checkbox-group v-model=\"checkoutFiles\" @change=\"handleCheckedChange\">\r\n <el-upload ref=\"uploadFileRef\" v-bind=\"props\" v-model:file-list=\"fileList\" action=\"\" :http-request=\"httpRequest\">\r\n <slot v-if=\"!disabled\">\r\n <div\r\n class=\"gm-flex gm-flex-col gm-items-center gm-justify-center gm-rounded-md gm-p-1\"\r\n style=\"flex-direction: column\"\r\n :style=\"{ width: width + 'px', height: height + 'px' }\"\r\n >\r\n <el-icon :size=\"30\" color=\"#999\">\r\n <UploadFilled />\r\n </el-icon>\r\n <div class=\"el-upload__text gm-text-center !gm-text-xs gm-text-gray-500\">\r\n 将文件拖到此处,或 <em class=\"gm-text-blue-700\">点击上传</em>\r\n </div>\r\n </div>\r\n </slot>\r\n <template v-if=\"showFileList && listType === 'picture-card'\" #file=\"{ file }\">\r\n <el-checkbox v-if=\"checkbox\" :value=\"file\" />\r\n <slot name=\"file\" :file=\"file\">\r\n <div class=\"gm-flex gm-items-center gm-justify-center gm-rounded-md\" :style=\"{ width: width + 'px', height: height + 'px' }\">\r\n <GmFileComponent :file=\"file\" :size=\"width - 40\" :url=\"url\" :controls=\"false\" />\r\n </div>\r\n <div class=\"el-upload-list__item-actions\">\r\n <span class=\"el-upload-list__item-preview\" @click=\"handlePreview(file)\">\r\n <el-icon><View /></el-icon>\r\n </span>\r\n <span v-if=\"showDelete\" class=\"el-upload-list__item-delete\" @click=\"handleRemove(file)\">\r\n <el-icon><Delete /></el-icon>\r\n </span>\r\n </div>\r\n </slot>\r\n </template>\r\n </el-upload>\r\n </el-checkbox-group>\r\n\r\n <GmPreviewFile\r\n v-model:dialogVisible=\"dialogVisible\"\r\n v-model:file-index=\"fileIndex\"\r\n :file-list=\"fileList\"\r\n :controls=\"controls\"\r\n :oncontextmenu=\"oncontextmenu\"\r\n :controlslist=\"controlslist\"\r\n :field=\"field\"\r\n />\r\n </div>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { ref } from 'vue';\r\nimport { ElMessageBox } from 'element-plus';\r\nimport { useAliossHookStore } from '@giime/utils/src/alioss/aliossPutHook';\r\nimport { Delete, UploadFilled, View } from '@element-plus/icons-vue';\r\nimport GmFileComponent from '../fileComponent';\r\nimport GmPreviewFile from '../previewFile';\r\nimport { uploadFileProps } from './uploadFile';\r\nimport type { CheckboxValueType, UploadFile, UploadFiles, UploadInstance, UploadRawFile, UploadRequestOptions, UploadStatus } from 'element-plus';\r\nimport type { PostSaveFileResponse } from '@giime/utils/src/alioss/aliossPutHook';\r\n\r\ndefineOptions({\r\n name: 'GmUploadFile',\r\n});\r\n\r\nconst props = defineProps(uploadFileProps);\r\nconst emit = defineEmits([\"handleRemove\", \"handleSaveFileSuccess\"]);\r\n\r\nconst { uploadFile, saveFileResult } = useAliossHookStore();\r\n\r\nsaveFileResult((res: any) => {\r\n const { url, md5_code, file_size } = res;\r\n emit('handleSaveFileSuccess', { url, md5_code, file_size });\r\n});\r\n\r\n/** 上传文件 */\r\nconst fileList = defineModel<UploadFiles>('fileList', { default: [] });\r\n/** 多选数据 */\r\nconst checkoutFiles = defineModel<any[]>('checkoutFiles', { default: [] });\r\n/** 多选状态状态 */\r\nconst isIndeterminate = defineModel<boolean>('isIndeterminate', { default: false });\r\n/** 是否全选 */\r\nconst checkedAll = defineModel<boolean>('checkedAll', { default: false });\r\nconst handleCheckedChange = (value: CheckboxValueType[]) => {\r\n const { length } = value;\r\n checkedAll.value = length === fileList.value.length;\r\n isIndeterminate.value = length > 0 && length < fileList.value.length;\r\n};\r\n\r\n/* 上传 */\r\nconst httpRequest = async (params: UploadRequestOptions) => {\r\n const { file } = params;\r\n const res = await uploadFile({\r\n file,\r\n fileName: props.fileName,\r\n folder: props.folder,\r\n seat: props.seat,\r\n partSize: props.partSize,\r\n parallel: props.parallel,\r\n options: props.options,\r\n bucket: props.bucket,\r\n saveStore: props.saveStore,\r\n });\r\n return res;\r\n};\r\n\r\n/* 删除文件 */\r\nconst handleRemove = (file: UploadFile) => {\r\n ElMessageBox.confirm('确定删除该文件吗?', '提示', {\r\n confirmButtonText: '确定',\r\n cancelButtonText: '取消',\r\n type: 'warning',\r\n })\r\n .then(() => {\r\n const index = fileList.value.indexOf(file);\r\n fileList.value = fileList.value.filter((v, i) => v.url !== file.url || (v.url === file.url && i !== index));\r\n emit('handleRemove', { file, index });\r\n return props.onRemove(file, fileList.value);\r\n })\r\n .catch(() => {});\r\n};\r\n\r\nconst uploadFileRef = ref<UploadInstance>();\r\n/* 手动上传 */\r\nconst submit = () => {\r\n uploadFileRef.value!.submit();\r\n};\r\n\r\n/** 取消上传 */\r\nconst abort = (file: UploadFile) => {\r\n uploadFileRef.value!.abort(file);\r\n};\r\n\r\n/** 清空已上传的文件列表 */\r\nconst clearFiles = (status?: UploadStatus[]) => {\r\n uploadFileRef.value!.clearFiles(status);\r\n};\r\n\r\n/** 手动选择文件 */\r\nconst handleStart = (rawFile: UploadRawFile) => {\r\n uploadFileRef.value!.handleStart(rawFile);\r\n};\r\n\r\n/** 预览 */\r\nconst dialogVisible = ref(false);\r\nconst fileIndex = ref(0);\r\nconst handlePreview = (file: UploadFile) => {\r\n fileIndex.value = fileList.value.indexOf(file);\r\n dialogVisible.value = true;\r\n};\r\n\r\ndefineExpose({\r\n submit,\r\n abort,\r\n clearFiles,\r\n handleStart,\r\n uploadFileRef,\r\n});\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\r\n.gm-upload-preview-dialog {\r\n :deep(.el-dialog__body) {\r\n padding: 0;\r\n }\r\n}\r\n:deep(.el-upload-list__item),\r\n:deep(.el-upload--picture-card) {\r\n width: 120px;\r\n height: 120px;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n}\r\n</style>\r\n<style lang=\"scss\">\r\n.el-upload-file {\r\n line-height: normal;\r\n .el-checkbox {\r\n position: absolute;\r\n left: 10px;\r\n top: 0;\r\n z-index: 9;\r\n }\r\n .el-upload-list__item-file-name {\r\n line-height: normal;\r\n }\r\n}\r\n</style>\r\n"],"names":["useAliossHookStore","_useModel","ElMessageBox","ref"],"mappings":"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"}
1
+ {"version":3,"file":"UploadFile.vue2.js","sources":["../../../../../../../packages/components/src/composite/uploadFile/UploadFile.vue"],"sourcesContent":["<template>\r\n <div :class=\"{ 'gm-upload-file-picture-card': listType === 'picture-card', 'gm-upload-file-disabled': disabled }\" class=\"gm-upload-file\">\r\n <el-checkbox-group v-model=\"checkoutFiles\" @change=\"handleCheckedChange\">\r\n <el-upload ref=\"uploadFileRef\" v-bind=\"props\" v-model:file-list=\"fileList\" :before-remove=\"beforeRemove\" action=\"\" :http-request=\"httpRequest\">\r\n <slot v-if=\"!disabled\">\r\n <template v-if=\"listType === 'picture-card'\">\r\n <div\r\n class=\"gm-flex gm-flex-col gm-items-center gm-justify-center gm-rounded-md gm-p-1\"\r\n style=\"flex-direction: column\"\r\n :style=\"{ width: width + 'px', height: height + 'px' }\"\r\n >\r\n <el-icon :size=\"30\" color=\"#999\">\r\n <UploadFilled />\r\n </el-icon>\r\n <div class=\"el-upload__text gm-text-center !gm-text-xs gm-text-gray-500\">\r\n 将文件拖到此处,或 <em class=\"gm-text-blue-700\">点击上传</em>\r\n </div>\r\n </div>\r\n </template>\r\n <template v-else>\r\n <el-button type=\"primary\" size=\"default\">点击上传</el-button>\r\n </template>\r\n </slot>\r\n <template v-if=\"showFileList && listType === 'picture-card'\" #file=\"{ file }\">\r\n <el-checkbox v-if=\"checkbox\" :value=\"file\" />\r\n <slot name=\"file\" :file=\"file\">\r\n <div class=\"gm-flex gm-items-center gm-justify-center gm-rounded-md\" :style=\"{ width: width + 'px', height: height + 'px' }\">\r\n <GmFileComponent :file=\"file\" :size=\"width - 40\" :url=\"url\" :controls=\"false\" />\r\n </div>\r\n <div class=\"el-upload-list__item-actions\">\r\n <span class=\"el-upload-list__item-preview\" @click=\"handlePreview(file)\">\r\n <el-icon><View /></el-icon>\r\n </span>\r\n <span v-if=\"showDelete\" class=\"el-upload-list__item-delete\" @click=\"handleRemove(file)\">\r\n <el-icon><Delete /></el-icon>\r\n </span>\r\n </div>\r\n </slot>\r\n </template>\r\n </el-upload>\r\n </el-checkbox-group>\r\n\r\n <GmPreviewFile\r\n v-model:dialogVisible=\"dialogVisible\"\r\n v-model:file-index=\"fileIndex\"\r\n :file-list=\"fileList\"\r\n :controls=\"controls\"\r\n :oncontextmenu=\"oncontextmenu\"\r\n :controlslist=\"controlslist\"\r\n :field=\"field\"\r\n />\r\n </div>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { ref } from 'vue';\r\nimport { ElMessageBox } from 'element-plus';\r\nimport { useAliossHookStore } from '@giime/utils/src/alioss/aliossPutHook';\r\nimport { Delete, UploadFilled, View } from '@element-plus/icons-vue';\r\nimport GmFileComponent from '../fileComponent';\r\nimport GmPreviewFile from '../previewFile';\r\nimport { uploadFileProps } from './uploadFile';\r\nimport type { CheckboxValueType, UploadFile, UploadFiles, UploadInstance, UploadRawFile, UploadRequestOptions, UploadStatus } from 'element-plus';\r\nimport type { PostSaveFileResponse } from '@giime/utils/src/alioss/aliossPutHook';\r\n\r\ndefineOptions({\r\n name: 'GmUploadFile',\r\n});\r\n\r\nconst props = defineProps(uploadFileProps);\r\nconst emit = defineEmits([\"handleRemove\", \"handleSaveFileSuccess\"]);\r\n\r\nconst { uploadFile, saveFileResult } = useAliossHookStore();\r\n\r\nsaveFileResult((res: any) => {\r\n const { url, md5_code, file_size } = res;\r\n emit('handleSaveFileSuccess', { url, md5_code, file_size });\r\n});\r\n\r\n/** 上传文件 */\r\nconst fileList = defineModel<UploadFiles>('fileList', { default: [] });\r\n/** 多选数据 */\r\nconst checkoutFiles = defineModel<any[]>('checkoutFiles', { default: [] });\r\n/** 多选状态状态 */\r\nconst isIndeterminate = defineModel<boolean>('isIndeterminate', { default: false });\r\n/** 是否全选 */\r\nconst checkedAll = defineModel<boolean>('checkedAll', { default: false });\r\nconst handleCheckedChange = (value: CheckboxValueType[]) => {\r\n const { length } = value;\r\n checkedAll.value = length === fileList.value.length;\r\n isIndeterminate.value = length > 0 && length < fileList.value.length;\r\n};\r\n\r\n/* 上传 */\r\nconst httpRequest = async (params: UploadRequestOptions) => {\r\n const { file } = params;\r\n const res = await uploadFile({\r\n file,\r\n fileName: props.fileName,\r\n folder: props.folder,\r\n seat: props.seat,\r\n partSize: props.partSize,\r\n parallel: props.parallel,\r\n options: props.options,\r\n bucket: props.bucket,\r\n saveStore: props.saveStore,\r\n });\r\n return res;\r\n};\r\n\r\n/* 删除文件前 */\r\nconst beforeRemove = (file: UploadFile, files: UploadFiles) => {\r\n if (props.disabled) {\r\n return false;\r\n }\r\n return props.beforeRemove ? props.beforeRemove(file, files) : true;\r\n};\r\n\r\n/* 删除文件 */\r\nconst handleRemove = (file: UploadFile) => {\r\n ElMessageBox.confirm('确定删除该文件吗?', '提示', {\r\n confirmButtonText: '确定',\r\n cancelButtonText: '取消',\r\n type: 'warning',\r\n })\r\n .then(() => {\r\n const index = fileList.value.indexOf(file);\r\n fileList.value = fileList.value.filter((v, i) => v.url !== file.url || (v.url === file.url && i !== index));\r\n emit('handleRemove', { file, index });\r\n return props.onRemove(file, fileList.value);\r\n })\r\n .catch(() => {});\r\n};\r\n\r\nconst uploadFileRef = ref<UploadInstance>();\r\n/* 手动上传 */\r\nconst submit = () => {\r\n uploadFileRef.value!.submit();\r\n};\r\n\r\n/** 取消上传 */\r\nconst abort = (file: UploadFile) => {\r\n uploadFileRef.value!.abort(file);\r\n};\r\n\r\n/** 清空已上传的文件列表 */\r\nconst clearFiles = (status?: UploadStatus[]) => {\r\n uploadFileRef.value!.clearFiles(status);\r\n};\r\n\r\n/** 手动选择文件 */\r\nconst handleStart = (rawFile: UploadRawFile) => {\r\n uploadFileRef.value!.handleStart(rawFile);\r\n};\r\n\r\n/** 预览 */\r\nconst dialogVisible = ref(false);\r\nconst fileIndex = ref(0);\r\nconst handlePreview = (file: UploadFile) => {\r\n fileIndex.value = fileList.value.indexOf(file);\r\n dialogVisible.value = true;\r\n};\r\n\r\ndefineExpose({\r\n submit,\r\n abort,\r\n clearFiles,\r\n handleStart,\r\n uploadFileRef,\r\n});\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\r\n.gm-upload-preview-dialog {\r\n :deep(.el-dialog__body) {\r\n padding: 0;\r\n }\r\n}\r\n.gm-upload-file-picture-card {\r\n :deep(.el-upload-list__item),\r\n :deep(.el-upload--picture-card) {\r\n width: 120px;\r\n height: 120px;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n }\r\n}\r\n</style>\r\n<style lang=\"scss\">\r\n.gm-upload-file {\r\n line-height: normal;\r\n .el-checkbox {\r\n position: absolute;\r\n left: 10px;\r\n top: 0;\r\n z-index: 9;\r\n }\r\n .el-upload-list__item-file-name {\r\n line-height: normal;\r\n }\r\n}\r\n.gm-upload-file-disabled {\r\n .el-upload-list__item-status-label {\r\n display: none;\r\n }\r\n}\r\n</style>\r\n"],"names":["useAliossHookStore","_useModel","ElMessageBox","ref"],"mappings":"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"}
@@ -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\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":";;AAiBO,MAAM,2BAAqE,MAAO,GAAA;AAE5E,MAAA,aAAA,GAAgB,OAAO,eAAe,EAAA;AACtC,MAAA,gBAAA,GAAgD,OAAO,kBAAkB;;;;;;"}
1
+ {"version":3,"file":"key.js","sources":["../../../../packages/constants/key.ts"],"sourcesContent":["import type { Router } from 'vue-router';\r\nimport type { loginDialogProps } from '@giime/components/src/business/loginDialog/loginDialog';\r\nimport type { ExtractPublicPropTypes, InjectionKey, Ref } from 'vue';\r\nexport interface ConfigProviderContext {\r\n // 用户端环境变量\r\n env: ImportMetaEnv;\r\n // 用户端路由\r\n router?: Router;\r\n disabledLoginDialog?: boolean;\r\n disabledRectSelect?: boolean;\r\n loginDialog?: ExtractPublicPropTypes<typeof loginDialogProps>;\r\n /**对消息进行配置 */\r\n message?: {\r\n plain?: boolean;\r\n };\r\n}\r\n\r\nexport const configProviderContextKey: InjectionKey<Ref<ConfigProviderContext>> = Symbol();\r\n\r\nexport const INSTALLED_KEY = Symbol('INSTALLED_KEY');\r\nexport const ImportMetaEnvKey: InjectionKey<ImportMetaEnv> = Symbol('ImportMetaEnvKey');\r\n"],"names":[],"mappings":";;AAiBO,MAAM,2BAAqE,MAAO,GAAA;AAE5E,MAAA,aAAA,GAAgB,OAAO,eAAe,EAAA;AACtC,MAAA,gBAAA,GAAgD,OAAO,kBAAkB;;;;;;"}
@@ -1 +1 @@
1
- export declare const version = "0.5.4";
1
+ export declare const version = "0.5.6";
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- const version = "0.5.3";
3
+ const version = "0.5.5";
4
4
 
5
5
  exports.version = version;
6
6
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.js","sources":["../../../../packages/giime/version.ts"],"sourcesContent":["export const version = '0.5.3';\n"],"names":[],"mappings":";;AAAO,MAAM,OAAU,GAAA;;;;"}
1
+ {"version":3,"file":"version.js","sources":["../../../../packages/giime/version.ts"],"sourcesContent":["export const version = '0.5.5';\n"],"names":[],"mappings":";;AAAO,MAAM,OAAU,GAAA;;;;"}
package/lib/index.css CHANGED
@@ -808,29 +808,33 @@ video {
808
808
  .gm-flex-justify-between[data-v-2a79bac9] {
809
809
  justify-content: space-between;
810
810
  }
811
- .gm-upload-preview-dialog[data-v-80cd8f61] [data-v-80cd8f61] .el-dialog__body {
811
+ .gm-upload-preview-dialog[data-v-bb2dfbf0] [data-v-bb2dfbf0] .el-dialog__body {
812
812
  padding: 0;
813
813
  }
814
814
 
815
- [data-v-80cd8f61] .el-upload-list__item, [data-v-80cd8f61] .el-upload--picture-card {
815
+ .gm-upload-file-picture-card[data-v-bb2dfbf0] [data-v-bb2dfbf0] .el-upload-list__item, .gm-upload-file-picture-card[data-v-bb2dfbf0] [data-v-bb2dfbf0] .el-upload--picture-card {
816
816
  width: 120px;
817
817
  height: 120px;
818
818
  display: flex;
819
819
  align-items: center;
820
820
  justify-content: center;
821
821
  }
822
- .el-upload-file {
822
+ .gm-upload-file {
823
823
  line-height: normal;
824
824
  }
825
- .el-upload-file .el-checkbox {
825
+ .gm-upload-file .el-checkbox {
826
826
  position: absolute;
827
827
  left: 10px;
828
828
  top: 0;
829
829
  z-index: 9;
830
830
  }
831
- .el-upload-file .el-upload-list__item-file-name {
831
+ .gm-upload-file .el-upload-list__item-file-name {
832
832
  line-height: normal;
833
833
  }
834
+
835
+ .gm-upload-file-disabled .el-upload-list__item-status-label {
836
+ display: none;
837
+ }
834
838
  .circular[data-v-b391445c] {
835
839
  animation: loading-rotate-b391445c 2s linear infinite;
836
840
  }
@@ -1 +1 @@
1
- {"version":3,"file":"createAxios.js","sources":["../../../../../../packages/utils/src/http/createAxios.ts"],"sourcesContent":["import axios from 'axios';\nimport { ElMessage } from 'element-plus';\nimport Cookies from 'js-cookie';\nimport { useLoginStore } from '@giime/hooks/store/useLogin';\nimport { isNumber } from '../is';\nimport { res401Interceptors } from './interceptors';\nimport { responseErrorMessage } from './errorMessage';\nimport type { AxiosError, CreateAxiosDefaults, InternalAxiosRequestConfig } from 'axios';\nexport interface CreateAxiosConfig extends CreateAxiosDefaults {\n baseURL: string;\n /**服务器调用成功的code 一般是 0 或 200 */\n successCode: number;\n}\n\nexport const createAxios = (\n config: CreateAxiosConfig,\n options?: {\n requestInterceptors?: (config: InternalAxiosRequestConfig<any>) => any;\n },\n) => {\n const successCode = config.successCode ?? 0;\n const service = axios.create({\n withCredentials: true, // send cookies when cross-domain requests\n timeout: 120_000,\n headers: {\n 'content-type': 'application/json',\n Accept: '*/*',\n },\n ...config,\n });\n\n // 请求拦截器\n service.interceptors.request.use(\n async config => {\n const logingStore = useLoginStore();\n const _token = Cookies.get('token') ?? logingStore.userToken;\n const _user = Cookies.get('sso_user_id') ?? logingStore.userId;\n if (!config.params) {\n config.params = {};\n }\n config.params._token = _token;\n config.params._user = _user;\n config.headers.Authorization = `Bearer ${_token}`;\n await options?.requestInterceptors?.(config);\n return config;\n },\n error => {\n console.error('请求错误', error); // for debug\n return Promise.reject(error);\n },\n );\n // 添加响应拦截器\n service.interceptors.response.use(\n async response => {\n // 对响应数据做点什么\n const res = response.data;\n const msg = (res?.comment ?? res?.message ?? res?.errMsg ?? res?.msg) || '接口请求错误';\n if (!isNumber(res?.code)) {\n return response;\n }\n // 成功情况\n else if (res.code === successCode || res.errCode === successCode) {\n return response;\n }\n // 401\n else if (res.code === 401) {\n const res = await res401Interceptors(service, response.config);\n return res;\n }\n ElMessage({\n message: msg,\n type: 'error',\n grouping: true,\n duration: 5 * 1000,\n showClose: true,\n });\n return Promise.reject(response);\n // return response;\n },\n async (err: AxiosError) => {\n console.error(err.config);\n if (err?.response?.status === 401 && !err.message.includes('timeout')) {\n const res = await res401Interceptors(service, err.config!);\n return res;\n } else {\n // 对响应错误做点什么\n responseErrorMessage(err);\n return Promise.reject(err);\n }\n },\n );\n\n return {\n service,\n };\n};\n"],"names":["config","useLoginStore","isNumber","res","res401Interceptors","ElMessage","responseErrorMessage"],"mappings":"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"}
1
+ {"version":3,"file":"createAxios.js","sources":["../../../../../../packages/utils/src/http/createAxios.ts"],"sourcesContent":["import axios from 'axios';\r\nimport { ElMessage } from 'element-plus';\r\nimport Cookies from 'js-cookie';\r\nimport { useLoginStore } from '@giime/hooks/store/useLogin';\r\nimport { isNumber } from '../is';\r\nimport { res401Interceptors } from './interceptors';\r\nimport { responseErrorMessage } from './errorMessage';\r\nimport type { AxiosError, CreateAxiosDefaults, InternalAxiosRequestConfig } from 'axios';\r\nexport interface CreateAxiosConfig extends CreateAxiosDefaults {\r\n baseURL: string;\r\n /**服务器调用成功的code 一般是 0 或 200 */\r\n successCode: number;\r\n}\r\n\r\nexport const createAxios = (\r\n config: CreateAxiosConfig,\r\n options?: {\r\n requestInterceptors?: (config: InternalAxiosRequestConfig<any>) => any;\r\n },\r\n) => {\r\n const successCode = config.successCode ?? 0;\r\n const service = axios.create({\r\n withCredentials: true, // send cookies when cross-domain requests\r\n timeout: 120_000,\r\n headers: {\r\n 'content-type': 'application/json',\r\n Accept: '*/*',\r\n },\r\n ...config,\r\n });\r\n\r\n // 请求拦截器\r\n service.interceptors.request.use(\r\n async config => {\r\n const logingStore = useLoginStore();\r\n const _token = Cookies.get('token') ?? logingStore.userToken;\r\n const _user = Cookies.get('sso_user_id') ?? logingStore.userId;\r\n if (!config.params) {\r\n config.params = {};\r\n }\r\n config.params._token = _token;\r\n config.params._user = _user;\r\n config.headers.Authorization = `Bearer ${_token}`;\r\n await options?.requestInterceptors?.(config);\r\n return config;\r\n },\r\n error => {\r\n console.error('请求错误', error); // for debug\r\n return Promise.reject(error);\r\n },\r\n );\r\n // 添加响应拦截器\r\n service.interceptors.response.use(\r\n async response => {\r\n // 对响应数据做点什么\r\n const res = response.data;\r\n const msg = (res?.comment ?? res?.message ?? res?.errMsg ?? res?.msg) || '接口请求错误';\r\n if (!isNumber(res?.code)) {\r\n return response;\r\n }\r\n // 成功情况\r\n else if (res.code === successCode || res.errCode === successCode) {\r\n return response;\r\n }\r\n // 401\r\n else if (res.code === 401) {\r\n const res = await res401Interceptors(service, response.config);\r\n return res;\r\n }\r\n ElMessage({\r\n message: msg,\r\n type: 'error',\r\n grouping: true,\r\n duration: 5 * 1000,\r\n showClose: true,\r\n });\r\n return Promise.reject(response);\r\n // return response;\r\n },\r\n async (err: AxiosError) => {\r\n console.error(err.config);\r\n if (err?.response?.status === 401 && !err.message.includes('timeout')) {\r\n const res = await res401Interceptors(service, err.config!);\r\n return res;\r\n } else {\r\n // 对响应错误做点什么\r\n responseErrorMessage(err);\r\n return Promise.reject(err);\r\n }\r\n },\r\n );\r\n\r\n return {\r\n service,\r\n };\r\n};\r\n"],"names":["config","useLoginStore","isNumber","res","res401Interceptors","ElMessage","responseErrorMessage"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"errorMessage.js","sources":["../../../../../../packages/utils/src/http/errorMessage.ts"],"sourcesContent":["import { ElMessage, type MessageOptions } from 'element-plus';\nimport type { AxiosError } from 'axios';\n\n/**\n * 统一错误弹窗\n */\nexport const errorMessage = (options: MessageOptions) => {\n return ElMessage({\n type: 'error',\n duration: 5 * 1000,\n showClose: true,\n grouping: true,\n ...options,\n message: options?.message || '未知错误',\n });\n};\n// 抛错时 error\nexport const responseErrorMessage = (error: AxiosError<any, any>, options?: MessageOptions) => {\n if (error.config?.disableMessage) {\n return;\n }\n if (error.code === 'ERR_CANCELED') {\n return Promise.reject(error);\n }\n const serviceMessage =\n (error?.response?.data?.message || error?.response?.data?.comment || error?.response?.data?.msg || error?.response?.data?.errMsg) ?? '';\n switch (error.response?.status) {\n case 400:\n return errorMessage({\n message: `400-客户端错误,请求失败。${serviceMessage}\n 接口地址:${error.config?.url ?? ''}`,\n ...options,\n });\n case 403:\n return errorMessage({\n message: `403-无权访问。${serviceMessage}\n 接口地址:${error.config?.url ?? ''}`,\n ...options,\n });\n case 404:\n return errorMessage({\n message: `404-无效的请求。${serviceMessage}\n 接口地址:${error.config?.url ?? ''}`,\n ...options,\n });\n case 413:\n return errorMessage({\n message: `413-请求内容过大。${serviceMessage}\n 接口地址:${error.config?.url ?? ''}`,\n ...options,\n });\n case 500:\n return errorMessage({\n message: `500-服务器内部错误o(╥﹏╥)o。${serviceMessage}\n 接口地址:${error.config?.url ?? ''}`,\n ...options,\n });\n case 502:\n return errorMessage({\n message: `502-网关错误。${serviceMessage}\n 接口地址:${error.config?.url ?? ''}`,\n ...options,\n });\n case 504:\n return errorMessage({\n message: `504-网关超时。${serviceMessage}\n 接口地址:${error.config?.url ?? ''}`,\n ...options,\n });\n\n default:\n break;\n }\n // console.error('error', error);\n // console.error('error.message', error.message);\n // console.error('error.status', error.status);\n // console.error('error.response', error.response);\n // console.error('error.code', error.code);\n // console.error('error.name', error.name);\n // 对响应错误做点什么\n if (error.message.includes('timeout')) {\n errorMessage({\n duration: 10 * 1000,\n message: `请求超时。${serviceMessage}\n 接口地址:${error.config?.url ?? ''}`,\n ...options,\n });\n } else if (error.message.includes('Network Error')) {\n errorMessage({\n duration: 10 * 1000,\n message: `网络错误。${serviceMessage}\n 接口地址:${error.config?.url ?? ''}`,\n ...options,\n });\n } else {\n errorMessage({\n message: `${error.message}。${serviceMessage}\n 接口地址:${error.config?.url ?? ''}`,\n ...options,\n });\n }\n};\n"],"names":["ElMessage"],"mappings":"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"}
1
+ {"version":3,"file":"errorMessage.js","sources":["../../../../../../packages/utils/src/http/errorMessage.ts"],"sourcesContent":["import { ElMessage, type MessageOptions } from 'element-plus';\r\nimport type { AxiosError } from 'axios';\r\n\r\n/**\r\n * 统一错误弹窗\r\n */\r\nexport const errorMessage = (options: MessageOptions) => {\r\n return ElMessage({\r\n type: 'error',\r\n duration: 5 * 1000,\r\n showClose: true,\r\n grouping: true,\r\n ...options,\r\n message: options?.message || '未知错误',\r\n });\r\n};\r\n// 抛错时 error\r\nexport const responseErrorMessage = (error: AxiosError<any, any>, options?: MessageOptions) => {\r\n if (error.config?.disableMessage) {\r\n return;\r\n }\r\n if (error.code === 'ERR_CANCELED') {\r\n return Promise.reject(error);\r\n }\r\n const serviceMessage =\r\n (error?.response?.data?.message || error?.response?.data?.comment || error?.response?.data?.msg || error?.response?.data?.errMsg) ?? '';\r\n switch (error.response?.status) {\r\n case 400:\r\n return errorMessage({\r\n message: `400-客户端错误,请求失败。${serviceMessage}\r\n 接口地址:${error.config?.url ?? ''}`,\r\n ...options,\r\n });\r\n case 403:\r\n return errorMessage({\r\n message: `403-无权访问。${serviceMessage}\r\n 接口地址:${error.config?.url ?? ''}`,\r\n ...options,\r\n });\r\n case 404:\r\n return errorMessage({\r\n message: `404-无效的请求。${serviceMessage}\r\n 接口地址:${error.config?.url ?? ''}`,\r\n ...options,\r\n });\r\n case 413:\r\n return errorMessage({\r\n message: `413-请求内容过大。${serviceMessage}\r\n 接口地址:${error.config?.url ?? ''}`,\r\n ...options,\r\n });\r\n case 500:\r\n return errorMessage({\r\n message: `500-服务器内部错误o(╥﹏╥)o。${serviceMessage}\r\n 接口地址:${error.config?.url ?? ''}`,\r\n ...options,\r\n });\r\n case 502:\r\n return errorMessage({\r\n message: `502-网关错误。${serviceMessage}\r\n 接口地址:${error.config?.url ?? ''}`,\r\n ...options,\r\n });\r\n case 504:\r\n return errorMessage({\r\n message: `504-网关超时。${serviceMessage}\r\n 接口地址:${error.config?.url ?? ''}`,\r\n ...options,\r\n });\r\n\r\n default:\r\n break;\r\n }\r\n // console.error('error', error);\r\n // console.error('error.message', error.message);\r\n // console.error('error.status', error.status);\r\n // console.error('error.response', error.response);\r\n // console.error('error.code', error.code);\r\n // console.error('error.name', error.name);\r\n // 对响应错误做点什么\r\n if (error.message.includes('timeout')) {\r\n errorMessage({\r\n duration: 10 * 1000,\r\n message: `请求超时。${serviceMessage}\r\n 接口地址:${error.config?.url ?? ''}`,\r\n ...options,\r\n });\r\n } else if (error.message.includes('Network Error')) {\r\n errorMessage({\r\n duration: 10 * 1000,\r\n message: `网络错误。${serviceMessage}\r\n 接口地址:${error.config?.url ?? ''}`,\r\n ...options,\r\n });\r\n } else {\r\n errorMessage({\r\n message: `${error.message}。${serviceMessage}\r\n 接口地址:${error.config?.url ?? ''}`,\r\n ...options,\r\n });\r\n }\r\n};\r\n"],"names":["ElMessage"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"tree.js","sources":["../../../../../packages/utils/src/tree.ts"],"sourcesContent":["export interface FindChildrenItem extends Record<string, any> {\n label?: any;\n value?: any;\n children?: FindChildrenItem[];\n}\n/**\n * 获取子节点\n */\nexport function findChildrenItem(\n options: FindChildrenItem[],\n targetValue: any,\n option?: { value?: string; children?: string },\n): FindChildrenItem | undefined {\n const valueField = option?.value || 'value';\n const childrenField = option?.children || 'children';\n\n for (const option of options) {\n if (option[valueField] === targetValue) {\n return option;\n }\n if (option[childrenField]) {\n const found = findChildrenItem(option[childrenField], targetValue);\n\n if (found) {\n return found;\n }\n }\n }\n\n return undefined;\n}\n"],"names":["option"],"mappings":";;AAQgB,SAAA,gBAAA,CACd,OACA,EAAA,WAAA,EACA,MAC8B,EAAA;AAC9B,EAAM,MAAA,UAAA,GAAa,QAAQ,KAAS,IAAA,OAAA,CAAA;AACpC,EAAM,MAAA,aAAA,GAAgB,QAAQ,QAAY,IAAA,UAAA,CAAA;AAE1C,EAAA,KAAA,MAAWA,WAAU,OAAS,EAAA;AAC5B,IAAIA,IAAAA,OAAAA,CAAO,UAAU,CAAA,KAAM,WAAa,EAAA;AACtC,MAAOA,OAAAA,OAAAA,CAAAA;AAAA,KACT;AACA,IAAIA,IAAAA,OAAAA,CAAO,aAAa,CAAG,EAAA;AACzB,MAAA,MAAM,KAAQ,GAAA,gBAAA,CAAiBA,OAAO,CAAA,aAAa,GAAG,WAAW,CAAA,CAAA;AAEjE,MAAA,IAAI,KAAO,EAAA;AACT,QAAO,OAAA,KAAA,CAAA;AAAA,OACT;AAAA,KACF;AAAA,GACF;AAEA,EAAO,OAAA,KAAA,CAAA,CAAA;AACT;;;;"}
1
+ {"version":3,"file":"tree.js","sources":["../../../../../packages/utils/src/tree.ts"],"sourcesContent":["export interface FindChildrenItem extends Record<string, any> {\r\n label?: any;\r\n value?: any;\r\n children?: FindChildrenItem[];\r\n}\r\n/**\r\n * 获取子节点\r\n */\r\nexport function findChildrenItem(\r\n options: FindChildrenItem[],\r\n targetValue: any,\r\n option?: { value?: string; children?: string },\r\n): FindChildrenItem | undefined {\r\n const valueField = option?.value || 'value';\r\n const childrenField = option?.children || 'children';\r\n\r\n for (const option of options) {\r\n if (option[valueField] === targetValue) {\r\n return option;\r\n }\r\n if (option[childrenField]) {\r\n const found = findChildrenItem(option[childrenField], targetValue);\r\n\r\n if (found) {\r\n return found;\r\n }\r\n }\r\n }\r\n\r\n return undefined;\r\n}\r\n"],"names":["option"],"mappings":";;AAQgB,SAAA,gBAAA,CACd,OACA,EAAA,WAAA,EACA,MAC8B,EAAA;AAC9B,EAAM,MAAA,UAAA,GAAa,QAAQ,KAAS,IAAA,OAAA,CAAA;AACpC,EAAM,MAAA,aAAA,GAAgB,QAAQ,QAAY,IAAA,UAAA,CAAA;AAE1C,EAAA,KAAA,MAAWA,WAAU,OAAS,EAAA;AAC5B,IAAIA,IAAAA,OAAAA,CAAO,UAAU,CAAA,KAAM,WAAa,EAAA;AACtC,MAAOA,OAAAA,OAAAA,CAAAA;AAAA,KACT;AACA,IAAIA,IAAAA,OAAAA,CAAO,aAAa,CAAG,EAAA;AACzB,MAAA,MAAM,KAAQ,GAAA,gBAAA,CAAiBA,OAAO,CAAA,aAAa,GAAG,WAAW,CAAA,CAAA;AAEjE,MAAA,IAAI,KAAO,EAAA;AACT,QAAO,OAAA,KAAA,CAAA;AAAA,OACT;AAAA,KACF;AAAA,GACF;AAEA,EAAO,OAAA,KAAA,CAAA,CAAA;AACT;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "giime",
3
- "version": "0.5.4",
3
+ "version": "0.5.6",
4
4
  "description": "A Component Library for Vue 3",
5
5
  "keywords": [
6
6
  "giime",
@@ -1,32 +0,0 @@
1
- /** 上传文件到阿里云 */
2
- export type AliOssParams = {
3
- /** 资源文件 */
4
- file: File;
5
- /** 文件名 */
6
- fileName?: string;
7
- /** 文件存储位置 */
8
- seat?: string;
9
- /** 上传到oss的设置 */
10
- options?: any;
11
- };
12
- /** 返回数据 */
13
- export type AliOssResponse = {
14
- /** 文件地址 */
15
- url: string;
16
- /** 文件名 */
17
- name: string;
18
- /** 文件最后修改时间 */
19
- lastModified: number;
20
- /** 文件md5 */
21
- md5: string;
22
- /** 文件大小 */
23
- size: number;
24
- /** 文件后缀 */
25
- type: string;
26
- /** 文件库是否存在 */
27
- isExist: boolean;
28
- };
29
- /** 检测广告素材是否已存在 */
30
- export declare const getFileExist: (md5Code: string, ext: string) => Promise<string | false>;
31
- /** 上传文件 */
32
- export declare const aliossPutFile: ({ file, fileName, seat, options }: AliOssParams) => Promise<AliOssResponse>;