sa2kit 3.0.0 → 3.2.0
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/README.md +5 -5
- package/dist/AliyunOSSProvider-7IOT5U6M.js +15 -0
- package/dist/AliyunOSSProvider-7IOT5U6M.js.map +1 -0
- package/dist/AliyunOSSProvider-ZXZM7OQA.mjs +6 -0
- package/dist/AliyunOSSProvider-ZXZM7OQA.mjs.map +1 -0
- package/dist/LocalStorageProvider-KJKRCKBS.js +15 -0
- package/dist/LocalStorageProvider-KJKRCKBS.js.map +1 -0
- package/dist/LocalStorageProvider-O22465NY.mjs +6 -0
- package/dist/LocalStorageProvider-O22465NY.mjs.map +1 -0
- package/dist/chunk-2234T4A6.js +303 -0
- package/dist/chunk-2234T4A6.js.map +1 -0
- package/dist/chunk-36KGNXKW.js +16 -0
- package/dist/chunk-36KGNXKW.js.map +1 -0
- package/dist/chunk-375C7WL7.js +2695 -0
- package/dist/chunk-375C7WL7.js.map +1 -0
- package/dist/chunk-3J24Z4MB.js +991 -0
- package/dist/chunk-3J24Z4MB.js.map +1 -0
- package/dist/chunk-3QCATFQV.js +43 -0
- package/dist/chunk-3QCATFQV.js.map +1 -0
- package/dist/chunk-3R6JHA6D.js +120 -0
- package/dist/chunk-3R6JHA6D.js.map +1 -0
- package/dist/chunk-4OXKHV7J.js +43 -0
- package/dist/chunk-4OXKHV7J.js.map +1 -0
- package/dist/chunk-4PJM4752.js +4 -0
- package/dist/chunk-4PJM4752.js.map +1 -0
- package/dist/chunk-65JRVC3F.mjs +54 -0
- package/dist/chunk-65JRVC3F.mjs.map +1 -0
- package/dist/chunk-6HL54I2B.js +336 -0
- package/dist/chunk-6HL54I2B.js.map +1 -0
- package/dist/chunk-6V2MIQPF.mjs +77 -0
- package/dist/chunk-6V2MIQPF.mjs.map +1 -0
- package/dist/chunk-6YLCRWKM.mjs +8 -0
- package/dist/chunk-6YLCRWKM.mjs.map +1 -0
- package/dist/chunk-7CRU2Y5X.mjs +152 -0
- package/dist/chunk-7CRU2Y5X.mjs.map +1 -0
- package/dist/chunk-7PMT4L4I.js +324 -0
- package/dist/chunk-7PMT4L4I.js.map +1 -0
- package/dist/chunk-7VVZHFEM.js +88 -0
- package/dist/chunk-7VVZHFEM.js.map +1 -0
- package/dist/chunk-AWHGIKTQ.js +56 -0
- package/dist/chunk-AWHGIKTQ.js.map +1 -0
- package/dist/chunk-B3GYF6TY.js +37 -0
- package/dist/chunk-B3GYF6TY.js.map +1 -0
- package/dist/chunk-BDBJFOXM.mjs +14 -0
- package/dist/chunk-BDBJFOXM.mjs.map +1 -0
- package/dist/chunk-BTW3SWQN.mjs +25 -0
- package/dist/chunk-BTW3SWQN.mjs.map +1 -0
- package/dist/chunk-CHYSSZ4E.mjs +734 -0
- package/dist/chunk-CHYSSZ4E.mjs.map +1 -0
- package/dist/chunk-DO6QYAZV.mjs +298 -0
- package/dist/chunk-DO6QYAZV.mjs.map +1 -0
- package/dist/chunk-DTR53LQO.mjs +781 -0
- package/dist/chunk-DTR53LQO.mjs.map +1 -0
- package/dist/chunk-EI2S4XDG.mjs +89 -0
- package/dist/chunk-EI2S4XDG.mjs.map +1 -0
- package/dist/chunk-EOZHUI46.js +93 -0
- package/dist/chunk-EOZHUI46.js.map +1 -0
- package/dist/chunk-F2BZIU67.js +184 -0
- package/dist/chunk-F2BZIU67.js.map +1 -0
- package/dist/chunk-F2TEJSCP.js +756 -0
- package/dist/chunk-F2TEJSCP.js.map +1 -0
- package/dist/chunk-FCLS5R24.js +148 -0
- package/dist/chunk-FCLS5R24.js.map +1 -0
- package/dist/chunk-FUA6ZGMI.mjs +376 -0
- package/dist/chunk-FUA6ZGMI.mjs.map +1 -0
- package/dist/chunk-FY2X3LYR.mjs +3 -0
- package/dist/chunk-FY2X3LYR.mjs.map +1 -0
- package/dist/chunk-GS4SAW25.mjs +116 -0
- package/dist/chunk-GS4SAW25.mjs.map +1 -0
- package/dist/chunk-H56ICWUO.js +321 -0
- package/dist/chunk-H56ICWUO.js.map +1 -0
- package/dist/chunk-HG34SGMN.mjs +546 -0
- package/dist/chunk-HG34SGMN.mjs.map +1 -0
- package/dist/chunk-HL4H2HF6.js +279 -0
- package/dist/chunk-HL4H2HF6.js.map +1 -0
- package/dist/chunk-IJIQUMAK.mjs +272 -0
- package/dist/chunk-IJIQUMAK.mjs.map +1 -0
- package/dist/chunk-KEZFTDZT.mjs +559 -0
- package/dist/chunk-KEZFTDZT.mjs.map +1 -0
- package/dist/chunk-KHOVC2KL.js +144 -0
- package/dist/chunk-KHOVC2KL.js.map +1 -0
- package/dist/chunk-KRBSTLKC.js +6154 -0
- package/dist/chunk-KRBSTLKC.js.map +1 -0
- package/dist/chunk-KVYHCGRY.js +2011 -0
- package/dist/chunk-KVYHCGRY.js.map +1 -0
- package/dist/chunk-LZ5YTMMP.mjs +41 -0
- package/dist/chunk-LZ5YTMMP.mjs.map +1 -0
- package/dist/chunk-MJ6XJGAL.js +1551 -0
- package/dist/chunk-MJ6XJGAL.js.map +1 -0
- package/dist/chunk-MKLXCV4Z.mjs +1510 -0
- package/dist/chunk-MKLXCV4Z.mjs.map +1 -0
- package/dist/chunk-MMDSZIXD.mjs +286 -0
- package/dist/chunk-MMDSZIXD.mjs.map +1 -0
- package/dist/chunk-N2O3OX5Y.mjs +243 -0
- package/dist/chunk-N2O3OX5Y.mjs.map +1 -0
- package/dist/chunk-O6NNSPWD.mjs +35 -0
- package/dist/chunk-O6NNSPWD.mjs.map +1 -0
- package/dist/chunk-OIRZXSYM.js +80 -0
- package/dist/chunk-OIRZXSYM.js.map +1 -0
- package/dist/chunk-P7JQRNBJ.mjs +76 -0
- package/dist/chunk-P7JQRNBJ.mjs.map +1 -0
- package/dist/chunk-PA4ELVGI.js +20 -0
- package/dist/chunk-PA4ELVGI.js.map +1 -0
- package/dist/chunk-PLIG5257.mjs +2613 -0
- package/dist/chunk-PLIG5257.mjs.map +1 -0
- package/dist/chunk-QIF4MG5V.mjs +283 -0
- package/dist/chunk-QIF4MG5V.mjs.map +1 -0
- package/dist/chunk-RHECN4E2.mjs +6077 -0
- package/dist/chunk-RHECN4E2.mjs.map +1 -0
- package/dist/chunk-RHHTZTIN.mjs +314 -0
- package/dist/chunk-RHHTZTIN.mjs.map +1 -0
- package/dist/chunk-RRQ2X26Z.js +106 -0
- package/dist/chunk-RRQ2X26Z.js.map +1 -0
- package/dist/chunk-RST2T54Y.js +836 -0
- package/dist/chunk-RST2T54Y.js.map +1 -0
- package/dist/chunk-RVNQI6BI.js +249 -0
- package/dist/chunk-RVNQI6BI.js.map +1 -0
- package/dist/chunk-S3K4LTRI.mjs +226 -0
- package/dist/chunk-S3K4LTRI.mjs.map +1 -0
- package/dist/chunk-SWZ5XNF6.js +158 -0
- package/dist/chunk-SWZ5XNF6.js.map +1 -0
- package/dist/chunk-TNJ6LYX7.mjs +18 -0
- package/dist/chunk-TNJ6LYX7.mjs.map +1 -0
- package/dist/chunk-U7HNBCBS.js +207 -0
- package/dist/chunk-U7HNBCBS.js.map +1 -0
- package/dist/chunk-UJS3YSD3.mjs +37 -0
- package/dist/chunk-UJS3YSD3.mjs.map +1 -0
- package/dist/chunk-UJUWDF7M.mjs +336 -0
- package/dist/chunk-UJUWDF7M.mjs.map +1 -0
- package/dist/chunk-UR5NENGE.js +78 -0
- package/dist/chunk-UR5NENGE.js.map +1 -0
- package/dist/chunk-V7HGBDCB.mjs +135 -0
- package/dist/chunk-V7HGBDCB.mjs.map +1 -0
- package/dist/chunk-V7RLIZMN.js +90 -0
- package/dist/chunk-V7RLIZMN.js.map +1 -0
- package/dist/chunk-VCKXK6V5.js +345 -0
- package/dist/chunk-VCKXK6V5.js.map +1 -0
- package/dist/chunk-VIEXDTNF.mjs +100 -0
- package/dist/chunk-VIEXDTNF.mjs.map +1 -0
- package/dist/chunk-VN2DULIA.js +579 -0
- package/dist/chunk-VN2DULIA.js.map +1 -0
- package/dist/chunk-VNWMRUY6.js +168 -0
- package/dist/chunk-VNWMRUY6.js.map +1 -0
- package/dist/chunk-VYK4M2D6.mjs +177 -0
- package/dist/chunk-VYK4M2D6.mjs.map +1 -0
- package/dist/chunk-WB4H6ZUW.mjs +86 -0
- package/dist/chunk-WB4H6ZUW.mjs.map +1 -0
- package/dist/chunk-WM3AEJ2E.mjs +981 -0
- package/dist/chunk-WM3AEJ2E.mjs.map +1 -0
- package/dist/chunk-X5GINUGI.mjs +162 -0
- package/dist/chunk-X5GINUGI.mjs.map +1 -0
- package/dist/chunk-XB7GUEHZ.mjs +82 -0
- package/dist/chunk-XB7GUEHZ.mjs.map +1 -0
- package/dist/chunk-XE5RGZ3B.js +242 -0
- package/dist/chunk-XE5RGZ3B.js.map +1 -0
- package/dist/chunk-XNTIMVSL.mjs +193 -0
- package/dist/chunk-XNTIMVSL.mjs.map +1 -0
- package/dist/chunk-Y7WHUKJF.js +387 -0
- package/dist/chunk-Y7WHUKJF.js.map +1 -0
- package/dist/chunk-YIRPPMCN.mjs +1916 -0
- package/dist/chunk-YIRPPMCN.mjs.map +1 -0
- package/dist/chunk-YTGUIRRH.js +10 -0
- package/dist/chunk-YTGUIRRH.js.map +1 -0
- package/dist/chunk-Z2SNB5LJ.js +28 -0
- package/dist/chunk-Z2SNB5LJ.js.map +1 -0
- package/dist/chunk-ZOP7YIVX.js +552 -0
- package/dist/chunk-ZOP7YIVX.js.map +1 -0
- package/dist/chunk-ZUZLWHH5.mjs +146 -0
- package/dist/chunk-ZUZLWHH5.mjs.map +1 -0
- package/dist/common/ai/llm/core/index.d.mts +70 -0
- package/dist/common/ai/llm/core/index.d.ts +70 -0
- package/dist/common/ai/llm/core/index.js +54 -0
- package/dist/common/ai/llm/core/index.mjs +5 -0
- package/dist/common/ai/llm/electron/index.d.mts +6 -0
- package/dist/common/ai/llm/electron/index.d.ts +6 -0
- package/dist/common/ai/llm/electron/index.js +67 -0
- package/dist/common/ai/llm/electron/index.mjs +10 -0
- package/dist/common/ai/llm/index.d.mts +3 -0
- package/dist/common/ai/llm/index.d.ts +3 -0
- package/dist/common/ai/llm/index.js +54 -0
- package/dist/common/ai/llm/index.mjs +5 -0
- package/dist/common/ai/llm/miniapp/index.d.mts +6 -0
- package/dist/common/ai/llm/miniapp/index.d.ts +6 -0
- package/dist/common/ai/llm/miniapp/index.js +59 -0
- package/dist/common/ai/llm/miniapp/index.mjs +6 -0
- package/dist/common/ai/llm/rn/index.d.mts +6 -0
- package/dist/common/ai/llm/rn/index.d.ts +6 -0
- package/dist/common/ai/llm/rn/index.js +59 -0
- package/dist/common/ai/llm/rn/index.mjs +6 -0
- package/dist/common/ai/llm/ui/electron/index.d.mts +5 -0
- package/dist/common/ai/llm/ui/electron/index.d.ts +5 -0
- package/dist/common/ai/llm/ui/electron/index.js +22 -0
- package/dist/common/ai/llm/ui/electron/index.mjs +9 -0
- package/dist/common/ai/llm/ui/miniapp/index.d.mts +9 -0
- package/dist/common/ai/llm/ui/miniapp/index.d.ts +9 -0
- package/dist/common/ai/llm/ui/miniapp/index.js +14 -0
- package/dist/common/ai/llm/ui/miniapp/index.mjs +5 -0
- package/dist/common/ai/llm/ui/rn/index.d.mts +9 -0
- package/dist/common/ai/llm/ui/rn/index.d.ts +9 -0
- package/dist/common/ai/llm/ui/rn/index.js +14 -0
- package/dist/common/ai/llm/ui/rn/index.mjs +5 -0
- package/dist/common/ai/llm/ui/web/index.d.mts +15 -0
- package/dist/common/ai/llm/ui/web/index.d.ts +15 -0
- package/dist/common/ai/llm/ui/web/index.js +21 -0
- package/dist/common/ai/llm/ui/web/index.mjs +8 -0
- package/dist/common/ai/llm/web/index.d.mts +6 -0
- package/dist/common/ai/llm/web/index.d.ts +6 -0
- package/dist/common/ai/llm/web/index.js +66 -0
- package/dist/common/ai/llm/web/index.mjs +9 -0
- package/dist/common/analytics/index.d.mts +2 -0
- package/dist/common/analytics/index.d.ts +2 -0
- package/dist/common/analytics/index.js +314 -0
- package/dist/common/analytics/index.mjs +5 -0
- package/dist/common/analytics/server/index.js +529 -0
- package/dist/common/analytics/server/index.js.map +1 -0
- package/dist/common/analytics/server/index.mjs +525 -0
- package/dist/common/analytics/server/index.mjs.map +1 -0
- package/dist/common/api/index.d.mts +3 -0
- package/dist/common/api/index.d.ts +3 -0
- package/dist/common/api/index.js +21 -0
- package/dist/common/api/index.mjs +4 -0
- package/dist/common/auth/client/index.d.mts +1 -31
- package/dist/common/auth/client/index.d.ts +1 -31
- package/dist/common/auth/client/index.js +2 -15
- package/dist/common/auth/client/index.mjs +1 -2
- package/dist/common/auth/components/index.d.mts +5 -239
- package/dist/common/auth/components/index.d.ts +5 -239
- package/dist/common/auth/components/index.js +878 -49
- package/dist/common/auth/components/index.js.map +1 -1
- package/dist/common/auth/components/index.mjs +871 -5
- package/dist/common/auth/components/index.mjs.map +1 -1
- package/dist/common/auth/hooks/index.d.mts +2 -29
- package/dist/common/auth/hooks/index.d.ts +2 -29
- package/dist/common/auth/hooks/index.js +2 -11
- package/dist/common/auth/hooks/index.mjs +1 -2
- package/dist/common/auth/index.d.mts +5 -9
- package/dist/common/auth/index.d.ts +5 -9
- package/dist/common/auth/index.js +5 -26
- package/dist/common/auth/index.mjs +3 -4
- package/dist/common/auth/rn/index.d.mts +1 -17
- package/dist/common/auth/rn/index.d.ts +1 -17
- package/dist/common/auth/rn/index.js +2 -34
- package/dist/common/auth/rn/index.js.map +1 -1
- package/dist/common/auth/rn/index.mjs +2 -31
- package/dist/common/auth/rn/index.mjs.map +1 -1
- package/dist/common/auth/server/index.d.mts +81 -2
- package/dist/common/auth/server/index.d.ts +81 -2
- package/dist/common/auth/server/index.js +128 -37
- package/dist/common/auth/server/index.js.map +1 -1
- package/dist/common/auth/server/index.mjs +124 -1
- package/dist/common/auth/server/index.mjs.map +1 -1
- package/dist/common/auth/services/index.js +12 -9
- package/dist/common/auth/services/index.js.map +1 -1
- package/dist/common/auth/services/index.mjs +10 -1
- package/dist/common/auth/services/index.mjs.map +1 -1
- package/dist/common/components/index.d.mts +4 -0
- package/dist/common/components/index.d.ts +4 -0
- package/dist/common/components/index.js +414 -0
- package/dist/common/components/index.mjs +9 -0
- package/dist/common/config/index.d.mts +1 -0
- package/dist/common/config/index.d.ts +1 -0
- package/dist/common/config/index.js +21 -0
- package/dist/common/config/index.mjs +4 -0
- package/dist/common/config/server/index.js +1177 -0
- package/dist/common/config/server/index.js.map +1 -0
- package/dist/common/config/server/index.mjs +1138 -0
- package/dist/common/config/server/index.mjs.map +1 -0
- package/dist/common/export/index.d.mts +2 -2
- package/dist/common/export/index.d.ts +2 -2
- package/dist/common/export/index.js +67 -67
- package/dist/common/export/index.mjs +3 -3
- package/dist/common/export/server/index.d.mts +2 -2
- package/dist/common/export/server/index.d.ts +2 -2
- package/dist/common/export/server/index.js +76 -48
- package/dist/common/export/server/index.mjs +3 -3
- package/dist/common/file/index.d.mts +2 -2
- package/dist/common/file/index.d.ts +2 -2
- package/dist/common/file/index.js +27 -27
- package/dist/common/file/index.mjs +5 -5
- package/dist/common/file/server/index.d.mts +2 -2
- package/dist/common/file/server/index.d.ts +2 -2
- package/dist/common/file/server/index.js +58 -50
- package/dist/common/file/server/index.mjs +8 -8
- package/dist/common/i18n/index.d.mts +2 -0
- package/dist/common/i18n/index.d.ts +2 -0
- package/dist/common/i18n/index.js +73 -0
- package/dist/common/i18n/index.mjs +4 -0
- package/dist/common/imageCrop/index.d.mts +2 -0
- package/dist/common/imageCrop/index.d.ts +2 -0
- package/dist/common/imageCrop/index.js +61 -0
- package/dist/common/imageCrop/index.mjs +4 -0
- package/dist/common/index.d.mts +17 -20
- package/dist/common/index.d.ts +17 -20
- package/dist/common/index.js +76 -70
- package/dist/common/index.mjs +27 -29
- package/dist/common/logger/index.d.mts +1 -1
- package/dist/common/logger/index.d.ts +1 -1
- package/dist/common/logger/index.js +6 -7
- package/dist/common/logger/index.mjs +1 -2
- package/dist/common/ossFile/index.d.mts +61 -0
- package/dist/common/ossFile/index.d.ts +61 -0
- package/dist/common/ossFile/index.js +96 -0
- package/dist/common/ossFile/index.mjs +7 -0
- package/dist/common/ossFile/server/index.d.mts +94 -0
- package/dist/common/ossFile/server/index.d.ts +94 -0
- package/dist/common/ossFile/server/index.js +221 -0
- package/dist/common/ossFile/server/index.mjs +12 -0
- package/dist/common/platform/index.js +8 -8
- package/dist/common/platform/index.mjs +4 -4
- package/dist/common/request/index.d.mts +1 -1
- package/dist/common/request/index.d.ts +1 -1
- package/dist/common/request/index.js +5 -7
- package/dist/common/request/index.mjs +2 -4
- package/dist/common/storage/index.d.mts +1 -1
- package/dist/common/storage/index.d.ts +1 -1
- package/dist/common/storage/index.js +17 -17
- package/dist/common/storage/index.mjs +5 -5
- package/dist/common/universalExport/index.d.mts +232 -0
- package/dist/common/universalExport/index.d.ts +232 -0
- package/dist/common/universalExport/index.js +178 -0
- package/dist/common/universalExport/index.mjs +5 -0
- package/dist/common/universalExport/server/index.d.mts +1189 -0
- package/dist/common/universalExport/server/index.d.ts +1189 -0
- package/dist/common/universalExport/server/index.js +151 -0
- package/dist/common/universalExport/server/index.mjs +6 -0
- package/dist/common/universalFile/index.d.mts +409 -0
- package/dist/common/universalFile/index.d.ts +409 -0
- package/dist/common/universalFile/index.js +1742 -0
- package/dist/common/universalFile/index.js.map +1 -0
- package/dist/common/universalFile/index.mjs +1497 -0
- package/dist/common/universalFile/index.mjs.map +1 -0
- package/dist/common/universalFile/server/index.d.mts +1064 -0
- package/dist/common/universalFile/server/index.d.ts +1064 -0
- package/dist/common/universalFile/server/index.js +311 -0
- package/dist/common/universalFile/server/index.mjs +10 -0
- package/dist/common/utils/index.d.mts +1 -1
- package/dist/common/utils/index.d.ts +1 -1
- package/dist/common/utils/index.js +11 -12
- package/dist/common/utils/index.mjs +2 -3
- package/dist/index-BRLygK4h.d.ts +67 -0
- package/dist/index-BWNK5mH2.d.ts +76 -0
- package/dist/index-Bd7cKF1j.d.mts +50 -0
- package/dist/index-BiCK6gg6.d.mts +210 -0
- package/dist/index-BiCK6gg6.d.ts +210 -0
- package/dist/index-C-P2yBTH.d.mts +76 -0
- package/dist/index-CT4K2z-O.d.ts +81 -0
- package/dist/index-D6RJTGce.d.mts +81 -0
- package/dist/index-DA7L9JlE.d.mts +159 -0
- package/dist/index-DRQxtCDw.d.ts +50 -0
- package/dist/index-DXVph21C.d.mts +201 -0
- package/dist/index-DXVph21C.d.ts +201 -0
- package/dist/index-DzyK789B.d.mts +67 -0
- package/dist/index-FVJZCEtm.d.mts +145 -0
- package/dist/index-FVJZCEtm.d.ts +145 -0
- package/dist/index-nD9vPCZT.d.ts +159 -0
- package/dist/index-nOmIv2BG.d.mts +559 -0
- package/dist/index-nOmIv2BG.d.ts +559 -0
- package/dist/path-Bzc7hj1N.d.ts +45 -0
- package/dist/path-DN_65vhO.d.mts +45 -0
- package/dist/utils-Dm3O1rAa.d.mts +366 -0
- package/dist/utils-Dm3O1rAa.d.ts +366 -0
- package/package.json +293 -348
- package/dist/AliyunOSSProvider-4GRL2FJB.js +0 -15
- package/dist/AliyunOSSProvider-4GRL2FJB.js.map +0 -1
- package/dist/AliyunOSSProvider-QNVFIZ7Q.mjs +0 -6
- package/dist/AliyunOSSProvider-QNVFIZ7Q.mjs.map +0 -1
- package/dist/CollisionBalls-BpHufX3H.d.mts +0 -41
- package/dist/CollisionBalls-BpHufX3H.d.ts +0 -41
- package/dist/ConfigService-BxK06xP6.d.mts +0 -262
- package/dist/ConfigService-BxK06xP6.d.ts +0 -262
- package/dist/LocalStorageProvider-J5RHV37G.mjs +0 -6
- package/dist/LocalStorageProvider-J5RHV37G.mjs.map +0 -1
- package/dist/LocalStorageProvider-PFA2DMIJ.js +0 -15
- package/dist/LocalStorageProvider-PFA2DMIJ.js.map +0 -1
- package/dist/UniversalFileService-CC4d3wkc.d.ts +0 -139
- package/dist/UniversalFileService-CzAE_G4V.d.mts +0 -139
- package/dist/ai/llm/core/index.d.mts +0 -70
- package/dist/ai/llm/core/index.d.ts +0 -70
- package/dist/ai/llm/core/index.js +0 -54
- package/dist/ai/llm/core/index.mjs +0 -5
- package/dist/ai/llm/electron/index.d.mts +0 -6
- package/dist/ai/llm/electron/index.d.ts +0 -6
- package/dist/ai/llm/electron/index.js +0 -66
- package/dist/ai/llm/electron/index.mjs +0 -9
- package/dist/ai/llm/index.d.mts +0 -3
- package/dist/ai/llm/index.d.ts +0 -3
- package/dist/ai/llm/index.js +0 -54
- package/dist/ai/llm/index.mjs +0 -5
- package/dist/ai/llm/miniapp/index.d.mts +0 -6
- package/dist/ai/llm/miniapp/index.d.ts +0 -6
- package/dist/ai/llm/miniapp/index.js +0 -59
- package/dist/ai/llm/miniapp/index.mjs +0 -6
- package/dist/ai/llm/rn/index.d.mts +0 -6
- package/dist/ai/llm/rn/index.d.ts +0 -6
- package/dist/ai/llm/rn/index.js +0 -59
- package/dist/ai/llm/rn/index.mjs +0 -6
- package/dist/ai/llm/ui/electron/index.d.mts +0 -5
- package/dist/ai/llm/ui/electron/index.d.ts +0 -5
- package/dist/ai/llm/ui/electron/index.js +0 -21
- package/dist/ai/llm/ui/electron/index.mjs +0 -8
- package/dist/ai/llm/ui/miniapp/index.d.mts +0 -9
- package/dist/ai/llm/ui/miniapp/index.d.ts +0 -9
- package/dist/ai/llm/ui/miniapp/index.js +0 -14
- package/dist/ai/llm/ui/miniapp/index.mjs +0 -5
- package/dist/ai/llm/ui/rn/index.d.mts +0 -9
- package/dist/ai/llm/ui/rn/index.d.ts +0 -9
- package/dist/ai/llm/ui/rn/index.js +0 -14
- package/dist/ai/llm/ui/rn/index.mjs +0 -5
- package/dist/ai/llm/ui/web/index.d.mts +0 -15
- package/dist/ai/llm/ui/web/index.d.ts +0 -15
- package/dist/ai/llm/ui/web/index.js +0 -20
- package/dist/ai/llm/ui/web/index.mjs +0 -7
- package/dist/ai/llm/web/index.d.mts +0 -6
- package/dist/ai/llm/web/index.d.ts +0 -6
- package/dist/ai/llm/web/index.js +0 -65
- package/dist/ai/llm/web/index.mjs +0 -8
- package/dist/analytics/index.d.mts +0 -2
- package/dist/analytics/index.d.ts +0 -2
- package/dist/analytics/index.js +0 -314
- package/dist/analytics/index.mjs +0 -5
- package/dist/analytics/server/index.js +0 -529
- package/dist/analytics/server/index.js.map +0 -1
- package/dist/analytics/server/index.mjs +0 -525
- package/dist/analytics/server/index.mjs.map +0 -1
- package/dist/api/index.d.mts +0 -3
- package/dist/api/index.d.ts +0 -3
- package/dist/api/index.js +0 -21
- package/dist/api/index.mjs +0 -4
- package/dist/audioDetection/index.d.mts +0 -449
- package/dist/audioDetection/index.d.ts +0 -449
- package/dist/audioDetection/index.js +0 -1244
- package/dist/audioDetection/index.js.map +0 -1
- package/dist/audioDetection/index.mjs +0 -1227
- package/dist/audioDetection/index.mjs.map +0 -1
- package/dist/auth/client/index.d.mts +0 -13
- package/dist/auth/client/index.d.ts +0 -13
- package/dist/auth/client/index.js +0 -26
- package/dist/auth/client/index.mjs +0 -5
- package/dist/auth/components/index.d.mts +0 -10
- package/dist/auth/components/index.d.ts +0 -10
- package/dist/auth/components/index.js +0 -70
- package/dist/auth/components/index.mjs +0 -9
- package/dist/auth/hooks/index.d.mts +0 -13
- package/dist/auth/hooks/index.d.ts +0 -13
- package/dist/auth/hooks/index.js +0 -28
- package/dist/auth/hooks/index.mjs +0 -7
- package/dist/auth/index.d.mts +0 -21
- package/dist/auth/index.d.ts +0 -21
- package/dist/auth/index.js +0 -112
- package/dist/auth/index.mjs +0 -11
- package/dist/auth/rn/index.d.mts +0 -3133
- package/dist/auth/rn/index.d.ts +0 -3133
- package/dist/auth/rn/index.js +0 -684
- package/dist/auth/rn/index.js.map +0 -1
- package/dist/auth/rn/index.mjs +0 -663
- package/dist/auth/rn/index.mjs.map +0 -1
- package/dist/auth/schema/index.d.mts +0 -4
- package/dist/auth/schema/index.d.ts +0 -4
- package/dist/auth/schema/index.js +0 -49
- package/dist/auth/schema/index.mjs +0 -4
- package/dist/auth/services/index.d.mts +0 -1
- package/dist/auth/services/index.d.ts +0 -1
- package/dist/auth/services/index.js +0 -17
- package/dist/auth/services/index.mjs +0 -4
- package/dist/base-api-client-BpmcQt4Q.d.ts +0 -103
- package/dist/base-api-client-CFIhZK4C.d.mts +0 -277
- package/dist/base-api-client-CFIhZK4C.d.ts +0 -277
- package/dist/base-api-client-DXLsq2yz.d.mts +0 -103
- package/dist/boothVaultService-Cn4WPhjg.d.mts +0 -83
- package/dist/boothVaultService-Cn4WPhjg.d.ts +0 -83
- package/dist/business/index.d.mts +0 -2
- package/dist/business/index.d.ts +0 -2
- package/dist/business/index.js +0 -581
- package/dist/business/index.js.map +0 -1
- package/dist/business/index.mjs +0 -575
- package/dist/business/index.mjs.map +0 -1
- package/dist/calendar/index.d.mts +0 -1325
- package/dist/calendar/index.d.ts +0 -1325
- package/dist/calendar/index.js +0 -5964
- package/dist/calendar/index.js.map +0 -1
- package/dist/calendar/index.mjs +0 -5878
- package/dist/calendar/index.mjs.map +0 -1
- package/dist/calendar/routes/index.d.mts +0 -191
- package/dist/calendar/routes/index.d.ts +0 -191
- package/dist/calendar/routes/index.js +0 -844
- package/dist/calendar/routes/index.js.map +0 -1
- package/dist/calendar/routes/index.mjs +0 -826
- package/dist/calendar/routes/index.mjs.map +0 -1
- package/dist/chunk-25OFOKNF.js +0 -171
- package/dist/chunk-25OFOKNF.js.map +0 -1
- package/dist/chunk-2Y7BKFKZ.js +0 -37
- package/dist/chunk-2Y7BKFKZ.js.map +0 -1
- package/dist/chunk-3DXPQ4YV.mjs +0 -165
- package/dist/chunk-3DXPQ4YV.mjs.map +0 -1
- package/dist/chunk-3FRAIS4T.mjs +0 -35
- package/dist/chunk-3FRAIS4T.mjs.map +0 -1
- package/dist/chunk-3NHAT7D4.mjs +0 -361
- package/dist/chunk-3NHAT7D4.mjs.map +0 -1
- package/dist/chunk-3Z43XGA4.mjs +0 -54
- package/dist/chunk-3Z43XGA4.mjs.map +0 -1
- package/dist/chunk-4FDUURSD.js +0 -22
- package/dist/chunk-4FDUURSD.js.map +0 -1
- package/dist/chunk-4WBCWJSN.js +0 -836
- package/dist/chunk-4WBCWJSN.js.map +0 -1
- package/dist/chunk-5GBDDXYL.mjs +0 -23
- package/dist/chunk-5GBDDXYL.mjs.map +0 -1
- package/dist/chunk-5USIS3UM.js +0 -4
- package/dist/chunk-5USIS3UM.js.map +0 -1
- package/dist/chunk-7E3J7VAD.mjs +0 -3
- package/dist/chunk-7E3J7VAD.mjs.map +0 -1
- package/dist/chunk-ACUFEDVQ.js +0 -345
- package/dist/chunk-ACUFEDVQ.js.map +0 -1
- package/dist/chunk-AQPU2AXH.js +0 -756
- package/dist/chunk-AQPU2AXH.js.map +0 -1
- package/dist/chunk-ATUCZXJY.js +0 -80
- package/dist/chunk-ATUCZXJY.js.map +0 -1
- package/dist/chunk-B3CZ3HXJ.mjs +0 -126
- package/dist/chunk-B3CZ3HXJ.mjs.map +0 -1
- package/dist/chunk-BCE6RUZV.js +0 -2695
- package/dist/chunk-BCE6RUZV.js.map +0 -1
- package/dist/chunk-BIHYZA67.mjs +0 -2613
- package/dist/chunk-BIHYZA67.mjs.map +0 -1
- package/dist/chunk-C6KV7VTZ.mjs +0 -152
- package/dist/chunk-C6KV7VTZ.mjs.map +0 -1
- package/dist/chunk-CAYOQDBR.js +0 -78
- package/dist/chunk-CAYOQDBR.js.map +0 -1
- package/dist/chunk-CIVO4R6N.mjs +0 -37
- package/dist/chunk-CIVO4R6N.mjs.map +0 -1
- package/dist/chunk-CX2GHCAI.mjs +0 -217
- package/dist/chunk-CX2GHCAI.mjs.map +0 -1
- package/dist/chunk-DIF5VRL3.mjs +0 -73
- package/dist/chunk-DIF5VRL3.mjs.map +0 -1
- package/dist/chunk-FCEBAWN6.js +0 -18
- package/dist/chunk-FCEBAWN6.js.map +0 -1
- package/dist/chunk-FHIE5MTC.mjs +0 -541
- package/dist/chunk-FHIE5MTC.mjs.map +0 -1
- package/dist/chunk-FHLTPXAR.js +0 -56
- package/dist/chunk-FHLTPXAR.js.map +0 -1
- package/dist/chunk-FIUBFREP.mjs +0 -298
- package/dist/chunk-FIUBFREP.mjs.map +0 -1
- package/dist/chunk-FOQEQWX5.js +0 -4
- package/dist/chunk-FOQEQWX5.js.map +0 -1
- package/dist/chunk-FXQOXLDE.js +0 -120
- package/dist/chunk-FXQOXLDE.js.map +0 -1
- package/dist/chunk-G4NFB2QA.mjs +0 -212
- package/dist/chunk-G4NFB2QA.mjs.map +0 -1
- package/dist/chunk-G5HJGXGC.mjs +0 -39
- package/dist/chunk-G5HJGXGC.mjs.map +0 -1
- package/dist/chunk-G6HXNQ2U.mjs +0 -336
- package/dist/chunk-G6HXNQ2U.mjs.map +0 -1
- package/dist/chunk-G6NSKJMH.js +0 -106
- package/dist/chunk-G6NSKJMH.js.map +0 -1
- package/dist/chunk-G7UBMCUT.mjs +0 -41
- package/dist/chunk-G7UBMCUT.mjs.map +0 -1
- package/dist/chunk-GQZHGSRR.js +0 -44
- package/dist/chunk-GQZHGSRR.js.map +0 -1
- package/dist/chunk-GS7XLKET.js +0 -41
- package/dist/chunk-GS7XLKET.js.map +0 -1
- package/dist/chunk-GWNBVGDT.mjs +0 -1232
- package/dist/chunk-GWNBVGDT.mjs.map +0 -1
- package/dist/chunk-HDMIOOZY.mjs +0 -546
- package/dist/chunk-HDMIOOZY.mjs.map +0 -1
- package/dist/chunk-HJ6MH7J7.js +0 -552
- package/dist/chunk-HJ6MH7J7.js.map +0 -1
- package/dist/chunk-HJZHQW5R.mjs +0 -146
- package/dist/chunk-HJZHQW5R.mjs.map +0 -1
- package/dist/chunk-I5ZPEDNR.mjs +0 -734
- package/dist/chunk-I5ZPEDNR.mjs.map +0 -1
- package/dist/chunk-IBWDBBX5.mjs +0 -16
- package/dist/chunk-IBWDBBX5.mjs.map +0 -1
- package/dist/chunk-J77KR2EV.mjs +0 -193
- package/dist/chunk-J77KR2EV.mjs.map +0 -1
- package/dist/chunk-KH6RQ4J5.js +0 -28
- package/dist/chunk-KH6RQ4J5.js.map +0 -1
- package/dist/chunk-KQ643L7Z.js +0 -144
- package/dist/chunk-KQ643L7Z.js.map +0 -1
- package/dist/chunk-LFB5EIIM.mjs +0 -31
- package/dist/chunk-LFB5EIIM.mjs.map +0 -1
- package/dist/chunk-LHJKLUM7.mjs +0 -18
- package/dist/chunk-LHJKLUM7.mjs.map +0 -1
- package/dist/chunk-MBANGIG3.mjs +0 -781
- package/dist/chunk-MBANGIG3.mjs.map +0 -1
- package/dist/chunk-MWSAH7ZG.mjs +0 -42
- package/dist/chunk-MWSAH7ZG.mjs.map +0 -1
- package/dist/chunk-MZOGYD4N.mjs +0 -186
- package/dist/chunk-MZOGYD4N.mjs.map +0 -1
- package/dist/chunk-NCRP2YHY.mjs +0 -1598
- package/dist/chunk-NCRP2YHY.mjs.map +0 -1
- package/dist/chunk-NDGHXVGS.js +0 -25
- package/dist/chunk-NDGHXVGS.js.map +0 -1
- package/dist/chunk-NDPO5OMC.js +0 -563
- package/dist/chunk-NDPO5OMC.js.map +0 -1
- package/dist/chunk-PBI7FKMB.js +0 -43
- package/dist/chunk-PBI7FKMB.js.map +0 -1
- package/dist/chunk-Q5EDCKQA.js +0 -336
- package/dist/chunk-Q5EDCKQA.js.map +0 -1
- package/dist/chunk-Q5VFBPMG.mjs +0 -76
- package/dist/chunk-Q5VFBPMG.mjs.map +0 -1
- package/dist/chunk-QDUBO567.js +0 -1148
- package/dist/chunk-QDUBO567.js.map +0 -1
- package/dist/chunk-QP5N3ER6.js +0 -18
- package/dist/chunk-QP5N3ER6.js.map +0 -1
- package/dist/chunk-QXAOXBVB.mjs +0 -135
- package/dist/chunk-QXAOXBVB.mjs.map +0 -1
- package/dist/chunk-R2DXTE2L.js +0 -249
- package/dist/chunk-R2DXTE2L.js.map +0 -1
- package/dist/chunk-RJP2BRJD.mjs +0 -6077
- package/dist/chunk-RJP2BRJD.mjs.map +0 -1
- package/dist/chunk-RTD2WHQQ.mjs +0 -16
- package/dist/chunk-RTD2WHQQ.mjs.map +0 -1
- package/dist/chunk-RWCD2CAD.mjs +0 -1132
- package/dist/chunk-RWCD2CAD.mjs.map +0 -1
- package/dist/chunk-S37OK2QG.js +0 -216
- package/dist/chunk-S37OK2QG.js.map +0 -1
- package/dist/chunk-S3PUP7N4.js +0 -20
- package/dist/chunk-S3PUP7N4.js.map +0 -1
- package/dist/chunk-S6YSGVWD.js +0 -224
- package/dist/chunk-S6YSGVWD.js.map +0 -1
- package/dist/chunk-S732H246.js +0 -6154
- package/dist/chunk-S732H246.js.map +0 -1
- package/dist/chunk-SFDJNKWC.js +0 -22
- package/dist/chunk-SFDJNKWC.js.map +0 -1
- package/dist/chunk-SKFEJPMJ.mjs +0 -226
- package/dist/chunk-SKFEJPMJ.mjs.map +0 -1
- package/dist/chunk-SLKOEYFH.js +0 -303
- package/dist/chunk-SLKOEYFH.js.map +0 -1
- package/dist/chunk-TC5YU6A4.mjs +0 -243
- package/dist/chunk-TC5YU6A4.mjs.map +0 -1
- package/dist/chunk-TXMX6PZR.js +0 -190
- package/dist/chunk-TXMX6PZR.js.map +0 -1
- package/dist/chunk-UCOE6SET.js +0 -148
- package/dist/chunk-UCOE6SET.js.map +0 -1
- package/dist/chunk-UIYKZ73N.js +0 -36
- package/dist/chunk-UIYKZ73N.js.map +0 -1
- package/dist/chunk-V7EVKD5G.mjs +0 -116
- package/dist/chunk-V7EVKD5G.mjs.map +0 -1
- package/dist/chunk-VHN7PF5I.js +0 -20
- package/dist/chunk-VHN7PF5I.js.map +0 -1
- package/dist/chunk-VMTEDX5H.js +0 -1275
- package/dist/chunk-VMTEDX5H.js.map +0 -1
- package/dist/chunk-VRN76M56.mjs +0 -3
- package/dist/chunk-VRN76M56.mjs.map +0 -1
- package/dist/chunk-VXFUXZN5.mjs +0 -20
- package/dist/chunk-VXFUXZN5.mjs.map +0 -1
- package/dist/chunk-WEEXCPSE.mjs +0 -86
- package/dist/chunk-WEEXCPSE.mjs.map +0 -1
- package/dist/chunk-WW4GE6CZ.js +0 -1647
- package/dist/chunk-WW4GE6CZ.js.map +0 -1
- package/dist/chunk-WZDTNDYR.js +0 -207
- package/dist/chunk-WZDTNDYR.js.map +0 -1
- package/dist/chunk-XBZIS3MV.mjs +0 -13
- package/dist/chunk-XBZIS3MV.mjs.map +0 -1
- package/dist/chunk-XFOZ56FB.mjs +0 -20
- package/dist/chunk-XFOZ56FB.mjs.map +0 -1
- package/dist/chunk-XJ7ZAGC5.js +0 -88
- package/dist/chunk-XJ7ZAGC5.js.map +0 -1
- package/dist/chunk-XUS5ACKR.mjs +0 -100
- package/dist/chunk-XUS5ACKR.mjs.map +0 -1
- package/dist/chunk-YOTQG4NP.mjs +0 -314
- package/dist/chunk-YOTQG4NP.mjs.map +0 -1
- package/dist/chunk-Z23HAXHL.js +0 -136
- package/dist/chunk-Z23HAXHL.js.map +0 -1
- package/dist/chunk-ZGVB35L2.mjs +0 -25
- package/dist/chunk-ZGVB35L2.mjs.map +0 -1
- package/dist/chunk-ZLYPALF3.js +0 -242
- package/dist/chunk-ZLYPALF3.js.map +0 -1
- package/dist/chunk-ZM2SZJTZ.js +0 -158
- package/dist/chunk-ZM2SZJTZ.js.map +0 -1
- package/dist/chunk-ZRAW3HXA.js +0 -43
- package/dist/chunk-ZRAW3HXA.js.map +0 -1
- package/dist/chunk-ZWQJSZEY.js +0 -371
- package/dist/chunk-ZWQJSZEY.js.map +0 -1
- package/dist/components/index.d.mts +0 -405
- package/dist/components/index.d.ts +0 -405
- package/dist/components/index.js +0 -2516
- package/dist/components/index.js.map +0 -1
- package/dist/components/index.mjs +0 -2396
- package/dist/components/index.mjs.map +0 -1
- package/dist/config/index.d.mts +0 -1
- package/dist/config/index.d.ts +0 -1
- package/dist/config/index.js +0 -21
- package/dist/config/index.mjs +0 -4
- package/dist/config/server/index.js +0 -1177
- package/dist/config/server/index.js.map +0 -1
- package/dist/config/server/index.mjs +0 -1138
- package/dist/config/server/index.mjs.map +0 -1
- package/dist/drizzle-schema-BNhqj2AZ.d.mts +0 -1114
- package/dist/drizzle-schema-BNhqj2AZ.d.ts +0 -1114
- package/dist/festivalCard/index.d.mts +0 -76
- package/dist/festivalCard/index.d.ts +0 -76
- package/dist/festivalCard/index.js +0 -1492
- package/dist/festivalCard/index.js.map +0 -1
- package/dist/festivalCard/index.mjs +0 -1475
- package/dist/festivalCard/index.mjs.map +0 -1
- package/dist/festivalCard/routes/index.d.mts +0 -42
- package/dist/festivalCard/routes/index.d.ts +0 -42
- package/dist/festivalCard/routes/index.js +0 -361
- package/dist/festivalCard/routes/index.js.map +0 -1
- package/dist/festivalCard/routes/index.mjs +0 -356
- package/dist/festivalCard/routes/index.mjs.map +0 -1
- package/dist/festivalCard/server/index.d.mts +0 -120
- package/dist/festivalCard/server/index.d.ts +0 -120
- package/dist/festivalCard/server/index.js +0 -272
- package/dist/festivalCard/server/index.js.map +0 -1
- package/dist/festivalCard/server/index.mjs +0 -265
- package/dist/festivalCard/server/index.mjs.map +0 -1
- package/dist/festivalCardService-B3GsnNpV.d.ts +0 -13
- package/dist/festivalCardService-CWhrLNE9.d.mts +0 -13
- package/dist/i18n/index.d.mts +0 -2
- package/dist/i18n/index.d.ts +0 -2
- package/dist/i18n/index.js +0 -73
- package/dist/i18n/index.mjs +0 -4
- package/dist/imageCrop/index.d.mts +0 -165
- package/dist/imageCrop/index.d.ts +0 -165
- package/dist/imageCrop/index.js +0 -560
- package/dist/imageCrop/index.js.map +0 -1
- package/dist/imageCrop/index.mjs +0 -541
- package/dist/imageCrop/index.mjs.map +0 -1
- package/dist/index-2G9Dxjvt.d.ts +0 -81
- package/dist/index-BcjDRcKp.d.mts +0 -40
- package/dist/index-Bjem5rWn.d.mts +0 -17
- package/dist/index-BlpXrrTy.d.ts +0 -40
- package/dist/index-C5U-2hJq.d.ts +0 -23
- package/dist/index-CYuUB8aF.d.mts +0 -67
- package/dist/index-CifSBBP2.d.ts +0 -17
- package/dist/index-D0K4ehme.d.mts +0 -20
- package/dist/index-DLnfKN-a.d.mts +0 -23
- package/dist/index-DSel44Ke.d.mts +0 -93
- package/dist/index-DSel44Ke.d.ts +0 -93
- package/dist/index-DZ5iJtNO.d.mts +0 -102
- package/dist/index-DZ5iJtNO.d.ts +0 -102
- package/dist/index-Da7qdkgW.d.ts +0 -20
- package/dist/index-DrPcMJPc.d.mts +0 -250
- package/dist/index-DrPcMJPc.d.ts +0 -250
- package/dist/index-WrR57hKT.d.ts +0 -67
- package/dist/index-oLUvfqT8.d.ts +0 -20
- package/dist/index-pe38RDgC.d.mts +0 -20
- package/dist/index-qcOvRVuN.d.mts +0 -81
- package/dist/index.d.mts +0 -11590
- package/dist/index.d.ts +0 -11590
- package/dist/index.js +0 -17679
- package/dist/index.js.map +0 -1
- package/dist/index.mjs +0 -17403
- package/dist/index.mjs.map +0 -1
- package/dist/logger/index.d.mts +0 -125
- package/dist/logger/index.d.ts +0 -125
- package/dist/logger/index.js +0 -29
- package/dist/logger/index.mjs +0 -4
- package/dist/mikuContest/ui/web/index.d.mts +0 -2
- package/dist/mikuContest/ui/web/index.d.ts +0 -2
- package/dist/mikuContest/ui/web/index.js +0 -353
- package/dist/mikuContest/ui/web/index.js.map +0 -1
- package/dist/mikuContest/ui/web/index.mjs +0 -343
- package/dist/mikuContest/ui/web/index.mjs.map +0 -1
- package/dist/mikuFireworks3D/index.d.mts +0 -268
- package/dist/mikuFireworks3D/index.d.ts +0 -268
- package/dist/mikuFireworks3D/index.js +0 -1267
- package/dist/mikuFireworks3D/index.js.map +0 -1
- package/dist/mikuFireworks3D/index.mjs +0 -1228
- package/dist/mikuFireworks3D/index.mjs.map +0 -1
- package/dist/mikuFusionGame/index.d.mts +0 -117
- package/dist/mikuFusionGame/index.d.ts +0 -117
- package/dist/mikuFusionGame/index.js +0 -1208
- package/dist/mikuFusionGame/index.js.map +0 -1
- package/dist/mikuFusionGame/index.mjs +0 -1195
- package/dist/mikuFusionGame/index.mjs.map +0 -1
- package/dist/mmd/admin/index.d.mts +0 -487
- package/dist/mmd/admin/index.d.ts +0 -487
- package/dist/mmd/admin/index.js +0 -1058
- package/dist/mmd/admin/index.js.map +0 -1
- package/dist/mmd/admin/index.mjs +0 -1027
- package/dist/mmd/admin/index.mjs.map +0 -1
- package/dist/mmd/index.d.mts +0 -2467
- package/dist/mmd/index.d.ts +0 -2467
- package/dist/mmd/index.js +0 -10119
- package/dist/mmd/index.js.map +0 -1
- package/dist/mmd/index.mjs +0 -10028
- package/dist/mmd/index.mjs.map +0 -1
- package/dist/mmd/server/index.d.mts +0 -139
- package/dist/mmd/server/index.d.ts +0 -139
- package/dist/mmd/server/index.js +0 -424
- package/dist/mmd/server/index.js.map +0 -1
- package/dist/mmd/server/index.mjs +0 -404
- package/dist/mmd/server/index.mjs.map +0 -1
- package/dist/music/index.d.mts +0 -74
- package/dist/music/index.d.ts +0 -74
- package/dist/music/index.js +0 -830
- package/dist/music/index.js.map +0 -1
- package/dist/music/index.mjs +0 -809
- package/dist/music/index.mjs.map +0 -1
- package/dist/music/server/index.d.mts +0 -1
- package/dist/music/server/index.d.ts +0 -1
- package/dist/music/server/index.js +0 -194
- package/dist/music/server/index.js.map +0 -1
- package/dist/music/server/index.mjs +0 -182
- package/dist/music/server/index.mjs.map +0 -1
- package/dist/navigation/index.d.mts +0 -93
- package/dist/navigation/index.d.ts +0 -93
- package/dist/navigation/index.js +0 -453
- package/dist/navigation/index.js.map +0 -1
- package/dist/navigation/index.mjs +0 -443
- package/dist/navigation/index.mjs.map +0 -1
- package/dist/ossFile/index.d.mts +0 -61
- package/dist/ossFile/index.d.ts +0 -61
- package/dist/ossFile/index.js +0 -96
- package/dist/ossFile/index.js.map +0 -1
- package/dist/ossFile/index.mjs +0 -7
- package/dist/ossFile/index.mjs.map +0 -1
- package/dist/ossFile/server/index.d.mts +0 -94
- package/dist/ossFile/server/index.d.ts +0 -94
- package/dist/ossFile/server/index.js +0 -213
- package/dist/ossFile/server/index.js.map +0 -1
- package/dist/ossFile/server/index.mjs +0 -12
- package/dist/ossFile/server/index.mjs.map +0 -1
- package/dist/path-DkaHQSyW.d.mts +0 -41
- package/dist/path-qjVnH8qU.d.ts +0 -41
- package/dist/portfolio/index.d.mts +0 -66
- package/dist/portfolio/index.d.ts +0 -66
- package/dist/portfolio/index.js +0 -736
- package/dist/portfolio/index.js.map +0 -1
- package/dist/portfolio/index.mjs +0 -724
- package/dist/portfolio/index.mjs.map +0 -1
- package/dist/qqbot/server/index.d.mts +0 -216
- package/dist/qqbot/server/index.d.ts +0 -216
- package/dist/qqbot/server/index.js +0 -394
- package/dist/qqbot/server/index.js.map +0 -1
- package/dist/qqbot/server/index.mjs +0 -385
- package/dist/qqbot/server/index.mjs.map +0 -1
- package/dist/qqbot/ui/web/index.d.mts +0 -10
- package/dist/qqbot/ui/web/index.d.ts +0 -10
- package/dist/qqbot/ui/web/index.js +0 -105
- package/dist/qqbot/ui/web/index.js.map +0 -1
- package/dist/qqbot/ui/web/index.mjs +0 -99
- package/dist/qqbot/ui/web/index.mjs.map +0 -1
- package/dist/request/index.d.mts +0 -59
- package/dist/request/index.d.ts +0 -59
- package/dist/request/index.js +0 -23
- package/dist/request/index.js.map +0 -1
- package/dist/request/index.mjs +0 -6
- package/dist/request/index.mjs.map +0 -1
- package/dist/screenReceiver/index.d.mts +0 -86
- package/dist/screenReceiver/index.d.ts +0 -86
- package/dist/screenReceiver/index.js +0 -281
- package/dist/screenReceiver/index.js.map +0 -1
- package/dist/screenReceiver/index.mjs +0 -273
- package/dist/screenReceiver/index.mjs.map +0 -1
- package/dist/session-BCXvGCnm.d.mts +0 -81
- package/dist/session-BCXvGCnm.d.ts +0 -81
- package/dist/storage/index.d.mts +0 -136
- package/dist/storage/index.d.ts +0 -136
- package/dist/storage/index.js +0 -48
- package/dist/storage/index.js.map +0 -1
- package/dist/storage/index.mjs +0 -7
- package/dist/storage/index.mjs.map +0 -1
- package/dist/testYourself/admin/index.d.mts +0 -58
- package/dist/testYourself/admin/index.d.ts +0 -58
- package/dist/testYourself/admin/index.js +0 -1009
- package/dist/testYourself/admin/index.js.map +0 -1
- package/dist/testYourself/admin/index.mjs +0 -1002
- package/dist/testYourself/admin/index.mjs.map +0 -1
- package/dist/testYourself/index.d.mts +0 -53
- package/dist/testYourself/index.d.ts +0 -53
- package/dist/testYourself/index.js +0 -2551
- package/dist/testYourself/index.js.map +0 -1
- package/dist/testYourself/index.mjs +0 -2531
- package/dist/testYourself/index.mjs.map +0 -1
- package/dist/testYourself/server/index.d.mts +0 -1029
- package/dist/testYourself/server/index.d.ts +0 -1029
- package/dist/testYourself/server/index.js +0 -825
- package/dist/testYourself/server/index.js.map +0 -1
- package/dist/testYourself/server/index.mjs +0 -816
- package/dist/testYourself/server/index.mjs.map +0 -1
- package/dist/types-3ujSNAXb.d.mts +0 -286
- package/dist/types-3ujSNAXb.d.ts +0 -286
- package/dist/types-B6B210gX.d.mts +0 -270
- package/dist/types-B6B210gX.d.ts +0 -270
- package/dist/types-Bdnte5EN.d.mts +0 -292
- package/dist/types-C_W_CoUD.d.ts +0 -99
- package/dist/types-Cs0CLvrH.d.mts +0 -70
- package/dist/types-Cs0CLvrH.d.ts +0 -70
- package/dist/types-DCRvasyH.d.mts +0 -99
- package/dist/types-HorDyIRv.d.mts +0 -303
- package/dist/types-HorDyIRv.d.ts +0 -303
- package/dist/types-_rFX1atk.d.ts +0 -292
- package/dist/types.legacy-J-j-_ig_.d.mts +0 -25
- package/dist/types.legacy-J-j-_ig_.d.ts +0 -25
- package/dist/universalExport/index.d.mts +0 -312
- package/dist/universalExport/index.d.ts +0 -312
- package/dist/universalExport/index.js +0 -178
- package/dist/universalExport/index.js.map +0 -1
- package/dist/universalExport/index.mjs +0 -5
- package/dist/universalExport/index.mjs.map +0 -1
- package/dist/universalExport/server/index.d.mts +0 -1270
- package/dist/universalExport/server/index.d.ts +0 -1270
- package/dist/universalExport/server/index.js +0 -123
- package/dist/universalExport/server/index.js.map +0 -1
- package/dist/universalExport/server/index.mjs +0 -6
- package/dist/universalExport/server/index.mjs.map +0 -1
- package/dist/universalFile/index.d.mts +0 -409
- package/dist/universalFile/index.d.ts +0 -409
- package/dist/universalFile/index.js +0 -1742
- package/dist/universalFile/index.js.map +0 -1
- package/dist/universalFile/index.mjs +0 -1497
- package/dist/universalFile/index.mjs.map +0 -1
- package/dist/universalFile/server/index.d.mts +0 -1064
- package/dist/universalFile/server/index.d.ts +0 -1064
- package/dist/universalFile/server/index.js +0 -311
- package/dist/universalFile/server/index.js.map +0 -1
- package/dist/universalFile/server/index.mjs +0 -10
- package/dist/universalFile/server/index.mjs.map +0 -1
- package/dist/utils/index.d.mts +0 -192
- package/dist/utils/index.d.ts +0 -192
- package/dist/utils/index.js +0 -46
- package/dist/utils/index.js.map +0 -1
- package/dist/utils/index.mjs +0 -5
- package/dist/utils/index.mjs.map +0 -1
- package/dist/vocaloidBooth/index.d.mts +0 -64
- package/dist/vocaloidBooth/index.d.ts +0 -64
- package/dist/vocaloidBooth/index.js +0 -376
- package/dist/vocaloidBooth/index.js.map +0 -1
- package/dist/vocaloidBooth/index.mjs +0 -362
- package/dist/vocaloidBooth/index.mjs.map +0 -1
- package/dist/vocaloidBooth/server/index.d.mts +0 -111
- package/dist/vocaloidBooth/server/index.d.ts +0 -111
- package/dist/vocaloidBooth/server/index.js +0 -247
- package/dist/vocaloidBooth/server/index.js.map +0 -1
- package/dist/vocaloidBooth/server/index.mjs +0 -237
- package/dist/vocaloidBooth/server/index.mjs.map +0 -1
- package/dist/vocaloidBooth/web/index.d.mts +0 -3
- package/dist/vocaloidBooth/web/index.d.ts +0 -3
- package/dist/vocaloidBooth/web/index.js +0 -376
- package/dist/vocaloidBooth/web/index.js.map +0 -1
- package/dist/vocaloidBooth/web/index.mjs +0 -362
- package/dist/vocaloidBooth/web/index.mjs.map +0 -1
- /package/dist/{ai → common/ai}/llm/core/index.js.map +0 -0
- /package/dist/{ai → common/ai}/llm/core/index.mjs.map +0 -0
- /package/dist/{ai → common/ai}/llm/electron/index.js.map +0 -0
- /package/dist/{ai → common/ai}/llm/electron/index.mjs.map +0 -0
- /package/dist/{ai → common/ai}/llm/index.js.map +0 -0
- /package/dist/{ai → common/ai}/llm/index.mjs.map +0 -0
- /package/dist/{ai → common/ai}/llm/miniapp/index.js.map +0 -0
- /package/dist/{ai → common/ai}/llm/miniapp/index.mjs.map +0 -0
- /package/dist/{ai → common/ai}/llm/rn/index.js.map +0 -0
- /package/dist/{ai → common/ai}/llm/rn/index.mjs.map +0 -0
- /package/dist/{ai → common/ai}/llm/ui/electron/index.js.map +0 -0
- /package/dist/{ai → common/ai}/llm/ui/electron/index.mjs.map +0 -0
- /package/dist/{ai → common/ai}/llm/ui/miniapp/index.js.map +0 -0
- /package/dist/{ai → common/ai}/llm/ui/miniapp/index.mjs.map +0 -0
- /package/dist/{ai → common/ai}/llm/ui/rn/index.js.map +0 -0
- /package/dist/{ai → common/ai}/llm/ui/rn/index.mjs.map +0 -0
- /package/dist/{ai → common/ai}/llm/ui/web/index.js.map +0 -0
- /package/dist/{ai → common/ai}/llm/ui/web/index.mjs.map +0 -0
- /package/dist/{ai → common/ai}/llm/web/index.js.map +0 -0
- /package/dist/{ai → common/ai}/llm/web/index.mjs.map +0 -0
- /package/dist/{analytics → common/analytics}/index.js.map +0 -0
- /package/dist/{analytics → common/analytics}/index.mjs.map +0 -0
- /package/dist/{analytics → common/analytics}/server/index.d.mts +0 -0
- /package/dist/{analytics → common/analytics}/server/index.d.ts +0 -0
- /package/dist/{api → common/api}/index.js.map +0 -0
- /package/dist/{api → common/api}/index.mjs.map +0 -0
- /package/dist/{auth/client → common/components}/index.js.map +0 -0
- /package/dist/{auth/client → common/components}/index.mjs.map +0 -0
- /package/dist/{auth/components → common/config}/index.js.map +0 -0
- /package/dist/{auth/components → common/config}/index.mjs.map +0 -0
- /package/dist/{config → common/config}/server/index.d.mts +0 -0
- /package/dist/{config → common/config}/server/index.d.ts +0 -0
- /package/dist/{auth/hooks → common/i18n}/index.js.map +0 -0
- /package/dist/{auth/hooks → common/i18n}/index.mjs.map +0 -0
- /package/dist/{auth → common/imageCrop}/index.js.map +0 -0
- /package/dist/{auth → common/imageCrop}/index.mjs.map +0 -0
- /package/dist/{auth/schema → common/ossFile}/index.js.map +0 -0
- /package/dist/{auth/schema → common/ossFile}/index.mjs.map +0 -0
- /package/dist/{auth/services → common/ossFile/server}/index.js.map +0 -0
- /package/dist/{auth/services → common/ossFile/server}/index.mjs.map +0 -0
- /package/dist/{config → common/universalExport}/index.js.map +0 -0
- /package/dist/{config → common/universalExport}/index.mjs.map +0 -0
- /package/dist/{i18n → common/universalExport/server}/index.js.map +0 -0
- /package/dist/{i18n → common/universalExport/server}/index.mjs.map +0 -0
- /package/dist/{logger → common/universalFile/server}/index.js.map +0 -0
- /package/dist/{logger → common/universalFile/server}/index.mjs.map +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/common/universalFile/constants.ts","../src/common/universalFile/utils.ts","../src/common/universalFile/client.ts"],"names":[],"mappings":"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","file":"chunk-DTR53LQO.mjs","sourcesContent":["/**\n * 通用文件服务常量定义\n */\n\n// ============= 版本信息 =============\n\n/** 模块版本 */\nexport const UNIVERSAL_FILE_VERSION = '1.0.0';\n\n/** 模块名称 */\nexport const UNIVERSAL_FILE_NAME = '@qhr123/sa2kit/universalFile';\n\n// ============= 文件大小限制 =============\n\n/** 默认最大文件大小(字节) - 100MB */\nexport const DEFAULT_MAX_FILE_SIZE = 100 * 1024 * 1024;\n\n/** 默认最大图片大小(字节) - 10MB */\nexport const DEFAULT_MAX_IMAGE_SIZE = 10 * 1024 * 1024;\n\n/** 默认最大视频大小(字节) - 500MB */\nexport const DEFAULT_MAX_VIDEO_SIZE = 500 * 1024 * 1024;\n\n/** 默认最大音频大小(字节) - 50MB */\nexport const DEFAULT_MAX_AUDIO_SIZE = 50 * 1024 * 1024;\n\n/** 默认最大文档大小(字节) - 20MB */\nexport const DEFAULT_MAX_DOCUMENT_SIZE = 20 * 1024 * 1024;\n\n// ============= MIME类型 =============\n\n/** 图片MIME类型 */\nexport const IMAGE_MIME_TYPES = [\n 'image/jpeg',\n 'image/jpg',\n 'image/png',\n 'image/gif',\n 'image/webp',\n 'image/svg+xml',\n];\n\n/** 视频MIME类型 */\nexport const VIDEO_MIME_TYPES = [\n 'video/mp4',\n 'video/mpeg',\n 'video/quicktime',\n 'video/x-msvideo',\n 'video/webm',\n];\n\n/** 音频MIME类型 */\nexport const AUDIO_MIME_TYPES = ['audio/mpeg', 'audio/mp3', 'audio/wav', 'audio/ogg', 'audio/aac'];\n\n/** 文档MIME类型 */\nexport const DOCUMENT_MIME_TYPES = [\n 'application/pdf',\n 'application/msword',\n 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',\n 'application/vnd.ms-excel',\n 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',\n 'application/vnd.ms-powerpoint',\n 'application/vnd.openxmlformats-officedocument.presentationml.presentation',\n 'text/plain',\n];\n\n/** 所有支持的MIME类型 */\nexport const ALL_SUPPORTED_MIME_TYPES = [\n ...IMAGE_MIME_TYPES,\n ...VIDEO_MIME_TYPES,\n ...AUDIO_MIME_TYPES,\n ...DOCUMENT_MIME_TYPES,\n];\n\n// ============= 文件扩展名 =============\n\n/** 图片扩展名 */\nexport const IMAGE_EXTENSIONS = ['.jpg', '.jpeg', '.png', '.gif', '.webp', '.svg'];\n\n/** 视频扩展名 */\nexport const VIDEO_EXTENSIONS = ['.mp4', '.mpeg', '.mov', '.avi', '.webm'];\n\n/** 音频扩展名 */\nexport const AUDIO_EXTENSIONS = ['.mp3', '.wav', '.ogg', '.aac'];\n\n/** 文档扩展名 */\nexport const DOCUMENT_EXTENSIONS = [\n '.pdf',\n '.doc',\n '.docx',\n '.xls',\n '.xlsx',\n '.ppt',\n '.pptx',\n '.txt',\n];\n\n// ============= API端点 =============\n\n/** API基础路径 */\nexport const API_BASE_PATH = '/api/universal-file';\n\n/** API端点 */\nexport const API_ENDPOINTS = {\n /** 上传文件 */\n UPLOAD: (API_BASE_PATH) + '/upload',\n /** 获取文件URL */\n GET_URL: (fileId: string) => (API_BASE_PATH) + '/files/' + (fileId) + '/url',\n /** 获取文件元数据 */\n GET_METADATA: (fileId: string) => (API_BASE_PATH) + '/files/' + (fileId),\n /** 删除文件 */\n DELETE: (fileId: string) => (API_BASE_PATH) + '/files/' + (fileId),\n /** 查询文件列表 */\n QUERY: (API_BASE_PATH) + '/files',\n /** 批量删除 */\n BATCH_DELETE: (API_BASE_PATH) + '/files/batch-delete',\n /** 获取上传进度 */\n GET_PROGRESS: (fileId: string) => (API_BASE_PATH) + '/upload/' + (fileId) + '/progress',\n} as const;\n\n// ============= 错误代码 =============\n\n/** 错误代码 */\nexport const ERROR_CODES = {\n /** 文件上传错误 */\n FILE_UPLOAD_ERROR: 'FILE_UPLOAD_ERROR',\n /** 文件大小超限 */\n FILE_SIZE_EXCEEDED: 'FILE_SIZE_EXCEEDED',\n /** 文件类型不支持 */\n FILE_TYPE_NOT_SUPPORTED: 'FILE_TYPE_NOT_SUPPORTED',\n /** 文件不存在 */\n FILE_NOT_FOUND: 'FILE_NOT_FOUND',\n /** 文件处理错误 */\n FILE_PROCESSING_ERROR: 'FILE_PROCESSING_ERROR',\n /** 存储提供者错误 */\n STORAGE_PROVIDER_ERROR: 'STORAGE_PROVIDER_ERROR',\n /** CDN提供者错误 */\n CDN_PROVIDER_ERROR: 'CDN_PROVIDER_ERROR',\n /** 网络错误 */\n NETWORK_ERROR: 'NETWORK_ERROR',\n /** 超时错误 */\n TIMEOUT_ERROR: 'TIMEOUT_ERROR',\n /** 未授权 */\n UNAUTHORIZED: 'UNAUTHORIZED',\n /** 权限不足 */\n FORBIDDEN: 'FORBIDDEN',\n /** 服务器错误 */\n SERVER_ERROR: 'SERVER_ERROR',\n} as const;\n\n// ============= 默认配置 =============\n\n/** 默认分页大小 */\nexport const DEFAULT_PAGE_SIZE = 20;\n\n/** 默认请求超时时间(毫秒) - 30秒 */\nexport const DEFAULT_REQUEST_TIMEOUT = 30000;\n\n/** 默认上传超时时间(毫秒) - 5分钟 */\nexport const DEFAULT_UPLOAD_TIMEOUT = 300000;\n\n/** 默认分片上传大小(字节) - 5MB */\nexport const DEFAULT_CHUNK_SIZE = 5 * 1024 * 1024;\n","/**\n * 通用文件服务工具函数\n */\n\nimport {\n IMAGE_MIME_TYPES,\n VIDEO_MIME_TYPES,\n AUDIO_MIME_TYPES,\n DOCUMENT_MIME_TYPES,\n} from './constants';\n\n// ============= 文件大小处理 =============\n\n/**\n * 格式化文件大小\n */\nexport function formatFileSize(bytes: number): string {\n if (bytes === 0) return '0 B';\n\n const units = ['B', 'KB', 'MB', 'GB', 'TB'];\n const k = 1024;\n const i = Math.floor(Math.log(bytes) / Math.log(k));\n\n return ((bytes / Math.pow(k, i)).toFixed(2)) + ' ' + (units[i]);\n}\n\n/**\n * 解析文件大小字符串\n */\nexport function parseFileSize(sizeStr: string): number {\n const match = sizeStr.match(/^(\\d+(?:\\.\\d+)?)\\s*([KMGT]?B)$/i);\n if (!match || !match[1] || !match[2]) return 0;\n\n const value = parseFloat(match[1]);\n const unit = match[2].toUpperCase();\n\n const units: Record<string, number> = {\n B: 1,\n KB: 1024,\n MB: 1024 * 1024,\n GB: 1024 * 1024 * 1024,\n TB: 1024 * 1024 * 1024 * 1024,\n };\n\n return value * (units[unit] || 1);\n}\n\n// ============= MIME类型处理 =============\n\n/**\n * 获取文件扩展名\n */\nexport function getFileExtension(fileName: string): string {\n const lastDot = fileName.lastIndexOf('.');\n if (lastDot === -1) return '';\n return fileName.substring(lastDot).toLowerCase();\n}\n\n/**\n * 根据文件名获取MIME类型\n */\nexport function getMimeTypeFromFileName(fileName: string): string {\n const ext = getFileExtension(fileName);\n\n const mimeMap: Record<string, string> = {\n '.jpg': 'image/jpeg',\n '.jpeg': 'image/jpeg',\n '.png': 'image/png',\n '.gif': 'image/gif',\n '.webp': 'image/webp',\n '.svg': 'image/svg+xml',\n '.pdf': 'application/pdf',\n '.txt': 'text/plain',\n '.mp4': 'video/mp4',\n '.avi': 'video/x-msvideo',\n '.mov': 'video/quicktime',\n '.mp3': 'audio/mpeg',\n '.wav': 'audio/wav',\n '.ogg': 'audio/ogg',\n '.doc': 'application/msword',\n '.docx': 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',\n '.xls': 'application/vnd.ms-excel',\n '.xlsx': 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',\n };\n\n return mimeMap[ext] || 'application/octet-stream';\n}\n\n/**\n * 检查MIME类型是否支持\n */\nexport function isMimeTypeSupported(mimeType: string, allowedTypes?: string[]): boolean {\n if (allowedTypes && allowedTypes.length > 0) {\n return allowedTypes.includes(mimeType);\n }\n\n return (\n IMAGE_MIME_TYPES.includes(mimeType) ||\n VIDEO_MIME_TYPES.includes(mimeType) ||\n AUDIO_MIME_TYPES.includes(mimeType) ||\n DOCUMENT_MIME_TYPES.includes(mimeType)\n );\n}\n\n/**\n * 判断是否为图片类型\n */\nexport function isImageFile(mimeType: string): boolean {\n return IMAGE_MIME_TYPES.includes(mimeType);\n}\n\n/**\n * 判断是否为视频类型\n */\nexport function isVideoFile(mimeType: string): boolean {\n return VIDEO_MIME_TYPES.includes(mimeType);\n}\n\n/**\n * 判断是否为音频类型\n */\nexport function isAudioFile(mimeType: string): boolean {\n return AUDIO_MIME_TYPES.includes(mimeType);\n}\n\n/**\n * 判断是否为文档类型\n */\nexport function isDocumentFile(mimeType: string): boolean {\n return DOCUMENT_MIME_TYPES.includes(mimeType);\n}\n\n/**\n * 获取文件类型类别\n */\nexport function getFileCategory(\n mimeType: string\n): 'image' | 'video' | 'audio' | 'document' | 'other' {\n if (isImageFile(mimeType)) return 'image';\n if (isVideoFile(mimeType)) return 'video';\n if (isAudioFile(mimeType)) return 'audio';\n if (isDocumentFile(mimeType)) return 'document';\n return 'other';\n}\n\n// ============= 文件名处理 =============\n\n/**\n * 验证文件名是否合法\n */\nexport function validateFileName(fileName: string): boolean {\n // 检查是否包含非法字符\n const invalidChars = /[<>:\"|?*\\/\\\\]/;\n if (invalidChars.test(fileName)) {\n return false;\n }\n\n // 检查长度\n if (fileName.length === 0 || fileName.length > 255) {\n return false;\n }\n\n // 检查是否以点开头\n if (fileName.startsWith('.')) {\n return false;\n }\n\n return true;\n}\n\n/**\n * 清理文件名,移除非法字符\n */\nexport function sanitizeFileName(fileName: string): string {\n return fileName\n .replace(/[<>:\"|?*\\/\\\\]/g, '_')\n .replace(/^\\.+/, '')\n .substring(0, 255);\n}\n\n/**\n * 生成唯一文件名\n */\nexport function generateUniqueFileName(originalName: string, fileId: string): string {\n const ext = getFileExtension(originalName);\n return (fileId) + (ext);\n}\n\n// ============= 存储路径处理 =============\n\n/**\n * 生成存储路径\n */\nexport function generateStoragePath(\n moduleId: string,\n fileName: string,\n options?: {\n businessId?: string;\n useDate?: boolean;\n customPrefix?: string;\n }\n): string {\n const parts: string[] = [];\n\n // 添加自定义前缀\n if (options?.customPrefix) {\n parts.push(options.customPrefix);\n }\n\n // 添加模块标识\n parts.push(moduleId);\n\n // 添加业务标识\n if (options?.businessId) {\n parts.push(options.businessId);\n }\n\n // 添加日期路径\n if (options?.useDate !== false) {\n const date = new Date();\n const year = date.getFullYear();\n const month = String(date.getMonth() + 1).padStart(2, '0');\n const day = String(date.getDate()).padStart(2, '0');\n parts.push(String(year), month, day);\n }\n\n // 添加文件名\n parts.push(fileName);\n\n return parts.join('/');\n}\n\n/**\n * 解析存储路径\n */\nexport function parseStoragePath(path: string): {\n moduleId?: string;\n businessId?: string;\n year?: string;\n month?: string;\n day?: string;\n fileName: string;\n} {\n const parts = path.split('/');\n const fileName = parts[parts.length - 1] || '';\n\n return {\n moduleId: parts[0] || undefined,\n businessId: parts.length > 5 ? parts[1] : undefined,\n year: parts.length > 3 ? parts[parts.length - 4] : undefined,\n month: parts.length > 2 ? parts[parts.length - 3] : undefined,\n day: parts.length > 1 ? parts[parts.length - 2] : undefined,\n fileName,\n };\n}\n\n// ============= 文件验证 =============\n\n/**\n * 验证文件大小\n */\nexport function validateFileSize(file: File, maxSize: number): { valid: boolean; error?: string } {\n if (file.size > maxSize) {\n return {\n valid: false,\n error: '文件大小超过限制: ' + (formatFileSize(file.size)) + ' > ' + (formatFileSize(maxSize)),\n };\n }\n\n return { valid: true };\n}\n\n/**\n * 验证文件类型\n */\nexport function validateFileType(\n file: File,\n allowedTypes?: string[]\n): { valid: boolean; error?: string } {\n const mimeType = file.type || getMimeTypeFromFileName(file.name);\n\n if (!isMimeTypeSupported(mimeType, allowedTypes)) {\n return {\n valid: false,\n error: '不支持的文件类型: ' + (mimeType),\n };\n }\n\n return { valid: true };\n}\n\n/**\n * 验证文件\n */\nexport function validateFile(\n file: File,\n options?: {\n maxSize?: number;\n allowedTypes?: string[];\n }\n): { valid: boolean; errors: string[] } {\n const errors: string[] = [];\n\n // 验证文件名\n if (!validateFileName(file.name)) {\n errors.push('文件名包含非法字符或长度不合法');\n }\n\n // 验证文件大小\n if (options?.maxSize) {\n const sizeResult = validateFileSize(file, options.maxSize);\n if (!sizeResult.valid && sizeResult.error) {\n errors.push(sizeResult.error);\n }\n }\n\n // 验证文件类型\n if (options?.allowedTypes) {\n const typeResult = validateFileType(file, options.allowedTypes);\n if (!typeResult.valid && typeResult.error) {\n errors.push(typeResult.error);\n }\n }\n\n return {\n valid: errors.length === 0,\n errors,\n };\n}\n\n// ============= URL处理 =============\n\n/**\n * 构建查询字符串\n */\nexport function buildQueryString(params: Record<string, any>): string {\n const searchParams = new URLSearchParams();\n\n Object.entries(params).forEach(([key, value]) => {\n if (value !== undefined && value !== null) {\n if (Array.isArray(value)) {\n value.forEach((v) => searchParams.append(key, String(v)));\n } else {\n searchParams.append(key, String(value));\n }\n }\n });\n\n const queryString = searchParams.toString();\n return queryString ? '?' + (queryString) : '';\n}\n\n/**\n * 解析URL查询参数\n */\nexport function parseQueryString(url: string): Record<string, string> {\n const params: Record<string, string> = {};\n const urlObj = new URL(url, window.location.origin);\n\n urlObj.searchParams.forEach((value, key) => {\n params[key] = value;\n });\n\n return params;\n}\n\n// ============= 进度计算 =============\n\n/**\n * 计算上传进度\n */\nexport function calculateProgress(uploadedBytes: number, totalBytes: number): number {\n if (totalBytes === 0) return 0;\n return Math.min(Math.round((uploadedBytes / totalBytes) * 100), 100);\n}\n\n/**\n * 计算上传速度\n */\nexport function calculateSpeed(uploadedBytes: number, elapsedTime: number): number {\n if (elapsedTime === 0) return 0;\n return uploadedBytes / (elapsedTime / 1000); // 字节/秒\n}\n\n/**\n * 计算剩余时间\n */\nexport function calculateRemainingTime(\n uploadedBytes: number,\n totalBytes: number,\n speed: number\n): number {\n if (speed === 0) return 0;\n const remainingBytes = totalBytes - uploadedBytes;\n return Math.round(remainingBytes / speed); // 秒\n}\n\n// ============= 错误处理 =============\n\n/**\n * 创建文件错误对象\n */\nexport function createFileError(\n code: string,\n message: string,\n details?: Record<string, any>\n): { code: string; message: string; details?: Record<string, any>; timestamp: Date } {\n return {\n code,\n message,\n details,\n timestamp: new Date(),\n };\n}\n\n/**\n * 格式化错误消息\n */\nexport function formatErrorMessage(error: unknown): string {\n if (error instanceof Error) {\n return error.message;\n }\n\n if (typeof error === 'string') {\n return error;\n }\n\n if (error && typeof error === 'object' && 'message' in error) {\n return String(error.message);\n }\n\n return '未知错误';\n}\n\n// ============= 文件读取 =============\n\n/**\n * 读取文件为Base64\n */\nexport function readFileAsBase64(file: File): Promise<string> {\n return new Promise((resolve, reject) => {\n const reader = new FileReader();\n\n reader.onload = () => {\n const result = reader.result as string;\n // 移除Data URL前缀\n const base64 = result.split(',')[1] || '';\n resolve(base64);\n };\n\n reader.onerror = () => {\n reject(new Error('读取文件失败'));\n };\n\n reader.readAsDataURL(file);\n });\n}\n\n/**\n * 读取文件为ArrayBuffer\n */\nexport function readFileAsArrayBuffer(file: File): Promise<ArrayBuffer> {\n return new Promise((resolve, reject) => {\n const reader = new FileReader();\n\n reader.onload = () => {\n resolve(reader.result as ArrayBuffer);\n };\n\n reader.onerror = () => {\n reject(new Error('读取文件失败'));\n };\n\n reader.readAsArrayBuffer(file);\n });\n}\n\n/**\n * 读取文件为文本\n */\nexport function readFileAsText(file: File, encoding: string = 'UTF-8'): Promise<string> {\n return new Promise((resolve, reject) => {\n const reader = new FileReader();\n\n reader.onload = () => {\n resolve(reader.result as string);\n };\n\n reader.onerror = () => {\n reject(new Error('读取文件失败'));\n };\n\n reader.readAsText(file, encoding);\n });\n}\n","/**\n * 通用文件服务客户端SDK\n *\n * 提供文件上传、下载、查询等功能的客户端接口\n */\n\nimport type {\n FileMetadata,\n UploadFileInfo,\n UploadProgress,\n FileQueryOptions,\n PaginatedResult,\n BatchOperationResult,\n} from './types';\nimport {\n API_ENDPOINTS,\n ERROR_CODES,\n DEFAULT_REQUEST_TIMEOUT,\n DEFAULT_UPLOAD_TIMEOUT,\n} from './constants';\nimport { createFileError, formatErrorMessage, buildQueryString } from './utils';\nimport { createLogger } from '../logger';\n\nconst clientLogger = createLogger('UniversalFileClient');\n\n// ============= 配置类型 =============\n\nexport interface UniversalFileClientConfig {\n /** API基础URL */\n baseUrl?: string;\n /** 请求超时时间(毫秒) */\n timeout?: number;\n /** 上传超时时间(毫秒) */\n uploadTimeout?: number;\n /** 自定义请求头 */\n headers?: Record<string, string>;\n}\n\n// ============= 客户端类 =============\n\n/**\n * 通用文件服务客户端\n */\nexport class UniversalFileClient {\n private config: Required<UniversalFileClientConfig>;\n\n constructor(config: UniversalFileClientConfig = {}) {\n this.config = {\n baseUrl: config.baseUrl || '',\n timeout: config.timeout || DEFAULT_REQUEST_TIMEOUT,\n uploadTimeout: config.uploadTimeout || DEFAULT_UPLOAD_TIMEOUT,\n headers: config.headers || {},\n };\n }\n\n // ============= 文件上传API =============\n\n /**\n * 上传文件\n */\n async uploadFile(\n fileInfo: UploadFileInfo,\n onProgress?: (progress: UploadProgress) => void\n ): Promise<FileMetadata> {\n const url = (this.config.baseUrl) + (API_ENDPOINTS.UPLOAD);\n const startTime = Date.now();\n\n // 创建FormData\n const formData = new FormData();\n formData.append('file', fileInfo.file);\n formData.append('moduleId', fileInfo.moduleId);\n\n if (fileInfo.businessId) {\n formData.append('businessId', fileInfo.businessId);\n }\n\n if (fileInfo.permission) {\n formData.append('permission', fileInfo.permission);\n }\n\n if (fileInfo.customPath) {\n formData.append('customPath', fileInfo.customPath);\n }\n\n if (fileInfo.metadata) {\n formData.append('metadata', JSON.stringify(fileInfo.metadata));\n }\n\n if (fileInfo.needsProcessing !== undefined) {\n formData.append('needsProcessing', String(fileInfo.needsProcessing));\n }\n\n if (fileInfo.processingOptions) {\n formData.append('processingOptions', JSON.stringify(fileInfo.processingOptions));\n }\n\n try {\n clientLogger.debug('开始上传文件', {\n url,\n fileName: fileInfo.file.name,\n fileSize: fileInfo.file.size,\n moduleId: fileInfo.moduleId,\n businessId: fileInfo.businessId,\n });\n\n // 创建XMLHttpRequest以支持上传进度\n return await new Promise<FileMetadata>((resolve, reject) => {\n const xhr = new XMLHttpRequest();\n \n // 重要:启用 credentials 以携带 cookie\n xhr.withCredentials = true;\n\n // 监听上传进度\n xhr.upload.addEventListener('progress', (event) => {\n if (event.lengthComputable && onProgress) {\n const elapsedTime = Date.now() - startTime;\n const speed = event.loaded / (elapsedTime / 1000);\n const remainingBytes = event.total - event.loaded;\n const remainingTime = speed > 0 ? remainingBytes / speed : 0;\n\n const progress: UploadProgress = {\n fileId: '', // 暂时为空,上传完成后会有\n status: 'uploading',\n progress: Math.round((event.loaded / event.total) * 100),\n uploadedBytes: event.loaded,\n totalBytes: event.total,\n speed,\n remainingTime,\n };\n\n onProgress(progress);\n }\n });\n\n // 监听上传完成\n xhr.addEventListener('load', () => {\n clientLogger.debug('上传响应', {\n status: xhr.status,\n statusText: xhr.statusText,\n responseLength: xhr.responseText?.length,\n });\n \n if (xhr.status >= 200 && xhr.status < 300) {\n try {\n const response = JSON.parse(xhr.responseText);\n clientLogger.debug('解析响应成功', response);\n \n // 支持多种响应格式\n const fileData = response.file || response.data || response;\n const fileMetadata = this.transformFileMetadataFromAPI(fileData);\n\n if (onProgress) {\n onProgress({\n fileId: fileMetadata.id,\n status: 'completed',\n progress: 100,\n uploadedBytes: fileInfo.file.size,\n totalBytes: fileInfo.file.size,\n speed: 0,\n remainingTime: 0,\n });\n }\n\n resolve(fileMetadata);\n } catch (error) {\n clientLogger.error('解析响应失败', { error, responseText: xhr.responseText });\n reject(new Error('解析响应失败'));\n }\n } else {\n clientLogger.error('上传失败', {\n status: xhr.status,\n statusText: xhr.statusText,\n responseText: xhr.responseText,\n });\n reject(new Error('上传失败: ' + (xhr.statusText)));\n }\n });\n\n // 监听错误\n xhr.addEventListener('error', (event) => {\n clientLogger.error('网络错误', event);\n if (onProgress) {\n onProgress({\n fileId: '',\n status: 'failed',\n progress: 0,\n uploadedBytes: 0,\n totalBytes: fileInfo.file.size,\n speed: 0,\n remainingTime: 0,\n error: '网络错误',\n });\n }\n reject(new Error('上传失败: 网络错误'));\n });\n\n // 监听超时\n xhr.addEventListener('timeout', () => {\n if (onProgress) {\n onProgress({\n fileId: '',\n status: 'failed',\n progress: 0,\n uploadedBytes: 0,\n totalBytes: fileInfo.file.size,\n speed: 0,\n remainingTime: 0,\n error: '上传超时',\n });\n }\n reject(new Error('上传超时'));\n });\n\n // 配置请求\n xhr.open('POST', url);\n xhr.timeout = this.config.uploadTimeout;\n\n // 设置请求头\n Object.entries(this.config.headers).forEach(([key, value]) => {\n xhr.setRequestHeader(key, value);\n });\n\n // 发送请求\n xhr.send(formData);\n });\n } catch (error) {\n throw createFileError(\n ERROR_CODES.FILE_UPLOAD_ERROR,\n '文件上传失败: ' + (formatErrorMessage(error)),\n { fileInfo, originalError: error }\n );\n }\n }\n\n // ============= 文件查询API =============\n\n /**\n * 获取文件访问URL\n */\n async getFileUrl(fileId: string, expiresIn?: number): Promise<string> {\n const url = this.config.baseUrl + API_ENDPOINTS.GET_URL(fileId) + (expiresIn ? `?expiresIn=${expiresIn}` : '');\n\n try {\n const response = await this.fetchWithTimeout(url, {\n method: 'GET',\n headers: this.getHeaders(),\n });\n\n if (!response.ok) {\n throw new Error('获取文件URL失败: ' + (response.statusText));\n }\n\n const data = await response.json();\n return data.url;\n } catch (error) {\n throw createFileError(\n ERROR_CODES.NETWORK_ERROR,\n '获取文件URL失败: ' + (formatErrorMessage(error)),\n { fileId, expiresIn, originalError: error }\n );\n }\n }\n\n /**\n * 获取文件元数据\n */\n async getFileMetadata(fileId: string): Promise<FileMetadata> {\n const url = (this.config.baseUrl) + (API_ENDPOINTS.GET_METADATA(fileId));\n\n try {\n const response = await this.fetchWithTimeout(url, {\n method: 'GET',\n headers: this.getHeaders(),\n });\n\n if (!response.ok) {\n if (response.status === 404) {\n throw createFileError(ERROR_CODES.FILE_NOT_FOUND, '文件不存在', { fileId });\n }\n throw new Error('获取文件元数据失败: ' + (response.statusText));\n }\n\n const data = await response.json();\n return this.transformFileMetadataFromAPI(data.file);\n } catch (error) {\n throw createFileError(\n ERROR_CODES.NETWORK_ERROR,\n '获取文件元数据失败: ' + (formatErrorMessage(error)),\n { fileId, originalError: error }\n );\n }\n }\n\n /**\n * 查询文件列表\n */\n async queryFiles(options: FileQueryOptions): Promise<PaginatedResult<FileMetadata>> {\n const queryString = buildQueryString({\n moduleId: options.moduleId,\n businessId: options.businessId,\n uploaderId: options.uploaderId,\n mimeType: options.mimeType,\n minSize: options.minSize,\n maxSize: options.maxSize,\n startTime: options.startTime?.toISOString(),\n endTime: options.endTime?.toISOString(),\n keyword: options.keyword,\n tags: options.tags,\n sortBy: options.sortBy,\n sortOrder: options.sortOrder,\n page: options.page,\n pageSize: options.pageSize,\n });\n\n const url = (this.config.baseUrl) + (API_ENDPOINTS.QUERY) + (queryString);\n\n try {\n const response = await this.fetchWithTimeout(url, {\n method: 'GET',\n headers: this.getHeaders(),\n });\n\n if (!response.ok) {\n clientLogger.error('查询文件列表失败', {\n status: response.status,\n statusText: response.statusText,\n });\n throw new Error('查询文件列表失败: ' + (response.statusText));\n }\n\n const data = await response.json();\n clientLogger.debug('查询文件列表响应', {\n itemsCount: data.items?.length,\n total: data.total,\n page: data.page,\n });\n \n // 防御性检查\n if (!data.items || !Array.isArray(data.items)) {\n clientLogger.error('响应格式错误: items 不是数组', data);\n return {\n items: [],\n total: 0,\n page: 1,\n pageSize: 20,\n totalPages: 0,\n hasNext: false,\n hasPrev: false,\n };\n }\n \n return {\n items: data.items.map((item: any) => this.transformFileMetadataFromAPI(item)),\n total: data.total,\n page: data.page,\n pageSize: data.pageSize,\n totalPages: data.totalPages,\n hasNext: data.hasNext,\n hasPrev: data.hasPrev,\n };\n } catch (error) {\n throw createFileError(\n ERROR_CODES.NETWORK_ERROR,\n '查询文件列表失败: ' + (formatErrorMessage(error)),\n { options, originalError: error }\n );\n }\n }\n\n // ============= 文件删除API =============\n\n /**\n * 删除文件\n */\n async deleteFile(fileId: string): Promise<void> {\n const url = (this.config.baseUrl) + (API_ENDPOINTS.DELETE(fileId));\n\n try {\n const response = await this.fetchWithTimeout(url, {\n method: 'DELETE',\n headers: this.getHeaders(),\n });\n\n if (!response.ok) {\n if (response.status === 404) {\n throw createFileError(ERROR_CODES.FILE_NOT_FOUND, '文件不存在', { fileId });\n }\n throw new Error('删除文件失败: ' + (response.statusText));\n }\n } catch (error) {\n throw createFileError(\n ERROR_CODES.NETWORK_ERROR,\n '删除文件失败: ' + (formatErrorMessage(error)),\n { fileId, originalError: error }\n );\n }\n }\n\n /**\n * 批量删除文件\n */\n async batchDeleteFiles(fileIds: string[]): Promise<BatchOperationResult> {\n const url = (this.config.baseUrl) + (API_ENDPOINTS.BATCH_DELETE);\n\n try {\n const response = await this.fetchWithTimeout(url, {\n method: 'POST',\n headers: {\n ...this.getHeaders(),\n 'Content-Type': 'application/json',\n },\n body: JSON.stringify({ fileIds }),\n });\n\n if (!response.ok) {\n throw new Error('批量删除文件失败: ' + (response.statusText));\n }\n\n const data = await response.json();\n return data.result;\n } catch (error) {\n throw createFileError(\n ERROR_CODES.NETWORK_ERROR,\n '批量删除文件失败: ' + (formatErrorMessage(error)),\n { fileIds, originalError: error }\n );\n }\n }\n\n // ============= 上传进度API =============\n\n /**\n * 获取上传进度\n */\n async getUploadProgress(fileId: string): Promise<UploadProgress> {\n const url = (this.config.baseUrl) + (API_ENDPOINTS.GET_PROGRESS(fileId));\n\n try {\n const response = await this.fetchWithTimeout(url, {\n method: 'GET',\n headers: this.getHeaders(),\n });\n\n if (!response.ok) {\n throw new Error('获取上传进度失败: ' + (response.statusText));\n }\n\n const data = await response.json();\n return data.progress;\n } catch (error) {\n throw createFileError(\n ERROR_CODES.NETWORK_ERROR,\n '获取上传进度失败: ' + (formatErrorMessage(error)),\n { fileId, originalError: error }\n );\n }\n }\n\n // ============= 私有辅助方法 =============\n\n /**\n * 获取请求头\n */\n private getHeaders(): Record<string, string> {\n return {\n ...this.config.headers,\n };\n }\n\n /**\n * 带超时的fetch请求\n */\n private async fetchWithTimeout(url: string, options: RequestInit): Promise<Response> {\n const controller = new AbortController();\n const timeoutId = setTimeout(() => controller.abort(), this.config.timeout);\n\n try {\n const response = await fetch(url, {\n ...options,\n signal: controller.signal,\n credentials: 'include', // 携带 cookie 用于授权\n });\n return response;\n } catch (error) {\n if (error instanceof Error && error.name === 'AbortError') {\n throw createFileError(ERROR_CODES.TIMEOUT_ERROR, '请求超时', {\n url,\n timeout: this.config.timeout,\n });\n }\n throw error;\n } finally {\n clearTimeout(timeoutId);\n }\n }\n\n /**\n * 转换API返回的文件元数据\n */\n private transformFileMetadataFromAPI(apiData: any): FileMetadata {\n return {\n id: apiData.id,\n originalName: apiData.originalName,\n storageName: apiData.storageName || apiData.storedName,\n size: apiData.size,\n mimeType: apiData.mimeType,\n extension: apiData.extension,\n hash: apiData.hash || apiData.md5Hash || apiData.sha256Hash,\n uploadTime: new Date(apiData.uploadTime),\n permission: apiData.permission || 'public',\n uploaderId: apiData.uploaderId,\n moduleId: apiData.moduleId,\n businessId: apiData.businessId,\n storageProvider: apiData.storageProvider || 'local',\n storagePath: apiData.storagePath,\n cdnUrl: apiData.cdnUrl,\n accessCount: apiData.accessCount,\n lastAccessTime: apiData.lastAccessTime ? new Date(apiData.lastAccessTime) : undefined,\n expiresAt: apiData.expiresAt ? new Date(apiData.expiresAt) : undefined,\n metadata: apiData.metadata,\n };\n }\n}\n\n// ============= 单例导出 =============\n\n/**\n * 默认客户端实例\n */\nexport const universalFileClient = new UniversalFileClient();\n\n/**\n * 创建自定义客户端实例\n */\nexport function createFileClient(config?: UniversalFileClientConfig): UniversalFileClient {\n return new UniversalFileClient(config);\n}\n"]}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { WebRequestAdapter } from './chunk-LZ5YTMMP.mjs';
|
|
2
|
+
import { __export } from './chunk-MAI35PU6.mjs';
|
|
3
|
+
|
|
4
|
+
// src/common/request/index.ts
|
|
5
|
+
var request_exports = {};
|
|
6
|
+
__export(request_exports, {
|
|
7
|
+
MiniappRequestAdapter: () => MiniappRequestAdapter,
|
|
8
|
+
ReactNativeRequestAdapter: () => ReactNativeRequestAdapter,
|
|
9
|
+
WebRequestAdapter: () => WebRequestAdapter
|
|
10
|
+
});
|
|
11
|
+
|
|
12
|
+
// src/common/request/adapters/miniapp-adapter.ts
|
|
13
|
+
var MiniappRequestAdapter = class {
|
|
14
|
+
constructor(taro) {
|
|
15
|
+
if (!taro) {
|
|
16
|
+
throw new Error("MiniappRequestAdapter requires Taro instance");
|
|
17
|
+
}
|
|
18
|
+
this.taro = taro;
|
|
19
|
+
}
|
|
20
|
+
async request(config) {
|
|
21
|
+
const { url, method = "GET", headers = {}, body, params } = config;
|
|
22
|
+
try {
|
|
23
|
+
const response = await this.taro.request({
|
|
24
|
+
url,
|
|
25
|
+
method,
|
|
26
|
+
header: {
|
|
27
|
+
"Content-Type": "application/json",
|
|
28
|
+
...headers
|
|
29
|
+
},
|
|
30
|
+
data: method === "GET" ? params : body
|
|
31
|
+
});
|
|
32
|
+
const data = response.data;
|
|
33
|
+
if (response.statusCode >= 200 && response.statusCode < 300) {
|
|
34
|
+
return data;
|
|
35
|
+
} else {
|
|
36
|
+
return {
|
|
37
|
+
success: false,
|
|
38
|
+
error: data.error || "\u8BF7\u6C42\u5931\u8D25: " + response.statusCode
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
} catch (error) {
|
|
42
|
+
console.error("[MiniappRequestAdapter] request error:", error);
|
|
43
|
+
return {
|
|
44
|
+
success: false,
|
|
45
|
+
error: error instanceof Error ? error.message : "\u7F51\u7EDC\u8BF7\u6C42\u5931\u8D25"
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
// src/common/request/adapters/react-native-adapter.ts
|
|
52
|
+
var ReactNativeRequestAdapter = class {
|
|
53
|
+
async request(config) {
|
|
54
|
+
const { url, method = "GET", headers = {}, body, params } = config;
|
|
55
|
+
let fullUrl = url;
|
|
56
|
+
if (params) {
|
|
57
|
+
const searchParams = new URLSearchParams();
|
|
58
|
+
Object.entries(params).forEach(([key, value]) => {
|
|
59
|
+
if (value !== void 0 && value !== null) {
|
|
60
|
+
searchParams.append(key, String(value));
|
|
61
|
+
}
|
|
62
|
+
});
|
|
63
|
+
const qs = searchParams.toString();
|
|
64
|
+
if (qs) {
|
|
65
|
+
fullUrl += url.includes("?") ? `&${qs}` : `?${qs}`;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
const response = await fetch(fullUrl, {
|
|
69
|
+
method,
|
|
70
|
+
headers: {
|
|
71
|
+
"Content-Type": "application/json",
|
|
72
|
+
...headers
|
|
73
|
+
},
|
|
74
|
+
body: body ? JSON.stringify(body) : void 0
|
|
75
|
+
});
|
|
76
|
+
const data = await response.json();
|
|
77
|
+
if (!response.ok) {
|
|
78
|
+
return {
|
|
79
|
+
success: false,
|
|
80
|
+
error: data.error ?? `\u8BF7\u6C42\u5931\u8D25 (${response.status})`
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
return data;
|
|
84
|
+
}
|
|
85
|
+
};
|
|
86
|
+
|
|
87
|
+
export { MiniappRequestAdapter, ReactNativeRequestAdapter, request_exports };
|
|
88
|
+
//# sourceMappingURL=chunk-EI2S4XDG.mjs.map
|
|
89
|
+
//# sourceMappingURL=chunk-EI2S4XDG.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/common/request/index.ts","../src/common/request/adapters/miniapp-adapter.ts","../src/common/request/adapters/react-native-adapter.ts"],"names":[],"mappings":"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","file":"chunk-EI2S4XDG.mjs","sourcesContent":["/**\n * @package sa2kit/common/request\n * 跨平台网络请求适配器\n */\nexport type { RequestAdapter, RequestConfig } from './types/types';\nexport * from './adapters';\n","import type { RequestAdapter, RequestConfig } from '../types/types';\n\n/**\n * Taro Request 接口定义\n * 兼容 @tarojs/taro request API\n */\ninterface TaroRequestStatic {\n request<T = any>(options: {\n url: string;\n method?: string;\n header?: Record<string, string>;\n data?: any;\n }): Promise<{\n statusCode: number;\n data: T;\n }>;\n}\n\n/**\n * Miniapp 平台请求适配器\n * 基于 Taro.request API\n *\n * 使用方式:\n * ```typescript\n * import Taro from '@tarojs/taro'\n * const adapter = new MiniappRequestAdapter(Taro)\n * ```\n *\n * 适用平台:\n * - WeChat Miniapp\n * - Other Taro-based miniapps\n */\nexport class MiniappRequestAdapter implements RequestAdapter {\n private taro: TaroRequestStatic;\n\n constructor(taro: TaroRequestStatic) {\n if (!taro) {\n throw new Error('MiniappRequestAdapter requires Taro instance');\n }\n this.taro = taro;\n }\n\n async request<T = any>(config: RequestConfig): Promise<T> {\n const { url, method = 'GET', headers = {}, body, params } = config;\n\n try {\n const response = await this.taro.request({\n url,\n method: method as any,\n header: {\n 'Content-Type': 'application/json',\n ...headers,\n },\n data: method === 'GET' ? params : body,\n });\n\n const data = response.data as any;\n\n // 统一返回格式\n if (response.statusCode >= 200 && response.statusCode < 300) {\n return data;\n } else {\n return {\n success: false,\n error: data.error || '请求失败: ' + (response.statusCode),\n } as T;\n }\n } catch (error) {\n console.error('[MiniappRequestAdapter] request error:', error);\n return {\n success: false,\n error: error instanceof Error ? error.message : '网络请求失败',\n } as T;\n }\n }\n}\n\n","import type { RequestAdapter, RequestConfig } from '../types/types';\n\n/**\n * React Native 请求适配器(fetch,不携带 Cookie)\n * 与 WebRequestAdapter 的区别:RN 跨域场景下 credentials:include 无效且易误导\n */\nexport class ReactNativeRequestAdapter implements RequestAdapter {\n async request<T = unknown>(config: RequestConfig): Promise<T> {\n const { url, method = 'GET', headers = {}, body, params } = config;\n\n let fullUrl = url;\n if (params) {\n const searchParams = new URLSearchParams();\n Object.entries(params).forEach(([key, value]) => {\n if (value !== undefined && value !== null) {\n searchParams.append(key, String(value));\n }\n });\n const qs = searchParams.toString();\n if (qs) {\n fullUrl += url.includes('?') ? `&${qs}` : `?${qs}`;\n }\n }\n\n const response = await fetch(fullUrl, {\n method,\n headers: {\n 'Content-Type': 'application/json',\n ...headers,\n },\n body: body ? JSON.stringify(body) : undefined,\n });\n\n const data = (await response.json()) as T & { error?: string };\n if (!response.ok) {\n return {\n success: false,\n error:\n (data as { error?: string }).error ??\n `请求失败 (${response.status})`,\n } as T;\n }\n return data;\n }\n}\n"]}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var chunk3QCATFQV_js = require('./chunk-3QCATFQV.js');
|
|
4
|
+
var chunkNSBPE2FW_js = require('./chunk-NSBPE2FW.js');
|
|
5
|
+
|
|
6
|
+
// src/common/request/index.ts
|
|
7
|
+
var request_exports = {};
|
|
8
|
+
chunkNSBPE2FW_js.__export(request_exports, {
|
|
9
|
+
MiniappRequestAdapter: () => MiniappRequestAdapter,
|
|
10
|
+
ReactNativeRequestAdapter: () => ReactNativeRequestAdapter,
|
|
11
|
+
WebRequestAdapter: () => chunk3QCATFQV_js.WebRequestAdapter
|
|
12
|
+
});
|
|
13
|
+
|
|
14
|
+
// src/common/request/adapters/miniapp-adapter.ts
|
|
15
|
+
var MiniappRequestAdapter = class {
|
|
16
|
+
constructor(taro) {
|
|
17
|
+
if (!taro) {
|
|
18
|
+
throw new Error("MiniappRequestAdapter requires Taro instance");
|
|
19
|
+
}
|
|
20
|
+
this.taro = taro;
|
|
21
|
+
}
|
|
22
|
+
async request(config) {
|
|
23
|
+
const { url, method = "GET", headers = {}, body, params } = config;
|
|
24
|
+
try {
|
|
25
|
+
const response = await this.taro.request({
|
|
26
|
+
url,
|
|
27
|
+
method,
|
|
28
|
+
header: {
|
|
29
|
+
"Content-Type": "application/json",
|
|
30
|
+
...headers
|
|
31
|
+
},
|
|
32
|
+
data: method === "GET" ? params : body
|
|
33
|
+
});
|
|
34
|
+
const data = response.data;
|
|
35
|
+
if (response.statusCode >= 200 && response.statusCode < 300) {
|
|
36
|
+
return data;
|
|
37
|
+
} else {
|
|
38
|
+
return {
|
|
39
|
+
success: false,
|
|
40
|
+
error: data.error || "\u8BF7\u6C42\u5931\u8D25: " + response.statusCode
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
} catch (error) {
|
|
44
|
+
console.error("[MiniappRequestAdapter] request error:", error);
|
|
45
|
+
return {
|
|
46
|
+
success: false,
|
|
47
|
+
error: error instanceof Error ? error.message : "\u7F51\u7EDC\u8BF7\u6C42\u5931\u8D25"
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
|
|
53
|
+
// src/common/request/adapters/react-native-adapter.ts
|
|
54
|
+
var ReactNativeRequestAdapter = class {
|
|
55
|
+
async request(config) {
|
|
56
|
+
const { url, method = "GET", headers = {}, body, params } = config;
|
|
57
|
+
let fullUrl = url;
|
|
58
|
+
if (params) {
|
|
59
|
+
const searchParams = new URLSearchParams();
|
|
60
|
+
Object.entries(params).forEach(([key, value]) => {
|
|
61
|
+
if (value !== void 0 && value !== null) {
|
|
62
|
+
searchParams.append(key, String(value));
|
|
63
|
+
}
|
|
64
|
+
});
|
|
65
|
+
const qs = searchParams.toString();
|
|
66
|
+
if (qs) {
|
|
67
|
+
fullUrl += url.includes("?") ? `&${qs}` : `?${qs}`;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
const response = await fetch(fullUrl, {
|
|
71
|
+
method,
|
|
72
|
+
headers: {
|
|
73
|
+
"Content-Type": "application/json",
|
|
74
|
+
...headers
|
|
75
|
+
},
|
|
76
|
+
body: body ? JSON.stringify(body) : void 0
|
|
77
|
+
});
|
|
78
|
+
const data = await response.json();
|
|
79
|
+
if (!response.ok) {
|
|
80
|
+
return {
|
|
81
|
+
success: false,
|
|
82
|
+
error: data.error ?? `\u8BF7\u6C42\u5931\u8D25 (${response.status})`
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
return data;
|
|
86
|
+
}
|
|
87
|
+
};
|
|
88
|
+
|
|
89
|
+
exports.MiniappRequestAdapter = MiniappRequestAdapter;
|
|
90
|
+
exports.ReactNativeRequestAdapter = ReactNativeRequestAdapter;
|
|
91
|
+
exports.request_exports = request_exports;
|
|
92
|
+
//# sourceMappingURL=chunk-EOZHUI46.js.map
|
|
93
|
+
//# sourceMappingURL=chunk-EOZHUI46.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/common/request/index.ts","../src/common/request/adapters/miniapp-adapter.ts","../src/common/request/adapters/react-native-adapter.ts"],"names":["__export","WebRequestAdapter"],"mappings":"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","file":"chunk-EOZHUI46.js","sourcesContent":["/**\n * @package sa2kit/common/request\n * 跨平台网络请求适配器\n */\nexport type { RequestAdapter, RequestConfig } from './types/types';\nexport * from './adapters';\n","import type { RequestAdapter, RequestConfig } from '../types/types';\n\n/**\n * Taro Request 接口定义\n * 兼容 @tarojs/taro request API\n */\ninterface TaroRequestStatic {\n request<T = any>(options: {\n url: string;\n method?: string;\n header?: Record<string, string>;\n data?: any;\n }): Promise<{\n statusCode: number;\n data: T;\n }>;\n}\n\n/**\n * Miniapp 平台请求适配器\n * 基于 Taro.request API\n *\n * 使用方式:\n * ```typescript\n * import Taro from '@tarojs/taro'\n * const adapter = new MiniappRequestAdapter(Taro)\n * ```\n *\n * 适用平台:\n * - WeChat Miniapp\n * - Other Taro-based miniapps\n */\nexport class MiniappRequestAdapter implements RequestAdapter {\n private taro: TaroRequestStatic;\n\n constructor(taro: TaroRequestStatic) {\n if (!taro) {\n throw new Error('MiniappRequestAdapter requires Taro instance');\n }\n this.taro = taro;\n }\n\n async request<T = any>(config: RequestConfig): Promise<T> {\n const { url, method = 'GET', headers = {}, body, params } = config;\n\n try {\n const response = await this.taro.request({\n url,\n method: method as any,\n header: {\n 'Content-Type': 'application/json',\n ...headers,\n },\n data: method === 'GET' ? params : body,\n });\n\n const data = response.data as any;\n\n // 统一返回格式\n if (response.statusCode >= 200 && response.statusCode < 300) {\n return data;\n } else {\n return {\n success: false,\n error: data.error || '请求失败: ' + (response.statusCode),\n } as T;\n }\n } catch (error) {\n console.error('[MiniappRequestAdapter] request error:', error);\n return {\n success: false,\n error: error instanceof Error ? error.message : '网络请求失败',\n } as T;\n }\n }\n}\n\n","import type { RequestAdapter, RequestConfig } from '../types/types';\n\n/**\n * React Native 请求适配器(fetch,不携带 Cookie)\n * 与 WebRequestAdapter 的区别:RN 跨域场景下 credentials:include 无效且易误导\n */\nexport class ReactNativeRequestAdapter implements RequestAdapter {\n async request<T = unknown>(config: RequestConfig): Promise<T> {\n const { url, method = 'GET', headers = {}, body, params } = config;\n\n let fullUrl = url;\n if (params) {\n const searchParams = new URLSearchParams();\n Object.entries(params).forEach(([key, value]) => {\n if (value !== undefined && value !== null) {\n searchParams.append(key, String(value));\n }\n });\n const qs = searchParams.toString();\n if (qs) {\n fullUrl += url.includes('?') ? `&${qs}` : `?${qs}`;\n }\n }\n\n const response = await fetch(fullUrl, {\n method,\n headers: {\n 'Content-Type': 'application/json',\n ...headers,\n },\n body: body ? JSON.stringify(body) : undefined,\n });\n\n const data = (await response.json()) as T & { error?: string };\n if (!response.ok) {\n return {\n success: false,\n error:\n (data as { error?: string }).error ??\n `请求失败 (${response.status})`,\n } as T;\n }\n return data;\n }\n}\n"]}
|
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var chunkNSBPE2FW_js = require('./chunk-NSBPE2FW.js');
|
|
4
|
+
|
|
5
|
+
// src/common/logger/index.ts
|
|
6
|
+
var logger_exports = {};
|
|
7
|
+
chunkNSBPE2FW_js.__export(logger_exports, {
|
|
8
|
+
ConsoleLoggerAdapter: () => ConsoleLoggerAdapter,
|
|
9
|
+
LogLevel: () => LogLevel,
|
|
10
|
+
Logger: () => Logger,
|
|
11
|
+
createLogger: () => createLogger,
|
|
12
|
+
logger: () => logger
|
|
13
|
+
});
|
|
14
|
+
|
|
15
|
+
// src/common/logger/types.ts
|
|
16
|
+
var LogLevel = /* @__PURE__ */ ((LogLevel2) => {
|
|
17
|
+
LogLevel2[LogLevel2["DEBUG"] = 0] = "DEBUG";
|
|
18
|
+
LogLevel2[LogLevel2["INFO"] = 1] = "INFO";
|
|
19
|
+
LogLevel2[LogLevel2["WARN"] = 2] = "WARN";
|
|
20
|
+
LogLevel2[LogLevel2["ERROR"] = 3] = "ERROR";
|
|
21
|
+
LogLevel2[LogLevel2["NONE"] = 4] = "NONE";
|
|
22
|
+
return LogLevel2;
|
|
23
|
+
})(LogLevel || {});
|
|
24
|
+
|
|
25
|
+
// src/common/logger/console-adapter.ts
|
|
26
|
+
var ConsoleLoggerAdapter = class {
|
|
27
|
+
constructor() {
|
|
28
|
+
this.colors = {
|
|
29
|
+
DEBUG: "\x1B[36m",
|
|
30
|
+
// Cyan
|
|
31
|
+
INFO: "\x1B[32m",
|
|
32
|
+
// Green
|
|
33
|
+
WARN: "\x1B[33m",
|
|
34
|
+
// Yellow
|
|
35
|
+
ERROR: "\x1B[31m",
|
|
36
|
+
// Red
|
|
37
|
+
RESET: "\x1B[0m"
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
log(entry) {
|
|
41
|
+
const { level, message, timestamp, data, context, error } = entry;
|
|
42
|
+
let logMessage = "";
|
|
43
|
+
if (timestamp) {
|
|
44
|
+
logMessage += "[" + this.formatTimestamp(timestamp) + "] ";
|
|
45
|
+
}
|
|
46
|
+
const levelName = this.getLevelName(level);
|
|
47
|
+
logMessage += levelName + ": ";
|
|
48
|
+
if (context) {
|
|
49
|
+
logMessage += "[" + context + "] ";
|
|
50
|
+
}
|
|
51
|
+
logMessage += message;
|
|
52
|
+
switch (level) {
|
|
53
|
+
case 0:
|
|
54
|
+
console.debug(this.colorize(logMessage, "DEBUG"), data || "");
|
|
55
|
+
break;
|
|
56
|
+
case 1:
|
|
57
|
+
console.info(this.colorize(logMessage, "INFO"), data || "");
|
|
58
|
+
break;
|
|
59
|
+
case 2:
|
|
60
|
+
console.warn(this.colorize(logMessage, "WARN"), data || "");
|
|
61
|
+
break;
|
|
62
|
+
case 3:
|
|
63
|
+
console.error(this.colorize(logMessage, "ERROR"), data || "");
|
|
64
|
+
if (error) {
|
|
65
|
+
console.error(error);
|
|
66
|
+
}
|
|
67
|
+
break;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
formatTimestamp(date) {
|
|
71
|
+
return date.toISOString();
|
|
72
|
+
}
|
|
73
|
+
getLevelName(level) {
|
|
74
|
+
const names = ["DEBUG", "INFO", "WARN", "ERROR", "NONE"];
|
|
75
|
+
return names[level] || "UNKNOWN";
|
|
76
|
+
}
|
|
77
|
+
colorize(message, level) {
|
|
78
|
+
if (typeof process !== "undefined" && process.stdout?.isTTY) {
|
|
79
|
+
return this.colors[level] + message + this.colors.RESET;
|
|
80
|
+
}
|
|
81
|
+
return message;
|
|
82
|
+
}
|
|
83
|
+
};
|
|
84
|
+
|
|
85
|
+
// src/common/logger/Logger.ts
|
|
86
|
+
var Logger = class _Logger {
|
|
87
|
+
constructor(config, context) {
|
|
88
|
+
const isProduction = typeof process !== "undefined" ? process.env.NODE_ENV === "production" : false;
|
|
89
|
+
this.config = {
|
|
90
|
+
minLevel: config?.minLevel ?? (isProduction ? 1 : 0),
|
|
91
|
+
// INFO in prod, DEBUG in dev
|
|
92
|
+
enableTimestamp: config?.enableTimestamp ?? true,
|
|
93
|
+
enableContext: config?.enableContext ?? true,
|
|
94
|
+
environment: config?.environment ?? (isProduction ? "production" : "development"),
|
|
95
|
+
adapter: config?.adapter ?? new ConsoleLoggerAdapter()
|
|
96
|
+
};
|
|
97
|
+
this.adapter = this.config.adapter;
|
|
98
|
+
this.context = context;
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* 创建带上下文的子 Logger
|
|
102
|
+
*/
|
|
103
|
+
createChild(context) {
|
|
104
|
+
return new _Logger(this.config, context);
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* 调试日志
|
|
108
|
+
*/
|
|
109
|
+
debug(message, data) {
|
|
110
|
+
this.log(0, message, data);
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* 信息日志
|
|
114
|
+
*/
|
|
115
|
+
info(message, data) {
|
|
116
|
+
this.log(1, message, data);
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* 警告日志
|
|
120
|
+
*/
|
|
121
|
+
warn(message, data) {
|
|
122
|
+
this.log(2, message, data);
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* 错误日志
|
|
126
|
+
*/
|
|
127
|
+
error(message, error) {
|
|
128
|
+
this.log(
|
|
129
|
+
3,
|
|
130
|
+
// LogLevel.ERROR
|
|
131
|
+
message,
|
|
132
|
+
error instanceof Error ? void 0 : error,
|
|
133
|
+
error instanceof Error ? error : void 0
|
|
134
|
+
);
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* 核心日志方法
|
|
138
|
+
*/
|
|
139
|
+
log(level, message, data, error) {
|
|
140
|
+
if (level < this.config.minLevel) {
|
|
141
|
+
return;
|
|
142
|
+
}
|
|
143
|
+
if (typeof window !== "undefined" && typeof localStorage !== "undefined") {
|
|
144
|
+
const loggerDebug = localStorage.getItem("logger-debug");
|
|
145
|
+
if (loggerDebug === "false" && level < 3) {
|
|
146
|
+
return;
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
const entry = {
|
|
150
|
+
level,
|
|
151
|
+
message,
|
|
152
|
+
timestamp: this.config.enableTimestamp ? /* @__PURE__ */ new Date() : void 0,
|
|
153
|
+
data,
|
|
154
|
+
context: this.config.enableContext ? this.context : void 0,
|
|
155
|
+
error
|
|
156
|
+
};
|
|
157
|
+
this.adapter.log(entry);
|
|
158
|
+
}
|
|
159
|
+
/**
|
|
160
|
+
* 设置日志级别
|
|
161
|
+
*/
|
|
162
|
+
setLevel(level) {
|
|
163
|
+
this.config.minLevel = level;
|
|
164
|
+
}
|
|
165
|
+
/**
|
|
166
|
+
* 获取当前日志级别
|
|
167
|
+
*/
|
|
168
|
+
getLevel() {
|
|
169
|
+
return this.config.minLevel;
|
|
170
|
+
}
|
|
171
|
+
};
|
|
172
|
+
var logger = new Logger();
|
|
173
|
+
function createLogger(context, config) {
|
|
174
|
+
return new Logger(config, context);
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
exports.ConsoleLoggerAdapter = ConsoleLoggerAdapter;
|
|
178
|
+
exports.LogLevel = LogLevel;
|
|
179
|
+
exports.Logger = Logger;
|
|
180
|
+
exports.createLogger = createLogger;
|
|
181
|
+
exports.logger = logger;
|
|
182
|
+
exports.logger_exports = logger_exports;
|
|
183
|
+
//# sourceMappingURL=chunk-F2BZIU67.js.map
|
|
184
|
+
//# sourceMappingURL=chunk-F2BZIU67.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/common/logger/index.ts","../src/common/logger/types.ts","../src/common/logger/console-adapter.ts","../src/common/logger/Logger.ts"],"names":["__export","LogLevel"],"mappings":"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","file":"chunk-F2BZIU67.js","sourcesContent":["/**\n * @package sa2kit/common/logger\n * 通用日志模块(2.0 common)\n */\nexport * from './types';\nexport * from './Logger';\nexport * from './console-adapter';\n","/**\n * 日志级别\n */\nexport enum LogLevel {\n DEBUG = 0,\n INFO = 1,\n WARN = 2,\n ERROR = 3,\n NONE = 4, // 禁用所有日志\n}\n\n/**\n * 日志条目\n */\nexport interface LogEntry {\n level: LogLevel;\n message: string;\n timestamp: Date;\n data?: any;\n context?: string;\n error?: Error;\n}\n\n/**\n * 日志适配器接口\n * 不同平台实现不同的日志输出方式\n */\nexport interface LoggerAdapter {\n /**\n * 输出日志\n */\n log(entry: LogEntry): void;\n\n /**\n * 批量输出日志(可选)\n */\n logBatch?(entries: LogEntry[]): void;\n}\n\n/**\n * 日志配置\n */\nexport interface LoggerConfig {\n /**\n * 最小日志级别\n * 只有大于等于此级别的日志才会输出\n */\n minLevel: LogLevel;\n\n /**\n * 是否启用时间戳\n */\n enableTimestamp?: boolean;\n\n /**\n * 是否启用上下文(模块名)\n */\n enableContext?: boolean;\n\n /**\n * 环境(development/production)\n */\n environment?: 'development' | 'production';\n\n /**\n * 自定义适配器\n */\n adapter?: LoggerAdapter;\n}\n\n","import type { LoggerAdapter, LogEntry, LogLevel } from './types';\n\n/**\n * 控制台日志适配器\n * 使用 console.info/warn/error 输出日志\n */\nexport class ConsoleLoggerAdapter implements LoggerAdapter {\n private readonly colors = {\n DEBUG: '\\x1b[36m', // Cyan\n INFO: '\\x1b[32m', // Green\n WARN: '\\x1b[33m', // Yellow\n ERROR: '\\x1b[31m', // Red\n RESET: '\\x1b[0m',\n };\n\n log(entry: LogEntry): void {\n const { level, message, timestamp, data, context, error } = entry;\n\n // 构建日志消息\n let logMessage = '';\n\n // 添加时间戳\n if (timestamp) {\n logMessage += '[' + (this.formatTimestamp(timestamp)) + '] ';\n }\n\n // 添加日志级别\n const levelName = this.getLevelName(level);\n logMessage += (levelName) + ': ';\n\n // 添加上下文\n if (context) {\n logMessage += '[' + (context) + '] ';\n }\n\n // 添加消息\n logMessage += message;\n\n // 根据日志级别选择输出方式\n switch (level) {\n case 0: // DEBUG\n console.debug(this.colorize(logMessage, 'DEBUG'), data || '');\n break;\n case 1: // INFO\n console.info(this.colorize(logMessage, 'INFO'), data || '');\n break;\n case 2: // WARN\n console.warn(this.colorize(logMessage, 'WARN'), data || '');\n break;\n case 3: // ERROR\n console.error(this.colorize(logMessage, 'ERROR'), data || '');\n if (error) {\n console.error(error);\n }\n break;\n }\n }\n\n private formatTimestamp(date: Date): string {\n return date.toISOString();\n }\n\n private getLevelName(level: LogLevel): string {\n const names = ['DEBUG', 'INFO', 'WARN', 'ERROR', 'NONE'];\n return names[level] || 'UNKNOWN';\n }\n\n private colorize(message: string, level: keyof typeof this.colors): string {\n // 只在支持颜色的环境中使用颜色\n if (typeof process !== 'undefined' && process.stdout?.isTTY) {\n return (this.colors[level]) + (message) + (this.colors.RESET);\n }\n return message;\n }\n}\n\n","import type { LogLevel, LogEntry, LoggerConfig, LoggerAdapter } from './types';\nimport { ConsoleLoggerAdapter } from './console-adapter';\n\n/**\n * 统一日志管理类\n */\nexport class Logger {\n private config: Required<LoggerConfig>;\n private adapter: LoggerAdapter;\n private context?: string;\n\n constructor(config?: Partial<LoggerConfig>, context?: string) {\n const isProduction =\n typeof process !== 'undefined' ? process.env.NODE_ENV === 'production' : false;\n\n this.config = {\n minLevel: config?.minLevel ?? (isProduction ? 1 : 0), // INFO in prod, DEBUG in dev\n enableTimestamp: config?.enableTimestamp ?? true,\n enableContext: config?.enableContext ?? true,\n environment: config?.environment ?? (isProduction ? 'production' : 'development'),\n adapter: config?.adapter ?? new ConsoleLoggerAdapter(),\n };\n this.adapter = this.config.adapter;\n this.context = context;\n }\n\n /**\n * 创建带上下文的子 Logger\n */\n createChild(context: string): Logger {\n return new Logger(this.config, context);\n }\n\n /**\n * 调试日志\n */\n debug(message: string, data?: any): void {\n this.log(0, message, data); // LogLevel.DEBUG\n }\n\n /**\n * 信息日志\n */\n info(message: string, data?: any): void {\n this.log(1, message, data); // LogLevel.INFO\n }\n\n /**\n * 警告日志\n */\n warn(message: string, data?: any): void {\n this.log(2, message, data); // LogLevel.WARN\n }\n\n /**\n * 错误日志\n */\n error(message: string, error?: Error | any): void {\n this.log(\n 3, // LogLevel.ERROR\n message,\n error instanceof Error ? undefined : error,\n error instanceof Error ? error : undefined\n );\n }\n\n /**\n * 核心日志方法\n */\n private log(level: LogLevel, message: string, data?: any, error?: Error): void {\n // 检查日志级别\n if (level < this.config.minLevel) {\n return;\n }\n\n // 检查动态调试配置(仅在浏览器环境)\n if (typeof window !== 'undefined' && typeof localStorage !== 'undefined') {\n const loggerDebug = localStorage.getItem('logger-debug');\n // 如果明确设置为 false,则不输出(但 Error 级别始终输出)\n if (loggerDebug === 'false' && level < 3) {\n // level < ERROR\n return;\n }\n }\n\n const entry: LogEntry = {\n level,\n message,\n timestamp: this.config.enableTimestamp ? new Date() : (undefined as any),\n data,\n context: this.config.enableContext ? this.context : undefined,\n error,\n };\n\n this.adapter.log(entry);\n }\n\n /**\n * 设置日志级别\n */\n setLevel(level: LogLevel): void {\n this.config.minLevel = level;\n }\n\n /**\n * 获取当前日志级别\n */\n getLevel(): LogLevel {\n return this.config.minLevel;\n }\n}\n\n/**\n * 默认全局 Logger 实例\n */\nexport const logger = new Logger();\n\n/**\n * 创建带上下文的 Logger\n */\nexport function createLogger(context: string, config?: Partial<LoggerConfig>): Logger {\n return new Logger(config, context);\n}\n\n"]}
|