fix: 更改密码修改逻辑

This commit is contained in:
chaosBreaking
2019-09-06 23:25:58 +08:00
parent 8724afbeb7
commit 058c0ac832

View File

@@ -200,32 +200,28 @@ module.exports = {
changePasswd: inject(function (SysConfig) { changePasswd: inject(function (SysConfig) {
const { PWD_HASH_SALT } = SysConfig; const { PWD_HASH_SALT } = SysConfig;
return async (req, res) => { return async (req, res) => {
const { phone, password, code } = req.body; const { userId } = res.locale.user;
const validCode = await Code.verifyCode({ const { password, newPassword } = req.body;
id: phone, const user = User.findById(userId);
code, if (!user || user.password !== Crypto.hash(password, { salt: PWD_HASH_SALT }))
type: CODE_TYPE['changePasswd'] return res.json({
});
if (!validCode) {
res.json({
code: 1, code: 1,
msg: 'Incorrect code' msg: '原始密码错误'
}); });
} const newHashPasswd = Crypto.hash(newPassword, PWD_HASH_SALT);
const newPasswd = Crypto.hash(password, PWD_HASH_SALT); const update = { password: newHashPasswd };
const query = { phone }; const success = await User.findByIdAndUpdate(userId, update, { new: true })
const update = { password: newPasswd };
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const success = await User.findOneAndUpdate(query, update, { new: true }).exec().catch(err => null); .exec().catch(err => null);
if (success) { if (success) {
res.json({ res.json({
code: 0, code: 0,
msg: 'Reseted passwd' msg: '密码重置成功'
}); });
} else { } else {
res.json({ res.json({
code: 500, code: 500,
msg: 'unknow error' msg: '系统错误'
}); });
} }
}; };