Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
M
mr-julyedu
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
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
baiguangyao
mr-julyedu
Commits
cb2f3a7d
Commit
cb2f3a7d
authored
Sep 20, 2019
by
zhanghaozhe
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
国际手机号
parent
7ec178ee
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
47 additions
and
22 deletions
+47
-22
src/App.js
+45
-19
src/common/HeaderBar/index.js
+1
-2
src/components/passport/index.js
+1
-1
No files found.
src/App.js
View file @
cb2f3a7d
...
...
@@ -37,6 +37,10 @@ class App extends Component {
...
this
.
props
.
location
}
records
=
[]
firstLoad
=
true
componentDidMount
()
{
// 友盟统计
const
script
=
document
.
createElement
(
'script'
);
...
...
@@ -44,7 +48,7 @@ class App extends Component {
script
.
language
=
'JavaScript'
;
document
.
body
.
appendChild
(
script
);
this
.
setNavigationRecord
(
this
.
props
.
location
)
this
.
setNavigationRecord
(
this
.
props
.
location
,
this
.
props
.
history
.
action
)
//平台信息
...
...
@@ -58,10 +62,9 @@ class App extends Component {
const
routeMatchRule
=
/binding-tel|forgot|set-password/
const
{
history
}
=
this
.
props
history
.
listen
((
location
)
=>
{
console
.
log
(
this
.
props
.
location
);
console
.
log
(
location
);
this
.
setNavigationRecord
(
location
)
history
.
listen
((
location
,
action
)
=>
{
this
.
firstLoad
=
false
this
.
setNavigationRecord
(
location
,
action
)
if
(
cookie
.
get
(
'uid'
)
&&
this
.
props
.
user
.
hasError
)
{
this
.
getUser
()
}
...
...
@@ -77,18 +80,23 @@ class App extends Component {
}
setNavigationRecord
=
(
location
)
=>
{
let
{
location
:
_location
}
=
this
.
props
let
{
state
:
_state
=
{}}
=
_location
let
{
state
=
{}}
=
location
location
.
state
=
{
...
state
,
...{
record
:
_state
.
record
?
[...
_state
.
record
,
{
pathname
:
location
.
pathname
,
search
:
location
.
search
,
hash
:
location
.
hash
}]
:
[{
pathname
:
location
.
pathname
,
search
:
''
,
hash
:
''
}]
}
setNavigationRecord
=
(
location
,
action
)
=>
{
const
{
pathname
,
search
,
hash
}
=
location
let
isLastRecord
=
location
.
pathname
===
this
.
records
.
length
&&
this
.
records
[
this
.
records
.
length
-
1
].
pathname
switch
(
action
)
{
case
'POP'
:
this
.
firstLoad
?
this
.
records
.
push
({
pathname
,
search
,
hash
})
:
this
.
records
.
pop
()
break
case
'REPLACE'
:
this
.
records
[
this
.
records
.
length
-
1
]
=
{
pathname
,
search
,
hash
}
break
default
:
!
isLastRecord
&&
this
.
records
.
push
({
pathname
,
search
,
hash
})
}
// console.log(location.state.record);
location
.
state
&&
location
.
state
.
records
?
(
location
.
state
.
records
=
this
.
records
)
:
(
location
.
state
=
{
records
:
this
.
records
})
}
getUser
=
()
=>
{
...
...
@@ -127,15 +135,33 @@ class App extends Component {
}
componentDidUpdate
()
{
const
{
location
}
=
this
.
props
this
.
previousLocation
=
location
.
pathname
.
startsWith
(
'/passport'
)
?
this
.
previousLocation
.
pathname
===
'/'
?
location
:
this
.
previousLocation
:
location
this
.
setPreviousLocation
()
if
(
!
this
.
props
.
user
.
hasError
&&
getParam
(
'redirect'
))
{
window
.
location
.
href
=
getParam
(
'redirect'
)
}
}
setPreviousLocation
=
()
=>
{
const
{
location
,
history
:
{
action
}}
=
this
.
props
if
(
location
.
pathname
.
startsWith
(
'/passport'
))
{
let
index
=
this
.
records
.
findIndex
(
item
=>
item
.
pathname
.
startsWith
(
'/passport'
))
this
.
previousLocation
=
index
>
0
?
this
.
records
[
index
-
1
]
:
this
.
records
.
length
?
this
.
records
[
this
.
records
.
length
-
1
]
:
null
}
else
{
if
(
action
===
'POP'
||
action
===
'REPLACE'
)
{
let
index
=
this
.
records
.
findIndex
(
item
=>
item
.
pathname
.
startsWith
(
'/passport'
))
this
.
previousLocation
=
index
>
0
?
this
.
records
[
index
-
1
]
:
this
.
records
[
this
.
records
.
length
-
1
]
}
else
{
this
.
previousLocation
=
location
}
}
}
transformUser
=
res
=>
{
let
payload
...
...
src/common/HeaderBar/index.js
View file @
cb2f3a7d
...
...
@@ -13,8 +13,7 @@ class HeaderBar extends Component {
if
(
browser
.
isWeixin
&&
getParam
(
'code'
)
&&
getParam
(
'state'
)){
window
.
history
.
go
(
-
2
)
}
if
(
state
.
record
&&
state
.
record
.
length
>
1
){
console
.
log
(
state
.
record
.
length
);
if
(
state
.
records
&&
state
.
records
.
length
>
1
){
window
.
history
.
go
(
-
1
);
}
else
{
window
.
location
.
href
=
window
.
location
.
origin
...
...
src/components/passport/index.js
View file @
cb2f3a7d
...
...
@@ -75,7 +75,7 @@ class Passport extends Component {
if
(
history
.
action
===
'POP'
&&
history
.
length
<=
3
)
{
history
.
push
(
'/'
)
}
else
{
const
{
from
}
=
location
.
state
||
{
from
:
{
pathname
:
'/'
,
search
:
''
}};
const
from
=
location
.
state
&&
location
.
state
.
from
||
{
from
:
{
pathname
:
'/'
,
search
:
''
}};
const
redirectURI
=
getParam
(
'redirect'
)
redirectURI
?
(
window
.
location
.
href
=
redirectURI
)
:
history
.
replace
(
from
);
}
...
...
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