|
|
"use strict";
|
|
|
(self["webpackChunk"] = self["webpackChunk"] || []).push([[62577],{
|
|
|
|
|
|
/***/ 51450:
|
|
|
/*!*****************************************************************!*\
|
|
|
!*** ./src/components/User/RegisterPanel/index.tsx + 1 modules ***!
|
|
|
\*****************************************************************/
|
|
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
|
|
|
|
|
|
|
// EXPORTS
|
|
|
__webpack_require__.d(__webpack_exports__, {
|
|
|
Z: function() { return /* binding */ RegisterPanel; }
|
|
|
});
|
|
|
|
|
|
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/regeneratorRuntime.js
|
|
|
var regeneratorRuntime = __webpack_require__(7557);
|
|
|
var regeneratorRuntime_default = /*#__PURE__*/__webpack_require__.n(regeneratorRuntime);
|
|
|
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/asyncToGenerator.js
|
|
|
var asyncToGenerator = __webpack_require__(41498);
|
|
|
var asyncToGenerator_default = /*#__PURE__*/__webpack_require__.n(asyncToGenerator);
|
|
|
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/slicedToArray.js
|
|
|
var slicedToArray = __webpack_require__(79800);
|
|
|
var slicedToArray_default = /*#__PURE__*/__webpack_require__.n(slicedToArray);
|
|
|
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/objectSpread2.js
|
|
|
var objectSpread2 = __webpack_require__(82242);
|
|
|
var objectSpread2_default = /*#__PURE__*/__webpack_require__.n(objectSpread2);
|
|
|
// 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.12.8@antd/es/form/index.js + 19 modules
|
|
|
var es_form = __webpack_require__(1371);
|
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.12.8@antd/es/message/index.js + 4 modules
|
|
|
var es_message = __webpack_require__(47130);
|
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.12.8@antd/es/input/index.js + 5 modules
|
|
|
var input = __webpack_require__(81726);
|
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.12.8@antd/es/button/index.js + 8 modules
|
|
|
var es_button = __webpack_require__(11103);
|
|
|
// EXTERNAL MODULE: ./node_modules/_antd@5.12.8@antd/es/checkbox/index.js + 3 modules
|
|
|
var es_checkbox = __webpack_require__(24095);
|
|
|
// EXTERNAL MODULE: ./src/components/User/RegisterPanel/unlock.tsx + 1 modules
|
|
|
var unlock = __webpack_require__(37229);
|
|
|
// EXTERNAL MODULE: ./src/utils/util.tsx
|
|
|
var util = __webpack_require__(88123);
|
|
|
// EXTERNAL MODULE: ./src/.umi-production/exports.ts + 14 modules
|
|
|
var _umi_production_exports = __webpack_require__(78000);
|
|
|
;// CONCATENATED MODULE: ./src/components/User/RegisterPanel/index.less?modules
|
|
|
// extracted by mini-css-extract-plugin
|
|
|
/* harmony default export */ var RegisterPanelmodules = ({"wrap":"wrap___FgHHn","formWrapper":"formWrapper___FFsPt","link":"link___Z6mDj","serviceTerms":"serviceTerms___VjOD1"});
|
|
|
// EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/jsx-runtime.js
|
|
|
var jsx_runtime = __webpack_require__(37712);
|
|
|
;// CONCATENATED MODULE: ./src/components/User/RegisterPanel/index.tsx
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var inputStyle = {
|
|
|
height: 46,
|
|
|
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();
|
|
|
}
|
|
|
}
|
|
|
var RegisterComponent = function RegisterComponent(_ref) {
|
|
|
var _globalSetting$settin, _globalSetting$settin2;
|
|
|
var validateName = _ref.validateName,
|
|
|
getCode = _ref.getCode,
|
|
|
register = _ref.register,
|
|
|
_ref$style = _ref.style,
|
|
|
style = _ref$style === void 0 ? {} : _ref$style,
|
|
|
_ref$buttonText = _ref.buttonText,
|
|
|
buttonText = _ref$buttonText === void 0 ? '注册' : _ref$buttonText,
|
|
|
globalSetting = _ref.globalSetting;
|
|
|
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, password, code, _yield$register, message, status, addinfo, href;
|
|
|
return regeneratorRuntime_default()().wrap(function _callee2$(_context2) {
|
|
|
while (1) switch (_context2.prev = _context2.next) {
|
|
|
case 0:
|
|
|
login = values.login, password = values.password, code = values.code;
|
|
|
_context2.next = 3;
|
|
|
return register({
|
|
|
login: login,
|
|
|
password: password,
|
|
|
code: code
|
|
|
});
|
|
|
case 3:
|
|
|
_yield$register = _context2.sent;
|
|
|
message = _yield$register.message;
|
|
|
status = _yield$register.status;
|
|
|
if (!(status < 0)) {
|
|
|
_context2.next = 9;
|
|
|
break;
|
|
|
}
|
|
|
form.setFields([{
|
|
|
name: 'code',
|
|
|
errors: [message]
|
|
|
}]);
|
|
|
return _context2.abrupt("return");
|
|
|
case 9:
|
|
|
localStorage.removeItem('extension-modal');
|
|
|
es_message/* default */.ZP.info('注册成功');
|
|
|
addinfo = localStorage.getItem('addinfo');
|
|
|
if (addinfo === '2') {
|
|
|
localStorage.setItem('addinfo', '2');
|
|
|
href = localStorage.getItem('classromeurl');
|
|
|
_umi_production_exports.history.replace(href);
|
|
|
} else {
|
|
|
_umi_production_exports.history.replace('/');
|
|
|
}
|
|
|
case 13:
|
|
|
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: 1
|
|
|
});
|
|
|
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: 1,
|
|
|
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) {
|
|
|
if (!value) {
|
|
|
return Promise.resolve();
|
|
|
}
|
|
|
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位密码,区分大小写、不能使用空格');
|
|
|
}
|
|
|
}
|
|
|
var verifyValidate = function verifyValidate(_, value) {
|
|
|
return value ? Promise.resolve() : Promise.reject('请拖动滑块验证');
|
|
|
};
|
|
|
(0,_react_17_0_2_react.useEffect)(function () {
|
|
|
if (timer > 0) {
|
|
|
setTimeout(function () {
|
|
|
dispatch({
|
|
|
type: Types.setTimer,
|
|
|
payload: timer - 1
|
|
|
});
|
|
|
}, 1000);
|
|
|
}
|
|
|
}, [timer]);
|
|
|
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: RegisterPanelmodules.wrap,
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsxs)(es_form/* default */.Z, {
|
|
|
layout: "vertical",
|
|
|
form: form,
|
|
|
className: RegisterPanelmodules.formWrapper,
|
|
|
style: style,
|
|
|
initialValues: {
|
|
|
autologin: true,
|
|
|
protool: false
|
|
|
},
|
|
|
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,
|
|
|
autoComplete: "new-login",
|
|
|
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
|
|
|
})
|
|
|
}), !(globalSetting !== null && globalSetting !== void 0 && (_globalSetting$settin = globalSetting.setting) !== null && _globalSetting$settin !== void 0 && _globalSetting$settin.is_local) && /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
|
|
|
label: "\u9A8C\u8BC1\u7801",
|
|
|
required: false,
|
|
|
name: "code",
|
|
|
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, {
|
|
|
label: "\u5BC6\u7801",
|
|
|
name: "password",
|
|
|
required: false,
|
|
|
rules: [{
|
|
|
required: true,
|
|
|
message: '请输入8-16位密码,区分大小写、不能使用空格'
|
|
|
}, {
|
|
|
validator: validatePassword
|
|
|
}],
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(input/* default */.Z.Password, {
|
|
|
autoComplete: "new-password",
|
|
|
style: inputStyle,
|
|
|
size: 'middle',
|
|
|
placeholder: "\u8F93\u51658\uFF5E16\u4F4D\u5BC6\u7801\uFF0C\u533A\u5206\u5927\u5C0F\u5199",
|
|
|
visibilityToggle: false
|
|
|
})
|
|
|
}), !(globalSetting !== null && globalSetting !== void 0 && (_globalSetting$settin2 = globalSetting.setting) !== null && _globalSetting$settin2 !== void 0 && _globalSetting$settin2.is_local) && /*#__PURE__*/(0,jsx_runtime.jsxs)(es_form/* default */.Z.Item, {
|
|
|
className: RegisterPanelmodules.serviceTerms,
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, {
|
|
|
noStyle: true,
|
|
|
name: "protool",
|
|
|
valuePropName: "checked",
|
|
|
rules: [{
|
|
|
validator: function validator(_, value) {
|
|
|
return value ? Promise.resolve() : Promise.reject('请同意《服务协议条款》');
|
|
|
}
|
|
|
}],
|
|
|
children: /*#__PURE__*/(0,jsx_runtime.jsx)(es_checkbox/* default */.Z, {
|
|
|
style: {
|
|
|
marginRight: 10
|
|
|
}
|
|
|
})
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("span", {
|
|
|
style: {
|
|
|
color: '#666666',
|
|
|
fontSize: 14
|
|
|
},
|
|
|
children: "\u6211\u5DF2\u9605\u8BFB\u5E76\u540C\u610F"
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("a", {
|
|
|
className: "font14",
|
|
|
href: "https://engineer.educoder.net/help?index=4",
|
|
|
target: "_blank",
|
|
|
children: "\u300A\u670D\u52A1\u534F\u8BAE\u6761\u6B3E\u300B"
|
|
|
})]
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsxs)(es_button/* default */.ZP, {
|
|
|
size: 'middle',
|
|
|
type: "primary",
|
|
|
htmlType: "submit",
|
|
|
block: true,
|
|
|
style: inputStyle,
|
|
|
className: "font16",
|
|
|
children: [" ", buttonText, " "]
|
|
|
})]
|
|
|
})
|
|
|
});
|
|
|
};
|
|
|
/* harmony default export */ var RegisterPanel = ((0,_umi_production_exports.connect)(function (_ref3) {
|
|
|
var globalSetting = _ref3.globalSetting;
|
|
|
return {
|
|
|
globalSetting: globalSetting
|
|
|
};
|
|
|
})(RegisterComponent));
|
|
|
|
|
|
/***/ }),
|
|
|
|
|
|
/***/ 37229:
|
|
|
/*!******************************************************************!*\
|
|
|
!*** ./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/_@babel_runtime@7.23.6@@babel/runtime/helpers/regeneratorRuntime.js
|
|
|
var regeneratorRuntime = __webpack_require__(7557);
|
|
|
var regeneratorRuntime_default = /*#__PURE__*/__webpack_require__.n(regeneratorRuntime);
|
|
|
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/asyncToGenerator.js
|
|
|
var asyncToGenerator = __webpack_require__(41498);
|
|
|
var asyncToGenerator_default = /*#__PURE__*/__webpack_require__.n(asyncToGenerator);
|
|
|
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/slicedToArray.js
|
|
|
var slicedToArray = __webpack_require__(79800);
|
|
|
var slicedToArray_default = /*#__PURE__*/__webpack_require__.n(slicedToArray);
|
|
|
// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/objectSpread2.js
|
|
|
var objectSpread2 = __webpack_require__(82242);
|
|
|
var objectSpread2_default = /*#__PURE__*/__webpack_require__.n(objectSpread2);
|
|
|
// 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__(88123);
|
|
|
// EXTERNAL MODULE: ./node_modules/_react@17.0.2@react/jsx-runtime.js
|
|
|
var jsx_runtime = __webpack_require__(37712);
|
|
|
;// CONCATENATED MODULE: ./src/components/User/RegisterPanel/unlock.tsx
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var initialState = {
|
|
|
moveX: 0,
|
|
|
verify: 0
|
|
|
};
|
|
|
var Types = /*#__PURE__*/function (Types) {
|
|
|
Types[Types["SET_MOVEX"] = 0] = "SET_MOVEX";
|
|
|
Types[Types["VERIFY"] = 1] = "VERIFY";
|
|
|
return Types;
|
|
|
}(Types || {});
|
|
|
function reducer(state, action) {
|
|
|
switch (action.type) {
|
|
|
case Types.SET_MOVEX:
|
|
|
return objectSpread2_default()(objectSpread2_default()({}, state), {}, {
|
|
|
moveX: action.payload
|
|
|
});
|
|
|
case Types.VERIFY:
|
|
|
return objectSpread2_default()(objectSpread2_default()({}, state), action.payload);
|
|
|
default:
|
|
|
throw new Error();
|
|
|
}
|
|
|
}
|
|
|
|
|
|
//antd 自定义表单项
|
|
|
/* harmony default export */ var unlock = (function (_ref) {
|
|
|
var value = _ref.value,
|
|
|
onChange = _ref.onChange,
|
|
|
onValidate = _ref.onValidate;
|
|
|
var _useReducer = (0,_react_17_0_2_react.useReducer)(reducer, initialState),
|
|
|
_useReducer2 = slicedToArray_default()(_useReducer, 2),
|
|
|
state = _useReducer2[0],
|
|
|
dispatch = _useReducer2[1];
|
|
|
var moveX = state.moveX,
|
|
|
verify = state.verify;
|
|
|
var handlerEl = (0,_react_17_0_2_react.useRef)();
|
|
|
var wrapperEL = (0,_react_17_0_2_react.useRef)();
|
|
|
var bgEl = (0,_react_17_0_2_react.useRef)();
|
|
|
var startDrag = (0,_react_17_0_2_react.useRef)();
|
|
|
var wrapperRect = (0,_react_17_0_2_react.useMemo)(function () {
|
|
|
if (wrapperEL.current) {
|
|
|
return wrapperEL.current.getBoundingClientRect();
|
|
|
}
|
|
|
}, [wrapperEL.current]);
|
|
|
(0,_react_17_0_2_react.useEffect)(function () {
|
|
|
if (wrapperRect) {
|
|
|
var onMove = /*#__PURE__*/function () {
|
|
|
var _ref2 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee(e) {
|
|
|
var pageX;
|
|
|
return regeneratorRuntime_default()().wrap(function _callee$(_context) {
|
|
|
while (1) switch (_context.prev = _context.next) {
|
|
|
case 0:
|
|
|
if (!startDrag.current) {
|
|
|
_context.next = 15;
|
|
|
break;
|
|
|
}
|
|
|
pageX = e.pageX - left;
|
|
|
if (isMobile) {
|
|
|
pageX = e.changedTouches[0].pageX - left;
|
|
|
}
|
|
|
if (pageX < 0) {
|
|
|
pageX = 0;
|
|
|
}
|
|
|
if (!(pageX >= distance)) {
|
|
|
_context.next = 14;
|
|
|
break;
|
|
|
}
|
|
|
startDrag.current = false;
|
|
|
pageX = distance;
|
|
|
_context.next = 9;
|
|
|
return onValidate();
|
|
|
case 9:
|
|
|
flag = _context.sent;
|
|
|
dispatch({
|
|
|
type: Types.VERIFY,
|
|
|
payload: {
|
|
|
moveX: pageX,
|
|
|
verify: flag
|
|
|
}
|
|
|
});
|
|
|
onChange(flag);
|
|
|
_context.next = 15;
|
|
|
break;
|
|
|
case 14:
|
|
|
dispatch({
|
|
|
type: Types.SET_MOVEX,
|
|
|
payload: pageX
|
|
|
});
|
|
|
case 15:
|
|
|
case "end":
|
|
|
return _context.stop();
|
|
|
}
|
|
|
}, _callee);
|
|
|
}));
|
|
|
return function onMove(_x) {
|
|
|
return _ref2.apply(this, arguments);
|
|
|
};
|
|
|
}();
|
|
|
var onMouseUp = function onMouseUp() {
|
|
|
startDrag.current = false;
|
|
|
if (flag === 0) {
|
|
|
handlerEl.current.style.transition = 'left .5s ease';
|
|
|
bgEl.current.style.transition = 'width .5s ease';
|
|
|
dispatch({
|
|
|
type: Types.VERIFY,
|
|
|
payload: {
|
|
|
moveX: 0
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
};
|
|
|
var flag = 0;
|
|
|
var width = wrapperRect.width,
|
|
|
left = wrapperRect.left;
|
|
|
var distance = width - 48;
|
|
|
var isMobile = !(0,util/* isPc */.b9)();
|
|
|
if (!isMobile) {
|
|
|
window.addEventListener('mousemove', onMove);
|
|
|
window.addEventListener('mouseup', onMouseUp);
|
|
|
} else {
|
|
|
window.addEventListener('touchmove', onMove);
|
|
|
window.addEventListener('touchend', onMouseUp);
|
|
|
}
|
|
|
return function () {
|
|
|
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)(function () {
|
|
|
dispatch({
|
|
|
type: Types.VERIFY,
|
|
|
payload: {
|
|
|
verify: value,
|
|
|
moveX: value ? (wrapperRect === null || wrapperRect === void 0 ? void 0 : wrapperRect.width) - 48 : 0
|
|
|
}
|
|
|
});
|
|
|
}, [value]);
|
|
|
function onStartDrag() {
|
|
|
if (!verify) {
|
|
|
startDrag.current = true;
|
|
|
handlerEl.current.style.transition = '';
|
|
|
bgEl.current.style.transition = '';
|
|
|
}
|
|
|
}
|
|
|
return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", {
|
|
|
ref: wrapperEL,
|
|
|
className: "unlock-wrapper",
|
|
|
children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
ref: bgEl,
|
|
|
className: verify === 1 ? 'unlock-error-bg' : 'unlock-bg',
|
|
|
style: {
|
|
|
width: moveX
|
|
|
}
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
className: "unlock-text",
|
|
|
children: verify ? verify === 1 ? '验证失败' : '验证通过' : '拖动滑块至右侧验证'
|
|
|
}), /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
|
|
|
ref: handlerEl,
|
|
|
onTouchStart: onStartDrag,
|
|
|
onMouseDown: onStartDrag,
|
|
|
style: {
|
|
|
left: moveX
|
|
|
},
|
|
|
className: "unlock-handler",
|
|
|
children: verify ? verify === 1 ? /*#__PURE__*/(0,jsx_runtime.jsx)(CloseOutlined/* default */.Z, {}) : /*#__PURE__*/(0,jsx_runtime.jsx)(CheckOutlined/* default */.Z, {}) : /*#__PURE__*/(0,jsx_runtime.jsx)(DoubleRightOutlined/* default */.Z, {})
|
|
|
})]
|
|
|
});
|
|
|
});
|
|
|
|
|
|
/***/ }),
|
|
|
|
|
|
/***/ 13254:
|
|
|
/*!********************************************!*\
|
|
|
!*** ./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 */ ry: function() { return /* binding */ wechatRegister; },
|
|
|
/* harmony export */ z2: function() { return /* binding */ register; }
|
|
|
/* harmony export */ });
|
|
|
/* harmony import */ var _utils_fetch__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @/utils/fetch */ 78092);
|
|
|
|
|
|
//type 1 表示用户注册 2 忘记密码 3 绑定手机/邮箱
|
|
|
function validateName(params) {
|
|
|
return (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_0__/* .get */ .U2)('accounts/valid_email_and_phone.json', params);
|
|
|
}
|
|
|
//type 1:用户注册注册 2:忘记密码 3:绑定手机 4: 绑定邮箱,5: 验收手机号有效
|
|
|
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 (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_0__/* .post */ .v_)('weapps/register.json', params);
|
|
|
}
|
|
|
function resetPassword(params) {
|
|
|
return (0,_utils_fetch__WEBPACK_IMPORTED_MODULE_0__/* .post */ .v_)('accounts/reset_password.json', params);
|
|
|
}
|
|
|
|
|
|
/***/ })
|
|
|
|
|
|
}]); |