// 測試邀請連結生成 console.log('🧪 測試邀請連結生成...\n'); // 模擬環境變數 process.env.NEXT_PUBLIC_APP_URL = 'https://ai-showcase.company.com'; // 測試不同的環境變數設置 const testCases = [ { name: '使用 NEXT_PUBLIC_APP_URL', env: { NEXT_PUBLIC_APP_URL: 'https://ai-showcase.company.com' } }, { name: '未設置 NEXT_PUBLIC_APP_URL (使用 fallback)', env: {} }, { name: '設置為空字符串 (使用 fallback)', env: { NEXT_PUBLIC_APP_URL: '' } } ]; testCases.forEach((testCase, index) => { console.log(`${index + 1}. ${testCase.name}`); // 設置環境變數 Object.keys(testCase.env).forEach(key => { process.env[key] = testCase.env[key]; }); // 生成邀請連結 const invitationToken = 'test123456789'; const email = 'test@company.com'; const role = 'developer'; const invitationLink = `${process.env.NEXT_PUBLIC_APP_URL || 'http://localhost:3000'}/register?token=${invitationToken}&email=${encodeURIComponent(email)}&role=${role}`; console.log(` 邀請連結: ${invitationLink}`); console.log(` 環境變數: NEXT_PUBLIC_APP_URL = ${process.env.NEXT_PUBLIC_APP_URL || 'undefined'}`); console.log(''); }); console.log('✅ 測試完成!'); console.log('\n📝 說明:'); console.log('- 如果設置了 NEXT_PUBLIC_APP_URL,將使用該值'); console.log('- 如果未設置或為空,將使用 fallback: http://localhost:3000'); console.log('- 在生產環境中,請確保設置正確的 NEXT_PUBLIC_APP_URL');