@aplus-frontend/ui
Version:
81 lines (80 loc) • 1.65 kB
JavaScript
import { client as i, createOssInstance as m } from "@aplus-frontend/oss";
let t, l;
function y(e, s) {
t = e, l = s;
}
const w = {
"zh-cn": "zh_CN",
en: "en_US"
};
function p() {
return w[l.value] ?? "zh_CN";
}
async function g({
file: e,
dirName: s,
oss: n,
successCallBack: c,
errorCallBack: o,
progressCallBack: u
}) {
if (!s) {
o("required dirName");
return;
}
try {
const a = await n.put({
fileName: e.name,
dirName: s,
data: e,
progressCallBack: (r) => {
u(r);
}
});
if (a.status === 204)
return;
if (a.status === 200) {
const { saveUrl: r, previewUrl: f } = a;
c(r, f);
} else
o(a?.message || t("ap.apUpload.networkAnomaly"));
} catch (a) {
o(a);
}
}
function O() {
return { client: i, put: g };
}
async function h(e) {
if (!e)
throw new Error(`${t("ap.apUpload.pleasePass")}getOssAccess`);
return await i.initOssClient({
getOssAccess: e,
locale: p(),
onFailure: (s) => {
throw new Error(
typeof s?.message == "string" ? s.message : t("ap.apUpload.FailedToObtainOssTemporaryPermissions")
);
}
}), O();
}
async function U(e) {
if (!e)
throw new Error(`${t("ap.apUpload.pleasePass")}getOssAccess`);
const s = m();
return await s.initOssClient({
getOssAccess: e,
locale: p(),
onFailure: (n) => {
throw new Error(
typeof n?.message == "string" ? n.message : t("ap.apUpload.FailedToObtainOssTemporaryPermissions")
);
}
}), s;
}
export {
U as getOssInstance,
y as injectLocaleToOss,
O as useOss,
h as useOssInit
};