giime 0.6.0-dev.9 → 0.6.2

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 (210) hide show
  1. package/dist/index.css +7 -7
  2. package/es/api/materialApi/cross/getAliOssConfigs.d.ts +14 -0
  3. package/es/api/materialApi/cross/getAliOssConfigs.mjs +8 -0
  4. package/es/api/materialApi/cross/getAliOssConfigs.mjs.map +1 -0
  5. package/es/api/materialApi/cross/index.d.ts +1 -1
  6. package/es/api/materialApi/cross/index.mjs +1 -1
  7. package/es/api/materialApi/index.mjs +1 -1
  8. package/es/components/src/base/checkbox/Checkbox.vue.d.ts +3 -3
  9. package/es/components/src/base/checkbox/index.d.ts +9 -9
  10. package/es/components/src/base/checkboxButton/CheckboxButton.vue.d.ts +3 -3
  11. package/es/components/src/base/checkboxButton/index.d.ts +9 -9
  12. package/es/components/src/base/radio/Radio.vue.d.ts +1 -1
  13. package/es/components/src/base/radio/index.d.ts +3 -3
  14. package/es/components/src/base/radioButton/RadioButton.vue.d.ts +1 -1
  15. package/es/components/src/base/radioButton/index.d.ts +3 -3
  16. package/es/components/src/base/tabPane/TabPane.vue.d.ts +3 -3
  17. package/es/components/src/base/tabPane/index.d.ts +9 -9
  18. package/es/components/src/base/tabs/Tabs.vue.d.ts +2 -2
  19. package/es/components/src/base/tabs/index.d.ts +6 -6
  20. package/es/components/src/base/tabs/tabs.d.ts +1 -1
  21. package/es/components/src/business/loginDialog/LoginDialog.vue2.mjs +2 -2
  22. package/es/components/src/business/loginDialog/LoginDialog.vue2.mjs.map +1 -1
  23. package/es/components/src/business/loginDialog/loginDialog.mjs +1 -1
  24. package/es/components/src/business/loginDialog/loginDialog.mjs.map +1 -1
  25. package/es/components/src/business/uploadMaterial/UploadMaterial.vue.d.ts +56 -52
  26. package/es/components/src/business/uploadMaterial/UploadMaterial.vue2.mjs +11 -6
  27. package/es/components/src/business/uploadMaterial/UploadMaterial.vue2.mjs.map +1 -1
  28. package/es/components/src/business/uploadMaterial/index.d.ts +8 -4
  29. package/es/components/src/composite/fileComponent/FileComponent.vue2.mjs +18 -16
  30. package/es/components/src/composite/fileComponent/FileComponent.vue2.mjs.map +1 -1
  31. package/es/components/src/composite/operateButton/OperateButton.vue.d.ts +1 -1
  32. package/es/components/src/composite/operateButton/index.d.ts +1 -1
  33. package/es/components/src/composite/searchForm/searchFormItems/select/SearchFormSelect.vue.d.ts +1 -1
  34. package/es/components/src/composite/searchForm/searchFormItems/select/index.d.ts +1 -1
  35. package/es/components/src/composite/tablePro/TablePro.vue.d.ts +1 -1
  36. package/es/components/src/composite/tablePro/index.d.ts +3 -3
  37. package/es/components/src/composite/uploadFile/UploadFile.vue.d.ts +11 -12
  38. package/es/components/src/composite/uploadFile/UploadFile.vue.mjs +1 -1
  39. package/es/components/src/composite/uploadFile/UploadFile.vue2.mjs +31 -23
  40. package/es/components/src/composite/uploadFile/UploadFile.vue2.mjs.map +1 -1
  41. package/es/components/src/composite/uploadFile/index.d.ts +22 -30
  42. package/es/components/src/composite/uploadFile/uploadFile.d.ts +30 -28
  43. package/es/components/src/composite/uploadFile/uploadFile.mjs.map +1 -1
  44. package/es/giime/index.mjs +4 -2
  45. package/es/giime/index.mjs.map +1 -1
  46. package/es/giime/version.d.ts +1 -1
  47. package/es/giime/version.mjs +1 -1
  48. package/es/giime/version.mjs.map +1 -1
  49. package/es/hooks/index.mjs +1 -1
  50. package/es/hooks/store/index.d.ts +1 -1
  51. package/es/hooks/store/index.mjs +1 -1
  52. package/es/hooks/store/useAliOssConfigs/index.d.ts +20 -0
  53. package/es/hooks/store/useAliOssConfigs/index.mjs +31 -0
  54. package/es/hooks/store/useAliOssConfigs/index.mjs.map +1 -0
  55. package/es/hooks/store/useLogin/index.d.ts +9 -9
  56. package/es/hooks/store/useLogin/index.mjs.map +1 -1
  57. package/es/hooks/store/useOrgUserList/index.d.ts +4 -3
  58. package/es/hooks/store/useOrgUserList/index.mjs +8 -6
  59. package/es/hooks/store/useOrgUserList/index.mjs.map +1 -1
  60. package/es/index.css +7 -7
  61. package/es/utils/index.d.ts +2 -1
  62. package/es/utils/index.mjs +4 -1
  63. package/es/utils/index.mjs.map +1 -1
  64. package/es/utils/src/alioss/aliossPutHook.mjs +5 -2
  65. package/es/utils/src/alioss/aliossPutHook.mjs.map +1 -1
  66. package/es/utils/src/alioss/aliossToken.d.ts +6 -6
  67. package/es/utils/src/alioss/aliossToken.mjs +1 -1
  68. package/es/utils/src/alioss/aliossToken.mjs.map +1 -1
  69. package/es/utils/src/number.d.ts +7 -0
  70. package/es/utils/src/number.mjs +11 -0
  71. package/es/utils/src/number.mjs.map +1 -0
  72. package/es/utils/src/tree/filterTreeByName.d.ts +14 -0
  73. package/es/utils/src/tree/filterTreeByName.mjs +18 -0
  74. package/es/utils/src/tree/filterTreeByName.mjs.map +1 -0
  75. package/es/utils/src/tree/findChildrenItem.d.ts +7 -0
  76. package/es/utils/src/tree/findChildrenItem.mjs +20 -0
  77. package/es/utils/src/tree/findChildrenItem.mjs.map +1 -0
  78. package/es/utils/src/tree/index.d.ts +2 -0
  79. package/es/utils/src/tree/index.mjs +3 -0
  80. package/es/utils/src/tree/index.mjs.map +1 -0
  81. package/lib/api/materialApi/cross/getAliOssConfigs.d.ts +14 -0
  82. package/lib/api/materialApi/cross/getAliOssConfigs.js +10 -0
  83. package/lib/api/materialApi/cross/getAliOssConfigs.js.map +1 -0
  84. package/lib/api/materialApi/cross/index.d.ts +1 -1
  85. package/lib/api/materialApi/cross/index.js +2 -2
  86. package/lib/api/materialApi/index.js +2 -2
  87. package/lib/components/src/base/checkbox/Checkbox.vue.d.ts +3 -3
  88. package/lib/components/src/base/checkbox/index.d.ts +9 -9
  89. package/lib/components/src/base/checkboxButton/CheckboxButton.vue.d.ts +3 -3
  90. package/lib/components/src/base/checkboxButton/index.d.ts +9 -9
  91. package/lib/components/src/base/radio/Radio.vue.d.ts +1 -1
  92. package/lib/components/src/base/radio/index.d.ts +3 -3
  93. package/lib/components/src/base/radioButton/RadioButton.vue.d.ts +1 -1
  94. package/lib/components/src/base/radioButton/index.d.ts +3 -3
  95. package/lib/components/src/base/tabPane/TabPane.vue.d.ts +3 -3
  96. package/lib/components/src/base/tabPane/index.d.ts +9 -9
  97. package/lib/components/src/base/tabs/Tabs.vue.d.ts +2 -2
  98. package/lib/components/src/base/tabs/index.d.ts +6 -6
  99. package/lib/components/src/base/tabs/tabs.d.ts +1 -1
  100. package/lib/components/src/business/loginDialog/LoginDialog.vue2.js +2 -2
  101. package/lib/components/src/business/loginDialog/LoginDialog.vue2.js.map +1 -1
  102. package/lib/components/src/business/loginDialog/loginDialog.js +1 -1
  103. package/lib/components/src/business/loginDialog/loginDialog.js.map +1 -1
  104. package/lib/components/src/business/uploadMaterial/UploadMaterial.vue.d.ts +56 -52
  105. package/lib/components/src/business/uploadMaterial/UploadMaterial.vue2.js +11 -6
  106. package/lib/components/src/business/uploadMaterial/UploadMaterial.vue2.js.map +1 -1
  107. package/lib/components/src/business/uploadMaterial/index.d.ts +8 -4
  108. package/lib/components/src/composite/fileComponent/FileComponent.vue2.js +18 -16
  109. package/lib/components/src/composite/fileComponent/FileComponent.vue2.js.map +1 -1
  110. package/lib/components/src/composite/operateButton/OperateButton.vue.d.ts +1 -1
  111. package/lib/components/src/composite/operateButton/index.d.ts +1 -1
  112. package/lib/components/src/composite/searchForm/searchFormItems/select/SearchFormSelect.vue.d.ts +1 -1
  113. package/lib/components/src/composite/searchForm/searchFormItems/select/index.d.ts +1 -1
  114. package/lib/components/src/composite/tablePro/TablePro.vue.d.ts +1 -1
  115. package/lib/components/src/composite/tablePro/index.d.ts +3 -3
  116. package/lib/components/src/composite/uploadFile/UploadFile.vue.d.ts +11 -12
  117. package/lib/components/src/composite/uploadFile/UploadFile.vue.js +1 -1
  118. package/lib/components/src/composite/uploadFile/UploadFile.vue2.js +31 -23
  119. package/lib/components/src/composite/uploadFile/UploadFile.vue2.js.map +1 -1
  120. package/lib/components/src/composite/uploadFile/index.d.ts +22 -30
  121. package/lib/components/src/composite/uploadFile/uploadFile.d.ts +30 -28
  122. package/lib/components/src/composite/uploadFile/uploadFile.js.map +1 -1
  123. package/lib/giime/index.js +12 -8
  124. package/lib/giime/index.js.map +1 -1
  125. package/lib/giime/version.d.ts +1 -1
  126. package/lib/giime/version.js +1 -1
  127. package/lib/giime/version.js.map +1 -1
  128. package/lib/hooks/index.js +2 -2
  129. package/lib/hooks/store/index.d.ts +1 -1
  130. package/lib/hooks/store/index.js +2 -2
  131. package/lib/hooks/store/useAliOssConfigs/index.d.ts +20 -0
  132. package/lib/hooks/store/useAliOssConfigs/index.js +33 -0
  133. package/lib/hooks/store/useAliOssConfigs/index.js.map +1 -0
  134. package/lib/hooks/store/useLogin/index.d.ts +9 -9
  135. package/lib/hooks/store/useLogin/index.js.map +1 -1
  136. package/lib/hooks/store/useOrgUserList/index.d.ts +4 -3
  137. package/lib/hooks/store/useOrgUserList/index.js +8 -6
  138. package/lib/hooks/store/useOrgUserList/index.js.map +1 -1
  139. package/lib/index.css +7 -7
  140. package/lib/utils/index.d.ts +2 -1
  141. package/lib/utils/index.js +7 -2
  142. package/lib/utils/index.js.map +1 -1
  143. package/lib/utils/src/alioss/aliossPutHook.js +5 -2
  144. package/lib/utils/src/alioss/aliossPutHook.js.map +1 -1
  145. package/lib/utils/src/alioss/aliossToken.d.ts +6 -6
  146. package/lib/utils/src/alioss/aliossToken.js +1 -1
  147. package/lib/utils/src/alioss/aliossToken.js.map +1 -1
  148. package/lib/utils/src/number.d.ts +7 -0
  149. package/lib/utils/src/number.js +13 -0
  150. package/lib/utils/src/number.js.map +1 -0
  151. package/lib/utils/src/tree/filterTreeByName.d.ts +14 -0
  152. package/lib/utils/src/tree/filterTreeByName.js +20 -0
  153. package/lib/utils/src/tree/filterTreeByName.js.map +1 -0
  154. package/lib/utils/src/tree/findChildrenItem.d.ts +7 -0
  155. package/lib/utils/src/tree/findChildrenItem.js +22 -0
  156. package/lib/utils/src/tree/findChildrenItem.js.map +1 -0
  157. package/lib/utils/src/tree/index.d.ts +2 -0
  158. package/lib/utils/src/tree/index.js +10 -0
  159. package/lib/utils/src/tree/index.js.map +1 -0
  160. package/package.json +1 -1
  161. package/es/api/materialApi/cross/getAliOssConfigIds.d.ts +0 -14
  162. package/es/api/materialApi/cross/getAliOssConfigIds.mjs +0 -8
  163. package/es/api/materialApi/cross/getAliOssConfigIds.mjs.map +0 -1
  164. package/es/components/src/composite/fileComponent/assets/image/excel.svg.mjs +0 -4
  165. package/es/components/src/composite/fileComponent/assets/image/excel.svg.mjs.map +0 -1
  166. package/es/components/src/composite/fileComponent/assets/image/pdf.svg.mjs +0 -4
  167. package/es/components/src/composite/fileComponent/assets/image/pdf.svg.mjs.map +0 -1
  168. package/es/components/src/composite/fileComponent/assets/image/ppt.svg.mjs +0 -4
  169. package/es/components/src/composite/fileComponent/assets/image/ppt.svg.mjs.map +0 -1
  170. package/es/components/src/composite/fileComponent/assets/image/psd.svg.mjs +0 -4
  171. package/es/components/src/composite/fileComponent/assets/image/psd.svg.mjs.map +0 -1
  172. package/es/components/src/composite/fileComponent/assets/image/text.svg.mjs +0 -4
  173. package/es/components/src/composite/fileComponent/assets/image/text.svg.mjs.map +0 -1
  174. package/es/components/src/composite/fileComponent/assets/image/unknown.svg.mjs +0 -4
  175. package/es/components/src/composite/fileComponent/assets/image/unknown.svg.mjs.map +0 -1
  176. package/es/components/src/composite/fileComponent/assets/image/word.svg.mjs +0 -4
  177. package/es/components/src/composite/fileComponent/assets/image/word.svg.mjs.map +0 -1
  178. package/es/components/src/composite/fileComponent/assets/image/zip.svg.mjs +0 -4
  179. package/es/components/src/composite/fileComponent/assets/image/zip.svg.mjs.map +0 -1
  180. package/es/hooks/store/useAliOssConfigIds/index.d.ts +0 -20
  181. package/es/hooks/store/useAliOssConfigIds/index.mjs +0 -31
  182. package/es/hooks/store/useAliOssConfigIds/index.mjs.map +0 -1
  183. package/es/utils/src/tree.d.ts +0 -12
  184. package/es/utils/src/tree.mjs +0 -19
  185. package/es/utils/src/tree.mjs.map +0 -1
  186. package/lib/api/materialApi/cross/getAliOssConfigIds.d.ts +0 -14
  187. package/lib/api/materialApi/cross/getAliOssConfigIds.js +0 -10
  188. package/lib/api/materialApi/cross/getAliOssConfigIds.js.map +0 -1
  189. package/lib/components/src/composite/fileComponent/assets/image/excel.svg.js +0 -8
  190. package/lib/components/src/composite/fileComponent/assets/image/excel.svg.js.map +0 -1
  191. package/lib/components/src/composite/fileComponent/assets/image/pdf.svg.js +0 -8
  192. package/lib/components/src/composite/fileComponent/assets/image/pdf.svg.js.map +0 -1
  193. package/lib/components/src/composite/fileComponent/assets/image/ppt.svg.js +0 -8
  194. package/lib/components/src/composite/fileComponent/assets/image/ppt.svg.js.map +0 -1
  195. package/lib/components/src/composite/fileComponent/assets/image/psd.svg.js +0 -8
  196. package/lib/components/src/composite/fileComponent/assets/image/psd.svg.js.map +0 -1
  197. package/lib/components/src/composite/fileComponent/assets/image/text.svg.js +0 -8
  198. package/lib/components/src/composite/fileComponent/assets/image/text.svg.js.map +0 -1
  199. package/lib/components/src/composite/fileComponent/assets/image/unknown.svg.js +0 -8
  200. package/lib/components/src/composite/fileComponent/assets/image/unknown.svg.js.map +0 -1
  201. package/lib/components/src/composite/fileComponent/assets/image/word.svg.js +0 -8
  202. package/lib/components/src/composite/fileComponent/assets/image/word.svg.js.map +0 -1
  203. package/lib/components/src/composite/fileComponent/assets/image/zip.svg.js +0 -8
  204. package/lib/components/src/composite/fileComponent/assets/image/zip.svg.js.map +0 -1
  205. package/lib/hooks/store/useAliOssConfigIds/index.d.ts +0 -20
  206. package/lib/hooks/store/useAliOssConfigIds/index.js +0 -33
  207. package/lib/hooks/store/useAliOssConfigIds/index.js.map +0 -1
  208. package/lib/utils/src/tree.d.ts +0 -12
  209. package/lib/utils/src/tree.js +0 -21
  210. package/lib/utils/src/tree.js.map +0 -1
@@ -0,0 +1,33 @@
1
+ 'use strict';
2
+
3
+ var vue = require('vue');
4
+ var pinia = require('pinia');
5
+ require('../../../api/materialApi/index.js');
6
+ var getAliOssConfigs = require('../../../api/materialApi/cross/getAliOssConfigs.js');
7
+
8
+ const useAliOssConfigsStore = pinia.defineStore("gmaliOssConfigs", () => {
9
+ const aliOssConfigs = vue.ref(null);
10
+ const isLoading = vue.ref(false);
11
+ const getaliOssConfigsAsync = async () => {
12
+ if (aliOssConfigs.value)
13
+ return;
14
+ isLoading.value = true;
15
+ try {
16
+ const { data } = await getAliOssConfigs.getAliOssConfigs();
17
+ aliOssConfigs.value = data.data;
18
+ } finally {
19
+ isLoading.value = false;
20
+ }
21
+ };
22
+ vue.onMounted(() => {
23
+ getaliOssConfigsAsync();
24
+ });
25
+ return {
26
+ isLoading,
27
+ aliOssConfigs,
28
+ getaliOssConfigsAsync
29
+ };
30
+ });
31
+
32
+ exports.useAliOssConfigsStore = useAliOssConfigsStore;
33
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../../../../packages/hooks/store/useAliOssConfigs/index.ts"],"sourcesContent":["import { onMounted, ref } from 'vue';\r\nimport { defineStore } from 'pinia';\r\nimport { type GetAliOssConfigsResponseData, getAliOssConfigs } from '@giime/api/materialApi';\r\n\r\n/** 阿里云oss配置id */\r\nexport const useAliOssConfigsStore = defineStore('gmaliOssConfigs', () => {\r\n const aliOssConfigs = ref<GetAliOssConfigsResponseData | null>(null);\r\n const isLoading = ref(false);\r\n\r\n const getaliOssConfigsAsync = async () => {\r\n if (aliOssConfigs.value) return;\r\n isLoading.value = true;\r\n try {\r\n const { data } = await getAliOssConfigs();\r\n aliOssConfigs.value = data.data;\r\n } finally {\r\n isLoading.value = false;\r\n }\r\n };\r\n\r\n onMounted(() => {\r\n getaliOssConfigsAsync();\r\n });\r\n\r\n return {\r\n isLoading,\r\n aliOssConfigs,\r\n getaliOssConfigsAsync,\r\n };\r\n});\r\n"],"names":["defineStore","ref","getAliOssConfigs","onMounted"],"mappings":";;;;;;;AAKa,MAAA,qBAAA,GAAwBA,iBAAY,CAAA,iBAAA,EAAmB,MAAM;AACxE,EAAM,MAAA,aAAA,GAAgBC,QAAyC,IAAI,CAAA,CAAA;AACnE,EAAM,MAAA,SAAA,GAAYA,QAAI,KAAK,CAAA,CAAA;AAE3B,EAAA,MAAM,wBAAwB,YAAY;AACxC,IAAA,IAAI,aAAc,CAAA,KAAA;AAAO,MAAA,OAAA;AACzB,IAAA,SAAA,CAAU,KAAQ,GAAA,IAAA,CAAA;AAClB,IAAI,IAAA;AACF,MAAA,MAAM,EAAE,IAAA,EAAS,GAAA,MAAMC,iCAAiB,EAAA,CAAA;AACxC,MAAA,aAAA,CAAc,QAAQ,IAAK,CAAA,IAAA,CAAA;AAAA,KAC3B,SAAA;AACA,MAAA,SAAA,CAAU,KAAQ,GAAA,KAAA,CAAA;AAAA,KACpB;AAAA,GACF,CAAA;AAEA,EAAAC,aAAA,CAAU,MAAM;AACd,IAAsB,qBAAA,EAAA,CAAA;AAAA,GACvB,CAAA,CAAA;AAED,EAAO,OAAA;AAAA,IACL,SAAA;AAAA,IACA,aAAA;AAAA,IACA,qBAAA;AAAA,GACF,CAAA;AACF,CAAC;;;;"}
@@ -11,11 +11,11 @@ export declare const useLoginStore: import("pinia").StoreDefinition<"gmLoginStor
11
11
  showLogin: import("vue").Ref<boolean>;
12
12
  userToken: import("@vueuse/shared").RemovableRef<string | undefined>;
13
13
  userId: import("@vueuse/shared").RemovableRef<string | undefined>;
14
- triggerLoginResult: EventHookTrigger<LoggedResultData>;
14
+ triggerLoginResult: EventHookTrigger<any>;
15
15
  /** 监听登录成功*/
16
- onLoginResult: EventHookOn<LoggedResultData>;
16
+ onLoginResult: EventHookOn<any>;
17
17
  /** 监听登录成功 promise版 */
18
- onLoginResultPromise: () => Promise<LoggedResultData>;
18
+ onLoginResultPromise: () => Promise<unknown>;
19
19
  /**监听登录弹窗关闭 promise版 */
20
20
  onCloseLoginResultPromise: () => Promise<undefined>;
21
21
  }, "showLogin" | "userToken" | "userId">>, Pick<{
@@ -23,11 +23,11 @@ export declare const useLoginStore: import("pinia").StoreDefinition<"gmLoginStor
23
23
  showLogin: import("vue").Ref<boolean>;
24
24
  userToken: import("@vueuse/shared").RemovableRef<string | undefined>;
25
25
  userId: import("@vueuse/shared").RemovableRef<string | undefined>;
26
- triggerLoginResult: EventHookTrigger<LoggedResultData>;
26
+ triggerLoginResult: EventHookTrigger<any>;
27
27
  /** 监听登录成功*/
28
- onLoginResult: EventHookOn<LoggedResultData>;
28
+ onLoginResult: EventHookOn<any>;
29
29
  /** 监听登录成功 promise版 */
30
- onLoginResultPromise: () => Promise<LoggedResultData>;
30
+ onLoginResultPromise: () => Promise<unknown>;
31
31
  /**监听登录弹窗关闭 promise版 */
32
32
  onCloseLoginResultPromise: () => Promise<undefined>;
33
33
  }, never>, Pick<{
@@ -35,11 +35,11 @@ export declare const useLoginStore: import("pinia").StoreDefinition<"gmLoginStor
35
35
  showLogin: import("vue").Ref<boolean>;
36
36
  userToken: import("@vueuse/shared").RemovableRef<string | undefined>;
37
37
  userId: import("@vueuse/shared").RemovableRef<string | undefined>;
38
- triggerLoginResult: EventHookTrigger<LoggedResultData>;
38
+ triggerLoginResult: EventHookTrigger<any>;
39
39
  /** 监听登录成功*/
40
- onLoginResult: EventHookOn<LoggedResultData>;
40
+ onLoginResult: EventHookOn<any>;
41
41
  /** 监听登录成功 promise版 */
42
- onLoginResultPromise: () => Promise<LoggedResultData>;
42
+ onLoginResultPromise: () => Promise<unknown>;
43
43
  /**监听登录弹窗关闭 promise版 */
44
44
  onCloseLoginResultPromise: () => Promise<undefined>;
45
45
  }, "triggerLoginResult" | "onLoginResult" | "onLoginResultPromise" | "onCloseLoginResultPromise">>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../../packages/hooks/store/useLogin/index.ts"],"sourcesContent":["import { ref, watch } from 'vue';\r\nimport { defineStore } from 'pinia';\r\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\r\nimport { type EventHookOn, type EventHookTrigger, createEventHook, useSessionStorage } from '@vueuse/core';\r\n/**监听登录成功响应的数据 */\r\nexport interface LoggedResultData {\r\n token: string;\r\n userId: string;\r\n}\r\n/**登录store */\r\nexport const useLoginStore = defineStore('gmLoginStore', () => {\r\n const showLogin = ref(false);\r\n const userToken = useSessionStorage<string | undefined>('gmUserToken', undefined);\r\n const userId = useSessionStorage<string | undefined>('gmUserId', undefined);\r\n const loginResult = createEventHook<LoggedResultData>();\r\n const triggerLoginResult = loginResult.trigger;\r\n /**监听登录成功 promise版 */\r\n const onLoginResultPromise = () =>\r\n new Promise<LoggedResultData>(resolve => {\r\n loginResult.on(resolve);\r\n });\r\n /**关闭登录弹窗事件 */\r\n const closeLoginResult = createEventHook();\r\n const triggerCloseLoginResult = closeLoginResult.trigger;\r\n /**监听登录弹窗关闭 promise版 */\r\n const onCloseLoginResultPromise = () =>\r\n new Promise<undefined>(resolve => {\r\n closeLoginResult.on(resolve);\r\n });\r\n watch(showLogin, newValue => {\r\n if (!newValue) {\r\n triggerCloseLoginResult();\r\n }\r\n });\r\n return {\r\n /**是否显示登录弹窗 */\r\n showLogin,\r\n userToken,\r\n userId,\r\n triggerLoginResult,\r\n /** 监听登录成功*/\r\n onLoginResult: loginResult.on,\r\n /** 监听登录成功 promise版 */\r\n onLoginResultPromise,\r\n /**监听登录弹窗关闭 promise版 */\r\n onCloseLoginResultPromise,\r\n };\r\n});\r\n"],"names":["defineStore","ref","useSessionStorage","createEventHook","watch"],"mappings":";;;;;;AAUa,MAAA,aAAA,GAAgBA,iBAAY,CAAA,cAAA,EAAgB,MAAM;AAC7D,EAAM,MAAA,SAAA,GAAYC,QAAI,KAAK,CAAA,CAAA;AAC3B,EAAM,MAAA,SAAA,GAAYC,sBAAsC,CAAA,aAAA,EAAe,KAAS,CAAA,CAAA,CAAA;AAChF,EAAM,MAAA,MAAA,GAASA,sBAAsC,CAAA,UAAA,EAAY,KAAS,CAAA,CAAA,CAAA;AAC1E,EAAA,MAAM,cAAcC,oBAAkC,EAAA,CAAA;AACtD,EAAA,MAAM,qBAAqB,WAAY,CAAA,OAAA,CAAA;AAEvC,EAAA,MAAM,oBAAuB,GAAA,MAC3B,IAAI,OAAA,CAA0B,CAAW,OAAA,KAAA;AACvC,IAAA,WAAA,CAAY,GAAG,OAAO,CAAA,CAAA;AAAA,GACvB,CAAA,CAAA;AAEH,EAAA,MAAM,mBAAmBA,oBAAgB,EAAA,CAAA;AACzC,EAAA,MAAM,0BAA0B,gBAAiB,CAAA,OAAA,CAAA;AAEjD,EAAA,MAAM,yBAA4B,GAAA,MAChC,IAAI,OAAA,CAAmB,CAAW,OAAA,KAAA;AAChC,IAAA,gBAAA,CAAiB,GAAG,OAAO,CAAA,CAAA;AAAA,GAC5B,CAAA,CAAA;AACH,EAAAC,SAAA,CAAM,WAAW,CAAY,QAAA,KAAA;AAC3B,IAAA,IAAI,CAAC,QAAU,EAAA;AACb,MAAwB,uBAAA,EAAA,CAAA;AAAA,KAC1B;AAAA,GACD,CAAA,CAAA;AACD,EAAO,OAAA;AAAA;AAAA,IAEL,SAAA;AAAA,IACA,SAAA;AAAA,IACA,MAAA;AAAA,IACA,kBAAA;AAAA;AAAA,IAEA,eAAe,WAAY,CAAA,EAAA;AAAA;AAAA,IAE3B,oBAAA;AAAA;AAAA,IAEA,yBAAA;AAAA,GACF,CAAA;AACF,CAAC;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../../packages/hooks/store/useLogin/index.ts"],"sourcesContent":["import { ref, watch } from 'vue';\nimport { defineStore } from 'pinia';\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nimport { type EventHookOn, type EventHookTrigger, createEventHook, useSessionStorage } from '@vueuse/core';\n/**监听登录成功响应的数据 */\nexport interface LoggedResultData {\n token: string;\n userId: string;\n}\n/**登录store */\nexport const useLoginStore = defineStore('gmLoginStore', () => {\n const showLogin = ref(false);\n const userToken = useSessionStorage<string | undefined>('gmUserToken', undefined);\n const userId = useSessionStorage<string | undefined>('gmUserId', undefined);\n const loginResult = createEventHook();\n const triggerLoginResult = loginResult.trigger;\n /**监听登录成功 promise版 */\n const onLoginResultPromise = () =>\n new Promise(resolve => {\n loginResult.on(resolve);\n });\n /**关闭登录弹窗事件 */\n const closeLoginResult = createEventHook();\n const triggerCloseLoginResult = closeLoginResult.trigger;\n /**监听登录弹窗关闭 promise版 */\n const onCloseLoginResultPromise = () =>\n new Promise<undefined>(resolve => {\n closeLoginResult.on(resolve);\n });\n watch(showLogin, newValue => {\n if (!newValue) {\n triggerCloseLoginResult();\n }\n });\n return {\n /**是否显示登录弹窗 */\n showLogin,\n userToken,\n userId,\n triggerLoginResult,\n /** 监听登录成功*/\n onLoginResult: loginResult.on,\n /** 监听登录成功 promise版 */\n onLoginResultPromise,\n /**监听登录弹窗关闭 promise版 */\n onCloseLoginResultPromise,\n };\n});\n"],"names":["defineStore","ref","useSessionStorage","createEventHook","watch"],"mappings":";;;;;;AAUa,MAAA,aAAA,GAAgBA,iBAAY,CAAA,cAAA,EAAgB,MAAM;AAC7D,EAAM,MAAA,SAAA,GAAYC,QAAI,KAAK,CAAA,CAAA;AAC3B,EAAM,MAAA,SAAA,GAAYC,sBAAsC,CAAA,aAAA,EAAe,KAAS,CAAA,CAAA,CAAA;AAChF,EAAM,MAAA,MAAA,GAASA,sBAAsC,CAAA,UAAA,EAAY,KAAS,CAAA,CAAA,CAAA;AAC1E,EAAA,MAAM,cAAcC,oBAAgB,EAAA,CAAA;AACpC,EAAA,MAAM,qBAAqB,WAAY,CAAA,OAAA,CAAA;AAEvC,EAAA,MAAM,oBAAuB,GAAA,MAC3B,IAAI,OAAA,CAAQ,CAAW,OAAA,KAAA;AACrB,IAAA,WAAA,CAAY,GAAG,OAAO,CAAA,CAAA;AAAA,GACvB,CAAA,CAAA;AAEH,EAAA,MAAM,mBAAmBA,oBAAgB,EAAA,CAAA;AACzC,EAAA,MAAM,0BAA0B,gBAAiB,CAAA,OAAA,CAAA;AAEjD,EAAA,MAAM,yBAA4B,GAAA,MAChC,IAAI,OAAA,CAAmB,CAAW,OAAA,KAAA;AAChC,IAAA,gBAAA,CAAiB,GAAG,OAAO,CAAA,CAAA;AAAA,GAC5B,CAAA,CAAA;AACH,EAAAC,SAAA,CAAM,WAAW,CAAY,QAAA,KAAA;AAC3B,IAAA,IAAI,CAAC,QAAU,EAAA;AACb,MAAwB,uBAAA,EAAA,CAAA;AAAA,KAC1B;AAAA,GACD,CAAA,CAAA;AACD,EAAO,OAAA;AAAA;AAAA,IAEL,SAAA;AAAA,IACA,SAAA;AAAA,IACA,MAAA;AAAA,IACA,kBAAA;AAAA;AAAA,IAEA,eAAe,WAAY,CAAA,EAAA;AAAA;AAAA,IAE3B,oBAAA;AAAA;AAAA,IAEA,yBAAA;AAAA,GACF,CAAA;AACF,CAAC;;;;"}
