| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 | import React from 'react';import ajax from 'jquery/src/ajax/xhr.js'import $ from 'jquery/src/ajax';import { Modal, Button, Icon, Input, message } from 'antd';import './changeModal.less';const ChangePw = React.createClass({    getInitialState() {        return { visible: false };    },    showModal() {        this.setState({            visible: true,        });    },    logOut() {        $.ajax({            method: "get",            dataType: "json",            url: globalConfig.context + "/login",        }).done(function (data) {            window.location.href = globalConfig.context + "/user/login.html"        });    },    handleOk() {        if (this.state.newPw.length < 6 || this.state.newPw.length > 20) {            message.warning('请使用长度为6-20位的密码!');        } else if (this.state.confirmPw !== this.state.newPw) {            message.warning('两次密码输入不相同!');        } else if (this.state.confirmPw === this.state.newPw) {            $.ajax({                method: "POST",                dataType: "json",                crossDomain: false,                url: globalConfig.context + "/api/user/pwd",                data: {                    "password": this.state.oldPw,                    "newPassword": this.state.newPw                }            }).done(function (data) {                if (!data.error.length) {                    message.success('修改成功!');                    this.setState({                        visible: false,                    });                    this.logOut();                } else {                    message.warning(data.error[0].message);                }            }.bind(this));        };    },    handleCancel(e) {        this.setState({            visible: false,        });    },    oldPwChange(e) {        this.state.oldPw = e.target.value;    },    newPwChange(e) {        this.state.newPw = e.target.value;    },    confirmPwChange(e) {        this.state.confirmPw = e.target.value;    },    render() {        return (            <div style={{ 'float': 'left', 'marginTop': '0' }}>                <Button type="primary" onClick={this.showModal}>修改密码</Button>                <Modal maskClosable={false} className="change-modal" title="设置新密码" visible={this.state.visible}                    onOk={this.handleOk} onCancel={this.handleCancel}                    width={360}                    footer={[                        <Button key="submit" type="primary" size="large" loading={this.state.loading} onClick={this.handleOk}>确认</Button>,                        <Button key="back" type="ghost" size="large" onClick={this.handleCancel}>取消</Button>                    ]}                >                    <p className="modal-intro"><Icon type="info-circle" />密码长度为6-20个字符,区分大小写</p>                    <p><span>原密码:</span><Input type="password" onChange={this.oldPwChange} /></p>                    <p><span>新密码:</span><Input type="password" onChange={this.newPwChange} /></p>                    <p><span>确认密码:</span><Input type="password" onChange={this.confirmPwChange} /></p>                </Modal>            </div>        );    },});export default ChangePw;
 |