修复订单显示bug
This commit is contained in:
94
mall_sql/scripts/create_homecare_auth_user.js
Normal file
94
mall_sql/scripts/create_homecare_auth_user.js
Normal file
@@ -0,0 +1,94 @@
|
||||
#!/usr/bin/env node
|
||||
|
||||
/**
|
||||
* 创建居家服务员 auth 用户(Supabase Admin API)
|
||||
* 用法:
|
||||
* 1. cd mall_sql/scripts
|
||||
* 2. 设置环境变量 SUPABASE_URL 和 SUPABASE_SERVICE_ROLE_KEY
|
||||
* 3. node create_homecare_auth_user.js
|
||||
*
|
||||
* 如果未安装 @supabase/supabase-js,先执行:
|
||||
* npm install @supabase/supabase-js
|
||||
*/
|
||||
|
||||
const { createClient } = require('@supabase/supabase-js');
|
||||
|
||||
const SUPABASE_URL = process.env.SUPABASE_URL || 'http://119.146.131.237:9126';
|
||||
const SUPABASE_SERVICE_ROLE_KEY = process.env.SUPABASE_SERVICE_ROLE_KEY || '';
|
||||
|
||||
if (!SUPABASE_SERVICE_ROLE_KEY) {
|
||||
console.error('❌ 请设置环境变量 SUPABASE_SERVICE_ROLE_KEY');
|
||||
console.error(' 该 key 可在 Supabase Dashboard -> Project Settings -> API -> service_role key 获取');
|
||||
process.exit(1);
|
||||
}
|
||||
|
||||
const supabase = createClient(SUPABASE_URL, SUPABASE_SERVICE_ROLE_KEY, {
|
||||
auth: { autoRefreshToken: false, persistSession: false }
|
||||
});
|
||||
|
||||
async function main() {
|
||||
const email = 'homecare_worker@test.com';
|
||||
const password = 'Homecare123!';
|
||||
|
||||
console.log(`📝 正在创建/更新 auth 用户: ${email}`);
|
||||
|
||||
// 先尝试查找现有用户
|
||||
const { data: existingUsers, error: listError } = await supabase.auth.admin.listUsers({
|
||||
page: 1,
|
||||
perPage: 1000
|
||||
});
|
||||
|
||||
if (listError) {
|
||||
console.error('❌ 查询用户列表失败:', listError.message);
|
||||
process.exit(1);
|
||||
}
|
||||
|
||||
const existingUser = existingUsers.users.find(u => u.email === email);
|
||||
|
||||
if (existingUser) {
|
||||
console.log(`⚠️ 用户已存在 (ID: ${existingUser.id}),更新密码...`);
|
||||
const { data: updateData, error: updateError } = await supabase.auth.admin.updateUserById(
|
||||
existingUser.id,
|
||||
{ password, email_confirm: true }
|
||||
);
|
||||
|
||||
if (updateError) {
|
||||
console.error('❌ 更新用户失败:', updateError.message);
|
||||
process.exit(1);
|
||||
}
|
||||
|
||||
console.log('✅ 密码已更新');
|
||||
console.log(` 用户ID: ${updateData.user.id}`);
|
||||
console.log(` 邮箱: ${updateData.user.email}`);
|
||||
} else {
|
||||
console.log('🔨 创建新用户...');
|
||||
const { data: createData, error: createError } = await supabase.auth.admin.createUser({
|
||||
email,
|
||||
password,
|
||||
email_confirm: true,
|
||||
user_metadata: {
|
||||
name: '居家服务员',
|
||||
role: 'delivery',
|
||||
nickname: '居家服务员'
|
||||
}
|
||||
});
|
||||
|
||||
if (createError) {
|
||||
console.error('❌ 创建用户失败:', createError.message);
|
||||
process.exit(1);
|
||||
}
|
||||
|
||||
console.log('✅ 用户创建成功');
|
||||
console.log(` 用户ID: ${createData.user.id}`);
|
||||
console.log(` 邮箱: ${createData.user.email}`);
|
||||
}
|
||||
|
||||
console.log('\n📋 下一步:');
|
||||
console.log(' 在 Supabase SQL Editor 中执行 seed_homecare_worker.sql');
|
||||
console.log(' 以创建 ak_users 和 ml_delivery_staff 记录。');
|
||||
}
|
||||
|
||||
main().catch(err => {
|
||||
console.error('❌ 未捕获错误:', err);
|
||||
process.exit(1);
|
||||
});
|
||||
Reference in New Issue
Block a user