Twilioapp-admin/pages/api/test-connection.ts
mars f20988b90c feat: 完成所有页面的演示模式实现
- 更新 DashboardLayout 组件,统一使用演示模式布局
- 实现仪表盘页面的完整演示数据和功能
- 完成用户管理页面的演示模式,包含搜索、过滤、分页等功能
- 实现通话记录页面的演示数据和录音播放功能
- 完成翻译员管理页面的演示模式
- 实现订单管理页面的完整功能
- 完成发票管理页面的演示数据
- 更新文档管理页面
- 添加 utils.ts 工具函数库
- 完善 API 路由和数据库结构
- 修复各种 TypeScript 类型错误
- 统一界面风格和用户体验
2025-06-30 19:42:43 +08:00

55 lines
1.3 KiB
TypeScript

import { NextApiRequest, NextApiResponse } from 'next';
import { supabase, isSupabaseConfigured } from '../../lib/supabase';
export default async function handler(
req: NextApiRequest,
res: NextApiResponse
) {
if (req.method !== 'GET') {
return res.status(405).json({ error: '方法不允许' });
}
try {
// 检查配置
const isConfigured = isSupabaseConfigured();
if (!isConfigured) {
return res.status(200).json({
success: false,
mode: 'demo',
message: '当前运行在演示模式,未配置 Supabase 数据库'
});
}
// 测试数据库连接
const { data, error } = await supabase
.from('users')
.select('count')
.limit(1);
if (error) {
console.error('数据库连接错误:', error);
return res.status(500).json({
success: false,
mode: 'production',
error: error.message,
message: '数据库连接失败'
});
}
return res.status(200).json({
success: true,
mode: 'production',
message: '数据库连接成功',
timestamp: new Date().toISOString()
});
} catch (error: any) {
console.error('连接测试失败:', error);
return res.status(500).json({
success: false,
error: error.message,
message: '连接测试失败'
});
}
}