giime 0.5.2 → 0.5.4

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 (234) hide show
  1. package/dist/index.css +40 -25
  2. package/es/api/materialApi/cross/postSaveFileResources.d.ts +2 -2
  3. package/es/api/materialApi/cross/postSaveFileResources.mjs +1 -0
  4. package/es/api/materialApi/cross/postSaveFileResources.mjs.map +1 -1
  5. package/es/components/index.mjs +4 -0
  6. package/es/components/index.mjs.map +1 -1
  7. package/es/components/src/base/checkbox/Checkbox.vue.d.ts +3 -3
  8. package/es/components/src/base/checkbox/index.d.ts +9 -9
  9. package/es/components/src/base/checkboxButton/CheckboxButton.vue.d.ts +3 -3
  10. package/es/components/src/base/checkboxButton/index.d.ts +9 -9
  11. package/es/components/src/base/radio/Radio.vue.d.ts +1 -1
  12. package/es/components/src/base/radio/index.d.ts +3 -3
  13. package/es/components/src/base/radioButton/RadioButton.vue.d.ts +1 -1
  14. package/es/components/src/base/radioButton/index.d.ts +3 -3
  15. package/es/components/src/base/tabPane/TabPane.vue.d.ts +3 -3
  16. package/es/components/src/base/tabPane/index.d.ts +9 -9
  17. package/es/components/src/base/tabs/Tabs.vue.d.ts +2 -2
  18. package/es/components/src/base/tabs/index.d.ts +6 -6
  19. package/es/components/src/base/tabs/tabs.d.ts +1 -1
  20. package/es/components/src/business/uploadMaterial/UploadMaterial.vue.d.ts +259 -90
  21. package/es/components/src/business/uploadMaterial/UploadMaterial.vue.mjs +2 -5
  22. package/es/components/src/business/uploadMaterial/UploadMaterial.vue.mjs.map +1 -1
  23. package/es/components/src/business/uploadMaterial/UploadMaterial.vue2.mjs +25 -162
  24. package/es/components/src/business/uploadMaterial/UploadMaterial.vue2.mjs.map +1 -1
  25. package/es/components/src/business/uploadMaterial/index.d.ts +181 -12
  26. package/es/components/src/business/uploadMaterial/index.mjs +3 -2
  27. package/es/components/src/business/uploadMaterial/index.mjs.map +1 -1
  28. package/es/components/src/business/uploadMaterial/uploadMaterial.d.ts +84 -6
  29. package/es/components/src/business/uploadMaterial/uploadMaterial.mjs +9 -23
  30. package/es/components/src/business/uploadMaterial/uploadMaterial.mjs.map +1 -1
  31. package/es/components/src/composite/fileComponent/FileComponent.vue.d.ts +69 -0
  32. package/es/components/src/composite/fileComponent/FileComponent.vue.mjs +6 -0
  33. package/es/components/src/composite/fileComponent/FileComponent.vue.mjs.map +1 -0
  34. package/es/components/src/composite/fileComponent/FileComponent.vue2.mjs +83 -0
  35. package/es/components/src/composite/fileComponent/FileComponent.vue2.mjs.map +1 -0
  36. package/es/components/src/composite/fileComponent/assets/image/excel.svg.mjs +4 -0
  37. package/es/components/src/composite/fileComponent/assets/image/excel.svg.mjs.map +1 -0
  38. package/es/components/src/composite/fileComponent/assets/image/pdf.svg.mjs +4 -0
  39. package/es/components/src/composite/fileComponent/assets/image/pdf.svg.mjs.map +1 -0
  40. package/es/components/src/composite/fileComponent/assets/image/ppt.svg.mjs +4 -0
  41. package/es/components/src/composite/fileComponent/assets/image/ppt.svg.mjs.map +1 -0
  42. package/es/components/src/composite/fileComponent/assets/image/psd.svg.mjs +4 -0
  43. package/es/components/src/composite/fileComponent/assets/image/psd.svg.mjs.map +1 -0
  44. package/es/components/src/composite/fileComponent/assets/image/text.svg.mjs +4 -0
  45. package/es/components/src/composite/fileComponent/assets/image/text.svg.mjs.map +1 -0
  46. package/es/components/src/composite/fileComponent/assets/image/unknown.svg.mjs +4 -0
  47. package/es/components/src/composite/fileComponent/assets/image/unknown.svg.mjs.map +1 -0
  48. package/es/components/src/composite/fileComponent/assets/image/word.svg.mjs +4 -0
  49. package/es/components/src/composite/fileComponent/assets/image/word.svg.mjs.map +1 -0
  50. package/es/components/src/composite/fileComponent/assets/image/zip.svg.mjs +4 -0
  51. package/es/components/src/composite/fileComponent/assets/image/zip.svg.mjs.map +1 -0
  52. package/es/components/src/composite/fileComponent/fileComponent.d.ts +41 -0
  53. package/es/components/src/composite/fileComponent/fileComponent.mjs +40 -0
  54. package/es/components/src/composite/fileComponent/fileComponent.mjs.map +1 -0
  55. package/es/components/src/composite/fileComponent/index.d.ts +71 -0
  56. package/es/components/src/composite/fileComponent/index.mjs +10 -0
  57. package/es/components/src/composite/fileComponent/index.mjs.map +1 -0
  58. package/es/components/src/composite/index.d.ts +2 -0
  59. package/es/components/src/composite/index.mjs +4 -0
  60. package/es/components/src/composite/index.mjs.map +1 -1
  61. package/es/components/src/composite/operateButton/OperateButton.vue.d.ts +1 -1
  62. package/es/components/src/composite/operateButton/index.d.ts +1 -1
  63. package/es/components/src/composite/previewFile/PreviewFile.vue.d.ts +97 -0
  64. package/es/components/src/composite/previewFile/PreviewFile.vue.mjs +6 -0
  65. package/es/components/src/composite/previewFile/PreviewFile.vue.mjs.map +1 -0
  66. package/es/components/src/composite/previewFile/PreviewFile.vue2.mjs +120 -0
  67. package/es/components/src/composite/previewFile/PreviewFile.vue2.mjs.map +1 -0
  68. package/es/components/src/composite/previewFile/index.d.ts +99 -0
  69. package/es/components/src/composite/previewFile/index.mjs +10 -0
  70. package/es/components/src/composite/previewFile/index.mjs.map +1 -0
  71. package/es/components/src/composite/previewFile/previewFile.d.ts +42 -0
  72. package/es/components/src/composite/previewFile/previewFile.mjs +19 -0
  73. package/es/components/src/composite/previewFile/previewFile.mjs.map +1 -0
  74. package/es/components/src/composite/searchForm/searchFormItems/select/SearchFormSelect.vue.d.ts +1 -1
  75. package/es/components/src/composite/searchForm/searchFormItems/select/index.d.ts +1 -1
  76. package/es/components/src/composite/tablePro/TablePro.vue.d.ts +1 -1
  77. package/es/components/src/composite/tablePro/index.d.ts +3 -3
  78. package/es/components/src/composite/uploadFile/UploadFile.vue.d.ts +973 -0
  79. package/es/components/src/composite/uploadFile/UploadFile.vue.mjs +9 -0
  80. package/es/components/src/composite/uploadFile/UploadFile.vue.mjs.map +1 -0
  81. package/es/components/src/composite/uploadFile/UploadFile.vue2.mjs +239 -0
  82. package/es/components/src/composite/uploadFile/UploadFile.vue2.mjs.map +1 -0
  83. package/es/components/src/{business/uploadMaterial/UploadMaterial.vue3.mjs → composite/uploadFile/UploadFile.vue3.mjs} +1 -1
  84. package/es/components/src/composite/uploadFile/UploadFile.vue3.mjs.map +1 -0
  85. package/es/components/src/{business/uploadMaterial/UploadMaterial.vue4.mjs → composite/uploadFile/UploadFile.vue4.mjs} +1 -1
  86. package/es/components/src/composite/uploadFile/UploadFile.vue4.mjs.map +1 -0
  87. package/es/components/src/composite/uploadFile/index.d.ts +2486 -0
  88. package/es/components/src/composite/uploadFile/index.mjs +9 -0
  89. package/es/components/src/composite/uploadFile/index.mjs.map +1 -0
  90. package/es/components/src/composite/uploadFile/uploadFile.d.ts +227 -0
  91. package/es/components/src/composite/uploadFile/uploadFile.mjs +92 -0
  92. package/es/components/src/composite/uploadFile/uploadFile.mjs.map +1 -0
  93. package/es/constants/key.d.ts +2 -2
  94. package/es/constants/key.mjs.map +1 -1
  95. package/es/giime/index.mjs +6 -1
  96. package/es/giime/index.mjs.map +1 -1
  97. package/es/giime/version.d.ts +1 -1
  98. package/es/giime/version.mjs +1 -1
  99. package/es/giime/version.mjs.map +1 -1
  100. package/es/index.css +40 -25
  101. package/es/utils/index.d.ts +1 -0
  102. package/es/utils/index.mjs +2 -1
  103. package/es/utils/index.mjs.map +1 -1
  104. package/es/utils/src/alioss/aliossPutHook.d.ts +79 -0
  105. package/es/utils/src/alioss/aliossPutHook.mjs +177 -0
  106. package/es/utils/src/alioss/aliossPutHook.mjs.map +1 -0
  107. package/es/utils/src/alioss/aliossToken.d.ts +17 -0
  108. package/es/utils/src/alioss/aliossToken.mjs +51 -0
  109. package/es/utils/src/alioss/aliossToken.mjs.map +1 -0
  110. package/es/utils/src/is.d.ts +44 -2
  111. package/es/utils/src/is.mjs +29 -1
  112. package/es/utils/src/is.mjs.map +1 -1
  113. package/es/utils/src/tree.d.ts +12 -0
  114. package/es/utils/src/tree.mjs +19 -0
  115. package/es/utils/src/tree.mjs.map +1 -0
  116. package/lib/api/materialApi/cross/postSaveFileResources.d.ts +2 -2
  117. package/lib/api/materialApi/cross/postSaveFileResources.js +1 -0
  118. package/lib/api/materialApi/cross/postSaveFileResources.js.map +1 -1
  119. package/lib/components/index.js +22 -14
  120. package/lib/components/index.js.map +1 -1
  121. package/lib/components/src/base/checkbox/Checkbox.vue.d.ts +3 -3
  122. package/lib/components/src/base/checkbox/index.d.ts +9 -9
  123. package/lib/components/src/base/checkboxButton/CheckboxButton.vue.d.ts +3 -3
  124. package/lib/components/src/base/checkboxButton/index.d.ts +9 -9
  125. package/lib/components/src/base/radio/Radio.vue.d.ts +1 -1
  126. package/lib/components/src/base/radio/index.d.ts +3 -3
  127. package/lib/components/src/base/radioButton/RadioButton.vue.d.ts +1 -1
  128. package/lib/components/src/base/radioButton/index.d.ts +3 -3
  129. package/lib/components/src/base/tabPane/TabPane.vue.d.ts +3 -3
  130. package/lib/components/src/base/tabPane/index.d.ts +9 -9
  131. package/lib/components/src/base/tabs/Tabs.vue.d.ts +2 -2
  132. package/lib/components/src/base/tabs/index.d.ts +6 -6
  133. package/lib/components/src/base/tabs/tabs.d.ts +1 -1
  134. package/lib/components/src/business/uploadMaterial/UploadMaterial.vue.d.ts +259 -90
  135. package/lib/components/src/business/uploadMaterial/UploadMaterial.vue.js +2 -5
  136. package/lib/components/src/business/uploadMaterial/UploadMaterial.vue.js.map +1 -1
  137. package/lib/components/src/business/uploadMaterial/UploadMaterial.vue2.js +24 -161
  138. package/lib/components/src/business/uploadMaterial/UploadMaterial.vue2.js.map +1 -1
  139. package/lib/components/src/business/uploadMaterial/index.d.ts +181 -12
  140. package/lib/components/src/business/uploadMaterial/index.js +3 -2
  141. package/lib/components/src/business/uploadMaterial/index.js.map +1 -1
  142. package/lib/components/src/business/uploadMaterial/uploadMaterial.d.ts +84 -6
  143. package/lib/components/src/business/uploadMaterial/uploadMaterial.js +9 -23
  144. package/lib/components/src/business/uploadMaterial/uploadMaterial.js.map +1 -1
  145. package/lib/components/src/composite/fileComponent/FileComponent.vue.d.ts +69 -0
  146. package/lib/components/src/composite/fileComponent/FileComponent.vue.js +10 -0
  147. package/lib/components/src/composite/fileComponent/FileComponent.vue.js.map +1 -0
  148. package/lib/components/src/composite/fileComponent/FileComponent.vue2.js +87 -0
  149. package/lib/components/src/composite/fileComponent/FileComponent.vue2.js.map +1 -0
  150. package/lib/components/src/composite/fileComponent/assets/image/excel.svg.js +8 -0
  151. package/lib/components/src/composite/fileComponent/assets/image/excel.svg.js.map +1 -0
  152. package/lib/components/src/composite/fileComponent/assets/image/pdf.svg.js +8 -0
  153. package/lib/components/src/composite/fileComponent/assets/image/pdf.svg.js.map +1 -0
  154. package/lib/components/src/composite/fileComponent/assets/image/ppt.svg.js +8 -0
  155. package/lib/components/src/composite/fileComponent/assets/image/ppt.svg.js.map +1 -0
  156. package/lib/components/src/composite/fileComponent/assets/image/psd.svg.js +8 -0
  157. package/lib/components/src/composite/fileComponent/assets/image/psd.svg.js.map +1 -0
  158. package/lib/components/src/composite/fileComponent/assets/image/text.svg.js +8 -0
  159. package/lib/components/src/composite/fileComponent/assets/image/text.svg.js.map +1 -0
  160. package/lib/components/src/composite/fileComponent/assets/image/unknown.svg.js +8 -0
  161. package/lib/components/src/composite/fileComponent/assets/image/unknown.svg.js.map +1 -0
  162. package/lib/components/src/composite/fileComponent/assets/image/word.svg.js +8 -0
  163. package/lib/components/src/composite/fileComponent/assets/image/word.svg.js.map +1 -0
  164. package/lib/components/src/composite/fileComponent/assets/image/zip.svg.js +8 -0
  165. package/lib/components/src/composite/fileComponent/assets/image/zip.svg.js.map +1 -0
  166. package/lib/components/src/composite/fileComponent/fileComponent.d.ts +41 -0
  167. package/lib/components/src/composite/fileComponent/fileComponent.js +42 -0
  168. package/lib/components/src/composite/fileComponent/fileComponent.js.map +1 -0
  169. package/lib/components/src/composite/fileComponent/index.d.ts +71 -0
  170. package/lib/components/src/composite/fileComponent/index.js +16 -0
  171. package/lib/components/src/composite/fileComponent/index.js.map +1 -0
  172. package/lib/components/src/composite/index.d.ts +2 -0
  173. package/lib/components/src/composite/index.js +8 -0
  174. package/lib/components/src/composite/index.js.map +1 -1
  175. package/lib/components/src/composite/operateButton/OperateButton.vue.d.ts +1 -1
  176. package/lib/components/src/composite/operateButton/index.d.ts +1 -1
  177. package/lib/components/src/composite/previewFile/PreviewFile.vue.d.ts +97 -0
  178. package/lib/components/src/composite/previewFile/PreviewFile.vue.js +10 -0
  179. package/lib/components/src/composite/previewFile/PreviewFile.vue.js.map +1 -0
  180. package/lib/components/src/composite/previewFile/PreviewFile.vue2.js +124 -0
  181. package/lib/components/src/composite/previewFile/PreviewFile.vue2.js.map +1 -0
  182. package/lib/components/src/composite/previewFile/index.d.ts +99 -0
  183. package/lib/components/src/composite/previewFile/index.js +16 -0
  184. package/lib/components/src/composite/previewFile/index.js.map +1 -0
  185. package/lib/components/src/composite/previewFile/previewFile.d.ts +42 -0
  186. package/lib/components/src/composite/previewFile/previewFile.js +21 -0
  187. package/lib/components/src/composite/previewFile/previewFile.js.map +1 -0
  188. package/lib/components/src/composite/searchForm/searchFormItems/select/SearchFormSelect.vue.d.ts +1 -1
  189. package/lib/components/src/composite/searchForm/searchFormItems/select/index.d.ts +1 -1
  190. package/lib/components/src/composite/tablePro/TablePro.vue.d.ts +1 -1
  191. package/lib/components/src/composite/tablePro/index.d.ts +3 -3
  192. package/lib/components/src/composite/uploadFile/UploadFile.vue.d.ts +973 -0
  193. package/lib/components/src/composite/uploadFile/UploadFile.vue.js +13 -0
  194. package/lib/components/src/composite/uploadFile/UploadFile.vue.js.map +1 -0
  195. package/lib/components/src/composite/uploadFile/UploadFile.vue2.js +243 -0
  196. package/lib/components/src/composite/uploadFile/UploadFile.vue2.js.map +1 -0
  197. package/lib/components/src/{business/uploadMaterial/UploadMaterial.vue3.js → composite/uploadFile/UploadFile.vue3.js} +1 -1
  198. package/lib/components/src/composite/uploadFile/UploadFile.vue3.js.map +1 -0
  199. package/lib/components/src/{business/uploadMaterial/UploadMaterial.vue4.js → composite/uploadFile/UploadFile.vue4.js} +1 -1
  200. package/lib/components/src/composite/uploadFile/UploadFile.vue4.js.map +1 -0
  201. package/lib/components/src/composite/uploadFile/index.d.ts +2486 -0
  202. package/lib/components/src/composite/uploadFile/index.js +15 -0
  203. package/lib/components/src/composite/uploadFile/index.js.map +1 -0
  204. package/lib/components/src/composite/uploadFile/uploadFile.d.ts +227 -0
  205. package/lib/components/src/composite/uploadFile/uploadFile.js +94 -0
  206. package/lib/components/src/composite/uploadFile/uploadFile.js.map +1 -0
  207. package/lib/constants/key.d.ts +2 -2
  208. package/lib/constants/key.js.map +1 -1
  209. package/lib/giime/index.js +81 -64
  210. package/lib/giime/index.js.map +1 -1
  211. package/lib/giime/version.d.ts +1 -1
  212. package/lib/giime/version.js +1 -1
  213. package/lib/giime/version.js.map +1 -1
  214. package/lib/index.css +40 -25
  215. package/lib/utils/index.d.ts +1 -0
  216. package/lib/utils/index.js +9 -0
  217. package/lib/utils/index.js.map +1 -1
  218. package/lib/utils/src/alioss/aliossPutHook.d.ts +79 -0
  219. package/lib/utils/src/alioss/aliossPutHook.js +181 -0
  220. package/lib/utils/src/alioss/aliossPutHook.js.map +1 -0
  221. package/lib/utils/src/alioss/aliossToken.d.ts +17 -0
  222. package/lib/utils/src/alioss/aliossToken.js +55 -0
  223. package/lib/utils/src/alioss/aliossToken.js.map +1 -0
  224. package/lib/utils/src/is.d.ts +44 -2
  225. package/lib/utils/src/is.js +35 -0
  226. package/lib/utils/src/is.js.map +1 -1
  227. package/lib/utils/src/tree.d.ts +12 -0
  228. package/lib/utils/src/tree.js +21 -0
  229. package/lib/utils/src/tree.js.map +1 -0
  230. package/package.json +1 -1
  231. package/es/components/src/business/uploadMaterial/UploadMaterial.vue3.mjs.map +0 -1
  232. package/es/components/src/business/uploadMaterial/UploadMaterial.vue4.mjs.map +0 -1
  233. package/lib/components/src/business/uploadMaterial/UploadMaterial.vue3.js.map +0 -1
  234. package/lib/components/src/business/uploadMaterial/UploadMaterial.vue4.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));
