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
8c890307
Commit
8c890307
authored
Dec 22, 2019
by
zhanghaozhe
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'goback' into pre
parents
cd484355
8dc770b7
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 @
8c890307
...
...
@@ -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 @
8c890307
...
...
@@ -58,4 +58,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