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...

463 lines
16 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],{
/***/ 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));
});
/***/ })
}]);