"use strict"; (self["webpackChunk"] = self["webpackChunk"] || []).push([[27182],{ /***/ 10184: /*!************************************************************!*\ !*** ./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@7.23.2@@babel/runtime/helpers/objectSpread2.js var objectSpread2 = __webpack_require__(26801); var objectSpread2_default = /*#__PURE__*/__webpack_require__.n(objectSpread2); // EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.2@@babel/runtime/helpers/regeneratorRuntime.js var regeneratorRuntime = __webpack_require__(10574); var regeneratorRuntime_default = /*#__PURE__*/__webpack_require__.n(regeneratorRuntime); // EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.2@@babel/runtime/helpers/asyncToGenerator.js var asyncToGenerator = __webpack_require__(39343); var asyncToGenerator_default = /*#__PURE__*/__webpack_require__.n(asyncToGenerator); // EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/index.js var _react_17_0_2_react = __webpack_require__(59301); // EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.2@@babel/runtime/helpers/slicedToArray.js var slicedToArray = __webpack_require__(11006); var slicedToArray_default = /*#__PURE__*/__webpack_require__.n(slicedToArray); // EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/form/index.js + 19 modules var es_form = __webpack_require__(78241); // EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/input/index.js + 5 modules var input = __webpack_require__(1056); // EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/button/index.js var es_button = __webpack_require__(3113); // EXTERNAL MODULE: ./src/components/User/RegisterPanel/unlock.tsx + 1 modules var unlock = __webpack_require__(80440); // EXTERNAL MODULE: ./src/utils/util.tsx var util = __webpack_require__(27291); // EXTERNAL MODULE: ./src/.umi-production/exports.ts + 8 modules var _umi_production_exports = __webpack_require__(66660); ;// 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@17.0.2@react/jsx-runtime.js var jsx_runtime = __webpack_require__(37712); ;// 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 }; var Types = /*#__PURE__*/function (Types) { Types[Types["setTimer"] = 0] = "setTimer"; return Types; }(Types || {}); function reducer(state, action) { switch (action.type) { case Types.setTimer: return objectSpread2_default()(objectSpread2_default()({}, state), {}, { timer: 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 */.Z.useForm(), _Form$useForm2 = slicedToArray_default()(_Form$useForm, 1), form = _Form$useForm2[0]; var _useReducer = (0,_react_17_0_2_react.useReducer)(reducer, initialState), _useReducer2 = slicedToArray_default()(_useReducer, 2), state = _useReducer2[0], dispatch = _useReducer2[1]; var _useState = (0,_react_17_0_2_react.useState)(false), _useState2 = slicedToArray_default()(_useState, 2), codeLoading = _useState2[0], setCodeLoading = _useState2[1]; var timer = state.timer; function onFinish(_x) { return _onFinish.apply(this, arguments); } function _onFinish() { _onFinish = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee2(values) { var login, new_password, code, new_password_confirmation, _yield$callback, message, status, show, start_date, from; return regeneratorRuntime_default()().wrap(function _callee2$(_context2) { while (1) switch (_context2.prev = _context2.next) { case 0: login = values.login, new_password = values.new_password, code = values.code, new_password_confirmation = values.new_password_confirmation; _context2.next = 3; return callback({ login: login, new_password_confirmation: new_password_confirmation, new_password: new_password, code: code }); case 3: _yield$callback = _context2.sent; message = _yield$callback.message; status = _yield$callback.status; show = _yield$callback.show; start_date = _yield$callback.start_date; 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 { form.setFields([{ name: 'code', errors: [message] }]); } case 9: case "end": return _context2.stop(); } }, _callee2); })); return _onFinish.apply(this, arguments); } function onValidateName() { return _onValidateName.apply(this, arguments); } function _onValidateName() { _onValidateName = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee3() { var login, flag, _yield$validateName, status, message, isOk; return regeneratorRuntime_default()().wrap(function _callee3$(_context3) { while (1) switch (_context3.prev = _context3.next) { case 0: login = form.getFieldValue('login'); flag = 0; if (!(!loginRegex.test(login) || login.indexOf(" ") > -1)) { _context3.next = 6; break; } form.setFields([{ name: 'login', errors: ['请输入正确的手机号或邮箱'] }]); flag = 1; return _context3.abrupt("return", flag); case 6: _context3.next = 8; return validateName({ login: login, type: 2 }); case 8: _yield$validateName = _context3.sent; status = _yield$validateName.status; message = _yield$validateName.message; isOk = status > 0; if (isOk) { flag = 2; } else { form.setFields([{ name: 'login', errors: [message] }]); flag = 1; } return _context3.abrupt("return", flag); case 14: case "end": return _context3.stop(); } }, _callee3); })); return _onValidateName.apply(this, arguments); } var onGetCode = /*#__PURE__*/function () { var _ref2 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee() { var verify, login, _yield$getCode, status, message; return regeneratorRuntime_default()().wrap(function _callee$(_context) { while (1) switch (_context.prev = _context.next) { case 0: verify = form.getFieldValue('verify'); login = form.getFieldValue('login'); if (verify) { _context.next = 6; break; } form.validateFields(['verify']); _context.next = 15; break; case 6: setCodeLoading(true); _context.next = 9; return getCode({ login: login, type: 2, smscode: (0,util/* setmiyah */.M)(login) }); case 9: _yield$getCode = _context.sent; status = _yield$getCode.status; message = _yield$getCode.message; if (status < 0) { form.setFields([{ name: 'code', errors: [message] }]); } dispatch({ type: Types.setTimer, payload: 60 }); setCodeLoading(false); case 15: case "end": return _context.stop(); } }, _callee); })); return function onGetCode() { return _ref2.apply(this, arguments); }; }(); 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_17_0_2_react.useEffect)(function () { if (timer > 0) { setTimeout(function () { dispatch({ type: Types.setTimer, payload: timer - 1 }); }, 1000); } }, [timer]); var verifyValidate = function verifyValidate(_, value) { return value ? Promise.resolve() : Promise.reject('请拖动滑块验证'); }; var LoginValidate = function LoginValidate(_, value) { if (!value) { return Promise.resolve(); } if (value.indexOf(" ") > -1) { return Promise.reject('请输入正确的手机号或邮箱'); } if (loginRegex.test(value)) { return Promise.resolve(); } else { return Promise.reject('请输入正确的手机号或邮箱'); } }; 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 */.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 */.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 */.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 */.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 */.Z.Item, { name: "new_password_confirmation", rules: [{ required: true, message: '请再次输入新密码' }, function (_ref3) { var getFieldValue = _ref3.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 */.Z.Password, { style: inputStyle, size: 'middle', placeholder: "\u518D\u6B21\u8F93\u5165\u65B0\u5BC6\u7801", visibilityToggle: false }) }), /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.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 */.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 */.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__(11933); ;// 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)); }); /***/ }) }]);