CloudTech/lib/fetch-utils.ts
2025-09-16 18:00:27 +08:00

28 lines
1012 B
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// 确保正确构建API请求URL的工具函数
export const buildApiUrl = (path: string): string => {
// 确保路径以/开头
const normalizedPath = path.startsWith('/') ? path : `/${path}`;
// 在浏览器环境中使用当前域名构建完整URL
if (typeof window !== 'undefined') {
const protocol = window.location.protocol;
const host = window.location.host;
return `${protocol}//${host}${normalizedPath}`;
}
// 在服务端环境中,返回相对路径
return normalizedPath;
};
// 专门用于加载翻译文件的函数
export const fetchTranslation = async (locale: string, namespace: string): Promise<any> => {
const url = buildApiUrl(`/locales/${locale}/${namespace}.json`);
console.log(`Fetching translation from: ${url}`); // 调试日志
const response = await fetch(url);
if (!response.ok) {
throw new Error(`Failed to fetch ${url}: ${response.status}`);
}
return response.json();
};