component-sanzhizhou 1.2.0 → 1.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/auth-main/account.d.ts +1 -1
- package/dist/auth-main/account.js +28 -14
- package/dist/auth-main/forgot-password.js +12 -12
- package/dist/auth-main/human-verify.d.ts +12 -0
- package/dist/auth-main/human-verify.js +89 -0
- package/dist/auth-main/index.js +12 -9
- package/dist/auth-main/index.module.less +178 -0
- package/dist/auth-main/login.d.ts +1 -0
- package/dist/auth-main/login.js +39 -11
- package/dist/auth-main/phone-code.d.ts +2 -1
- package/dist/auth-main/phone-code.js +62 -38
- package/dist/auth-main/pow.js +21 -9
- package/dist/auth-main/register.js +6 -5
- package/dist/auth-main/types.d.ts +2 -0
- package/dist/auth-main/wechat-qr.js +13 -11
- package/dist/locales/ar-EG.json +24 -1
- package/dist/locales/de-DE.json +24 -1
- package/dist/locales/en-US.json +24 -1
- package/dist/locales/es-ES.json +24 -1
- package/dist/locales/fr-FR.json +24 -1
- package/dist/locales/it-IT.json +24 -1
- package/dist/locales/ja-JP.json +24 -1
- package/dist/locales/ko-KR.json +24 -1
- package/dist/locales/pt-PT.json +24 -1
- package/dist/locales/ru-RU.json +24 -1
- package/dist/locales/th-TH.json +24 -1
- package/dist/locales/vi-VN.json +24 -1
- package/dist/locales/zh-CN.json +22 -1
- package/dist/locales/zh-HK.json +29 -6
- package/dist/locales/zh-TW.json +29 -6
- package/dist/service/api/AuthController.d.ts +3 -0
- package/dist/service/api/AuthController.js +6 -6
- package/package.json +1 -1
- package/dist/auth-main/index.css.d.ts +0 -8
- package/dist/auth-main/index.css.js +0 -19
|
@@ -7,16 +7,19 @@ import { SafetyOutlined } from '@ant-design/icons';
|
|
|
7
7
|
import Tool from "../lib/Tool";
|
|
8
8
|
import formatMessage from "../lib/formatMessage";
|
|
9
9
|
import * as AuthController from "../service/api/AuthController";
|
|
10
|
-
import
|
|
10
|
+
import HumanVerify from "./human-verify";
|
|
11
|
+
import styles from "./index.module.less";
|
|
11
12
|
var phoneReg = /^1\d{10}$/;
|
|
12
|
-
/**
|
|
13
|
+
/** 人机验证 + 手机验证码 + 发送按钮(含倒计时)。 */
|
|
13
14
|
var PhoneCode = function PhoneCode(_ref) {
|
|
14
|
-
var
|
|
15
|
+
var formSpan = _ref.formSpan,
|
|
16
|
+
form = _ref.form,
|
|
15
17
|
scene = _ref.scene,
|
|
16
18
|
env = _ref.env,
|
|
17
19
|
apiUrl = _ref.apiUrl,
|
|
18
20
|
disabledFormItemLabel = _ref.disabledFormItemLabel;
|
|
19
21
|
var accountName = Form.useWatch('accountName', form);
|
|
22
|
+
var phone = (accountName || '').replace(/\s+/g, '');
|
|
20
23
|
var _useState = useState(0),
|
|
21
24
|
_useState2 = _slicedToArray(_useState, 2),
|
|
22
25
|
countdown = _useState2[0],
|
|
@@ -25,6 +28,14 @@ var PhoneCode = function PhoneCode(_ref) {
|
|
|
25
28
|
_useState4 = _slicedToArray(_useState3, 2),
|
|
26
29
|
sending = _useState4[0],
|
|
27
30
|
setSending = _useState4[1];
|
|
31
|
+
var _useState5 = useState(''),
|
|
32
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
33
|
+
challenge = _useState6[0],
|
|
34
|
+
setChallenge = _useState6[1];
|
|
35
|
+
var _useState7 = useState(''),
|
|
36
|
+
_useState8 = _slicedToArray(_useState7, 2),
|
|
37
|
+
nonce = _useState8[0],
|
|
38
|
+
setNonce = _useState8[1];
|
|
28
39
|
useEffect(function () {
|
|
29
40
|
if (countdown <= 0) {
|
|
30
41
|
return;
|
|
@@ -38,72 +49,85 @@ var PhoneCode = function PhoneCode(_ref) {
|
|
|
38
49
|
return clearTimeout(timer);
|
|
39
50
|
};
|
|
40
51
|
}, [countdown]);
|
|
52
|
+
|
|
53
|
+
// 手机号变化时,之前的验证结果失效
|
|
54
|
+
useEffect(function () {
|
|
55
|
+
setChallenge('');
|
|
56
|
+
setNonce('');
|
|
57
|
+
}, [phone]);
|
|
58
|
+
var onVerified = function onVerified(c, n) {
|
|
59
|
+
setChallenge(c);
|
|
60
|
+
setNonce(n);
|
|
61
|
+
};
|
|
41
62
|
var onSendCode = /*#__PURE__*/function () {
|
|
42
63
|
var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
|
|
43
|
-
var phone, challengeData, nonce;
|
|
44
64
|
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
45
65
|
while (1) switch (_context.prev = _context.next) {
|
|
46
66
|
case 0:
|
|
47
|
-
phone = (accountName || '').replace(/\s+/g, '');
|
|
48
67
|
if (phoneReg.test(phone)) {
|
|
49
|
-
_context.next =
|
|
68
|
+
_context.next = 3;
|
|
50
69
|
break;
|
|
51
70
|
}
|
|
52
71
|
Tool.toastError(formatMessage('请输入正确的手机号码'));
|
|
53
72
|
return _context.abrupt("return");
|
|
54
|
-
case
|
|
73
|
+
case 3:
|
|
74
|
+
if (!(!challenge || !nonce)) {
|
|
75
|
+
_context.next = 6;
|
|
76
|
+
break;
|
|
77
|
+
}
|
|
78
|
+
Tool.toastError(formatMessage('请先完成人机验证'));
|
|
79
|
+
return _context.abrupt("return");
|
|
80
|
+
case 6:
|
|
55
81
|
setSending(true);
|
|
56
|
-
_context.prev =
|
|
57
|
-
_context.next =
|
|
58
|
-
return AuthController.powChallenge({
|
|
59
|
-
accountName: phone,
|
|
60
|
-
scene: scene
|
|
61
|
-
}, {
|
|
62
|
-
env: env,
|
|
63
|
-
apiUrl: apiUrl
|
|
64
|
-
});
|
|
65
|
-
case 8:
|
|
66
|
-
challengeData = _context.sent;
|
|
67
|
-
_context.next = 11;
|
|
68
|
-
return solvePow(challengeData.challenge, challengeData.difficulty);
|
|
69
|
-
case 11:
|
|
70
|
-
nonce = _context.sent;
|
|
71
|
-
_context.next = 14;
|
|
82
|
+
_context.prev = 7;
|
|
83
|
+
_context.next = 10;
|
|
72
84
|
return AuthController.sendSmsCode({
|
|
73
85
|
accountName: phone,
|
|
74
86
|
scene: scene,
|
|
75
|
-
challenge:
|
|
87
|
+
challenge: challenge,
|
|
76
88
|
nonce: nonce
|
|
77
89
|
}, {
|
|
78
90
|
env: env,
|
|
79
91
|
apiUrl: apiUrl
|
|
80
92
|
});
|
|
81
|
-
case
|
|
93
|
+
case 10:
|
|
82
94
|
setCountdown(60);
|
|
83
95
|
Tool.toast(formatMessage('验证码已发送'));
|
|
84
|
-
_context.next =
|
|
96
|
+
_context.next = 16;
|
|
85
97
|
break;
|
|
86
|
-
case
|
|
87
|
-
_context.prev =
|
|
88
|
-
_context.t0 = _context["catch"](
|
|
89
|
-
case
|
|
90
|
-
_context.prev =
|
|
98
|
+
case 14:
|
|
99
|
+
_context.prev = 14;
|
|
100
|
+
_context.t0 = _context["catch"](7);
|
|
101
|
+
case 16:
|
|
102
|
+
_context.prev = 16;
|
|
91
103
|
setSending(false);
|
|
92
|
-
return _context.finish(
|
|
93
|
-
case
|
|
104
|
+
return _context.finish(16);
|
|
105
|
+
case 19:
|
|
94
106
|
case "end":
|
|
95
107
|
return _context.stop();
|
|
96
108
|
}
|
|
97
|
-
}, _callee, null, [[
|
|
109
|
+
}, _callee, null, [[7, 14, 16, 19]]);
|
|
98
110
|
}));
|
|
99
111
|
return function onSendCode() {
|
|
100
112
|
return _ref2.apply(this, arguments);
|
|
101
113
|
};
|
|
102
114
|
}();
|
|
103
|
-
return /*#__PURE__*/React.createElement(Form.Item, {
|
|
115
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Form.Item, {
|
|
116
|
+
wrapperCol: {
|
|
117
|
+
offset: formSpan
|
|
118
|
+
},
|
|
119
|
+
className: styles.humanVerifyItem
|
|
120
|
+
}, /*#__PURE__*/React.createElement(HumanVerify, {
|
|
121
|
+
key: phone,
|
|
122
|
+
phone: phone,
|
|
123
|
+
scene: scene,
|
|
124
|
+
env: env,
|
|
125
|
+
apiUrl: apiUrl,
|
|
126
|
+
onVerified: onVerified
|
|
127
|
+
})), /*#__PURE__*/React.createElement(Form.Item, {
|
|
104
128
|
label: disabledFormItemLabel ? undefined : formatMessage('验证码'),
|
|
105
129
|
labelCol: {
|
|
106
|
-
span:
|
|
130
|
+
span: formSpan
|
|
107
131
|
}
|
|
108
132
|
}, /*#__PURE__*/React.createElement(Space.Compact, {
|
|
109
133
|
style: {
|
|
@@ -128,7 +152,7 @@ var PhoneCode = function PhoneCode(_ref) {
|
|
|
128
152
|
})), /*#__PURE__*/React.createElement(Button, {
|
|
129
153
|
onClick: onSendCode,
|
|
130
154
|
loading: sending,
|
|
131
|
-
disabled: countdown > 0
|
|
132
|
-
}, countdown > 0 ? "".concat(countdown, "s") : formatMessage('获取验证码'))));
|
|
155
|
+
disabled: countdown > 0 || !nonce
|
|
156
|
+
}, countdown > 0 ? "".concat(countdown, "s") : formatMessage('获取验证码')))));
|
|
133
157
|
};
|
|
134
158
|
export default PhoneCode;
|
package/dist/auth-main/pow.js
CHANGED
|
@@ -120,37 +120,49 @@ function _solvePow() {
|
|
|
120
120
|
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
121
121
|
while (1) switch (_context.prev = _context.next) {
|
|
122
122
|
case 0:
|
|
123
|
+
if (!(difficulty <= 0)) {
|
|
124
|
+
_context.next = 2;
|
|
125
|
+
break;
|
|
126
|
+
}
|
|
127
|
+
return _context.abrupt("return", '0');
|
|
128
|
+
case 2:
|
|
129
|
+
if (!(difficulty > 64)) {
|
|
130
|
+
_context.next = 4;
|
|
131
|
+
break;
|
|
132
|
+
}
|
|
133
|
+
throw new Error('pow difficulty too high');
|
|
134
|
+
case 4:
|
|
123
135
|
nonce = Math.floor(Math.random() * 0x100000000);
|
|
124
136
|
count = 0; // eslint-disable-next-line no-constant-condition
|
|
125
|
-
case
|
|
137
|
+
case 6:
|
|
126
138
|
if (!true) {
|
|
127
|
-
_context.next =
|
|
139
|
+
_context.next = 18;
|
|
128
140
|
break;
|
|
129
141
|
}
|
|
130
142
|
candidate = nonce.toString(36);
|
|
131
143
|
hash = sha256Hex("".concat(challenge, ".").concat(candidate));
|
|
132
144
|
if (!(leadingZeroBits(hash) >= difficulty)) {
|
|
133
|
-
_context.next =
|
|
145
|
+
_context.next = 11;
|
|
134
146
|
break;
|
|
135
147
|
}
|
|
136
148
|
return _context.abrupt("return", candidate);
|
|
137
|
-
case
|
|
149
|
+
case 11:
|
|
138
150
|
nonce = nonce + 1 >>> 0;
|
|
139
151
|
count++;
|
|
140
152
|
|
|
141
153
|
// 每 3000 次让出主线程,避免卡 UI
|
|
142
154
|
if (!(count % 3000 === 0)) {
|
|
143
|
-
_context.next =
|
|
155
|
+
_context.next = 16;
|
|
144
156
|
break;
|
|
145
157
|
}
|
|
146
|
-
_context.next =
|
|
158
|
+
_context.next = 16;
|
|
147
159
|
return new Promise(function (resolve) {
|
|
148
160
|
return setTimeout(resolve, 0);
|
|
149
161
|
});
|
|
150
|
-
case
|
|
151
|
-
_context.next =
|
|
162
|
+
case 16:
|
|
163
|
+
_context.next = 6;
|
|
152
164
|
break;
|
|
153
|
-
case
|
|
165
|
+
case 18:
|
|
154
166
|
case "end":
|
|
155
167
|
return _context.stop();
|
|
156
168
|
}
|
|
@@ -42,9 +42,7 @@ var Register = function Register(_ref) {
|
|
|
42
42
|
values.accountName = (values.accountName || '').replace(/\s+/g, '');
|
|
43
43
|
run(values);
|
|
44
44
|
};
|
|
45
|
-
return /*#__PURE__*/React.createElement("section", {
|
|
46
|
-
className: "authMainReg"
|
|
47
|
-
}, /*#__PURE__*/React.createElement(Form, {
|
|
45
|
+
return /*#__PURE__*/React.createElement("section", null, /*#__PURE__*/React.createElement(Form, {
|
|
48
46
|
form: form,
|
|
49
47
|
onFinish: onFinish,
|
|
50
48
|
disabled: loading,
|
|
@@ -68,6 +66,7 @@ var Register = function Register(_ref) {
|
|
|
68
66
|
className: "input-prefix-icon"
|
|
69
67
|
})
|
|
70
68
|
})), /*#__PURE__*/React.createElement(PhoneCode, {
|
|
69
|
+
formSpan: 8,
|
|
71
70
|
form: form,
|
|
72
71
|
scene: "reg",
|
|
73
72
|
env: env,
|
|
@@ -130,8 +129,10 @@ var Register = function Register(_ref) {
|
|
|
130
129
|
iconRender: function iconRender(visible) {
|
|
131
130
|
return visible ? /*#__PURE__*/React.createElement(EyeTwoTone, null) : /*#__PURE__*/React.createElement(EyeInvisibleOutlined, null);
|
|
132
131
|
}
|
|
133
|
-
})), /*#__PURE__*/React.createElement(
|
|
134
|
-
|
|
132
|
+
})), /*#__PURE__*/React.createElement(Form.Item, {
|
|
133
|
+
wrapperCol: {
|
|
134
|
+
offset: 8
|
|
135
|
+
}
|
|
135
136
|
}, /*#__PURE__*/React.createElement(Button, {
|
|
136
137
|
type: "primary",
|
|
137
138
|
loading: loading,
|
|
@@ -14,7 +14,7 @@ import { getApiEnv } from "../lib/getApiUrl";
|
|
|
14
14
|
import Tool from "../lib/Tool";
|
|
15
15
|
import formatMessage from "../lib/formatMessage";
|
|
16
16
|
import h5WePublicLogin from "../AuthClient/qr/h5-we-public-login";
|
|
17
|
-
import styles from "./index.
|
|
17
|
+
import styles from "./index.module.less";
|
|
18
18
|
var reTryMaxCount = 120;
|
|
19
19
|
var reTryTimeLoop = 1000; // ms
|
|
20
20
|
var FromWhere = 'web';
|
|
@@ -196,27 +196,29 @@ var WechatQr = function WechatQr(_ref) {
|
|
|
196
196
|
onReload: function onReload() {
|
|
197
197
|
return onRetryWeQr();
|
|
198
198
|
}
|
|
199
|
-
}, /*#__PURE__*/React.createElement(
|
|
200
|
-
className:
|
|
199
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
200
|
+
className: styles.WeQrUrlBox
|
|
201
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
202
|
+
className: styles.qr
|
|
201
203
|
}, !isNextTry && /*#__PURE__*/React.createElement("div", {
|
|
202
|
-
className:
|
|
204
|
+
className: styles.reTry,
|
|
203
205
|
onClick: onRetryWeQr
|
|
204
206
|
}, /*#__PURE__*/React.createElement("a", null, /*#__PURE__*/React.createElement(RedoOutlined, null))), /*#__PURE__*/React.createElement("div", {
|
|
205
|
-
className:
|
|
207
|
+
className: styles.weQrUrl
|
|
206
208
|
}, /*#__PURE__*/React.createElement(QRCode, {
|
|
207
209
|
value: weQrUrl,
|
|
208
210
|
fgColor: "#0bc160",
|
|
209
211
|
size: 230
|
|
210
212
|
}))), Platform.isH5 ? /*#__PURE__*/React.createElement("div", {
|
|
211
|
-
className:
|
|
213
|
+
className: styles.altWeb
|
|
212
214
|
}, /*#__PURE__*/React.createElement("div", {
|
|
213
|
-
className:
|
|
214
|
-
},
|
|
215
|
-
className:
|
|
215
|
+
className: styles.titles
|
|
216
|
+
}, formatMessage('下面任选一个方法都可以登录:')), /*#__PURE__*/React.createElement("ul", null, /*#__PURE__*/React.createElement("li", null, formatMessage('1、把本页网址复制到微信里面打开')), /*#__PURE__*/React.createElement("li", null, formatMessage('2、请用微信扫码登录')), /*#__PURE__*/React.createElement("li", null, formatMessage('3、把本页网址复制到微信里面打开')))) : /*#__PURE__*/React.createElement("div", {
|
|
217
|
+
className: styles.alt
|
|
216
218
|
}))), /*#__PURE__*/React.createElement("div", {
|
|
217
|
-
className:
|
|
219
|
+
className: styles.percent
|
|
218
220
|
}, /*#__PURE__*/React.createElement("div", {
|
|
219
|
-
className:
|
|
221
|
+
className: styles.warp,
|
|
220
222
|
style: {
|
|
221
223
|
width: "".concat(reTryCount / reTryMaxCount * 100, "%")
|
|
222
224
|
}
|
package/dist/locales/ar-EG.json
CHANGED
|
@@ -33,5 +33,28 @@
|
|
|
33
33
|
"重试": "إعادة المحاولة",
|
|
34
34
|
"充值就送": "عروض الشحن",
|
|
35
35
|
"送": "هدية",
|
|
36
|
-
"选择": "اختر"
|
|
36
|
+
"选择": "اختر",
|
|
37
|
+
"微信": "WeChat",
|
|
38
|
+
"忘记密码": "نسيت كلمة المرور",
|
|
39
|
+
"找回密码": "استعادة كلمة المرور",
|
|
40
|
+
"新密码": "كلمة مرور جديدة",
|
|
41
|
+
"重置密码": "إعادة تعيين كلمة المرور",
|
|
42
|
+
"验证码": "رمز التحقق",
|
|
43
|
+
"获取验证码": "الحصول على الرمز",
|
|
44
|
+
"请输入验证码": "يرجى إدخال رمز التحقق",
|
|
45
|
+
"验证码为6位数字": "رمز التحقق يتكون من 6 أرقام",
|
|
46
|
+
"验证码已发送": "تم إرسال رمز التحقق",
|
|
47
|
+
"请输入正确的手机号码": "يرجى إدخال رقم هاتف صحيح",
|
|
48
|
+
"请先完成人机验证": "يرجى إكمال التحقق أولاً",
|
|
49
|
+
"我不是机器人": "لست روبوتًا",
|
|
50
|
+
"人机校验中": "جارٍ التحقق",
|
|
51
|
+
"验证通过": "تم التحقق",
|
|
52
|
+
"密码已重置,请登录": "تمت إعادة تعيين كلمة المرور، يرجى تسجيل الدخول",
|
|
53
|
+
"两次输入的密码不一致": "كلمتا المرور غير متطابقتين",
|
|
54
|
+
"下面任选一个方法都可以登录:": "اختر أي طريقة أدناه لتسجيل الدخول:",
|
|
55
|
+
"1、把本页网址复制到微信里面打开": "1. انسخ رابط هذه الصفحة وافتحه في WeChat",
|
|
56
|
+
"2、请用微信扫码登录": "2. امسح رمز QR باستخدام WeChat لتسجيل الدخول",
|
|
57
|
+
"3、把本页网址复制到微信里面打开": "3. انسخ رابط هذه الصفحة وافتحه في WeChat",
|
|
58
|
+
"名称": "الاسم",
|
|
59
|
+
"优惠券": "قسيمة"
|
|
37
60
|
}
|
package/dist/locales/de-DE.json
CHANGED
|
@@ -33,5 +33,28 @@
|
|
|
33
33
|
"重试": "Wiederholen",
|
|
34
34
|
"充值就送": "Auflade-Bonus",
|
|
35
35
|
"送": "Bonus",
|
|
36
|
-
"选择": "Auswählen"
|
|
36
|
+
"选择": "Auswählen",
|
|
37
|
+
"微信": "WeChat",
|
|
38
|
+
"忘记密码": "Passwort vergessen",
|
|
39
|
+
"找回密码": "Passwort zurücksetzen",
|
|
40
|
+
"新密码": "Neues Passwort",
|
|
41
|
+
"重置密码": "Passwort zurücksetzen",
|
|
42
|
+
"验证码": "Bestätigungscode",
|
|
43
|
+
"获取验证码": "Code anfordern",
|
|
44
|
+
"请输入验证码": "Bitte Bestätigungscode eingeben",
|
|
45
|
+
"验证码为6位数字": "Der Bestätigungscode besteht aus 6 Ziffern",
|
|
46
|
+
"验证码已发送": "Bestätigungscode gesendet",
|
|
47
|
+
"请输入正确的手机号码": "Bitte gültige Mobilnummer eingeben",
|
|
48
|
+
"请先完成人机验证": "Bitte zuerst die Sicherheitsprüfung abschließen",
|
|
49
|
+
"我不是机器人": "Ich bin kein Roboter",
|
|
50
|
+
"人机校验中": "Wird überprüft",
|
|
51
|
+
"验证通过": "Verifiziert",
|
|
52
|
+
"密码已重置,请登录": "Passwort zurückgesetzt, bitte anmelden",
|
|
53
|
+
"两次输入的密码不一致": "Die beiden Passwörter stimmen nicht überein",
|
|
54
|
+
"下面任选一个方法都可以登录:": "Wähle eine der folgenden Methoden zum Anmelden:",
|
|
55
|
+
"1、把本页网址复制到微信里面打开": "1. URL dieser Seite kopieren und in WeChat öffnen",
|
|
56
|
+
"2、请用微信扫码登录": "2. QR-Code mit WeChat scannen, um sich anzumelden",
|
|
57
|
+
"3、把本页网址复制到微信里面打开": "3. URL dieser Seite kopieren und in WeChat öffnen",
|
|
58
|
+
"名称": "Name",
|
|
59
|
+
"优惠券": "Gutschein"
|
|
37
60
|
}
|
package/dist/locales/en-US.json
CHANGED
|
@@ -33,5 +33,28 @@
|
|
|
33
33
|
"重试": "Retry",
|
|
34
34
|
"充值就送": "Recharge Bonus",
|
|
35
35
|
"送": "Bonus",
|
|
36
|
-
"选择": "Select"
|
|
36
|
+
"选择": "Select",
|
|
37
|
+
"微信": "WeChat",
|
|
38
|
+
"忘记密码": "Forgot Password",
|
|
39
|
+
"找回密码": "Reset Password",
|
|
40
|
+
"新密码": "New Password",
|
|
41
|
+
"重置密码": "Reset Password",
|
|
42
|
+
"验证码": "Verification Code",
|
|
43
|
+
"获取验证码": "Get Code",
|
|
44
|
+
"请输入验证码": "Please enter the verification code",
|
|
45
|
+
"验证码为6位数字": "Verification code is 6 digits",
|
|
46
|
+
"验证码已发送": "Verification code sent",
|
|
47
|
+
"请输入正确的手机号码": "Please enter a valid mobile number",
|
|
48
|
+
"请先完成人机验证": "Please complete the human verification first",
|
|
49
|
+
"我不是机器人": "I'm not a robot",
|
|
50
|
+
"人机校验中": "Verifying",
|
|
51
|
+
"验证通过": "Verified",
|
|
52
|
+
"密码已重置,请登录": "Password reset, please log in",
|
|
53
|
+
"两次输入的密码不一致": "The two passwords do not match",
|
|
54
|
+
"下面任选一个方法都可以登录:": "Use any method below to log in:",
|
|
55
|
+
"1、把本页网址复制到微信里面打开": "1. Copy this page URL and open it in WeChat",
|
|
56
|
+
"2、请用微信扫码登录": "2. Scan the QR code with WeChat to log in",
|
|
57
|
+
"3、把本页网址复制到微信里面打开": "3. Copy this page URL and open it in WeChat",
|
|
58
|
+
"名称": "Name",
|
|
59
|
+
"优惠券": "Coupon"
|
|
37
60
|
}
|
package/dist/locales/es-ES.json
CHANGED
|
@@ -33,5 +33,28 @@
|
|
|
33
33
|
"重试": "Reintentar",
|
|
34
34
|
"充值就送": "Recarga con Regalo",
|
|
35
35
|
"送": "Regalo",
|
|
36
|
-
"选择": "Seleccionar"
|
|
36
|
+
"选择": "Seleccionar",
|
|
37
|
+
"微信": "WeChat",
|
|
38
|
+
"忘记密码": "Olvidé mi contraseña",
|
|
39
|
+
"找回密码": "Recuperar contraseña",
|
|
40
|
+
"新密码": "Nueva contraseña",
|
|
41
|
+
"重置密码": "Restablecer contraseña",
|
|
42
|
+
"验证码": "Código de verificación",
|
|
43
|
+
"获取验证码": "Obtener código",
|
|
44
|
+
"请输入验证码": "Introduce el código de verificación",
|
|
45
|
+
"验证码为6位数字": "El código de verificación tiene 6 dígitos",
|
|
46
|
+
"验证码已发送": "Código de verificación enviado",
|
|
47
|
+
"请输入正确的手机号码": "Introduce un número de móvil válido",
|
|
48
|
+
"请先完成人机验证": "Completa primero la verificación de seguridad",
|
|
49
|
+
"我不是机器人": "No soy un robot",
|
|
50
|
+
"人机校验中": "Verificando",
|
|
51
|
+
"验证通过": "Verificado",
|
|
52
|
+
"密码已重置,请登录": "Contraseña restablecida, inicia sesión",
|
|
53
|
+
"两次输入的密码不一致": "Las contraseñas no coinciden",
|
|
54
|
+
"下面任选一个方法都可以登录:": "Elige cualquier método de abajo para iniciar sesión:",
|
|
55
|
+
"1、把本页网址复制到微信里面打开": "1. Copia la URL de esta página y ábrela en WeChat",
|
|
56
|
+
"2、请用微信扫码登录": "2. Escanea el código QR con WeChat para iniciar sesión",
|
|
57
|
+
"3、把本页网址复制到微信里面打开": "3. Copia la URL de esta página y ábrela en WeChat",
|
|
58
|
+
"名称": "Nombre",
|
|
59
|
+
"优惠券": "Cupón"
|
|
37
60
|
}
|
package/dist/locales/fr-FR.json
CHANGED
|
@@ -33,5 +33,28 @@
|
|
|
33
33
|
"重试": "Réessayer",
|
|
34
34
|
"充值就送": "Recharge Bonus",
|
|
35
35
|
"送": "Bonus",
|
|
36
|
-
"选择": "Sélectionner"
|
|
36
|
+
"选择": "Sélectionner",
|
|
37
|
+
"微信": "WeChat",
|
|
38
|
+
"忘记密码": "Mot de passe oublié",
|
|
39
|
+
"找回密码": "Récupérer le mot de passe",
|
|
40
|
+
"新密码": "Nouveau mot de passe",
|
|
41
|
+
"重置密码": "Réinitialiser le mot de passe",
|
|
42
|
+
"验证码": "Code de vérification",
|
|
43
|
+
"获取验证码": "Obtenir le code",
|
|
44
|
+
"请输入验证码": "Veuillez saisir le code de vérification",
|
|
45
|
+
"验证码为6位数字": "Le code de vérification comporte 6 chiffres",
|
|
46
|
+
"验证码已发送": "Code de vérification envoyé",
|
|
47
|
+
"请输入正确的手机号码": "Veuillez saisir un numéro de mobile valide",
|
|
48
|
+
"请先完成人机验证": "Veuillez d'abord terminer la vérification",
|
|
49
|
+
"我不是机器人": "Je ne suis pas un robot",
|
|
50
|
+
"人机校验中": "Vérification",
|
|
51
|
+
"验证通过": "Vérifié",
|
|
52
|
+
"密码已重置,请登录": "Mot de passe réinitialisé, veuillez vous connecter",
|
|
53
|
+
"两次输入的密码不一致": "Les deux mots de passe ne correspondent pas",
|
|
54
|
+
"下面任选一个方法都可以登录:": "Choisissez l'une des méthodes ci-dessous pour vous connecter :",
|
|
55
|
+
"1、把本页网址复制到微信里面打开": "1. Copiez l'URL de cette page et ouvrez-la dans WeChat",
|
|
56
|
+
"2、请用微信扫码登录": "2. Scannez le QR code avec WeChat pour vous connecter",
|
|
57
|
+
"3、把本页网址复制到微信里面打开": "3. Copiez l'URL de cette page et ouvrez-la dans WeChat",
|
|
58
|
+
"名称": "Nom",
|
|
59
|
+
"优惠券": "Coupon"
|
|
37
60
|
}
|
package/dist/locales/it-IT.json
CHANGED
|
@@ -33,5 +33,28 @@
|
|
|
33
33
|
"重试": "Riprova",
|
|
34
34
|
"充值就送": "Bonus Ricarica",
|
|
35
35
|
"送": "Bonus",
|
|
36
|
-
"选择": "Seleziona"
|
|
36
|
+
"选择": "Seleziona",
|
|
37
|
+
"微信": "WeChat",
|
|
38
|
+
"忘记密码": "Password dimenticata",
|
|
39
|
+
"找回密码": "Recupera password",
|
|
40
|
+
"新密码": "Nuova password",
|
|
41
|
+
"重置密码": "Reimposta password",
|
|
42
|
+
"验证码": "Codice di verifica",
|
|
43
|
+
"获取验证码": "Ottieni codice",
|
|
44
|
+
"请输入验证码": "Inserisci il codice di verifica",
|
|
45
|
+
"验证码为6位数字": "Il codice di verifica è di 6 cifre",
|
|
46
|
+
"验证码已发送": "Codice di verifica inviato",
|
|
47
|
+
"请输入正确的手机号码": "Inserisci un numero di cellulare valido",
|
|
48
|
+
"请先完成人机验证": "Completa prima la verifica",
|
|
49
|
+
"我不是机器人": "Non sono un robot",
|
|
50
|
+
"人机校验中": "Verifica in corso",
|
|
51
|
+
"验证通过": "Verificato",
|
|
52
|
+
"密码已重置,请登录": "Password reimpostata, accedi",
|
|
53
|
+
"两次输入的密码不一致": "Le due password non coincidono",
|
|
54
|
+
"下面任选一个方法都可以登录:": "Scegli uno dei metodi qui sotto per accedere:",
|
|
55
|
+
"1、把本页网址复制到微信里面打开": "1. Copia l'URL di questa pagina e aprilo in WeChat",
|
|
56
|
+
"2、请用微信扫码登录": "2. Scansiona il QR code con WeChat per accedere",
|
|
57
|
+
"3、把本页网址复制到微信里面打开": "3. Copia l'URL di questa pagina e aprilo in WeChat",
|
|
58
|
+
"名称": "Nome",
|
|
59
|
+
"优惠券": "Coupon"
|
|
37
60
|
}
|
package/dist/locales/ja-JP.json
CHANGED
|
@@ -33,5 +33,28 @@
|
|
|
33
33
|
"重试": "再試行",
|
|
34
34
|
"充值就送": "チャージ特典",
|
|
35
35
|
"送": "特典",
|
|
36
|
-
"选择": "選択"
|
|
36
|
+
"选择": "選択",
|
|
37
|
+
"微信": "WeChat",
|
|
38
|
+
"忘记密码": "パスワードをお忘れですか",
|
|
39
|
+
"找回密码": "パスワード再設定",
|
|
40
|
+
"新密码": "新しいパスワード",
|
|
41
|
+
"重置密码": "パスワードを再設定",
|
|
42
|
+
"验证码": "認証コード",
|
|
43
|
+
"获取验证码": "認証コードを取得",
|
|
44
|
+
"请输入验证码": "認証コードを入力してください",
|
|
45
|
+
"验证码为6位数字": "認証コードは6桁の数字です",
|
|
46
|
+
"验证码已发送": "認証コードを送信しました",
|
|
47
|
+
"请输入正确的手机号码": "正しい携帯電話番号を入力してください",
|
|
48
|
+
"请先完成人机验证": "先に本人確認を完了してください",
|
|
49
|
+
"我不是机器人": "私はロボットではありません",
|
|
50
|
+
"人机校验中": "確認中",
|
|
51
|
+
"验证通过": "確認済み",
|
|
52
|
+
"密码已重置,请登录": "パスワードを再設定しました。ログインしてください",
|
|
53
|
+
"两次输入的密码不一致": "2つのパスワードが一致しません",
|
|
54
|
+
"下面任选一个方法都可以登录:": "以下のいずれかの方法でログインできます:",
|
|
55
|
+
"1、把本页网址复制到微信里面打开": "1、このページのURLをコピーしてWeChatで開く",
|
|
56
|
+
"2、请用微信扫码登录": "2、WeChatでQRコードをスキャンしてログイン",
|
|
57
|
+
"3、把本页网址复制到微信里面打开": "3、このページのURLをコピーしてWeChatで開く",
|
|
58
|
+
"名称": "名称",
|
|
59
|
+
"优惠券": "クーポン"
|
|
37
60
|
}
|
package/dist/locales/ko-KR.json
CHANGED
|
@@ -33,5 +33,28 @@
|
|
|
33
33
|
"重试": "재시도",
|
|
34
34
|
"充值就送": "충전 보너스",
|
|
35
35
|
"送": "보너스",
|
|
36
|
-
"选择": "선택"
|
|
36
|
+
"选择": "선택",
|
|
37
|
+
"微信": "WeChat",
|
|
38
|
+
"忘记密码": "비밀번호 찾기",
|
|
39
|
+
"找回密码": "비밀번호 재설정",
|
|
40
|
+
"新密码": "새 비밀번호",
|
|
41
|
+
"重置密码": "비밀번호 재설정",
|
|
42
|
+
"验证码": "인증번호",
|
|
43
|
+
"获取验证码": "인증번호 받기",
|
|
44
|
+
"请输入验证码": "인증번호를 입력하세요",
|
|
45
|
+
"验证码为6位数字": "인증번호는 6자리 숫자입니다",
|
|
46
|
+
"验证码已发送": "인증번호를 보냈습니다",
|
|
47
|
+
"请输入正确的手机号码": "올바른 휴대폰 번호를 입력하세요",
|
|
48
|
+
"请先完成人机验证": "먼저 본인 확인을 완료하세요",
|
|
49
|
+
"我不是机器人": "저는 로봇이 아닙니다",
|
|
50
|
+
"人机校验中": "확인 중",
|
|
51
|
+
"验证通过": "확인 완료",
|
|
52
|
+
"密码已重置,请登录": "비밀번호가 재설정되었습니다. 로그인하세요",
|
|
53
|
+
"两次输入的密码不一致": "두 비밀번호가 일치하지 않습니다",
|
|
54
|
+
"下面任选一个方法都可以登录:": "아래 방법 중 하나로 로그인하세요:",
|
|
55
|
+
"1、把本页网址复制到微信里面打开": "1. 이 페이지 URL을 복사해 WeChat에서 열기",
|
|
56
|
+
"2、请用微信扫码登录": "2. WeChat으로 QR 코드를 스캔해 로그인",
|
|
57
|
+
"3、把本页网址复制到微信里面打开": "3. 이 페이지 URL을 복사해 WeChat에서 열기",
|
|
58
|
+
"名称": "이름",
|
|
59
|
+
"优惠券": "쿠폰"
|
|
37
60
|
}
|
package/dist/locales/pt-PT.json
CHANGED
|
@@ -33,5 +33,28 @@
|
|
|
33
33
|
"重试": "Tentar Novamente",
|
|
34
34
|
"充值就送": "Bónus de Recarga",
|
|
35
35
|
"送": "Bónus",
|
|
36
|
-
"选择": "Selecionar"
|
|
36
|
+
"选择": "Selecionar",
|
|
37
|
+
"微信": "WeChat",
|
|
38
|
+
"忘记密码": "Esqueci a senha",
|
|
39
|
+
"找回密码": "Recuperar senha",
|
|
40
|
+
"新密码": "Nova senha",
|
|
41
|
+
"重置密码": "Redefinir senha",
|
|
42
|
+
"验证码": "Código de verificação",
|
|
43
|
+
"获取验证码": "Obter código",
|
|
44
|
+
"请输入验证码": "Introduza o código de verificação",
|
|
45
|
+
"验证码为6位数字": "O código de verificação tem 6 dígitos",
|
|
46
|
+
"验证码已发送": "Código de verificação enviado",
|
|
47
|
+
"请输入正确的手机号码": "Introduza um número de telemóvel válido",
|
|
48
|
+
"请先完成人机验证": "Conclua primeiro a verificação",
|
|
49
|
+
"我不是机器人": "Não sou um robô",
|
|
50
|
+
"人机校验中": "A verificar",
|
|
51
|
+
"验证通过": "Verificado",
|
|
52
|
+
"密码已重置,请登录": "Senha redefinida, inicie sessão",
|
|
53
|
+
"两次输入的密码不一致": "As duas senhas não coincidem",
|
|
54
|
+
"下面任选一个方法都可以登录:": "Escolha qualquer método abaixo para iniciar sessão:",
|
|
55
|
+
"1、把本页网址复制到微信里面打开": "1. Copie o URL desta página e abra no WeChat",
|
|
56
|
+
"2、请用微信扫码登录": "2. Digitalize o QR code com o WeChat para iniciar sessão",
|
|
57
|
+
"3、把本页网址复制到微信里面打开": "3. Copie o URL desta página e abra no WeChat",
|
|
58
|
+
"名称": "Nome",
|
|
59
|
+
"优惠券": "Cupão"
|
|
37
60
|
}
|
package/dist/locales/ru-RU.json
CHANGED
|
@@ -33,5 +33,28 @@
|
|
|
33
33
|
"重试": "Повторить",
|
|
34
34
|
"充值就送": "Бонус за пополнение",
|
|
35
35
|
"送": "Бонус",
|
|
36
|
-
"选择": "Выбрать"
|
|
36
|
+
"选择": "Выбрать",
|
|
37
|
+
"微信": "WeChat",
|
|
38
|
+
"忘记密码": "Забыли пароль",
|
|
39
|
+
"找回密码": "Восстановить пароль",
|
|
40
|
+
"新密码": "Новый пароль",
|
|
41
|
+
"重置密码": "Сбросить пароль",
|
|
42
|
+
"验证码": "Код подтверждения",
|
|
43
|
+
"获取验证码": "Получить код",
|
|
44
|
+
"请输入验证码": "Введите код подтверждения",
|
|
45
|
+
"验证码为6位数字": "Код подтверждения состоит из 6 цифр",
|
|
46
|
+
"验证码已发送": "Код подтверждения отправлен",
|
|
47
|
+
"请输入正确的手机号码": "Введите корректный номер телефона",
|
|
48
|
+
"请先完成人机验证": "Сначала пройдите проверку",
|
|
49
|
+
"我不是机器人": "Я не робот",
|
|
50
|
+
"人机校验中": "Проверка",
|
|
51
|
+
"验证通过": "Проверено",
|
|
52
|
+
"密码已重置,请登录": "Пароль сброшен, войдите в систему",
|
|
53
|
+
"两次输入的密码不一致": "Пароли не совпадают",
|
|
54
|
+
"下面任选一个方法都可以登录:": "Выберите любой способ входа ниже:",
|
|
55
|
+
"1、把本页网址复制到微信里面打开": "1. Скопируйте URL страницы и откройте в WeChat",
|
|
56
|
+
"2、请用微信扫码登录": "2. Отсканируйте QR-код в WeChat для входа",
|
|
57
|
+
"3、把本页网址复制到微信里面打开": "3. Скопируйте URL страницы и откройте в WeChat",
|
|
58
|
+
"名称": "Название",
|
|
59
|
+
"优惠券": "Купон"
|
|
37
60
|
}
|