封装ossStore

This commit is contained in:
2025-06-17 16:53:53 +08:00
parent 2f131e50ee
commit 1d4a3d1e29
5 changed files with 203 additions and 110 deletions

View File

@@ -1,16 +1,22 @@
import { useOssSts } from "@/hooks/oss/use-oss-sts";
import { StsToken } from "@/lib/api/oss";
import OSS from "ali-oss";
import { useEffect } from "react";
export function useOssStore() {
export function useOssStore(options: { region: string; bucket: string; onStsTokenDataChanged?: (data: StsToken | undefined) => void; }) {
const { stsTokenData, isLoading, error } = useOssSts();
useEffect(() => {
options.onStsTokenDataChanged?.(stsTokenData);
}, [stsTokenData])
return {
stsTokenData,
isLoading,
error,
store: stsTokenData ? new OSS({
region: 'oss-cn-chengdu',
bucket: 'tone-personal',
region: options.region,
bucket: options.bucket,
accessKeyId: stsTokenData.AccessKeyId,
accessKeySecret: stsTokenData.AccessKeySecret,
stsToken: stsTokenData.SecurityToken,