giime 0.5.3 → 0.5.5
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/dist/index.css +70 -55
- package/es/api/materialApi/cross/postSaveFileResources.d.ts +2 -2
- package/es/api/materialApi/cross/postSaveFileResources.mjs +1 -0
- package/es/api/materialApi/cross/postSaveFileResources.mjs.map +1 -1
- package/es/components/index.mjs +4 -0
- package/es/components/index.mjs.map +1 -1
- package/es/components/src/base/affix/index.mjs.map +1 -1
- package/es/components/src/business/loginDialog/LoginDialog.vue2.mjs.map +1 -1
- package/es/components/src/business/loginDialog/loginDialog.mjs.map +1 -1
- package/es/components/src/business/uploadMaterial/UploadMaterial.vue.d.ts +259 -90
- package/es/components/src/business/uploadMaterial/UploadMaterial.vue.mjs +2 -5
- package/es/components/src/business/uploadMaterial/UploadMaterial.vue.mjs.map +1 -1
- package/es/components/src/business/uploadMaterial/UploadMaterial.vue2.mjs +25 -162
- package/es/components/src/business/uploadMaterial/UploadMaterial.vue2.mjs.map +1 -1
- package/es/components/src/business/uploadMaterial/index.d.ts +181 -12
- package/es/components/src/business/uploadMaterial/index.mjs +3 -2
- package/es/components/src/business/uploadMaterial/index.mjs.map +1 -1
- package/es/components/src/business/uploadMaterial/uploadMaterial.d.ts +84 -6
- package/es/components/src/business/uploadMaterial/uploadMaterial.mjs +9 -23
- package/es/components/src/business/uploadMaterial/uploadMaterial.mjs.map +1 -1
- package/es/components/src/composite/fileComponent/FileComponent.vue.d.ts +69 -0
- package/es/components/src/composite/fileComponent/FileComponent.vue.mjs +6 -0
- package/es/components/src/composite/fileComponent/FileComponent.vue.mjs.map +1 -0
- package/es/components/src/composite/fileComponent/FileComponent.vue2.mjs +83 -0
- package/es/components/src/composite/fileComponent/FileComponent.vue2.mjs.map +1 -0
- package/es/components/src/composite/fileComponent/assets/image/excel.svg.mjs +4 -0
- package/es/components/src/composite/fileComponent/assets/image/excel.svg.mjs.map +1 -0
- package/es/components/src/composite/fileComponent/assets/image/pdf.svg.mjs +4 -0
- package/es/components/src/composite/fileComponent/assets/image/pdf.svg.mjs.map +1 -0
- package/es/components/src/composite/fileComponent/assets/image/ppt.svg.mjs +4 -0
- package/es/components/src/composite/fileComponent/assets/image/ppt.svg.mjs.map +1 -0
- package/es/components/src/composite/fileComponent/assets/image/psd.svg.mjs +4 -0
- package/es/components/src/composite/fileComponent/assets/image/psd.svg.mjs.map +1 -0
- package/es/components/src/composite/fileComponent/assets/image/text.svg.mjs +4 -0
- package/es/components/src/composite/fileComponent/assets/image/text.svg.mjs.map +1 -0
- package/es/components/src/composite/fileComponent/assets/image/unknown.svg.mjs +4 -0
- package/es/components/src/composite/fileComponent/assets/image/unknown.svg.mjs.map +1 -0
- package/es/components/src/composite/fileComponent/assets/image/word.svg.mjs +4 -0
- package/es/components/src/composite/fileComponent/assets/image/word.svg.mjs.map +1 -0
- package/es/components/src/composite/fileComponent/assets/image/zip.svg.mjs +4 -0
- package/es/components/src/composite/fileComponent/assets/image/zip.svg.mjs.map +1 -0
- package/es/components/src/composite/fileComponent/fileComponent.d.ts +41 -0
- package/es/components/src/composite/fileComponent/fileComponent.mjs +40 -0
- package/es/components/src/composite/fileComponent/fileComponent.mjs.map +1 -0
- package/es/components/src/composite/fileComponent/index.d.ts +71 -0
- package/es/components/src/composite/fileComponent/index.mjs +10 -0
- package/es/components/src/composite/fileComponent/index.mjs.map +1 -0
- package/es/components/src/composite/index.d.ts +2 -0
- package/es/components/src/composite/index.mjs +4 -0
- package/es/components/src/composite/index.mjs.map +1 -1
- package/es/components/src/composite/previewFile/PreviewFile.vue.d.ts +97 -0
- package/es/components/src/composite/previewFile/PreviewFile.vue.mjs +6 -0
- package/es/components/src/composite/previewFile/PreviewFile.vue.mjs.map +1 -0
- package/es/components/src/composite/previewFile/PreviewFile.vue2.mjs +120 -0
- package/es/components/src/composite/previewFile/PreviewFile.vue2.mjs.map +1 -0
- package/es/components/src/composite/previewFile/index.d.ts +99 -0
- package/es/components/src/composite/previewFile/index.mjs +10 -0
- package/es/components/src/composite/previewFile/index.mjs.map +1 -0
- package/es/components/src/composite/previewFile/previewFile.d.ts +42 -0
- package/es/components/src/composite/previewFile/previewFile.mjs +19 -0
- package/es/components/src/composite/previewFile/previewFile.mjs.map +1 -0
- package/es/components/src/composite/uploadFile/UploadFile.vue.d.ts +973 -0
- package/es/components/src/composite/uploadFile/UploadFile.vue.mjs +9 -0
- package/es/components/src/composite/uploadFile/UploadFile.vue.mjs.map +1 -0
- package/es/components/src/composite/uploadFile/UploadFile.vue2.mjs +239 -0
- package/es/components/src/composite/uploadFile/UploadFile.vue2.mjs.map +1 -0
- package/es/components/src/{business/uploadMaterial/UploadMaterial.vue3.mjs → composite/uploadFile/UploadFile.vue3.mjs} +1 -1
- package/es/components/src/composite/uploadFile/UploadFile.vue3.mjs.map +1 -0
- package/es/components/src/{business/uploadMaterial/UploadMaterial.vue4.mjs → composite/uploadFile/UploadFile.vue4.mjs} +1 -1
- package/es/components/src/composite/uploadFile/UploadFile.vue4.mjs.map +1 -0
- package/es/components/src/composite/uploadFile/index.d.ts +2486 -0
- package/es/components/src/composite/uploadFile/index.mjs +9 -0
- package/es/components/src/composite/uploadFile/index.mjs.map +1 -0
- package/es/components/src/composite/uploadFile/uploadFile.d.ts +227 -0
- package/es/components/src/composite/uploadFile/uploadFile.mjs +92 -0
- package/es/components/src/composite/uploadFile/uploadFile.mjs.map +1 -0
- package/es/constants/key.mjs.map +1 -1
- package/es/giime/index.mjs +5 -1
- package/es/giime/index.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/index.css +70 -55
- package/es/utils/index.mjs +1 -1
- package/es/utils/src/alioss/aliossPutHook.d.ts +79 -0
- package/es/utils/src/alioss/aliossPutHook.mjs +177 -0
- package/es/utils/src/alioss/aliossPutHook.mjs.map +1 -0
- package/es/utils/src/alioss/aliossToken.d.ts +17 -0
- package/es/utils/src/alioss/aliossToken.mjs +51 -0
- package/es/utils/src/alioss/aliossToken.mjs.map +1 -0
- package/es/utils/src/http/createAxios.mjs.map +1 -1
- package/es/utils/src/http/errorMessage.mjs.map +1 -1
- package/es/utils/src/is.d.ts +44 -2
- package/es/utils/src/is.mjs +29 -1
- package/es/utils/src/is.mjs.map +1 -1
- package/es/utils/src/tree.mjs.map +1 -1
- package/lib/api/materialApi/cross/postSaveFileResources.d.ts +2 -2
- package/lib/api/materialApi/cross/postSaveFileResources.js +1 -0
- package/lib/api/materialApi/cross/postSaveFileResources.js.map +1 -1
- package/lib/components/index.js +22 -14
- package/lib/components/index.js.map +1 -1
- package/lib/components/src/base/affix/index.js.map +1 -1
- package/lib/components/src/business/loginDialog/LoginDialog.vue2.js.map +1 -1
- package/lib/components/src/business/loginDialog/loginDialog.js.map +1 -1
- package/lib/components/src/business/uploadMaterial/UploadMaterial.vue.d.ts +259 -90
- package/lib/components/src/business/uploadMaterial/UploadMaterial.vue.js +2 -5
- package/lib/components/src/business/uploadMaterial/UploadMaterial.vue.js.map +1 -1
- package/lib/components/src/business/uploadMaterial/UploadMaterial.vue2.js +24 -161
- package/lib/components/src/business/uploadMaterial/UploadMaterial.vue2.js.map +1 -1
- package/lib/components/src/business/uploadMaterial/index.d.ts +181 -12
- package/lib/components/src/business/uploadMaterial/index.js +3 -2
- package/lib/components/src/business/uploadMaterial/index.js.map +1 -1
- package/lib/components/src/business/uploadMaterial/uploadMaterial.d.ts +84 -6
- package/lib/components/src/business/uploadMaterial/uploadMaterial.js +9 -23
- package/lib/components/src/business/uploadMaterial/uploadMaterial.js.map +1 -1
- package/lib/components/src/composite/fileComponent/FileComponent.vue.d.ts +69 -0
- package/lib/components/src/composite/fileComponent/FileComponent.vue.js +10 -0
- package/lib/components/src/composite/fileComponent/FileComponent.vue.js.map +1 -0
- package/lib/components/src/composite/fileComponent/FileComponent.vue2.js +87 -0
- package/lib/components/src/composite/fileComponent/FileComponent.vue2.js.map +1 -0
- package/lib/components/src/composite/fileComponent/assets/image/excel.svg.js +8 -0
- package/lib/components/src/composite/fileComponent/assets/image/excel.svg.js.map +1 -0
- package/lib/components/src/composite/fileComponent/assets/image/pdf.svg.js +8 -0
- package/lib/components/src/composite/fileComponent/assets/image/pdf.svg.js.map +1 -0
- package/lib/components/src/composite/fileComponent/assets/image/ppt.svg.js +8 -0
- package/lib/components/src/composite/fileComponent/assets/image/ppt.svg.js.map +1 -0
- package/lib/components/src/composite/fileComponent/assets/image/psd.svg.js +8 -0
- package/lib/components/src/composite/fileComponent/assets/image/psd.svg.js.map +1 -0
- package/lib/components/src/composite/fileComponent/assets/image/text.svg.js +8 -0
- package/lib/components/src/composite/fileComponent/assets/image/text.svg.js.map +1 -0
- package/lib/components/src/composite/fileComponent/assets/image/unknown.svg.js +8 -0
- package/lib/components/src/composite/fileComponent/assets/image/unknown.svg.js.map +1 -0
- package/lib/components/src/composite/fileComponent/assets/image/word.svg.js +8 -0
- package/lib/components/src/composite/fileComponent/assets/image/word.svg.js.map +1 -0
- package/lib/components/src/composite/fileComponent/assets/image/zip.svg.js +8 -0
- package/lib/components/src/composite/fileComponent/assets/image/zip.svg.js.map +1 -0
- package/lib/components/src/composite/fileComponent/fileComponent.d.ts +41 -0
- package/lib/components/src/composite/fileComponent/fileComponent.js +42 -0
- package/lib/components/src/composite/fileComponent/fileComponent.js.map +1 -0
- package/lib/components/src/composite/fileComponent/index.d.ts +71 -0
- package/lib/components/src/composite/fileComponent/index.js +16 -0
- package/lib/components/src/composite/fileComponent/index.js.map +1 -0
- package/lib/components/src/composite/index.d.ts +2 -0
- package/lib/components/src/composite/index.js +8 -0
- package/lib/components/src/composite/index.js.map +1 -1
- package/lib/components/src/composite/previewFile/PreviewFile.vue.d.ts +97 -0
- package/lib/components/src/composite/previewFile/PreviewFile.vue.js +10 -0
- package/lib/components/src/composite/previewFile/PreviewFile.vue.js.map +1 -0
- package/lib/components/src/composite/previewFile/PreviewFile.vue2.js +124 -0
- package/lib/components/src/composite/previewFile/PreviewFile.vue2.js.map +1 -0
- package/lib/components/src/composite/previewFile/index.d.ts +99 -0
- package/lib/components/src/composite/previewFile/index.js +16 -0
- package/lib/components/src/composite/previewFile/index.js.map +1 -0
- package/lib/components/src/composite/previewFile/previewFile.d.ts +42 -0
- package/lib/components/src/composite/previewFile/previewFile.js +21 -0
- package/lib/components/src/composite/previewFile/previewFile.js.map +1 -0
- package/lib/components/src/composite/uploadFile/UploadFile.vue.d.ts +973 -0
- package/lib/components/src/composite/uploadFile/UploadFile.vue.js +13 -0
- package/lib/components/src/composite/uploadFile/UploadFile.vue.js.map +1 -0
- package/lib/components/src/composite/uploadFile/UploadFile.vue2.js +243 -0
- package/lib/components/src/composite/uploadFile/UploadFile.vue2.js.map +1 -0
- package/lib/components/src/{business/uploadMaterial/UploadMaterial.vue3.js → composite/uploadFile/UploadFile.vue3.js} +1 -1
- package/lib/components/src/composite/uploadFile/UploadFile.vue3.js.map +1 -0
- package/lib/components/src/{business/uploadMaterial/UploadMaterial.vue4.js → composite/uploadFile/UploadFile.vue4.js} +1 -1
- package/lib/components/src/composite/uploadFile/UploadFile.vue4.js.map +1 -0
- package/lib/components/src/composite/uploadFile/index.d.ts +2486 -0
- package/lib/components/src/composite/uploadFile/index.js +15 -0
- package/lib/components/src/composite/uploadFile/index.js.map +1 -0
- package/lib/components/src/composite/uploadFile/uploadFile.d.ts +227 -0
- package/lib/components/src/composite/uploadFile/uploadFile.js +94 -0
- package/lib/components/src/composite/uploadFile/uploadFile.js.map +1 -0
- package/lib/constants/key.js.map +1 -1
- package/lib/giime/index.js +75 -60
- package/lib/giime/index.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/index.css +70 -55
- package/lib/utils/index.js +7 -0
- package/lib/utils/index.js.map +1 -1
- package/lib/utils/src/alioss/aliossPutHook.d.ts +79 -0
- package/lib/utils/src/alioss/aliossPutHook.js +181 -0
- package/lib/utils/src/alioss/aliossPutHook.js.map +1 -0
- package/lib/utils/src/alioss/aliossToken.d.ts +17 -0
- package/lib/utils/src/alioss/aliossToken.js +55 -0
- package/lib/utils/src/alioss/aliossToken.js.map +1 -0
- package/lib/utils/src/http/createAxios.js.map +1 -1
- package/lib/utils/src/http/errorMessage.js.map +1 -1
- package/lib/utils/src/is.d.ts +44 -2
- package/lib/utils/src/is.js +35 -0
- package/lib/utils/src/is.js.map +1 -1
- package/lib/utils/src/tree.js.map +1 -1
- package/package.json +1 -1
- package/es/components/src/business/uploadMaterial/UploadMaterial.vue3.mjs.map +0 -1
- package/es/components/src/business/uploadMaterial/UploadMaterial.vue4.mjs.map +0 -1
- package/es/utils/src/alioss.d.ts +0 -32
- package/es/utils/src/alioss.mjs +0 -110
- package/es/utils/src/alioss.mjs.map +0 -1
- package/lib/components/src/business/uploadMaterial/UploadMaterial.vue3.js.map +0 -1
- package/lib/components/src/business/uploadMaterial/UploadMaterial.vue4.js.map +0 -1
- package/lib/utils/src/alioss.d.ts +0 -32
- package/lib/utils/src/alioss.js +0 -113
- package/lib/utils/src/alioss.js.map +0 -1
package/lib/index.css
CHANGED
|
@@ -638,6 +638,13 @@ video {
|
|
|
638
638
|
.gm-cursor-pointer {
|
|
639
639
|
cursor: pointer;
|
|
640
640
|
}
|
|
641
|
+
.gm-select-none {
|
|
642
|
+
-webkit-user-select: none;
|
|
643
|
+
user-select: none;
|
|
644
|
+
}
|
|
645
|
+
.gm-flex-col {
|
|
646
|
+
flex-direction: column;
|
|
647
|
+
}
|
|
641
648
|
.gm-flex-wrap {
|
|
642
649
|
flex-wrap: wrap;
|
|
643
650
|
}
|
|
@@ -656,6 +663,9 @@ video {
|
|
|
656
663
|
.gm-gap-2 {
|
|
657
664
|
gap: 0.5rem;
|
|
658
665
|
}
|
|
666
|
+
.gm-gap-4 {
|
|
667
|
+
gap: 1rem;
|
|
668
|
+
}
|
|
659
669
|
.gm-overflow-hidden {
|
|
660
670
|
overflow: hidden;
|
|
661
671
|
}
|
|
@@ -665,6 +675,9 @@ video {
|
|
|
665
675
|
.gm-rounded-full {
|
|
666
676
|
border-radius: 9999px;
|
|
667
677
|
}
|
|
678
|
+
.gm-rounded-md {
|
|
679
|
+
border-radius: 0.375rem;
|
|
680
|
+
}
|
|
668
681
|
.gm-border {
|
|
669
682
|
border-width: 1px;
|
|
670
683
|
}
|
|
@@ -694,6 +707,9 @@ video {
|
|
|
694
707
|
.gm-stroke-2 {
|
|
695
708
|
stroke-width: 2;
|
|
696
709
|
}
|
|
710
|
+
.gm-p-1 {
|
|
711
|
+
padding: 0.25rem;
|
|
712
|
+
}
|
|
697
713
|
.gm-p-4 {
|
|
698
714
|
padding: 1rem;
|
|
699
715
|
}
|
|
@@ -754,10 +770,18 @@ video {
|
|
|
754
770
|
--tw-text-opacity: 1;
|
|
755
771
|
color: rgb(59 130 246 / var(--tw-text-opacity));
|
|
756
772
|
}
|
|
773
|
+
.gm-text-blue-700 {
|
|
774
|
+
--tw-text-opacity: 1;
|
|
775
|
+
color: rgb(29 78 216 / var(--tw-text-opacity));
|
|
776
|
+
}
|
|
757
777
|
.gm-text-cyan-500 {
|
|
758
778
|
--tw-text-opacity: 1;
|
|
759
779
|
color: rgb(6 182 212 / var(--tw-text-opacity));
|
|
760
780
|
}
|
|
781
|
+
.gm-text-gray-500 {
|
|
782
|
+
--tw-text-opacity: 1;
|
|
783
|
+
color: rgb(107 114 128 / var(--tw-text-opacity));
|
|
784
|
+
}
|
|
761
785
|
.gm-text-gray-700 {
|
|
762
786
|
--tw-text-opacity: 1;
|
|
763
787
|
color: rgb(55 65 81 / var(--tw-text-opacity));
|
|
@@ -782,21 +806,12 @@ video {
|
|
|
782
806
|
margin: 0;
|
|
783
807
|
}
|
|
784
808
|
|
|
785
|
-
[data-v-
|
|
786
|
-
|
|
787
|
-
border: none;
|
|
788
|
-
}
|
|
789
|
-
|
|
790
|
-
.gm-upload-preview-dialog[data-v-7c80c3b6] [data-v-7c80c3b6] .el-dialog__body {
|
|
791
|
-
padding: 0;
|
|
809
|
+
.gm-flex-center[data-v-2a79bac9] {
|
|
810
|
+
align-items: center;
|
|
792
811
|
}
|
|
793
812
|
|
|
794
|
-
|
|
795
|
-
|
|
796
|
-
height: 120px;
|
|
797
|
-
display: flex;
|
|
798
|
-
align-items: center;
|
|
799
|
-
justify-content: center;
|
|
813
|
+
.gm-flex-justify-between[data-v-2a79bac9] {
|
|
814
|
+
justify-content: space-between;
|
|
800
815
|
}
|
|
801
816
|
.circular[data-v-b391445c] {
|
|
802
817
|
animation: loading-rotate-b391445c 2s linear infinite;
|
|
@@ -829,21 +844,43 @@ video {
|
|
|
829
844
|
stroke-dashoffset: -120px;
|
|
830
845
|
}
|
|
831
846
|
}
|
|
832
|
-
|
|
847
|
+
[data-v-668dc408] .gmTableNoBorder .el-table__body .el-table__cell {
|
|
848
|
+
border-right: none;
|
|
849
|
+
}
|
|
850
|
+
|
|
851
|
+
[data-v-668dc408] .gmTableNoBorder .el-table__inner-wrapper:before {
|
|
852
|
+
height: 0;
|
|
853
|
+
}
|
|
854
|
+
|
|
855
|
+
[data-v-668dc408] .gmTableNoBorder.el-table--border .el-table__inner-wrapper:after {
|
|
856
|
+
height: 0;
|
|
857
|
+
}
|
|
858
|
+
|
|
859
|
+
[data-v-668dc408] .gmTableNoBorder.el-table--border:after {
|
|
860
|
+
height: 0;
|
|
861
|
+
}
|
|
862
|
+
|
|
863
|
+
[data-v-668dc408] .gmTableNoBorder.el-table--border:before {
|
|
864
|
+
height: 0;
|
|
865
|
+
}
|
|
866
|
+
|
|
867
|
+
[data-v-668dc408] .gmTableNoBorder .el-table__border-left-patch {
|
|
868
|
+
height: 0;
|
|
869
|
+
}
|
|
870
|
+
.gm-upload-preview-dialog[data-v-80cd8f61] [data-v-80cd8f61] .el-dialog__body {
|
|
871
|
+
padding: 0;
|
|
872
|
+
}
|
|
873
|
+
|
|
874
|
+
[data-v-80cd8f61] .el-upload-list__item, [data-v-80cd8f61] .el-upload--picture-card {
|
|
875
|
+
width: 120px;
|
|
876
|
+
height: 120px;
|
|
833
877
|
display: flex;
|
|
834
878
|
align-items: center;
|
|
835
879
|
justify-content: center;
|
|
836
880
|
}
|
|
837
|
-
|
|
838
|
-
margin: 0;
|
|
839
|
-
|
|
840
|
-
.gm-upload-material .el-dialog__body {
|
|
841
|
-
max-height: calc(100vh - 100px);
|
|
842
|
-
overflow-y: auto;
|
|
843
|
-
}
|
|
844
|
-
.gm-upload-material .el-dialog__body video,
|
|
845
|
-
.gm-upload-material .el-dialog__body img {
|
|
846
|
-
max-height: calc(100vh - 150px);
|
|
881
|
+
[data-v-7b6755e2] .gmSearchForm .el-form-item {
|
|
882
|
+
margin-right: 0;
|
|
883
|
+
margin-bottom: 4px;
|
|
847
884
|
}
|
|
848
885
|
.gm-number-interval-single[data-v-47a13fd0] {
|
|
849
886
|
border-radius: var(--el-input-border-radius, var(--el-border-radius-base));
|
|
@@ -863,39 +900,17 @@ video {
|
|
|
863
900
|
.gm-number-interval-single[data-v-47a13fd0]:hover .gm-number-interval-close[data-v-47a13fd0] {
|
|
864
901
|
display: flex;
|
|
865
902
|
}
|
|
866
|
-
.
|
|
867
|
-
|
|
868
|
-
}
|
|
869
|
-
|
|
870
|
-
.gm-flex-justify-between[data-v-2a79bac9] {
|
|
871
|
-
justify-content: space-between;
|
|
903
|
+
.el-upload-file {
|
|
904
|
+
line-height: normal;
|
|
872
905
|
}
|
|
873
|
-
|
|
874
|
-
|
|
875
|
-
|
|
876
|
-
|
|
877
|
-
|
|
878
|
-
border-right: none;
|
|
879
|
-
}
|
|
880
|
-
|
|
881
|
-
[data-v-668dc408] .gmTableNoBorder .el-table__inner-wrapper:before {
|
|
882
|
-
height: 0;
|
|
883
|
-
}
|
|
884
|
-
|
|
885
|
-
[data-v-668dc408] .gmTableNoBorder.el-table--border .el-table__inner-wrapper:after {
|
|
886
|
-
height: 0;
|
|
887
|
-
}
|
|
888
|
-
|
|
889
|
-
[data-v-668dc408] .gmTableNoBorder.el-table--border:after {
|
|
890
|
-
height: 0;
|
|
891
|
-
}
|
|
892
|
-
|
|
893
|
-
[data-v-668dc408] .gmTableNoBorder.el-table--border:before {
|
|
894
|
-
height: 0;
|
|
906
|
+
.el-upload-file .el-checkbox {
|
|
907
|
+
position: absolute;
|
|
908
|
+
left: 10px;
|
|
909
|
+
top: 0;
|
|
910
|
+
z-index: 9;
|
|
895
911
|
}
|
|
896
|
-
|
|
897
|
-
|
|
898
|
-
height: 0;
|
|
912
|
+
.el-upload-file .el-upload-list__item-file-name {
|
|
913
|
+
line-height: normal;
|
|
899
914
|
}
|
|
900
915
|
|
|
901
916
|
.pagination-container[data-v-19230954] {
|
package/lib/utils/index.js
CHANGED
|
@@ -31,6 +31,7 @@ exports.isDate = is.isDate;
|
|
|
31
31
|
exports.isDecimal = is.isDecimal;
|
|
32
32
|
exports.isError = is.isError;
|
|
33
33
|
exports.isEven = is.isEven;
|
|
34
|
+
exports.isExcel = is.isExcel;
|
|
34
35
|
exports.isHttps = is.isHttps;
|
|
35
36
|
exports.isImageUrl = is.isImageUrl;
|
|
36
37
|
exports.isInteger = is.isInteger;
|
|
@@ -40,12 +41,18 @@ exports.isNull = is.isNull;
|
|
|
40
41
|
exports.isNumber = is.isNumber;
|
|
41
42
|
exports.isObjectLike = is.isObjectLike;
|
|
42
43
|
exports.isOdd = is.isOdd;
|
|
44
|
+
exports.isPDF = is.isPDF;
|
|
45
|
+
exports.isPPT = is.isPPT;
|
|
46
|
+
exports.isPSD = is.isPSD;
|
|
43
47
|
exports.isPlainObject = is.isPlainObject;
|
|
44
48
|
exports.isPositive = is.isPositive;
|
|
45
49
|
exports.isString = is.isString;
|
|
46
50
|
exports.isSymbol = is.isSymbol;
|
|
51
|
+
exports.isText = is.isText;
|
|
47
52
|
exports.isUndefined = is.isUndefined;
|
|
48
53
|
exports.isVideoUrl = is.isVideoUrl;
|
|
54
|
+
exports.isWord = is.isWord;
|
|
55
|
+
exports.isZip = is.isZip;
|
|
49
56
|
exports.hasOwn = objects.hasOwn;
|
|
50
57
|
exports.keysOf = objects.keysOf;
|
|
51
58
|
exports.resetObject = objects.resetObject;
|
package/lib/utils/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
/// <reference types="@vueuse/shared" />
|
|
2
|
+
import { type PostSaveFileResourcesData } from '../../../api/materialApi';
|
|
3
|
+
export type PostSaveFileResponse = PostSaveFileResourcesData;
|
|
4
|
+
export type UploadAliOssFile = File & {
|
|
5
|
+
uid: number;
|
|
6
|
+
};
|
|
7
|
+
/** 上传文件到阿里云 */
|
|
8
|
+
export type AliOssParams = {
|
|
9
|
+
/** 资源文件 */
|
|
10
|
+
file: UploadAliOssFile;
|
|
11
|
+
/** 文件名 */
|
|
12
|
+
fileName?: string;
|
|
13
|
+
/** 文件存储路径 */
|
|
14
|
+
folder?: string;
|
|
15
|
+
/** 文件存储位置 */
|
|
16
|
+
seat?: string;
|
|
17
|
+
/** 并行上传数量 */
|
|
18
|
+
parallel?: number;
|
|
19
|
+
/** 并行分片大小 */
|
|
20
|
+
partSize?: number;
|
|
21
|
+
/** 阿里上传配置 */
|
|
22
|
+
options?: {
|
|
23
|
+
[key: string]: any;
|
|
24
|
+
};
|
|
25
|
+
/** 阿里服务器 Bucket 名称 */
|
|
26
|
+
bucket?: string;
|
|
27
|
+
/** cdn */
|
|
28
|
+
cdn?: string;
|
|
29
|
+
/** 文件是否保存入库 */
|
|
30
|
+
saveStore?: boolean;
|
|
31
|
+
};
|
|
32
|
+
/** 返回数据 */
|
|
33
|
+
export type AliOssResponse = {
|
|
34
|
+
/** 文件地址 */
|
|
35
|
+
url: string;
|
|
36
|
+
/** 文件名 */
|
|
37
|
+
name: string;
|
|
38
|
+
/** 文件唯一标识 */
|
|
39
|
+
uid: number;
|
|
40
|
+
/** 文件最后修改时间 */
|
|
41
|
+
lastModified: number;
|
|
42
|
+
/** 文件md5 */
|
|
43
|
+
md5: string;
|
|
44
|
+
/** 文件大小 */
|
|
45
|
+
size: number;
|
|
46
|
+
/** 文件后缀 */
|
|
47
|
+
type: string;
|
|
48
|
+
/** 文件库是否存在 */
|
|
49
|
+
isExist: boolean;
|
|
50
|
+
};
|
|
51
|
+
export declare const ts_md5_file: (file: File) => Promise<string>;
|
|
52
|
+
/** 文件分片 */
|
|
53
|
+
export declare const getParallelPartSize: (size: number) => {
|
|
54
|
+
parallel: number;
|
|
55
|
+
partSize: number;
|
|
56
|
+
};
|
|
57
|
+
/** 上传 Hook */
|
|
58
|
+
export declare const useAliossHookStore: import("pinia").StoreDefinition<"aliossHook", import("pinia")._UnwrapAll<Pick<{
|
|
59
|
+
aliossResult: import("@vueuse/shared").EventHookOn<AliOssResponse>;
|
|
60
|
+
aliossError: import("@vueuse/shared").EventHookOn<any>;
|
|
61
|
+
saveFileResult: import("@vueuse/shared").EventHookOn<PostSaveFileResourcesData>;
|
|
62
|
+
saveFileError: import("@vueuse/shared").EventHookOn<any>;
|
|
63
|
+
uploadFile: ({ file, fileName, folder, seat, parallel, partSize, options, bucket, cdn, saveStore }: AliOssParams) => Promise<unknown>;
|
|
64
|
+
postSaveFile: ({ url, md5_code, file_size }: PostSaveFileResourcesData) => Promise<unknown>;
|
|
65
|
+
}, never>>, Pick<{
|
|
66
|
+
aliossResult: import("@vueuse/shared").EventHookOn<AliOssResponse>;
|
|
67
|
+
aliossError: import("@vueuse/shared").EventHookOn<any>;
|
|
68
|
+
saveFileResult: import("@vueuse/shared").EventHookOn<PostSaveFileResourcesData>;
|
|
69
|
+
saveFileError: import("@vueuse/shared").EventHookOn<any>;
|
|
70
|
+
uploadFile: ({ file, fileName, folder, seat, parallel, partSize, options, bucket, cdn, saveStore }: AliOssParams) => Promise<unknown>;
|
|
71
|
+
postSaveFile: ({ url, md5_code, file_size }: PostSaveFileResourcesData) => Promise<unknown>;
|
|
72
|
+
}, never>, Pick<{
|
|
73
|
+
aliossResult: import("@vueuse/shared").EventHookOn<AliOssResponse>;
|
|
74
|
+
aliossError: import("@vueuse/shared").EventHookOn<any>;
|
|
75
|
+
saveFileResult: import("@vueuse/shared").EventHookOn<PostSaveFileResourcesData>;
|
|
76
|
+
saveFileError: import("@vueuse/shared").EventHookOn<any>;
|
|
77
|
+
uploadFile: ({ file, fileName, folder, seat, parallel, partSize, options, bucket, cdn, saveStore }: AliOssParams) => Promise<unknown>;
|
|
78
|
+
postSaveFile: ({ url, md5_code, file_size }: PostSaveFileResourcesData) => Promise<unknown>;
|
|
79
|
+
}, "aliossResult" | "aliossError" | "saveFileResult" | "saveFileError" | "uploadFile" | "postSaveFile">>;
|
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var pinia = require('pinia');
|
|
4
|
+
var core = require('@vueuse/core');
|
|
5
|
+
var jsMd5 = require('js-md5');
|
|
6
|
+
var AliOss = require('ali-oss');
|
|
7
|
+
require('../../../api/materialApi/index.js');
|
|
8
|
+
var aliossToken = require('./aliossToken.js');
|
|
9
|
+
var getAdFileExist = require('../../../api/materialApi/cross/getAdFileExist.js');
|
|
10
|
+
var postSaveFileResources = require('../../../api/materialApi/cross/postSaveFileResources.js');
|
|
11
|
+
|
|
12
|
+
const ts_md5_file = (file) => {
|
|
13
|
+
return new Promise((resolve) => {
|
|
14
|
+
const reader = new FileReader();
|
|
15
|
+
reader.onload = async function(e) {
|
|
16
|
+
const binary = e.target.result;
|
|
17
|
+
resolve(jsMd5.md5(binary));
|
|
18
|
+
};
|
|
19
|
+
reader.readAsArrayBuffer(file);
|
|
20
|
+
});
|
|
21
|
+
};
|
|
22
|
+
const getParallelPartSize = (size) => {
|
|
23
|
+
const thresholds = [
|
|
24
|
+
{
|
|
25
|
+
max: 5,
|
|
26
|
+
parallel: 1,
|
|
27
|
+
multiplier: 5
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
max: 10,
|
|
31
|
+
parallel: 2,
|
|
32
|
+
multiplier: 4
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
max: 30,
|
|
36
|
+
parallel: 4,
|
|
37
|
+
multiplier: 5
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
max: 50,
|
|
41
|
+
parallel: 6,
|
|
42
|
+
multiplier: 6
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
max: Number.POSITIVE_INFINITY,
|
|
46
|
+
parallel: 8,
|
|
47
|
+
multiplier: 8
|
|
48
|
+
}
|
|
49
|
+
];
|
|
50
|
+
const { parallel, multiplier } = thresholds.find(({ max }) => size <= max) || thresholds[thresholds.length - 1];
|
|
51
|
+
return {
|
|
52
|
+
parallel,
|
|
53
|
+
partSize: multiplier * 1024 * 1024
|
|
54
|
+
};
|
|
55
|
+
};
|
|
56
|
+
const useAliossHookStore = pinia.defineStore("aliossHook", () => {
|
|
57
|
+
const aliossResult = core.createEventHook();
|
|
58
|
+
const aliossError = core.createEventHook();
|
|
59
|
+
const saveFileResult = core.createEventHook();
|
|
60
|
+
const saveFileError = core.createEventHook();
|
|
61
|
+
const getFileExist = async ({
|
|
62
|
+
md5Code,
|
|
63
|
+
ext,
|
|
64
|
+
name,
|
|
65
|
+
size,
|
|
66
|
+
uid,
|
|
67
|
+
lastModified
|
|
68
|
+
}) => {
|
|
69
|
+
return new Promise(async (resolve) => {
|
|
70
|
+
const { data } = await getAdFileExist.getAdFileExist({ md5Code, ext });
|
|
71
|
+
if (data.code !== 0 || data.data.count === 0) {
|
|
72
|
+
return resolve(false);
|
|
73
|
+
}
|
|
74
|
+
const result = {
|
|
75
|
+
name,
|
|
76
|
+
uid,
|
|
77
|
+
lastModified,
|
|
78
|
+
size,
|
|
79
|
+
url: data.data.url,
|
|
80
|
+
md5: md5Code,
|
|
81
|
+
type: ext,
|
|
82
|
+
isExist: true
|
|
83
|
+
};
|
|
84
|
+
resolve(result);
|
|
85
|
+
aliossResult.trigger(result);
|
|
86
|
+
});
|
|
87
|
+
};
|
|
88
|
+
const uploadFile = async ({ file, fileName, folder, seat, parallel, partSize, options, bucket, cdn, saveStore }) => {
|
|
89
|
+
let { name, uid, lastModified, size } = file;
|
|
90
|
+
const ext = name.match(/\.(\w+)$/)?.[0] || "";
|
|
91
|
+
name = (fileName || name).slice(0, name.lastIndexOf("."));
|
|
92
|
+
const md5Code = await ts_md5_file(file);
|
|
93
|
+
const FileName = name + ext;
|
|
94
|
+
const type = ext.replaceAll(".", "");
|
|
95
|
+
try {
|
|
96
|
+
let result = await getFileExist({ md5Code, ext: type, name: FileName, size, uid, lastModified });
|
|
97
|
+
if (result)
|
|
98
|
+
return result;
|
|
99
|
+
const timestr = Date.now();
|
|
100
|
+
const path = `${folder ?? "material"}/${seat ?? "default"}/file-${timestr}-${md5Code}${ext}`;
|
|
101
|
+
const P = getParallelPartSize(size);
|
|
102
|
+
options = {
|
|
103
|
+
...P,
|
|
104
|
+
...{ parallel, partSize },
|
|
105
|
+
ContentDisposition: `attachment;filename=${encodeURIComponent(name)}${ext};filename*=${encodeURIComponent(name)}${ext}`,
|
|
106
|
+
...options
|
|
107
|
+
};
|
|
108
|
+
const { AccessKeyId, AccessKeySecret, SecurityToken } = await aliossToken.default().getAliossTokenAsync();
|
|
109
|
+
const client = new AliOss({
|
|
110
|
+
// yourRegion填写Bucket所在地域。以华东1(杭州)为例,Region填写为oss-cn-hangzhou。
|
|
111
|
+
region: "oss-cn-shenzhen",
|
|
112
|
+
// 从STS服务获取的临时访问密钥(AccessKey ID、AccessKey Secret、StsToken)。
|
|
113
|
+
accessKeyId: AccessKeyId,
|
|
114
|
+
accessKeySecret: AccessKeySecret,
|
|
115
|
+
stsToken: SecurityToken,
|
|
116
|
+
// 刷新临时访问凭证的时间间隔,单位为毫秒。
|
|
117
|
+
refreshSTSTokenInterval: 3e5,
|
|
118
|
+
// 填写Bucket名称。
|
|
119
|
+
bucket: bucket ?? "giikin-material"
|
|
120
|
+
});
|
|
121
|
+
const upload = options.parallel === 1 ? "put" : "multipartUpload";
|
|
122
|
+
const { res } = await client[upload](path, file, options);
|
|
123
|
+
if (res.status !== 200) {
|
|
124
|
+
aliossError.trigger(res);
|
|
125
|
+
return res;
|
|
126
|
+
}
|
|
127
|
+
cdn = cdn ?? "https://sucai.giikin.cn/";
|
|
128
|
+
const resultUrl = cdn + path;
|
|
129
|
+
result = {
|
|
130
|
+
url: resultUrl,
|
|
131
|
+
name: name + ext,
|
|
132
|
+
md5: md5Code,
|
|
133
|
+
type: ext.replaceAll(".", ""),
|
|
134
|
+
uid,
|
|
135
|
+
lastModified,
|
|
136
|
+
size,
|
|
137
|
+
isExist: false
|
|
138
|
+
};
|
|
139
|
+
if (saveStore) {
|
|
140
|
+
postSaveFile({ url: resultUrl, md5_code: md5Code, file_size: size });
|
|
141
|
+
}
|
|
142
|
+
aliossResult.trigger(result);
|
|
143
|
+
return result;
|
|
144
|
+
} catch (error) {
|
|
145
|
+
aliossError.trigger(error);
|
|
146
|
+
return error;
|
|
147
|
+
}
|
|
148
|
+
};
|
|
149
|
+
const postSaveFile = async ({ url, md5_code, file_size }) => {
|
|
150
|
+
try {
|
|
151
|
+
const { data } = await postSaveFileResources.postSaveFileResources({ fileData: { url, md5_code, file_size } });
|
|
152
|
+
if (data?.code !== 0) {
|
|
153
|
+
saveFileError.trigger(data);
|
|
154
|
+
return data;
|
|
155
|
+
}
|
|
156
|
+
const result = {
|
|
157
|
+
url,
|
|
158
|
+
md5_code,
|
|
159
|
+
file_size
|
|
160
|
+
};
|
|
161
|
+
saveFileResult.trigger(result);
|
|
162
|
+
return result;
|
|
163
|
+
} catch (error) {
|
|
164
|
+
saveFileError.trigger(error);
|
|
165
|
+
return error;
|
|
166
|
+
}
|
|
167
|
+
};
|
|
168
|
+
return {
|
|
169
|
+
aliossResult: aliossResult.on,
|
|
170
|
+
aliossError: aliossError.on,
|
|
171
|
+
saveFileResult: saveFileResult.on,
|
|
172
|
+
saveFileError: saveFileError.on,
|
|
173
|
+
uploadFile,
|
|
174
|
+
postSaveFile
|
|
175
|
+
};
|
|
176
|
+
});
|
|
177
|
+
|
|
178
|
+
exports.getParallelPartSize = getParallelPartSize;
|
|
179
|
+
exports.ts_md5_file = ts_md5_file;
|
|
180
|
+
exports.useAliossHookStore = useAliossHookStore;
|
|
181
|
+
//# sourceMappingURL=aliossPutHook.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"aliossPutHook.js","sources":["../../../../../../packages/utils/src/alioss/aliossPutHook.ts"],"sourcesContent":["import { defineStore } from 'pinia';\r\nimport { createEventHook } from '@vueuse/core';\r\nimport { md5 } from 'js-md5';\r\nimport AliOss from 'ali-oss';\r\nimport { type PostSaveFileResourcesData, getAdFileExist, postSaveFileResources } from '@giime/api/materialApi';\r\nimport useAliossTokenStore from './aliossToken';\r\n\r\nexport type PostSaveFileResponse = PostSaveFileResourcesData;\r\nexport type UploadAliOssFile = File & { uid: number };\r\n\r\n/** 上传文件到阿里云 */\r\nexport type AliOssParams = {\r\n /** 资源文件 */\r\n file: UploadAliOssFile;\r\n /** 文件名 */\r\n fileName?: string;\r\n /** 文件存储路径 */\r\n folder?: string;\r\n /** 文件存储位置 */\r\n seat?: string;\r\n /** 并行上传数量 */\r\n parallel?: number;\r\n /** 并行分片大小 */\r\n partSize?: number;\r\n /** 阿里上传配置 */\r\n options?: { [key: string]: any };\r\n /** 阿里服务器 Bucket 名称 */\r\n bucket?: string;\r\n /** cdn */\r\n cdn?: string;\r\n /** 文件是否保存入库 */\r\n saveStore?: boolean;\r\n};\r\n\r\n/** 返回数据 */\r\nexport type AliOssResponse = {\r\n /** 文件地址 */\r\n url: string;\r\n /** 文件名 */\r\n name: string;\r\n /** 文件唯一标识 */\r\n uid: number;\r\n /** 文件最后修改时间 */\r\n lastModified: number;\r\n /** 文件md5 */\r\n md5: string;\r\n /** 文件大小 */\r\n size: number;\r\n /** 文件后缀 */\r\n type: string;\r\n /** 文件库是否存在 */\r\n isExist: boolean;\r\n};\r\n\r\nexport const ts_md5_file = (file: File) => {\r\n return new Promise<string>(resolve => {\r\n const reader = new FileReader();\r\n reader.onload = async function (e) {\r\n const binary = (e.target as any).result;\r\n resolve(md5(binary));\r\n };\r\n reader.readAsArrayBuffer(file);\r\n });\r\n};\r\n\r\n/** 文件分片 */\r\nexport const getParallelPartSize = (size: number) => {\r\n const thresholds = [\r\n {\r\n max: 5,\r\n parallel: 1,\r\n multiplier: 5,\r\n },\r\n {\r\n max: 10,\r\n parallel: 2,\r\n multiplier: 4,\r\n },\r\n {\r\n max: 30,\r\n parallel: 4,\r\n multiplier: 5,\r\n },\r\n {\r\n max: 50,\r\n parallel: 6,\r\n multiplier: 6,\r\n },\r\n {\r\n max: Number.POSITIVE_INFINITY,\r\n parallel: 8,\r\n multiplier: 8,\r\n },\r\n ];\r\n const { parallel, multiplier } = thresholds.find(({ max }) => size <= max) || thresholds[thresholds.length - 1];\r\n\r\n return {\r\n parallel,\r\n partSize: multiplier * 1024 * 1024,\r\n };\r\n};\r\n\r\n/** 上传 Hook */\r\nexport const useAliossHookStore = defineStore('aliossHook', () => {\r\n const aliossResult = createEventHook<AliOssResponse>();\r\n const aliossError = createEventHook<any>();\r\n const saveFileResult = createEventHook<PostSaveFileResponse>();\r\n const saveFileError = createEventHook<any>();\r\n\r\n /** 检测广告素材是否已存在 */\r\n const getFileExist = async ({\r\n md5Code,\r\n ext,\r\n name,\r\n size,\r\n uid,\r\n lastModified,\r\n }: {\r\n md5Code: string;\r\n ext: string;\r\n name: string;\r\n size: number;\r\n uid: number;\r\n lastModified: number;\r\n }) => {\r\n // eslint-disable-next-line no-async-promise-executor\r\n return new Promise<AliOssResponse | false>(async resolve => {\r\n const { data } = await getAdFileExist({ md5Code, ext });\r\n if (data.code !== 0 || data.data.count === 0) {\r\n return resolve(false);\r\n }\r\n const result = {\r\n name,\r\n uid,\r\n lastModified,\r\n size,\r\n url: data.data.url,\r\n md5: md5Code,\r\n type: ext,\r\n isExist: true,\r\n };\r\n resolve(result);\r\n aliossResult.trigger(result);\r\n });\r\n };\r\n\r\n /** 上传文件 */\r\n const uploadFile = async ({ file, fileName, folder, seat, parallel, partSize, options, bucket, cdn, saveStore }: AliOssParams) => {\r\n let { name, uid, lastModified, size } = file;\r\n const ext = name.match(/\\.(\\w+)$/)?.[0] || '';\r\n name = (fileName || name).slice(0, name.lastIndexOf('.'));\r\n const md5Code = await ts_md5_file(file);\r\n const FileName = name + ext;\r\n const type = ext.replaceAll('.', '');\r\n\r\n try {\r\n let result = await getFileExist({ md5Code, ext: type, name: FileName, size, uid, lastModified });\r\n if (result) return result;\r\n\r\n // 文件存储路径\r\n const timestr = Date.now();\r\n const path = `${folder ?? 'material'}/${seat ?? 'default'}/file-${timestr}-${md5Code}${ext}`;\r\n\r\n const P = getParallelPartSize(size);\r\n options = {\r\n ...P,\r\n ...{ parallel, partSize },\r\n ContentDisposition: `attachment;filename=${encodeURIComponent(name)}${ext};filename*=${encodeURIComponent(name)}${ext}`,\r\n ...options,\r\n };\r\n\r\n // 阿里云临时上传权限\r\n const { AccessKeyId, AccessKeySecret, SecurityToken } = await useAliossTokenStore().getAliossTokenAsync();\r\n\r\n const client = new AliOss({\r\n // yourRegion填写Bucket所在地域。以华东1(杭州)为例,Region填写为oss-cn-hangzhou。\r\n region: 'oss-cn-shenzhen',\r\n // 从STS服务获取的临时访问密钥(AccessKey ID、AccessKey Secret、StsToken)。\r\n accessKeyId: AccessKeyId,\r\n accessKeySecret: AccessKeySecret,\r\n stsToken: SecurityToken,\r\n // 刷新临时访问凭证的时间间隔,单位为毫秒。\r\n refreshSTSTokenInterval: 300000,\r\n // 填写Bucket名称。\r\n bucket: bucket ?? 'giikin-material',\r\n });\r\n\r\n const upload = options.parallel === 1 ? 'put' : 'multipartUpload';\r\n const { res } = await client[upload](path, file, options);\r\n if (res.status !== 200) {\r\n aliossError.trigger(res);\r\n return res;\r\n }\r\n cdn = cdn ?? 'https://sucai.giikin.cn/';\r\n const resultUrl = cdn + path;\r\n result = {\r\n url: resultUrl,\r\n name: name + ext,\r\n md5: md5Code,\r\n type: ext.replaceAll('.', ''),\r\n uid,\r\n lastModified,\r\n size,\r\n isExist: false,\r\n };\r\n if (saveStore) {\r\n postSaveFile({ url: resultUrl, md5_code: md5Code, file_size: size });\r\n }\r\n aliossResult.trigger(result);\r\n return result;\r\n } catch (error) {\r\n aliossError.trigger(error);\r\n return error;\r\n }\r\n };\r\n\r\n /** 文件入库 */\r\n const postSaveFile = async ({ url, md5_code, file_size }: PostSaveFileResourcesData) => {\r\n try {\r\n const { data } = await postSaveFileResources({ fileData: { url, md5_code, file_size } });\r\n if (data?.code !== 0) {\r\n saveFileError.trigger(data);\r\n return data;\r\n }\r\n const result = {\r\n url,\r\n md5_code,\r\n file_size,\r\n };\r\n saveFileResult.trigger(result);\r\n return result;\r\n } catch (error) {\r\n saveFileError.trigger(error);\r\n return error;\r\n }\r\n };\r\n return {\r\n aliossResult: aliossResult.on,\r\n aliossError: aliossError.on,\r\n saveFileResult: saveFileResult.on,\r\n saveFileError: saveFileError.on,\r\n uploadFile,\r\n postSaveFile,\r\n };\r\n});\r\n"],"names":["md5","defineStore","createEventHook","getAdFileExist","useAliossTokenStore","postSaveFileResources"],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { type GetOssAccessTokenResponseData } from '../../../api/materialApi';
|
|
2
|
+
/**
|
|
3
|
+
* @description 素材上传权限
|
|
4
|
+
* @param {*}
|
|
5
|
+
* @return {*}
|
|
6
|
+
**/
|
|
7
|
+
declare const useAliossTokenStore: import("pinia").StoreDefinition<"aliossToken", import("pinia")._UnwrapAll<Pick<{
|
|
8
|
+
isLoading: import("vue").Ref<boolean>;
|
|
9
|
+
getAliossTokenAsync: () => Promise<GetOssAccessTokenResponseData>;
|
|
10
|
+
}, "isLoading">>, Pick<{
|
|
11
|
+
isLoading: import("vue").Ref<boolean>;
|
|
12
|
+
getAliossTokenAsync: () => Promise<GetOssAccessTokenResponseData>;
|
|
13
|
+
}, never>, Pick<{
|
|
14
|
+
isLoading: import("vue").Ref<boolean>;
|
|
15
|
+
getAliossTokenAsync: () => Promise<GetOssAccessTokenResponseData>;
|
|
16
|
+
}, "getAliossTokenAsync">>;
|
|
17
|
+
export default useAliossTokenStore;
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var vue = require('vue');
|
|
6
|
+
var pinia = require('pinia');
|
|
7
|
+
require('../../../api/materialApi/index.js');
|
|
8
|
+
var core = require('@vueuse/core');
|
|
9
|
+
var Cookies = require('js-cookie');
|
|
10
|
+
var getOssAccessToken = require('../../../api/materialApi/cross/getOssAccessToken.js');
|
|
11
|
+
|
|
12
|
+
const useAliossTokenStore = pinia.defineStore("aliossToken", () => {
|
|
13
|
+
const isLoading = vue.ref(false);
|
|
14
|
+
const aliossTokenResult = core.createEventHook();
|
|
15
|
+
const setCookie = (data) => {
|
|
16
|
+
if (!data)
|
|
17
|
+
return;
|
|
18
|
+
const { Expiration } = data;
|
|
19
|
+
const time = new Date(new Date(Expiration ?? 0).getTime() - 1e4);
|
|
20
|
+
Cookies.set("aliossStsToken", JSON.stringify(data), { expires: time });
|
|
21
|
+
};
|
|
22
|
+
const getAliossToken = async () => {
|
|
23
|
+
const aliossStsToken = Cookies.get("aliossStsToken");
|
|
24
|
+
if (aliossStsToken) {
|
|
25
|
+
return JSON.parse(aliossStsToken);
|
|
26
|
+
}
|
|
27
|
+
isLoading.value = true;
|
|
28
|
+
try {
|
|
29
|
+
const { data } = await getOssAccessToken.getOssAccessToken();
|
|
30
|
+
if (data.code === 0) {
|
|
31
|
+
setCookie(data.data);
|
|
32
|
+
aliossTokenResult.trigger(data.data);
|
|
33
|
+
}
|
|
34
|
+
return data.data;
|
|
35
|
+
} finally {
|
|
36
|
+
isLoading.value = false;
|
|
37
|
+
}
|
|
38
|
+
};
|
|
39
|
+
const getAliossTokenAsync = () => {
|
|
40
|
+
return new Promise((resolve) => {
|
|
41
|
+
if (isLoading.value) {
|
|
42
|
+
aliossTokenResult.on((value) => resolve(value));
|
|
43
|
+
} else {
|
|
44
|
+
resolve(getAliossToken());
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
};
|
|
48
|
+
return {
|
|
49
|
+
isLoading,
|
|
50
|
+
getAliossTokenAsync
|
|
51
|
+
};
|
|
52
|
+
});
|
|
53
|
+
|
|
54
|
+
exports.default = useAliossTokenStore;
|
|
55
|
+
//# sourceMappingURL=aliossToken.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"aliossToken.js","sources":["../../../../../../packages/utils/src/alioss/aliossToken.ts"],"sourcesContent":["import { ref } from 'vue';\r\nimport { defineStore } from 'pinia';\r\nimport { type GetOssAccessTokenResponseData, getOssAccessToken } from '@giime/api/materialApi';\r\nimport { createEventHook } from '@vueuse/core';\r\nimport Cookies from 'js-cookie';\r\n\r\n/**\r\n * @description 素材上传权限\r\n * @param {*}\r\n * @return {*}\r\n **/\r\n\r\nconst useAliossTokenStore = defineStore('aliossToken', () => {\r\n const isLoading = ref(false);\r\n const aliossTokenResult = createEventHook<GetOssAccessTokenResponseData>();\r\n\r\n const setCookie = (data: GetOssAccessTokenResponseData) => {\r\n if (!data) return;\r\n const { Expiration } = data;\r\n const time = new Date(new Date(Expiration ?? 0).getTime() - 10000); //-10秒作为缓冲\r\n Cookies.set('aliossStsToken', JSON.stringify(data), { expires: time });\r\n };\r\n\r\n /* 请求临时上传权限 */\r\n const getAliossToken = async () => {\r\n const aliossStsToken = Cookies.get('aliossStsToken');\r\n if (aliossStsToken) {\r\n return JSON.parse(aliossStsToken) as GetOssAccessTokenResponseData;\r\n }\r\n isLoading.value = true;\r\n try {\r\n const { data } = await getOssAccessToken();\r\n if (data.code === 0) {\r\n setCookie(data.data);\r\n aliossTokenResult.trigger(data.data);\r\n }\r\n return data.data;\r\n } finally {\r\n isLoading.value = false;\r\n }\r\n };\r\n\r\n /* 获取 alioss 临时上传 token*/\r\n const getAliossTokenAsync = () => {\r\n /* 若正在请求请求临时token接口 则其他后进来的等待 */\r\n return new Promise<GetOssAccessTokenResponseData>(resolve => {\r\n if (isLoading.value) {\r\n aliossTokenResult.on(value => resolve(value));\r\n } else {\r\n resolve(getAliossToken());\r\n }\r\n });\r\n };\r\n\r\n return {\r\n isLoading,\r\n getAliossTokenAsync,\r\n };\r\n});\r\n\r\nexport default useAliossTokenStore;\r\n"],"names":["defineStore","ref","createEventHook","getOssAccessToken"],"mappings":";;;;;;;;;;;AAYM,MAAA,mBAAA,GAAsBA,iBAAY,CAAA,aAAA,EAAe,MAAM;AAC3D,EAAM,MAAA,SAAA,GAAYC,QAAI,KAAK,CAAA,CAAA;AAC3B,EAAA,MAAM,oBAAoBC,oBAA+C,EAAA,CAAA;AAEzE,EAAM,MAAA,SAAA,GAAY,CAAC,IAAwC,KAAA;AACzD,IAAA,IAAI,CAAC,IAAA;AAAM,MAAA,OAAA;AACX,IAAM,MAAA,EAAE,YAAe,GAAA,IAAA,CAAA;AACvB,IAAM,MAAA,IAAA,GAAO,IAAI,IAAA,CAAK,IAAI,IAAA,CAAK,cAAc,CAAC,CAAA,CAAE,OAAQ,EAAA,GAAI,GAAK,CAAA,CAAA;AACjE,IAAQ,OAAA,CAAA,GAAA,CAAI,kBAAkB,IAAK,CAAA,SAAA,CAAU,IAAI,CAAG,EAAA,EAAE,OAAS,EAAA,IAAA,EAAM,CAAA,CAAA;AAAA,GACvE,CAAA;AAGA,EAAA,MAAM,iBAAiB,YAAY;AACjC,IAAM,MAAA,cAAA,GAAiB,OAAQ,CAAA,GAAA,CAAI,gBAAgB,CAAA,CAAA;AACnD,IAAA,IAAI,cAAgB,EAAA;AAClB,MAAO,OAAA,IAAA,CAAK,MAAM,cAAc,CAAA,CAAA;AAAA,KAClC;AACA,IAAA,SAAA,CAAU,KAAQ,GAAA,IAAA,CAAA;AAClB,IAAI,IAAA;AACF,MAAA,MAAM,EAAE,IAAA,EAAS,GAAA,MAAMC,mCAAkB,EAAA,CAAA;AACzC,MAAI,IAAA,IAAA,CAAK,SAAS,CAAG,EAAA;AACnB,QAAA,SAAA,CAAU,KAAK,IAAI,CAAA,CAAA;AACnB,QAAkB,iBAAA,CAAA,OAAA,CAAQ,KAAK,IAAI,CAAA,CAAA;AAAA,OACrC;AACA,MAAA,OAAO,IAAK,CAAA,IAAA,CAAA;AAAA,KACZ,SAAA;AACA,MAAA,SAAA,CAAU,KAAQ,GAAA,KAAA,CAAA;AAAA,KACpB;AAAA,GACF,CAAA;AAGA,EAAA,MAAM,sBAAsB,MAAM;AAEhC,IAAO,OAAA,IAAI,QAAuC,CAAW,OAAA,KAAA;AAC3D,MAAA,IAAI,UAAU,KAAO,EAAA;AACnB,QAAA,iBAAA,CAAkB,EAAG,CAAA,CAAA,KAAA,KAAS,OAAQ,CAAA,KAAK,CAAC,CAAA,CAAA;AAAA,OACvC,MAAA;AACL,QAAA,OAAA,CAAQ,gBAAgB,CAAA,CAAA;AAAA,OAC1B;AAAA,KACD,CAAA,CAAA;AAAA,GACH,CAAA;AAEA,EAAO,OAAA;AAAA,IACL,SAAA;AAAA,IACA,mBAAA;AAAA,GACF,CAAA;AACF,CAAC;;;;"}
|
|
@@ -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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"}
|