- 更新 DashboardLayout 组件,统一使用演示模式布局 - 实现仪表盘页面的完整演示数据和功能 - 完成用户管理页面的演示模式,包含搜索、过滤、分页等功能 - 实现通话记录页面的演示数据和录音播放功能 - 完成翻译员管理页面的演示模式 - 实现订单管理页面的完整功能 - 完成发票管理页面的演示数据 - 更新文档管理页面 - 添加 utils.ts 工具函数库 - 完善 API 路由和数据库结构 - 修复各种 TypeScript 类型错误 - 统一界面风格和用户体验
56 lines
1.6 KiB
JavaScript
56 lines
1.6 KiB
JavaScript
const { createClient } = require('@supabase/supabase-js');
|
|
|
|
// 使用正确的Supabase配置
|
|
const supabaseUrl = 'https://poxwjzdianersitpnvdy.supabase.co';
|
|
const supabaseKey = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6InBveHdqemRpYW5lcnNpdHBudmR5Iiwicm9sZSI6ImFub24iLCJpYXQiOjE3NTExNjk4MjMsImV4cCI6MjA2Njc0NTgyM30.FkgCCSHK0_i8bNFIhhN3k6dEbP5PpE52IggcVJC4Aj8';
|
|
|
|
const supabase = createClient(supabaseUrl, supabaseKey);
|
|
|
|
async function insertAdmin() {
|
|
try {
|
|
console.log('开始插入管理员用户...');
|
|
|
|
// 先检查是否已存在
|
|
const { data: existingUser, error: checkError } = await supabase
|
|
.from('users')
|
|
.select('*')
|
|
.eq('email', 'admin@example.com')
|
|
.single();
|
|
|
|
if (existingUser) {
|
|
console.log('管理员用户已存在:', existingUser);
|
|
return;
|
|
}
|
|
|
|
if (checkError && checkError.code !== 'PGRST116') {
|
|
console.error('检查用户时出错:', checkError);
|
|
return;
|
|
}
|
|
|
|
// 插入管理员用户
|
|
const { data, error } = await supabase
|
|
.from('users')
|
|
.insert([
|
|
{
|
|
email: 'admin@example.com',
|
|
password_hash: '$2b$10$pYwS7Kfb2VtzApuEmtcz2uhjY.Mqd0hEjgb1D5F3/wqZbOQlh0O6u', // admin123的哈希
|
|
name: '系统管理员',
|
|
phone: '13800138000',
|
|
user_type: 'admin',
|
|
status: 'active'
|
|
}
|
|
])
|
|
.select();
|
|
|
|
if (error) {
|
|
console.error('插入失败:', error);
|
|
} else {
|
|
console.log('管理员用户插入成功:', data);
|
|
}
|
|
|
|
} catch (error) {
|
|
console.error('操作失败:', error);
|
|
}
|
|
}
|
|
|
|
insertAdmin();
|