新增 App 建立、資料呈現
This commit is contained in:
64
scripts/reset-user-password.js
Normal file
64
scripts/reset-user-password.js
Normal file
@@ -0,0 +1,64 @@
|
||||
const mysql = require('mysql2/promise');
|
||||
const bcrypt = require('bcrypt');
|
||||
|
||||
const dbConfig = {
|
||||
host: process.env.DB_HOST || 'mysql.theaken.com',
|
||||
port: parseInt(process.env.DB_PORT || '33306'),
|
||||
user: process.env.DB_USER || 'AI_Platform',
|
||||
password: process.env.DB_PASSWORD || 'Aa123456',
|
||||
database: process.env.DB_NAME || 'db_AI_Platform',
|
||||
charset: 'utf8mb4',
|
||||
timezone: '+08:00'
|
||||
};
|
||||
|
||||
async function resetUserPassword() {
|
||||
let connection;
|
||||
|
||||
try {
|
||||
console.log('🔧 重置用戶密碼...');
|
||||
|
||||
connection = await mysql.createConnection(dbConfig);
|
||||
console.log('✅ 資料庫連接成功');
|
||||
|
||||
// 新密碼
|
||||
const newPassword = 'Admin123';
|
||||
const hashedPassword = await bcrypt.hash(newPassword, 12);
|
||||
|
||||
console.log(`\n新密碼: ${newPassword}`);
|
||||
console.log(`密碼哈希: ${hashedPassword}`);
|
||||
|
||||
// 重置所有管理員用戶的密碼
|
||||
const adminEmails = [
|
||||
'admin@theaken.com',
|
||||
'admin@example.com',
|
||||
'petty091901@gmail.com'
|
||||
];
|
||||
|
||||
for (const email of adminEmails) {
|
||||
try {
|
||||
await connection.execute(
|
||||
'UPDATE users SET password_hash = ? WHERE email = ?',
|
||||
[hashedPassword, email]
|
||||
);
|
||||
|
||||
console.log(`✅ 已重置 ${email} 的密碼`);
|
||||
} catch (error) {
|
||||
console.error(`❌ 重置 ${email} 密碼失敗:`, error.message);
|
||||
}
|
||||
}
|
||||
|
||||
console.log('\n🎉 密碼重置完成!');
|
||||
console.log('現在可以使用以下憑證登入:');
|
||||
console.log('電子郵件: admin@theaken.com');
|
||||
console.log('密碼: Admin123');
|
||||
|
||||
} catch (error) {
|
||||
console.error('❌ 重置失敗:', error);
|
||||
} finally {
|
||||
if (connection) {
|
||||
await connection.end();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
resetUserPassword();
|
Reference in New Issue
Block a user