@@ -777,44 +801,35 @@ video {
777
801
  .gm-group:hover .group-hover\:gm-block {
778
802
  display: block;
779
803
  }
780
- [data-v-7c80c3b6] .el-upload-dragger {
781
- padding: 10px;
782
- border: none;
804
+ .gm-flex-center[data-v-2a79bac9] {
805
+ align-items: center;
783
806
  }
784
807
 
785
- .gm-upload-preview-dialog[data-v-7c80c3b6] [data-v-7c80c3b6] .el-dialog__body {
808
+ .gm-flex-justify-between[data-v-2a79bac9] {
809
+ justify-content: space-between;
810
+ }
811
+ .gm-upload-preview-dialog[data-v-80cd8f61] [data-v-80cd8f61] .el-dialog__body {
786
812
  padding: 0;
787
813
  }
788
814
 
789
- [data-v-7c80c3b6] .el-upload-list__item, [data-v-7c80c3b6] .el-upload--picture-card {
815
+ [data-v-80cd8f61] .el-upload-list__item, [data-v-80cd8f61] .el-upload--picture-card {
790
816
  width: 120px;
791
817
  height: 120px;
792
818
  display: flex;
793
819
  align-items: center;
794
820
  justify-content: center;
795
821
  }
796
- .gm-upload-material .el-overlay-dialog {
797
- display: flex;
798
- align-items: center;
799
- justify-content: center;
800
- }
801
- .gm-upload-material .el-dialog {
802
- margin: 0;
803
- }
804
- .gm-upload-material .el-dialog__body {
805
- max-height: calc(100vh - 100px);
806
- overflow-y: auto;
807
- }
808
- .gm-upload-material .el-dialog__body video,
809
- .gm-upload-material .el-dialog__body img {
810
- max-height: calc(100vh - 150px);
822
+ .el-upload-file {
823
+ line-height: normal;
811
824
  }
812
- .gm-flex-center[data-v-2a79bac9] {
813
- align-items: center;
825
+ .el-upload-file .el-checkbox {
826
+ position: absolute;
827
+ left: 10px;
828
+ top: 0;
829
+ z-index: 9;
814
830
  }
815
-
816
- .gm-flex-justify-between[data-v-2a79bac9] {
817
- justify-content: space-between;
831
+ .el-upload-file .el-upload-list__item-file-name {
832
+ line-height: normal;
818
833
  }
819
834
  .circular[data-v-b391445c] {
820
835
  animation: loading-rotate-b391445c 2s linear infinite;
@@ -8,3 +8,4 @@ export * from './src/date';
8
8
  export * from './src/file';
9
9
  export * from './src/general';
10
10
  export * from './src/crypto';
11
+ export * from './src/tree';
@@ -10,6 +10,7 @@ require('./src/date/index.js');
10
10
  var file = require('./src/file.js');
11
11
  var general = require('./src/general.js');
12
12
  require('./src/crypto/index.js');
13
+ var tree = require('./src/tree.js');
13
14
  var install = require('./src/vue/install.js');
14
15
  var resolver = require('./src/vue/resolver.js');
15
16
  var event = require('./src/elementPlus/event.js');
@@ -30,6 +31,7 @@ exports.isDate = is.isDate;
30
31
  exports.isDecimal = is.isDecimal;
31
32
  exports.isError = is.isError;
32
33
  exports.isEven = is.isEven;
34
+ exports.isExcel = is.isExcel;
33
35
  exports.isHttps = is.isHttps;
34
36
  exports.isImageUrl = is.isImageUrl;
35
37
  exports.isInteger = is.isInteger;
@@ -39,12 +41,18 @@ exports.isNull = is.isNull;
39
41
  exports.isNumber = is.isNumber;
40
42
  exports.isObjectLike = is.isObjectLike;
41
43
  exports.isOdd = is.isOdd;
44
+ exports.isPDF = is.isPDF;
45
+ exports.isPPT = is.isPPT;
46
+ exports.isPSD = is.isPSD;
42
47
  exports.isPlainObject = is.isPlainObject;
43
48
  exports.isPositive = is.isPositive;
44
49
  exports.isString = is.isString;
45
50
  exports.isSymbol = is.isSymbol;
51
+ exports.isText = is.isText;
46
52
  exports.isUndefined = is.isUndefined;
47
53
  exports.isVideoUrl = is.isVideoUrl;
54
+ exports.isWord = is.isWord;
55
+ exports.isZip = is.isZip;
48
56
  exports.hasOwn = objects.hasOwn;
49
57
  exports.keysOf = objects.keysOf;
50
58
  exports.resetObject = objects.resetObject;
@@ -61,6 +69,7 @@ exports.compareVersions = general.compareVersions;
61
69
  exports.isVersionGreaterOrEqual = general.isVersionGreaterOrEqual;
62
70
  exports.omitOnEvents = general.omitOnEvents;
63
71
  exports.remove = general.remove;
72
+ exports.findChildrenItem = tree.findChildrenItem;
64
73
  exports.withInstall = install.withInstall;
65
74
  exports.withInstallDirective = install.withInstallDirective;
66
75
  exports.withInstallFunction = install.withInstallFunction;
@@ -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;;;;"}
@@ -40,14 +40,56 @@ export declare function isError(value: any): value is Error;
40
40
  export declare function isPlainObject(value: any): value is object;
41
41
  export declare const isHttps: () => boolean;
42
42
  /**
43
- * @description 描述:判断是否是视频
43
+ * @description 描述:判断是否为视频
44
44
  * @param {string} url 文件链接 或 文件名
45
45
  * @return {*}
46
46
  **/
47
47
  export declare const isVideoUrl: (url: string) => boolean;
48
48
  /**
49
- * @description 描述:判断是否是图片
49
+ * @description 描述:判断是否为图片
50
50
  * @param {string} url 文件链接 或 文件名
51
51
  * @return {*}
52
52
  **/
53
53
  export declare const isImageUrl: (url: string) => boolean;
54
+ /**
55
+ * @description 描述:判断是否为PDF
56
+ * @param {string} url 文件链接 或 文件名
57
+ * @return {*}
58
+ **/
59
+ export declare const isPDF: (url: string) => boolean;
60
+ /**
61
+ * @description 描述:是否为Word
62
+ * @param {string} url 文件链接 或 文件名
63
+ * @return {*}
64
+ **/
65
+ export declare const isWord: (url: string) => boolean;
66
+ /**
67
+ * @description 描述:是否为Excel
68
+ * @param {string} url 文件链接 或 文件名
69
+ * @return {*}
70
+ **/
71
+ export declare const isExcel: (url: string) => boolean;
72
+ /**
73
+ * @description 描述:是否为PPT
74
+ * @param {string} url 文件链接 或 文件名
75
+ * @return {*}
76
+ **/
77
+ export declare const isPPT: (url: string) => boolean;
78
+ /**
79
+ * @description 描述:是否为text
80
+ * @param {string} url 文件链接 或 文件名
81
+ * @return {*}
82
+ **/
83
+ export declare const isText: (url: string) => boolean;
84
+ /**
85
+ * @description 描述:是否为PSD
86
+ * @param {string} url 文件链接 或 文件名
87
+ * @return {*}
88
+ **/
89
+ export declare const isPSD: (url: string) => boolean;
90
+ /**
91
+ * @description 描述:是否为压缩包
92
+ * @param {string} url 文件链接 或 文件名
93
+ * @return {*}
94
+ **/
95
+ export declare const isZip: (url: string) => boolean;
@@ -85,6 +85,34 @@ const isImageUrl = (url) => {
85
85
  const imageReg = /\.(jpg|jpeg|png|gif|webp|svg|bmp)$/i;
86
86
  return imageReg.test(url);
87
87
  };
88
+ const isPDF = (url) => {
89
+ const pdfReg = /\.(pdf)$/i;
90
+ return pdfReg.test(url);
91
+ };
92
+ const isWord = (url) => {
93
+ const docReg = /\.(doc|docx)$/i;
94
+ return docReg.test(url);
95
+ };
96
+ const isExcel = (url) => {
97
+ const excelReg = /\.(xls|xlsx)$/i;
98
+ return excelReg.test(url);
99
+ };
100
+ const isPPT = (url) => {
101
+ const pptReg = /\.(ppt|pptx)$/i;
102
+ return pptReg.test(url);
103
+ };
104
+ const isText = (url) => {
105
+ const textReg = /\.(txt)$/i;
106
+ return textReg.test(url);
107
+ };
108
+ const isPSD = (url) => {
109
+ const psdReg = /\.(psd)$/i;
110
+ return psdReg.test(url);
111
+ };
112
+ const isZip = (url) => {
113
+ const zipReg = /\.(zip|rar|7z)$/i;
114
+ return zipReg.test(url);
115
+ };
88
116
 
89
117
  exports.getTag = getTag;
90
118
  exports.isBoolean = isBoolean;
@@ -92,6 +120,7 @@ exports.isDate = isDate;
92
120
  exports.isDecimal = isDecimal;
93
121
  exports.isError = isError;
94
122
  exports.isEven = isEven;
123
+ exports.isExcel = isExcel;
95
124
  exports.isHttps = isHttps;
96
125
  exports.isImageUrl = isImageUrl;
97
126
  exports.isInteger = isInteger;
@@ -101,10 +130,16 @@ exports.isNull = isNull;
101
130
  exports.isNumber = isNumber;
102
131
  exports.isObjectLike = isObjectLike;
103
132
  exports.isOdd = isOdd;
133
+ exports.isPDF = isPDF;
134
+ exports.isPPT = isPPT;
135
+ exports.isPSD = isPSD;
104
136
  exports.isPlainObject = isPlainObject;
105
137
  exports.isPositive = isPositive;
106
138
  exports.isString = isString;
107
139
  exports.isSymbol = isSymbol;
140
+ exports.isText = isText;
108
141
  exports.isUndefined = isUndefined;
109
142
  exports.isVideoUrl = isVideoUrl;
143
+ exports.isWord = isWord;
144
+ exports.isZip = isZip;
110
145
  //# sourceMappingURL=is.js.map