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);
...@@ -26,12 +26,11 @@ class EditPassword extends Component { ...@@ -26,12 +26,11 @@ class EditPassword extends Component {
generateCharacter(n){ generateCharacter(n){
var chars = ['0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'] var chars = ['0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z']
var res = ""; var res = "";
for(var i = 0; i < n ; i ++) { for(var i = 0; i < n ; i ++) {
var id = Math.ceil(Math.random()*35); var id = Math.ceil(Math.random()*35);
res += chars[id]; res += chars[id];
} }
return res;
return res;
} }
getCurrentDay(){ getCurrentDay(){
...@@ -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 => {
// e.preventDefault(); try {
this.props.form.validateFields((err, values) => { // e.preventDefault();
if (err) return; if (!this.props.form) {
else { console.error('表单实例未正确传递');
//因为后台需要传一个字段 return;
let { id, password } = values; }
const public_key = '047214fe3a249b75b6ba92ee494e0a8a68c0a19893a480b3c28bf06cd5b7d621243c7f6704caa3b43ade6be15de11cabd185611a9edfdcf1b11d7a2478c67b4c1c' if (!sm2) {
console.error('sm2 库未正确引入');
const private_key = '00a2bbe941a177ca9f200d1c4d37e8f0b43b9cd2ea662304a05c064c6416e74d49' return;
}
let salt=""
let date="" const validationResult = await new Promise((resolve) => {
let key="" this.props.form.validateFields((err, values) => {
let sign="" resolve({ err, values });
let newPassword="" });
let requestId="" });
salt = this.generateCharacter(16) if (validationResult.err) {
console.log("validate-salt",salt) console.error('表单验证失败:', validationResult.err);
date = this.getCurrentDay() return;
console.log("validate-date",date) }
newPassword = sm2.doEncrypt(password+salt, public_key, 1);
requestId = sm2.doEncrypt(id+salt, public_key, 1) const { id, password } = validationResult.values;
newPassword = "04" + newPassword const public_key = '047214fe3a249b75b6ba92ee494e0a8a68c0a19893a480b3c28bf06cd5b7d621243c7f6704caa3b43ade6be15de11cabd185611a9edfdcf1b11d7a2478c67b4c1c';
requestId = "04" + requestId const private_key = '00a2bbe941a177ca9f200d1c4d37e8f0b43b9cd2ea662304a05c064c6416e74d49';
if(salt && date){ const salt = this.generateCharacter(16);
key = salt+date console.log("validate-salt", salt);
console.log("validate-key",key) const date = this.getCurrentDay();
} console.log("validate-date", date);
sign="id="+requestId+"&password="+newPassword+"&salt="+salt+"&key="+key
const newPassword = "04" + sm2.doEncrypt(password + salt, public_key, 1);
console.log("validate-sign",md5(sign)) 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}`;
sign: md5(sign) console.log("validate-sign", md5(sign));
}
// let passwordVal = { id, password }; const parms = {
this.props.accountUpdatePassword(parms); id: requestId,
//关闭模态框 password: newPassword,
salt: salt,
sign: md5(sign)
};
if (typeof this.props.accountUpdatePassword !== 'function') {
console.error('accountUpdatePassword 不是一个函数');
return;
}
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