@@ -1,3 +1,4 @@
1
+ import type { UserOrgReq } from '../../../api/guardBasic/interface';
1
2
  /**用户-家族列表 */
2
3
  export declare const useOrgUserListStore: import("pinia").StoreDefinition<"gmOrgUserList", import("pinia")._UnwrapAll<Pick<{
3
4
  userList: import("vue").ComputedRef<{
@@ -17,7 +18,7 @@ export declare const useOrgUserListStore: import("pinia").StoreDefinition<"gmOrg
17
18
  value: number;
18
19
  }[];
19
20
  }[]>;
20
- getOrgUserList: () => Promise<import("@vueuse/integrations/useAxios").StrictUseAxiosReturn<{
21
+ getOrgUserList: (input?: UserOrgReq) => Promise<import("@vueuse/integrations/useAxios").StrictUseAxiosReturn<{
21
22
  code: number;
22
23
  bizCode: number;
23
24
  data: {
@@ -60,7 +61,7 @@ export declare const useOrgUserListStore: import("pinia").StoreDefinition<"gmOrg
60
61
  value: number;
61
62
  }[];
62
63
  }[]>;
63
- getOrgUserList: () => Promise<import("@vueuse/integrations/useAxios").StrictUseAxiosReturn<{
64
+ getOrgUserList: (input?: UserOrgReq) => Promise<import("@vueuse/integrations/useAxios").StrictUseAxiosReturn<{
64
65
  code: number;
65
66
  bizCode: number;
66
67
  data: {
@@ -103,7 +104,7 @@ export declare const useOrgUserListStore: import("pinia").StoreDefinition<"gmOrg
103
104
  value: number;
104
105
  }[];
105
106
  }[]>;
106
- getOrgUserList: () => Promise<import("@vueuse/integrations/useAxios").StrictUseAxiosReturn<{
107
+ getOrgUserList: (input?: UserOrgReq) => Promise<import("@vueuse/integrations/useAxios").StrictUseAxiosReturn<{
107
108
  code: number;
108
109
  bizCode: number;
109
110
  data: {
@@ -6,7 +6,7 @@ var lodashEs = require('lodash-es');
6
6
  require('../../../api/guardBasic/controller/index.js');
7
7
  var usePostBasicV1UserListUserOrg = require('../../../api/guardBasic/controller/JiChuFuWu/YongHuGuanLi/usePostBasicV1UserListUserOrg.js');
8
8
 
9
- const useOrgUserListStore = pinia.defineStore("gmOrgUserList", () => {
9
+ const useOrgUserListStore = pinia.defineStore("gmOrgUserList", (options = { disabledInitList: false }) => {
10
10
  const { isLoading, exec, data: userListData } = usePostBasicV1UserListUserOrg.usePostBasicV1UserListUserOrg();
11
11
  const userList = vue.computed(() => userListData.value?.data || []);
12
12
  const orgUserList = vue.computed(() => {
@@ -19,15 +19,17 @@ const useOrgUserListStore = pinia.defineStore("gmOrgUserList", () => {
19
19
  };
20
20
  });
21
21
  });
22
- const getOrgUserList = async () => {
22
+ const getOrgUserList = async (input) => {
23
23
  if (userList.value.length !== 0 || isLoading.value) {
24
24
  return;
25
25
  }
26
- return exec();
26
+ return exec(input);
27
27
  };
28
- vue.onMounted(() => {
29
- getOrgUserList();
30
- });
28
+ if (!options.disabledInitList) {
29
+ vue.onMounted(() => {
30
+ getOrgUserList({ user_status: 1 });
31
+ });
32
+ }
31
33
  return {
32
34
  userList,
33
35
  isLoading,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../../packages/hooks/store/useOrgUserList/index.ts"],"sourcesContent":["import { computed, onMounted } from 'vue';\nimport { defineStore } from 'pinia';\nimport { groupBy } from 'lodash-es';\nimport { usePostBasicV1UserListUserOrg } from '@giime/api/guardBasic/controller';\n\n/**用户-家族列表 */\nexport const useOrgUserListStore = defineStore('gmOrgUserList', () => {\n const { isLoading, exec, data: userListData } = usePostBasicV1UserListUserOrg();\n const userList = computed(() => userListData.value?.data || []);\n const orgUserList = computed(() => {\n const familyGroup = groupBy(userList.value, 'family_code');\n return Object.keys(familyGroup).map(familyCode => {\n return {\n label: familyGroup[familyCode][0].family_name,\n value: familyCode,\n children: familyGroup[familyCode].map(it => ({ label: it.user_name, value: it.user_id })),\n };\n });\n });\n const getOrgUserList = async () => {\n if (userList.value.length !== 0 || isLoading.value) {\n return;\n }\n return exec();\n };\n onMounted(() => {\n getOrgUserList();\n });\n return {\n userList,\n isLoading,\n orgUserList,\n getOrgUserList,\n };\n});\n"],"names":["defineStore","usePostBasicV1UserListUserOrg","computed","groupBy","onMounted"],"mappings":";;;;;;;;AAMa,MAAA,mBAAA,GAAsBA,iBAAY,CAAA,eAAA,EAAiB,MAAM;AACpE,EAAA,MAAM,EAAE,SAAW,EAAA,IAAA,EAAM,IAAM,EAAA,YAAA,KAAiBC,2DAA8B,EAAA,CAAA;AAC9E,EAAA,MAAM,WAAWC,YAAS,CAAA,MAAM,aAAa,KAAO,EAAA,IAAA,IAAQ,EAAE,CAAA,CAAA;AAC9D,EAAM,MAAA,WAAA,GAAcA,aAAS,MAAM;AACjC,IAAA,MAAM,WAAc,GAAAC,gBAAA,CAAQ,QAAS,CAAA,KAAA,EAAO,aAAa,CAAA,CAAA;AACzD,IAAA,OAAO,MAAO,CAAA,IAAA,CAAK,WAAW,CAAA,CAAE,IAAI,CAAc,UAAA,KAAA;AAChD,MAAO,OAAA;AAAA,QACL,KAAO,EAAA,WAAA,CAAY,UAAU,CAAA,CAAE,CAAC,CAAE,CAAA,WAAA;AAAA,QAClC,KAAO,EAAA,UAAA;AAAA,QACP,QAAU,EAAA,WAAA,CAAY,UAAU,CAAA,CAAE,GAAI,CAAA,CAAA,EAAA,MAAO,EAAE,KAAA,EAAO,EAAG,CAAA,SAAA,EAAW,KAAO,EAAA,EAAA,CAAG,SAAU,CAAA,CAAA;AAAA,OAC1F,CAAA;AAAA,KACD,CAAA,CAAA;AAAA,GACF,CAAA,CAAA;AACD,EAAA,MAAM,iBAAiB,YAAY;AACjC,IAAA,IAAI,QAAS,CAAA,KAAA,CAAM,MAAW,KAAA,CAAA,IAAK,UAAU,KAAO,EAAA;AAClD,MAAA,OAAA;AAAA,KACF;AACA,IAAA,OAAO,IAAK,EAAA,CAAA;AAAA,GACd,CAAA;AACA,EAAAC,aAAA,CAAU,MAAM;AACd,IAAe,cAAA,EAAA,CAAA;AAAA,GAChB,CAAA,CAAA;AACD,EAAO,OAAA;AAAA,IACL,QAAA;AAAA,IACA,SAAA;AAAA,IACA,WAAA;AAAA,IACA,cAAA;AAAA,GACF,CAAA;AACF,CAAC;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../../packages/hooks/store/useOrgUserList/index.ts"],"sourcesContent":["import { computed, onMounted } from 'vue';\nimport { defineStore } from 'pinia';\nimport { groupBy } from 'lodash-es';\nimport { usePostBasicV1UserListUserOrg } from '@giime/api/guardBasic/controller';\nimport type { UserOrgReq } from '@giime/api/guardBasic/interface';\n\n/**用户-家族列表 */\nexport const useOrgUserListStore = defineStore('gmOrgUserList', (options = { disabledInitList: false }) => {\n const { isLoading, exec, data: userListData } = usePostBasicV1UserListUserOrg();\n const userList = computed(() => userListData.value?.data || []);\n const orgUserList = computed(() => {\n const familyGroup = groupBy(userList.value, 'family_code');\n return Object.keys(familyGroup).map(familyCode => {\n return {\n label: familyGroup[familyCode][0].family_name,\n value: familyCode,\n children: familyGroup[familyCode].map(it => ({ label: it.user_name, value: it.user_id })),\n };\n });\n });\n const getOrgUserList = async (input?: UserOrgReq) => {\n if (userList.value.length !== 0 || isLoading.value) {\n return;\n }\n return exec(input);\n };\n if (!options.disabledInitList) {\n onMounted(() => {\n getOrgUserList({ user_status: 1 });\n });\n }\n\n return {\n userList,\n isLoading,\n orgUserList,\n getOrgUserList,\n };\n});\n"],"names":["defineStore","usePostBasicV1UserListUserOrg","computed","groupBy","onMounted"],"mappings":";;;;;;;;AAOa,MAAA,mBAAA,GAAsBA,kBAAY,eAAiB,EAAA,CAAC,UAAU,EAAE,gBAAA,EAAkB,OAAY,KAAA;AACzG,EAAA,MAAM,EAAE,SAAW,EAAA,IAAA,EAAM,IAAM,EAAA,YAAA,KAAiBC,2DAA8B,EAAA,CAAA;AAC9E,EAAA,MAAM,WAAWC,YAAS,CAAA,MAAM,aAAa,KAAO,EAAA,IAAA,IAAQ,EAAE,CAAA,CAAA;AAC9D,EAAM,MAAA,WAAA,GAAcA,aAAS,MAAM;AACjC,IAAA,MAAM,WAAc,GAAAC,gBAAA,CAAQ,QAAS,CAAA,KAAA,EAAO,aAAa,CAAA,CAAA;AACzD,IAAA,OAAO,MAAO,CAAA,IAAA,CAAK,WAAW,CAAA,CAAE,IAAI,CAAc,UAAA,KAAA;AAChD,MAAO,OAAA;AAAA,QACL,KAAO,EAAA,WAAA,CAAY,UAAU,CAAA,CAAE,CAAC,CAAE,CAAA,WAAA;AAAA,QAClC,KAAO,EAAA,UAAA;AAAA,QACP,QAAU,EAAA,WAAA,CAAY,UAAU,CAAA,CAAE,GAAI,CAAA,CAAA,EAAA,MAAO,EAAE,KAAA,EAAO,EAAG,CAAA,SAAA,EAAW,KAAO,EAAA,EAAA,CAAG,SAAU,CAAA,CAAA;AAAA,OAC1F,CAAA;AAAA,KACD,CAAA,CAAA;AAAA,GACF,CAAA,CAAA;AACD,EAAM,MAAA,cAAA,GAAiB,OAAO,KAAuB,KAAA;AACnD,IAAA,IAAI,QAAS,CAAA,KAAA,CAAM,MAAW,KAAA,CAAA,IAAK,UAAU,KAAO,EAAA;AAClD,MAAA,OAAA;AAAA,KACF;AACA,IAAA,OAAO,KAAK,KAAK,CAAA,CAAA;AAAA,GACnB,CAAA;AACA,EAAI,IAAA,CAAC,QAAQ,gBAAkB,EAAA;AAC7B,IAAAC,aAAA,CAAU,MAAM;AACd,MAAe,cAAA,CAAA,EAAE,WAAa,EAAA,CAAA,EAAG,CAAA,CAAA;AAAA,KAClC,CAAA,CAAA;AAAA,GACH;AAEA,EAAO,OAAA;AAAA,IACL,QAAA;AAAA,IACA,SAAA;AAAA,IACA,WAAA;AAAA,IACA,cAAA;AAAA,GACF,CAAA;AACF,CAAC;;;;"}
package/lib/index.css CHANGED
@@ -862,17 +862,21 @@ video {
862
862
  .gm-number-interval-single[data-v-47a13fd0]:hover .gm-number-interval-close[data-v-47a13fd0] {
863
863
  display: flex;
864
864
  }
865
- .gm-upload-preview-dialog[data-v-0c250aad] [data-v-0c250aad] .el-dialog__body {
865
+ .gm-upload-preview-dialog[data-v-142ef678] [data-v-142ef678] .el-dialog__body {
866
866
  padding: 0;
867
867
  }
868
868
 
869
- .gm-upload-file-picture-card[data-v-0c250aad] [data-v-0c250aad] .el-upload-list__item, .gm-upload-file-picture-card[data-v-0c250aad] [data-v-0c250aad] .el-upload--picture-card {
869
+ .gm-upload-file-picture-card[data-v-142ef678] [data-v-142ef678] .el-upload-list__item, .gm-upload-file-picture-card[data-v-142ef678] [data-v-142ef678] .el-upload--picture-card {
870
870
  width: 120px;
871
871
  height: 120px;
872
872
  display: flex;
873
873
  align-items: center;
874
874
  justify-content: center;
875
875
  }
876
+ [data-v-7b6755e2] .gmSearchForm .el-form-item {
877
+ margin-right: 0;
878
+ margin-bottom: 4px;
879
+ }
876
880
  [data-v-668dc408] .gmTableNoBorder .el-table__body .el-table__cell {
877
881
  border-right: none;
878
882
  }
@@ -896,10 +900,6 @@ video {
896
900
  [data-v-668dc408] .gmTableNoBorder .el-table__border-left-patch {
897
901
  height: 0;
898
902
  }
899
- [data-v-7b6755e2] .gmSearchForm .el-form-item {
900
- margin-right: 0;
901
- margin-bottom: 4px;
902
- }
903
903
  .gm-upload-file {
904
904
  line-height: normal;
905
905
  }
@@ -920,7 +920,7 @@ video {
920
920
  display: flex;
921
921
  }
922
922
 
923
- .gm-upload-file-disabled .is-disabled {
923
+ .gm-upload-file-disabled .el-upload--picture-card {
924
924
  display: none;
925
925
  }
926
926
  .gm-upload-file-disabled .el-upload-list__item-status-label {
@@ -8,4 +8,5 @@ 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';
11
+ export * from './src/number';
12
+ export * from './src/tree/index';
@@ -10,7 +10,8 @@ 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
+ var number = require('./src/number.js');
14
+ require('./src/tree/index.js');
14
15
  var install = require('./src/vue/install.js');
15
16
  var resolver = require('./src/vue/resolver.js');
16
17
  var event = require('./src/elementPlus/event.js');
@@ -23,6 +24,8 @@ var url = require('./src/http/url.js');
23
24
  var dateShortcuts = require('./src/date/dateShortcuts.js');
24
25
  var md5 = require('./src/crypto/md5.js');
25
26
  var sha1 = require('./src/crypto/sha1.js');
27
+ var filterTreeByName = require('./src/tree/filterTreeByName.js');
28
+ var findChildrenItem = require('./src/tree/findChildrenItem.js');
26
29
 
27
30
 
28
31
 
@@ -70,7 +73,7 @@ exports.compareVersions = general.compareVersions;
70
73
  exports.isVersionGreaterOrEqual = general.isVersionGreaterOrEqual;
71
74
  exports.omitOnEvents = general.omitOnEvents;
72
75
  exports.remove = general.remove;
73
- exports.findChildrenItem = tree.findChildrenItem;
76
+ exports.formatNumberWithCommas = number.formatNumberWithCommas;
74
77
  exports.withInstall = install.withInstall;
75
78
  exports.withInstallDirective = install.withInstallDirective;
76
79
  exports.withInstallFunction = install.withInstallFunction;
@@ -101,4 +104,6 @@ exports.b64_hmac_sha1 = sha1.b64_hmac_sha1;
101
104
  exports.b64_sha1 = sha1.b64_sha1;
102
105
  exports.hex_hmac_sha1 = sha1.hex_hmac_sha1;
103
106
  exports.hex_sha1 = sha1.hex_sha1;
107
+ exports.filterTreeByName = filterTreeByName.filterTreeByName;
108
+ exports.findChildrenItem = findChildrenItem.findChildrenItem;
104
109
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -105,7 +105,10 @@ const useAliossHookStore = pinia.defineStore("aliossHook", () => {
105
105
  ContentDisposition: `attachment;filename=${encodeURIComponent(name)}${ext};filename*=${encodeURIComponent(name)}${ext}`,
106
106
  ...options
107
107
  };
108
- const { AccessKeyId, AccessKeySecret, SecurityToken } = await aliossToken.default().getAliossTokenAsync({ config_id: null });
108
+ const bucketName = bucket || "giikin-material";
109
+ const { AccessKeyId, AccessKeySecret, SecurityToken } = await aliossToken.default().getAliossTokenAsync({
110
+ config_id: bucketName
111
+ });
109
112
  const client = new AliOss({
110
113
  // yourRegion填写Bucket所在地域。以华东1(杭州)为例,Region填写为oss-cn-hangzhou。
111
114
  region: "oss-cn-shenzhen",
@@ -116,7 +119,7 @@ const useAliossHookStore = pinia.defineStore("aliossHook", () => {
116
119
  // 刷新临时访问凭证的时间间隔,单位为毫秒。
117
120
  refreshSTSTokenInterval: 3e5,
118
121
  // 填写Bucket名称。
119
- bucket: bucket ?? "giikin-material"
122
+ bucket: bucketName
120
123
  });
121
124
  const upload = options.parallel === 1 ? "put" : "multipartUpload";
122
125
  const { res } = await client[upload](path, file, options);
@@ -1 +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({ config_id: null });\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":";;;;;;;;;;;AAsDa,MAAA,WAAA,GAAc,CAAC,IAAe,KAAA;AACzC,EAAO,OAAA,IAAI,QAAgB,CAAW,OAAA,KAAA;AACpC,IAAM,MAAA,MAAA,GAAS,IAAI,UAAW,EAAA,CAAA;AAC9B,IAAO,MAAA,CAAA,MAAA,GAAS,eAAgB,CAAG,EAAA;AACjC,MAAM,MAAA,MAAA,GAAU,EAAE,MAAe,CAAA,MAAA,CAAA;AACjC,MAAQ,OAAA,CAAAA,SAAA,CAAI,MAAM,CAAC,CAAA,CAAA;AAAA,KACrB,CAAA;AACA,IAAA,MAAA,CAAO,kBAAkB,IAAI,CAAA,CAAA;AAAA,GAC9B,CAAA,CAAA;AACH,EAAA;AAGa,MAAA,mBAAA,GAAsB,CAAC,IAAiB,KAAA;AACnD,EAAA,MAAM,UAAa,GAAA;AAAA,IACjB;AAAA,MACE,GAAK,EAAA,CAAA;AAAA,MACL,QAAU,EAAA,CAAA;AAAA,MACV,UAAY,EAAA,CAAA;AAAA,KACd;AAAA,IACA;AAAA,MACE,GAAK,EAAA,EAAA;AAAA,MACL,QAAU,EAAA,CAAA;AAAA,MACV,UAAY,EAAA,CAAA;AAAA,KACd;AAAA,IACA;AAAA,MACE,GAAK,EAAA,EAAA;AAAA,MACL,QAAU,EAAA,CAAA;AAAA,MACV,UAAY,EAAA,CAAA;AAAA,KACd;AAAA,IACA;AAAA,MACE,GAAK,EAAA,EAAA;AAAA,MACL,QAAU,EAAA,CAAA;AAAA,MACV,UAAY,EAAA,CAAA;AAAA,KACd;AAAA,IACA;AAAA,MACE,KAAK,MAAO,CAAA,iBAAA;AAAA,MACZ,QAAU,EAAA,CAAA;AAAA,MACV,UAAY,EAAA,CAAA;AAAA,KACd;AAAA,GACF,CAAA;AACA,EAAA,MAAM,EAAE,QAAU,EAAA,UAAA,EAAe,GAAA,UAAA,CAAW,KAAK,CAAC,EAAE,GAAI,EAAA,KAAM,QAAQ,GAAG,CAAA,IAAK,UAAW,CAAA,UAAA,CAAW,SAAS,CAAC,CAAA,CAAA;AAE9G,EAAO,OAAA;AAAA,IACL,QAAA;AAAA,IACA,QAAA,EAAU,aAAa,IAAO,GAAA,IAAA;AAAA,GAChC,CAAA;AACF,EAAA;AAGa,MAAA,kBAAA,GAAqBC,iBAAY,CAAA,YAAA,EAAc,MAAM;AAChE,EAAA,MAAM,eAAeC,oBAAgC,EAAA,CAAA;AACrD,EAAA,MAAM,cAAcA,oBAAqB,EAAA,CAAA;AACzC,EAAA,MAAM,iBAAiBA,oBAAsC,EAAA,CAAA;AAC7D,EAAA,MAAM,gBAAgBA,oBAAqB,EAAA,CAAA;AAG3C,EAAA,MAAM,eAAe,OAAO;AAAA,IAC1B,OAAA;AAAA,IACA,GAAA;AAAA,IACA,IAAA;AAAA,IACA,IAAA;AAAA,IACA,GAAA;AAAA,IACA,YAAA;AAAA,GAQI,KAAA;AAEJ,IAAO,OAAA,IAAI,OAAgC,CAAA,OAAM,OAAW,KAAA;AAC1D,MAAM,MAAA,EAAE,MAAS,GAAA,MAAMC,8BAAe,EAAE,OAAA,EAAS,KAAK,CAAA,CAAA;AACtD,MAAA,IAAI,KAAK,IAAS,KAAA,CAAA,IAAK,IAAK,CAAA,IAAA,CAAK,UAAU,CAAG,EAAA;AAC5C,QAAA,OAAO,QAAQ,KAAK,CAAA,CAAA;AAAA,OACtB;AACA,MAAA,MAAM,MAAS,GAAA;AAAA,QACb,IAAA;AAAA,QACA,GAAA;AAAA,QACA,YAAA;AAAA,QACA,IAAA;AAAA,QACA,GAAA,EAAK,KAAK,IAAK,CAAA,GAAA;AAAA,QACf,GAAK,EAAA,OAAA;AAAA,QACL,IAAM,EAAA,GAAA;AAAA,QACN,OAAS,EAAA,IAAA;AAAA,OACX,CAAA;AACA,MAAA,OAAA,CAAQ,MAAM,CAAA,CAAA;AACd,MAAA,YAAA,CAAa,QAAQ,MAAM,CAAA,CAAA;AAAA,KAC5B,CAAA,CAAA;AAAA,GACH,CAAA;AAGA,EAAA,MAAM,UAAa,GAAA,OAAO,EAAE,IAAA,EAAM,QAAU,EAAA,MAAA,EAAQ,IAAM,EAAA,QAAA,EAAU,QAAU,EAAA,OAAA,EAAS,MAAQ,EAAA,GAAA,EAAK,WAA8B,KAAA;AAChI,IAAA,IAAI,EAAE,IAAA,EAAM,GAAK,EAAA,YAAA,EAAc,MAAS,GAAA,IAAA,CAAA;AACxC,IAAA,MAAM,MAAM,IAAK,CAAA,KAAA,CAAM,UAAU,CAAA,GAAI,CAAC,CAAK,IAAA,EAAA,CAAA;AAC3C,IAAA,IAAA,GAAA,CAAQ,YAAY,IAAM,EAAA,KAAA,CAAM,GAAG,IAAK,CAAA,WAAA,CAAY,GAAG,CAAC,CAAA,CAAA;AACxD,IAAM,MAAA,OAAA,GAAU,MAAM,WAAA,CAAY,IAAI,CAAA,CAAA;AACtC,IAAA,MAAM,WAAW,IAAO,GAAA,GAAA,CAAA;AACxB,IAAA,MAAM,IAAO,GAAA,GAAA,CAAI,UAAW,CAAA,GAAA,EAAK,EAAE,CAAA,CAAA;AAEnC,IAAI,IAAA;AACF,MAAA,IAAI,MAAS,GAAA,MAAM,YAAa,CAAA,EAAE,OAAS,EAAA,GAAA,EAAK,IAAM,EAAA,IAAA,EAAM,QAAU,EAAA,IAAA,EAAM,GAAK,EAAA,YAAA,EAAc,CAAA,CAAA;AAC/F,MAAI,IAAA,MAAA;AAAQ,QAAO,OAAA,MAAA,CAAA;AAGnB,MAAM,MAAA,OAAA,GAAU,KAAK,GAAI,EAAA,CAAA;AACzB,MAAA,MAAM,IAAO,GAAA,CAAA,EAAG,MAAU,IAAA,UAAU,CAAI,CAAA,EAAA,IAAA,IAAQ,SAAS,CAAA,MAAA,EAAS,OAAO,CAAA,CAAA,EAAI,OAAO,CAAA,EAAG,GAAG,CAAA,CAAA,CAAA;AAE1F,MAAM,MAAA,CAAA,GAAI,oBAAoB,IAAI,CAAA,CAAA;AAClC,MAAU,OAAA,GAAA;AAAA,QACR,GAAG,CAAA;AAAA,QACH,GAAG,EAAE,QAAA,EAAU,QAAS,EAAA;AAAA,QACxB,kBAAoB,EAAA,CAAA,oBAAA,EAAuB,kBAAmB,CAAA,IAAI,CAAC,CAAA,EAAG,GAAG,CAAA,WAAA,EAAc,kBAAmB,CAAA,IAAI,CAAC,CAAA,EAAG,GAAG,CAAA,CAAA;AAAA,QACrH,GAAG,OAAA;AAAA,OACL,CAAA;AAGA,MAAA,MAAM,EAAE,WAAA,EAAa,eAAiB,EAAA,aAAA,EAAkB,GAAA,MAAMC,mBAAoB,EAAA,CAAE,mBAAoB,CAAA,EAAE,SAAW,EAAA,IAAA,EAAM,CAAA,CAAA;AAE3H,MAAM,MAAA,MAAA,GAAS,IAAI,MAAO,CAAA;AAAA;AAAA,QAExB,MAAQ,EAAA,iBAAA;AAAA;AAAA,QAER,WAAa,EAAA,WAAA;AAAA,QACb,eAAiB,EAAA,eAAA;AAAA,QACjB,QAAU,EAAA,aAAA;AAAA;AAAA,QAEV,uBAAyB,EAAA,GAAA;AAAA;AAAA,QAEzB,QAAQ,MAAU,IAAA,iBAAA;AAAA,OACnB,CAAA,CAAA;AAED,MAAA,MAAM,MAAS,GAAA,OAAA,CAAQ,QAAa,KAAA,CAAA,GAAI,KAAQ,GAAA,iBAAA,CAAA;AAChD,MAAM,MAAA,EAAE,KAAQ,GAAA,MAAM,OAAO,MAAM,CAAA,CAAE,IAAM,EAAA,IAAA,EAAM,OAAO,CAAA,CAAA;AACxD,MAAI,IAAA,GAAA,CAAI,WAAW,GAAK,EAAA;AACtB,QAAA,WAAA,CAAY,QAAQ,GAAG,CAAA,CAAA;AACvB,QAAO,OAAA,GAAA,CAAA;AAAA,OACT;AACA,MAAA,GAAA,GAAM,GAAO,IAAA,0BAAA,CAAA;AACb,MAAA,MAAM,YAAY,GAAM,GAAA,IAAA,CAAA;AACxB,MAAS,MAAA,GAAA;AAAA,QACP,GAAK,EAAA,SAAA;AAAA,QACL,MAAM,IAAO,GAAA,GAAA;AAAA,QACb,GAAK,EAAA,OAAA;AAAA,QACL,IAAM,EAAA,GAAA,CAAI,UAAW,CAAA,GAAA,EAAK,EAAE,CAAA;AAAA,QAC5B,GAAA;AAAA,QACA,YAAA;AAAA,QACA,IAAA;AAAA,QACA,OAAS,EAAA,KAAA;AAAA,OACX,CAAA;AACA,MAAA,IAAI,SAAW,EAAA;AACb,QAAA,YAAA,CAAa,EAAE,GAAK,EAAA,SAAA,EAAW,UAAU,OAAS,EAAA,SAAA,EAAW,MAAM,CAAA,CAAA;AAAA,OACrE;AACA,MAAA,YAAA,CAAa,QAAQ,MAAM,CAAA,CAAA;AAC3B,MAAO,OAAA,MAAA,CAAA;AAAA,aACA,KAAO,EAAA;AACd,MAAA,WAAA,CAAY,QAAQ,KAAK,CAAA,CAAA;AACzB,MAAO,OAAA,KAAA,CAAA;AAAA,KACT;AAAA,GACF,CAAA;AAGA,EAAA,MAAM,eAAe,OAAO,EAAE,GAAK,EAAA,QAAA,EAAU,WAA2C,KAAA;AACtF,IAAI,IAAA;AACF,MAAA,MAAM,EAAE,IAAA,EAAS,GAAA,MAAMC,2CAAsB,CAAA,EAAE,QAAU,EAAA,EAAE,GAAK,EAAA,QAAA,EAAU,SAAU,EAAA,EAAG,CAAA,CAAA;AACvF,MAAI,IAAA,IAAA,EAAM,SAAS,CAAG,EAAA;AACpB,QAAA,aAAA,CAAc,QAAQ,IAAI,CAAA,CAAA;AAC1B,QAAO,OAAA,IAAA,CAAA;AAAA,OACT;AACA,MAAA,MAAM,MAAS,GAAA;AAAA,QACb,GAAA;AAAA,QACA,QAAA;AAAA,QACA,SAAA;AAAA,OACF,CAAA;AACA,MAAA,cAAA,CAAe,QAAQ,MAAM,CAAA,CAAA;AAC7B,MAAO,OAAA,MAAA,CAAA;AAAA,aACA,KAAO,EAAA;AACd,MAAA,aAAA,CAAc,QAAQ,KAAK,CAAA,CAAA;AAC3B,MAAO,OAAA,KAAA,CAAA;AAAA,KACT;AAAA,GACF,CAAA;AACA,EAAO,OAAA;AAAA,IACL,cAAc,YAAa,CAAA,EAAA;AAAA,IAC3B,aAAa,WAAY,CAAA,EAAA;AAAA,IACzB,gBAAgB,cAAe,CAAA,EAAA;AAAA,IAC/B,eAAe,aAAc,CAAA,EAAA;AAAA,IAC7B,UAAA;AAAA,IACA,YAAA;AAAA,GACF,CAAA;AACF,CAAC;;;;;;"}
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 // 使用组件 props 的默认值\r\n const bucketName = bucket || 'giikin-material';\r\n const { AccessKeyId, AccessKeySecret, SecurityToken } = await useAliossTokenStore().getAliossTokenAsync({\r\n config_id: bucketName,\r\n });\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: bucketName,\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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"}
@@ -6,18 +6,18 @@ import { type GetOssAccessTokenResponseData } from '../../../api/materialApi';
6
6
  **/
7
7
  declare const useAliossTokenStore: import("pinia").StoreDefinition<"aliossToken", import("pinia")._UnwrapAll<Pick<{
8
8
  isLoading: import("vue").Ref<boolean>;
9
- getAliossTokenAsync: (params: {
10
- config_id: string | null;
9
+ getAliossTokenAsync: (params?: {
10
+ config_id?: string;
11
11
  }) => Promise<GetOssAccessTokenResponseData>;
12
12
  }, "isLoading">>, Pick<{
13
13
  isLoading: import("vue").Ref<boolean>;
14
- getAliossTokenAsync: (params: {
15
- config_id: string | null;
14
+ getAliossTokenAsync: (params?: {
15
+ config_id?: string;
16
16
  }) => Promise<GetOssAccessTokenResponseData>;
17
17
  }, never>, Pick<{
18
18
  isLoading: import("vue").Ref<boolean>;
19
- getAliossTokenAsync: (params: {
20
- config_id: string | null;
19
+ getAliossTokenAsync: (params?: {
20
+ config_id?: string;
21
21
  }) => Promise<GetOssAccessTokenResponseData>;
22
22
  }, "getAliossTokenAsync">>;
23
23
  export default useAliossTokenStore;
@@ -26,7 +26,7 @@ const useAliossTokenStore = pinia.defineStore("aliossToken", () => {
26
26
  }
27
27
  isLoading.value = true;
28
28
  try {
29
- const { data } = await getOssAccessToken.getOssAccessToken(params);
29
+ const { data } = await getOssAccessToken.getOssAccessToken({ config_id: params?.config_id || "giikin-material" });
30
30
  if (data.code === 0) {
31
31
  setCookie(data.data);
32
32
  aliossTokenResult.trigger(data.data);
@@ -1 +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 (params: { config_id: string | null }) => {\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(params);\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 = (params: { config_id: string | null }) => {\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(params));\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,EAAM,MAAA,cAAA,GAAiB,OAAO,MAAyC,KAAA;AACrE,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,oCAAkB,MAAM,CAAA,CAAA;AAC/C,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,EAAM,MAAA,mBAAA,GAAsB,CAAC,MAAyC,KAAA;AAEpE,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,QAAQ,OAAA,CAAA,cAAA,CAAe,MAAM,CAAC,CAAA,CAAA;AAAA,OAChC;AAAA,KACD,CAAA,CAAA;AAAA,GACH,CAAA;AAEA,EAAO,OAAA;AAAA,IACL,SAAA;AAAA,IACA,mBAAA;AAAA,GACF,CAAA;AACF,CAAC;;;;"}
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 (params?: { config_id?: string }) => {\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({ config_id: params?.config_id || 'giikin-material' });\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 = (params?: { config_id?: string }) => {\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(params));\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,EAAM,MAAA,cAAA,GAAiB,OAAO,MAAoC,KAAA;AAChE,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,MAAM,MAAA,EAAE,IAAK,EAAA,GAAI,MAAMC,mCAAA,CAAkB,EAAE,SAAW,EAAA,MAAA,EAAQ,SAAa,IAAA,iBAAA,EAAmB,CAAA,CAAA;AAC9F,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,EAAM,MAAA,mBAAA,GAAsB,CAAC,MAAoC,KAAA;AAE/D,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,QAAQ,OAAA,CAAA,cAAA,CAAe,MAAM,CAAC,CAAA,CAAA;AAAA,OAChC;AAAA,KACD,CAAA,CAAA;AAAA,GACH,CAAA;AAEA,EAAO,OAAA;AAAA,IACL,SAAA;AAAA,IACA,mBAAA;AAAA,GACF,CAAA;AACF,CAAC;;;;"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ *
3
+ * @example const number = 1234567890;
4
+ console.log(formatNumberWithCommas(number)); // 输出: "1,234,567,890"
5
+ * @returns
6
+ */
7
+ export declare function formatNumberWithCommas(number?: number | string): string | number | undefined;
@@ -0,0 +1,13 @@
1
+ 'use strict';
2
+
3
+ var is = require('./is.js');
4
+
5
+ function formatNumberWithCommas(number) {
6
+ if (is.isNil(number) || Number.isNaN(Number(number))) {
7
+ return number;
8
+ }
9
+ return number.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
10
+ }
11
+
12
+ exports.formatNumberWithCommas = formatNumberWithCommas;
13
+ //# sourceMappingURL=number.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"number.js","sources":["../../../../../packages/utils/src/number.ts"],"sourcesContent":["import { isNil } from './is';\n\n/**\n *\n * @example const number = 1234567890;\n console.log(formatNumberWithCommas(number)); // 输出: \"1,234,567,890\"\n * @returns\n */\nexport function formatNumberWithCommas(number?: number | string) {\n if (isNil(number) || Number.isNaN(Number(number))) {\n return number;\n }\n\n return number.toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, ',');\n}\n"],"names":["isNil"],"mappings":";;;;AAQO,SAAS,uBAAuB,MAA0B,EAAA;AAC/D,EAAI,IAAAA,QAAA,CAAM,MAAM,CAAK,IAAA,MAAA,CAAO,MAAM,MAAO,CAAA,MAAM,CAAC,CAAG,EAAA;AACjD,IAAO,OAAA,MAAA,CAAA;AAAA,GACT;AAEA,EAAA,OAAO,MAAO,CAAA,QAAA,EAAW,CAAA,OAAA,CAAQ,yBAAyB,GAAG,CAAA,CAAA;AAC/D;;;;"}
@@ -0,0 +1,14 @@
1
+ export interface FilterTreeByNameNode {
2
+ /** 分类名称 */
3
+ name?: string;
4
+ /** 子分类列表 */
5
+ children?: FilterTreeByNameNode[];
6
+ [key: string]: any;
7
+ }
8
+ /**
9
+ * 过滤树
10
+ */
11
+ export declare function filterTreeByName<T extends FilterTreeByNameNode>(nodes: T[], searchName: string, options?: {
12
+ nameKey: string;
13
+ childrenKey: string;
14
+ }): T[];
@@ -0,0 +1,20 @@
1
+ 'use strict';
2
+
3
+ function filterTreeByName(nodes, searchName, options = { nameKey: "name", childrenKey: "children" }) {
4
+ const { nameKey, childrenKey } = options;
5
+ return nodes.map((node) => {
6
+ const matches = node[nameKey].includes(searchName);
7
+ const filteredChildren = node[childrenKey] ? filterTreeByName(node[childrenKey], searchName) : [];
8
+ if (matches || filteredChildren.length > 0) {
9
+ return {
10
+ ...node,
11
+ [childrenKey]: filteredChildren
12
+ };
13
+ } else {
14
+ return null;
15
+ }
16
+ }).filter((node) => node !== null);
17
+ }
18
+
19
+ exports.filterTreeByName = filterTreeByName;
20
+ //# sourceMappingURL=filterTreeByName.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filterTreeByName.js","sources":["../../../../../../packages/utils/src/tree/filterTreeByName.ts"],"sourcesContent":["export interface FilterTreeByNameNode {\n /** 分类名称 */\n name?: string;\n /** 子分类列表 */\n children?: FilterTreeByNameNode[];\n [key: string]: any;\n}\n\n/**\n * 过滤树\n */\nexport function filterTreeByName<T extends FilterTreeByNameNode>(\n nodes: T[],\n searchName: string,\n options = { nameKey: 'name', childrenKey: 'children' },\n): T[] {\n const { nameKey, childrenKey } = options;\n\n return nodes\n .map(node => {\n // Check if the current node matches the search name\n const matches = node[nameKey].includes(searchName);\n\n // Recursively filter the children\n const filteredChildren = node[childrenKey] ? filterTreeByName(node[childrenKey], searchName) : [];\n\n // If the node matches or has matching children, include it in the results\n if (matches || filteredChildren.length > 0) {\n return {\n ...node,\n [childrenKey]: filteredChildren,\n };\n } else {\n return null;\n }\n })\n .filter(node => node !== null) as T[];\n}\n"],"names":[],"mappings":";;AAWgB,SAAA,gBAAA,CACd,OACA,UACA,EAAA,OAAA,GAAU,EAAE,OAAS,EAAA,MAAA,EAAQ,WAAa,EAAA,UAAA,EACrC,EAAA;AACL,EAAM,MAAA,EAAE,OAAS,EAAA,WAAA,EAAgB,GAAA,OAAA,CAAA;AAEjC,EAAO,OAAA,KAAA,CACJ,IAAI,CAAQ,IAAA,KAAA;AAEX,IAAA,MAAM,OAAU,GAAA,IAAA,CAAK,OAAO,CAAA,CAAE,SAAS,UAAU,CAAA,CAAA;AAGjD,IAAM,MAAA,gBAAA,GAAmB,IAAK,CAAA,WAAW,CAAI,GAAA,gBAAA,CAAiB,KAAK,WAAW,CAAA,EAAG,UAAU,CAAA,GAAI,EAAC,CAAA;AAGhG,IAAI,IAAA,OAAA,IAAW,gBAAiB,CAAA,MAAA,GAAS,CAAG,EAAA;AAC1C,MAAO,OAAA;AAAA,QACL,GAAG,IAAA;AAAA,QACH,CAAC,WAAW,GAAG,gBAAA;AAAA,OACjB,CAAA;AAAA,KACK,MAAA;AACL,MAAO,OAAA,IAAA,CAAA;AAAA,KACT;AAAA,GACD,CAAA,CACA,MAAO,CAAA,CAAA,IAAA,KAAQ,SAAS,IAAI,CAAA,CAAA;AACjC;;;;"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * 获取子节点
3
+ */
4
+ export declare function findChildrenItem<T = any>(nodes: T[], targetValue: any, options?: {
5
+ valueKey: string;
6
+ childrenKey: string;
7
+ }): T | undefined;
@@ -0,0 +1,22 @@
1
+ 'use strict';
2
+
3
+ function findChildrenItem(nodes, targetValue, options = { valueKey: "value", childrenKey: "children" }) {
4
+ const valueField = options?.valueKey;
5
+ const childrenField = options?.childrenKey;
6
+ for (const nodeItem of nodes) {
7
+ const currentNode = nodeItem;
8
+ if (currentNode[valueField] === targetValue) {
9
+ return nodeItem;
10
+ }
11
+ if (currentNode[childrenField]) {
12
+ const found = findChildrenItem(currentNode[childrenField], targetValue);
13
+ if (found) {
14
+ return found;
15
+ }
16
+ }
17
+ }
18
+ return void 0;
19
+ }
20
+
21
+ exports.findChildrenItem = findChildrenItem;
22
+ //# sourceMappingURL=findChildrenItem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"findChildrenItem.js","sources":["../../../../../../packages/utils/src/tree/findChildrenItem.ts"],"sourcesContent":["/**\n * 获取子节点\n */\nexport function findChildrenItem<T = any>(nodes: T[], targetValue: any, options = { valueKey: 'value', childrenKey: 'children' }): T | undefined {\n const valueField = options?.valueKey;\n const childrenField = options?.childrenKey;\n\n for (const nodeItem of nodes) {\n // 将 option 强制转换为 Record<string, any>,表示它是一个具有字符串键的对象\n const currentNode = nodeItem as Record<string, any>;\n\n if (currentNode[valueField] === targetValue) {\n return nodeItem;\n }\n if (currentNode[childrenField]) {\n const found = findChildrenItem<T>(currentNode[childrenField], targetValue);\n\n if (found) {\n return found;\n }\n }\n }\n\n return undefined;\n}\n"],"names":[],"mappings":";;AAGgB,SAAA,gBAAA,CAA0B,OAAY,WAAkB,EAAA,OAAA,GAAU,EAAE,QAAU,EAAA,OAAA,EAAS,WAAa,EAAA,UAAA,EAA6B,EAAA;AAC/I,EAAA,MAAM,aAAa,OAAS,EAAA,QAAA,CAAA;AAC5B,EAAA,MAAM,gBAAgB,OAAS,EAAA,WAAA,CAAA;AAE/B,EAAA,KAAA,MAAW,YAAY,KAAO,EAAA;AAE5B,IAAA,MAAM,WAAc,GAAA,QAAA,CAAA;AAEpB,IAAI,IAAA,WAAA,CAAY,UAAU,CAAA,KAAM,WAAa,EAAA;AAC3C,MAAO,OAAA,QAAA,CAAA;AAAA,KACT;AACA,IAAI,IAAA,WAAA,CAAY,aAAa,CAAG,EAAA;AAC9B,MAAA,MAAM,KAAQ,GAAA,gBAAA,CAAoB,WAAY,CAAA,aAAa,GAAG,WAAW,CAAA,CAAA;AAEzE,MAAA,IAAI,KAAO,EAAA;AACT,QAAO,OAAA,KAAA,CAAA;AAAA,OACT;AAAA,KACF;AAAA,GACF;AAEA,EAAO,OAAA,KAAA,CAAA,CAAA;AACT;;;;"}
@@ -0,0 +1,2 @@
1
+ export * from './filterTreeByName';
2
+ export * from './findChildrenItem';
@@ -0,0 +1,10 @@
1
+ 'use strict';
2
+
3
+ var filterTreeByName = require('./filterTreeByName.js');
4
+ var findChildrenItem = require('./findChildrenItem.js');
5
+
6
+
7
+
8
+ exports.filterTreeByName = filterTreeByName.filterTreeByName;
9
+ exports.findChildrenItem = findChildrenItem.findChildrenItem;
10
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "giime",
3
- "version": "0.6.0-dev.9",
3
+ "version": "0.6.2",
4
4
  "description": "A Component Library for Vue 3",
5
5
  "keywords": [
6
6
  "giime",
@@ -1,14 +0,0 @@
1
- import { type AxiosRequestConfig } from 'axios';
2
- export interface GetAliOssConfigIdsResponse {
3
- code: number;
4
- data: GetAliOssConfigIdsResponseData;
5
- comment: string;
6
- }
7
- export interface GetAliOssConfigIdsResponseData {
8
- config_ids: string[];
9
- }
10
- /**
11
- * 获取阿里OSS配置ID
12
- * /material/cross/aliOssConfigIds
13
- */
14
- export declare function getAliOssConfigIds(config?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<GetAliOssConfigIdsResponse, any>>;
@@ -1,8 +0,0 @@
1
- import service from '../request.mjs';
2
-
3
- function getAliOssConfigIds(config) {
4
- return service.get(`/material/cross/aliOssConfigIds`, config);
5
- }
6
-
7
- export { getAliOssConfigIds };
8
- //# sourceMappingURL=getAliOssConfigIds.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getAliOssConfigIds.mjs","sources":["../../../../../../packages/api/materialApi/cross/getAliOssConfigIds.ts"],"sourcesContent":["import { type AxiosRequestConfig } from 'axios';\r\nimport request from '../request';\r\n\r\nexport interface GetAliOssConfigIdsResponse {\r\n code: number;\r\n data: GetAliOssConfigIdsResponseData;\r\n comment: string;\r\n}\r\n\r\nexport interface GetAliOssConfigIdsResponseData {\r\n config_ids: string[];\r\n}\r\n\r\n/**\r\n * 获取阿里OSS配置ID\r\n * /material/cross/aliOssConfigIds\r\n */\r\nexport function getAliOssConfigIds(config?: AxiosRequestConfig) {\r\n return request.get<GetAliOssConfigIdsResponse>(`/material/cross/aliOssConfigIds`, config);\r\n}\r\n"],"names":["request"],"mappings":";;AAiBO,SAAS,mBAAmB,MAA6B,EAAA;AAC9D,EAAO,OAAAA,OAAA,CAAQ,GAAgC,CAAA,CAAA,+BAAA,CAAA,EAAmC,MAAM,CAAA,CAAA;AAC1F;;;;"}
@@ -1,4 +0,0 @@
1
- var EXCEL = "<svg id=\"mx_n_1735784043679\" t=\"1735784043678\" class=\"icon\" viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" p-id=\"23849\" width=\"200\" height=\"200\"><path d=\"M968.704 135.168h-430.08v752.64h430.08c15.36 0 26.624-12.288 26.624-26.624V162.816c0-15.36-11.264-27.648-26.624-27.648z\" fill=\"#BBBBBB\" p-id=\"23850\" /><path d=\"M727.04 270.336h188.416v80.896h-188.416V270.336z m0 268.288h188.416v80.896h-188.416V538.624z m0 134.144h188.416v80.896h-188.416v-80.896z m0-268.288h188.416v80.896h-188.416v-80.896z m-188.416-134.144h134.144v80.896H538.624V270.336z m0 268.288h134.144v80.896H538.624V538.624z m0 134.144h134.144v80.896H538.624v-80.896z m0-268.288h134.144v80.896H538.624v-80.896z\" fill=\"#FFFFFF\" p-id=\"23851\" /><path d=\"M592.896 996.352L28.672 888.832V135.168l564.224-107.52v968.704z\" fill=\"#6D6D6D\" p-id=\"23852\" /><path d=\"M379.904 696.32l-63.488-119.808c-2.048-4.096-5.12-12.288-7.168-24.576H307.2c-1.024 6.144-4.096 14.336-8.192 25.6L235.52 696.32H136.192l117.76-184.32-107.52-184.32h101.376l53.248 110.592c4.096 9.216 8.192 19.456 11.264 30.72h1.024c2.048-7.168 6.144-17.408 11.264-31.744l57.344-109.568h92.16l-109.568 182.272 113.664 186.368h-98.304z\" fill=\"#FFFFFF\" p-id=\"23853\" /></svg>";
2
-
3
- export { EXCEL as default };
4
- //# sourceMappingURL=excel.svg.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"excel.svg.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}