diff --git a/web/src/Setting.js b/web/src/Setting.js index 8bc6576b..7e258122 100644 --- a/web/src/Setting.js +++ b/web/src/Setting.js @@ -499,7 +499,11 @@ function maskString(s) { } } -export function maskEmail(email) { +export function getMaskedPhone(s) { + return s.replace(/(\d{3})\d*(\d{4})/,'$1****$2'); +} + +export function getMaskedEmail(email) { if (email === "") return; const tokens = email.split("@"); let username = tokens[0]; diff --git a/web/src/auth/ForgetPage.js b/web/src/auth/ForgetPage.js index 52a59da1..e14d3400 100644 --- a/web/src/auth/ForgetPage.js +++ b/web/src/auth/ForgetPage.js @@ -50,7 +50,7 @@ class ForgetPage extends React.Component { phone: "", emailCode: "", phoneCode: "", - verifyType: "", // "email" or "phone" + verifyType: null, // "email" or "phone" current: 0, }; } @@ -98,23 +98,36 @@ class ForgetPage extends React.Component { username: username }).then((res) => { if (res.status === "ok") { - this.setState({phone: res.data.phone, email: res.data.email, username: res.data.name}); - switch (res.data2) { - case "email": - this.setState({isFixed: true, fixedContent: res.data.email, verifyType: "email"}); - break - case "phone": - this.setState({isFixed: true, fixedContent: res.data.phone, verifyType: "phone"}); - break - default: - break - } - if (this.state.isFixed) { - forms.step2.setFieldsValue({email: this.state.fixedContent}) - } - this.setState({current: 1}) + const phone = res.data.phone; + const email = res.data.email; + this.setState({phone: phone, email: email, username: res.data.name}); + + if (phone !== "" && email === "") { + this.setState({ + verifyType: "phone", + }); + } else if (phone === "" && email !== "") { + this.setState({ + verifyType: "email", + }); + } + + switch (res.data2) { + case "email": + this.setState({isFixed: true, fixedContent: email, verifyType: "email"}); + break + case "phone": + this.setState({isFixed: true, fixedContent: phone, verifyType: "phone"}); + break + default: + break + } + if (this.state.isFixed) { + forms.step2.setFieldsValue({email: this.state.fixedContent}) + } + this.setState({current: 1}) } else { - Setting.showMessage("error", i18next.t(`signup:${res.msg}`)); + Setting.showMessage("error", i18next.t(`signup:${res.msg}`)); } }); break; @@ -155,6 +168,26 @@ class ForgetPage extends React.Component { onFinishFailed(values, errorFields) {} + renderOptions() { + let options = []; + + if (this.state.phone !== "") { + options.push( + + ); + } else if (this.state.email !== "") { + options.push( + + ); + } + + return options; + } + renderForm(application) { return ( { @@ -278,27 +311,20 @@ class ForgetPage extends React.Component { { this.state.isFixed ? : }