封装ossStore
This commit is contained in:
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user