Files
ai-showcase-platform/scripts/test-invitation-link.js
2025-09-19 03:12:45 +08:00

48 lines
1.5 KiB
JavaScript
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.

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