giime 0.5.7 → 0.5.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.css +44 -41
- package/es/api/materialApi/cross/getAliOssConfigIds.d.ts +14 -0
- package/es/api/materialApi/cross/getAliOssConfigIds.mjs +8 -0
- package/es/api/materialApi/cross/getAliOssConfigIds.mjs.map +1 -0
- package/es/api/materialApi/cross/getOssAccessToken.d.ts +4 -1
- package/es/api/materialApi/cross/getOssAccessToken.mjs +2 -2
- package/es/api/materialApi/cross/getOssAccessToken.mjs.map +1 -1
- package/es/api/materialApi/cross/index.d.ts +1 -0
- package/es/api/materialApi/cross/index.mjs +1 -0
- package/es/api/materialApi/cross/index.mjs.map +1 -1
- package/es/api/materialApi/index.mjs +1 -0
- package/es/api/materialApi/index.mjs.map +1 -1
- package/es/components/src/business/uploadMaterial/UploadMaterial.vue.d.ts +8 -2
- package/es/components/src/business/uploadMaterial/index.d.ts +8 -2
- package/es/components/src/business/uploadMaterial/uploadMaterial.d.ts +4 -1
- package/es/components/src/composite/uploadFile/UploadFile.vue.d.ts +9 -2
- package/es/components/src/composite/uploadFile/UploadFile.vue.mjs +1 -1
- package/es/components/src/composite/uploadFile/UploadFile.vue2.mjs +1 -1
- package/es/components/src/composite/uploadFile/UploadFile.vue2.mjs.map +1 -1
- package/es/components/src/composite/uploadFile/index.d.ts +16 -4
- package/es/components/src/composite/uploadFile/uploadFile.d.ts +5 -3
- package/es/components/src/composite/uploadFile/uploadFile.mjs +4 -0
- package/es/components/src/composite/uploadFile/uploadFile.mjs.map +1 -1
- package/es/giime/component.mjs +4 -0
- package/es/giime/component.mjs.map +1 -1
- package/es/giime/index.mjs +1 -0
- package/es/giime/index.mjs.map +1 -1
- package/es/giime/version.d.ts +1 -1
- package/es/giime/version.mjs +1 -1
- package/es/giime/version.mjs.map +1 -1
- package/es/hooks/index.mjs +1 -0
- package/es/hooks/index.mjs.map +1 -1
- package/es/hooks/store/index.d.ts +1 -0
- package/es/hooks/store/index.mjs +1 -0
- package/es/hooks/store/index.mjs.map +1 -1
- package/es/hooks/store/useAliOssConfigIds/index.d.ts +20 -0
- package/es/hooks/store/useAliOssConfigIds/index.mjs +31 -0
- package/es/hooks/store/useAliOssConfigIds/index.mjs.map +1 -0
- package/es/index.css +44 -41
- package/es/utils/src/alioss/aliossToken.mjs +2 -2
- package/es/utils/src/alioss/aliossToken.mjs.map +1 -1
- package/es/utils/src/http/createAxios.mjs.map +1 -1
- package/global.d.ts +2 -0
- package/lib/api/materialApi/cross/getAliOssConfigIds.d.ts +14 -0
- package/lib/api/materialApi/cross/getAliOssConfigIds.js +10 -0
- package/lib/api/materialApi/cross/getAliOssConfigIds.js.map +1 -0
- package/lib/api/materialApi/cross/getOssAccessToken.d.ts +4 -1
- package/lib/api/materialApi/cross/getOssAccessToken.js +2 -2
- package/lib/api/materialApi/cross/getOssAccessToken.js.map +1 -1
- package/lib/api/materialApi/cross/index.d.ts +1 -0
- package/lib/api/materialApi/cross/index.js +2 -0
- package/lib/api/materialApi/cross/index.js.map +1 -1
- package/lib/api/materialApi/index.js +2 -0
- package/lib/api/materialApi/index.js.map +1 -1
- package/lib/components/src/business/uploadMaterial/UploadMaterial.vue.d.ts +8 -2
- package/lib/components/src/business/uploadMaterial/index.d.ts +8 -2
- package/lib/components/src/business/uploadMaterial/uploadMaterial.d.ts +4 -1
- package/lib/components/src/composite/uploadFile/UploadFile.vue.d.ts +9 -2
- package/lib/components/src/composite/uploadFile/UploadFile.vue.js +1 -1
- package/lib/components/src/composite/uploadFile/UploadFile.vue2.js +1 -1
- package/lib/components/src/composite/uploadFile/UploadFile.vue2.js.map +1 -1
- package/lib/components/src/composite/uploadFile/index.d.ts +16 -4
- package/lib/components/src/composite/uploadFile/uploadFile.d.ts +5 -3
- package/lib/components/src/composite/uploadFile/uploadFile.js +4 -0
- package/lib/components/src/composite/uploadFile/uploadFile.js.map +1 -1
- package/lib/giime/component.js +24 -20
- package/lib/giime/component.js.map +1 -1
- package/lib/giime/index.js +2 -0
- package/lib/giime/index.js.map +1 -1
- package/lib/giime/version.d.ts +1 -1
- package/lib/giime/version.js +1 -1
- package/lib/giime/version.js.map +1 -1
- package/lib/hooks/index.js +2 -0
- package/lib/hooks/index.js.map +1 -1
- package/lib/hooks/store/index.d.ts +1 -0
- package/lib/hooks/store/index.js +2 -0
- package/lib/hooks/store/index.js.map +1 -1
- package/lib/hooks/store/useAliOssConfigIds/index.d.ts +20 -0
- package/lib/hooks/store/useAliOssConfigIds/index.js +33 -0
- package/lib/hooks/store/useAliOssConfigIds/index.js.map +1 -0
- package/lib/index.css +44 -41
- package/lib/utils/src/alioss/aliossToken.js +2 -2
- package/lib/utils/src/alioss/aliossToken.js.map +1 -1
- package/lib/utils/src/http/createAxios.js.map +1 -1
- package/package.json +1 -1
- package/es/hooks/store/useAliossStsToken/index.d.ts +0 -16
- package/es/hooks/store/useAliossStsToken/index.mjs +0 -53
- package/es/hooks/store/useAliossStsToken/index.mjs.map +0 -1
- package/lib/hooks/store/useAliossStsToken/index.d.ts +0 -16
- package/lib/hooks/store/useAliossStsToken/index.js +0 -55
- package/lib/hooks/store/useAliossStsToken/index.js.map +0 -1
package/lib/index.css
CHANGED
|
@@ -806,6 +806,36 @@ video {
|
|
|
806
806
|
margin: 0;
|
|
807
807
|
}
|
|
808
808
|
|
|
809
|
+
.gm-flex-center[data-v-2a79bac9] {
|
|
810
|
+
align-items: center;
|
|
811
|
+
}
|
|
812
|
+
|
|
813
|
+
.gm-flex-justify-between[data-v-2a79bac9] {
|
|
814
|
+
justify-content: space-between;
|
|
815
|
+
}
|
|
816
|
+
[data-v-668dc408] .gmTableNoBorder .el-table__body .el-table__cell {
|
|
817
|
+
border-right: none;
|
|
818
|
+
}
|
|
819
|
+
|
|
820
|
+
[data-v-668dc408] .gmTableNoBorder .el-table__inner-wrapper:before {
|
|
821
|
+
height: 0;
|
|
822
|
+
}
|
|
823
|
+
|
|
824
|
+
[data-v-668dc408] .gmTableNoBorder.el-table--border .el-table__inner-wrapper:after {
|
|
825
|
+
height: 0;
|
|
826
|
+
}
|
|
827
|
+
|
|
828
|
+
[data-v-668dc408] .gmTableNoBorder.el-table--border:after {
|
|
829
|
+
height: 0;
|
|
830
|
+
}
|
|
831
|
+
|
|
832
|
+
[data-v-668dc408] .gmTableNoBorder.el-table--border:before {
|
|
833
|
+
height: 0;
|
|
834
|
+
}
|
|
835
|
+
|
|
836
|
+
[data-v-668dc408] .gmTableNoBorder .el-table__border-left-patch {
|
|
837
|
+
height: 0;
|
|
838
|
+
}
|
|
809
839
|
.circular[data-v-b391445c] {
|
|
810
840
|
animation: loading-rotate-b391445c 2s linear infinite;
|
|
811
841
|
}
|
|
@@ -837,28 +867,6 @@ video {
|
|
|
837
867
|
stroke-dashoffset: -120px;
|
|
838
868
|
}
|
|
839
869
|
}
|
|
840
|
-
.gm-flex-center[data-v-2a79bac9] {
|
|
841
|
-
align-items: center;
|
|
842
|
-
}
|
|
843
|
-
|
|
844
|
-
.gm-flex-justify-between[data-v-2a79bac9] {
|
|
845
|
-
justify-content: space-between;
|
|
846
|
-
}
|
|
847
|
-
[data-v-7b6755e2] .gmSearchForm .el-form-item {
|
|
848
|
-
margin-right: 0;
|
|
849
|
-
margin-bottom: 4px;
|
|
850
|
-
}
|
|
851
|
-
.gm-upload-preview-dialog[data-v-bb2dfbf0] [data-v-bb2dfbf0] .el-dialog__body {
|
|
852
|
-
padding: 0;
|
|
853
|
-
}
|
|
854
|
-
|
|
855
|
-
.gm-upload-file-picture-card[data-v-bb2dfbf0] [data-v-bb2dfbf0] .el-upload-list__item, .gm-upload-file-picture-card[data-v-bb2dfbf0] [data-v-bb2dfbf0] .el-upload--picture-card {
|
|
856
|
-
width: 120px;
|
|
857
|
-
height: 120px;
|
|
858
|
-
display: flex;
|
|
859
|
-
align-items: center;
|
|
860
|
-
justify-content: center;
|
|
861
|
-
}
|
|
862
870
|
.gm-number-interval-single[data-v-47a13fd0] {
|
|
863
871
|
border-radius: var(--el-input-border-radius, var(--el-border-radius-base));
|
|
864
872
|
box-shadow: 0 0 0 1px var(--el-input-border-color, var(--el-border-color)) inset;
|
|
@@ -877,28 +885,20 @@ video {
|
|
|
877
885
|
.gm-number-interval-single[data-v-47a13fd0]:hover .gm-number-interval-close[data-v-47a13fd0] {
|
|
878
886
|
display: flex;
|
|
879
887
|
}
|
|
880
|
-
[data-v-
|
|
881
|
-
|
|
882
|
-
|
|
883
|
-
|
|
884
|
-
[data-v-668dc408] .gmTableNoBorder .el-table__inner-wrapper:before {
|
|
885
|
-
height: 0;
|
|
886
|
-
}
|
|
887
|
-
|
|
888
|
-
[data-v-668dc408] .gmTableNoBorder.el-table--border .el-table__inner-wrapper:after {
|
|
889
|
-
height: 0;
|
|
890
|
-
}
|
|
891
|
-
|
|
892
|
-
[data-v-668dc408] .gmTableNoBorder.el-table--border:after {
|
|
893
|
-
height: 0;
|
|
888
|
+
[data-v-7b6755e2] .gmSearchForm .el-form-item {
|
|
889
|
+
margin-right: 0;
|
|
890
|
+
margin-bottom: 4px;
|
|
894
891
|
}
|
|
895
|
-
|
|
896
|
-
|
|
897
|
-
height: 0;
|
|
892
|
+
.gm-upload-preview-dialog[data-v-8df387a2] [data-v-8df387a2] .el-dialog__body {
|
|
893
|
+
padding: 0;
|
|
898
894
|
}
|
|
899
895
|
|
|
900
|
-
[data-v-
|
|
901
|
-
|
|
896
|
+
.gm-upload-file-picture-card[data-v-8df387a2] [data-v-8df387a2] .el-upload-list__item, .gm-upload-file-picture-card[data-v-8df387a2] [data-v-8df387a2] .el-upload--picture-card {
|
|
897
|
+
width: 120px;
|
|
898
|
+
height: 120px;
|
|
899
|
+
display: flex;
|
|
900
|
+
align-items: center;
|
|
901
|
+
justify-content: center;
|
|
902
902
|
}
|
|
903
903
|
.gm-upload-file {
|
|
904
904
|
line-height: normal;
|
|
@@ -913,6 +913,9 @@ video {
|
|
|
913
913
|
line-height: normal;
|
|
914
914
|
}
|
|
915
915
|
|
|
916
|
+
.gm-upload-file-disabled .is-disabled {
|
|
917
|
+
display: none;
|
|
918
|
+
}
|
|
916
919
|
.gm-upload-file-disabled .el-upload-list__item-status-label {
|
|
917
920
|
display: none;
|
|
918
921
|
}
|
|
@@ -19,14 +19,14 @@ const useAliossTokenStore = pinia.defineStore("aliossToken", () => {
|
|
|
19
19
|
const time = new Date(new Date(Expiration ?? 0).getTime() - 1e4);
|
|
20
20
|
Cookies.set("aliossStsToken", JSON.stringify(data), { expires: time });
|
|
21
21
|
};
|
|
22
|
-
const getAliossToken = async () => {
|
|
22
|
+
const getAliossToken = async (config_id = "default") => {
|
|
23
23
|
const aliossStsToken = Cookies.get("aliossStsToken");
|
|
24
24
|
if (aliossStsToken) {
|
|
25
25
|
return JSON.parse(aliossStsToken);
|
|
26
26
|
}
|
|
27
27
|
isLoading.value = true;
|
|
28
28
|
try {
|
|
29
|
-
const { data } = await getOssAccessToken.getOssAccessToken();
|
|
29
|
+
const { data } = await getOssAccessToken.getOssAccessToken({ config_id });
|
|
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 () => {\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,
|
|
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 (config_id: string = 'default') => {\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 });\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,EAAM,MAAA,cAAA,GAAiB,OAAO,SAAA,GAAoB,SAAc,KAAA;AAC9D,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,IAAK,EAAA,GAAI,MAAMC,mCAAkB,CAAA,EAAE,WAAW,CAAA,CAAA;AACtD,MAAI,IAAA,IAAA,CAAK,SAAS,CAAG,EAAA;AACnB,QAAA,SAAA,CAAU,KAAK,IAAI,CAAA,CAAA;AACnB,QAAkB,iBAAA,CAAA,OAAA,CAAQ,KAAK,IAAI,CAAA,CAAA;AAAA,OACrC;AACA,MAAA,OAAO,IAAK,CAAA,IAAA,CAAA;AAAA,KACZ,SAAA;AACA,MAAA,SAAA,CAAU,KAAQ,GAAA,KAAA,CAAA;AAAA,KACpB;AAAA,GACF,CAAA;AAGA,EAAA,MAAM,sBAAsB,MAAM;AAEhC,IAAO,OAAA,IAAI,QAAuC,CAAW,OAAA,KAAA;AAC3D,MAAA,IAAI,UAAU,KAAO,EAAA;AACnB,QAAA,iBAAA,CAAkB,EAAG,CAAA,CAAA,KAAA,KAAS,OAAQ,CAAA,KAAK,CAAC,CAAA,CAAA;AAAA,OACvC,MAAA;AACL,QAAA,OAAA,CAAQ,gBAAgB,CAAA,CAAA;AAAA,OAC1B;AAAA,KACD,CAAA,CAAA;AAAA,GACH,CAAA;AAEA,EAAO,OAAA;AAAA,IACL,SAAA;AAAA,IACA,mBAAA;AAAA,GACF,CAAA;AACF,CAAC;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createAxios.js","sources":["../../../../../../packages/utils/src/http/createAxios.ts"],"sourcesContent":["import axios from 'axios';\nimport { ElMessage } from 'element-plus';\nimport Cookies from 'js-cookie';\nimport { useLoginStore } from '@giime/hooks/store/useLogin';\nimport { isNumber } from '../is';\nimport { res401Interceptors } from './interceptors';\nimport { responseErrorMessage } from './errorMessage';\nimport type { AxiosError, CreateAxiosDefaults, InternalAxiosRequestConfig } from 'axios';\nexport interface CreateAxiosConfig extends CreateAxiosDefaults {\n baseURL: string;\n /**服务器调用成功的code 一般是 0 或 200 */\n successCode: number;\n // 是否隐藏Authorization\n hideAuthorization?: boolean;\n}\n\nexport const createAxios = (\n config: CreateAxiosConfig,\n options?: {\n requestInterceptors?: (config: InternalAxiosRequestConfig<any>) => any;\n },\n) => {\n const successCode = config.successCode ?? 0;\n const hideAuthorization = config.hideAuthorization ?? false;\n const service = axios.create({\n withCredentials: true, // send cookies when cross-domain requests\n timeout: 120_000,\n headers: {\n 'content-type': 'application/json',\n Accept: '*/*',\n },\n ...config,\n });\n\n // 请求拦截器\n service.interceptors.request.use(\n async config => {\n const logingStore = useLoginStore();\n const _token = Cookies.get('token') ?? logingStore.userToken;\n const _user = Cookies.get('sso_user_id') ?? logingStore.userId;\n if (!config.params) {\n config.params = {};\n }\n if (!hideAuthorization) {\n config.params._token = _token;\n config.params._user = _user;\n config.headers.Authorization = `Bearer ${_token}`;\n }\n\n await options?.requestInterceptors?.(config);\n return config;\n },\n error => {\n console.error('请求错误', error); // for debug\n return Promise.reject(error);\n },\n );\n // 添加响应拦截器\n service.interceptors.response.use(\n async response => {\n // 对响应数据做点什么\n const res = response.data;\n const msg = (res?.comment ?? res?.message ?? res?.errMsg ?? res?.msg) || '接口请求错误';\n if (!isNumber(res?.code)) {\n return response;\n }\n // 成功情况\n else if (res.code === successCode || res.errCode === successCode) {\n return response;\n }\n // 401\n else if (res.code === 401) {\n const res = await res401Interceptors(service, response.config);\n return res;\n }\n ElMessage({\n message: msg,\n type: 'error',\n grouping: true,\n duration: 5 * 1000,\n showClose: true,\n });\n return Promise.reject(response);\n // return response;\n },\n async (err: AxiosError) => {\n console.error(err.config);\n if (err?.response?.status === 401 && !err.message.includes('timeout')) {\n const res = await res401Interceptors(service, err.config!);\n return res;\n } else {\n // 对响应错误做点什么\n responseErrorMessage(err);\n return Promise.reject(err);\n }\n },\n );\n\n return {\n service,\n };\n};\n"],"names":["config","useLoginStore","isNumber","res","res401Interceptors","ElMessage","responseErrorMessage"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"createAxios.js","sources":["../../../../../../packages/utils/src/http/createAxios.ts"],"sourcesContent":["import axios from 'axios';\r\nimport { ElMessage } from 'element-plus';\r\nimport Cookies from 'js-cookie';\r\nimport { useLoginStore } from '@giime/hooks/store/useLogin';\r\nimport { isNumber } from '../is';\r\nimport { res401Interceptors } from './interceptors';\r\nimport { responseErrorMessage } from './errorMessage';\r\nimport type { AxiosError, CreateAxiosDefaults, InternalAxiosRequestConfig } from 'axios';\r\nexport interface CreateAxiosConfig extends CreateAxiosDefaults {\r\n baseURL: string;\r\n /**服务器调用成功的code 一般是 0 或 200 */\r\n successCode: number;\r\n // 是否隐藏Authorization\r\n hideAuthorization?: boolean;\r\n}\r\n\r\nexport const createAxios = (\r\n config: CreateAxiosConfig,\r\n options?: {\r\n requestInterceptors?: (config: InternalAxiosRequestConfig<any>) => any;\r\n },\r\n) => {\r\n const successCode = config.successCode ?? 0;\r\n const hideAuthorization = config.hideAuthorization ?? false;\r\n const service = axios.create({\r\n withCredentials: true, // send cookies when cross-domain requests\r\n timeout: 120_000,\r\n headers: {\r\n 'content-type': 'application/json',\r\n Accept: '*/*',\r\n },\r\n ...config,\r\n });\r\n\r\n // 请求拦截器\r\n service.interceptors.request.use(\r\n async config => {\r\n const logingStore = useLoginStore();\r\n const _token = Cookies.get('token') ?? logingStore.userToken;\r\n const _user = Cookies.get('sso_user_id') ?? logingStore.userId;\r\n if (!config.params) {\r\n config.params = {};\r\n }\r\n if (!hideAuthorization) {\r\n config.params._token = _token;\r\n config.params._user = _user;\r\n config.headers.Authorization = `Bearer ${_token}`;\r\n }\r\n\r\n await options?.requestInterceptors?.(config);\r\n return config;\r\n },\r\n error => {\r\n console.error('请求错误', error); // for debug\r\n return Promise.reject(error);\r\n },\r\n );\r\n // 添加响应拦截器\r\n service.interceptors.response.use(\r\n async response => {\r\n // 对响应数据做点什么\r\n const res = response.data;\r\n const msg = (res?.comment ?? res?.message ?? res?.errMsg ?? res?.msg) || '接口请求错误';\r\n if (!isNumber(res?.code)) {\r\n return response;\r\n }\r\n // 成功情况\r\n else if (res.code === successCode || res.errCode === successCode) {\r\n return response;\r\n }\r\n // 401\r\n else if (res.code === 401) {\r\n const res = await res401Interceptors(service, response.config);\r\n return res;\r\n }\r\n ElMessage({\r\n message: msg,\r\n type: 'error',\r\n grouping: true,\r\n duration: 5 * 1000,\r\n showClose: true,\r\n });\r\n return Promise.reject(response);\r\n // return response;\r\n },\r\n async (err: AxiosError) => {\r\n console.error(err.config);\r\n if (err?.response?.status === 401 && !err.message.includes('timeout')) {\r\n const res = await res401Interceptors(service, err.config!);\r\n return res;\r\n } else {\r\n // 对响应错误做点什么\r\n responseErrorMessage(err);\r\n return Promise.reject(err);\r\n }\r\n },\r\n );\r\n\r\n return {\r\n service,\r\n };\r\n};\r\n"],"names":["config","useLoginStore","isNumber","res","res401Interceptors","ElMessage","responseErrorMessage"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import type { GetOssAccessTokenResponseData } from '../../../api/materialApi';
|
|
2
|
-
/**
|
|
3
|
-
* @description 素材上传权限
|
|
4
|
-
* @param {*}
|
|
5
|
-
* @return {*}
|
|
6
|
-
**/
|
|
7
|
-
export declare const useAliossStsTokenStore: import("pinia").StoreDefinition<"gmAliossStsToken", import("pinia")._UnwrapAll<Pick<{
|
|
8
|
-
isLoading: import("vue").Ref<boolean>;
|
|
9
|
-
getAliossStsTokenAsync: () => Promise<GetOssAccessTokenResponseData>;
|
|
10
|
-
}, "isLoading">>, Pick<{
|
|
11
|
-
isLoading: import("vue").Ref<boolean>;
|
|
12
|
-
getAliossStsTokenAsync: () => Promise<GetOssAccessTokenResponseData>;
|
|
13
|
-
}, never>, Pick<{
|
|
14
|
-
isLoading: import("vue").Ref<boolean>;
|
|
15
|
-
getAliossStsTokenAsync: () => Promise<GetOssAccessTokenResponseData>;
|
|
16
|
-
}, "getAliossStsTokenAsync">>;
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
import { ref } from 'vue';
|
|
2
|
-
import { defineStore } from 'pinia';
|
|
3
|
-
import '../../../api/materialApi/index.mjs';
|
|
4
|
-
import { createEventHook } from '@vueuse/core';
|
|
5
|
-
import Cookies from 'js-cookie';
|
|
6
|
-
import { getOssAccessToken } from '../../../api/materialApi/cross/getOssAccessToken.mjs';
|
|
7
|
-
|
|
8
|
-
const useAliossStsTokenStore = defineStore("gmAliossStsToken", () => {
|
|
9
|
-
const isLoading = ref(false);
|
|
10
|
-
const aliossStsTokenResult = createEventHook();
|
|
11
|
-
const setCookie = (data) => {
|
|
12
|
-
if (!data)
|
|
13
|
-
return;
|
|
14
|
-
const { Expiration } = data;
|
|
15
|
-
const time = new Date(new Date(Expiration ?? 0).getTime() - 1e4);
|
|
16
|
-
Cookies.set("aliossStsToken", JSON.stringify(data), { expires: time });
|
|
17
|
-
};
|
|
18
|
-
const getAliossStsToken = async () => {
|
|
19
|
-
const aliossStsToken = Cookies.get("aliossStsToken");
|
|
20
|
-
if (aliossStsToken) {
|
|
21
|
-
return JSON.parse(aliossStsToken);
|
|
22
|
-
}
|
|
23
|
-
isLoading.value = true;
|
|
24
|
-
try {
|
|
25
|
-
const { data } = await getOssAccessToken();
|
|
26
|
-
if (data.code === 0) {
|
|
27
|
-
setCookie(data.data);
|
|
28
|
-
aliossStsTokenResult.trigger(data.data);
|
|
29
|
-
}
|
|
30
|
-
return data.data;
|
|
31
|
-
} finally {
|
|
32
|
-
isLoading.value = false;
|
|
33
|
-
}
|
|
34
|
-
};
|
|
35
|
-
const onAliossStsTokenPromise = () => {
|
|
36
|
-
return new Promise((resolve) => {
|
|
37
|
-
aliossStsTokenResult.on((value) => resolve(value));
|
|
38
|
-
});
|
|
39
|
-
};
|
|
40
|
-
const getAliossStsTokenAsync = () => {
|
|
41
|
-
if (isLoading.value) {
|
|
42
|
-
return onAliossStsTokenPromise();
|
|
43
|
-
}
|
|
44
|
-
return getAliossStsToken();
|
|
45
|
-
};
|
|
46
|
-
return {
|
|
47
|
-
isLoading,
|
|
48
|
-
getAliossStsTokenAsync
|
|
49
|
-
};
|
|
50
|
-
});
|
|
51
|
-
|
|
52
|
-
export { useAliossStsTokenStore };
|
|
53
|
-
//# sourceMappingURL=index.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../../../../../packages/hooks/store/useAliossStsToken/index.ts"],"sourcesContent":["import { ref } from 'vue';\r\nimport { defineStore } from 'pinia';\r\nimport { getOssAccessToken } from '@giime/api/materialApi';\r\nimport { createEventHook } from '@vueuse/core';\r\nimport Cookies from 'js-cookie';\r\nimport type { GetOssAccessTokenResponseData } from '@giime/api/materialApi';\r\n\r\n/**\r\n * @description 素材上传权限\r\n * @param {*}\r\n * @return {*}\r\n **/\r\n\r\nexport const useAliossStsTokenStore = defineStore('gmAliossStsToken', () => {\r\n const isLoading = ref(false);\r\n const aliossStsTokenResult = 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 getAliossStsToken = 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 aliossStsTokenResult.trigger(data.data);\r\n }\r\n\r\n return data.data;\r\n } finally {\r\n isLoading.value = false;\r\n }\r\n };\r\n\r\n /* 监听获取 alioss sts token 成功 promise版 */\r\n const onAliossStsTokenPromise = () => {\r\n return new Promise<GetOssAccessTokenResponseData>(resolve => {\r\n aliossStsTokenResult.on(value => resolve(value));\r\n });\r\n };\r\n\r\n /* 获取 alioss 临时上传 token*/\r\n const getAliossStsTokenAsync = () => {\r\n /* 若正在请求请求临时token接口 则其他后进来的等待 */\r\n if (isLoading.value) {\r\n return onAliossStsTokenPromise();\r\n }\r\n return getAliossStsToken();\r\n };\r\n\r\n return {\r\n isLoading,\r\n getAliossStsTokenAsync,\r\n };\r\n});\r\n"],"names":[],"mappings":";;;;;;;AAaa,MAAA,sBAAA,GAAyB,WAAY,CAAA,kBAAA,EAAoB,MAAM;AAC1E,EAAM,MAAA,SAAA,GAAY,IAAI,KAAK,CAAA,CAAA;AAC3B,EAAA,MAAM,uBAAuB,eAA+C,EAAA,CAAA;AAE5E,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,oBAAoB,YAAY;AACpC,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,MAAM,iBAAkB,EAAA,CAAA;AACzC,MAAI,IAAA,IAAA,CAAK,SAAS,CAAG,EAAA;AACnB,QAAA,SAAA,CAAU,KAAK,IAAI,CAAA,CAAA;AACnB,QAAqB,oBAAA,CAAA,OAAA,CAAQ,KAAK,IAAI,CAAA,CAAA;AAAA,OACxC;AAEA,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,0BAA0B,MAAM;AACpC,IAAO,OAAA,IAAI,QAAuC,CAAW,OAAA,KAAA;AAC3D,MAAA,oBAAA,CAAqB,EAAG,CAAA,CAAA,KAAA,KAAS,OAAQ,CAAA,KAAK,CAAC,CAAA,CAAA;AAAA,KAChD,CAAA,CAAA;AAAA,GACH,CAAA;AAGA,EAAA,MAAM,yBAAyB,MAAM;AAEnC,IAAA,IAAI,UAAU,KAAO,EAAA;AACnB,MAAA,OAAO,uBAAwB,EAAA,CAAA;AAAA,KACjC;AACA,IAAA,OAAO,iBAAkB,EAAA,CAAA;AAAA,GAC3B,CAAA;AAEA,EAAO,OAAA;AAAA,IACL,SAAA;AAAA,IACA,sBAAA;AAAA,GACF,CAAA;AACF,CAAC;;;;"}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import type { GetOssAccessTokenResponseData } from '../../../api/materialApi';
|
|
2
|
-
/**
|
|
3
|
-
* @description 素材上传权限
|
|
4
|
-
* @param {*}
|
|
5
|
-
* @return {*}
|
|
6
|
-
**/
|
|
7
|
-
export declare const useAliossStsTokenStore: import("pinia").StoreDefinition<"gmAliossStsToken", import("pinia")._UnwrapAll<Pick<{
|
|
8
|
-
isLoading: import("vue").Ref<boolean>;
|
|
9
|
-
getAliossStsTokenAsync: () => Promise<GetOssAccessTokenResponseData>;
|
|
10
|
-
}, "isLoading">>, Pick<{
|
|
11
|
-
isLoading: import("vue").Ref<boolean>;
|
|
12
|
-
getAliossStsTokenAsync: () => Promise<GetOssAccessTokenResponseData>;
|
|
13
|
-
}, never>, Pick<{
|
|
14
|
-
isLoading: import("vue").Ref<boolean>;
|
|
15
|
-
getAliossStsTokenAsync: () => Promise<GetOssAccessTokenResponseData>;
|
|
16
|
-
}, "getAliossStsTokenAsync">>;
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var vue = require('vue');
|
|
4
|
-
var pinia = require('pinia');
|
|
5
|
-
require('../../../api/materialApi/index.js');
|
|
6
|
-
var core = require('@vueuse/core');
|
|
7
|
-
var Cookies = require('js-cookie');
|
|
8
|
-
var getOssAccessToken = require('../../../api/materialApi/cross/getOssAccessToken.js');
|
|
9
|
-
|
|
10
|
-
const useAliossStsTokenStore = pinia.defineStore("gmAliossStsToken", () => {
|
|
11
|
-
const isLoading = vue.ref(false);
|
|
12
|
-
const aliossStsTokenResult = core.createEventHook();
|
|
13
|
-
const setCookie = (data) => {
|
|
14
|
-
if (!data)
|
|
15
|
-
return;
|
|
16
|
-
const { Expiration } = data;
|
|
17
|
-
const time = new Date(new Date(Expiration ?? 0).getTime() - 1e4);
|
|
18
|
-
Cookies.set("aliossStsToken", JSON.stringify(data), { expires: time });
|
|
19
|
-
};
|
|
20
|
-
const getAliossStsToken = async () => {
|
|
21
|
-
const aliossStsToken = Cookies.get("aliossStsToken");
|
|
22
|
-
if (aliossStsToken) {
|
|
23
|
-
return JSON.parse(aliossStsToken);
|
|
24
|
-
}
|
|
25
|
-
isLoading.value = true;
|
|
26
|
-
try {
|
|
27
|
-
const { data } = await getOssAccessToken.getOssAccessToken();
|
|
28
|
-
if (data.code === 0) {
|
|
29
|
-
setCookie(data.data);
|
|
30
|
-
aliossStsTokenResult.trigger(data.data);
|
|
31
|
-
}
|
|
32
|
-
return data.data;
|
|
33
|
-
} finally {
|
|
34
|
-
isLoading.value = false;
|
|
35
|
-
}
|
|
36
|
-
};
|
|
37
|
-
const onAliossStsTokenPromise = () => {
|
|
38
|
-
return new Promise((resolve) => {
|
|
39
|
-
aliossStsTokenResult.on((value) => resolve(value));
|
|
40
|
-
});
|
|
41
|
-
};
|
|
42
|
-
const getAliossStsTokenAsync = () => {
|
|
43
|
-
if (isLoading.value) {
|
|
44
|
-
return onAliossStsTokenPromise();
|
|
45
|
-
}
|
|
46
|
-
return getAliossStsToken();
|
|
47
|
-
};
|
|
48
|
-
return {
|
|
49
|
-
isLoading,
|
|
50
|
-
getAliossStsTokenAsync
|
|
51
|
-
};
|
|
52
|
-
});
|
|
53
|
-
|
|
54
|
-
exports.useAliossStsTokenStore = useAliossStsTokenStore;
|
|
55
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../../packages/hooks/store/useAliossStsToken/index.ts"],"sourcesContent":["import { ref } from 'vue';\r\nimport { defineStore } from 'pinia';\r\nimport { getOssAccessToken } from '@giime/api/materialApi';\r\nimport { createEventHook } from '@vueuse/core';\r\nimport Cookies from 'js-cookie';\r\nimport type { GetOssAccessTokenResponseData } from '@giime/api/materialApi';\r\n\r\n/**\r\n * @description 素材上传权限\r\n * @param {*}\r\n * @return {*}\r\n **/\r\n\r\nexport const useAliossStsTokenStore = defineStore('gmAliossStsToken', () => {\r\n const isLoading = ref(false);\r\n const aliossStsTokenResult = 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 getAliossStsToken = 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 aliossStsTokenResult.trigger(data.data);\r\n }\r\n\r\n return data.data;\r\n } finally {\r\n isLoading.value = false;\r\n }\r\n };\r\n\r\n /* 监听获取 alioss sts token 成功 promise版 */\r\n const onAliossStsTokenPromise = () => {\r\n return new Promise<GetOssAccessTokenResponseData>(resolve => {\r\n aliossStsTokenResult.on(value => resolve(value));\r\n });\r\n };\r\n\r\n /* 获取 alioss 临时上传 token*/\r\n const getAliossStsTokenAsync = () => {\r\n /* 若正在请求请求临时token接口 则其他后进来的等待 */\r\n if (isLoading.value) {\r\n return onAliossStsTokenPromise();\r\n }\r\n return getAliossStsToken();\r\n };\r\n\r\n return {\r\n isLoading,\r\n getAliossStsTokenAsync,\r\n };\r\n});\r\n"],"names":["defineStore","ref","createEventHook","getOssAccessToken"],"mappings":";;;;;;;;;AAaa,MAAA,sBAAA,GAAyBA,iBAAY,CAAA,kBAAA,EAAoB,MAAM;AAC1E,EAAM,MAAA,SAAA,GAAYC,QAAI,KAAK,CAAA,CAAA;AAC3B,EAAA,MAAM,uBAAuBC,oBAA+C,EAAA,CAAA;AAE5E,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,oBAAoB,YAAY;AACpC,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,QAAqB,oBAAA,CAAA,OAAA,CAAQ,KAAK,IAAI,CAAA,CAAA;AAAA,OACxC;AAEA,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,0BAA0B,MAAM;AACpC,IAAO,OAAA,IAAI,QAAuC,CAAW,OAAA,KAAA;AAC3D,MAAA,oBAAA,CAAqB,EAAG,CAAA,CAAA,KAAA,KAAS,OAAQ,CAAA,KAAK,CAAC,CAAA,CAAA;AAAA,KAChD,CAAA,CAAA;AAAA,GACH,CAAA;AAGA,EAAA,MAAM,yBAAyB,MAAM;AAEnC,IAAA,IAAI,UAAU,KAAO,EAAA;AACnB,MAAA,OAAO,uBAAwB,EAAA,CAAA;AAAA,KACjC;AACA,IAAA,OAAO,iBAAkB,EAAA,CAAA;AAAA,GAC3B,CAAA;AAEA,EAAO,OAAA;AAAA,IACL,SAAA;AAAA,IACA,sBAAA;AAAA,GACF,CAAA;AACF,CAAC;;;;"}
|