feat: 配置生产环境后端服务器动态地址支持

- 添加环境变量支持,可通过 NEXT_PUBLIC_API_BASE_URL 配置后端地址
- 实现智能地址获取:无配置时自动使用当前域名+3006端口
- 添加 .env.template 模板文件,方便部署时配置
- 更新 package.json 脚本支持通过 PORT 环境变量配置前端端口
- 修改 .gitignore 允许模板文件提交但保护敏感环境文件

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2025-09-23 09:08:55 +08:00
parent 700f252454
commit 2e79fcfeb0
5 changed files with 37 additions and 4 deletions

View File

@@ -8,13 +8,28 @@ import {
ScriptUploadItem
} from './types';
const API_BASE_URL = 'http://localhost:3006';
const getApiBaseUrl = () => {
// 检查是否有配置的环境变量(构建时注入)
const envUrl = process.env.NEXT_PUBLIC_API_BASE_URL;
if (envUrl && envUrl !== 'undefined') {
return envUrl;
}
// 在浏览器环境中,没有配置则使用当前域名
if (typeof window !== 'undefined') {
return `${window.location.protocol}//${window.location.hostname}:3006`;
}
// 服务端渲染时的默认值
return 'http://localhost:3006';
};
class ApiClient {
private async request<T>(
endpoint: string,
options: RequestInit = {}
): Promise<ApiResponse<T>> {
const API_BASE_URL = getApiBaseUrl(); // 每次请求时动态获取
const url = `${API_BASE_URL}${endpoint}`;
const response = await fetch(url, {