oak-general-business/es/utils/cos/index.js

24 lines
663 B
JavaScript

import { assert } from 'oak-domain/lib/utils/assert';
const CosDict = {};
/**
* 注入一个其它OSS上实现的uploader类
* @param clazz
*/
export function registerCos(clazz) {
const instance = new clazz();
CosDict[instance.name] = instance;
}
export function getCos(origin) {
assert(CosDict.hasOwnProperty(origin));
return CosDict[origin];
}
export function composeFileUrl(extraFile, config, style) {
const { origin } = extraFile;
if (origin === 'unknown') {
// 扯淡的代码 by Xc 20240521
return extraFile.extra1;
}
const cos = CosDict[origin];
return cos.composeFileUrl(extraFile, config, style);
}