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
package/dist/chunk-SFDJNKWC.js
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var chunkS3PUP7N4_js = require('./chunk-S3PUP7N4.js');
|
|
4
|
-
var chunkS37OK2QG_js = require('./chunk-S37OK2QG.js');
|
|
5
|
-
var chunkTXMX6PZR_js = require('./chunk-TXMX6PZR.js');
|
|
6
|
-
var chunkNSBPE2FW_js = require('./chunk-NSBPE2FW.js');
|
|
7
|
-
|
|
8
|
-
// src/common/auth/index.ts
|
|
9
|
-
var auth_exports = {};
|
|
10
|
-
chunkNSBPE2FW_js.__export(auth_exports, {
|
|
11
|
-
API_ROUTES: () => chunkS37OK2QG_js.API_ROUTES,
|
|
12
|
-
BaseApiClient: () => chunkS37OK2QG_js.BaseApiClient,
|
|
13
|
-
STORAGE_KEYS: () => chunkS37OK2QG_js.STORAGE_KEYS,
|
|
14
|
-
createSa2kitAuthClient: () => chunkS3PUP7N4_js.createSa2kitAuthClient,
|
|
15
|
-
useAuth: () => chunkTXMX6PZR_js.useAuth,
|
|
16
|
-
useAuthForm: () => chunkTXMX6PZR_js.useAuthForm,
|
|
17
|
-
useSession: () => chunkTXMX6PZR_js.useSession
|
|
18
|
-
});
|
|
19
|
-
|
|
20
|
-
exports.auth_exports = auth_exports;
|
|
21
|
-
//# sourceMappingURL=chunk-SFDJNKWC.js.map
|
|
22
|
-
//# sourceMappingURL=chunk-SFDJNKWC.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/common/auth/index.ts"],"names":["__export","API_ROUTES","BaseApiClient","STORAGE_KEYS","createSa2kitAuthClient","useAuth","useAuthForm","useSession"],"mappings":";;;;;;;;AAAA,IAAA,YAAA,GAAA;AAAAA,yBAAA,CAAA,YAAA,EAAA;AAAA,EAAA,UAAA,EAAA,MAAAC,2BAAA;AAAA,EAAA,aAAA,EAAA,MAAAC,8BAAA;AAAA,EAAA,YAAA,EAAA,MAAAC,6BAAA;AAAA,EAAA,sBAAA,EAAA,MAAAC,uCAAA;AAAA,EAAA,OAAA,EAAA,MAAAC,wBAAA;AAAA,EAAA,WAAA,EAAA,MAAAC,4BAAA;AAAA,EAAA,UAAA,EAAA,MAAAC;AAAA,CAAA,CAAA","file":"chunk-SFDJNKWC.js","sourcesContent":["/**\n * @package sa2kit/common/auth\n *\n * Browser / client 安全入口(Better Auth 3.0)\n */\nexport { createSa2kitAuthClient, type Sa2kitAuthClient, type Sa2kitAuthClientOptions } from './client';\nexport { useSession, type UseSessionReturn } from './hooks/useSession';\n\n/** @deprecated 3.0 请使用 createSa2kitAuthClient + useSession */\nexport { useAuth, useAuthForm } from './hooks/useAuth';\n/** @deprecated 3.0 请使用 createSa2kitAuthClient */\nexport { BaseApiClient, API_ROUTES, STORAGE_KEYS } from './client';\n\nexport type { LoginFormState, RegisterFormState } from './components/types';\nexport * from './types';\n"]}
|
package/dist/chunk-SKFEJPMJ.mjs
DELETED
|
@@ -1,226 +0,0 @@
|
|
|
1
|
-
import { API_ENDPOINTS } from './chunk-MBANGIG3.mjs';
|
|
2
|
-
import { resolveUploadFolderPath, getOssStorageModeLabelFromConfig, STANDARD_ALIYUN_OSS_KEYS, parseAliyunOssConfigFromMap } from './chunk-DIF5VRL3.mjs';
|
|
3
|
-
|
|
4
|
-
// src/ossFile/shared/httpClient.ts
|
|
5
|
-
var globalHttpConfig = {};
|
|
6
|
-
function configureOssFileHttp(config) {
|
|
7
|
-
globalHttpConfig = { ...globalHttpConfig, ...config };
|
|
8
|
-
}
|
|
9
|
-
function isMultipartBody(body) {
|
|
10
|
-
return body instanceof FormData || body instanceof Blob || body instanceof URLSearchParams;
|
|
11
|
-
}
|
|
12
|
-
function headersToRecord(headers) {
|
|
13
|
-
const out = {};
|
|
14
|
-
if (!headers) {
|
|
15
|
-
return out;
|
|
16
|
-
}
|
|
17
|
-
if (headers instanceof Headers) {
|
|
18
|
-
headers.forEach((value, key) => {
|
|
19
|
-
out[key] = value;
|
|
20
|
-
});
|
|
21
|
-
return out;
|
|
22
|
-
}
|
|
23
|
-
if (Array.isArray(headers)) {
|
|
24
|
-
for (const [key, value] of headers) {
|
|
25
|
-
out[key] = value;
|
|
26
|
-
}
|
|
27
|
-
return out;
|
|
28
|
-
}
|
|
29
|
-
return { ...headers };
|
|
30
|
-
}
|
|
31
|
-
function createOssFileFetchFromAdapter(adapter) {
|
|
32
|
-
return async (url, init = {}) => {
|
|
33
|
-
if (isMultipartBody(init.body ?? null)) {
|
|
34
|
-
throw new Error(
|
|
35
|
-
"[ossFile] RequestAdapter \u4E0D\u652F\u6301 multipart\uFF1B\u8BF7\u6CE8\u5165\u652F\u6301 FormData \u7684 fetch"
|
|
36
|
-
);
|
|
37
|
-
}
|
|
38
|
-
const method = (init.method ?? "GET").toUpperCase();
|
|
39
|
-
let body;
|
|
40
|
-
if (typeof init.body === "string" && init.body) {
|
|
41
|
-
try {
|
|
42
|
-
body = JSON.parse(init.body);
|
|
43
|
-
} catch {
|
|
44
|
-
body = init.body;
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
const payload = await adapter.request({
|
|
48
|
-
url,
|
|
49
|
-
method,
|
|
50
|
-
headers: headersToRecord(init.headers),
|
|
51
|
-
body
|
|
52
|
-
});
|
|
53
|
-
const success = payload?.success;
|
|
54
|
-
const status = success === false ? 400 : 200;
|
|
55
|
-
return new Response(JSON.stringify(payload), {
|
|
56
|
-
status,
|
|
57
|
-
headers: { "Content-Type": "application/json" }
|
|
58
|
-
});
|
|
59
|
-
};
|
|
60
|
-
}
|
|
61
|
-
function configureOssFileFromPlatform(platform, options = {}) {
|
|
62
|
-
const jsonFetch = createOssFileFetchFromAdapter(platform.fetch);
|
|
63
|
-
const uploadFetch = options.uploadFetch ?? (typeof fetch !== "undefined" ? fetch.bind(globalThis) : void 0);
|
|
64
|
-
configureOssFileHttp({
|
|
65
|
-
fetch: async (url, init) => {
|
|
66
|
-
if (isMultipartBody(init?.body ?? null)) {
|
|
67
|
-
if (!uploadFetch) {
|
|
68
|
-
throw new Error(
|
|
69
|
-
"[ossFile] multipart \u4E0A\u4F20\u9700\u8981 uploadFetch \u6216\u6D4F\u89C8\u5668 fetch \u73AF\u5883"
|
|
70
|
-
);
|
|
71
|
-
}
|
|
72
|
-
return uploadFetch(url, { credentials: "include", ...init });
|
|
73
|
-
}
|
|
74
|
-
return jsonFetch(url, init);
|
|
75
|
-
}
|
|
76
|
-
});
|
|
77
|
-
}
|
|
78
|
-
function getOssFileFetch(override) {
|
|
79
|
-
const fn = override ?? globalHttpConfig.fetch;
|
|
80
|
-
if (fn) {
|
|
81
|
-
return fn;
|
|
82
|
-
}
|
|
83
|
-
if (typeof fetch === "undefined") {
|
|
84
|
-
throw new Error(
|
|
85
|
-
"[ossFile] \u65E0\u53EF\u7528 fetch\uFF1B\u8BF7\u5148\u8C03\u7528 configureOssFileHttp \u6216 configureOssFileFromPlatform"
|
|
86
|
-
);
|
|
87
|
-
}
|
|
88
|
-
return fetch.bind(globalThis);
|
|
89
|
-
}
|
|
90
|
-
async function ossFileFetch(url, init, override) {
|
|
91
|
-
return getOssFileFetch(override)(url, {
|
|
92
|
-
credentials: "include",
|
|
93
|
-
...init
|
|
94
|
-
});
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
// src/ossFile/client.ts
|
|
98
|
-
async function uploadModuleFile(options) {
|
|
99
|
-
const uploadUrl = options.uploadUrl ?? API_ENDPOINTS.UPLOAD;
|
|
100
|
-
const fileName = options.file instanceof File ? options.file.name : "upload.jpg";
|
|
101
|
-
const folderPath = resolveUploadFolderPath({
|
|
102
|
-
moduleId: options.moduleId,
|
|
103
|
-
businessId: options.businessId,
|
|
104
|
-
fileName,
|
|
105
|
-
folderPath: options.folderPath,
|
|
106
|
-
customPath: options.customPath
|
|
107
|
-
});
|
|
108
|
-
const formData = new FormData();
|
|
109
|
-
formData.append("file", options.file);
|
|
110
|
-
formData.append("moduleId", options.moduleId);
|
|
111
|
-
formData.append("businessId", options.businessId ?? "default");
|
|
112
|
-
formData.append("folderPath", folderPath);
|
|
113
|
-
if (options.permission) {
|
|
114
|
-
formData.append("permission", options.permission);
|
|
115
|
-
}
|
|
116
|
-
if (options.metadata) {
|
|
117
|
-
formData.append("metadata", JSON.stringify(options.metadata));
|
|
118
|
-
}
|
|
119
|
-
if (options.needsProcessing !== void 0) {
|
|
120
|
-
formData.append("needsProcessing", String(options.needsProcessing));
|
|
121
|
-
}
|
|
122
|
-
if (options.extraFields) {
|
|
123
|
-
for (const [key, value] of Object.entries(options.extraFields)) {
|
|
124
|
-
formData.append(key, value);
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
const response = await ossFileFetch(
|
|
128
|
-
uploadUrl,
|
|
129
|
-
{
|
|
130
|
-
method: "POST",
|
|
131
|
-
body: formData
|
|
132
|
-
},
|
|
133
|
-
options.fetch
|
|
134
|
-
);
|
|
135
|
-
const payload = await response.json().catch(() => ({}));
|
|
136
|
-
if (!response.ok || payload.success === false) {
|
|
137
|
-
throw new Error(payload.error || payload.message || `HTTP ${response.status}`);
|
|
138
|
-
}
|
|
139
|
-
const data = payload.data ?? payload;
|
|
140
|
-
const fileId = data.fileId ?? data.id;
|
|
141
|
-
const accessUrl = data.accessUrl ?? data.url;
|
|
142
|
-
if (!fileId || !accessUrl) {
|
|
143
|
-
throw new Error("\u4E0A\u4F20\u54CD\u5E94\u7F3A\u5C11 fileId \u6216 accessUrl");
|
|
144
|
-
}
|
|
145
|
-
return { fileId, accessUrl };
|
|
146
|
-
}
|
|
147
|
-
async function uploadArtworkImage(file, collectionId) {
|
|
148
|
-
return uploadModuleFile({
|
|
149
|
-
file,
|
|
150
|
-
moduleId: "showmasterpiece",
|
|
151
|
-
businessId: collectionId ? `collection-${collectionId}` : "artwork",
|
|
152
|
-
needsProcessing: true
|
|
153
|
-
});
|
|
154
|
-
}
|
|
155
|
-
async function getModuleFileAccessUrl(fileId, apiBase = "", fetchOverride) {
|
|
156
|
-
const response = await ossFileFetch(
|
|
157
|
-
`${apiBase}/api/universal-file/${fileId}`,
|
|
158
|
-
{ method: "GET" },
|
|
159
|
-
fetchOverride
|
|
160
|
-
);
|
|
161
|
-
if (!response.ok) {
|
|
162
|
-
throw new Error(`\u83B7\u53D6\u6587\u4EF6 URL \u5931\u8D25: HTTP ${response.status}`);
|
|
163
|
-
}
|
|
164
|
-
const payload = await response.json();
|
|
165
|
-
if (payload.success === false) {
|
|
166
|
-
throw new Error(payload.error || "\u83B7\u53D6\u6587\u4EF6 URL \u5931\u8D25");
|
|
167
|
-
}
|
|
168
|
-
const url = payload.data?.accessUrl ?? payload.accessUrl;
|
|
169
|
-
if (!url) {
|
|
170
|
-
throw new Error("\u54CD\u5E94\u7F3A\u5C11 accessUrl");
|
|
171
|
-
}
|
|
172
|
-
return url;
|
|
173
|
-
}
|
|
174
|
-
var getArtworkImageUrl = getModuleFileAccessUrl;
|
|
175
|
-
var cachedOssConfig = null;
|
|
176
|
-
async function loadOssConfigFromItemsApi(itemsApiUrl, fetchOverride) {
|
|
177
|
-
const keys = Object.values(STANDARD_ALIYUN_OSS_KEYS).join(",");
|
|
178
|
-
const url = `${itemsApiUrl}${itemsApiUrl.includes("?") ? "&" : "?"}keys=${encodeURIComponent(keys)}`;
|
|
179
|
-
const response = await ossFileFetch(url, { method: "GET" }, fetchOverride);
|
|
180
|
-
if (!response.ok) return null;
|
|
181
|
-
const data = await response.json();
|
|
182
|
-
if (!data.success || !Array.isArray(data.items)) return null;
|
|
183
|
-
const configMap = {};
|
|
184
|
-
for (const item of data.items) {
|
|
185
|
-
if (item?.key && item?.value) {
|
|
186
|
-
configMap[item.key] = item.value;
|
|
187
|
-
}
|
|
188
|
-
}
|
|
189
|
-
return parseAliyunOssConfigFromMap(configMap);
|
|
190
|
-
}
|
|
191
|
-
async function getCachedOssConfig(itemsApiUrl) {
|
|
192
|
-
if (cachedOssConfig !== null) {
|
|
193
|
-
return cachedOssConfig;
|
|
194
|
-
}
|
|
195
|
-
if (typeof window !== "undefined" && itemsApiUrl) {
|
|
196
|
-
cachedOssConfig = await loadOssConfigFromItemsApi(itemsApiUrl);
|
|
197
|
-
}
|
|
198
|
-
return cachedOssConfig;
|
|
199
|
-
}
|
|
200
|
-
async function shouldUseOssFileService(itemsApiUrl) {
|
|
201
|
-
try {
|
|
202
|
-
await getCachedOssConfig(itemsApiUrl);
|
|
203
|
-
return true;
|
|
204
|
-
} catch {
|
|
205
|
-
return false;
|
|
206
|
-
}
|
|
207
|
-
}
|
|
208
|
-
async function getOssStorageModeDisplayName(itemsApiUrl) {
|
|
209
|
-
const config = await getCachedOssConfig(itemsApiUrl);
|
|
210
|
-
return getOssStorageModeLabelFromConfig(config);
|
|
211
|
-
}
|
|
212
|
-
function clearOssFileConfigCache() {
|
|
213
|
-
cachedOssConfig = null;
|
|
214
|
-
}
|
|
215
|
-
async function refreshOssFileConfigCache(itemsApiUrl) {
|
|
216
|
-
clearOssFileConfigCache();
|
|
217
|
-
await getCachedOssConfig(itemsApiUrl);
|
|
218
|
-
}
|
|
219
|
-
var shouldUseUniversalFileService = shouldUseOssFileService;
|
|
220
|
-
var getStorageModeDisplayName = getOssStorageModeDisplayName;
|
|
221
|
-
var clearConfigCache = clearOssFileConfigCache;
|
|
222
|
-
var refreshFileServiceConfig = refreshOssFileConfigCache;
|
|
223
|
-
|
|
224
|
-
export { clearConfigCache, clearOssFileConfigCache, configureOssFileFromPlatform, configureOssFileHttp, createOssFileFetchFromAdapter, getArtworkImageUrl, getModuleFileAccessUrl, getOssStorageModeDisplayName, getStorageModeDisplayName, refreshFileServiceConfig, refreshOssFileConfigCache, shouldUseOssFileService, shouldUseUniversalFileService, uploadArtworkImage, uploadModuleFile };
|
|
225
|
-
//# sourceMappingURL=chunk-SKFEJPMJ.mjs.map
|
|
226
|
-
//# sourceMappingURL=chunk-SKFEJPMJ.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/ossFile/shared/httpClient.ts","../src/ossFile/client.ts"],"names":[],"mappings":"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","file":"chunk-SKFEJPMJ.mjs","sourcesContent":["import type { RequestAdapter, RequestConfig } from '../../request/types/types';\nimport type { PlatformAdapter } from '../../common/platform/types';\n\n/** 与标准 fetch 兼容,供 ossFile 客户端注入(Taro / Hono SSR 等) */\nexport type OssFileFetchFn = (\n url: string,\n init?: RequestInit,\n) => Promise<Response>;\n\nexport type OssFileHttpConfig = {\n fetch?: OssFileFetchFn;\n};\n\nlet globalHttpConfig: OssFileHttpConfig = {};\n\nexport function configureOssFileHttp(config: OssFileHttpConfig): void {\n globalHttpConfig = { ...globalHttpConfig, ...config };\n}\n\n/** @internal 测试重置 */\nexport function resetOssFileHttpForTesting(): void {\n globalHttpConfig = {};\n}\n\nfunction isMultipartBody(body: BodyInit | null | undefined): boolean {\n return (\n body instanceof FormData ||\n body instanceof Blob ||\n body instanceof URLSearchParams\n );\n}\n\nfunction headersToRecord(headers?: HeadersInit): Record<string, string> {\n const out: Record<string, string> = {};\n if (!headers) {\n return out;\n }\n if (headers instanceof Headers) {\n headers.forEach((value, key) => {\n out[key] = value;\n });\n return out;\n }\n if (Array.isArray(headers)) {\n for (const [key, value] of headers) {\n out[key] = value;\n }\n return out;\n }\n return { ...headers };\n}\n\n/**\n * 将 RequestAdapter 桥接为 fetch 形态(JSON 请求)。\n * multipart 上传需通过 `configureOssFileHttp({ fetch })` 注入完整 fetch。\n */\nexport function createOssFileFetchFromAdapter(\n adapter: RequestAdapter,\n): OssFileFetchFn {\n return async (url, init = {}) => {\n if (isMultipartBody(init.body ?? null)) {\n throw new Error(\n '[ossFile] RequestAdapter 不支持 multipart;请注入支持 FormData 的 fetch',\n );\n }\n\n const method = (init.method ?? 'GET').toUpperCase() as NonNullable<\n RequestConfig['method']\n >;\n let body: unknown;\n if (typeof init.body === 'string' && init.body) {\n try {\n body = JSON.parse(init.body) as unknown;\n } catch {\n body = init.body;\n }\n }\n\n const payload = await adapter.request({\n url,\n method,\n headers: headersToRecord(init.headers),\n body,\n });\n\n const success = (payload as { success?: boolean } | null)?.success;\n const status = success === false ? 400 : 200;\n return new Response(JSON.stringify(payload), {\n status,\n headers: { 'Content-Type': 'application/json' },\n });\n };\n}\n\n/**\n * 从 PlatformAdapter 配置 ossFile HTTP(R2-223)\n *\n * - JSON GET/POST:走 `platform.fetch`(RequestAdapter)\n * - FormData 上传:走 `uploadFetch`,默认回退全局 `fetch`\n */\nexport function configureOssFileFromPlatform(\n platform: PlatformAdapter,\n options: {\n uploadFetch?: OssFileFetchFn;\n } = {},\n): void {\n const jsonFetch = createOssFileFetchFromAdapter(platform.fetch);\n const uploadFetch =\n options.uploadFetch ??\n (typeof fetch !== 'undefined' ? fetch.bind(globalThis) : undefined);\n\n configureOssFileHttp({\n fetch: async (url, init) => {\n if (isMultipartBody(init?.body ?? null)) {\n if (!uploadFetch) {\n throw new Error(\n '[ossFile] multipart 上传需要 uploadFetch 或浏览器 fetch 环境',\n );\n }\n return uploadFetch(url, { credentials: 'include', ...init });\n }\n return jsonFetch(url, init);\n },\n });\n}\n\nexport function getOssFileFetch(override?: OssFileFetchFn): OssFileFetchFn {\n const fn = override ?? globalHttpConfig.fetch;\n if (fn) {\n return fn;\n }\n if (typeof fetch === 'undefined') {\n throw new Error(\n '[ossFile] 无可用 fetch;请先调用 configureOssFileHttp 或 configureOssFileFromPlatform',\n );\n }\n return fetch.bind(globalThis);\n}\n\nexport async function ossFileFetch(\n url: string,\n init?: RequestInit,\n override?: OssFileFetchFn,\n): Promise<Response> {\n return getOssFileFetch(override)(url, {\n credentials: 'include',\n ...init,\n });\n}\n","import {\n universalFileClient,\n createFileClient,\n type UniversalFileClientConfig,\n} from '../universalFile/client';\nimport { API_ENDPOINTS } from '../universalFile/constants';\nimport {\n STANDARD_ALIYUN_OSS_KEYS,\n parseAliyunOssConfigFromMap,\n isCompleteOssConfig,\n getOssStorageModeLabelFromConfig,\n} from './shared/ossConfig';\nimport { buildModuleUploadPath, resolveUploadFolderPath } from './shared/path';\nimport {\n configureOssFileFromPlatform,\n configureOssFileHttp,\n createOssFileFetchFromAdapter,\n ossFileFetch,\n type OssFileFetchFn,\n type OssFileHttpConfig,\n} from './shared/httpClient';\n\nexport {\n configureOssFileHttp,\n configureOssFileFromPlatform,\n createOssFileFetchFromAdapter,\n type OssFileFetchFn,\n type OssFileHttpConfig,\n};\n\nexport type { UniversalFileClientConfig };\n\nexport {\n universalFileClient,\n createFileClient,\n STANDARD_ALIYUN_OSS_KEYS,\n parseAliyunOssConfigFromMap,\n buildModuleUploadPath,\n resolveUploadFolderPath,\n};\n\nexport interface UploadModuleFileOptions {\n file: File | Blob;\n moduleId: string;\n businessId?: string;\n uploadUrl?: string;\n /** 与 universalFile 的 customPath 等价 */\n folderPath?: string;\n customPath?: string;\n needsProcessing?: boolean;\n permission?: 'public' | 'private' | 'authenticated' | 'owner-only';\n metadata?: Record<string, unknown>;\n extraFields?: Record<string, string>;\n /** 单次请求覆盖全局注入的 fetch(R2-223) */\n fetch?: OssFileFetchFn;\n}\n\nexport interface UploadModuleFileResult {\n fileId: string;\n accessUrl: string;\n}\n\nexport async function uploadModuleFile(\n options: UploadModuleFileOptions,\n): Promise<UploadModuleFileResult> {\n const uploadUrl = options.uploadUrl ?? API_ENDPOINTS.UPLOAD;\n const fileName = options.file instanceof File ? options.file.name : 'upload.jpg';\n const folderPath = resolveUploadFolderPath({\n moduleId: options.moduleId,\n businessId: options.businessId,\n fileName,\n folderPath: options.folderPath,\n customPath: options.customPath,\n });\n\n const formData = new FormData();\n formData.append('file', options.file);\n formData.append('moduleId', options.moduleId);\n formData.append('businessId', options.businessId ?? 'default');\n formData.append('folderPath', folderPath);\n if (options.permission) {\n formData.append('permission', options.permission);\n }\n if (options.metadata) {\n formData.append('metadata', JSON.stringify(options.metadata));\n }\n if (options.needsProcessing !== undefined) {\n formData.append('needsProcessing', String(options.needsProcessing));\n }\n if (options.extraFields) {\n for (const [key, value] of Object.entries(options.extraFields)) {\n formData.append(key, value);\n }\n }\n\n const response = await ossFileFetch(\n uploadUrl,\n {\n method: 'POST',\n body: formData,\n },\n options.fetch,\n );\n\n const payload = await response.json().catch(() => ({}));\n if (!response.ok || payload.success === false) {\n throw new Error(payload.error || payload.message || `HTTP ${response.status}`);\n }\n\n const data = payload.data ?? payload;\n const fileId = data.fileId ?? data.id;\n const accessUrl = data.accessUrl ?? data.url;\n if (!fileId || !accessUrl) {\n throw new Error('上传响应缺少 fileId 或 accessUrl');\n }\n\n return { fileId, accessUrl };\n}\n\nexport async function uploadArtworkImage(\n file: File,\n collectionId?: number,\n): Promise<UploadModuleFileResult> {\n return uploadModuleFile({\n file,\n moduleId: 'showmasterpiece',\n businessId: collectionId ? `collection-${collectionId}` : 'artwork',\n needsProcessing: true,\n });\n}\n\nexport async function getModuleFileAccessUrl(\n fileId: string,\n apiBase = '',\n fetchOverride?: OssFileFetchFn,\n): Promise<string> {\n const response = await ossFileFetch(\n `${apiBase}/api/universal-file/${fileId}`,\n { method: 'GET' },\n fetchOverride,\n );\n if (!response.ok) {\n throw new Error(`获取文件 URL 失败: HTTP ${response.status}`);\n }\n const payload = await response.json();\n if (payload.success === false) {\n throw new Error(payload.error || '获取文件 URL 失败');\n }\n const url = payload.data?.accessUrl ?? payload.accessUrl;\n if (!url) {\n throw new Error('响应缺少 accessUrl');\n }\n return url;\n}\n\nexport const getArtworkImageUrl = getModuleFileAccessUrl;\n\nlet cachedOssConfig: ReturnType<typeof parseAliyunOssConfigFromMap> = null;\n\nasync function loadOssConfigFromItemsApi(\n itemsApiUrl: string,\n fetchOverride?: OssFileFetchFn,\n) {\n const keys = Object.values(STANDARD_ALIYUN_OSS_KEYS).join(',');\n const url = `${itemsApiUrl}${itemsApiUrl.includes('?') ? '&' : '?'}keys=${encodeURIComponent(keys)}`;\n const response = await ossFileFetch(url, { method: 'GET' }, fetchOverride);\n if (!response.ok) return null;\n\n const data = await response.json();\n if (!data.success || !Array.isArray(data.items)) return null;\n\n const configMap: Record<string, string> = {};\n for (const item of data.items) {\n if (item?.key && item?.value) {\n configMap[item.key] = item.value;\n }\n }\n return parseAliyunOssConfigFromMap(configMap);\n}\n\nasync function getCachedOssConfig(itemsApiUrl?: string) {\n if (cachedOssConfig !== null) {\n return cachedOssConfig;\n }\n if (typeof window !== 'undefined' && itemsApiUrl) {\n cachedOssConfig = await loadOssConfigFromItemsApi(itemsApiUrl);\n }\n return cachedOssConfig;\n}\n\nexport async function shouldUseOssFileService(\n itemsApiUrl?: string,\n): Promise<boolean> {\n try {\n await getCachedOssConfig(itemsApiUrl);\n return true;\n } catch {\n return false;\n }\n}\n\nexport async function getOssStorageModeDisplayName(\n itemsApiUrl?: string,\n): Promise<string> {\n const config = await getCachedOssConfig(itemsApiUrl);\n return getOssStorageModeLabelFromConfig(config);\n}\n\nexport function clearOssFileConfigCache(): void {\n cachedOssConfig = null;\n}\n\nexport async function refreshOssFileConfigCache(\n itemsApiUrl?: string,\n): Promise<void> {\n clearOssFileConfigCache();\n await getCachedOssConfig(itemsApiUrl);\n}\n\nexport const shouldUseUniversalFileService = shouldUseOssFileService;\nexport const getStorageModeDisplayName = getOssStorageModeDisplayName;\nexport const clearConfigCache = clearOssFileConfigCache;\nexport const refreshFileServiceConfig = refreshOssFileConfigCache;\n\nexport async function fetchOssConfigManagerFromItemsApi(\n itemsApiUrl: string,\n): Promise<ReturnType<typeof parseAliyunOssConfigFromMap>> {\n return loadOssConfigFromItemsApi(itemsApiUrl);\n}\n\nexport function isOssConfigured(config: ReturnType<typeof parseAliyunOssConfigFromMap>): boolean {\n return isCompleteOssConfig(config);\n}\n"]}
|
package/dist/chunk-SLKOEYFH.js
DELETED
|
@@ -1,303 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var chunkNSBPE2FW_js = require('./chunk-NSBPE2FW.js');
|
|
4
|
-
|
|
5
|
-
// src/api/index.ts
|
|
6
|
-
var api_exports = {};
|
|
7
|
-
chunkNSBPE2FW_js.__export(api_exports, {
|
|
8
|
-
BaseApiClient: () => BaseApiClient,
|
|
9
|
-
DEFAULT_API_ROUTES: () => DEFAULT_API_ROUTES,
|
|
10
|
-
DEFAULT_STORAGE_KEYS: () => DEFAULT_STORAGE_KEYS
|
|
11
|
-
});
|
|
12
|
-
|
|
13
|
-
// src/api/types.ts
|
|
14
|
-
var DEFAULT_STORAGE_KEYS = {
|
|
15
|
-
AUTH_TOKEN: "auth_token",
|
|
16
|
-
USER_DATA: "user_data",
|
|
17
|
-
REFRESH_TOKEN: "refresh_token"
|
|
18
|
-
};
|
|
19
|
-
var DEFAULT_API_ROUTES = {
|
|
20
|
-
auth: {
|
|
21
|
-
login: "/auth/login",
|
|
22
|
-
logout: "/auth/logout",
|
|
23
|
-
register: "/auth/register",
|
|
24
|
-
me: "/auth/me"
|
|
25
|
-
},
|
|
26
|
-
users: {
|
|
27
|
-
list: "/users",
|
|
28
|
-
detail: (id) => "/users/" + id,
|
|
29
|
-
update: (id) => "/users/" + id,
|
|
30
|
-
delete: (id) => "/users/" + id
|
|
31
|
-
}
|
|
32
|
-
};
|
|
33
|
-
|
|
34
|
-
// src/api/BaseApiClient.ts
|
|
35
|
-
var BaseApiClient = class {
|
|
36
|
-
constructor(config) {
|
|
37
|
-
this.token = null;
|
|
38
|
-
this.user = null;
|
|
39
|
-
this.baseUrl = config.baseUrl;
|
|
40
|
-
this.storage = config.storage;
|
|
41
|
-
this.request = config.request;
|
|
42
|
-
this.storageKeys = {
|
|
43
|
-
...DEFAULT_STORAGE_KEYS,
|
|
44
|
-
...config.storageKeys || {}
|
|
45
|
-
};
|
|
46
|
-
this.routes = {
|
|
47
|
-
...DEFAULT_API_ROUTES,
|
|
48
|
-
...config.routes || {},
|
|
49
|
-
auth: {
|
|
50
|
-
...DEFAULT_API_ROUTES.auth,
|
|
51
|
-
...config.routes?.auth || {}
|
|
52
|
-
},
|
|
53
|
-
users: {
|
|
54
|
-
...DEFAULT_API_ROUTES.users,
|
|
55
|
-
...config.routes?.users || {}
|
|
56
|
-
}
|
|
57
|
-
};
|
|
58
|
-
}
|
|
59
|
-
/**
|
|
60
|
-
* 初始化 - 从存储中加载 token 和用户信息
|
|
61
|
-
*/
|
|
62
|
-
async init() {
|
|
63
|
-
try {
|
|
64
|
-
this.token = await this.storage.getItem(this.storageKeys.AUTH_TOKEN);
|
|
65
|
-
const userData = await this.storage.getItem(this.storageKeys.USER_DATA);
|
|
66
|
-
if (userData) {
|
|
67
|
-
this.user = JSON.parse(userData);
|
|
68
|
-
}
|
|
69
|
-
} catch (error) {
|
|
70
|
-
console.error("Failed to load auth data:", error);
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
/**
|
|
74
|
-
* 设置认证 token
|
|
75
|
-
*/
|
|
76
|
-
async setToken(token) {
|
|
77
|
-
this.token = token;
|
|
78
|
-
if (token) {
|
|
79
|
-
await this.storage.setItem(this.storageKeys.AUTH_TOKEN, token);
|
|
80
|
-
} else {
|
|
81
|
-
await this.storage.removeItem(this.storageKeys.AUTH_TOKEN);
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
/**
|
|
85
|
-
* 设置用户信息
|
|
86
|
-
*/
|
|
87
|
-
async setUser(user) {
|
|
88
|
-
this.user = user;
|
|
89
|
-
if (user) {
|
|
90
|
-
await this.storage.setItem(this.storageKeys.USER_DATA, JSON.stringify(user));
|
|
91
|
-
} else {
|
|
92
|
-
await this.storage.removeItem(this.storageKeys.USER_DATA);
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
/**
|
|
96
|
-
* 获取当前 token
|
|
97
|
-
*/
|
|
98
|
-
getToken() {
|
|
99
|
-
return this.token;
|
|
100
|
-
}
|
|
101
|
-
/**
|
|
102
|
-
* 获取当前用户
|
|
103
|
-
*/
|
|
104
|
-
getUser() {
|
|
105
|
-
return this.user;
|
|
106
|
-
}
|
|
107
|
-
/**
|
|
108
|
-
* 检查是否已登录
|
|
109
|
-
*/
|
|
110
|
-
async isAuthenticated() {
|
|
111
|
-
return !!this.token;
|
|
112
|
-
}
|
|
113
|
-
/**
|
|
114
|
-
* 清除用户数据
|
|
115
|
-
*/
|
|
116
|
-
async clearUserData() {
|
|
117
|
-
await this.storage.removeItem(this.storageKeys.AUTH_TOKEN);
|
|
118
|
-
await this.storage.removeItem(this.storageKeys.USER_DATA);
|
|
119
|
-
if (this.storageKeys.REFRESH_TOKEN) {
|
|
120
|
-
await this.storage.removeItem(this.storageKeys.REFRESH_TOKEN);
|
|
121
|
-
}
|
|
122
|
-
this.token = null;
|
|
123
|
-
this.user = null;
|
|
124
|
-
}
|
|
125
|
-
/**
|
|
126
|
-
* 发送请求的通用方法
|
|
127
|
-
*/
|
|
128
|
-
async sendRequest(config) {
|
|
129
|
-
try {
|
|
130
|
-
const headers = {
|
|
131
|
-
"Content-Type": "application/json",
|
|
132
|
-
...config.headers || {}
|
|
133
|
-
};
|
|
134
|
-
if (this.token) {
|
|
135
|
-
headers["Authorization"] = "Bearer " + this.token;
|
|
136
|
-
}
|
|
137
|
-
const response = await this.request.request({
|
|
138
|
-
...config,
|
|
139
|
-
url: this.baseUrl + config.url,
|
|
140
|
-
headers
|
|
141
|
-
});
|
|
142
|
-
return response;
|
|
143
|
-
} catch (error) {
|
|
144
|
-
console.error("API request error:", error);
|
|
145
|
-
return {
|
|
146
|
-
success: false,
|
|
147
|
-
error: error instanceof Error ? error.message : "\u7F51\u7EDC\u9519\u8BEF\uFF0C\u8BF7\u91CD\u8BD5"
|
|
148
|
-
};
|
|
149
|
-
}
|
|
150
|
-
}
|
|
151
|
-
/**
|
|
152
|
-
* 发送 GET 请求
|
|
153
|
-
*/
|
|
154
|
-
async get(url, params) {
|
|
155
|
-
return this.sendRequest({ url, method: "GET", params });
|
|
156
|
-
}
|
|
157
|
-
/**
|
|
158
|
-
* 发送 POST 请求
|
|
159
|
-
*/
|
|
160
|
-
async post(url, body) {
|
|
161
|
-
return this.sendRequest({ url, method: "POST", body });
|
|
162
|
-
}
|
|
163
|
-
/**
|
|
164
|
-
* 发送 PUT 请求
|
|
165
|
-
*/
|
|
166
|
-
async put(url, body) {
|
|
167
|
-
return this.sendRequest({ url, method: "PUT", body });
|
|
168
|
-
}
|
|
169
|
-
/**
|
|
170
|
-
* 发送 PATCH 请求
|
|
171
|
-
*/
|
|
172
|
-
async patch(url, body) {
|
|
173
|
-
return this.sendRequest({ url, method: "PATCH", body });
|
|
174
|
-
}
|
|
175
|
-
/**
|
|
176
|
-
* 发送 DELETE 请求
|
|
177
|
-
*/
|
|
178
|
-
async delete(url) {
|
|
179
|
-
return this.sendRequest({ url, method: "DELETE" });
|
|
180
|
-
}
|
|
181
|
-
// ==================== 默认认证方法(子类可重写) ====================
|
|
182
|
-
/**
|
|
183
|
-
* 用户注册
|
|
184
|
-
* 默认实现,子类可重写以添加自定义逻辑
|
|
185
|
-
*/
|
|
186
|
-
async register(email, password, username) {
|
|
187
|
-
if (!this.routes.auth?.register) {
|
|
188
|
-
throw new Error("Register route is not configured");
|
|
189
|
-
}
|
|
190
|
-
const response = await this.post(this.routes.auth.register, {
|
|
191
|
-
email,
|
|
192
|
-
password,
|
|
193
|
-
username
|
|
194
|
-
});
|
|
195
|
-
if (response.success && response.data) {
|
|
196
|
-
await this.setToken(response.data.token);
|
|
197
|
-
await this.setUser(response.data.user);
|
|
198
|
-
await this.onAuthSuccess?.(response.data.user, response.data.token);
|
|
199
|
-
} else if (!response.success) {
|
|
200
|
-
await this.onAuthError?.(response.error || "Registration failed");
|
|
201
|
-
}
|
|
202
|
-
return response;
|
|
203
|
-
}
|
|
204
|
-
/**
|
|
205
|
-
* 用户登录
|
|
206
|
-
* 默认实现,子类可重写以添加自定义逻辑
|
|
207
|
-
*/
|
|
208
|
-
async login(email, password) {
|
|
209
|
-
if (!this.routes.auth?.login) {
|
|
210
|
-
throw new Error("Login route is not configured");
|
|
211
|
-
}
|
|
212
|
-
const response = await this.post(this.routes.auth.login, {
|
|
213
|
-
email,
|
|
214
|
-
password
|
|
215
|
-
});
|
|
216
|
-
if (response.success && response.data) {
|
|
217
|
-
await this.setToken(response.data.token);
|
|
218
|
-
await this.setUser(response.data.user);
|
|
219
|
-
await this.onAuthSuccess?.(response.data.user, response.data.token);
|
|
220
|
-
} else if (!response.success) {
|
|
221
|
-
await this.onAuthError?.(response.error || "Login failed");
|
|
222
|
-
}
|
|
223
|
-
return response;
|
|
224
|
-
}
|
|
225
|
-
/**
|
|
226
|
-
* 用户退出登录
|
|
227
|
-
* 默认实现,子类可重写以添加自定义逻辑
|
|
228
|
-
*/
|
|
229
|
-
async logout() {
|
|
230
|
-
if (this.routes.auth?.logout) {
|
|
231
|
-
await this.post(this.routes.auth.logout);
|
|
232
|
-
}
|
|
233
|
-
await this.clearUserData();
|
|
234
|
-
await this.onLogout?.();
|
|
235
|
-
}
|
|
236
|
-
/**
|
|
237
|
-
* 获取当前用户信息
|
|
238
|
-
* 默认实现,子类可重写以添加自定义逻辑
|
|
239
|
-
*/
|
|
240
|
-
async getCurrentUser() {
|
|
241
|
-
if (!this.routes.auth?.me) {
|
|
242
|
-
throw new Error("Current user route is not configured");
|
|
243
|
-
}
|
|
244
|
-
const response = await this.get(this.routes.auth.me);
|
|
245
|
-
if (response.success && response.data) {
|
|
246
|
-
const userData = response.data.user || response.data;
|
|
247
|
-
await this.setUser(userData);
|
|
248
|
-
return {
|
|
249
|
-
...response,
|
|
250
|
-
data: userData
|
|
251
|
-
};
|
|
252
|
-
}
|
|
253
|
-
return response;
|
|
254
|
-
}
|
|
255
|
-
// ==================== 默认用户管理方法(子类可重写) ====================
|
|
256
|
-
/**
|
|
257
|
-
* 获取用户列表
|
|
258
|
-
* 默认实现,子类可重写以添加自定义逻辑
|
|
259
|
-
*/
|
|
260
|
-
async getUsers(params) {
|
|
261
|
-
if (!this.routes.users?.list) {
|
|
262
|
-
throw new Error("Users list route is not configured");
|
|
263
|
-
}
|
|
264
|
-
return this.get(this.routes.users.list, params);
|
|
265
|
-
}
|
|
266
|
-
/**
|
|
267
|
-
* 获取用户详情
|
|
268
|
-
* 默认实现,子类可重写以添加自定义逻辑
|
|
269
|
-
*/
|
|
270
|
-
async getUserById(userId) {
|
|
271
|
-
if (!this.routes.users?.detail) {
|
|
272
|
-
throw new Error("User detail route is not configured");
|
|
273
|
-
}
|
|
274
|
-
return this.get(this.routes.users.detail(userId));
|
|
275
|
-
}
|
|
276
|
-
/**
|
|
277
|
-
* 更新用户信息
|
|
278
|
-
* 默认实现,子类可重写以添加自定义逻辑
|
|
279
|
-
*/
|
|
280
|
-
async updateUser(userId, data) {
|
|
281
|
-
if (!this.routes.users?.update) {
|
|
282
|
-
throw new Error("User update route is not configured");
|
|
283
|
-
}
|
|
284
|
-
return this.put(this.routes.users.update(userId), data);
|
|
285
|
-
}
|
|
286
|
-
/**
|
|
287
|
-
* 删除用户
|
|
288
|
-
* 默认实现,子类可重写以添加自定义逻辑
|
|
289
|
-
*/
|
|
290
|
-
async deleteUser(userId) {
|
|
291
|
-
if (!this.routes.users?.delete) {
|
|
292
|
-
throw new Error("User delete route is not configured");
|
|
293
|
-
}
|
|
294
|
-
return this.delete(this.routes.users.delete(userId));
|
|
295
|
-
}
|
|
296
|
-
};
|
|
297
|
-
|
|
298
|
-
exports.BaseApiClient = BaseApiClient;
|
|
299
|
-
exports.DEFAULT_API_ROUTES = DEFAULT_API_ROUTES;
|
|
300
|
-
exports.DEFAULT_STORAGE_KEYS = DEFAULT_STORAGE_KEYS;
|
|
301
|
-
exports.api_exports = api_exports;
|
|
302
|
-
//# sourceMappingURL=chunk-SLKOEYFH.js.map
|
|
303
|
-
//# sourceMappingURL=chunk-SLKOEYFH.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/api/index.ts","../src/api/types.ts","../src/api/BaseApiClient.ts"],"names":["__export"],"mappings":"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","file":"chunk-SLKOEYFH.js","sourcesContent":["/**\n * API 模块\n * API Module\n *\n * 提供通用的 API 客户端基类和类型定义\n */\n\nexport * from './types';\nexport * from './BaseApiClient';\n\n// 重新导出依赖的适配器类型,方便使用\nexport type { StorageAdapter } from '../storage';\nexport type { RequestAdapter, RequestConfig } from '../request';\n\n// 导出常用的默认配置\nexport { DEFAULT_STORAGE_KEYS, DEFAULT_API_ROUTES } from './types';\n\n","/**\n * API 通用类型定义\n * Common API Types\n */\n\n/**\n * API 响应类型\n * Generic API Response Format\n */\nexport interface ApiResponse<T = any> {\n success: boolean;\n data?: T;\n error?: string;\n message?: string;\n meta?: {\n pagination?: {\n page: number;\n limit: number;\n total: number;\n pages: number;\n };\n [key: string]: any;\n };\n}\n\n/**\n * 分页参数类型\n * Pagination Parameters\n */\nexport interface PaginationParams {\n page?: number;\n limit?: number;\n search?: string;\n sortBy?: string;\n sortOrder?: 'asc' | 'desc';\n}\n\n/**\n * 认证响应类型(泛型)\n * Generic Auth Response\n */\nexport interface AuthResponse<TUser = any> {\n user: TUser;\n token: string;\n}\n\n/**\n * 默认存储键常量\n * Default Storage Keys\n */\nexport const DEFAULT_STORAGE_KEYS = {\n AUTH_TOKEN: 'auth_token',\n USER_DATA: 'user_data',\n REFRESH_TOKEN: 'refresh_token',\n} as const;\n\n/**\n * 存储键类型(可扩展)\n * Storage Keys Type\n */\nexport type StorageKeys = typeof DEFAULT_STORAGE_KEYS;\n\n/**\n * API 路由配置\n * API Routes Configuration\n */\nexport interface ApiRoutes {\n /** 认证相关路由 */\n auth?: {\n login?: string;\n logout?: string;\n register?: string;\n me?: string;\n };\n /** 用户相关路由 */\n users?: {\n list?: string;\n detail?: (id: string) => string;\n update?: (id: string) => string;\n delete?: (id: string) => string;\n };\n /** 自定义路由 */\n [key: string]: any;\n}\n\n/**\n * 默认 API 路由\n */\nexport const DEFAULT_API_ROUTES: ApiRoutes = {\n auth: {\n login: '/auth/login',\n logout: '/auth/logout',\n register: '/auth/register',\n me: '/auth/me',\n },\n users: {\n list: '/users',\n detail: (id: string) => '/users/' + (id),\n update: (id: string) => '/users/' + (id),\n delete: (id: string) => '/users/' + (id),\n },\n};\n","/**\n * 基础 API 客户端(泛型)\n * Base API Client (Generic)\n *\n * 提供统一的 API 调用逻辑,通过适配器模式支持多平台\n * 使用泛型 TUser 支持不同项目的用户类型\n */\n\nimport type { StorageAdapter } from '../storage';\nimport type { RequestAdapter, RequestConfig } from '../request';\nimport type { ApiResponse, AuthResponse, StorageKeys, ApiRoutes } from './types';\nimport { DEFAULT_STORAGE_KEYS, DEFAULT_API_ROUTES } from './types';\n\n/**\n * 基础 API 客户端配置\n */\nexport interface BaseApiClientConfig {\n /** 基础 URL */\n baseUrl: string;\n /** 存储适配器 */\n storage: StorageAdapter;\n /** 请求适配器 */\n request: RequestAdapter;\n /** 自定义存储键(可选) */\n storageKeys?: Partial<StorageKeys>;\n /** API 路由配置(可选) */\n routes?: ApiRoutes;\n}\n\n/**\n * 基础 API 客户端\n * @template TUser 用户类型(泛型)\n */\nexport class BaseApiClient<TUser = any> {\n protected token: string | null = null;\n protected user: TUser | null = null;\n protected baseUrl: string;\n protected storage: StorageAdapter;\n protected request: RequestAdapter;\n protected storageKeys: StorageKeys;\n protected routes: ApiRoutes;\n\n constructor(config: BaseApiClientConfig) {\n this.baseUrl = config.baseUrl;\n this.storage = config.storage;\n this.request = config.request;\n this.storageKeys = {\n ...DEFAULT_STORAGE_KEYS,\n ...(config.storageKeys || {}),\n };\n this.routes = {\n ...DEFAULT_API_ROUTES,\n ...(config.routes || {}),\n auth: {\n ...DEFAULT_API_ROUTES.auth,\n ...(config.routes?.auth || {}),\n },\n users: {\n ...DEFAULT_API_ROUTES.users,\n ...(config.routes?.users || {}),\n },\n };\n }\n\n /**\n * 初始化 - 从存储中加载 token 和用户信息\n */\n async init(): Promise<void> {\n try {\n this.token = await this.storage.getItem(this.storageKeys.AUTH_TOKEN);\n const userData = await this.storage.getItem(this.storageKeys.USER_DATA);\n if (userData) {\n this.user = JSON.parse(userData) as TUser;\n }\n } catch (error) {\n console.error('Failed to load auth data:', error);\n }\n }\n\n /**\n * 设置认证 token\n */\n async setToken(token: string | null): Promise<void> {\n this.token = token;\n if (token) {\n await this.storage.setItem(this.storageKeys.AUTH_TOKEN, token);\n } else {\n await this.storage.removeItem(this.storageKeys.AUTH_TOKEN);\n }\n }\n\n /**\n * 设置用户信息\n */\n async setUser(user: TUser | null): Promise<void> {\n this.user = user;\n if (user) {\n await this.storage.setItem(this.storageKeys.USER_DATA, JSON.stringify(user));\n } else {\n await this.storage.removeItem(this.storageKeys.USER_DATA);\n }\n }\n\n /**\n * 获取当前 token\n */\n getToken(): string | null {\n return this.token;\n }\n\n /**\n * 获取当前用户\n */\n getUser(): TUser | null {\n return this.user;\n }\n\n /**\n * 检查是否已登录\n */\n async isAuthenticated(): Promise<boolean> {\n return !!this.token;\n }\n\n /**\n * 清除用户数据\n */\n async clearUserData(): Promise<void> {\n await this.storage.removeItem(this.storageKeys.AUTH_TOKEN);\n await this.storage.removeItem(this.storageKeys.USER_DATA);\n if (this.storageKeys.REFRESH_TOKEN) {\n await this.storage.removeItem(this.storageKeys.REFRESH_TOKEN);\n }\n this.token = null;\n this.user = null;\n }\n\n /**\n * 发送请求的通用方法\n */\n protected async sendRequest<T = any>(config: RequestConfig): Promise<ApiResponse<T>> {\n try {\n const headers: Record<string, string> = {\n 'Content-Type': 'application/json',\n ...(config.headers || {}),\n };\n\n // 添加认证 token\n if (this.token) {\n headers['Authorization'] = 'Bearer ' + (this.token);\n }\n\n const response = await this.request.request<ApiResponse<T>>({\n ...config,\n url: (this.baseUrl) + (config.url),\n headers,\n });\n\n return response;\n } catch (error) {\n console.error('API request error:', error);\n return {\n success: false,\n error: error instanceof Error ? error.message : '网络错误,请重试',\n };\n }\n }\n\n /**\n * 发送 GET 请求\n */\n async get<T = any>(url: string, params?: Record<string, any>): Promise<ApiResponse<T>> {\n return this.sendRequest({ url, method: 'GET', params });\n }\n\n /**\n * 发送 POST 请求\n */\n async post<T = any>(url: string, body?: any): Promise<ApiResponse<T>> {\n return this.sendRequest({ url, method: 'POST', body });\n }\n\n /**\n * 发送 PUT 请求\n */\n async put<T = any>(url: string, body?: any): Promise<ApiResponse<T>> {\n return this.sendRequest({ url, method: 'PUT', body });\n }\n\n /**\n * 发送 PATCH 请求\n */\n async patch<T = any>(url: string, body?: any): Promise<ApiResponse<T>> {\n return this.sendRequest({ url, method: 'PATCH', body });\n }\n\n /**\n * 发送 DELETE 请求\n */\n async delete<T = any>(url: string): Promise<ApiResponse<T>> {\n return this.sendRequest({ url, method: 'DELETE' });\n }\n\n // ==================== 默认认证方法(子类可重写) ====================\n\n /**\n * 用户注册\n * 默认实现,子类可重写以添加自定义逻辑\n */\n async register(\n email: string,\n password: string,\n username: string\n ): Promise<ApiResponse<AuthResponse<TUser>>> {\n if (!this.routes.auth?.register) {\n throw new Error('Register route is not configured');\n }\n\n const response = await this.post<AuthResponse<TUser>>(this.routes.auth.register, {\n email,\n password,\n username,\n });\n\n if (response.success && response.data) {\n await this.setToken(response.data.token);\n await this.setUser(response.data.user);\n await this.onAuthSuccess?.(response.data.user, response.data.token);\n } else if (!response.success) {\n await this.onAuthError?.(response.error || 'Registration failed');\n }\n\n return response;\n }\n\n /**\n * 用户登录\n * 默认实现,子类可重写以添加自定义逻辑\n */\n async login(email: string, password: string): Promise<ApiResponse<AuthResponse<TUser>>> {\n if (!this.routes.auth?.login) {\n throw new Error('Login route is not configured');\n }\n\n const response = await this.post<AuthResponse<TUser>>(this.routes.auth.login, {\n email,\n password,\n });\n\n if (response.success && response.data) {\n await this.setToken(response.data.token);\n await this.setUser(response.data.user);\n await this.onAuthSuccess?.(response.data.user, response.data.token);\n } else if (!response.success) {\n await this.onAuthError?.(response.error || 'Login failed');\n }\n\n return response;\n }\n\n /**\n * 用户退出登录\n * 默认实现,子类可重写以添加自定义逻辑\n */\n async logout(): Promise<void> {\n if (this.routes.auth?.logout) {\n await this.post<void>(this.routes.auth.logout);\n }\n\n // 无论请求成功与否,都清除本地数据\n await this.clearUserData();\n await this.onLogout?.();\n }\n\n /**\n * 获取当前用户信息\n * 默认实现,子类可重写以添加自定义逻辑\n */\n async getCurrentUser(): Promise<ApiResponse<TUser>> {\n if (!this.routes.auth?.me) {\n throw new Error('Current user route is not configured');\n }\n\n const response = await this.get<any>(this.routes.auth.me);\n\n // 统一处理响应格式:自动展开 response.data.user 为 response.data\n if (response.success && response.data) {\n // 如果 data 是嵌套的 {user: {...}, session: {...}} 格式,提取 user\n const userData = response.data.user || response.data;\n\n await this.setUser(userData);\n\n return {\n ...response,\n data: userData,\n };\n }\n\n return response;\n }\n\n // ==================== 默认用户管理方法(子类可重写) ====================\n\n /**\n * 获取用户列表\n * 默认实现,子类可重写以添加自定义逻辑\n */\n async getUsers(params?: {\n page?: number;\n limit?: number;\n search?: string;\n }): Promise<ApiResponse<{ users: TUser[]; total: number }>> {\n if (!this.routes.users?.list) {\n throw new Error('Users list route is not configured');\n }\n\n return this.get(this.routes.users.list, params);\n }\n\n /**\n * 获取用户详情\n * 默认实现,子类可重写以添加自定义逻辑\n */\n async getUserById(userId: string): Promise<ApiResponse<TUser>> {\n if (!this.routes.users?.detail) {\n throw new Error('User detail route is not configured');\n }\n\n return this.get(this.routes.users.detail(userId));\n }\n\n /**\n * 更新用户信息\n * 默认实现,子类可重写以添加自定义逻辑\n */\n async updateUser(userId: string, data: Partial<TUser>): Promise<ApiResponse<TUser>> {\n if (!this.routes.users?.update) {\n throw new Error('User update route is not configured');\n }\n\n return this.put(this.routes.users.update(userId), data);\n }\n\n /**\n * 删除用户\n * 默认实现,子类可重写以添加自定义逻辑\n */\n async deleteUser(userId: string): Promise<ApiResponse<void>> {\n if (!this.routes.users?.delete) {\n throw new Error('User delete route is not configured');\n }\n\n return this.delete(this.routes.users.delete(userId));\n }\n\n // ==================== 子类可重写的钩子方法 ====================\n\n /**\n * 请求前钩子(子类可重写)\n */\n protected async onBeforeRequest?(config: RequestConfig): Promise<RequestConfig>;\n\n /**\n * 请求后钩子(子类可重写)\n */\n protected async onAfterRequest?<T>(response: ApiResponse<T>): Promise<ApiResponse<T>>;\n\n /**\n * 请求错误钩子(子类可重写)\n */\n protected async onRequestError?(error: Error): Promise<void>;\n\n /**\n * 认证成功钩子(子类可重写)\n */\n protected async onAuthSuccess?(user: TUser, token: string): Promise<void>;\n\n /**\n * 认证失败钩子(子类可重写)\n */\n protected async onAuthError?(error: string): Promise<void>;\n\n /**\n * 登出钩子(子类可重写)\n */\n protected async onLogout?(): Promise<void>;\n}\n\n"]}
|