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.
416 lines
14 KiB
416 lines
14 KiB
"use strict";
|
|
(self["webpackChunk"] = self["webpackChunk"] || []).push([[27182],{
|
|
|
|
/***/ 38921:
|
|
/*!************************************************************!*\
|
|
!*** ./src/pages/User/ResetPassword/index.tsx + 1 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.7.1@antd/es/form/index.js + 17 modules
|
|
var es_form = __webpack_require__(58112);
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.7.1@antd/es/input/index.js + 5 modules
|
|
var input = __webpack_require__(56613);
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.7.1@antd/es/button/index.js
|
|
var es_button = __webpack_require__(5436);
|
|
// 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
|
|
var _umi_production_exports = __webpack_require__(51649);
|
|
// 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: 40
|
|
};
|
|
var loginRegex = /(\b[\w\.-]+@[\w\.-]+\.\w{2,4}\b)|([1][3,4,5,6,7,8,9][0-9]{9})/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 _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 verifyCodeMessage = state.verifyCodeMessage,
|
|
verifyNameMessage = state.verifyNameMessage,
|
|
timer = state.timer;
|
|
var _useState = (0,_react_17_0_2_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, _location$query, 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) {
|
|
from = (_location$query = location.query) === null || _location$query === void 0 ? void 0 : _location$query.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 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]);
|
|
return /*#__PURE__*/(0,jsx_runtime.jsxs)(es_form/* default */.Z, {
|
|
layout: "vertical",
|
|
form: form,
|
|
style: style,
|
|
initialValues: {
|
|
autologin: true,
|
|
protool: true
|
|
},
|
|
onFinish: onFinish,
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
|
|
name: "login",
|
|
extra: verifyNameMessage ? /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
className: "error",
|
|
children: verifyNameMessage
|
|
}) : null,
|
|
rules: [{
|
|
required: true,
|
|
message: '请输入有效的手机号/邮箱'
|
|
}, {
|
|
pattern: loginRegex,
|
|
message: '手机号或者邮箱格式有误'
|
|
}],
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(input/* default */.Z, {
|
|
style: inputStyle,
|
|
size: "large",
|
|
placeholder: "\u8BF7\u8F93\u5165\u6709\u6548\u7684\u624B\u673A\u53F7/\u90AE\u7BB1\u53F7",
|
|
onChange: onResetVerify
|
|
})
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
|
|
name: "verify",
|
|
rules: [{
|
|
validator: function validator(_, value) {
|
|
return value ? Promise.resolve() : Promise.reject('请拖动滑块验证');
|
|
}
|
|
}],
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(unlock/* default */.Z, {
|
|
onValidate: onValidateName
|
|
})
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
|
|
extra: verifyCodeMessage ? /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
className: "error",
|
|
children: verifyCodeMessage
|
|
}) : null,
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
className: "flex-container",
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
|
|
name: "code",
|
|
noStyle: true,
|
|
rules: [{
|
|
required: true,
|
|
message: '请输入验证码'
|
|
}],
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(input/* default */.Z, {
|
|
style: {
|
|
width: 'calc(100% - 100px)',
|
|
height: 40,
|
|
marginRight: 6
|
|
},
|
|
placeholder: "\u8BF7\u8F93\u5165\u9A8C\u8BC1\u7801",
|
|
size: "large"
|
|
})
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)(es_button/* default */.ZP, {
|
|
size: "large",
|
|
type: "primary",
|
|
style: inputStyle,
|
|
onClick: onGetCode,
|
|
disabled: timer > 0,
|
|
children: [' ', timer === 0 ? '获取验证码' : "\u91CD\u65B0\u53D1\u9001".concat(timer, "s")]
|
|
})]
|
|
})
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
|
|
name: "new_password",
|
|
rules: [{
|
|
required: true,
|
|
message: '请输入密码'
|
|
}, {
|
|
validator: validatePassword
|
|
}],
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(input/* default */.Z.Password, {
|
|
style: inputStyle,
|
|
size: "large",
|
|
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 (_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 */.Z.Password, {
|
|
style: inputStyle,
|
|
size: "large",
|
|
placeholder: "\u518D\u6B21\u8F93\u5165\u65B0\u5BC6\u7801",
|
|
visibilityToggle: false
|
|
})
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsxs)(es_button/* default */.ZP, {
|
|
size: "large",
|
|
type: "primary",
|
|
htmlType: "submit",
|
|
block: true,
|
|
style: inputStyle,
|
|
children: [' ', "\u5B8C\u6210", ' ']
|
|
})
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(_umi_production_exports.Link, {
|
|
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));
|
|
});
|
|
|
|
/***/ })
|
|
|
|
}]); |