Commit 4d43a812 by end

优化修改密码

parent 6f4bb144
No preview for this file type
...@@ -14,7 +14,7 @@ const FormItem = Form.Item; ...@@ -14,7 +14,7 @@ const FormItem = Form.Item;
import moment from 'moment' import moment from 'moment'
import md5 from "md5"; import md5 from "md5";
import intl from "react-intl-universal"; import intl from "react-intl-universal";
import { sm2 } from "sm-crypto";
class EditPassword extends Component { class EditPassword extends Component {
constructor(props) { constructor(props) {
super(props); super(props);
...@@ -30,7 +30,6 @@ class EditPassword extends Component { ...@@ -30,7 +30,6 @@ class EditPassword extends Component {
var id = Math.ceil(Math.random()*35); var id = Math.ceil(Math.random()*35);
res += chars[id]; res += chars[id];
} }
return res; return res;
} }
...@@ -40,56 +39,72 @@ class EditPassword extends Component { ...@@ -40,56 +39,72 @@ class EditPassword extends Component {
return date return date
} }
handleSubmit = e => { handleSubmit = async e => {
try {
// e.preventDefault(); // e.preventDefault();
this.props.form.validateFields((err, values) => { if (!this.props.form) {
if (err) return; console.error('表单实例未正确传递');
else { return;
//因为后台需要传一个字段 }
let { id, password } = values;
const public_key = '047214fe3a249b75b6ba92ee494e0a8a68c0a19893a480b3c28bf06cd5b7d621243c7f6704caa3b43ade6be15de11cabd185611a9edfdcf1b11d7a2478c67b4c1c' if (!sm2) {
console.error('sm2 库未正确引入');
return;
}
const private_key = '00a2bbe941a177ca9f200d1c4d37e8f0b43b9cd2ea662304a05c064c6416e74d49' const validationResult = await new Promise((resolve) => {
this.props.form.validateFields((err, values) => {
resolve({ err, values });
});
});
let salt="" if (validationResult.err) {
let date="" console.error('表单验证失败:', validationResult.err);
let key="" return;
let sign=""
let newPassword=""
let requestId=""
salt = this.generateCharacter(16)
console.log("validate-salt",salt)
date = this.getCurrentDay()
console.log("validate-date",date)
newPassword = sm2.doEncrypt(password+salt, public_key, 1);
requestId = sm2.doEncrypt(id+salt, public_key, 1)
newPassword = "04" + newPassword
requestId = "04" + requestId
if(salt && date){
key = salt+date
console.log("validate-key",key)
} }
sign="id="+requestId+"&password="+newPassword+"&salt="+salt+"&key="+key
console.log("validate-sign",md5(sign)) const { id, password } = validationResult.values;
const public_key = '047214fe3a249b75b6ba92ee494e0a8a68c0a19893a480b3c28bf06cd5b7d621243c7f6704caa3b43ade6be15de11cabd185611a9edfdcf1b11d7a2478c67b4c1c';
const private_key = '00a2bbe941a177ca9f200d1c4d37e8f0b43b9cd2ea662304a05c064c6416e74d49';
const salt = this.generateCharacter(16);
console.log("validate-salt", salt);
const date = this.getCurrentDay();
console.log("validate-date", date);
const newPassword = "04" + sm2.doEncrypt(password + salt, public_key, 1);
const requestId = "04" + sm2.doEncrypt(id + salt, public_key, 1);
let parms={ const key = salt + date;
id:requestId, console.log("validate-key", key);
password:newPassword,
salt:salt, const sign = `id=${requestId}&password=${newPassword}&salt=${salt}&key=${key}`;
console.log("validate-sign", md5(sign));
const parms = {
id: requestId,
password: newPassword,
salt: salt,
sign: md5(sign) sign: md5(sign)
};
if (typeof this.props.accountUpdatePassword !== 'function') {
console.error('accountUpdatePassword 不是一个函数');
return;
} }
// let passwordVal = { id, password };
this.props.accountUpdatePassword(parms); await this.props.accountUpdatePassword(parms);
//关闭模态框 // 关闭模态框
if (typeof this.props.onCancel === 'function') {
this.props.onCancel(false); this.props.onCancel(false);
} }
}); } catch (error) {
console.error('处理提交时发生错误:', error);
// 可以添加错误提示给用户
}
}; };
validateToNextPassword = (rule, value, callback) => { validateToNextPassword = (rule, value, callback) => {
const form = this.props.form; const form = this.props.form;
if (value && this.state.confirmDirty) { if (value && this.state.confirmDirty) {
...@@ -97,10 +112,12 @@ class EditPassword extends Component { ...@@ -97,10 +112,12 @@ class EditPassword extends Component {
} }
callback(); callback();
}; };
handleConfirmBlur = e => { handleConfirmBlur = e => {
const value = e.target.value; const value = e.target.value;
this.setState({ confirmDirty: this.state.confirmDirty || !!value }); this.setState({ confirmDirty: this.state.confirmDirty || !!value });
}; };
compareToFirstPassword = (rule, value, callback) => { compareToFirstPassword = (rule, value, callback) => {
const form = this.props.form; const form = this.props.form;
if (value && value !== form.getFieldValue("password")) { if (value && value !== form.getFieldValue("password")) {
...@@ -109,12 +126,13 @@ class EditPassword extends Component { ...@@ -109,12 +126,13 @@ class EditPassword extends Component {
callback(); callback();
} }
}; };
render() { render() {
const { getFieldDecorator } = this.props.form; const { getFieldDecorator } = this.props.form;
//获取当前这一行的属性 // 获取当前这一行的属性
let { editeData } = this.props; let { editeData } = this.props;
console.log(editeData); console.log(editeData);
const remarkStyle = { //bug-12732-liyuan const remarkStyle = { // bug-12732-liyuan
marginBottom: 0, marginBottom: 0,
lineHeight: '1.8', lineHeight: '1.8',
fontSize: '12px' fontSize: '12px'
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment