chore: initialize deployable website and CMS

This commit is contained in:
Codex User
2026-09-08 11:57:17 +08:00
commit 3a99ae30c5
57 changed files with 11205 additions and 0 deletions
+50
View File
@@ -0,0 +1,50 @@
import { initDB, getDB } from './db.js';
import bcrypt from 'bcryptjs';
import readline from 'readline';
await initDB();
const db = getDB();
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
const question = (q) => new Promise(resolve => rl.question(q, resolve));
console.log('=== 修改CMS管理员密码 ===\n');
const username = await question('用户名 (默认 admin): ') || 'admin';
const newPassword = await question('新密码: ');
const confirmPassword = await question('确认密码: ');
if (newPassword !== confirmPassword) {
console.error('❌ 两次密码不一致!');
process.exit(1);
}
if (newPassword.length < 6) {
console.error('❌ 密码长度至少6位!');
process.exit(1);
}
const hash = bcrypt.hashSync(newPassword, 10);
db.get(`SELECT id FROM admins WHERE username = ?`, [username], (err, row) => {
if (err || !row) {
console.error(`❌ 用户 "${username}" 不存在!`);
process.exit(1);
}
db.run(`UPDATE admins SET password_hash = ? WHERE username = ?`, [hash, username], (err) => {
if (err) {
console.error('❌ 修改失败:', err.message);
process.exit(1);
}
console.log(`\n✅ 密码修改成功!`);
console.log(` 用户名: ${username}`);
console.log(` 新密码: ${newPassword}`);
rl.close();
setTimeout(() => process.exit(0), 500);
});
});