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

572 lines
22 KiB

"use strict";
(self["webpackChunk"] = self["webpackChunk"] || []).push([[7182],{
/***/ 80507:
/*!******************************************************************!*\
!*** ./src/components/User/RegisterPanel/unlock.tsx + 1 modules ***!
\******************************************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
// EXPORTS
__webpack_require__.d(__webpack_exports__, {
Z: function() { return /* binding */ unlock; }
});
// EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/index.js
var _react_17_0_2_react = __webpack_require__(59301);
;// CONCATENATED MODULE: ./src/components/User/RegisterPanel/unlock.less
// extracted by mini-css-extract-plugin
// EXTERNAL MODULE: ./node_modules/_@ant-design_icons@5.2.6@@ant-design/icons/es/icons/CloseOutlined.js + 1 modules
var CloseOutlined = __webpack_require__(99174);
// EXTERNAL MODULE: ./node_modules/_@ant-design_icons@5.2.6@@ant-design/icons/es/icons/CheckOutlined.js + 1 modules
var CheckOutlined = __webpack_require__(75769);
// EXTERNAL MODULE: ./node_modules/_@ant-design_icons@5.2.6@@ant-design/icons/es/icons/DoubleRightOutlined.js + 1 modules
var DoubleRightOutlined = __webpack_require__(40764);
// EXTERNAL MODULE: ./src/utils/util.tsx
var util = __webpack_require__(19234);
;// CONCATENATED MODULE: ./src/components/User/RegisterPanel/unlock.tsx
var __defProp = Object.defineProperty;
var __defProps = Object.defineProperties;
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __propIsEnum = Object.prototype.propertyIsEnumerable;
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
var __spreadValues = (a, b) => {
for (var prop in b || (b = {}))
if (__hasOwnProp.call(b, prop))
__defNormalProp(a, prop, b[prop]);
if (__getOwnPropSymbols)
for (var prop of __getOwnPropSymbols(b)) {
if (__propIsEnum.call(b, prop))
__defNormalProp(a, prop, b[prop]);
}
return a;
};
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
var __async = (__this, __arguments, generator) => {
return new Promise((resolve, reject) => {
var fulfilled = (value) => {
try {
step(generator.next(value));
} catch (e) {
reject(e);
}
};
var rejected = (value) => {
try {
step(generator.throw(value));
} catch (e) {
reject(e);
}
};
var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
step((generator = generator.apply(__this, __arguments)).next());
});
};
const initialState = {
moveX: 0,
verify: 0
};
var Types = /* @__PURE__ */ ((Types2) => {
Types2[Types2["SET_MOVEX"] = 0] = "SET_MOVEX";
Types2[Types2["VERIFY"] = 1] = "VERIFY";
return Types2;
})(Types || {});
function reducer(state, action) {
switch (action.type) {
case 0 /* SET_MOVEX */:
return __spreadProps(__spreadValues({}, state), { moveX: action.payload });
case 1 /* VERIFY */:
return __spreadValues(__spreadValues({}, state), action.payload);
default:
throw new Error();
}
}
/* harmony default export */ var unlock = (({ value, onChange, onValidate }) => {
const [state, dispatch] = (0,_react_17_0_2_react.useReducer)(reducer, initialState);
const { moveX, verify } = state;
const handlerEl = (0,_react_17_0_2_react.useRef)();
const wrapperEL = (0,_react_17_0_2_react.useRef)();
const bgEl = (0,_react_17_0_2_react.useRef)();
const startDrag = (0,_react_17_0_2_react.useRef)();
const wrapperRect = (0,_react_17_0_2_react.useMemo)(() => {
if (wrapperEL.current) {
return wrapperEL.current.getBoundingClientRect();
}
}, [wrapperEL.current]);
(0,_react_17_0_2_react.useEffect)(() => {
if (wrapperRect) {
let onMouseUp = function() {
startDrag.current = false;
if (flag === 0) {
handlerEl.current.style.transition = "left .5s ease";
bgEl.current.style.transition = "width .5s ease";
dispatch({
type: 1 /* VERIFY */,
payload: {
moveX: 0
}
});
}
};
let flag = 0;
const { width, left } = wrapperRect;
let distance = width - 48;
const isMobile = !(0,util/* isPc */.b9)();
function onMove(e) {
return __async(this, null, function* () {
if (startDrag.current) {
let pageX = e.pageX - left;
if (isMobile) {
pageX = e.changedTouches[0].pageX - left;
}
if (pageX < 0) {
pageX = 0;
}
if (pageX >= distance) {
startDrag.current = false;
pageX = distance;
flag = yield onValidate();
dispatch({
type: 1 /* VERIFY */,
payload: {
moveX: pageX,
verify: flag
}
});
onChange(flag);
} else {
dispatch({
type: 0 /* SET_MOVEX */,
payload: pageX
});
}
}
});
}
if (!isMobile) {
window.addEventListener("mousemove", onMove);
window.addEventListener("mouseup", onMouseUp);
} else {
window.addEventListener("touchmove", onMove);
window.addEventListener("touchend", onMouseUp);
}
return () => {
if (!isMobile) {
window.removeEventListener("mousemove", onMove);
window.removeEventListener("mouseup", onMouseUp);
} else {
window.removeEventListener("touchmove", onMove);
window.removeEventListener("touchend", onMouseUp);
}
};
}
}, [wrapperRect, util/* isPc */.b9]);
(0,_react_17_0_2_react.useEffect)(() => {
dispatch({
type: 1 /* VERIFY */,
payload: {
verify: value,
moveX: value ? (wrapperRect == null ? void 0 : wrapperRect.width) - 48 : 0
}
});
}, [value]);
function onStartDrag() {
if (!verify) {
startDrag.current = true;
handlerEl.current.style.transition = "";
bgEl.current.style.transition = "";
}
}
return /* @__PURE__ */ _react_17_0_2_react.createElement("div", { ref: wrapperEL, className: "unlock-wrapper" }, /* @__PURE__ */ _react_17_0_2_react.createElement("div", { ref: bgEl, className: verify === 1 ? "unlock-error-bg" : "unlock-bg", style: { width: moveX } }), /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: "unlock-text" }, verify ? verify === 1 ? "\u9A8C\u8BC1\u5931\u8D25" : "\u9A8C\u8BC1\u901A\u8FC7" : "\u62D6\u52A8\u6ED1\u5757\u81F3\u53F3\u4FA7\u9A8C\u8BC1"), /* @__PURE__ */ _react_17_0_2_react.createElement("div", { ref: handlerEl, onTouchStart: onStartDrag, onMouseDown: onStartDrag, style: { left: moveX }, className: "unlock-handler" }, verify ? verify === 1 ? /* @__PURE__ */ _react_17_0_2_react.createElement(CloseOutlined/* default */.Z, null) : /* @__PURE__ */ _react_17_0_2_react.createElement(CheckOutlined/* default */.Z, null) : /* @__PURE__ */ _react_17_0_2_react.createElement(DoubleRightOutlined/* default */.Z, null)));
});
/***/ }),
/***/ 44055:
/*!********************************************!*\
!*** ./src/pages/User/Register/service.ts ***!
\********************************************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ Ol: function() { return /* binding */ validateName; },
/* harmony export */ c0: function() { return /* binding */ resetPassword; },
/* harmony export */ o1: function() { return /* binding */ getValidateCode; },
/* harmony export */ z2: function() { return /* binding */ register; }
/* harmony export */ });
/* unused harmony export wechatRegister */
/* harmony import */ var _utils_fetch__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @/utils/fetch */ 94754);
function validateName(params) {
return (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_0__/* .get */ .U2)("accounts/valid_email_and_phone.json", params);
}
function getValidateCode(params) {
return (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_0__/* .get */ .U2)("accounts/get_verification_code.json", params);
}
function register(params) {
return (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_0__/* .post */ .v_)("accounts/register.json", params);
}
function wechatRegister(params) {
return post("weapps/register.json", params);
}
function resetPassword(params) {
return (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_0__/* .post */ .v_)("accounts/reset_password.json", params);
}
/***/ }),
/***/ 46410:
/*!************************************************************!*\
!*** ./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/_react@17.0.2@react/index.js
var _react_17_0_2_react = __webpack_require__(59301);
// 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__(80507);
// EXTERNAL MODULE: ./src/utils/util.tsx
var util = __webpack_require__(19234);
// EXTERNAL MODULE: ./src/.umi-production/exports.ts + 15 modules
var _umi_production_exports = __webpack_require__(23175);
;// 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"});
;// CONCATENATED MODULE: ./src/components/User/ResetPasswordPanel/index.tsx
var __defProp = Object.defineProperty;
var __defProps = Object.defineProperties;
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __propIsEnum = Object.prototype.propertyIsEnumerable;
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
var __spreadValues = (a, b) => {
for (var prop in b || (b = {}))
if (__hasOwnProp.call(b, prop))
__defNormalProp(a, prop, b[prop]);
if (__getOwnPropSymbols)
for (var prop of __getOwnPropSymbols(b)) {
if (__propIsEnum.call(b, prop))
__defNormalProp(a, prop, b[prop]);
}
return a;
};
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
var __async = (__this, __arguments, generator) => {
return new Promise((resolve, reject) => {
var fulfilled = (value) => {
try {
step(generator.next(value));
} catch (e) {
reject(e);
}
};
var rejected = (value) => {
try {
step(generator.throw(value));
} catch (e) {
reject(e);
}
};
var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
step((generator = generator.apply(__this, __arguments)).next());
});
};
const inputStyle = { height: 48, borderRadius: 4 };
const 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;
const initialState = {
timer: 0
};
var Types = /* @__PURE__ */ ((Types2) => {
Types2[Types2["setTimer"] = 0] = "setTimer";
return Types2;
})(Types || {});
function reducer(state, action) {
switch (action.type) {
case 0 /* setTimer */:
return __spreadProps(__spreadValues({}, state), { timer: action.payload });
default:
throw new Error();
}
}
/* harmony default export */ var ResetPasswordPanel = (({ validateName, getCode, callback, style = {} }) => {
const location = (0,_umi_production_exports.useLocation)();
const [searchParams] = (0,_umi_production_exports.useSearchParams)();
const [form] = es_form["default"].useForm();
const [state, dispatch] = (0,_react_17_0_2_react.useReducer)(reducer, initialState);
const [codeLoading, setCodeLoading] = (0,_react_17_0_2_react.useState)(false);
const { timer } = state;
function onFinish(values) {
return __async(this, null, function* () {
const { login, new_password, code, new_password_confirmation } = values;
const { message, status, show, start_date } = yield callback({ login, new_password_confirmation, new_password, code });
if (status === 0) {
if (show) {
localStorage.setItem("extension-modal", "exist");
localStorage.setItem("extension-date", start_date);
} else {
localStorage.removeItem("extension-modal");
}
const 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]
}]);
}
});
}
function onValidateName() {
return __async(this, null, function* () {
let login = form.getFieldValue("login");
let flag = 0;
if (!loginRegex.test(login) || login.indexOf(" ") > -1) {
form.setFields([{
name: "login",
errors: ["\u8BF7\u8F93\u5165\u6B63\u786E\u7684\u624B\u673A\u53F7\u6216\u90AE\u7BB1"]
}]);
flag = 1;
return flag;
}
let { status, message } = yield validateName({ login, type: 2 });
const isOk = status > 0;
if (isOk) {
flag = 2;
} else {
form.setFields([{
name: "login",
errors: [message]
}]);
flag = 1;
}
return flag;
});
}
const onGetCode = () => __async(void 0, null, function* () {
const verify = form.getFieldValue("verify");
const login = form.getFieldValue("login");
if (!verify) {
form.validateFields(["verify"]);
} else {
setCodeLoading(true);
const { status, message } = yield getCode({
login,
type: 2,
smscode: (0,util/* setmiyah */.M)(login)
});
if (status < 0) {
form.setFields([{
name: "code",
errors: [message]
}]);
}
dispatch({
type: 0 /* setTimer */,
payload: 60
});
setCodeLoading(false);
}
});
function validatePassword(_, value) {
const confirmationValue = form.getFieldValue("new_password_confirmation");
if (!value) {
return Promise.resolve();
}
form.setFields([{
name: "new_password_confirmation",
errors: confirmationValue && confirmationValue !== value ? ["\u4E24\u6B21\u5BC6\u7801\u4E0D\u4E00\u81F4"] : []
}]);
if (value.indexOf(" ") > -1) {
return Promise.reject("\u8BF7\u8F93\u51658-16\u4F4D\u5BC6\u7801\uFF0C\u533A\u5206\u5927\u5C0F\u5199\u3001\u4E0D\u80FD\u4F7F\u7528\u7A7A\u683C");
}
const len = value.length;
if (len >= 8 && len <= 16) {
return Promise.resolve();
} else {
return Promise.reject("\u8BF7\u8F93\u51658-16\u4F4D\u5BC6\u7801\uFF0C\u533A\u5206\u5927\u5C0F\u5199\u3001\u4E0D\u80FD\u4F7F\u7528\u7A7A\u683C");
}
}
(0,_react_17_0_2_react.useEffect)(() => {
if (timer > 0) {
setTimeout(() => {
dispatch({
type: 0 /* setTimer */,
payload: timer - 1
});
}, 1e3);
}
}, [timer]);
const verifyValidate = (_, value) => {
return value ? Promise.resolve() : Promise.reject("\u8BF7\u62D6\u52A8\u6ED1\u5757\u9A8C\u8BC1");
};
const LoginValidate = (_, value) => {
if (!value) {
return Promise.resolve();
}
if (value.indexOf(" ") > -1) {
return Promise.reject("\u8BF7\u8F93\u5165\u6B63\u786E\u7684\u624B\u673A\u53F7\u6216\u90AE\u7BB1");
}
if (loginRegex.test(value)) {
return Promise.resolve();
} else {
return Promise.reject("\u8BF7\u8F93\u5165\u6B63\u786E\u7684\u624B\u673A\u53F7\u6216\u90AE\u7BB1");
}
};
return /* @__PURE__ */ _react_17_0_2_react.createElement("div", { className: ResetPasswordPanelmodules.wrap }, /* @__PURE__ */ _react_17_0_2_react.createElement(
es_form["default"],
{
layout: "vertical",
form,
style,
className: ResetPasswordPanelmodules.formWrapper,
initialValues: { autologin: true, protool: true },
onFinish
},
/* @__PURE__ */ _react_17_0_2_react.createElement(
es_form["default"].Item,
{
name: "login",
label: "\u8D26\u53F7",
required: false,
rules: [
{ required: true, message: "\u8BF7\u8F93\u5165\u6B63\u786E\u7684\u624B\u673A\u53F7\u6216\u90AE\u7BB1" },
{ validator: LoginValidate }
]
},
/* @__PURE__ */ _react_17_0_2_react.createElement(
input["default"],
{
style: inputStyle,
size: "middle",
placeholder: "\u8BF7\u8F93\u5165\u6709\u6548\u7684\u624B\u673A\u53F7/\u90AE\u7BB1\u53F7",
onChange: () => form.setFieldsValue({ verify: 0 })
}
)
),
/* @__PURE__ */ _react_17_0_2_react.createElement(
es_form["default"].Item,
{
name: "verify",
rules: [{ validator: verifyValidate }]
},
/* @__PURE__ */ _react_17_0_2_react.createElement(unlock/* default */.Z, { onValidate: onValidateName })
),
/* @__PURE__ */ _react_17_0_2_react.createElement(es_form["default"].Item, { label: "\u5BC6\u7801", required: false, name: "new_password", rules: [{ required: true, message: "\u8BF7\u8F93\u51658-16\u4F4D\u5BC6\u7801\uFF0C\u533A\u5206\u5927\u5C0F\u5199\u3001\u4E0D\u80FD\u4F7F\u7528\u7A7A\u683C" }, { validator: validatePassword }] }, /* @__PURE__ */ _react_17_0_2_react.createElement(input["default"].Password, { style: inputStyle, size: "middle", placeholder: "\u8F93\u51658\uFF5E16\u4F4D\u5BC6\u7801\uFF0C\u533A\u5206\u5927\u5C0F\u5199", visibilityToggle: false })),
/* @__PURE__ */ _react_17_0_2_react.createElement(es_form["default"].Item, { name: "new_password_confirmation", rules: [
{ required: true, message: "\u8BF7\u518D\u6B21\u8F93\u5165\u65B0\u5BC6\u7801" },
({ getFieldValue }) => ({
validator(_, value) {
if (!value || getFieldValue("new_password") === value) {
return Promise.resolve();
}
return Promise.reject("\u4E24\u6B21\u5BC6\u7801\u4E0D\u4E00\u81F4");
}
})
] }, /* @__PURE__ */ _react_17_0_2_react.createElement(input["default"].Password, { style: inputStyle, size: "middle", placeholder: "\u518D\u6B21\u8F93\u5165\u65B0\u5BC6\u7801", visibilityToggle: false })),
/* @__PURE__ */ _react_17_0_2_react.createElement(es_form["default"].Item, { name: "code", label: "\u9A8C\u8BC1\u7801", required: false, rules: [{ required: true, message: "\u8BF7\u8F93\u5165\u9A8C\u8BC1\u7801" }] }, /* @__PURE__ */ _react_17_0_2_react.createElement(
input["default"],
{
suffix: /* @__PURE__ */ _react_17_0_2_react.createElement(es_button/* default */.ZP, { loading: codeLoading, type: "link", onClick: onGetCode, disabled: timer > 0 }, " ", timer === 0 ? "\u83B7\u53D6\u9A8C\u8BC1\u7801" : `${timer}\u79D2\u53EF\u91CD\u65B0\u83B7\u53D6`),
style: { paddingRight: 2, height: 48, borderRadius: 4 },
placeholder: "\u8BF7\u8F93\u5165\u9A8C\u8BC1\u7801",
size: "middle"
}
)),
/* @__PURE__ */ _react_17_0_2_react.createElement(es_form["default"].Item, null, /* @__PURE__ */ _react_17_0_2_react.createElement(es_button/* default */.ZP, { size: "middle", type: "primary", htmlType: "submit", block: true, style: inputStyle }, " \u5B8C\u6210 ")),
/* @__PURE__ */ _react_17_0_2_react.createElement(es_form["default"].Item, { className: "tc" }, /* @__PURE__ */ _react_17_0_2_react.createElement(_umi_production_exports.Link, { className: "font14", to: "/user/login" }, "\u8FD4\u56DE\u767B\u5F55"))
));
});
// EXTERNAL MODULE: ./src/pages/User/Register/service.ts
var service = __webpack_require__(44055);
;// CONCATENATED MODULE: ./src/pages/User/ResetPassword/index.tsx
var ResetPassword_defProp = Object.defineProperty;
var ResetPassword_getOwnPropSymbols = Object.getOwnPropertySymbols;
var ResetPassword_hasOwnProp = Object.prototype.hasOwnProperty;
var ResetPassword_propIsEnum = Object.prototype.propertyIsEnumerable;
var ResetPassword_defNormalProp = (obj, key, value) => key in obj ? ResetPassword_defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
var ResetPassword_spreadValues = (a, b) => {
for (var prop in b || (b = {}))
if (ResetPassword_hasOwnProp.call(b, prop))
ResetPassword_defNormalProp(a, prop, b[prop]);
if (ResetPassword_getOwnPropSymbols)
for (var prop of ResetPassword_getOwnPropSymbols(b)) {
if (ResetPassword_propIsEnum.call(b, prop))
ResetPassword_defNormalProp(a, prop, b[prop]);
}
return a;
};
var ResetPassword_async = (__this, __arguments, generator) => {
return new Promise((resolve, reject) => {
var fulfilled = (value) => {
try {
step(generator.next(value));
} catch (e) {
reject(e);
}
};
var rejected = (value) => {
try {
step(generator.throw(value));
} catch (e) {
reject(e);
}
};
var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
step((generator = generator.apply(__this, __arguments)).next());
});
};
/* harmony default export */ var ResetPassword = (() => {
const panelProps = {
getCode: service/* getValidateCode */.o1,
callback: (values) => ResetPassword_async(void 0, null, function* () {
const response = yield (0,service/* resetPassword */.c0)(values);
return response;
}),
validateName: service/* validateName */.Ol
};
return /* @__PURE__ */ _react_17_0_2_react.createElement(ResetPasswordPanel, ResetPassword_spreadValues({}, panelProps));
});
/***/ })
}]);