feat: 支持 expo 44 版本

This commit is contained in:
2025-09-11 23:00:24 +08:00
parent 0cb7e67b5e
commit dfe9506a7a
10 changed files with 4070 additions and 2233 deletions

View File

@@ -1,6 +1,5 @@
import { COS_BUCKET, COS_REGION, buildPublicUrl } from '@/constants/Cos';
import { api } from '@/services/api';
import Cos from 'react-native-cos-sdk';
type ServerCosToken = {
tmpSecretId: string;
@@ -89,25 +88,25 @@ export async function uploadToCos(options: UploadOptions): Promise<{ key: string
// 初始化 react-native-cos-sdk一次
if (!rnInitialized) {
await Cos.initWithSessionCredentialCallback(async () => {
// SDK 会在需要时调用该回调,我们返回当前的临时密钥
return {
tmpSecretId: cred.credentials.tmpSecretId,
tmpSecretKey: cred.credentials.tmpSecretKey,
sessionToken: cred.credentials.sessionToken,
startTime: cred.startTime,
expiredTime: cred.expiredTime,
} as any;
});
const serviceConfig = { region, isDebuggable: true, isHttps: true } as any;
await Cos.registerDefaultService(serviceConfig);
const transferConfig = {
forceSimpleUpload: false,
enableVerification: true,
divisionForUpload: 2 * 1024 * 1024,
sliceSizeForUpload: 1 * 1024 * 1024,
} as any;
rnTransferManager = await Cos.registerDefaultTransferManger(serviceConfig, transferConfig);
// await Cos.initWithSessionCredentialCallback(async () => {
// // SDK 会在需要时调用该回调,我们返回当前的临时密钥
// return {
// tmpSecretId: cred.credentials.tmpSecretId,
// tmpSecretKey: cred.credentials.tmpSecretKey,
// sessionToken: cred.credentials.sessionToken,
// startTime: cred.startTime,
// expiredTime: cred.expiredTime,
// } as any;
// });
// const serviceConfig = { region, isDebuggable: true, isHttps: true } as any;
// await Cos.registerDefaultService(serviceConfig);
// const transferConfig = {
// forceSimpleUpload: false,
// enableVerification: true,
// divisionForUpload: 2 * 1024 * 1024,
// sliceSizeForUpload: 1 * 1024 * 1024,
// } as any;
// rnTransferManager = await Cos.registerDefaultTransferManger(serviceConfig, transferConfig);
rnInitialized = true;
}