fix: 更改密码修改逻辑
This commit is contained in:
@@ -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: '系统错误'
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user