You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
NewEduCoderBuild/p__User__ResetPassword__ind...

440 lines
15 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

"use strict";
(self["webpackChunk"] = self["webpackChunk"] || []).push([[27182],{
/***/ 63100:
/*!************************************************************!*\
!*** ./src/pages/User/ResetPassword/index.tsx + 2 modules ***!
\************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
// ESM COMPAT FLAG
__webpack_require__.r(__webpack_exports__);
// EXPORTS
__webpack_require__.d(__webpack_exports__, {
"default": function() { return /* binding */ ResetPassword; }
});
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/objectSpread2.js
var objectSpread2 = __webpack_require__(42122);
var objectSpread2_default = /*#__PURE__*/__webpack_require__.n(objectSpread2);
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/regeneratorRuntime.js
var regeneratorRuntime = __webpack_require__(17061);
var regeneratorRuntime_default = /*#__PURE__*/__webpack_require__.n(regeneratorRuntime);
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/asyncToGenerator.js
var asyncToGenerator = __webpack_require__(17156);
var asyncToGenerator_default = /*#__PURE__*/__webpack_require__.n(asyncToGenerator);
// EXTERNAL MODULE: ./node_modules/react/index.js
var react = __webpack_require__(67294);
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/slicedToArray.js
var slicedToArray = __webpack_require__(27424);
var slicedToArray_default = /*#__PURE__*/__webpack_require__.n(slicedToArray);
// EXTERNAL MODULE: ./node_modules/antd/es/form/index.js + 17 modules
var es_form = __webpack_require__(25159);
// EXTERNAL MODULE: ./node_modules/antd/es/input/index.js + 5 modules
var input = __webpack_require__(79531);
// EXTERNAL MODULE: ./node_modules/antd/es/button/index.js
var es_button = __webpack_require__(71577);
// EXTERNAL MODULE: ./src/components/User/RegisterPanel/unlock.tsx + 1 modules
var unlock = __webpack_require__(61854);
// EXTERNAL MODULE: ./src/utils/util.tsx
var util = __webpack_require__(29427);
// EXTERNAL MODULE: ./src/.umi-production/exports.ts
var _umi_production_exports = __webpack_require__(88275);
;// CONCATENATED MODULE: ./src/components/User/ResetPasswordPanel/index.less?modules
// extracted by mini-css-extract-plugin
/* harmony default export */ var ResetPasswordPanelmodules = ({"wrap":"wrap___jh1g8","formWrapper":"formWrapper___ac7hS","link":"link___eiEQu"});
// EXTERNAL MODULE: ./node_modules/react/jsx-runtime.js
var jsx_runtime = __webpack_require__(85893);
;// CONCATENATED MODULE: ./src/components/User/ResetPasswordPanel/index.tsx
var inputStyle = {
height: 48,
borderRadius: 4
};
var loginRegex = /(\b[\w\.-]+@[\w\.-]+\.\w{2,4}\b)|(^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$)/i;
var initialState = {
timer: 0,
verifyCodeMessage: '',
verifyNameMessage: ''
};
var Types = /*#__PURE__*/function (Types) {
Types[Types["setTimer"] = 0] = "setTimer";
Types[Types["setVerifyCodeMessage"] = 1] = "setVerifyCodeMessage";
Types[Types["setVerifyNameMessage"] = 2] = "setVerifyNameMessage";
return Types;
}(Types || {});
function reducer(state, action) {
switch (action.type) {
case Types.setTimer:
return objectSpread2_default()(objectSpread2_default()({}, state), {}, {
timer: action.payload
});
case Types.setVerifyCodeMessage:
return objectSpread2_default()(objectSpread2_default()({}, state), {}, {
verifyCodeMessage: action.payload
});
case Types.setVerifyNameMessage:
return objectSpread2_default()(objectSpread2_default()({}, state), {}, {
verifyNameMessage: action.payload
});
default:
throw new Error();
}
}
/* harmony default export */ var ResetPasswordPanel = (function (_ref) {
var validateName = _ref.validateName,
getCode = _ref.getCode,
callback = _ref.callback,
_ref$style = _ref.style,
style = _ref$style === void 0 ? {} : _ref$style;
var location = (0,_umi_production_exports.useLocation)();
var _useSearchParams = (0,_umi_production_exports.useSearchParams)(),
_useSearchParams2 = slicedToArray_default()(_useSearchParams, 1),
searchParams = _useSearchParams2[0];
var _Form$useForm = es_form/* default.useForm */.Z.useForm(),
_Form$useForm2 = slicedToArray_default()(_Form$useForm, 1),
form = _Form$useForm2[0];
var _useReducer = (0,react.useReducer)(reducer, initialState),
_useReducer2 = slicedToArray_default()(_useReducer, 2),
state = _useReducer2[0],
dispatch = _useReducer2[1];
var verifyCodeMessage = state.verifyCodeMessage,
verifyNameMessage = state.verifyNameMessage,
timer = state.timer;
var _useState = (0,react.useState)('/rucaptcha'),
_useState2 = slicedToArray_default()(_useState, 2),
ImgSrc = _useState2[0],
setImgsrc = _useState2[1];
function onFinish(_x) {
return _onFinish.apply(this, arguments);
}
function _onFinish() {
_onFinish = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee(values) {
var login, new_password, code, new_password_confirmation, _yield$callback, message, status, from;
return regeneratorRuntime_default()().wrap(function _callee$(_context) {
while (1) switch (_context.prev = _context.next) {
case 0:
login = values.login, new_password = values.new_password, code = values.code, new_password_confirmation = values.new_password_confirmation;
_context.next = 3;
return callback({
login: login,
new_password_confirmation: new_password_confirmation,
new_password: new_password,
code: code
});
case 3:
_yield$callback = _context.sent;
message = _yield$callback.message;
status = _yield$callback.status;
if (status === 0) {
if (show) {
localStorage.setItem('extension-modal', 'exist');
localStorage.setItem('extension-date', start_date);
} else {
localStorage.removeItem('extension-modal');
}
from = searchParams.get("from");
if (from && from.indexOf('login') < 0) {
_umi_production_exports.history.replace(from);
} else {
_umi_production_exports.history.replace('/');
}
} else {
dispatch({
type: Types.setVerifyCodeMessage,
payload: message
});
}
case 7:
case "end":
return _context.stop();
}
}, _callee);
}));
return _onFinish.apply(this, arguments);
}
function onResetVerify() {
form.setFieldsValue({
verify: false
});
dispatch({
type: Types.setVerifyNameMessage,
payload: ''
});
}
function onValidateName() {
return _onValidateName.apply(this, arguments);
}
function _onValidateName() {
_onValidateName = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee2() {
var login, _yield$validateName, status, message, isOk;
return regeneratorRuntime_default()().wrap(function _callee2$(_context2) {
while (1) switch (_context2.prev = _context2.next) {
case 0:
login = form.getFieldValue('login');
if (!loginRegex.test(login)) {
_context2.next = 10;
break;
}
_context2.next = 4;
return validateName({
login: login,
type: 2
});
case 4:
_yield$validateName = _context2.sent;
status = _yield$validateName.status;
message = _yield$validateName.message;
isOk = status > 0;
if (!isOk) {
dispatch({
type: Types.setVerifyNameMessage,
payload: message
});
}
return _context2.abrupt("return", isOk);
case 10:
return _context2.abrupt("return", false);
case 11:
case "end":
return _context2.stop();
}
}, _callee2);
}));
return _onValidateName.apply(this, arguments);
}
function onGetCode() {
var verify = form.getFieldValue('verify');
var login = form.getFieldValue('login');
if (!verify) {
form.validateFields(['verify']);
} else {
dispatch({
type: Types.setVerifyCodeMessage,
payload: ''
});
var _getCode = getCode({
login: login,
type: 2,
smscode: (0,util/* setmiyah */.M)(login)
}),
status = _getCode.status,
message = _getCode.message;
if (status < 0) {
dispatch({
type: Types.setVerifyCodeMessage,
payload: message
});
}
dispatch({
type: Types.setTimer,
payload: 60
});
}
}
function validatePassword(_, value) {
var confirmationValue = form.getFieldValue('new_password_confirmation');
if (!value) {
return Promise.resolve();
}
form.setFields([{
name: 'new_password_confirmation',
errors: confirmationValue && confirmationValue !== value ? ['两次密码不一致'] : []
}]);
if (value.indexOf(" ") > -1) {
return Promise.reject('请输入8-16位密码区分大小写、不能使用空格');
}
var len = value.length;
if (len >= 8 && len <= 16) {
return Promise.resolve();
} else {
return Promise.reject('密码的长度在8到16位之间');
}
}
(0,react.useEffect)(function () {
if (timer > 0) {
setTimeout(function () {
dispatch({
type: Types.setTimer,
payload: timer - 1
});
}, 1000);
}
}, [timer]);
return /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
className: ResetPasswordPanelmodules.wrap,
children: /*#__PURE__*/(0,jsx_runtime.jsxs)(es_form/* default */.Z, {
layout: "vertical",
form: form,
style: style,
className: ResetPasswordPanelmodules.formWrapper,
initialValues: {
autologin: true,
protool: true
},
onFinish: onFinish,
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default.Item */.Z.Item, {
name: "login",
label: "\u8D26\u53F7",
required: false,
rules: [{
required: true,
message: '请输入正确的手机号或邮箱'
}, {
validator: LoginValidate
}],
children: /*#__PURE__*/(0,jsx_runtime.jsx)(input/* default */.Z, {
style: inputStyle,
size: 'middle',
placeholder: "\u8BF7\u8F93\u5165\u6709\u6548\u7684\u624B\u673A\u53F7/\u90AE\u7BB1\u53F7",
onChange: function onChange() {
return form.setFieldsValue({
verify: 0
});
}
})
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default.Item */.Z.Item, {
name: "verify",
rules: [{
validator: verifyValidate
}],
children: /*#__PURE__*/(0,jsx_runtime.jsx)(unlock/* default */.Z, {
onValidate: onValidateName
})
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default.Item */.Z.Item, {
label: "\u5BC6\u7801",
required: false,
name: "new_password",
rules: [{
required: true,
message: '请输入8-16位密码区分大小写、不能使用空格'
}, {
validator: validatePassword
}],
children: /*#__PURE__*/(0,jsx_runtime.jsx)(input/* default.Password */.Z.Password, {
style: inputStyle,
size: 'middle',
placeholder: "\u8F93\u51658\uFF5E16\u4F4D\u5BC6\u7801\uFF0C\u533A\u5206\u5927\u5C0F\u5199",
visibilityToggle: false
})
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default.Item */.Z.Item, {
name: "new_password_confirmation",
rules: [{
required: true,
message: '请再次输入新密码'
}, function (_ref2) {
var getFieldValue = _ref2.getFieldValue;
return {
validator: function validator(_, value) {
if (!value || getFieldValue('new_password') === value) {
return Promise.resolve();
}
return Promise.reject('两次密码不一致');
}
};
}],
children: /*#__PURE__*/(0,jsx_runtime.jsx)(input/* default.Password */.Z.Password, {
style: inputStyle,
size: 'middle',
placeholder: "\u518D\u6B21\u8F93\u5165\u65B0\u5BC6\u7801",
visibilityToggle: false
})
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default.Item */.Z.Item, {
name: "code",
label: "\u9A8C\u8BC1\u7801",
required: false,
rules: [{
required: true,
message: '请输入验证码'
}],
children: /*#__PURE__*/(0,jsx_runtime.jsx)(input/* default */.Z, {
suffix: /*#__PURE__*/(0,jsx_runtime.jsxs)(es_button/* default */.ZP, {
loading: codeLoading,
type: "link",
onClick: onGetCode,
disabled: timer > 0,
children: [" ", timer === 0 ? '获取验证码' : "".concat(timer, "\u79D2\u53EF\u91CD\u65B0\u83B7\u53D6")]
}),
style: {
paddingRight: 2,
height: 48,
borderRadius: 4
},
placeholder: "\u8BF7\u8F93\u5165\u9A8C\u8BC1\u7801",
size: 'middle'
})
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default.Item */.Z.Item, {
children: /*#__PURE__*/(0,jsx_runtime.jsx)(es_button/* default */.ZP, {
size: 'middle',
type: "primary",
htmlType: "submit",
block: true,
style: inputStyle,
children: " \u5B8C\u6210 "
})
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default.Item */.Z.Item, {
className: "tc",
children: /*#__PURE__*/(0,jsx_runtime.jsx)(_umi_production_exports.Link, {
className: "font14",
to: "/user/login",
children: "\u8FD4\u56DE\u767B\u5F55"
})
})]
})
});
});
// EXTERNAL MODULE: ./src/pages/User/Register/service.ts
var service = __webpack_require__(88063);
;// CONCATENATED MODULE: ./src/pages/User/ResetPassword/index.tsx
/* harmony default export */ var ResetPassword = (function () {
var panelProps = {
getCode: service/* getValidateCode */.o1,
callback: function () {
var _callback = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee(values) {
var response;
return regeneratorRuntime_default()().wrap(function _callee$(_context) {
while (1) switch (_context.prev = _context.next) {
case 0:
_context.next = 2;
return (0,service/* resetPassword */.c0)(values);
case 2:
response = _context.sent;
return _context.abrupt("return", response);
case 4:
case "end":
return _context.stop();
}
}, _callee);
}));
function callback(_x) {
return _callback.apply(this, arguments);
}
return callback;
}(),
validateName: service/* validateName */.Ol
};
return /*#__PURE__*/(0,jsx_runtime.jsx)(ResetPasswordPanel, objectSpread2_default()({}, panelProps));
});
/***/ })
}]);