43 lines
1.7 KiB
JavaScript
43 lines
1.7 KiB
JavaScript
"use strict";
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
exports.registerCosBackend = registerCosBackend;
|
|
exports.getCosBackend = getCosBackend;
|
|
exports.composeFileUrlBackend = composeFileUrlBackend;
|
|
const tslib_1 = require("tslib");
|
|
const assert_1 = require("oak-domain/lib/utils/assert");
|
|
const ctyun_backend_1 = tslib_1.__importDefault(require("./ctyun.backend"));
|
|
const wechat_backend_1 = tslib_1.__importDefault(require("./wechat.backend"));
|
|
const qiniu_backend_1 = tslib_1.__importDefault(require("./qiniu.backend"));
|
|
const aliyun_backend_1 = tslib_1.__importDefault(require("./aliyun.backend"));
|
|
const tencent_backend_1 = tslib_1.__importDefault(require("./tencent.backend"));
|
|
const s3_backend_1 = tslib_1.__importDefault(require("./s3.backend"));
|
|
const unknown_backend_1 = tslib_1.__importDefault(require("./unknown.backend"));
|
|
const CosBackendDict = {
|
|
unknown: new unknown_backend_1.default(),
|
|
ctyun: new ctyun_backend_1.default(),
|
|
wechat: new wechat_backend_1.default(),
|
|
qiniu: new qiniu_backend_1.default(),
|
|
aliyun: new aliyun_backend_1.default(),
|
|
tencent: new tencent_backend_1.default(),
|
|
s3: new s3_backend_1.default(),
|
|
};
|
|
/**
|
|
* 注入一个其它OSS上实现的uploader类
|
|
* @param clazz
|
|
*/
|
|
function registerCosBackend(clazz) {
|
|
const instance = new clazz();
|
|
CosBackendDict[instance.name] = instance;
|
|
}
|
|
function getCosBackend(origin) {
|
|
(0, assert_1.assert)(CosBackendDict.hasOwnProperty(origin));
|
|
return CosBackendDict[origin];
|
|
}
|
|
async function composeFileUrlBackend(application, extraFile, context, style) {
|
|
const { origin } = extraFile;
|
|
const cos = CosBackendDict[origin];
|
|
return cos.composeFileUrlBackend({
|
|
application, extraFile, context, style
|
|
});
|
|
}
|