24 lines
663 B
JavaScript
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);
|
|
}
|