3.6 KiB
3.6 KiB
環境變數設置指南 (.NET Core 版)
📋 前置準備
在開始之前,請確保你已經:
- 複製
.env.example為前端環境變數 - 註冊所需的服務帳號
- 安裝 .NET 8 SDK
# 前端環境變數
cp .env.example frontend/.env.local
# 後端配置檔案 (不需要 .env,使用 appsettings.json)
# 編輯 backend/DramaLing.Api/appsettings.Development.json
🔑 環境變數詳細說明
1. Supabase 設置
步驟 1: 建立 Supabase 專案
- 前往 Supabase Dashboard
- 點擊「New Project」
- 設定專案名稱:
dramaling-dev - 選擇區域:
Southeast Asia (Singapore) - 設定資料庫密碼並記住
步驟 2: 獲取連接資訊
從 Supabase Dashboard 的 Settings > API 頁面獲取:
前端配置 (frontend/.env.local):
# Supabase 前端配置
NEXT_PUBLIC_SUPABASE_URL=https://your-project-id.supabase.co
NEXT_PUBLIC_SUPABASE_ANON_KEY=your-anon-key
# API 服務配置
NEXT_PUBLIC_API_URL=http://localhost:5000
NEXT_PUBLIC_APP_URL=http://localhost:3001
後端配置 (backend/DramaLing.Api/appsettings.Development.json):
{
"ConnectionStrings": {
"DefaultConnection": "Host=db.your-project-id.supabase.co;Database=postgres;Username=postgres;Password=your-db-password;Port=5432;SSL Mode=Require;"
},
"Supabase": {
"Url": "https://your-project-id.supabase.co",
"ServiceRoleKey": "your-service-role-key",
"JwtSecret": "your-jwt-secret"
}
}
步驟 3: 獲取 JWT Secret
- 在 Supabase Dashboard 前往 Settings > API
- 複製「JWT Secret」值
- 貼入後端配置的
Supabase:JwtSecret
2. Google Gemini AI 設置
步驟 1: 建立 Google Cloud 專案
- 前往 Google AI Studio
- 點擊「Create API Key」
- 選擇現有專案或建立新專案
- 複製生成的 API Key
步驟 2: 配置 API Key
後端配置 (backend/DramaLing.Api/appsettings.Development.json):
{
"AI": {
"GeminiApiKey": "your-gemini-api-key"
}
}
3. 部署環境設置 (未來)
前端部署 (Vercel)
檔案: frontend/.env.local
NEXT_PUBLIC_API_URL=https://your-dotnet-api.azurewebsites.net
NEXT_PUBLIC_APP_URL=https://your-frontend.vercel.app
後端部署 (Azure App Service)
檔案: backend/DramaLing.Api/appsettings.json
{
"ConnectionStrings": {
"DefaultConnection": "從 Azure 環境變數獲取"
}
}
🔧 設置驗證
前端環境驗證
cd frontend
npm run dev
# 前端應該在 http://localhost:3001 啟動
後端環境驗證
./start-dotnet-api.sh
# 後端應該在 http://localhost:5000 啟動
# Swagger 文檔: http://localhost:5000/swagger
資料庫連接驗證
cd backend/DramaLing.Api
dotnet ef database update
# 應該成功連接到 Supabase PostgreSQL
🚨 常見問題
.NET SDK 相關
- 問題:
dotnet: command not found - 解決: 執行
export PATH="$HOME/.dotnet:$PATH"
Supabase 連接
- 問題:
Npgsql.NpgsqlException: Connection refused - 解決: 檢查 IP 位址是否在 Supabase 白名單中
JWT 驗證
- 問題:
401 Unauthorized - 解決: 確認 JWT Secret 配置正確
📚 相關文檔
- 專案結構指南 - 了解檔案組織
- .NET Core 完成計劃 - 後端實作指南
- 後端開發計劃 - 整體架構設計
更新時間: 2025-09-16 架構版本: 前後端分離 (.NET Core + Next.js)