48 lines
1.5 KiB
JavaScript
48 lines
1.5 KiB
JavaScript
// 測試邀請連結生成
|
||
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');
|