Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wmypcWeb
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
hqzhdj_app
wmypcWeb
Commits
253b85c1
Commit
253b85c1
authored
Jun 03, 2021
by
纪昌帅
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
save
parent
d4f03acb
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
911 additions
and
559 deletions
+911
-559
src/containers/Login/index.js
+698
-359
src/containers/Login/style.less
+107
-107
src/locales/newWord.json
+1
-1
src/locales/zh-CN.json
+2
-2
src/utils/api.js
+103
-90
No files found.
src/containers/Login/index.js
View file @
253b85c1
import
React
from
"react"
;
import
React
from
"react"
;
import
{
Redirect
,
withRouter
}
from
"react-router-dom"
;
import
{
Redirect
,
withRouter
}
from
"react-router-dom"
;
import
{
Icon
,
Input
,
Button
,
Tabs
,
Divider
,
Popover
,
message
,
Checkbox
}
from
"antd"
;
import
{
Icon
,
Input
,
Button
,
Tabs
,
Divider
,
Popover
,
message
,
Checkbox
,
}
from
"antd"
;
import
"./style"
;
import
"./style"
;
import
intl
,
{
init
}
from
"react-intl-universal"
;
import
intl
,
{
init
}
from
"react-intl-universal"
;
import
{
connect
}
from
"react-redux"
;
import
{
connect
}
from
"react-redux"
;
import
{
bindActionCreators
}
from
"redux"
;
import
{
bindActionCreators
}
from
"redux"
;
import
{
loginAction
,
bgmImage
,
logoImage
,
loginPc
,
editPassword
,
firstLogin
,
forgetLogin
,
forgetPassword
,
testPassword
,
testLogin
,
getBrowserConfig
,
selectLanguageGet
}
from
"./action"
;
import
{
loginAction
,
bgmImage
,
logoImage
,
loginPc
,
editPassword
,
firstLogin
,
forgetLogin
,
forgetPassword
,
testPassword
,
testLogin
,
getBrowserConfig
,
selectLanguageGet
,
}
from
"./action"
;
import
{
fnPrefix
}
from
"../../utils/router"
;
import
{
fnPrefix
}
from
"../../utils/router"
;
// import encrypt, { md5 } from "Utils/encrypt";
// import encrypt, { md5 } from "Utils/encrypt";
import
Storage
from
'../../utils/storage'
;
import
Storage
from
"../../utils/storage"
;
import
api
from
'../../utils/api'
;
import
api
from
"../../utils/api"
;
import
LanguageCheck
from
'../Home/component/nav/languageCheck'
;
import
LanguageCheck
from
"../Home/component/nav/languageCheck"
;
import
func
from
"../../utils/commonFunc"
;
import
func
from
"../../utils/commonFunc"
;
import
moment
from
'moment'
import
moment
from
"moment"
;
import
md5
from
"md5"
;
import
md5
from
"md5"
;
import
loginCookie
from
"js-cookie"
;
import
loginCookie
from
"js-cookie"
;
// import {sm2} from 'sm-crypto'
// import {sm2} from 'sm-crypto'
...
@@ -30,23 +52,26 @@ class Login extends React.Component {
...
@@ -30,23 +52,26 @@ class Login extends React.Component {
tabsKey
:
"1"
,
tabsKey
:
"1"
,
url
:
null
,
url
:
null
,
// logoUrl:'http://cloud-wmy.oss-cn-shanghai.aliyuncs.com/wmy/1535870248541.png',
// logoUrl:'http://cloud-wmy.oss-cn-shanghai.aliyuncs.com/wmy/1535870248541.png',
logoUrl
:
''
,
logoUrl
:
""
,
btnName
:
intl
.
get
(
'SendCode'
),
btnName
:
intl
.
get
(
"SendCode"
),
imgsUrl
:
api
.
baseUrl
+
"/system/api/public/getCaptcha?captchaKey=1544531906454&companyCode=shyz&siteCode=shyz"
,
imgsUrl
:
api
.
baseUrl
+
"/system/api/public/getCaptcha?captchaKey=1544531906454&companyCode=shyz&siteCode=shyz"
,
codeBtnState
:
false
,
codeBtnState
:
false
,
m1Mobile
:
null
,
m1Mobile
:
null
,
m2Mobile
:
null
,
m2Mobile
:
null
,
codeBtnColor
:
'#1890ff'
,
codeBtnColor
:
"#1890ff"
,
modalVsb
:
'none'
,
modalVsb
:
"none"
,
modal2Vsb
:
'none'
,
modal2Vsb
:
"none"
,
footer
:
intl
.
get
(
"PoweredByCompanyName"
),
footer
:
intl
.
get
(
"PoweredByCompanyName"
),
language
:
localStorage
.
getItem
(
'lang_type'
)
==
'en_US'
?
'English'
:
'简体中文'
,
language
:
localStorage
.
getItem
(
"lang_type"
)
==
"en_US"
?
"English"
:
"简体中文"
,
msgInfo
:
null
,
msgInfo
:
null
,
disabledBtn
:
true
,
disabledBtn
:
true
,
borderRed
:
""
,
borderRed
:
""
,
firstLoginInput
:
false
,
firstLoginInput
:
false
,
loginNameDesc
:
intl
.
get
(
'Username'
),
loginNameDesc
:
intl
.
get
(
"Username"
),
loginPwdDesc
:
intl
.
get
(
'Password'
),
loginPwdDesc
:
intl
.
get
(
"Password"
),
isRemember
:
false
,
isRemember
:
false
,
};
};
}
}
...
@@ -63,8 +88,8 @@ class Login extends React.Component {
...
@@ -63,8 +88,8 @@ class Login extends React.Component {
sessionStorage
.
setItem
(
"siteName"
,
data
.
titleName
);
sessionStorage
.
setItem
(
"siteName"
,
data
.
titleName
);
}
}
});
});
this
.
props
.
loginAction
(
Storage
.
sessionGet
(
'token'
));
this
.
props
.
loginAction
(
Storage
.
sessionGet
(
"token"
));
if
(
Storage
.
sessionGet
(
'token'
))
{
if
(
Storage
.
sessionGet
(
"token"
))
{
this
.
setState
({
this
.
setState
({
redirectToReferrer
:
true
,
redirectToReferrer
:
true
,
});
});
...
@@ -79,47 +104,51 @@ class Login extends React.Component {
...
@@ -79,47 +104,51 @@ class Login extends React.Component {
isMounted
=
true
;
isMounted
=
true
;
const
times
=
new
Date
().
getTime
();
const
times
=
new
Date
().
getTime
();
this
.
props
.
logoImage
({},
(
res
)
=>
{
this
.
props
.
logoImage
({},
(
res
)
=>
{
if
(
res
.
code
===
'1000'
&&
res
.
data
.
siteLogo
)
{
if
(
res
.
code
===
"1000"
&&
res
.
data
.
siteLogo
)
{
isMounted
&&
this
.
setState
({
isMounted
&&
logoUrl
:
res
.
data
.
siteLogo
this
.
setState
({
});
logoUrl
:
res
.
data
.
siteLogo
,
});
}
}
});
});
this
.
props
.
bgmImage
({
type
:
1
},
(
res
)
=>
{
this
.
props
.
bgmImage
({
type
:
1
},
(
res
)
=>
{
if
(
res
.
code
===
'1000'
)
{
if
(
res
.
code
===
"1000"
)
{
isMounted
&&
this
.
setState
({
isMounted
&&
url
:
res
.
data
.
bgimgPath
?
res
.
data
.
bgimgPath
:
null
,
this
.
setState
({
// loginNameDesc: res.data.loginNameDesc ? res.data.loginNameDesc : intl.get('Username'),
url
:
res
.
data
.
bgimgPath
?
res
.
data
.
bgimgPath
:
null
,
// loginPwdDesc: res.data.loginPwdDesc ? res.data.loginPwdDesc : intl.get('Password')
// loginNameDesc: res.data.loginNameDesc ? res.data.loginNameDesc : intl.get('Username'),
});
// loginPwdDesc: res.data.loginPwdDesc ? res.data.loginPwdDesc : intl.get('Password')
});
}
}
});
});
this
.
setState
({
this
.
setState
({
imgsUrl
:
api
.
baseUrl
+
'/system/api/public/getCaptcha?companyCode=shyz&siteCode=shyz&captchaKey='
+
times
,
imgsUrl
:
api
.
baseUrl
+
"/system/api/public/getCaptcha?companyCode=shyz&siteCode=shyz&captchaKey="
+
times
,
captchaKey
:
String
(
times
),
captchaKey
:
String
(
times
),
});
});
}
}
fnChangeLanguage
=
(
e
)
=>
{
fnChangeLanguage
=
e
=>
{
localStorage
.
setItem
(
"lang_type"
,
e
.
target
.
value
);
localStorage
.
setItem
(
"lang_type"
,
e
.
target
.
value
);
console
.
log
(
localStorage
.
getItem
(
'lang_type'
));
console
.
log
(
localStorage
.
getItem
(
"lang_type"
));
if
(
e
.
target
.
value
==
'zh_CN'
)
{
if
(
e
.
target
.
value
==
"zh_CN"
)
{
this
.
setState
({
this
.
setState
({
language
:
'简体中文'
language
:
"简体中文"
,
});
});
}
else
if
(
e
.
target
.
value
==
'en_US'
)
{
}
else
if
(
e
.
target
.
value
==
"en_US"
)
{
this
.
setState
({
this
.
setState
({
language
:
'English'
language
:
"English"
,
});
});
}
}
window
.
location
.
reload
();
window
.
location
.
reload
();
};
};
tabsCallback
=
(
key
)
=>
{
tabsCallback
=
(
key
)
=>
{
if
(
key
===
'1'
)
{
if
(
key
===
"1"
)
{
this
.
loadAccountInfo
();
//切换至账号登录时亦从cookie填充账号
this
.
loadAccountInfo
();
//切换至账号登录时亦从cookie填充账号
this
.
codeSetInterval
(
0
);
this
.
codeSetInterval
(
0
);
this
.
setState
({
this
.
setState
({
...
@@ -145,14 +174,13 @@ class Login extends React.Component {
...
@@ -145,14 +174,13 @@ class Login extends React.Component {
});
});
//this.imgClick();
//this.imgClick();
}
}
};
}
inputFocus
=
()
=>
{
inputFocus
=
()
=>
{
this
.
setState
({
this
.
setState
({
borderRed
:
""
borderRed
:
""
,
});
});
}
}
;
testCodeBtn
=
(
type
)
=>
{
testCodeBtn
=
(
type
)
=>
{
const
params
=
{
const
params
=
{
...
@@ -171,7 +199,7 @@ class Login extends React.Component {
...
@@ -171,7 +199,7 @@ class Login extends React.Component {
if
(
type
===
1
)
{
if
(
type
===
1
)
{
if
(
!
reg
.
test
(
params
.
mobile
))
{
if
(
!
reg
.
test
(
params
.
mobile
))
{
this
.
setState
({
this
.
setState
({
msgInfo
:
intl
.
get
(
'WrongPhoneNumberFormat'
),
msgInfo
:
intl
.
get
(
"WrongPhoneNumberFormat"
),
});
});
return
false
;
return
false
;
}
else
{
}
else
{
...
@@ -180,20 +208,19 @@ class Login extends React.Component {
...
@@ -180,20 +208,19 @@ class Login extends React.Component {
});
});
this
.
codeSetInterval
(
1
);
this
.
codeSetInterval
(
1
);
this
.
props
.
testPassword
(
params
,
(
res
)
=>
{
this
.
props
.
testPassword
(
params
,
(
res
)
=>
{
if
(
res
.
code
===
'1000'
)
{
if
(
res
.
code
===
"1000"
)
{
this
.
setState
({
this
.
setState
({
smsSendRequestNo
:
res
.
data
.
smsSendRequestNo
,
smsSendRequestNo
:
res
.
data
.
smsSendRequestNo
,
borderRed
:
""
borderRed
:
""
,
});
});
}
else
{
}
else
{
if
(
res
.
subCode
===
'210001'
||
res
.
subCode
===
'210002'
)
{
if
(
res
.
subCode
===
"210001"
||
res
.
subCode
===
"210002"
)
{
this
.
setState
({
this
.
setState
({
borderRed
:
"input-red"
borderRed
:
"input-red"
,
});
});
}
else
{
}
else
{
this
.
setState
({
this
.
setState
({
borderRed
:
""
borderRed
:
""
,
});
});
}
}
message
.
error
(
intl
.
get
(
res
.
subMsg
));
message
.
error
(
intl
.
get
(
res
.
subMsg
));
...
@@ -203,7 +230,7 @@ class Login extends React.Component {
...
@@ -203,7 +230,7 @@ class Login extends React.Component {
}
else
if
(
type
===
2
)
{
}
else
if
(
type
===
2
)
{
if
(
!
reg
.
test
(
params2
.
mobile
))
{
if
(
!
reg
.
test
(
params2
.
mobile
))
{
this
.
setState
({
this
.
setState
({
msgInfo
:
intl
.
get
(
'WrongPhoneNumberFormat'
),
msgInfo
:
intl
.
get
(
"WrongPhoneNumberFormat"
),
});
});
return
false
;
return
false
;
}
else
{
}
else
{
...
@@ -212,21 +239,19 @@ class Login extends React.Component {
...
@@ -212,21 +239,19 @@ class Login extends React.Component {
});
});
this
.
codeSetInterval
(
1
);
this
.
codeSetInterval
(
1
);
this
.
props
.
forgetPassword
(
params2
,
(
res
)
=>
{
this
.
props
.
forgetPassword
(
params2
,
(
res
)
=>
{
if
(
res
.
code
===
'1000'
)
{
if
(
res
.
code
===
"1000"
)
{
this
.
setState
({
this
.
setState
({
smsSendRequestNo
:
res
.
data
.
smsSendRequestNo
smsSendRequestNo
:
res
.
data
.
smsSendRequestNo
,
});
});
}
else
{
}
else
{
message
.
error
(
intl
.
get
(
res
.
subMsg
));
message
.
error
(
intl
.
get
(
res
.
subMsg
));
}
}
});
});
}
}
}
else
if
(
type
===
3
)
{
}
else
if
(
type
===
3
)
{
if
(
!
reg
.
test
(
params3
.
mobile
))
{
if
(
!
reg
.
test
(
params3
.
mobile
))
{
this
.
setState
({
this
.
setState
({
msgInfo
:
intl
.
get
(
'WrongPhoneNumberFormat'
),
msgInfo
:
intl
.
get
(
"WrongPhoneNumberFormat"
),
});
});
return
false
;
return
false
;
}
else
{
}
else
{
...
@@ -235,10 +260,9 @@ class Login extends React.Component {
...
@@ -235,10 +260,9 @@ class Login extends React.Component {
});
});
this
.
codeSetInterval
(
1
);
this
.
codeSetInterval
(
1
);
this
.
props
.
editPassword
(
params3
,
(
res
)
=>
{
this
.
props
.
editPassword
(
params3
,
(
res
)
=>
{
if
(
res
.
code
===
'1000'
)
{
if
(
res
.
code
===
"1000"
)
{
this
.
setState
({
this
.
setState
({
smsSendRequestNo
:
res
.
data
.
smsSendRequestNo
smsSendRequestNo
:
res
.
data
.
smsSendRequestNo
,
});
});
}
else
{
}
else
{
message
.
error
(
intl
.
get
(
res
.
subMsg
));
message
.
error
(
intl
.
get
(
res
.
subMsg
));
...
@@ -246,16 +270,15 @@ class Login extends React.Component {
...
@@ -246,16 +270,15 @@ class Login extends React.Component {
});
});
}
}
}
}
};
}
codeSetInterval
=
(
data
)
=>
{
codeSetInterval
=
(
data
)
=>
{
let
times
=
90
;
let
times
=
90
;
let
_this
=
this
;
let
_this
=
this
;
if
(
!
data
)
{
if
(
!
data
)
{
_this
.
setState
({
_this
.
setState
({
btnName
:
intl
.
get
(
'SendCode'
),
btnName
:
intl
.
get
(
"SendCode"
),
codeBtnState
:
false
,
codeBtnState
:
false
,
codeBtnColor
:
'#1890ff'
,
codeBtnColor
:
"#1890ff"
,
backColor
:
null
,
backColor
:
null
,
disabledBtn
:
true
,
disabledBtn
:
true
,
});
});
...
@@ -266,8 +289,8 @@ class Login extends React.Component {
...
@@ -266,8 +289,8 @@ class Login extends React.Component {
this
.
setState
({
this
.
setState
({
codeBtnState
:
true
,
codeBtnState
:
true
,
codeBtnColor
:
'#d9d9d9'
,
codeBtnColor
:
"#d9d9d9"
,
backColor
:
'#f5f5f5'
,
backColor
:
"#f5f5f5"
,
disabledBtn
:
false
,
disabledBtn
:
false
,
});
});
...
@@ -275,13 +298,13 @@ class Login extends React.Component {
...
@@ -275,13 +298,13 @@ class Login extends React.Component {
times
=
times
-
1
;
times
=
times
-
1
;
if
(
times
>
0
)
{
if
(
times
>
0
)
{
_this
.
setState
({
_this
.
setState
({
btnName
:
intl
.
get
(
'SendAgain'
)
+
"("
+
times
+
")"
,
btnName
:
intl
.
get
(
"SendAgain"
)
+
"("
+
times
+
")"
,
});
});
}
else
{
}
else
{
_this
.
setState
({
_this
.
setState
({
btnName
:
intl
.
get
(
'SendCode'
),
btnName
:
intl
.
get
(
"SendCode"
),
codeBtnState
:
false
,
codeBtnState
:
false
,
codeBtnColor
:
'#1890ff'
,
codeBtnColor
:
"#1890ff"
,
backColor
:
null
,
backColor
:
null
,
disabledBtn
:
true
,
disabledBtn
:
true
,
});
});
...
@@ -289,96 +312,145 @@ class Login extends React.Component {
...
@@ -289,96 +312,145 @@ class Login extends React.Component {
_this
.
imgClick
();
_this
.
imgClick
();
}
}
},
1000
);
},
1000
);
};
}
imgClick
=
()
=>
{
imgClick
=
()
=>
{
const
times
=
new
Date
().
getTime
();
const
times
=
new
Date
().
getTime
();
this
.
setState
({
this
.
setState
({
imgsUrl
:
api
.
baseUrl
+
'/system/api/public/getCaptcha?companyCode=shyz&siteCode=shyz&captchaKey='
+
times
,
imgsUrl
:
captchaKey
:
String
(
times
)
api
.
baseUrl
+
"/system/api/public/getCaptcha?companyCode=shyz&siteCode=shyz&captchaKey="
+
times
,
captchaKey
:
String
(
times
),
});
});
}
}
;
// 账号登录
// 账号登录
accountVal
=
(
value
)
=>
{
accountVal
=
(
value
)
=>
{
this
.
setState
({
this
.
setState
({
accountVal
:
value
accountVal
:
value
,
});
});
};
};
passwordVal
=
(
value
)
=>
{
passwordVal
=
(
value
)
=>
{
this
.
setState
({
this
.
setState
({
passwordVal
:
value
passwordVal
:
value
,
});
});
}
}
;
generateCharacter
(
n
){
generateCharacter
(
n
)
{
var
chars
=
[
'0'
,
'1'
,
'2'
,
'3'
,
'4'
,
'5'
,
'6'
,
'7'
,
'8'
,
'9'
,
'A'
,
'B'
,
'C'
,
'D'
,
'E'
,
'F'
,
'G'
,
'H'
,
'I'
,
'J'
,
'K'
,
'L'
,
'M'
,
'N'
,
'O'
,
'P'
,
'Q'
,
'R'
,
'S'
,
'T'
,
'U'
,
'V'
,
'W'
,
'X'
,
'Y'
,
'Z'
]
var
chars
=
[
"0"
,
"1"
,
"2"
,
"3"
,
"4"
,
"5"
,
"6"
,
"7"
,
"8"
,
"9"
,
"A"
,
"B"
,
"C"
,
"D"
,
"E"
,
"F"
,
"G"
,
"H"
,
"I"
,
"J"
,
"K"
,
"L"
,
"M"
,
"N"
,
"O"
,
"P"
,
"Q"
,
"R"
,
"S"
,
"T"
,
"U"
,
"V"
,
"W"
,
"X"
,
"Y"
,
"Z"
,
];
var
res
=
""
;
var
res
=
""
;
for
(
var
i
=
0
;
i
<
n
;
i
++
)
{
for
(
var
i
=
0
;
i
<
n
;
i
++
)
{
var
id
=
Math
.
ceil
(
Math
.
random
()
*
35
);
var
id
=
Math
.
ceil
(
Math
.
random
()
*
35
);
res
+=
chars
[
id
];
res
+=
chars
[
id
];
}
}
return
res
;
return
res
;
}
}
getCurrentDay
(){
getCurrentDay
()
{
let
date
=
""
let
date
=
""
;
date
=
moment
(
new
Date
()).
format
(
"YYYYMMDD"
)
date
=
moment
(
new
Date
()).
format
(
"YYYYMMDD"
)
;
return
date
return
date
;
}
}
//如果local中获取不到语言类型,从后台获取
//如果local中获取不到语言类型,从后台获取
getLanguageType
=
()
=>
{
getLanguageType
=
()
=>
{
this
.
props
.
selectLanguageGet
(
res
=>
{
this
.
props
.
selectLanguageGet
(
(
res
)
=>
{
// debugger
// debugger
if
(
res
.
code
==
"1000"
&&
res
.
data
)
{
if
(
res
.
code
==
"1000"
&&
res
.
data
)
{
func
.
changeLanguage
({
languageCode
:
res
.
data
});
func
.
changeLanguage
({
languageCode
:
res
.
data
});
}
}
})
})
;
}
}
;
//用户名登录
//用户名登录
userNameLogin
=
()
=>
{
userNameLogin
=
()
=>
{
console
.
log
(
"123124345432"
)
console
.
log
(
"123124345432"
);
const
public_key
=
'047214fe3a249b75b6ba92ee494e0a8a68c0a19893a480b3c28bf06cd5b7d621243c7f6704caa3b43ade6be15de11cabd185611a9edfdcf1b11d7a2478c67b4c1c'
const
public_key
=
"047214fe3a249b75b6ba92ee494e0a8a68c0a19893a480b3c28bf06cd5b7d621243c7f6704caa3b43ade6be15de11cabd185611a9edfdcf1b11d7a2478c67b4c1c"
;
const
private_key
=
'00a2bbe941a177ca9f200d1c4d37e8f0b43b9cd2ea662304a05c064c6416e74d49'
const
private_key
=
let
salt
=
""
"00a2bbe941a177ca9f200d1c4d37e8f0b43b9cd2ea662304a05c064c6416e74d49"
;
let
date
=
""
let
key
=
""
let
salt
=
""
;
let
sign
=
""
let
date
=
""
;
let
password
=
""
let
key
=
""
;
let
account
=
""
let
sign
=
""
;
let
password
=
""
;
salt
=
this
.
generateCharacter
(
16
)
let
account
=
""
;
console
.
log
(
"validate-salt"
,
salt
)
date
=
this
.
getCurrentDay
()
salt
=
this
.
generateCharacter
(
16
);
console
.
log
(
"validate-date"
,
date
)
console
.
log
(
"validate-salt"
,
salt
);
password
=
sm2
.
doEncrypt
(
this
.
state
.
passwordVal
+
salt
,
public_key
,
1
);
date
=
this
.
getCurrentDay
();
account
=
sm2
.
doEncrypt
(
this
.
state
.
accountVal
+
salt
,
public_key
,
1
)
console
.
log
(
"validate-date"
,
date
);
password
=
sm2
.
doEncrypt
(
this
.
state
.
passwordVal
+
salt
,
public_key
,
1
);
password
=
"04"
+
password
account
=
sm2
.
doEncrypt
(
this
.
state
.
accountVal
+
salt
,
public_key
,
1
);
account
=
"04"
+
account
password
=
"04"
+
password
;
if
(
salt
&&
date
){
account
=
"04"
+
account
;
key
=
salt
+
date
console
.
log
(
"validate-key"
,
key
)
if
(
salt
&&
date
)
{
key
=
salt
+
date
;
console
.
log
(
"validate-key"
,
key
);
}
}
sign
=
"account="
+
account
+
"&password="
+
password
+
"&salt="
+
salt
+
"&key="
+
key
sign
=
"account="
+
console
.
log
(
"validate-sign"
,
md5
(
sign
))
account
+
"&password="
+
let
parms
=
{
password
+
"&salt="
+
salt
+
"&key="
+
key
;
console
.
log
(
"validate-sign"
,
md5
(
sign
));
let
parms
=
{
account
,
account
,
password
,
password
,
salt
:
salt
,
salt
:
salt
,
sign
:
md5
(
sign
)
sign
:
md5
(
sign
)
,
}
}
;
// const params = {
// const params = {
// account: this.state.accountVal,
// account: this.state.accountVal,
...
@@ -388,10 +460,10 @@ class Login extends React.Component {
...
@@ -388,10 +460,10 @@ class Login extends React.Component {
const
params
=
{
const
params
=
{
account
,
account
,
password
,
password
,
salt
:
salt
,
salt
:
salt
,
sign
:
md5
(
sign
),
sign
:
md5
(
sign
),
// languageCode: localStorage.getItem("lang_type") || null //local获取lang_type
// languageCode: localStorage.getItem("lang_type") || null //local获取lang_type
languageCode
:
sessionStorage
.
getItem
(
"lang_type"
)
||
null
//local获取lang_type
languageCode
:
sessionStorage
.
getItem
(
"lang_type"
)
||
null
,
//local获取lang_type
};
};
// 判断网络是否异常
// 判断网络是否异常
...
@@ -402,43 +474,48 @@ class Login extends React.Component {
...
@@ -402,43 +474,48 @@ class Login extends React.Component {
}
}
if
(
!
params
.
account
)
{
if
(
!
params
.
account
)
{
message
.
error
(
intl
.
get
(
'Username'
));
message
.
error
(
intl
.
get
(
"Username"
));
return
false
;
return
false
;
}
}
if
(
!
params
.
password
)
{
if
(
!
params
.
password
)
{
message
.
error
(
intl
.
get
(
'pwd.empty'
));
message
.
error
(
intl
.
get
(
"pwd.empty"
));
return
false
;
return
false
;
}
}
this
.
props
.
loginPc
(
params
,
(
res
)
=>
{
this
.
props
.
loginPc
(
params
,
(
res
)
=>
{
if
(
res
.
code
===
'1000'
)
{
//登录成功
if
(
res
.
code
===
"1000"
)
{
//登录成功
this
.
getLanguageType
();
this
.
getLanguageType
();
if
(
res
.
data
.
userInfo
.
firstLogin
===
true
)
{
if
(
res
.
data
.
userInfo
.
firstLogin
===
true
)
{
this
.
setState
({
this
.
setState
({
modal2Vsb
:
'block'
,
modal2Vsb
:
"block"
,
m2Mobile
:
res
.
data
.
userInfo
.
mobile
,
m2Mobile
:
res
.
data
.
userInfo
.
mobile
,
firstLoginInput
:
res
.
data
.
userInfo
.
mobile
?
true
:
false
,
firstLoginInput
:
res
.
data
.
userInfo
.
mobile
?
true
:
false
,
m2accountId
:
res
.
data
.
userInfo
.
id
,
m2accountId
:
res
.
data
.
userInfo
.
id
,
});
});
}
}
// 签到打卡
// 签到打卡
Storage
.
sessionPut
(
'isPCEnableSign'
,
res
.
data
.
isPCEnableSign
);
Storage
.
sessionPut
(
"isPCEnableSign"
,
res
.
data
.
isPCEnableSign
);
Storage
.
sessionPut
(
'isFirstLogin'
,
res
.
data
.
isFirstLogin
);
Storage
.
sessionPut
(
"isFirstLogin"
,
res
.
data
.
isFirstLogin
);
Storage
.
sessionPut
(
'isEnableSign'
,
res
.
data
.
isEnableSign
);
Storage
.
sessionPut
(
"isEnableSign"
,
res
.
data
.
isEnableSign
);
console
.
log
(
"ressssss=="
,
res
);
console
.
log
(
"ressssss=="
,
res
);
if
(
res
.
data
.
Authorization
)
{
if
(
res
.
data
.
Authorization
)
{
//;
//;
Storage
.
sessionPut
(
'token'
,
res
.
data
.
Authorization
);
Storage
.
sessionPut
(
"token"
,
res
.
data
.
Authorization
);
//保存密码
//保存密码
if
(
this
.
state
.
isRemember
)
{
if
(
this
.
state
.
isRemember
)
{
let
userName
=
this
.
state
.
accountVal
;
let
userName
=
this
.
state
.
accountVal
;
let
password
=
this
.
state
.
passwordVal
;
let
password
=
this
.
state
.
passwordVal
;
let
Days
=
30
;
//cookie保存时间
let
Days
=
30
;
//cookie保存时间
let
exp
=
new
Date
();
let
exp
=
new
Date
();
exp
.
setTime
(
exp
.
getTime
()
+
Days
*
24
*
60
*
60
*
1000
);
exp
.
setTime
(
exp
.
getTime
()
+
Days
*
24
*
60
*
60
*
1000
);
loginCookie
.
set
(
"username"
,
encodeURIComponent
(
userName
),{
expires
:
30
});
loginCookie
.
set
(
"username"
,
encodeURIComponent
(
userName
),
{
loginCookie
.
set
(
"password"
,
encodeURIComponent
(
password
),{
expires
:
30
});
expires
:
30
,
});
loginCookie
.
set
(
"password"
,
encodeURIComponent
(
password
),
{
expires
:
30
,
});
// document.cookie = "userName=" + encodeURIComponent(userName) + ";expires=" + exp.toGMTString();
// document.cookie = "userName=" + encodeURIComponent(userName) + ";expires=" + exp.toGMTString();
// document.cookie = "password=" + encodeURIComponent(password) + ";expires=" + exp.toGMTString();
// document.cookie = "password=" + encodeURIComponent(password) + ";expires=" + exp.toGMTString();
}
else
{
}
else
{
...
@@ -449,27 +526,23 @@ class Login extends React.Component {
...
@@ -449,27 +526,23 @@ class Login extends React.Component {
// document.cookie = "userName=" + "" + ";expires=" + exp.toGMTString();
// document.cookie = "userName=" + "" + ";expires=" + exp.toGMTString();
// document.cookie = "password=" + "" + ";expires=" + exp.toGMTString();
// document.cookie = "password=" + "" + ";expires=" + exp.toGMTString();
this
.
setState
({
this
.
setState
({
accountVal
:
''
,
accountVal
:
""
,
passwordVal
:
''
passwordVal
:
""
,
});
});
}
}
this
.
setState
({
this
.
setState
({
redirectToReferrer
:
true
,
redirectToReferrer
:
true
,
});
});
}
}
}
else
{
}
else
{
this
.
setState
({
this
.
setState
({
msgInfo1
:
res
.
subMsg
?
intl
.
get
(
res
.
subMsg
)
:
res
.
msg
,
msgInfo1
:
res
.
subMsg
?
intl
.
get
(
res
.
subMsg
)
:
res
.
msg
,
});
});
//message.error(intl.get(res.subMsg));
//message.error(intl.get(res.subMsg));
}
}
});
});
func
.
mainLoadingHide
();
func
.
mainLoadingHide
();
};
}
// 首次登录
// 首次登录
m2MobileFn
=
(
value
)
=>
{
m2MobileFn
=
(
value
)
=>
{
this
.
setState
({
this
.
setState
({
...
@@ -482,23 +555,24 @@ class Login extends React.Component {
...
@@ -482,23 +555,24 @@ class Login extends React.Component {
this
.
setState
({
this
.
setState
({
m1Mobile
:
value
,
m1Mobile
:
value
,
});
});
}
};
testPhoneCode
=
(
value
)
=>
{
testPhoneCode
=
(
value
)
=>
{
this
.
setState
({
this
.
setState
({
testPhoneCode
:
value
testPhoneCode
:
value
,
});
});
}
}
;
newPassword
=
(
value
)
=>
{
//bug-12732-liyuan
newPassword
=
(
value
)
=>
{
//bug-12732-liyuan
// const regu = /^.*(?=.{8,20})(?=.*\d)(?=.*[a-zA-Z])(?=.*[~!@#$%^&*()_+[\]{}|\;:'",./<>?]).*$/;
// const regu = /^.*(?=.{8,20})(?=.*\d)(?=.*[a-zA-Z])(?=.*[~!@#$%^&*()_+[\]{}|\;:'",./<>?]).*$/;
const
regu
=
/
(
^.*
(?=
.
{8,20})(?=
.*
\d)(?=
.*
[
a-zA-Z
])(?=
.*
[
~!@#$%^&*()_+[
\]
{}|
\;
:'",.
/
<>?
])
.*$
)
|
(
^.*
(?=
.
{8,20})(?=
.*
\d)(?=
.*
[
a-z
])(?=
.*
\d)(?=
.*
[
A-Z
])
.*$
)
|
(
^.*
(?=
.
{8,20})(?=
.*
\d)(?=
.*
[
a-z
])(?=
.*
[
~!@#$%^&*()_+[
\]
{}|
\;
:'",.
/
<>?
])
.*$
)
|
(
^.*
(?=
.
{8,20})(?=
.*
\d)(?=
.*
[
A-Z
])(?=
.*
[
~!@#$%^&*()_+[
\]
{}|
\;
:'",.
/
<>?
])
.*$
)
|
(
^.*
(?=
.
{8,20})(?=
.*
[
A-Z
])(?=
.*
[
a-z
])(?=
.*
[
~!@#$%^&*()_+[
\]
{}|
\;
:'",.
/
<>?
])
.*$
)
/
;
const
regu
=
/
(
^.*
(?=
.
{8,20})(?=
.*
\d)(?=
.*
[
a-zA-Z
])(?=
.*
[
~!@#$%^&*()_+[
\]
{}|
\;
:'",.
/
<>?
])
.*$
)
|
(
^.*
(?=
.
{8,20})(?=
.*
\d)(?=
.*
[
a-z
])(?=
.*
\d)(?=
.*
[
A-Z
])
.*$
)
|
(
^.*
(?=
.
{8,20})(?=
.*
\d)(?=
.*
[
a-z
])(?=
.*
[
~!@#$%^&*()_+[
\]
{}|
\;
:'",.
/
<>?
])
.*$
)
|
(
^.*
(?=
.
{8,20})(?=
.*
\d)(?=
.*
[
A-Z
])(?=
.*
[
~!@#$%^&*()_+[
\]
{}|
\;
:'",.
/
<>?
])
.*$
)
|
(
^.*
(?=
.
{8,20})(?=
.*
[
A-Z
])(?=
.*
[
a-z
])(?=
.*
[
~!@#$%^&*()_+[
\]
{}|
\;
:'",.
/
<>?
])
.*$
)
/
;
let
re
=
new
RegExp
(
regu
);
let
re
=
new
RegExp
(
regu
);
if
(
re
.
test
(
value
))
{
if
(
re
.
test
(
value
))
{
this
.
setState
({
this
.
setState
({
m2Passowrd
:
value
,
m2Passowrd
:
value
,
msgInfo
:
''
,
msgInfo
:
""
,
});
});
}
else
{
}
else
{
this
.
setState
({
this
.
setState
({
...
@@ -506,24 +580,25 @@ class Login extends React.Component {
...
@@ -506,24 +580,25 @@ class Login extends React.Component {
msgInfo
:
intl
.
get
(
"pwd.type.error"
),
msgInfo
:
intl
.
get
(
"pwd.type.error"
),
});
});
}
}
}
}
;
passwordAgain
=
(
value
)
=>
{
passwordAgain
=
(
value
)
=>
{
// const regu = /^.*(?=.{8,20})(?=.*\d)(?=.*[a-zA-Z])(?=.*[~!@#$%^&*()_+[\]{}|\;:'",./<>?]).*$/;
// const regu = /^.*(?=.{8,20})(?=.*\d)(?=.*[a-zA-Z])(?=.*[~!@#$%^&*()_+[\]{}|\;:'",./<>?]).*$/;
const
regu
=
/
(
^.*
(?=
.
{8,20})(?=
.*
\d)(?=
.*
[
a-zA-Z
])(?=
.*
[
~!@#$%^&*()_+[
\]
{}|
\;
:'",.
/
<>?
])
.*$
)
|
(
^.*
(?=
.
{8,20})(?=
.*
\d)(?=
.*
[
a-z
])(?=
.*
\d)(?=
.*
[
A-Z
])
.*$
)
|
(
^.*
(?=
.
{8,20})(?=
.*
\d)(?=
.*
[
a-z
])(?=
.*
[
~!@#$%^&*()_+[
\]
{}|
\;
:'",.
/
<>?
])
.*$
)
|
(
^.*
(?=
.
{8,20})(?=
.*
\d)(?=
.*
[
A-Z
])(?=
.*
[
~!@#$%^&*()_+[
\]
{}|
\;
:'",.
/
<>?
])
.*$
)
|
(
^.*
(?=
.
{8,20})(?=
.*
[
A-Z
])(?=
.*
[
a-z
])(?=
.*
[
~!@#$%^&*()_+[
\]
{}|
\;
:'",.
/
<>?
])
.*$
)
/
;
const
regu
=
/
(
^.*
(?=
.
{8,20})(?=
.*
\d)(?=
.*
[
a-zA-Z
])(?=
.*
[
~!@#$%^&*()_+[
\]
{}|
\;
:'",.
/
<>?
])
.*$
)
|
(
^.*
(?=
.
{8,20})(?=
.*
\d)(?=
.*
[
a-z
])(?=
.*
\d)(?=
.*
[
A-Z
])
.*$
)
|
(
^.*
(?=
.
{8,20})(?=
.*
\d)(?=
.*
[
a-z
])(?=
.*
[
~!@#$%^&*()_+[
\]
{}|
\;
:'",.
/
<>?
])
.*$
)
|
(
^.*
(?=
.
{8,20})(?=
.*
\d)(?=
.*
[
A-Z
])(?=
.*
[
~!@#$%^&*()_+[
\]
{}|
\;
:'",.
/
<>?
])
.*$
)
|
(
^.*
(?=
.
{8,20})(?=
.*
[
A-Z
])(?=
.*
[
a-z
])(?=
.*
[
~!@#$%^&*()_+[
\]
{}|
\;
:'",.
/
<>?
])
.*$
)
/
;
let
re
=
new
RegExp
(
regu
);
let
re
=
new
RegExp
(
regu
);
if
(
re
.
test
(
value
))
{
if
(
re
.
test
(
value
))
{
this
.
setState
({
this
.
setState
({
m2PassowrdAgain
:
value
,
m2PassowrdAgain
:
value
,
msgInfo
:
''
,
msgInfo
:
""
,
})
})
;
}
else
{
}
else
{
this
.
setState
({
this
.
setState
({
m2PassowrdAgain
:
value
,
m2PassowrdAgain
:
value
,
msgInfo
:
intl
.
get
(
"pwd.type.error"
),
msgInfo
:
intl
.
get
(
"pwd.type.error"
),
});
});
}
}
}
}
;
m1PassowrdAgainBlur
=
()
=>
{
m1PassowrdAgainBlur
=
()
=>
{
const
{
m2Passowrd
,
m2PassowrdAgain
}
=
this
.
state
;
const
{
m2Passowrd
,
m2PassowrdAgain
}
=
this
.
state
;
if
(
!
m2PassowrdAgain
)
{
if
(
!
m2PassowrdAgain
)
{
...
@@ -537,11 +612,11 @@ class Login extends React.Component {
...
@@ -537,11 +612,11 @@ class Login extends React.Component {
});
});
}
else
{
}
else
{
this
.
setState
({
this
.
setState
({
msgInfo
:
intl
.
get
(
'TwoInputPasswordsMustBeConsistent'
),
msgInfo
:
intl
.
get
(
"TwoInputPasswordsMustBeConsistent"
),
});
});
}
}
}
}
}
}
;
m2PassowrdAgainBlur
=
()
=>
{
m2PassowrdAgainBlur
=
()
=>
{
const
{
m2Passowrd
,
m2PassowrdAgain
}
=
this
.
state
;
const
{
m2Passowrd
,
m2PassowrdAgain
}
=
this
.
state
;
...
@@ -556,24 +631,31 @@ class Login extends React.Component {
...
@@ -556,24 +631,31 @@ class Login extends React.Component {
});
});
}
else
{
}
else
{
this
.
setState
({
this
.
setState
({
msgInfo
:
intl
.
get
(
'TwoInputPasswordsMustBeConsistent'
),
msgInfo
:
intl
.
get
(
"TwoInputPasswordsMustBeConsistent"
),
});
});
}
}
}
}
}
}
;
m2loginFn
=
(
e
)
=>
{
m2loginFn
=
(
e
)
=>
{
const
{
m2Mobile
,
testPhoneCode
,
m2Passowrd
,
m2PassowrdAgain
,
m2accountId
,
smsSendRequestNo
}
=
this
.
state
;
const
{
m2Mobile
,
testPhoneCode
,
m2Passowrd
,
m2PassowrdAgain
,
m2accountId
,
smsSendRequestNo
,
}
=
this
.
state
;
const
reg
=
/^1
[
3456789
]\d{9}
$/
;
const
reg
=
/^1
[
3456789
]\d{9}
$/
;
if
(
!
m2Mobile
)
{
if
(
!
m2Mobile
)
{
this
.
setState
({
this
.
setState
({
msgInfo
:
intl
.
get
(
'mobile.number.empty'
),
msgInfo
:
intl
.
get
(
"mobile.number.empty"
),
});
});
return
false
;
return
false
;
}
}
if
(
!
reg
.
test
(
m2Mobile
))
{
if
(
!
reg
.
test
(
m2Mobile
))
{
this
.
setState
({
this
.
setState
({
msgInfo
:
intl
.
get
(
'WrongPhoneNumberFormat'
),
msgInfo
:
intl
.
get
(
"WrongPhoneNumberFormat"
),
});
});
return
false
;
return
false
;
}
else
{
}
else
{
...
@@ -584,57 +666,67 @@ class Login extends React.Component {
...
@@ -584,57 +666,67 @@ class Login extends React.Component {
if
(
!
testPhoneCode
)
{
if
(
!
testPhoneCode
)
{
this
.
setState
({
this
.
setState
({
msgInfo
:
intl
.
get
(
'PleaseInputSmsCode'
),
msgInfo
:
intl
.
get
(
"PleaseInputSmsCode"
),
});
});
return
false
;
return
false
;
}
}
if
(
!
m2Passowrd
)
{
if
(
!
m2Passowrd
)
{
this
.
setState
({
this
.
setState
({
msgInfo
:
intl
.
get
(
'NewPassword'
),
msgInfo
:
intl
.
get
(
"NewPassword"
),
});
});
return
false
;
return
false
;
}
}
if
(
!
m2PassowrdAgain
)
{
if
(
!
m2PassowrdAgain
)
{
this
.
setState
({
this
.
setState
({
msgInfo
:
intl
.
get
(
'ConfirmNewPassword'
),
msgInfo
:
intl
.
get
(
"ConfirmNewPassword"
),
});
});
return
false
;
return
false
;
}
}
if
(
m2Passowrd
!==
m2PassowrdAgain
)
{
if
(
m2Passowrd
!==
m2PassowrdAgain
)
{
this
.
setState
({
this
.
setState
({
msgInfo
:
intl
.
get
(
'TwoInputPasswordsMustBeConsistent'
),
msgInfo
:
intl
.
get
(
"TwoInputPasswordsMustBeConsistent"
),
});
});
return
false
;
return
false
;
}
}
const
public_key
=
'047214fe3a249b75b6ba92ee494e0a8a68c0a19893a480b3c28bf06cd5b7d621243c7f6704caa3b43ade6be15de11cabd185611a9edfdcf1b11d7a2478c67b4c1c'
const
public_key
=
"047214fe3a249b75b6ba92ee494e0a8a68c0a19893a480b3c28bf06cd5b7d621243c7f6704caa3b43ade6be15de11cabd185611a9edfdcf1b11d7a2478c67b4c1c"
;
const
private_key
=
'00a2bbe941a177ca9f200d1c4d37e8f0b43b9cd2ea662304a05c064c6416e74d49'
const
private_key
=
"00a2bbe941a177ca9f200d1c4d37e8f0b43b9cd2ea662304a05c064c6416e74d49"
;
let
salt
=
""
let
salt
=
""
;
let
date
=
""
let
date
=
""
;
let
key
=
""
let
key
=
""
;
let
sign
=
""
let
sign
=
""
;
let
newPassword
=
""
let
newPassword
=
""
;
let
confirmNewPassword
=
""
let
confirmNewPassword
=
""
;
salt
=
this
.
generateCharacter
(
16
)
salt
=
this
.
generateCharacter
(
16
)
;
console
.
log
(
"validate-salt"
,
salt
)
console
.
log
(
"validate-salt"
,
salt
);
date
=
this
.
getCurrentDay
()
date
=
this
.
getCurrentDay
()
;
console
.
log
(
"validate-date"
,
date
)
console
.
log
(
"validate-date"
,
date
);
newPassword
=
sm2
.
doEncrypt
(
m2Passowrd
+
salt
,
public_key
,
1
);
newPassword
=
sm2
.
doEncrypt
(
m2Passowrd
+
salt
,
public_key
,
1
);
confirmNewPassword
=
sm2
.
doEncrypt
(
m2PassowrdAgain
+
salt
,
public_key
,
1
)
confirmNewPassword
=
sm2
.
doEncrypt
(
m2PassowrdAgain
+
salt
,
public_key
,
1
);
newPassword
=
"04"
+
newPassword
newPassword
=
"04"
+
newPassword
;
confirmNewPassword
=
"04"
+
confirmNewPassword
confirmNewPassword
=
"04"
+
confirmNewPassword
;
if
(
salt
&&
date
)
{
if
(
salt
&&
date
)
{
key
=
salt
+
date
key
=
salt
+
date
;
console
.
log
(
"validate-key"
,
key
)
console
.
log
(
"validate-key"
,
key
);
}
}
sign
=
"confirmPassword="
+
confirmNewPassword
+
"&password="
+
newPassword
+
"&salt="
+
salt
+
"&key="
+
key
sign
=
"confirmPassword="
+
console
.
log
(
"validate-sign"
,
md5
(
sign
))
confirmNewPassword
+
"&password="
+
newPassword
+
"&salt="
+
salt
+
"&key="
+
key
;
console
.
log
(
"validate-sign"
,
md5
(
sign
));
// const params = {
// const params = {
// accountId: m2accountId,
// accountId: m2accountId,
...
@@ -654,18 +746,18 @@ class Login extends React.Component {
...
@@ -654,18 +746,18 @@ class Login extends React.Component {
password
:
newPassword
,
password
:
newPassword
,
confirmPassword
:
confirmNewPassword
,
confirmPassword
:
confirmNewPassword
,
smsSendRequestNo
:
smsSendRequestNo
,
smsSendRequestNo
:
smsSendRequestNo
,
salt
:
salt
,
salt
:
salt
,
sign
:
md5
(
sign
)
sign
:
md5
(
sign
)
,
};
};
this
.
props
.
firstLogin
(
params
,
(
res
)
=>
{
this
.
props
.
firstLogin
(
params
,
(
res
)
=>
{
if
(
res
.
code
===
'1000'
)
{
if
(
res
.
code
===
"1000"
)
{
message
.
success
(
intl
.
get
(
res
.
subMsg
));
message
.
success
(
intl
.
get
(
res
.
subMsg
));
this
.
modal2Click
(
e
);
this
.
modal2Click
(
e
);
}
else
{
}
else
{
message
.
error
(
intl
.
get
(
res
.
subMsg
));
message
.
error
(
intl
.
get
(
res
.
subMsg
));
}
}
});
});
}
}
;
// 短信登录
// 短信登录
...
@@ -673,27 +765,28 @@ class Login extends React.Component {
...
@@ -673,27 +765,28 @@ class Login extends React.Component {
this
.
setState
({
this
.
setState
({
testMobile
:
value
,
testMobile
:
value
,
});
});
}
}
;
testImgCode
=
(
value
)
=>
{
testImgCode
=
(
value
)
=>
{
this
.
setState
({
this
.
setState
({
imgVerifyCode
:
value
imgVerifyCode
:
value
,
});
});
}
}
;
//短信验证码登录
//短信验证码登录
testLoginFn
=
()
=>
{
testLoginFn
=
()
=>
{
const
{
testMobile
,
testPhoneCode
,
smsSendRequestNo
,
imgVerifyCode
}
=
this
.
state
;
const
{
testMobile
,
testPhoneCode
,
smsSendRequestNo
,
imgVerifyCode
}
=
this
.
state
;
const
reg
=
/^1
[
3456789
]\d{9}
$/
;
const
reg
=
/^1
[
3456789
]\d{9}
$/
;
if
(
!
testMobile
)
{
if
(
!
testMobile
)
{
this
.
setState
({
this
.
setState
({
msgInfo
:
intl
.
get
(
'mobile.number.empty'
),
msgInfo
:
intl
.
get
(
"mobile.number.empty"
),
});
});
return
false
;
return
false
;
}
}
if
(
!
reg
.
test
(
testMobile
))
{
if
(
!
reg
.
test
(
testMobile
))
{
this
.
setState
({
this
.
setState
({
msgInfo
:
intl
.
get
(
'WrongPhoneNumberFormat'
),
msgInfo
:
intl
.
get
(
"WrongPhoneNumberFormat"
),
});
});
return
false
;
return
false
;
}
else
{
}
else
{
...
@@ -704,13 +797,13 @@ class Login extends React.Component {
...
@@ -704,13 +797,13 @@ class Login extends React.Component {
if
(
!
imgVerifyCode
)
{
if
(
!
imgVerifyCode
)
{
this
.
setState
({
this
.
setState
({
msgInfo
:
intl
.
get
(
'PleaseInputCaptchaCode'
),
msgInfo
:
intl
.
get
(
"PleaseInputCaptchaCode"
),
});
});
return
false
;
return
false
;
}
}
if
(
!
testPhoneCode
)
{
if
(
!
testPhoneCode
)
{
this
.
setState
({
this
.
setState
({
msgInfo
:
intl
.
get
(
'PleaseInputSmsCode'
),
msgInfo
:
intl
.
get
(
"PleaseInputSmsCode"
),
});
});
return
false
;
return
false
;
}
}
...
@@ -719,22 +812,22 @@ class Login extends React.Component {
...
@@ -719,22 +812,22 @@ class Login extends React.Component {
smsVerifyCode
:
testPhoneCode
,
smsVerifyCode
:
testPhoneCode
,
smsSendRequestNo
:
smsSendRequestNo
,
smsSendRequestNo
:
smsSendRequestNo
,
// languageCode: localStorage.getItem("lang_type") || null //local获取lang_type
// languageCode: localStorage.getItem("lang_type") || null //local获取lang_type
languageCode
:
sessionStorage
.
getItem
(
"lang_type"
)
||
null
//local获取lang_type
languageCode
:
sessionStorage
.
getItem
(
"lang_type"
)
||
null
,
//local获取lang_type
};
};
this
.
props
.
testLogin
(
params
,
(
res
)
=>
{
this
.
props
.
testLogin
(
params
,
(
res
)
=>
{
if
(
res
.
code
===
'1000'
)
{
if
(
res
.
code
===
"1000"
)
{
this
.
getLanguageType
();
this
.
getLanguageType
();
message
.
success
(
intl
.
get
(
'success'
));
message
.
success
(
intl
.
get
(
"success"
));
if
(
res
.
data
.
Authorization
)
{
if
(
res
.
data
.
Authorization
)
{
Storage
.
sessionPut
(
'token'
,
res
.
data
.
Authorization
);
Storage
.
sessionPut
(
"token"
,
res
.
data
.
Authorization
);
this
.
setState
({
this
.
setState
({
redirectToReferrer
:
true
,
redirectToReferrer
:
true
,
});
});
}
}
// 签到打卡
// 签到打卡
Storage
.
sessionPut
(
'isPCEnableSign'
,
res
.
data
.
isPCEnableSign
);
Storage
.
sessionPut
(
"isPCEnableSign"
,
res
.
data
.
isPCEnableSign
);
Storage
.
sessionPut
(
'isFirstLogin'
,
res
.
data
.
isFirstLogin
);
Storage
.
sessionPut
(
"isFirstLogin"
,
res
.
data
.
isFirstLogin
);
Storage
.
sessionPut
(
'isEnableSign'
,
res
.
data
.
isEnableSign
);
Storage
.
sessionPut
(
"isEnableSign"
,
res
.
data
.
isEnableSign
);
}
else
{
}
else
{
message
.
error
(
intl
.
get
(
res
.
subMsg
));
message
.
error
(
intl
.
get
(
res
.
subMsg
));
}
}
...
@@ -747,15 +840,14 @@ class Login extends React.Component {
...
@@ -747,15 +840,14 @@ class Login extends React.Component {
console
.
log
(
"记住密码:"
,
isChecked
);
console
.
log
(
"记住密码:"
,
isChecked
);
if
(
isChecked
)
{
if
(
isChecked
)
{
this
.
setState
({
this
.
setState
({
isRemember
:
true
isRemember
:
true
,
});
});
}
else
{
}
else
{
this
.
setState
({
this
.
setState
({
isRemember
:
false
isRemember
:
false
,
});
});
}
}
};
}
loadAccountInfo
=
()
=>
{
loadAccountInfo
=
()
=>
{
//读取cookie
//读取cookie
...
@@ -770,31 +862,37 @@ class Login extends React.Component {
...
@@ -770,31 +862,37 @@ class Login extends React.Component {
isRemember
:
true
,
isRemember
:
true
,
});
});
}
}
}
};
// 忘记密码
// 忘记密码
lostPassword
=
()
=>
{
lostPassword
=
()
=>
{
this
.
codeSetInterval
(
0
);
this
.
codeSetInterval
(
0
);
this
.
setState
({
this
.
setState
({
modalVsb
:
'block'
,
modalVsb
:
"block"
,
});
});
}
}
;
m1loginFn
=
(
e
)
=>
{
m1loginFn
=
(
e
)
=>
{
const
{
m1Mobile
,
testPhoneCode
,
m2Passowrd
,
m2PassowrdAgain
,
m2accountId
,
smsSendRequestNo
}
=
this
.
state
;
const
{
m1Mobile
,
testPhoneCode
,
m2Passowrd
,
m2PassowrdAgain
,
m2accountId
,
smsSendRequestNo
,
}
=
this
.
state
;
const
reg
=
/^1
[
3456789
]\d{9}
$/
;
const
reg
=
/^1
[
3456789
]\d{9}
$/
;
if
(
!
m1Mobile
)
{
if
(
!
m1Mobile
)
{
this
.
setState
({
this
.
setState
({
msgInfo
:
intl
.
get
(
'mobile.number.empty'
),
msgInfo
:
intl
.
get
(
"mobile.number.empty"
),
});
});
return
false
;
return
false
;
}
}
if
(
!
reg
.
test
(
m1Mobile
))
{
if
(
!
reg
.
test
(
m1Mobile
))
{
this
.
setState
({
this
.
setState
({
msgInfo
:
intl
.
get
(
'WrongPhoneNumberFormat'
),
msgInfo
:
intl
.
get
(
"WrongPhoneNumberFormat"
),
});
});
return
false
;
return
false
;
}
else
{
}
else
{
...
@@ -804,7 +902,7 @@ class Login extends React.Component {
...
@@ -804,7 +902,7 @@ class Login extends React.Component {
}
}
if
(
!
testPhoneCode
)
{
if
(
!
testPhoneCode
)
{
this
.
setState
({
this
.
setState
({
msgInfo
:
intl
.
get
(
'PleaseInputSmsCode'
),
msgInfo
:
intl
.
get
(
"PleaseInputSmsCode"
),
});
});
return
false
;
return
false
;
}
else
{
}
else
{
...
@@ -814,7 +912,7 @@ class Login extends React.Component {
...
@@ -814,7 +912,7 @@ class Login extends React.Component {
}
}
if
(
!
m2Passowrd
)
{
if
(
!
m2Passowrd
)
{
this
.
setState
({
this
.
setState
({
msgInfo
:
intl
.
get
(
'NewPassword'
),
msgInfo
:
intl
.
get
(
"NewPassword"
),
});
});
return
false
;
return
false
;
}
else
{
}
else
{
...
@@ -825,7 +923,7 @@ class Login extends React.Component {
...
@@ -825,7 +923,7 @@ class Login extends React.Component {
if
(
!
m2PassowrdAgain
)
{
if
(
!
m2PassowrdAgain
)
{
this
.
setState
({
this
.
setState
({
msgInfo
:
intl
.
get
(
'ConfirmNewPassword'
),
msgInfo
:
intl
.
get
(
"ConfirmNewPassword"
),
});
});
return
false
;
return
false
;
}
else
{
}
else
{
...
@@ -836,7 +934,7 @@ class Login extends React.Component {
...
@@ -836,7 +934,7 @@ class Login extends React.Component {
if
(
m2Passowrd
!==
m2PassowrdAgain
)
{
if
(
m2Passowrd
!==
m2PassowrdAgain
)
{
this
.
setState
({
this
.
setState
({
msgInfo
:
intl
.
get
(
'TwoInputPasswordsMustBeConsistent'
),
msgInfo
:
intl
.
get
(
"TwoInputPasswordsMustBeConsistent"
),
});
});
return
false
;
return
false
;
}
else
{
}
else
{
...
@@ -845,34 +943,44 @@ class Login extends React.Component {
...
@@ -845,34 +943,44 @@ class Login extends React.Component {
});
});
}
}
const
public_key
=
'047214fe3a249b75b6ba92ee494e0a8a68c0a19893a480b3c28bf06cd5b7d621243c7f6704caa3b43ade6be15de11cabd185611a9edfdcf1b11d7a2478c67b4c1c'
const
public_key
=
"047214fe3a249b75b6ba92ee494e0a8a68c0a19893a480b3c28bf06cd5b7d621243c7f6704caa3b43ade6be15de11cabd185611a9edfdcf1b11d7a2478c67b4c1c"
;
const
private_key
=
'00a2bbe941a177ca9f200d1c4d37e8f0b43b9cd2ea662304a05c064c6416e74d49'
const
private_key
=
"00a2bbe941a177ca9f200d1c4d37e8f0b43b9cd2ea662304a05c064c6416e74d49"
;
let
salt
=
""
let
salt
=
""
;
let
date
=
""
let
date
=
""
;
let
key
=
""
let
key
=
""
;
let
sign
=
""
let
sign
=
""
;
let
newPassword
=
""
let
newPassword
=
""
;
let
confirmNewPassword
=
""
let
confirmNewPassword
=
""
;
salt
=
this
.
generateCharacter
(
16
)
salt
=
this
.
generateCharacter
(
16
)
;
console
.
log
(
"validate-salt"
,
salt
)
console
.
log
(
"validate-salt"
,
salt
);
date
=
this
.
getCurrentDay
()
date
=
this
.
getCurrentDay
()
;
console
.
log
(
"validate-date"
,
date
)
console
.
log
(
"validate-date"
,
date
);
newPassword
=
sm2
.
doEncrypt
(
m2Passowrd
+
salt
,
public_key
,
1
);
newPassword
=
sm2
.
doEncrypt
(
m2Passowrd
+
salt
,
public_key
,
1
);
confirmNewPassword
=
sm2
.
doEncrypt
(
m2PassowrdAgain
+
salt
,
public_key
,
1
)
confirmNewPassword
=
sm2
.
doEncrypt
(
m2PassowrdAgain
+
salt
,
public_key
,
1
);
newPassword
=
"04"
+
newPassword
newPassword
=
"04"
+
newPassword
;
confirmNewPassword
=
"04"
+
confirmNewPassword
confirmNewPassword
=
"04"
+
confirmNewPassword
;
if
(
salt
&&
date
)
{
if
(
salt
&&
date
)
{
key
=
salt
+
date
key
=
salt
+
date
;
console
.
log
(
"validate-key"
,
key
)
console
.
log
(
"validate-key"
,
key
);
}
}
sign
=
"confirmPassword="
+
confirmNewPassword
+
"&password="
+
newPassword
+
"&salt="
+
salt
+
"&key="
+
key
sign
=
"confirmPassword="
+
console
.
log
(
"validate-sign"
,
md5
(
sign
))
confirmNewPassword
+
"&password="
+
newPassword
+
"&salt="
+
salt
+
"&key="
+
key
;
console
.
log
(
"validate-sign"
,
md5
(
sign
));
// const params = {
// const params = {
// accountId: m2accountId,
// accountId: m2accountId,
...
@@ -890,24 +998,24 @@ class Login extends React.Component {
...
@@ -890,24 +998,24 @@ class Login extends React.Component {
password
:
newPassword
,
password
:
newPassword
,
confirmPassword
:
confirmNewPassword
,
confirmPassword
:
confirmNewPassword
,
smsSendRequestNo
:
smsSendRequestNo
,
smsSendRequestNo
:
smsSendRequestNo
,
salt
:
salt
,
salt
:
salt
,
sign
:
md5
(
sign
)
sign
:
md5
(
sign
)
,
};
};
this
.
props
.
forgetLogin
(
params
,
(
res
)
=>
{
this
.
props
.
forgetLogin
(
params
,
(
res
)
=>
{
if
(
res
.
code
===
'1000'
)
{
if
(
res
.
code
===
"1000"
)
{
message
.
success
(
intl
.
get
(
res
.
subMsg
));
message
.
success
(
intl
.
get
(
res
.
subMsg
));
this
.
modal1Click
(
e
);
this
.
modal1Click
(
e
);
}
else
{
}
else
{
message
.
error
(
intl
.
get
(
res
.
subMsg
));
message
.
error
(
intl
.
get
(
res
.
subMsg
));
}
}
});
});
}
}
;
modal1Click
=
(
e
)
=>
{
modal1Click
=
(
e
)
=>
{
e
.
stopPropagation
();
e
.
stopPropagation
();
this
.
setState
({
this
.
setState
({
modalVsb
:
'none'
,
modalVsb
:
"none"
,
m1Mobile
:
null
,
m1Mobile
:
null
,
testPhoneCode
:
null
,
testPhoneCode
:
null
,
m2Passowrd
:
null
,
m2Passowrd
:
null
,
...
@@ -916,17 +1024,17 @@ class Login extends React.Component {
...
@@ -916,17 +1024,17 @@ class Login extends React.Component {
smsSendRequestNo
:
null
,
smsSendRequestNo
:
null
,
msgInfo
:
null
,
msgInfo
:
null
,
});
});
}
}
;
modal1Content
=
(
e
)
=>
{
modal1Content
=
(
e
)
=>
{
e
.
stopPropagation
();
e
.
stopPropagation
();
}
}
;
modal2Click
=
(
e
)
=>
{
modal2Click
=
(
e
)
=>
{
func
.
mainLoadingHide
();
func
.
mainLoadingHide
();
this
.
codeSetInterval
(
0
);
this
.
codeSetInterval
(
0
);
this
.
setState
({
this
.
setState
({
disabledBtn
:
true
,
disabledBtn
:
true
,
btnName
:
intl
.
get
(
'SendCode'
),
btnName
:
intl
.
get
(
"SendCode"
),
modal2Vsb
:
'none'
,
modal2Vsb
:
"none"
,
m2Mobile
:
null
,
m2Mobile
:
null
,
testPhoneCode
:
null
,
testPhoneCode
:
null
,
m2Passowrd
:
null
,
m2Passowrd
:
null
,
...
@@ -935,17 +1043,16 @@ class Login extends React.Component {
...
@@ -935,17 +1043,16 @@ class Login extends React.Component {
smsSendRequestNo
:
null
,
smsSendRequestNo
:
null
,
msgInfo
:
null
,
msgInfo
:
null
,
});
});
}
}
;
modal2Content
=
(
e
)
=>
{
modal2Content
=
(
e
)
=>
{
e
.
stopPropagation
();
e
.
stopPropagation
();
}
}
;
componentWillUnmount
()
{
componentWillUnmount
()
{
isMounted
=
false
;
isMounted
=
false
;
this
.
props
=
null
;
this
.
props
=
null
;
}
}
render
()
{
render
()
{
//const from = this.props.location.pathname;
//const from = this.props.location.pathname;
console
.
log
(
this
.
state
.
logoUrl
);
console
.
log
(
this
.
state
.
logoUrl
);
...
@@ -955,35 +1062,35 @@ class Login extends React.Component {
...
@@ -955,35 +1062,35 @@ class Login extends React.Component {
const
SUPPOER_LOCALES
=
[
const
SUPPOER_LOCALES
=
[
{
{
name
:
"简体中文"
,
name
:
"简体中文"
,
value
:
"zh_CN"
value
:
"zh_CN"
,
},
},
{
{
name
:
"English"
,
name
:
"English"
,
value
:
"en_US"
value
:
"en_US"
,
}
}
,
];
];
if
(
redirectToReferrer
)
{
if
(
redirectToReferrer
)
{
const
{
from
}
=
this
.
props
.
location
.
state
||
{
const
{
from
}
=
this
.
props
.
location
.
state
||
{
from
:
{
pathname
:
fnPrefix
(
this
.
props
.
match
.
path
)
+
"/index"
}
// default site
from
:
{
pathname
:
fnPrefix
(
this
.
props
.
match
.
path
)
+
"/index"
}
,
// default site
};
};
return
<
Redirect
to
=
{
from
}
/>
;
return
<
Redirect
to
=
{
from
}
/>
;
}
}
const
remarkStyle
=
{
//bug-12732-liyuan
const
remarkStyle
=
{
marginBottom
:
0
,
//bug-12732-liyuan
lineHeight
:
'1.8'
,
marginBottom
:
0
,
fontSize
:
'12px'
,
lineHeight
:
"1.8"
,
padding
:
'0 16px'
fontSize
:
"12px"
,
}
padding
:
"0 16px"
,
};
return
(
return
(
<
div
className
=
"login"
>
<
div
className
=
"login"
>
<
div
style
=
{{
width
:
"100%"
,
background
:
"#fff"
}}
>
<
div
style
=
{{
width
:
"100%"
,
background
:
"#fff"
}}
>
<
div
className
=
"login-logo"
>
<
div
className
=
"login-logo"
>
{
{
this
.
state
.
logoUrl
?
(
this
.
state
.
logoUrl
?
<
img
className
=
"logo-img"
src
=
{
this
.
state
.
logoUrl
}
/
>
<
img
className
=
"logo-img"
src
=
{
this
.
state
.
logoUrl
}
/>:"
"
)
:
(
}
""
)}
{
/* <Popover content={<select onChange={this.fnChangeLanguage} className="logo-popover" >
{
/* <Popover content={<select onChange={this.fnChangeLanguage} className="logo-popover" >
<option value="" disabled="">Change Language</option>
<option value="" disabled="">Change Language</option>
...
@@ -1002,27 +1109,49 @@ class Login extends React.Component {
...
@@ -1002,27 +1109,49 @@ class Login extends React.Component {
<
/div
>
<
/div
>
<
div
className
=
"login-color"
>
<
div
className
=
"login-color"
>
<
div
className
=
"login-bgp"
style
=
{{
backgroundImage
:
"url("
+
this
.
state
.
url
+
")"
}}
><
/div
>
<
div
className
=
"login-bgp"
style
=
{{
backgroundImage
:
"url("
+
this
.
state
.
url
+
")"
}}
><
/div
>
<
div
className
=
"login-box"
>
<
div
className
=
"login-box"
>
<
div
className
=
"login-form"
>
<
div
className
=
"login-form"
>
<
Tabs
<
Tabs
animated
=
{
false
}
animated
=
{
false
}
tabBarGutter
=
{
60
}
tabBarGutter
=
{
60
}
tabBarStyle
=
{{
display
:
"flex"
,
justifyContent
:
"center"
}}
tabBarStyle
=
{{
display
:
"flex"
,
justifyContent
:
"center"
}}
tabBarExtraContent
=
{
<
Divider
style
=
{{
position
:
'absolute'
,
left
:
'156px'
,
top
:
'16px'
}}
type
=
"vertical"
/>
}
tabBarExtraContent
=
{
<
Divider
style
=
{{
position
:
"absolute"
,
left
:
"156px"
,
top
:
"16px"
}}
type
=
"vertical"
/>
}
defaultActiveKey
=
{
this
.
state
.
tabsKey
}
defaultActiveKey
=
{
this
.
state
.
tabsKey
}
onChange
=
{(
key
)
=>
this
.
tabsCallback
(
key
)}
onChange
=
{(
key
)
=>
this
.
tabsCallback
(
key
)}
>
>
<
TabPane
tab
=
{
<
span
style
=
{{
maxWidth
:
'90px'
,
<
TabPane
paddingLeft
:
'0px'
,
tab
=
{
display
:
'inline-block'
,
<
span
overflow
:
"hidden"
,
style
=
{{
whiteSpace
:
"nowrap"
,
maxWidth
:
"90px"
,
textOverflow
:
'ellipsis'
paddingLeft
:
"0px"
,
}}
title
=
{
intl
.
get
(
'AccountLogin'
)}
>
{
intl
.
get
(
'AccountLogin'
)}
<
/span>} key="1" style={{ textAlign: "center" }}
>
display
:
"inline-block"
,
overflow
:
"hidden"
,
whiteSpace
:
"nowrap"
,
textOverflow
:
"ellipsis"
,
}}
title
=
{
intl
.
get
(
"AccountLogin"
)}
>
{
intl
.
get
(
"AccountLogin"
)}
<
/span
>
}
key
=
"1"
style
=
{{
textAlign
:
"center"
}}
>
<
Input
<
Input
style
=
{{
width
:
"90%"
,
marginTop
:
"20px"
}}
style
=
{{
width
:
"90%"
,
marginTop
:
"20px"
}}
prefix
=
{
<
Icon
type
=
"user"
style
=
{{
color
:
'rgba(0,0,0,.25)'
}}
/>
}
prefix
=
{
<
Icon
type
=
"user"
style
=
{{
color
:
"rgba(0,0,0,.25)"
}}
/
>
}
placeholder
=
{
this
.
state
.
loginNameDesc
}
placeholder
=
{
this
.
state
.
loginNameDesc
}
value
=
{
this
.
state
.
accountVal
}
value
=
{
this
.
state
.
accountVal
}
whitespace
=
"true"
whitespace
=
"true"
...
@@ -1031,67 +1160,163 @@ class Login extends React.Component {
...
@@ -1031,67 +1160,163 @@ class Login extends React.Component {
<
Input
.
Password
<
Input
.
Password
type
=
"password"
type
=
"password"
maxLength
=
{
20
}
maxLength
=
{
20
}
style
=
{{
width
:
"90%"
,
marginTop
:
"30px"
,
marginBottom
:
"8px"
}}
style
=
{{
prefix
=
{
<
Icon
type
=
"lock"
style
=
{{
color
:
'rgba(0,0,0,.25)'
}}
/>
}
width
:
"90%"
,
marginTop
:
"30px"
,
marginBottom
:
"8px"
,
}}
prefix
=
{
<
Icon
type
=
"lock"
style
=
{{
color
:
"rgba(0,0,0,.25)"
}}
/
>
}
placeholder
=
{
this
.
state
.
loginPwdDesc
}
placeholder
=
{
this
.
state
.
loginPwdDesc
}
value
=
{
this
.
state
.
passwordVal
}
value
=
{
this
.
state
.
passwordVal
}
onChange
=
{(
e
)
=>
this
.
passwordVal
(
e
.
target
.
value
)}
onChange
=
{(
e
)
=>
this
.
passwordVal
(
e
.
target
.
value
)}
onPressEnter
=
{
this
.
userNameLogin
}
onPressEnter
=
{
this
.
userNameLogin
}
/
>
/
>
{
/*记住密码,忘记密码 */
}
{
/*记住密码,忘记密码 */
}
<
div
style
=
{{
paddingRight
:
'8px'
,
paddingLeft
:
'8px'
,
height
:
"20px"
}}
>
<
div
style
=
{{
paddingRight
:
"8px"
,
paddingLeft
:
"8px"
,
height
:
"20px"
,
}}
>
<
span
>
<
span
>
<
Checkbox
checked
=
{
this
.
state
.
isRemember
}
onClick
=
{
this
.
handleCheckbox
}
style
=
{{
position
:
"absolute"
,
left
:
"20px"
,
color
:
'#999'
}}
>
{
intl
.
get
(
'KeepPassword'
)}
<
/Checkbox
>
<
Checkbox
checked
=
{
this
.
state
.
isRemember
}
onClick
=
{
this
.
handleCheckbox
}
style
=
{{
position
:
"absolute"
,
left
:
"20px"
,
color
:
"#999"
,
}}
>
{
intl
.
get
(
"KeepPassword"
)}
<
/Checkbox
>
<
/span
>
<
/span
>
<
span
>
<
span
>
<
a
onClick
=
{
this
.
lostPassword
}
style
=
{{
position
:
"absolute"
,
right
:
"20px"
,
color
:
'#999'
}}
>
{
intl
.
get
(
'ForgotPassword'
)}
<
/a
>
<
a
onClick
=
{
this
.
lostPassword
}
style
=
{{
position
:
"absolute"
,
right
:
"20px"
,
color
:
"#999"
,
}}
>
{
intl
.
get
(
"ForgotPassword"
)}
<
/a
>
<
/span
>
<
/span
>
<
/div
>
<
/div
>
<
span
className
=
"test-info-user"
>
{
this
.
state
.
msgInfo1
}
<
/span
>
<
span
className
=
"test-info-user"
>
{
this
.
state
.
msgInfo1
}
<
/span
>
<
Button
className
=
"login-btn-tab1"
style
=
{{
width
:
'90%'
}}
type
=
"primary"
onClick
=
{
this
.
userNameLogin
}
title
=
{
intl
.
get
(
'LogIn'
)}
>
{
intl
.
get
(
'LogIn'
)}
<
/Button
>
<
Button
className
=
"login-btn-tab1"
style
=
{{
width
:
"90%"
}}
type
=
"primary"
onClick
=
{
this
.
userNameLogin
}
title
=
{
intl
.
get
(
"LogIn"
)}
>
{
intl
.
get
(
"LogIn"
)}
<
/Button
>
<
/TabPane
>
<
/TabPane
>
<
TabPane
tab
=
{
<
span
style
=
{{
maxWidth
:
'90px'
,
<
TabPane
paddingLeft
:
'0px'
,
tab
=
{
display
:
'inline-block'
,
<
span
overflow
:
"hidden"
,
style
=
{{
whiteSpace
:
"nowrap"
,
maxWidth
:
"90px"
,
textOverflow
:
'ellipsis'
paddingLeft
:
"0px"
,
}}
title
=
{
intl
.
get
(
'SmsLogin'
)}
>
{
intl
.
get
(
'SmsLogin'
)}
<
/span>
}
display
:
"inline-block"
,
key
=
"2"
style
=
{{
padding
:
"5%"
}}
>
overflow
:
"hidden"
,
whiteSpace
:
"nowrap"
,
textOverflow
:
"ellipsis"
,
}}
title
=
{
intl
.
get
(
"SmsLogin"
)}
>
{
intl
.
get
(
"SmsLogin"
)}
<
/span
>
}
key
=
"2"
style
=
{{
padding
:
"5%"
}}
>
<
Input
<
Input
className
=
{
this
.
state
.
borderRed
}
className
=
{
this
.
state
.
borderRed
}
onFocus
=
{
this
.
inputFocus
}
onFocus
=
{
this
.
inputFocus
}
style
=
{{
width
:
"100%"
,
marginTop
:
"0px"
}}
style
=
{{
width
:
"100%"
,
marginTop
:
"0px"
}}
prefix
=
{
<
Icon
type
=
"mobile"
style
=
{{
color
:
'rgba(0,0,0,.25)'
}}
/>
}
prefix
=
{
placeholder
=
{
intl
.
get
(
'mobile.number.empty'
)}
<
Icon
type
=
"mobile"
style
=
{{
color
:
"rgba(0,0,0,.25)"
}}
/
>
}
placeholder
=
{
intl
.
get
(
"mobile.number.empty"
)}
value
=
{
this
.
state
.
testMobile
}
value
=
{
this
.
state
.
testMobile
}
onChange
=
{(
e
)
=>
this
.
testMobileFn
(
e
.
target
.
value
)}
onChange
=
{(
e
)
=>
this
.
testMobileFn
(
e
.
target
.
value
)}
/
>
/
>
<
div
>
<
div
>
<
Input
<
Input
style
=
{{
width
:
"55%"
,
marginTop
:
"25px"
,
marginRight
:
"10%"
}}
style
=
{{
prefix
=
{
<
Icon
type
=
"safety"
style
=
{{
color
:
'rgba(0,0,0,.25)'
}}
/>
}
width
:
"55%"
,
placeholder
=
{
intl
.
get
(
'PleaseInputCaptchaCode'
)}
marginTop
:
"25px"
,
marginRight
:
"10%"
,
}}
prefix
=
{
<
Icon
type
=
"safety"
style
=
{{
color
:
"rgba(0,0,0,.25)"
}}
/
>
}
placeholder
=
{
intl
.
get
(
"PleaseInputCaptchaCode"
)}
value
=
{
this
.
state
.
imgVerifyCode
}
value
=
{
this
.
state
.
imgVerifyCode
}
onChange
=
{(
e
)
=>
this
.
testImgCode
(
e
.
target
.
value
)}
onChange
=
{(
e
)
=>
this
.
testImgCode
(
e
.
target
.
value
)}
/
>
/
>
<
a
onClick
=
{
this
.
imgClick
}
><
img
style
=
{{
height
:
"38px"
,
width
:
"35%"
,
marginTop
:
"-3px"
}}
src
=
{
this
.
state
.
imgsUrl
}
/></
a
>
<
a
onClick
=
{
this
.
imgClick
}
>
<
img
style
=
{{
height
:
"38px"
,
width
:
"35%"
,
marginTop
:
"-3px"
,
}}
src
=
{
this
.
state
.
imgsUrl
}
/
>
<
/a
>
<
/div
>
<
/div
>
<
Input
<
Input
style
=
{{
width
:
"55%"
,
marginTop
:
"25px"
,
marginBottom
:
"8px"
,
marginRight
:
"10%"
}}
style
=
{{
width
:
"55%"
,
marginTop
:
"25px"
,
marginBottom
:
"8px"
,
marginRight
:
"10%"
,
}}
onChange
=
{(
e
)
=>
this
.
testPhoneCode
(
e
.
target
.
value
)}
onChange
=
{(
e
)
=>
this
.
testPhoneCode
(
e
.
target
.
value
)}
value
=
{
this
.
state
.
testPhoneCode
}
value
=
{
this
.
state
.
testPhoneCode
}
disabled
=
{
this
.
state
.
disabledBtn
}
disabled
=
{
this
.
state
.
disabledBtn
}
placeholder
=
{
intl
.
get
(
'VerificationCode'
)}
placeholder
=
{
intl
.
get
(
"VerificationCode"
)}
onPressEnter
=
{
this
.
testLoginFn
}
onPressEnter
=
{
this
.
testLoginFn
}
/
>
/
>
<
Button
className
=
"login-btn-tab2"
style
=
{{
color
:
this
.
state
.
codeBtnColor
,
backgroundColor
:
this
.
state
.
backColor
}}
disabled
=
{
this
.
state
.
codeBtnState
}
onClick
=
{()
=>
this
.
testCodeBtn
(
1
)}
title
=
{
this
.
state
.
btnName
}
>
{
this
.
state
.
btnName
}
<
/Button
>
<
Button
className
=
"login-btn-tab2"
style
=
{{
color
:
this
.
state
.
codeBtnColor
,
backgroundColor
:
this
.
state
.
backColor
,
}}
disabled
=
{
this
.
state
.
codeBtnState
}
onClick
=
{()
=>
this
.
testCodeBtn
(
1
)}
title
=
{
this
.
state
.
btnName
}
>
{
this
.
state
.
btnName
}
<
/Button
>
<
p
className
=
"test-info"
>
{
this
.
state
.
msgInfo
}
<
/p
>
<
p
className
=
"test-info"
>
{
this
.
state
.
msgInfo
}
<
/p
>
<
Button
type
=
"primary"
className
=
"login-btn-tab3"
onClick
=
{
this
.
testLoginFn
}
title
=
{
intl
.
get
(
'LogIn'
)}
>
{
intl
.
get
(
'LogIn'
)}
<
/Button
>
<
Button
type
=
"primary"
className
=
"login-btn-tab3"
onClick
=
{
this
.
testLoginFn
}
title
=
{
intl
.
get
(
"LogIn"
)}
>
{
intl
.
get
(
"LogIn"
)}
<
/Button
>
<
/TabPane
>
<
/TabPane
>
<
/Tabs
>
<
/Tabs
>
<
/div
>
<
/div
>
...
@@ -1101,22 +1326,39 @@ class Login extends React.Component {
...
@@ -1101,22 +1326,39 @@ class Login extends React.Component {
{
this
.
state
.
footer
}
{
this
.
state
.
footer
}
<
br
/>
<
br
/>
<
span
>
<
span
>
{
/* <a href="http://www.miibeian.gov.cn"> 沪ICP备11001012号</a> */
}
{
/* <a href="http://www.miibeian.gov.cn"> 沪ICP备11001012号</a> */
}
{
/* bug-10823-cwj */
}
{
/* bug-10823-cwj */
}
<
a
href
=
"http://www.beian.miit.gov.cn/"
>
沪
ICP
备
11001012
号
<
/a
>
<
a
href
=
"http://www.beian.miit.gov.cn/"
>
沪
ICP
备
11001012
号
<
/a
>
<
/span
>
<
/span
>
<
/p
>
<
/p
>
{
/* 下边是两个弹框 第一个是 忘记密码 第二个是首次登录 */
}
{
/* 下边是两个弹框 第一个是 忘记密码 第二个是首次登录 */
}
<
div
className
=
"login-modal1"
onClick
=
{
this
.
modal1Click
}
style
=
{{
display
:
this
.
state
.
modalVsb
}}
>
<
div
<
div
className
=
"modal1-content"
onClick
=
{(
e
)
=>
this
.
modal1Content
(
e
)}
>
className
=
"login-modal1"
<
Icon
type
=
"close"
className
=
"icon-close"
onClick
=
{
this
.
modal1Click
}
/
>
onClick
=
{
this
.
modal1Click
}
<
div
className
=
"modal1-h3"
title
=
{
intl
.
get
(
'ResetPassword'
)}
>
{
intl
.
get
(
'ResetPassword'
)}
<
/div
>
style
=
{{
display
:
this
.
state
.
modalVsb
}}
<
p
className
=
"modal1-p"
>
{
intl
.
get
(
'UseTheBindedPhoneNumberToResetPassword'
)}
<
/p
>
>
<
div
className
=
"modal1-content"
onClick
=
{(
e
)
=>
this
.
modal1Content
(
e
)}
>
<
Icon
type
=
"close"
className
=
"icon-close"
onClick
=
{
this
.
modal1Click
}
/
>
<
div
className
=
"modal1-h3"
title
=
{
intl
.
get
(
"ResetPassword"
)}
>
{
intl
.
get
(
"ResetPassword"
)}
<
/div
>
<
p
className
=
"modal1-p"
>
{
intl
.
get
(
"UseTheBindedPhoneNumberToResetPassword"
)}
<
/p
>
<
div
className
=
"modal1-form"
>
<
div
className
=
"modal1-form"
>
<
Input
<
Input
style
=
{{
width
:
"100%"
,
marginTop
:
"0px"
}}
style
=
{{
width
:
"100%"
,
marginTop
:
"0px"
}}
prefix
=
{
<
Icon
type
=
"mobile"
style
=
{{
color
:
'rgba(0,0,0,.25)'
}}
/>
}
prefix
=
{
placeholder
=
{
intl
.
get
(
'mobile.number.empty'
)}
<
Icon
type
=
"mobile"
style
=
{{
color
:
"rgba(0,0,0,.25)"
}}
/
>
}
placeholder
=
{
intl
.
get
(
"mobile.number.empty"
)}
value
=
{
this
.
state
.
m1Mobile
}
value
=
{
this
.
state
.
m1Mobile
}
onChange
=
{(
e
)
=>
this
.
m1MobileFn
(
e
.
target
.
value
)}
onChange
=
{(
e
)
=>
this
.
m1MobileFn
(
e
.
target
.
value
)}
/
>
/
>
...
@@ -1126,16 +1368,36 @@ class Login extends React.Component {
...
@@ -1126,16 +1368,36 @@ class Login extends React.Component {
value
=
{
this
.
state
.
testPhoneCode
}
value
=
{
this
.
state
.
testPhoneCode
}
disabled
=
{
this
.
state
.
disabledBtn
}
disabled
=
{
this
.
state
.
disabledBtn
}
onChange
=
{(
e
)
=>
this
.
testPhoneCode
(
e
.
target
.
value
)}
onChange
=
{(
e
)
=>
this
.
testPhoneCode
(
e
.
target
.
value
)}
placeholder
=
{
intl
.
get
(
'VerificationCode'
)}
placeholder
=
{
intl
.
get
(
"VerificationCode"
)}
/
>
/
>
<
Button
className
=
"modal1-btn-tab2"
style
=
{{
color
:
this
.
state
.
codeBtnColor
,
backgroundColor
:
this
.
state
.
backColor
}}
disabled
=
{
this
.
state
.
codeBtnState
}
onClick
=
{()
=>
this
.
testCodeBtn
(
2
)}
>
{
this
.
state
.
btnName
}
<
/Button
>
<
Button
className
=
"modal1-btn-tab2"
style
=
{{
color
:
this
.
state
.
codeBtnColor
,
backgroundColor
:
this
.
state
.
backColor
,
}}
disabled
=
{
this
.
state
.
codeBtnState
}
onClick
=
{()
=>
this
.
testCodeBtn
(
2
)}
>
{
this
.
state
.
btnName
}
<
/Button
>
{
/* type="password" 浏览器会有自动填充,添加一个 input display none 就可以解决 */
}
{
/* type="password" 浏览器会有自动填充,添加一个 input display none 就可以解决 */
}
<
Input
type
=
"text"
name
=
"text"
style
=
{{
display
:
"none"
}}
/
>
<
Input
type
=
"text"
name
=
"text"
style
=
{{
display
:
"none"
}}
/
>
<
Input
type
=
"password"
name
=
"password"
style
=
{{
display
:
"none"
}}
/
>
<
Input
<
Input
style
=
{{
width
:
"100%"
,
marginTop
:
"25px"
,
marginBottom
:
"8px"
}}
type
=
"password"
prefix
=
{
<
Icon
type
=
"lock"
style
=
{{
color
:
'rgba(0,0,0,.25)'
}}
/>
}
name
=
"password"
placeholder
=
{
intl
.
get
(
'NewPassword'
)}
style
=
{{
display
:
"none"
}}
/
>
<
Input
style
=
{{
width
:
"100%"
,
marginTop
:
"25px"
,
marginBottom
:
"8px"
,
}}
prefix
=
{
<
Icon
type
=
"lock"
style
=
{{
color
:
"rgba(0,0,0,.25)"
}}
/
>
}
placeholder
=
{
intl
.
get
(
"NewPassword"
)}
maxLength
=
{
20
}
maxLength
=
{
20
}
type
=
"password"
type
=
"password"
value
=
{
this
.
state
.
m2Passowrd
}
value
=
{
this
.
state
.
m2Passowrd
}
...
@@ -1143,13 +1405,23 @@ class Login extends React.Component {
...
@@ -1143,13 +1405,23 @@ class Login extends React.Component {
onBlur
=
{
this
.
m1PassowrdAgainBlur
}
onBlur
=
{
this
.
m1PassowrdAgainBlur
}
className
=
{
this
.
state
.
msgInfo
?
"foucesErr"
:
""
}
//bug-12732-liyuan
className
=
{
this
.
state
.
msgInfo
?
"foucesErr"
:
""
}
//bug-12732-liyuan
/
>
/
>
<
Input
type
=
"password"
name
=
"password"
style
=
{{
display
:
"none"
}}
/
>
<
Input
<
Input
style
=
{{
width
:
"100%"
,
marginTop
:
"25px"
,
marginBottom
:
"30px"
}}
prefix
=
{
<
Icon
type
=
"lock"
style
=
{{
color
:
'rgba(0,0,0,.25)'
}}
/>
}
placeholder
=
{
intl
.
get
(
'ConfirmNewPassword'
)}
type
=
"password"
type
=
"password"
maxLength
=
{
20
}
name
=
"password"
style
=
{{
display
:
"none"
}}
/
>
<
Input
style
=
{{
width
:
"100%"
,
marginTop
:
"25px"
,
marginBottom
:
"30px"
,
}}
prefix
=
{
<
Icon
type
=
"lock"
style
=
{{
color
:
"rgba(0,0,0,.25)"
}}
/
>
}
placeholder
=
{
intl
.
get
(
"ConfirmNewPassword"
)}
type
=
"password"
maxLength
=
{
20
}
value
=
{
this
.
state
.
m2PassowrdAgain
}
value
=
{
this
.
state
.
m2PassowrdAgain
}
onChange
=
{(
e
)
=>
this
.
passwordAgain
(
e
.
target
.
value
)}
onChange
=
{(
e
)
=>
this
.
passwordAgain
(
e
.
target
.
value
)}
onBlur
=
{
this
.
m1PassowrdAgainBlur
}
onBlur
=
{
this
.
m1PassowrdAgainBlur
}
...
@@ -1157,34 +1429,57 @@ class Login extends React.Component {
...
@@ -1157,34 +1429,57 @@ class Login extends React.Component {
className
=
{
this
.
state
.
msgInfo
?
"foucesErr"
:
""
}
//bug-12732-liyuan
className
=
{
this
.
state
.
msgInfo
?
"foucesErr"
:
""
}
//bug-12732-liyuan
/
>
/
>
<
p
className
=
"login-info"
>
{
this
.
state
.
msgInfo
}
<
/p
>
<
p
className
=
"login-info"
>
{
this
.
state
.
msgInfo
}
<
/p
>
<
Button
type
=
"primary"
className
=
"modal1-btn-tab3"
onClick
=
{
this
.
m1loginFn
}
>
{
intl
.
get
(
'Yes'
)}
<
/Button
>
<
Button
type
=
"primary"
className
=
"modal1-btn-tab3"
onClick
=
{
this
.
m1loginFn
}
>
{
intl
.
get
(
"Yes"
)}
<
/Button
>
<
/div
>
<
/div
>
{
/*bug-12732-liyuan*/
}
{
/*bug-12732-liyuan*/
}
<
p
style
=
{{
...
remarkStyle
,
marginTop
:
'32px'
}}
>
<
p
style
=
{{
...
remarkStyle
,
marginTop
:
"32px"
}}
>
<
span
>
(
1
)
<
/span>  
;
<
span
>
(
1
)
<
/span>  
;
<
span
>
{
intl
.
get
(
"Passwordonlysupportsletters"
)}
<
/span
>
<
span
>
{
intl
.
get
(
"Passwordonlysupportsletters"
)}
<
/span
>
<
/p
>
<
/p
>
<
p
style
=
{{
...
remarkStyle
,
marginTop
:
'0'
}}
>
<
p
style
=
{{
...
remarkStyle
,
marginTop
:
"0"
}}
>
<
span
>
(
2
)
<
/span>  
;
<
span
>
(
2
)
<
/span>  
;
<
span
>
{
intl
.
get
(
"bitsinlengthandmustinclude3ofthefollowing"
)}
<
/span
>
<
span
>
{
intl
.
get
(
"bitsinlengthandmustinclude3ofthefollowing"
)}
<
/span
>
<
/p
>
<
/p
>
<
p
style
=
{{...
remarkStyle
,
marginTop
:
'0'
,
paddingBottom
:
'12px'
}}
>
<
p
style
=
{{
...
remarkStyle
,
marginTop
:
"0"
,
paddingBottom
:
"12px"
}}
>
<
span
>
(
3
)
<
/span>  
;
<
span
>
(
3
)
<
/span>  
;
<
span
>
{
intl
.
get
(
"Passwordcannotincludeuserinformation"
)}
<
/span
>
<
span
>
{
intl
.
get
(
"Passwordcannotincludeuserinformation"
)}
<
/span
>
<
/p
>
<
/p
>
<
/div
>
<
/div
>
<
/div
>
<
/div
>
<
div
className
=
"login-modal2"
onClick
=
{(
e
)
=>
this
.
modal2Click
(
e
)}
style
=
{{
display
:
this
.
state
.
modal2Vsb
}}
>
<
div
<
div
className
=
"modal1-content"
onClick
=
{(
e
)
=>
this
.
modal2Content
(
e
)}
>
className
=
"login-modal2"
onClick
=
{(
e
)
=>
this
.
modal2Click
(
e
)}
style
=
{{
display
:
this
.
state
.
modal2Vsb
}}
>
<
div
className
=
"modal1-content"
onClick
=
{(
e
)
=>
this
.
modal2Content
(
e
)}
>
{
/* <Icon type="close" className="icon-close" onClick={(e)=>this.modal2Click(e)} /> */
}
{
/* <Icon type="close" className="icon-close" onClick={(e)=>this.modal2Click(e)} /> */
}
<
div
className
=
"modal1-h3"
title
=
{
intl
.
get
(
'ChangePassword'
)}
>
{
intl
.
get
(
'ChangePassword'
)}
<
/div
>
<
div
className
=
"modal1-h3"
title
=
{
intl
.
get
(
"ChangePassword"
)}
>
<
p
className
=
"modal1-p"
>
{
intl
.
get
(
'PleaseChangePasswordForYourFirstLogIn'
)}
<
/p
>
{
intl
.
get
(
"ChangePassword"
)}
<
/div
>
<
p
className
=
"modal1-p"
>
{
intl
.
get
(
"PleaseChangePasswordForYourFirstLogIn"
)}
<
/p
>
<
div
className
=
"modal1-form"
>
<
div
className
=
"modal1-form"
>
<
Input
<
Input
style
=
{{
width
:
"100%"
,
marginTop
:
"0px"
}}
style
=
{{
width
:
"100%"
,
marginTop
:
"0px"
}}
prefix
=
{
<
Icon
type
=
"mobile"
style
=
{{
color
:
'rgba(0,0,0,.25)'
}}
/>
}
prefix
=
{
placeholder
=
{
intl
.
get
(
'mobile.number.empty'
)}
<
Icon
type
=
"mobile"
style
=
{{
color
:
"rgba(0,0,0,.25)"
}}
/
>
}
placeholder
=
{
intl
.
get
(
"mobile.number.empty"
)}
// defaultValue={this.state.m2Mobile}
// defaultValue={this.state.m2Mobile}
value
=
{
this
.
state
.
m2Mobile
}
value
=
{
this
.
state
.
m2Mobile
}
disabled
=
{
this
.
state
.
firstLoginInput
?
true
:
false
}
disabled
=
{
this
.
state
.
firstLoginInput
?
true
:
false
}
...
@@ -1196,47 +1491,91 @@ class Login extends React.Component {
...
@@ -1196,47 +1491,91 @@ class Login extends React.Component {
value
=
{
this
.
state
.
testPhoneCode
}
value
=
{
this
.
state
.
testPhoneCode
}
disabled
=
{
this
.
state
.
disabledBtn
}
disabled
=
{
this
.
state
.
disabledBtn
}
onChange
=
{(
e
)
=>
this
.
testPhoneCode
(
e
.
target
.
value
)}
onChange
=
{(
e
)
=>
this
.
testPhoneCode
(
e
.
target
.
value
)}
placeholder
=
{
intl
.
get
(
'VerificationCode'
)}
placeholder
=
{
intl
.
get
(
"VerificationCode"
)}
/
>
/
>
<
Button
className
=
"modal1-btn-tab2"
style
=
{{
color
:
this
.
state
.
codeBtnColor
,
backgroundColor
:
this
.
state
.
backColor
}}
disabled
=
{
this
.
state
.
codeBtnState
}
onClick
=
{()
=>
this
.
testCodeBtn
(
3
)}
title
=
{
this
.
state
.
btnName
}
>
{
this
.
state
.
btnName
}
<
/Button
>
<
Button
className
=
"modal1-btn-tab2"
style
=
{{
color
:
this
.
state
.
codeBtnColor
,
backgroundColor
:
this
.
state
.
backColor
,
}}
disabled
=
{
this
.
state
.
codeBtnState
}
onClick
=
{()
=>
this
.
testCodeBtn
(
3
)}
title
=
{
this
.
state
.
btnName
}
>
{
this
.
state
.
btnName
}
<
/Button
>
<
Input
type
=
"text"
name
=
"text"
style
=
{{
display
:
"none"
}}
/
>
<
Input
type
=
"text"
name
=
"text"
style
=
{{
display
:
"none"
}}
/
>
<
Input
type
=
"password"
name
=
"password"
maxLength
=
{
20
}
style
=
{{
display
:
"none"
}}
/
>
<
Input
<
Input
style
=
{{
width
:
"100%"
,
marginTop
:
"25px"
,
marginBottom
:
"8px"
}}
type
=
"password"
prefix
=
{
<
Icon
type
=
"lock"
style
=
{{
color
:
'rgba(0,0,0,.25)'
}}
/>
}
name
=
"password"
maxLength
=
{
20
}
style
=
{{
display
:
"none"
}}
/
>
<
Input
style
=
{{
width
:
"100%"
,
marginTop
:
"25px"
,
marginBottom
:
"8px"
,
}}
prefix
=
{
<
Icon
type
=
"lock"
style
=
{{
color
:
"rgba(0,0,0,.25)"
}}
/
>
}
type
=
"password"
type
=
"password"
value
=
{
this
.
state
.
m2Passowrd
}
value
=
{
this
.
state
.
m2Passowrd
}
onChange
=
{(
e
)
=>
this
.
newPassword
(
e
.
target
.
value
)}
onChange
=
{(
e
)
=>
this
.
newPassword
(
e
.
target
.
value
)}
onBlur
=
{
this
.
m2PassowrdAgainBlur
}
onBlur
=
{
this
.
m2PassowrdAgainBlur
}
placeholder
=
{
intl
.
get
(
'NewPassword'
)}
placeholder
=
{
intl
.
get
(
"NewPassword"
)}
maxLength
=
{
20
}
maxLength
=
{
20
}
className
=
{
this
.
state
.
msgInfo
?
"foucesErr"
:
""
}
//bug-12732-liyuan
className
=
{
this
.
state
.
msgInfo
?
"foucesErr"
:
""
}
//bug-12732-liyuan
/
>
/
>
<
Input
type
=
"password"
name
=
"password"
maxLength
=
{
20
}
style
=
{{
display
:
"none"
}}
/
>
<
Input
<
Input
style
=
{{
width
:
"100%"
,
marginTop
:
"25px"
,
marginBottom
:
"30px"
}}
type
=
"password"
prefix
=
{
<
Icon
type
=
"lock"
style
=
{{
color
:
'rgba(0,0,0,.25)'
}}
/>
}
name
=
"password"
maxLength
=
{
20
}
style
=
{{
display
:
"none"
}}
/
>
<
Input
style
=
{{
width
:
"100%"
,
marginTop
:
"25px"
,
marginBottom
:
"30px"
,
}}
prefix
=
{
<
Icon
type
=
"lock"
style
=
{{
color
:
"rgba(0,0,0,.25)"
}}
/
>
}
onChange
=
{(
e
)
=>
this
.
passwordAgain
(
e
.
target
.
value
)}
onChange
=
{(
e
)
=>
this
.
passwordAgain
(
e
.
target
.
value
)}
type
=
"password"
type
=
"password"
value
=
{
this
.
state
.
m2PassowrdAgain
}
value
=
{
this
.
state
.
m2PassowrdAgain
}
onBlur
=
{
this
.
m2PassowrdAgainBlur
}
onBlur
=
{
this
.
m2PassowrdAgainBlur
}
placeholder
=
{
intl
.
get
(
'ConfirmNewPassword'
)}
placeholder
=
{
intl
.
get
(
"ConfirmNewPassword"
)}
onPressEnter
=
{
this
.
m2loginFn
}
onPressEnter
=
{
this
.
m2loginFn
}
className
=
{
this
.
state
.
msgInfo
?
"foucesErr"
:
""
}
//bug-12732-liyuan
className
=
{
this
.
state
.
msgInfo
?
"foucesErr"
:
""
}
//bug-12732-liyuan
maxLength
=
{
20
}
maxLength
=
{
20
}
/
>
/
>
<
p
className
=
"login-info"
>
{
this
.
state
.
msgInfo
}
<
/p
>
<
p
className
=
"login-info"
>
{
this
.
state
.
msgInfo
}
<
/p
>
<
Button
type
=
"primary"
className
=
"modal2-btn-tab3"
onClick
=
{
this
.
m2loginFn
}
>
{
intl
.
get
(
'Yes'
)}
<
/Button
>
<
Button
type
=
"primary"
className
=
"modal2-btn-tab3"
onClick
=
{
this
.
m2loginFn
}
>
{
intl
.
get
(
"Yes"
)}
<
/Button
>
<
/div
>
<
/div
>
<
p
style
=
{{...
remarkStyle
,
marginTop
:
'32px'
}}
>
{
/*bug-12679-liyuan*/
}
<
p
style
=
{{
...
remarkStyle
,
marginTop
:
"32px"
}}
>
{
/*bug-12679-liyuan*/
}
<
span
>
(
1
)
<
/span>  
;
<
span
>
(
1
)
<
/span>  
;
<
span
>
{
intl
.
get
(
"Passwordonlysupportsletters"
)}
<
/span
>
<
span
>
{
intl
.
get
(
"Passwordonlysupportsletters"
)}
<
/span
>
<
/p
>
<
/p
>
<
p
style
=
{{
...
remarkStyle
,
marginTop
:
'0'
}}
>
<
p
style
=
{{
...
remarkStyle
,
marginTop
:
"0"
}}
>
<
span
>
(
2
)
<
/span>  
;
<
span
>
(
2
)
<
/span>  
;
<
span
>
{
intl
.
get
(
"bitsinlengthandmustinclude3ofthefollowing"
)}
<
/span
>
<
span
>
{
intl
.
get
(
"bitsinlengthandmustinclude3ofthefollowing"
)}
<
/span
>
<
/p
>
<
/p
>
<
p
style
=
{{...
remarkStyle
,
marginTop
:
'0'
,
paddingBottom
:
'12px'
}}
>
<
p
style
=
{{
...
remarkStyle
,
marginTop
:
"0"
,
paddingBottom
:
"12px"
}}
>
<
span
>
(
3
)
<
/span>  
;
<
span
>
(
3
)
<
/span>  
;
<
span
>
{
intl
.
get
(
"Passwordcannotincludeuserinformation"
)}
<
/span
>
<
span
>
{
intl
.
get
(
"Passwordcannotincludeuserinformation"
)}
<
/span
>
<
/p
>
<
/p
>
...
@@ -1247,13 +1586,13 @@ class Login extends React.Component {
...
@@ -1247,13 +1586,13 @@ class Login extends React.Component {
}
}
}
}
const
mapStateToProps
=
state
=>
({
const
mapStateToProps
=
(
state
)
=>
({
token
:
state
.
loginReducer
.
token
,
token
:
state
.
loginReducer
.
token
,
imgUrl
:
state
.
loginReducer
.
imgUrl
,
imgUrl
:
state
.
loginReducer
.
imgUrl
,
accountObj
:
state
.
loginReducer
.
accountObj
,
accountObj
:
state
.
loginReducer
.
accountObj
,
});
});
const
mapDispatchToProps
=
dispatch
=>
({
const
mapDispatchToProps
=
(
dispatch
)
=>
({
loginAction
:
bindActionCreators
(
loginAction
,
dispatch
),
loginAction
:
bindActionCreators
(
loginAction
,
dispatch
),
bgmImage
:
bindActionCreators
(
bgmImage
,
dispatch
),
bgmImage
:
bindActionCreators
(
bgmImage
,
dispatch
),
logoImage
:
bindActionCreators
(
logoImage
,
dispatch
),
logoImage
:
bindActionCreators
(
logoImage
,
dispatch
),
...
...
src/containers/Login/style.less
View file @
253b85c1
...
@@ -8,12 +8,12 @@
...
@@ -8,12 +8,12 @@
.login {
.login {
height: 100%;
height: 100%;
position: relative;
position: relative;
input{
input
{
height: 40px;
height: 40px;
}
}
input:focus{
input:focus
{
-webkit-box-shadow:2px 5px 6px 0px rgba(66, 133, 244, 0.32);
-webkit-box-shadow:
2px 5px 6px 0px rgba(66, 133, 244, 0.32);
-moz-box-shadow:2px 5px 6px 0px rgba(66, 133, 244, 0.32);
-moz-box-shadow:
2px 5px 6px 0px rgba(66, 133, 244, 0.32);
}
}
// position: fixed;
// position: fixed;
// _position: absolute;
// _position: absolute;
...
@@ -27,11 +27,11 @@
...
@@ -27,11 +27,11 @@
// background-size: cover;
// background-size: cover;
// zoom: 1;
// zoom: 1;
// background-color: #fff;
// background-color: #fff;
.login-logo{
.login-logo
{
width: 1200px;
width: 1200px;
height: 65px;
height: 65px;
margin: auto;
margin: auto;
.logo-img{
.logo-img
{
width: 160px;
width: 160px;
height: 50px;
height: 50px;
//background-color: #368ae2;
//background-color: #368ae2;
...
@@ -40,58 +40,58 @@
...
@@ -40,58 +40,58 @@
// margin-left: 200px;
// margin-left: 200px;
// margin-right: 800px;
// margin-right: 800px;
}
}
.logo-popover{
.logo-popover
{
position: relative;
position: relative;
top: 2px;
top: 2px;
}
}
.logo-language{
.logo-language
{
font-size: 12px;
font-size: 12px;
color: #4285
F
4;
color: #4285
f
4;
margin-left: 3px;
margin-left: 3px;
cursor: pointer;
cursor: pointer;
}
}
.home-header{
.home-header
{
display: inline-block;
display: inline-block;
cursor: pointer;
cursor: pointer;
float: right;
float: right;
margin-top: 30px;
margin-top: 30px;
position: relative;
position: relative;
//margin-right: 30px;
//margin-right: 30px;
//margin-right: -70px;
//margin-right: -70px;
.home-header-language-check{
.home-header-language-check
{
cursor: pointer;
cursor: pointer;
img{
img
{
width: 20px;
width: 20px;
height: 20px;
height: 20px;
float: left;
float: left;
}
}
.home-header-language-text{
.home-header-language-text
{
margin-left: 5px;
margin-left: 5px;
height: 20px;
height: 20px;
line-height: 20px;
line-height: 20px;
float: left;
float: left;
font-size: 12px;
font-size: 12px;
color: #4285
F
4;
color: #4285
f
4;
//display: none;
//display: none;
}
}
.home-header-language-active-text{
.home-header-language-active-text
{
margin-left: 5px;
margin-left: 5px;
height: 20px;
height: 20px;
line-height: 20px;
line-height: 20px;
float: left;
float: left;
font-size: 12px;
font-size: 12px;
color: #4285
F
4;
color: #4285
f
4;
}
}
.home-header-language-options{
.home-header-language-options
{
position: absolute;
position: absolute;
top: 30px;
top: 30px;
left: -62px;
left: -62px;
width: 155px;
width: 155px;
padding: 10px 0;
padding: 10px 0;
background-color: #fff;
background-color: #fff;
border:1px solid #e5e5e5;
border:
1px solid #e5e5e5;
z-index: 100;
z-index: 100;
.language-option{
.language-option
{
width: 100%;
width: 100%;
height: 20px;
height: 20px;
line-height: 20px;
line-height: 20px;
...
@@ -100,33 +100,33 @@
...
@@ -100,33 +100,33 @@
color: #333;
color: #333;
padding: 14px 12px;
padding: 14px 12px;
position: relative;
position: relative;
.language-option-bg{
.language-option-bg
{
width: 100%;
width: 100%;
height: 20px;
height: 20px;
position: absolute;
position: absolute;
left: 0;
left: 0;
top: 0;
top: 0;
background-color: #4285
F
4;
background-color: #4285
f
4;
opacity: 0.2;
opacity: 0.2;
}
}
}
}
.isCurrentLanguageOption{
.isCurrentLanguageOption
{
color:
#4285F
4;
color:
#4285f
4;
}
}
.language-option:hover {
.language-option:hover {
color:
#4285F
4;
color:
#4285f
4;
}
}
}
}
}
}
}
}
}
}
.login-color{
.login-color
{
width: 100%;
width: 100%;
overflow: hidden;
overflow: hidden;
position: relative;
position: relative;
height: 600px;
height: 600px;
margin: auto;
margin: auto;
.login-bgp{
.login-bgp
{
//width: 1920px;
//width: 1920px;
height: 600px;
height: 600px;
position: absolute;
position: absolute;
...
@@ -141,49 +141,52 @@
...
@@ -141,49 +141,52 @@
//background-image: url(https://ss0.bdstatic.com/l4oZeXSm1A5BphGlnYG/skin/115.jpg);
//background-image: url(https://ss0.bdstatic.com/l4oZeXSm1A5BphGlnYG/skin/115.jpg);
//background-image: url(https://ss0.bdstatic.com/l4oZeXSm1A5BphGlnYG/skin/875.jpg);
//background-image: url(https://ss0.bdstatic.com/l4oZeXSm1A5BphGlnYG/skin/875.jpg);
}
}
.login-box{
.login-box
{
width: 1200px;
width: 1200px;
height: 600px;
height: 600px;
margin: auto;
margin: auto;
position: relative;
position: relative;
background-image: url(https://ss0.bdstatic.com/l4oZeXSm1A5BphGlnYG/skin/115.jpg);
.login-form {
.login-form {
width: 350px;
width: 350px;
height: 355px;
height: 355px;
background-color: #fff;
background-color: #fff;
position: absolute!important;
position: absolute
!important;
right: 60px;
right: 60px;
//left: 870px;
//left: 870px;
bottom: 0;
bottom: 0;
margin: auto;
margin: auto;
top: 0;
top: 0;
box-shadow: 0 5px 15px #7f7f7f;
box-shadow: 0 5px 15px #7f7f7f;
.input-red{
.input-red
{
border-radius: 4px;
border-radius: 4px;
input{
input
{
border: 1px solid #
EE
6157;
border: 1px solid #
ee
6157;
}
}
}
}
.test-info{
.test-info
{
text-align: center;
text-align: center;
color: #
EE
6157;
color: #
ee
6157;
position: relative;
position: relative;
top: -6px;
top: -6px;
font-size: 12px;
font-size: 12px;
}
}
.ant-tabs:not(.ant-tabs-vertical)>.ant-tabs-content>.ant-tabs-tabpane{
.ant-tabs:not(.ant-tabs-vertical)
> .ant-tabs-content
> .ant-tabs-tabpane {
height: 275px;
height: 275px;
}
}
.test-info-user{
.test-info-user
{
margin-bottom: 10px;
margin-bottom: 10px;
width: 90%;
width: 90%;
display: inline-block;
display: inline-block;
text-align: center;
text-align: center;
color: #
EE
6157;
color: #
ee
6157;
position: relative;
position: relative;
top: 35px;
top: 35px;
font-size: 12px;
font-size: 12px;
}
}
.login-btn-tab1{
.login-btn-tab1
{
height: 40px;
height: 40px;
font-size: 14px;
font-size: 14px;
margin-top: 2px;
margin-top: 2px;
...
@@ -191,15 +194,15 @@
...
@@ -191,15 +194,15 @@
position: absolute;
position: absolute;
bottom: 5px;
bottom: 5px;
left: 5%;
left: 5%;
span{
span
{
overflow: hidden;
overflow: hidden;
text-overflow: ellipsis;
text-overflow: ellipsis;
white-space: normal;
white-space: normal;
display:inline-block;
display:
inline-block;
height:18px;
height:
18px;
}
}
}
}
.login-btn-tab2{
.login-btn-tab2
{
width: 35%;
width: 35%;
height: 40px;
height: 40px;
margin-top: 20px;
margin-top: 20px;
...
@@ -208,7 +211,7 @@
...
@@ -208,7 +211,7 @@
text-align: center;
text-align: center;
padding: 0px;
padding: 0px;
span{
span
{
display: inline-block;
display: inline-block;
width: 100%;
width: 100%;
overflow: hidden;
overflow: hidden;
...
@@ -217,7 +220,7 @@
...
@@ -217,7 +220,7 @@
height: 18px;
height: 18px;
}
}
}
}
.login-btn-tab3{
.login-btn-tab3
{
height: 40px;
height: 40px;
font-size: 14px;
font-size: 14px;
margin-top: 2px;
margin-top: 2px;
...
@@ -230,15 +233,15 @@
...
@@ -230,15 +233,15 @@
margin-top: 2.5px;
margin-top: 2.5px;
}
}
.ant-checkbox-input{
.ant-checkbox-input {
height: 10px;
width: 10px;
}
.ant-checkbox-inner {
height: 10px;
height: 10px;
width: 10px;
width: 10px;
}
.ant-checkbox-inner{
height: 10px;
width: 10px;
}
}
.ant-checkbox-checked .ant-checkbox-inner {
.ant-checkbox-checked .ant-checkbox-inner {
background-color: #fff;
background-color: #fff;
border-color: #999999;
border-color: #999999;
...
@@ -253,8 +256,8 @@
...
@@ -253,8 +256,8 @@
border-top: 0;
border-top: 0;
border-left: 0;
border-left: 0;
content: " ";
content: " ";
-webkit-transition: all
.2s cubic-bezier(.12,.4,.29,1.46)
.1s;
-webkit-transition: all
0.2s cubic-bezier(0.12, 0.4, 0.29, 1.46) 0
.1s;
transition: all
.2s cubic-bezier(.12,.4,.29,1.46)
.1s;
transition: all
0.2s cubic-bezier(0.12, 0.4, 0.29, 1.46) 0
.1s;
opacity: 1;
opacity: 1;
}
}
.ant-checkbox-inner:after {
.ant-checkbox-inner:after {
...
@@ -263,7 +266,7 @@
...
@@ -263,7 +266,7 @@
transform: rotate(45deg) scale(0);
transform: rotate(45deg) scale(0);
position: absolute;
position: absolute;
left: 2.2px;
left: 2.2px;
top: -.2px;
top: -
0
.2px;
display: table;
display: table;
width: 3.7px;
width: 3.7px;
height: 6px;
height: 6px;
...
@@ -271,44 +274,45 @@
...
@@ -271,44 +274,45 @@
border-top: 0;
border-top: 0;
border-left: 0;
border-left: 0;
content: " ";
content: " ";
-webkit-transition: all .1s cubic-bezier(.71,-.46,.88,.6),opacity .1s;
-webkit-transition: all 0.1s cubic-bezier(0.71, -0.46, 0.88, 0.6),
transition: all .1s cubic-bezier(.71,-.46,.88,.6),opacity .1s;
opacity 0.1s;
transition: all 0.1s cubic-bezier(0.71, -0.46, 0.88, 0.6),
opacity 0.1s;
opacity: 0;
opacity: 0;
}
.ant-checkbox + span,
.ant-checkbox-wrapper + span {
padding-left: 4px;
padding-right: 8px;
}
// 修改antd复选框end,预测这部分内容会去除。
}
}
.ant-checkbox+span, .ant-checkbox-wrapper+span {
padding-left: 4px;
padding-right: 8px;
}
// 修改antd复选框end,预测这部分内容会去除。
}
}
// .login-btn-tab2:hover{
// background-color: #1890ff;
// color: #fff;
// }
}
}
.login-footer {
// .login-btn-tab2:hover{
// background-color: #1890ff;
// color: #fff;
// }
}
.login-footer{
text-align: center;
text-align: center;
color: #999;
color: #999;
font-size: 14px;
font-size: 14px;
margin-top: 10px;
margin-top: 10px;
height: 70px;
height: 70px;
line-height: 28px;
line-height: 28px;
padding:0px;
padding:
0px;
}
}
.login-modal1{
.login-modal1
{
z-index: 999;
z-index: 999;
position: absolute;
position: absolute;
width: 100%;
width: 100%;
height: 110%;
height: 110%;
left: 0px;
left: 0px;
top: 0px;
top: 0px;
background-color:rgba(10, 10, 10, 0.6);
background-color:
rgba(10, 10, 10, 0.6);
.modal1-content{
.modal1-content
{
position: relative;
position: relative;
z-index: 1000;
z-index: 1000;
width: 350px;
width: 350px;
...
@@ -316,16 +320,16 @@
...
@@ -316,16 +320,16 @@
background-color: #fff;
background-color: #fff;
margin: auto;
margin: auto;
margin-top: 143px;
margin-top: 143px;
.icon-close{
.icon-close
{
position: absolute;
position: absolute;
top: 12px;
top: 12px;
right: 8px;
right: 8px;
color: #999;
color: #999;
cursor: pointer;
cursor: pointer;
}
}
.modal1-h3{
.modal1-h3
{
padding-left:8px;
padding-left:
8px;
padding-right:8px;
padding-right:
8px;
height: 40px;
height: 40px;
color: #333;
color: #333;
font-size: 16px;
font-size: 16px;
...
@@ -337,19 +341,19 @@
...
@@ -337,19 +341,19 @@
white-space: nowrap;
white-space: nowrap;
text-overflow: ellipsis;
text-overflow: ellipsis;
}
}
.modal1-p{
.modal1-p
{
color: #666;
color: #666;
font-size: 12px;
font-size: 12px;
margin-left: 5%;
margin-left: 5%;
margin-top: 20px;
margin-top: 20px;
margin-bottom: 0;
margin-bottom: 0;
}
}
.modal1-form{
.modal1-form
{
padding: 5%;
padding: 5%;
height: 325px;
height: 325px;
text-align: center;
text-align: center;
position: relative;
position: relative;
.modal1-btn-tab2{
.modal1-btn-tab2
{
width: 35%;
width: 35%;
height: 40px;
height: 40px;
margin-top: 20px;
margin-top: 20px;
...
@@ -360,32 +364,30 @@
...
@@ -360,32 +364,30 @@
white-space: nowrap;
white-space: nowrap;
text-overflow: ellipsis;
text-overflow: ellipsis;
}
}
.login-info{
.login-info
{
color: #
EE
6157;
color: #
ee
6157;
font-size: 12px;
font-size: 12px;
margin-bottom: 0px;
margin-bottom: 0px;
}
}
.modal1-btn-tab3{
.modal1-btn-tab3
{
width: 90%;
width: 90%;
height: 40px;
height: 40px;
position: absolute;
position: absolute;
left: 5%;
left: 5%;
bottom: -22px;
bottom: -22px;
}
}
}
}
}
}
}
}
.login-modal2{
.login-modal2
{
z-index: 999;
z-index: 999;
position: absolute;
position: absolute;
width: 100%;
width: 100%;
height: 110%;
height: 110%;
left: 0px;
left: 0px;
top: 0px;
top: 0px;
background-color:rgba(10, 10, 10, 0.6);
background-color:
rgba(10, 10, 10, 0.6);
.modal1-content{
.modal1-content
{
z-index: 1000;
z-index: 1000;
width: 350px;
width: 350px;
// height: 450px; bug-12732-liyuan
// height: 450px; bug-12732-liyuan
...
@@ -393,16 +395,16 @@
...
@@ -393,16 +395,16 @@
background-color: #fff;
background-color: #fff;
margin: auto;
margin: auto;
margin-top: 143px;
margin-top: 143px;
.icon-close{
.icon-close
{
position: absolute;
position: absolute;
top: 12px;
top: 12px;
right: 8px;
right: 8px;
color: #999;
color: #999;
cursor: pointer;
cursor: pointer;
}
}
.modal1-h3{
.modal1-h3
{
padding-left:8px;
padding-left:
8px;
padding-right:8px;
padding-right:
8px;
height: 40px;
height: 40px;
color: #333;
color: #333;
font-size: 16px;
font-size: 16px;
...
@@ -414,19 +416,19 @@
...
@@ -414,19 +416,19 @@
white-space: nowrap;
white-space: nowrap;
text-overflow: ellipsis;
text-overflow: ellipsis;
}
}
.modal1-p{
.modal1-p
{
color: #666;
color: #666;
font-size: 12px;
font-size: 12px;
margin-left: 5%;
margin-left: 5%;
margin-top: 20px;
margin-top: 20px;
margin-bottom: 0;
margin-bottom: 0;
}
}
.modal1-form{
.modal1-form
{
position: relative;
position: relative;
padding: 5%;
padding: 5%;
height: 325px;
height: 325px;
text-align: center;
text-align: center;
.modal1-btn-tab2{
.modal1-btn-tab2
{
width: 35%;
width: 35%;
height: 40px;
height: 40px;
margin-top: 20px;
margin-top: 20px;
...
@@ -437,12 +439,12 @@
...
@@ -437,12 +439,12 @@
white-space: nowrap;
white-space: nowrap;
text-overflow: ellipsis;
text-overflow: ellipsis;
}
}
.login-info{
.login-info
{
color: #
EE
6157;
color: #
ee
6157;
font-size: 12px;
font-size: 12px;
margin-bottom: 0px;
margin-bottom: 0px;
}
}
.modal2-btn-tab3{
.modal2-btn-tab3
{
width: 90%;
width: 90%;
height: 40px;
height: 40px;
position: absolute;
position: absolute;
...
@@ -450,15 +452,13 @@
...
@@ -450,15 +452,13 @@
bottom: -22px;
bottom: -22px;
}
}
}
}
}
}
}
}
.foucesErr{//bug-12732-liyuan
.foucesErr {
input{
//bug-12732-liyuan
input {
box-shadow: none;
box-shadow: none;
border: 1px solid#ee6157 !important;
border: 1px solid#ee6157 !important;
}
}
}
}
}
}
src/locales/newWord.json
View file @
253b85c1
...
@@ -86,7 +86,7 @@
...
@@ -86,7 +86,7 @@
"mylabiliry103"
:
"评分说明"
,
"mylabiliry103"
:
"评分说明"
,
"ViewMore"
:
"查看项目"
,
"ViewMore"
:
"查看项目"
,
"pictureBestSize03"
:
"支持"
,
"pictureBestSize03"
:
"支持"
,
"PoweredByCompanyName"
:
"上海
易知信息科技
股份有限公司提供技术支持"
,
"PoweredByCompanyName"
:
"上海
复深蓝软件
股份有限公司提供技术支持"
,
"pictureBestSize04"
:
"大小"
,
"pictureBestSize04"
:
"大小"
,
"ApplyNotice"
:
"报名须知"
,
"ApplyNotice"
:
"报名须知"
,
"pictureBestSize02"
:
"比例为"
,
"pictureBestSize02"
:
"比例为"
,
...
...
src/locales/zh-CN.json
View file @
253b85c1
...
@@ -26,7 +26,7 @@
...
@@ -26,7 +26,7 @@
"PleaseInputSmsCode"
:
"请输入验证码"
,
"PleaseInputSmsCode"
:
"请输入验证码"
,
"confirm.pwd.not.correct"
:
"两次输入的密码不一致"
,
"confirm.pwd.not.correct"
:
"两次输入的密码不一致"
,
"8-20CharactersIncludingNumbersAndLetters"
:
"8-20个字符,由字母、数字和符号组合"
,
"8-20CharactersIncludingNumbersAndLetters"
:
"8-20个字符,由字母、数字和符号组合"
,
"PoweredByShanghaiYizhiTechnologyCo.,Ltd."
:
"上海
易知信息科技
股份有限公司提供技术支持"
,
"PoweredByShanghaiYizhiTechnologyCo.,Ltd."
:
"上海
复深蓝软件
股份有限公司提供技术支持"
,
"Home"
:
"首页"
,
"Home"
:
"首页"
,
"Course"
:
"课程"
,
"Course"
:
"课程"
,
"MyStudy"
:
"我的学习"
,
"MyStudy"
:
"我的学习"
,
...
@@ -392,7 +392,7 @@
...
@@ -392,7 +392,7 @@
"WrongCaptchaCode"
:
"校验码输入不正确"
,
"WrongCaptchaCode"
:
"校验码输入不正确"
,
"WorngSmsCode"
:
"验证码输入不正确"
,
"WorngSmsCode"
:
"验证码输入不正确"
,
"TwoInputPasswordsMustBeConsistent"
:
"两次输入的密码不一致"
,
"TwoInputPasswordsMustBeConsistent"
:
"两次输入的密码不一致"
,
"PoweredByCompanyName"
:
"版权所有 ©上海
易知信息科技
股份有限公司"
,
"PoweredByCompanyName"
:
"版权所有 ©上海
复深蓝软件
股份有限公司"
,
"ToSearch1"
:
"搜索"
,
"ToSearch1"
:
"搜索"
,
"ToSearch2"
:
">>"
,
"ToSearch2"
:
">>"
,
"Photo"
:
"头像"
,
"Photo"
:
"头像"
,
...
...
src/utils/api.js
View file @
253b85c1
var
baseUrl
=
"https://uat.wechat.kmelearning.com"
;
var
baseUrl
=
"https://uat.wechat.kmelearning.com"
;
if
(
location
.
host
.
indexOf
(
"localhost"
)
!=
-
1
)
{
if
(
location
.
host
.
indexOf
(
"localhost"
)
!=
-
1
)
{
//
//
// baseUrl = "http://dev.pc.kmelearning.com";
// baseUrl = "http://dev.pc.kmelearning.com";
baseUrl
=
"https://test.pc.kmelearning.com"
;
// baseUrl = "https://test.pc.kmelearning.com";
baseUrl
=
"http://wx.fairyclass.cn"
;
// baseUrl = "https://uat.pc.kmelearning.com";
// baseUrl = "https://uat.pc.kmelearning.com";
// baseUrl = "https://pc.kmelearning.com";
// baseUrl = "https://pc.kmelearning.com";
// baseUrl = "https://sasspc.kmelearning.com";
// baseUrl = "https://sasspc.kmelearning.com";
}
else
{
}
else
{
//这里不许改,谁改谁请30杯奶茶,并且罚款500
//这里不许改,谁改谁请30杯奶茶,并且罚款500
baseUrl
=
""
;
baseUrl
=
""
;
}
}
// if(urlConfigObj.urlPrefix){
// if(urlConfigObj.urlPrefix){
// baseUrl += "/"+ urlConfigObj.urlPrefix;
// baseUrl += "/"+ urlConfigObj.urlPrefix;
// } // baseUrl = "https://pc.kmelearning.com";
// } // baseUrl = "https://pc.kmelearning.com";
const
api
=
{
const
api
=
{
ranking
:
baseUrl
+
"/web-student"
,
ranking
:
baseUrl
+
"/web-student"
,
indexUrl
:
baseUrl
+
"/web-student"
,
indexUrl
:
baseUrl
+
"/web-student"
,
albumUrl
:
baseUrl
+
"/web-student"
,
albumUrl
:
baseUrl
+
"/web-student"
,
tranningList
:
baseUrl
+
"/web-student/api/trainingProject/page/list"
,
tranningList
:
baseUrl
+
"/web-student/api/trainingProject/page/list"
,
trainingHot
:
baseUrl
+
"/web-student/api/trainingProject/hot/page/list"
,
trainingHot
:
baseUrl
+
"/web-student/api/trainingProject/hot/page/list"
,
mytrainingList
:
baseUrl
+
"/web-student/pc/trainingProject/pc/page/my/list"
,
//我的培训项目列表
mytrainingList
:
baseUrl
+
"/web-student/pc/trainingProject/pc/page/my/list"
,
//我的培训项目列表
baseUrl
:
baseUrl
,
login
:
baseUrl
+
"/system/api/loginApp"
,
living
:
baseUrl
+
"/web-student/api/live/pc/pageList"
,
livStatuGet
:
baseUrl
+
"/web-student/api/live/show/config/status/get"
,
liveBackList
:
baseUrl
+
"/web-student/api/live/review/list"
,
//直播回放列表
liveReviewSwitch
:
baseUrl
+
"/web-student/api/live/review/switch/on/live/list"
,
message
:
baseUrl
+
"/web-student"
,
messageList
:
baseUrl
+
"/newMessage"
,
menu
:
baseUrl
+
"/web-student/api/system/pc/my/item"
,
info
:
baseUrl
+
"/system/api/account/get"
,
accountSave
:
baseUrl
+
"/system/api/account/pc/updateInfo"
,
myCourse
:
baseUrl
+
"/web-student/api/recorde/my/list"
,
myTraining
:
baseUrl
+
"/web-student/api/trainingProject/my/page/list"
,
survey
:
baseUrl
+
"/web-student/api/researchQuestion/list/all"
,
surveySubmit
:
baseUrl
+
"/web-student/api/researchAnswer/submit"
,
mycollection
:
baseUrl
+
"/web-student/"
,
myCollectionDelete
:
baseUrl
+
"/web-student/api/pc/favoritepc/delete"
,
ossUrl
:
baseUrl
+
"/aliyun"
,
//oss上传服务域名
logoImage
:
baseUrl
+
"/system"
,
systemUrl
:
baseUrl
+
"/system"
,
search
:
baseUrl
+
"/esearch"
,
searchCommit
:
baseUrl
+
"/web-student"
,
course
:
baseUrl
+
"/web-student"
,
exam
:
baseUrl
+
"/web-student"
,
homework
:
baseUrl
+
"/web-student"
,
loginUrl
:
baseUrl
+
"/system/api"
,
loginImg
:
baseUrl
+
"/web-student/api"
,
caseUrl
:
baseUrl
+
"/web-student"
,
forum
:
baseUrl
+
"/web-student"
,
my
:
{
baseUrl
:
baseUrl
,
baseUrl
:
baseUrl
,
login
:
baseUrl
+
"/system/api/loginApp"
,
login
:
baseUrl
+
"/system/api/loginApp"
,
living
:
baseUrl
+
"/web-student/api/live/pc/pageList"
,
living
:
baseUrl
+
"/web-student/api/live/pc/pageList"
,
livStatuGet
:
baseUrl
+
"/web-student/api/live/show/config/status/get"
,
liveBackList
:
baseUrl
+
"/web-student/api/live/review/list"
,
//直播回放列表
liveReviewSwitch
:
baseUrl
+
"/web-student/api/live/review/switch/on/live/list"
,
message
:
baseUrl
+
"/web-student"
,
message
:
baseUrl
+
"/web-student"
,
messageList
:
baseUrl
+
"/newMessage"
,
messageList
:
baseUrl
+
"/newMessage"
,
menu
:
baseUrl
+
"/web-student/api/system/pc/my/item"
,
menu
:
baseUrl
+
"/web-student/api/system/pc/my/item"
,
info
:
baseUrl
+
"/system/api/account/get"
,
info
:
baseUrl
+
"/system/api/account/get"
,
accountSave
:
baseUrl
+
"/system/api/account/pc/updateInfo"
,
accountSave
:
baseUrl
+
"/system/api/account/pc/updateInfo"
,
myCourse
:
baseUrl
+
"/web-student/api/recorde/my/list"
,
myCourse
:
baseUrl
+
"/web-student/pc/my"
,
myTraining
:
baseUrl
+
"/web-student/api/trainingProject/my/page/list"
,
myCourseUrl
:
baseUrl
+
"/web-student"
,
survey
:
baseUrl
+
"/web-student/api/researchQuestion/list/all"
,
myTraining
:
baseUrl
+
"/web-student/pc/my"
,
surveySubmit
:
baseUrl
+
"/web-student/api/researchAnswer/submit"
,
myIntegral
:
baseUrl
+
"/web-student"
,
mycollection
:
baseUrl
+
"/web-student/"
,
myDuration
:
baseUrl
+
"/web-student"
,
myCollectionDelete
:
baseUrl
+
"/web-student/api/pc/favoritepc/delete"
,
myCertificate
:
baseUrl
+
"/web-student"
,
ossUrl
:
baseUrl
+
"/aliyun"
,
//oss上传服务域名
myCase
:
baseUrl
+
"/web-student"
,
logoImage
:
baseUrl
+
'/system'
,
getCaptcha
:
baseUrl
+
"/system/api/public/getCaptcha"
,
systemUrl
:
baseUrl
+
"/system"
,
myTaskNum
:
baseUrl
+
"/web-student/calendar/api/pc/getPageNum"
,
search
:
baseUrl
+
"/esearch"
,
myTaskList
:
baseUrl
+
"/web-student/calendar/api/pc/getPage"
,
searchCommit
:
baseUrl
+
"/web-student"
,
myCalendarTaskNum
:
baseUrl
+
"/web-student/calendar/api/calendarTaskNum"
,
course
:
baseUrl
+
"/web-student"
,
},
exam
:
baseUrl
+
"/web-student"
,
news
:
{
homework
:
baseUrl
+
"/web-student"
,
list
:
baseUrl
+
"/web-student/api/info/page/pcList"
,
loginUrl
:
baseUrl
+
"/system/api"
,
info
:
baseUrl
+
"/web-student/api/info/page/pcView"
,
loginImg
:
baseUrl
+
'/web-student/api'
,
},
caseUrl
:
baseUrl
+
"/web-student"
,
TrainingItem
:
forum
:
baseUrl
+
'/web-student'
,
baseUrl
+
"/web-student/pc/trainingProject/pc/one/detail/progress/view"
,
my
:
{
trainEnjoin
:
baseUrl
+
"/web-student/api/enroll/pc/insert"
,
baseUrl
:
baseUrl
,
trainingComment
:
baseUrl
+
"/web-student/api/tpComment/pc/list"
,
login
:
baseUrl
+
"/system/api/loginApp"
,
trainingResource
:
living
:
baseUrl
+
"/web-student/api/live/pc/pageList"
,
baseUrl
+
"/web-student/student/document/query/ByRelationId"
,
message
:
baseUrl
+
"/web-student"
,
trainingStutas
:
baseUrl
+
"/web-student/student/document/canStudy"
,
messageList
:
baseUrl
+
"/newMessage"
,
trainingResourceUrl
:
baseUrl
+
"/web-student/student/document/download"
,
menu
:
baseUrl
+
"/web-student/api/system/pc/my/item"
,
checkActivitiew
:
info
:
baseUrl
+
"/system/api/account/get"
,
baseUrl
+
"/web-student/pc/trainingProject/pc/click/activity"
,
accountSave
:
baseUrl
+
"/system/api/account/pc/updateInfo"
,
commitReplay
:
myCourse
:
baseUrl
+
"/web-student/pc/my"
,
baseUrl
+
"/web-student/api/tpCommentReply/pc/reply/Children/save"
,
myCourseUrl
:
baseUrl
+
"/web-student"
,
commitComment
:
baseUrl
+
"/web-student/api/tpComment/pc/save"
,
myTraining
:
baseUrl
+
"/web-student/pc/my"
,
commentreplaytoreply
:
myIntegral
:
baseUrl
+
"/web-student"
,
baseUrl
+
"/web-student/api/tpCommentReply/pc/reply/Children/save"
,
myDuration
:
baseUrl
+
"/web-student"
,
loadchildren
:
`
${
baseUrl
}
/web-student/api/tpCommentReply/pc/list`
,
myCertificate
:
baseUrl
+
"/web-student"
,
addLike
:
`
${
baseUrl
}
/web-student/api/tpCommentThumbsUp/pc/save`
,
myCase
:
baseUrl
+
"/web-student"
,
addMethod
:
baseUrl
+
"/web-student/api/tpCommentThumbsUp/pc/save"
,
getCaptcha
:
baseUrl
+
"/system/api/public/getCaptcha"
,
deleteLike
:
`
${
baseUrl
}
/web-student/api/tpCommentThumbsUp/pc/delete`
,
myTaskNum
:
baseUrl
+
'/web-student/calendar/api/pc/getPageNum'
,
downLineDetail
:
`
${
baseUrl
}
/web-student/pc/trainingProject/offlineCourse/get`
,
myTaskList
:
baseUrl
+
'/web-student/calendar/api/pc/getPage'
,
siteFooter
:
baseUrl
+
"/web-student/api/portal/pc/pageFooterItem/get"
,
myCalendarTaskNum
:
baseUrl
+
'/web-student/calendar/api/calendarTaskNum'
,
getgrant
:
baseUrl
+
"/web-student/pc/trainingProject/pc/certificate/grant"
,
},
getbanner
:
baseUrl
+
"/web-student/api/banner/home/image/list"
,
news
:
{
addNum
:
list
:
baseUrl
+
"/web-student/api/info/page/pcList"
,
baseUrl
+
info
:
baseUrl
+
"/web-student/api/info/page/pcView"
,
"/web-student/pc/trainingProject/pc/tpPlanActivity/view/record/add"
,
},
databaseActivity
:
baseUrl
+
"/web-student/student/document/getDetailById"
,
//项目内容活动-资料
TrainingItem
:
baseUrl
+
"/web-student/pc/trainingProject/pc/one/detail/progress/view"
,
languageTypes
:
trainEnjoin
:
baseUrl
+
"/web-student/api/enroll/pc/insert"
,
baseUrl
+
trainingComment
:
baseUrl
+
"/web-student/api/tpComment/pc/list"
,
"/system/api/internationalizationWord/public/languageType/getList"
,
trainingResource
:
baseUrl
+
"/web-student/student/document/query/ByRelationId"
,
getlanguageClass
:
baseUrl
+
"/web-student/public/api/siteLanguage/page"
,
//获取语言类
trainingStutas
:
baseUrl
+
"/web-student/student/document/canStudy"
,
languageChaneg
:
baseUrl
+
"/web-student/public/api/siteLanguage/language/get"
,
//语言JSON
trainingResourceUrl
:
baseUrl
+
"/web-student/student/document/download"
,
selectLanguageSave
:
checkActivitiew
:
baseUrl
+
"/web-student/pc/trainingProject/pc/click/activity"
,
baseUrl
+
commitReplay
:
baseUrl
+
"/web-student/api/tpCommentReply/pc/reply/Children/save"
,
"/web-student/student/siteLanguage/record/international/selectLanguage/save"
,
//用户登录后修改语言
commitComment
:
baseUrl
+
"/web-student/api/tpComment/pc/save"
,
selectLanguageGet
:
commentreplaytoreply
:
baseUrl
+
"/web-student/api/tpCommentReply/pc/reply/Children/save"
,
baseUrl
+
loadchildren
:
`
${
baseUrl
}
/web-student/api/tpCommentReply/pc/list`
,
"/web-student/student/siteLanguage/record/international/selectLanguage/get"
,
//回显语言类型
addLike
:
`
${
baseUrl
}
/web-student/api/tpCommentThumbsUp/pc/save`
,
canVisit
:
baseUrl
+
"/web-student/student/site/student/canVisit"
,
addMethod
:
baseUrl
+
"/web-student/api/tpCommentThumbsUp/pc/save"
,
exchange
:
baseUrl
+
"/mall"
,
//积分兑换商城
deleteLike
:
`
${
baseUrl
}
/web-student/api/tpCommentThumbsUp/pc/delete`
,
downLineDetail
:
`
${
baseUrl
}
/web-student/pc/trainingProject/offlineCourse/get`
,
siteFooter
:
baseUrl
+
"/web-student/api/portal/pc/pageFooterItem/get"
,
getgrant
:
baseUrl
+
"/web-student/pc/trainingProject/pc/certificate/grant"
,
getbanner
:
baseUrl
+
"/web-student/api/banner/home/image/list"
,
addNum
:
baseUrl
+
"/web-student/pc/trainingProject/pc/tpPlanActivity/view/record/add"
,
databaseActivity
:
baseUrl
+
"/web-student/student/document/getDetailById"
,
//项目内容活动-资料
languageTypes
:
baseUrl
+
"/system/api/internationalizationWord/public/languageType/getList"
,
getlanguageClass
:
baseUrl
+
"/web-student/public/api/siteLanguage/page"
,
//获取语言类
languageChaneg
:
baseUrl
+
"/web-student/public/api/siteLanguage/language/get"
,
//语言JSON
selectLanguageSave
:
baseUrl
+
"/web-student/student/siteLanguage/record/international/selectLanguage/save"
,
//用户登录后修改语言
selectLanguageGet
:
baseUrl
+
"/web-student/student/siteLanguage/record/international/selectLanguage/get"
,
//回显语言类型
canVisit
:
baseUrl
+
"/web-student/student/site/student/canVisit"
,
exchange
:
baseUrl
+
"/mall"
,
//积分兑换商城
};
};
export
default
api
;
export
default
api
;
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment