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
8dc770b7
Commit
8dc770b7
authored
Dec 22, 2019
by
zhanghaozhe
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
进入课程详情页返回首页
parent
e55f224e
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
228 additions
and
224 deletions
+228
-224
src/App.js
+227
-222
src/components/blessingPreheat/courseItem/index.js
+1
-2
No files found.
src/App.js
View file @
8dc770b7
...
...
@@ -23,264 +23,269 @@ import './assets/font/iconfont.css'
class
App
extends
Component
{
static
displayName
=
'App'
static
displayName
=
'App'
previousLocation
=
{
pathname
:
'/'
,
search
:
''
,
hash
:
''
}
previousLocation
=
{
pathname
:
'/'
,
search
:
''
,
hash
:
''
}
records
=
[]
records
=
[]
pathnameBlacklist
=
[
'/country'
,
'/passport'
]
pathnameBlacklist
=
[
'/country'
,
'/passport'
]
firstLoad
=
true
firstLoad
=
true
componentDidMount
()
{
this
.
umengStatistic
()
componentDidMount
()
{
this
.
umengStatistic
()
//平台信息
cookie
.
set
(
'plat'
,
'5'
,
{
domain
:
'.julyedu.com'
})
//平台信息
cookie
.
set
(
'plat'
,
'5'
,
{
domain
:
'.julyedu.com'
})
if
(
browser
.
isWeixin
&&
browser
.
isIOS
)
{
sessionStorage
.
setItem
(
'enter_url'
,
window
.
location
.
href
)
}
if
(
browser
.
isWeixin
&&
browser
.
isIOS
)
{
sessionStorage
.
setItem
(
'enter_url'
,
window
.
location
.
href
)
}
this
.
getUser
()
this
.
utm
()
this
.
getUser
()
this
.
utm
()
const
{
history
}
=
this
.
props
const
{
history
}
=
this
.
props
this
.
setNavigationRecord
(
this
.
props
.
location
,
this
.
props
.
history
.
action
)
this
.
setPreviousLocation
()
this
.
setNavigationRecord
(
this
.
props
.
location
,
this
.
props
.
history
.
action
)
this
.
setPreviousLocation
()
history
.
listen
((
location
,
action
)
=>
{
this
.
firstLoad
=
false
this
.
setNavigationRecord
(
location
,
action
)
this
.
utm
()
history
.
listen
((
location
,
action
)
=>
{
this
.
firstLoad
=
false
this
.
setNavigationRecord
(
location
,
action
)
this
.
utm
()
if
(
cookie
.
get
(
'uid'
)
&&
this
.
props
.
user
.
hasError
)
{
this
.
getUser
()
}
if
(
location
.
pathname
===
'/passport'
){
window
.
localStorage
.
setItem
(
'binding_redirect'
,
JSON
.
stringify
(
this
.
previousLocation
))
}
const
{
pathname
,
state
}
=
location
if
(
pathname
.
startsWith
(
'/passport'
))
{
location
.
state
=
{
...
state
,
...{
from
:
{
pathname
:
this
.
previousLocation
.
pathname
,
search
:
this
.
previousLocation
.
search
,
hash
:
this
.
previousLocation
.
hash
}
}
}
}
else
{
this
.
removeShareCodeCookie
()
if
(
cookie
.
get
(
'uid'
)
&&
this
.
props
.
user
.
hasError
)
{
this
.
getUser
()
}
if
(
location
.
pathname
===
'/passport'
)
{
window
.
localStorage
.
setItem
(
'binding_redirect'
,
JSON
.
stringify
(
this
.
previousLocation
))
}
const
{
pathname
,
state
}
=
location
if
(
pathname
.
startsWith
(
'/passport'
))
{
location
.
state
=
{
...
state
,
...{
from
:
{
pathname
:
this
.
previousLocation
.
pathname
,
search
:
this
.
previousLocation
.
search
,
hash
:
this
.
previousLocation
.
hash
}
})
}
umengStatistic
=
()
=>
{
// 友盟统计
const
script
=
document
.
createElement
(
'script'
)
script
.
src
=
'https://s22.cnzz.com/z_stat.php?id=1265696973&web_id=1265696973'
script
.
language
=
'JavaScript'
document
.
body
.
appendChild
(
script
)
}
removeShareCodeCookie
=
()
=>
{
cookie
.
remove
(
'share_code'
,
{
path
:
'/'
,
domain
:
'.julyedu.com'
})
}
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
.
length
>
1
&&
(
this
.
records
[
this
.
records
.
length
-
1
]
=
{
pathname
,
search
,
hash
})
break
default
:
!
isLastRecord
&&
this
.
records
.
push
({
pathname
,
search
,
hash
})
}
}
location
.
state
&&
location
.
state
.
records
?
(
location
.
state
.
records
=
this
.
records
)
:
location
.
state
?
location
.
state
=
{...
location
.
state
,
records
:
this
.
records
}
:
(
location
.
state
=
{
records
:
this
.
records
})
}
utm
=
()
=>
{
// utm统计 m站全站统计广告投放、以及统计详情页浏览
let
utm_source
=
getParam
(
'utm_source'
)
let
utm_medium
=
getParam
(
'utm_medium'
)
let
utm_campaign
=
getParam
(
'utm_campaign'
)
let
utm_content
=
getParam
(
'utm_content'
)
let
utm_term
=
getParam
(
'utm_term'
)
let
courseId
=
location
.
pathname
.
startsWith
(
'/getDetail'
)
||
location
.
pathname
.
startsWith
(
'/detail'
)
?
getParam
(
'id'
)
:
0
if
(
courseId
||
(
utm_term
&&
utm_source
&&
utm_medium
&&
utm_campaign
&&
utm_content
))
{
let
data
=
{
'utm_source'
:
utm_source
,
'utm_medium'
:
utm_medium
,
'utm_campaign'
:
utm_campaign
,
'utm_content'
:
utm_content
,
'utm_term'
:
utm_term
,
}
http
.
post
(
`
${
API
[
'www'
]}
/base/first_utm_record/
${
courseId
}
`
,
data
)
.
then
(
res
=>
{
})
}
else
{
this
.
removeShareCodeCookie
()
}
})
}
umengStatistic
=
()
=>
{
// 友盟统计
const
script
=
document
.
createElement
(
'script'
)
script
.
src
=
'https://s22.cnzz.com/z_stat.php?id=1265696973&web_id=1265696973'
script
.
language
=
'JavaScript'
document
.
body
.
appendChild
(
script
)
}
removeShareCodeCookie
=
()
=>
{
cookie
.
remove
(
'share_code'
,
{
path
:
'/'
,
domain
:
'.julyedu.com'
})
}
setNavigationRecord
=
(
location
,
action
)
=>
{
const
{
pathname
,
search
,
hash
}
=
location
let
isLastRecord
=
location
.
pathname
===
(
this
.
records
.
length
&&
this
.
records
[
this
.
records
.
length
-
1
].
pathname
)
let
needHistoryMutation
=
location
.
pathname
!==
this
.
previousLocation
.
pathname
switch
(
action
)
{
case
'POP'
:
if
(
needHistoryMutation
)
{
this
.
firstLoad
?
this
.
records
.
push
({
pathname
,
search
,
hash
})
:
this
.
records
.
pop
()
}
else
{
this
.
records
[
this
.
records
.
length
-
1
]
=
location
}
break
case
'REPLACE'
:
this
.
records
.
length
>
1
&&
(
this
.
records
[
this
.
records
.
length
-
1
]
=
{
pathname
,
search
,
hash
})
break
default
:
!
isLastRecord
&&
this
.
records
.
push
({
pathname
,
search
,
hash
})
}
getUser
=
()
=>
{
//获取用户信息
this
.
props
.
startFetchUser
()
http
.
get
(
`
${
API
.
home
}
/m/user_info`
).
then
(
res
=>
{
this
.
props
.
setCurrentUser
(
this
.
transformUser
(
res
))
location
.
state
&&
location
.
state
.
records
?
(
location
.
state
.
records
=
this
.
records
)
:
location
.
state
?
location
.
state
=
{...
location
.
state
,
records
:
this
.
records
}
:
(
location
.
state
=
{
records
:
this
.
records
})
}
utm
=
()
=>
{
// utm统计 m站全站统计广告投放、以及统计详情页浏览
let
utm_source
=
getParam
(
'utm_source'
)
let
utm_medium
=
getParam
(
'utm_medium'
)
let
utm_campaign
=
getParam
(
'utm_campaign'
)
let
utm_content
=
getParam
(
'utm_content'
)
let
utm_term
=
getParam
(
'utm_term'
)
let
courseId
=
location
.
pathname
.
startsWith
(
'/getDetail'
)
||
location
.
pathname
.
startsWith
(
'/detail'
)
?
getParam
(
'id'
)
:
0
if
(
courseId
||
(
utm_term
&&
utm_source
&&
utm_medium
&&
utm_campaign
&&
utm_content
))
{
let
data
=
{
'utm_source'
:
utm_source
,
'utm_medium'
:
utm_medium
,
'utm_campaign'
:
utm_campaign
,
'utm_content'
:
utm_content
,
'utm_term'
:
utm_term
,
}
http
.
post
(
`
${
API
[
'www'
]}
/base/first_utm_record/
${
courseId
}
`
,
data
)
.
then
(
res
=>
{
})
//微信
let
code
=
getParam
(
'code'
)
let
oid
=
getParam
(
'oid'
)
if
(
code
&&
!
oid
)
{
//针对2019双旦活动特殊处理,活动结束后删掉
//treasure_code=3538333139312c31&origin=2&aa=bb&code=0211aiYB1VVOL60rmWWB1367YB11aiY7&state=STATE
if
(
getParam
(
'treasure_code'
)
==
'3538333139312c31'
&&
code
==
'0211aiYB1VVOL60rmWWB1367YB11aiY7'
){
return
}
}
getUser
=
()
=>
{
//获取用户信息
this
.
props
.
startFetchUser
()
http
.
get
(
`
${
API
.
home
}
/m/user_info`
).
then
(
res
=>
{
this
.
props
.
setCurrentUser
(
this
.
transformUser
(
res
))
})
//微信
let
code
=
getParam
(
'code'
)
let
oid
=
getParam
(
'oid'
)
if
(
code
&&
!
oid
)
{
//针对2019双旦活动特殊处理,活动结束后删掉
//treasure_code=3538333139312c31&origin=2&aa=bb&code=0211aiYB1VVOL60rmWWB1367YB11aiY7&state=STATE
if
(
getParam
(
'treasure_code'
)
==
'3538333139312c31'
&&
code
==
'0211aiYB1VVOL60rmWWB1367YB11aiY7'
)
{
return
}
http
.
get
(
`
${
API
[
'home'
]}
/m/wx_loginInfo/code/
${
code
}
?redirect=
${
encodeURIComponent
(
window
.
location
.
href
)}
`
)
.
then
(
res
=>
{
let
data
=
res
.
data
if
(
data
.
errno
==
200
)
{
if
(
data
.
data
[
'is_bind_mobile'
])
{
window
.
location
.
assign
(
data
.
data
.
url
)
}
else
{
let
user
=
this
.
transformWxUser
(
res
)
let
{
role
,
uid
,
token
}
=
data
.
data
let
expires
=
addDays
(
new
Date
(),
90
)
cookie
.
set
(
'role'
,
role
,
{
expires
,
domain
:
'.julyedu.com'
,
path
:
'/'
})
cookie
.
set
(
'uid'
,
uid
,
{
expires
,
domain
:
'.julyedu.com'
,
path
:
'/'
})
cookie
.
set
(
'token'
,
token
,
{
expires
,
domain
:
'.julyedu.com'
,
path
:
'/'
})
this
.
props
.
setCurrentUser
(
user
)
}
http
.
get
(
`
${
API
[
'home'
]}
/m/wx_loginInfo/code/
${
code
}
?redirect=
${
encodeURIComponent
(
window
.
location
.
href
)}
`
)
.
then
(
res
=>
{
let
data
=
res
.
data
if
(
data
.
errno
==
200
)
{
if
(
data
.
data
[
'is_bind_mobile'
])
{
window
.
location
.
assign
(
data
.
data
.
url
)
}
else
{
let
user
=
this
.
transformWxUser
(
res
)
let
{
role
,
uid
,
token
}
=
data
.
data
let
expires
=
addDays
(
new
Date
(),
90
)
cookie
.
set
(
'role'
,
role
,
{
expires
,
domain
:
'.julyedu.com'
,
path
:
'/'
})
cookie
.
set
(
'uid'
,
uid
,
{
expires
,
domain
:
'.julyedu.com'
,
path
:
'/'
})
cookie
.
set
(
'token'
,
token
,
{
expires
,
domain
:
'.julyedu.com'
,
path
:
'/'
})
this
.
props
.
setCurrentUser
(
user
)
}
}
else
{
Toast
.
info
(
data
.
msg
)
}
})
}
else
{
Toast
.
info
(
data
.
msg
)
}
})
}
}
}
componentDidUpdate
()
{
this
.
setPreviousLocation
()
componentDidUpdate
()
{
if
(
!
this
.
props
.
user
.
hasError
&&
getParam
(
'redirect'
))
{
window
.
location
.
href
=
getParam
(
'redirect'
)
}
}
this
.
setPreviousLocation
()
setPreviousLocation
=
()
=>
{
const
{
location
}
=
this
.
props
let
isInBlacklist
=
this
.
pathnameBlacklist
.
some
(
item
=>
location
.
pathname
.
startsWith
(
item
))
!
isInBlacklist
&&
(
this
.
previousLocation
=
location
)
if
(
!
this
.
props
.
user
.
hasError
&&
getParam
(
'redirect'
))
{
window
.
location
.
href
=
getParam
(
'redirect'
)
}
transformUser
=
res
=>
{
let
payload
if
(
res
.
data
.
code
===
200
)
{
//移除红包统计cookie
this
.
removeShareCodeCookie
()
const
{
msg
,
data
:
{
avatar_file
:
avatar
,
user_name
:
username
,
is_vip
:
isVIP
,
uid
,
code
}
}
=
res
.
data
payload
=
{
hasError
:
false
,
msg
,
data
:
{
username
,
isVIP
,
avatar
,
uid
,
code
}
}
}
else
{
payload
=
{
hasError
:
true
,
msg
:
res
.
data
.
msg
,
code
:
res
.
data
.
code
,
data
:
{}
}
}
setPreviousLocation
=
()
=>
{
const
{
location
}
=
this
.
props
let
isInBlacklist
=
this
.
pathnameBlacklist
.
some
(
item
=>
location
.
pathname
.
startsWith
(
item
))
!
isInBlacklist
&&
(
this
.
previousLocation
=
location
)
}
transformUser
=
res
=>
{
let
payload
if
(
res
.
data
.
code
===
200
)
{
//移除红包统计cookie
this
.
removeShareCodeCookie
()
const
{
msg
,
data
:
{
avatar_file
:
avatar
,
user_name
:
username
,
is_vip
:
isVIP
,
uid
,
code
}
return
payload
}
transformWxUser
=
res
=>
{
let
data
=
res
.
data
if
(
data
.
errno
==
200
)
{
//移除红包统计cookie
this
.
removeShareCodeCookie
()
let
{
uid
,
token
,
avatar_file
:
avatar
,
uname
:
username
,}
=
data
.
data
return
{
hasError
:
false
,
data
:
{
uid
,
token
,
avatar
,
username
},
msg
:
data
.
msg
}
}
else
{
let
{
code
,
msg
}
=
data
.
data
return
{
code
,
msg
,
hasError
:
true
,
data
:
{}
}
}
=
res
.
data
payload
=
{
hasError
:
false
,
msg
,
data
:
{
username
,
isVIP
,
avatar
,
uid
,
code
}
}
}
else
{
payload
=
{
hasError
:
true
,
msg
:
res
.
data
.
msg
,
code
:
res
.
data
.
code
,
data
:
{}
}
}
render
()
{
return
<>
<
Routes
/>
<
Link
className
=
{
'year19-index'
}
to
=
"/year/yearindex"
>
<
img
src
=
"https://julyedu-cdn.oss-cn-beijing.aliyuncs.com/newyear20/H5/gift-package.png"
alt
=
""
/>
<
/Link
>
<
/
>
return
payload
}
transformWxUser
=
res
=>
{
let
data
=
res
.
data
if
(
data
.
errno
==
200
)
{
//移除红包统计cookie
this
.
removeShareCodeCookie
()
let
{
uid
,
token
,
avatar_file
:
avatar
,
uname
:
username
,}
=
data
.
data
return
{
hasError
:
false
,
data
:
{
uid
,
token
,
avatar
,
username
},
msg
:
data
.
msg
}
}
else
{
let
{
code
,
msg
}
=
data
.
data
return
{
code
,
msg
,
hasError
:
true
,
data
:
{}
}
}
}
render
()
{
return
<>
<
Routes
/>
<
Link
className
=
{
'year19-index'
}
to
=
"/year/yearindex"
>
<
img
src
=
"https://julyedu-cdn.oss-cn-beijing.aliyuncs.com/newyear20/H5/gift-package.png"
alt
=
""
/>
<
/Link
>
<
/
>
}
}
export
default
compose
(
connect
(
state
=>
({
user
:
state
.
user
}),
{
setCurrentUser
,
startFetchUser
}
),
withRouter
connect
(
state
=>
({
user
:
state
.
user
}),
{
setCurrentUser
,
startFetchUser
}
),
withRouter
)(
App
)
src/components/blessingPreheat/courseItem/index.js
View file @
8dc770b7
...
...
@@ -15,4 +15,4 @@ class CourseItem extends Component {
}
}
export
default
CourseItem
;
\ No newline at end of file
export
default
CourseItem
;
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