feat: 添加小程序演示账号初始化脚本 initDemoUsers.js
This commit is contained in:
parent
4359654d72
commit
9477a9c199
|
|
@ -0,0 +1,81 @@
|
|||
/**
|
||||
* 初始化小程序演示账号
|
||||
* 用法: 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); });
|
||||
Loading…
Reference in New Issue