var mongoose = require('../utils/mongoose').mongoose; var crypto = require('crypto'); var Schema = mongoose.Schema; // 管理员模型 var UsersSchema = new Schema({ username: {type: String,index: true}, password: {type: String}, nickname: {type: String}, description: {type: String,default:'欢迎咨询'}, time: {type: Date, default: Date.now} }); var UsersModel = mongoose.model("users", UsersSchema); function login(username, password, callback) { var md5 = crypto.createHash('md5'); password = md5.update(password).digest('hex'); var condition = {'username': username, 'password': password}; UsersModel.findOne(condition, function (err, res) { var _err = null; if (err) { _err = err; } if (!res) { _err = '用户名密码不正确'; } return callback(_err, res); }) } function reset_psw(username, psw_old, psw_new, callback) { psw_old = crypto.createHash('md5').update(psw_old).digest('hex'); UsersModel.find({username: username, password: psw_old}, function (err, info) { if (err) { return callback(err, null); } if (!info || info.length == 0) { return callback('原密码不正确', null); } psw_new = crypto.createHash('md5').update(psw_new).digest('hex'); UsersModel.findOneAndUpdate({username: username, password: psw_old}, {password: psw_new}, callback); }); } function findByUserName(username){ return new Promise((resolve ,reject)=>{ UsersModel.findOne({username},(err,res)=>{ if(err) reject(err) else if(!res) resolve(null) else{ resolve(res); } }); }) } function updateInfo(username, nickname, description) { return new Promise((resovle, reject) => { UsersModel.findOneAndUpdate({username}, {nickname, description}, resovle); }) } exports.updateInfo = updateInfo; exports.findByUserName = findByUserName; exports.login = login; exports.reset_psw = reset_psw;