fix: 修复配额说明重复和undefined问题

- 在editStorageForm中初始化oss_storage_quota_value和oss_quota_unit
- 删除重复的旧配额说明块,保留新的当前配额设置显示

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
2026-01-22 19:39:53 +08:00
commit 4350113979
7649 changed files with 897277 additions and 0 deletions

View File

@@ -0,0 +1 @@
export {};

View File

@@ -0,0 +1,20 @@
export const createUserAgentStringParsingProvider = ({ serviceId, clientVersion }) => async (config) => {
const module = await import("bowser");
const parse = module.parse ?? module.default.parse ?? (() => "");
const parsedUA = typeof window !== "undefined" && window?.navigator?.userAgent ? parse(window.navigator.userAgent) : undefined;
const sections = [
["aws-sdk-js", clientVersion],
["ua", "2.1"],
[`os/${parsedUA?.os?.name || "other"}`, parsedUA?.os?.version],
["lang/js"],
["md/browser", `${parsedUA?.browser?.name ?? "unknown"}_${parsedUA?.browser?.version ?? "unknown"}`],
];
if (serviceId) {
sections.push([`api/${serviceId}`, clientVersion]);
}
const appId = await config?.userAgentAppId?.();
if (appId) {
sections.push([`app/${appId}`]);
}
return sections;
};

View File

@@ -0,0 +1,53 @@
export { createUserAgentStringParsingProvider } from "./createUserAgentStringParsingProvider";
export const createDefaultUserAgentProvider = ({ serviceId, clientVersion }) => async (config) => {
const navigator = typeof window !== "undefined" ? window.navigator : undefined;
const uaString = navigator?.userAgent ?? "";
const osName = navigator?.userAgentData?.platform ?? fallback.os(uaString) ?? "other";
const osVersion = undefined;
const brands = navigator?.userAgentData?.brands ?? [];
const brand = brands[brands.length - 1];
const browserName = brand?.brand ?? fallback.browser(uaString) ?? "unknown";
const browserVersion = brand?.version ?? "unknown";
const sections = [
["aws-sdk-js", clientVersion],
["ua", "2.1"],
[`os/${osName}`, osVersion],
["lang/js"],
["md/browser", `${browserName}_${browserVersion}`],
];
if (serviceId) {
sections.push([`api/${serviceId}`, clientVersion]);
}
const appId = await config?.userAgentAppId?.();
if (appId) {
sections.push([`app/${appId}`]);
}
return sections;
};
export const fallback = {
os(ua) {
if (/iPhone|iPad|iPod/.test(ua))
return "iOS";
if (/Macintosh|Mac OS X/.test(ua))
return "macOS";
if (/Windows NT/.test(ua))
return "Windows";
if (/Android/.test(ua))
return "Android";
if (/Linux/.test(ua))
return "Linux";
return undefined;
},
browser(ua) {
if (/EdgiOS|EdgA|Edg\//.test(ua))
return "Microsoft Edge";
if (/Firefox\//.test(ua))
return "Firefox";
if (/Chrome\//.test(ua))
return "Chrome";
if (/Safari\//.test(ua))
return "Safari";
return undefined;
},
};
export const defaultUserAgent = createDefaultUserAgentProvider;

View File

@@ -0,0 +1,18 @@
export const createDefaultUserAgentProvider = ({ serviceId, clientVersion }) => async (config) => {
const sections = [
["aws-sdk-js", clientVersion],
["ua", "2.1"],
["os/other"],
["lang/js"],
["md/rn"],
];
if (serviceId) {
sections.push([`api/${serviceId}`, clientVersion]);
}
const appId = await config?.userAgentAppId?.();
if (appId) {
sections.push([`app/${appId}`]);
}
return sections;
};
export const defaultUserAgent = createDefaultUserAgentProvider;