82 lines
2.5 KiB
JavaScript
82 lines
2.5 KiB
JavaScript
/**
|
|
* 初始化小程序演示账号
|
|
* 用法: node server/initDemoUsers.js
|
|
*/
|
|
require('dotenv').config();
|
|
const mongoose = require('mongoose');
|
|
const Store = require('./models/Store');
|
|
const StoreAuth = require('./models/StoreAuth');
|
|
const Rider = require('./models/Rider');
|
|
const { hashPassword } = require('./utils/password');
|
|
|
|
async function init() {
|
|
await mongoose.connect(process.env.MONGODB_URI || 'mongodb://localhost:27017/e-scooter-rental');
|
|
console.log('🔄 连接 MongoDB...\n');
|
|
|
|
// ===== 1. 门店演示账号 =====
|
|
console.log('--- 门店演示账号 ---');
|
|
const storeDemo = await StoreAuth.findOne({ username: 'store_demo' });
|
|
if (storeDemo) {
|
|
console.log('⚠️ 门店演示账号已存在: store_demo / demo123');
|
|
} else {
|
|
// 确保有门店可关联
|
|
let store = await Store.findOne({ approvalStatus: '已通过' });
|
|
if (!store) store = await Store.findOne();
|
|
if (!store) {
|
|
// 没有门店,先创建一个
|
|
store = await Store.create({
|
|
storeId: 'STORE_DEMO',
|
|
name: '演示门店',
|
|
address: '演示地址',
|
|
phone: '13800138000',
|
|
manager: '演示管理员',
|
|
status: '营业中',
|
|
approvalStatus: '已通过'
|
|
});
|
|
console.log('✅ 创建演示门店: STORE_DEMO');
|
|
}
|
|
|
|
const hashed = await hashPassword('demo123');
|
|
await StoreAuth.create({
|
|
storeId: store.storeId,
|
|
username: 'store_demo',
|
|
password: hashed,
|
|
name: '门店演示账号',
|
|
status: 'active'
|
|
});
|
|
console.log('✅ 门店演示账号创建成功!');
|
|
}
|
|
console.log(' 用户名: store_demo');
|
|
console.log(' 密码: demo123');
|
|
console.log('');
|
|
|
|
// ===== 2. 骑手演示账号 =====
|
|
console.log('--- 骑手演示账号 ---');
|
|
const riderDemo = await Rider.findOne({ phone: '13800138100' });
|
|
if (riderDemo) {
|
|
console.log('⚠️ 骑手演示账号已存在: 13800138100 / demo123');
|
|
} else {
|
|
const hashed = await hashPassword('demo123');
|
|
await Rider.create({
|
|
riderId: 'RIDER_DEMO',
|
|
name: '骑手演示账号',
|
|
phone: '13800138100',
|
|
password: hashed,
|
|
role: 'rider',
|
|
status: 'active',
|
|
rating: 5.0,
|
|
totalOrders: 0,
|
|
totalIncome: 0
|
|
});
|
|
console.log('✅ 骑手演示账号创建成功!');
|
|
}
|
|
console.log(' 手机号: 13800138100');
|
|
console.log(' 密码: demo123');
|
|
console.log('');
|
|
|
|
console.log('🎉 演示账号初始化完成!');
|
|
await mongoose.disconnect();
|
|
}
|
|
|
|
init().catch(err => { console.error(err); process.exit(1); });
|