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
5250d1cc
Commit
5250d1cc
authored
Jul 13, 2020
by
zhanghaozhe
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch '2020-717-formal'
parents
a2a5e971
72db7bfb
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
257 additions
and
62 deletions
+257
-62
src/App.js
+11
-12
src/components/activity/2020-717/activity/index.js
+40
-6
src/components/activity/2020-717/activity/index.scss
+92
-2
src/components/activity/2020-717/invitation/index.js
+49
-23
src/components/activity/2020-717/invitation/index.scss
+14
-6
src/components/activity/2020-717/question/index.js
+31
-12
src/components/activity/2020-717/question/index.scss
+20
-1
No files found.
src/App.js
View file @
5250d1cc
...
@@ -28,7 +28,8 @@ class App extends Component {
...
@@ -28,7 +28,8 @@ class App extends Component {
super
(
props
)
super
(
props
)
this
.
state
=
{
this
.
state
=
{
isShowActivityEntry
:
0
,
isShowActivityEntry
:
0
,
isShowChannel
:
0
,
jumpUrl
:
''
,
entryImage
:
''
,
}
}
}
}
...
@@ -108,16 +109,14 @@ class App extends Component {
...
@@ -108,16 +109,14 @@ class App extends Component {
// 获取宝箱阶段
// 获取宝箱阶段
getStage
=
()
=>
{
getStage
=
()
=>
{
let
ccode
=
cookie
.
get
(
'ccode'
)
let
ccode
=
cookie
.
get
(
'ccode'
)
http
.
get
(
`
${
API
.
home
}
/
activity/stage
?ccode=
${
ccode
}
`
).
then
(
res
=>
{
http
.
get
(
`
${
API
.
home
}
/
sys/anniversary/floating
?ccode=
${
ccode
}
`
).
then
(
res
=>
{
const
{
code
,
data
,
msg
}
=
res
.
data
const
{
code
,
data
,
msg
}
=
res
.
data
if
(
code
===
200
)
{
if
(
code
===
200
)
{
// treasure_stage,宝箱阶段,0-不在活动时间,1-活动时间内
this
.
setState
({
this
.
setState
({
isShowActivityEntry
:
data
.
treasure_stage
,
isShowActivityEntry
:
data
.
is_show
,
isShowChannel
:
data
.
is_show_site_window_by_channel
,
jumpUrl
:
data
.
jump_url
,
entryImage
:
data
.
image_path
,
})
})
window
.
sessionStorage
.
setItem
(
'isShowSiteWindowByChannel'
,
data
.
is_show_site_window_by_channel
)
}
else
{
}
else
{
Toast
.
info
(
msg
,
2
)
Toast
.
info
(
msg
,
2
)
}
}
...
@@ -328,16 +327,16 @@ class App extends Component {
...
@@ -328,16 +327,16 @@ class App extends Component {
}
}
render
()
{
render
()
{
const
{
isShowActivityEntry
,
entryImage
,
jumpUrl
}
=
this
.
state
return
<>
return
<>
<
Routes
/>
<
Routes
/>
{
{
!!
this
.
state
.
isShowActivityEntry
&&
!!
this
.
state
.
isShowChannel
&&
isShowActivityEntry
&&
<
div
className
=
"year19-index"
>
<
div
className
=
"year19-index"
>
<
i
className
=
{
'iconfont iconiconfront-2'
}
onClick
=
{
this
.
closeGlobalEntry
}
><
/i
>
<
i
className
=
{
'iconfont iconiconfront-2'
}
onClick
=
{
this
.
closeGlobalEntry
}
><
/i
>
<
Link
to
=
{
'/box/boxActive'
}
>
<
a
href
=
{
jumpUrl
}
>
<
img
src
=
"https://julyedu-cdn.oss-cn-beijing.aliyuncs.com/treasure-active/m/global-entry.png"
<
img
src
=
{
entryImage
}
alt
=
""
/>
alt
=
""
/>
<
/a
>
<
/Link
>
<
/div
>
<
/div
>
}
}
<
/
>
<
/
>
...
...
src/components/activity/2020-717/activity/index.js
View file @
5250d1cc
...
@@ -9,6 +9,7 @@ import { Popup } from "@common/index"
...
@@ -9,6 +9,7 @@ import { Popup } from "@common/index"
import
classnames
from
'classnames'
import
classnames
from
'classnames'
import
tweenFunctions
from
'tween-functions'
import
tweenFunctions
from
'tween-functions'
import
storage
from
'store2'
import
storage
from
'store2'
import
{
REDO
,
addData
}
from
"@components/activity/2020-717/question/store/reducer"
class
Anniversary2020
extends
Component
{
class
Anniversary2020
extends
Component
{
...
@@ -116,6 +117,7 @@ class Anniversary2020 extends Component {
...
@@ -116,6 +117,7 @@ class Anniversary2020 extends Component {
this
.
getBulletScreenData
()
this
.
getBulletScreenData
()
this
.
getRankList
()
this
.
getRankList
()
this
.
getStageCourses
(
'zero'
)
this
.
getStageCourses
(
'zero'
)
this
.
props
.
addData
({
type
:
REDO
})
if
(
this
.
store
.
session
.
get
(
'toInvitation'
)
&&
!
this
.
props
.
user
.
hasError
)
{
if
(
this
.
store
.
session
.
get
(
'toInvitation'
)
&&
!
this
.
props
.
user
.
hasError
)
{
this
.
getFollowStaus
()
this
.
getFollowStaus
()
this
.
store
.
session
.
remove
(
'toInvitation'
)
this
.
store
.
session
.
remove
(
'toInvitation'
)
...
@@ -139,8 +141,8 @@ class Anniversary2020 extends Component {
...
@@ -139,8 +141,8 @@ class Anniversary2020 extends Component {
http
.
get
(
`
${
API
.
home
}
/activity/anniversary/activityStage`
)
http
.
get
(
`
${
API
.
home
}
/activity/anniversary/activityStage`
)
.
then
(
res
=>
{
.
then
(
res
=>
{
const
{
code
,
msg
,
data
}
=
res
.
data
const
{
code
,
msg
,
data
}
=
res
.
data
this
.
setupCountDown
(
data
.
count_down
)
if
(
code
===
200
)
{
if
(
code
===
200
)
{
this
.
setupCountDown
(
data
.
count_down
)
this
.
setState
({
this
.
setState
({
activityData
:
data
,
activityData
:
data
,
},
this
.
bindNavAction
())
},
this
.
bindNavAction
())
...
@@ -267,7 +269,7 @@ class Anniversary2020 extends Component {
...
@@ -267,7 +269,7 @@ class Anniversary2020 extends Component {
const
_records
=
Array
.
isArray
(
data
)
?
data
:
[]
const
_records
=
Array
.
isArray
(
data
)
?
data
:
[]
this
.
setState
(
state
=>
{
this
.
setState
(
state
=>
{
return
{
return
{
prizeRecords
:
_records
,
prizeRecords
:
state
.
prizeRecords
.
concat
(
_records
)
,
prizeRecordsPagination
:
state
.
prizeRecordsPagination
+
1
,
prizeRecordsPagination
:
state
.
prizeRecordsPagination
+
1
,
}
}
},
()
=>
{
},
()
=>
{
...
@@ -716,6 +718,34 @@ class Anniversary2020 extends Component {
...
@@ -716,6 +718,34 @@ class Anniversary2020 extends Component {
<
/Carousel
>
<
/Carousel
>
}
}
<
div
className
=
"prize-wrapper"
>
<
div
className
=
"prize-wrapper"
>
{
/*<ul className={'h--bar bar'}>
{
Array(11).fill('a').map((item, index) => {
return <li key={index}></li>
})
}
</ul>
<ul className={'h--bar bar'}>
{
Array(11).fill('a').map((item, index) => {
return <li key={index}></li>
})
}
</ul>
<ul className={'bar v--bar'}>
{
Array(8).fill('a').map((item, index) => {
return <li key={index}></li>
})
}
</ul>
<ul className={'bar v--bar'}>
{
Array(8).fill('a').map((item, index) => {
return <li key={index}></li>
})
}
</ul>*/
}
<
div
className
=
{
'h-bar'
}
><
/div
>
<
div
className
=
{
'h-bar'
}
><
/div
>
<
div
className
=
{
'h-bar'
}
><
/div
>
<
div
className
=
{
'h-bar'
}
><
/div
>
<
div
className
=
{
'v-bar'
}
><
/div
>
<
div
className
=
{
'v-bar'
}
><
/div
>
...
@@ -728,7 +758,7 @@ class Anniversary2020 extends Component {
...
@@ -728,7 +758,7 @@ class Anniversary2020 extends Component {
{
{
active
:
drawingItemId
===
item
.
id
,
active
:
drawingItemId
===
item
.
id
,
available
:
index
===
4
&&
(
user
.
hasError
||
prizeData
.
odd_times
),
available
:
index
===
4
&&
(
user
.
hasError
||
prizeData
.
odd_times
),
unavailable
:
index
===
4
&&
(
activityData
.
stage
===
1
||
!
prizeData
.
odd_times
),
unavailable
:
index
===
4
&&
!
user
.
hasError
&&
(
activityData
.
stage
===
1
||
!
prizeData
.
odd_times
),
},
},
])}
onClick
=
{
this
.
draw
.
bind
(
this
,
index
)}
>
])}
onClick
=
{
this
.
draw
.
bind
(
this
,
index
)}
>
{
{
...
@@ -987,6 +1017,7 @@ class Anniversary2020 extends Component {
...
@@ -987,6 +1017,7 @@ class Anniversary2020 extends Component {
<
section
id
=
{
'audition'
}
className
=
{
'audition'
}
>
<
section
id
=
{
'audition'
}
className
=
{
'audition'
}
>
<
div
className
=
"block-title"
<
div
className
=
"block-title"
style
=
{{
background
:
`url(
${
titleImages
[
3
]}
) no-repeat`
,
backgroundSize
:
'contain'
}}
><
/div
>
style
=
{{
background
:
`url(
${
titleImages
[
3
]}
) no-repeat`
,
backgroundSize
:
'contain'
}}
><
/div
>
<
h4
>
报名集训营
/
就业班有豪礼相送,不止
AirPods
,送完即止
<
/h4
>
<
ul
className
=
"course-container"
>
<
ul
className
=
"course-container"
>
{
{
!!
_auditions
.
length
&&
_auditions
.
map
((
item
,
index
)
=>
{
!!
_auditions
.
length
&&
_auditions
.
map
((
item
,
index
)
=>
{
...
@@ -1188,6 +1219,7 @@ class Anniversary2020 extends Component {
...
@@ -1188,6 +1219,7 @@ class Anniversary2020 extends Component {
this
.
setState
({
this
.
setState
({
isShowPrizesRecords
:
false
,
isShowPrizesRecords
:
false
,
prizeRecordsPagination
:
0
,
prizeRecordsPagination
:
0
,
prizeRecords
:
[],
});
});
}}
><
/i
>
}}
><
/i
>
<
/div
>
<
/div
>
...
@@ -1223,7 +1255,6 @@ class Anniversary2020 extends Component {
...
@@ -1223,7 +1255,6 @@ class Anniversary2020 extends Component {
isShowFollow
:
false
,
isShowFollow
:
false
,
});
});
}}
><
/i
>
}}
><
/i
>
<
/div
>
<
/div
>
<
/div
>
<
/div
>
}
}
...
@@ -1237,7 +1268,7 @@ function WinPrize({name, close, info}) {
...
@@ -1237,7 +1268,7 @@ function WinPrize({name, close, info}) {
<
div
className
=
"modal win-prize"
>
<
div
className
=
"modal win-prize"
>
<
div
className
=
"title"
>
恭喜您
<
/div
>
<
div
className
=
"title"
>
恭喜您
<
/div
>
<
div
className
=
"des"
>
抽中了
XXX
<
span
className
=
{
'name'
}
>
{
name
}
<
/span></
div
>
<
div
className
=
"des"
>
抽中了
XXX
<
span
className
=
{
'name'
}
>
{
name
}
<
/span></
div
>
<
div
className
=
"contact"
>
{
/*{info}*/
}
请添加客服微信号:
********
请添加客服微信号:
<
/div
>
<
div
className
=
"contact"
>
{
info
}
<
/div
>
<
button
onClick
=
{
close
}
>
我知道了
<
/button
>
<
button
onClick
=
{
close
}
>
我知道了
<
/button
>
<
/div
>
<
/div
>
<
/div
>
<
/div
>
...
@@ -1273,5 +1304,7 @@ function TeamMember({members, close, uid}) {
...
@@ -1273,5 +1304,7 @@ function TeamMember({members, close, uid}) {
export
default
connect
(
export
default
connect
(
({
user
})
=>
({
user
}),
({
user
})
=>
({
user
}),
null
,
dispatch
=>
({
addData
:
data
=>
dispatch
(
addData
(
data
)),
}),
)(
Anniversary2020
);
)(
Anniversary2020
);
\ No newline at end of file
src/components/activity/2020-717/activity/index.scss
View file @
5250d1cc
...
@@ -2,9 +2,13 @@
...
@@ -2,9 +2,13 @@
background-color
:
#2E00DC
;
background-color
:
#2E00DC
;
padding
:
0
10px
75px
;
padding
:
0
10px
75px
;
&
+
.year19-index
{
display
:
none
;
}
.banner
{
.banner
{
position
:
relative
;
position
:
relative
;
height
:
22
0px
;
height
:
30
0px
;
img
{
img
{
width
:
100%
;
width
:
100%
;
...
@@ -223,7 +227,7 @@
...
@@ -223,7 +227,7 @@
text-overflow
:
ellipsis
;
text-overflow
:
ellipsis
;
}
}
.title
{
.title
{
font-size
:
15px
;
font-size
:
15px
;
font-weight
:
bold
;
font-weight
:
bold
;
}
}
...
@@ -387,6 +391,81 @@
...
@@ -387,6 +391,81 @@
}
}
}
}
$dot_size
:
5px
;
$twinkle_duration
:
1s
;
.bar
{
position
:
absolute
;
display
:
flex
;
li
{
flex
:
0
0
auto
;
width
:
$dot_size
;
height
:
$dot_size
;
border-radius
:
50%
;
background
:
#fff
;
}
}
.h--bar
{
left
:
50%
;
top
:
0
;
transform
:
translateX
(
-50%
);
justify-content
:
space-between
;
width
:
280px
;
height
:
$dot_size
;
li
{
animation
:
$twinkle_duration
ease-in-out
infinite
twinkle
;
&
:nth-child
(
even
)
{
animation-delay
:
$twinkle_duration
/
2
;
}
}
&
+
.h--bar
{
top
:
initial
;
bottom
:
0
;
}
}
.v--bar
{
top
:
3px
;
left
:
5px
;
flex-direction
:
column
;
justify-content
:
space-between
;
width
:
$dot_size
;
height
:
198px
;
li
{
animation
:
$twinkle_duration
ease-in-out
$twinkle_duration
/
2
infinite
twinkle
;
&
:nth-child
(
even
)
{
animation-delay
:
$twinkle_duration
/
4
;
}
}
&
+
.v--bar
{
left
:
initial
;
right
:
5px
;
}
}
@keyframes
twinkle
{
from
{
background
:
#fff
;
}
50
%
{
background
:
#FFDA09
;
}
to
{
background
:
#fff
;
}
}
.prizes
{
.prizes
{
display
:
flex
;
display
:
flex
;
justify-content
:
space-around
;
justify-content
:
space-around
;
...
@@ -754,6 +833,12 @@
...
@@ -754,6 +833,12 @@
.audition
{
.audition
{
margin-bottom
:
20px
;
margin-bottom
:
20px
;
h4
{
color
:
#fff
;
font-size
:
12px
;
margin
:
10px
0
15px
;
}
.block-title
{
.block-title
{
width
:
197px
;
width
:
197px
;
height
:
32px
;
height
:
32px
;
...
@@ -1119,6 +1204,11 @@
...
@@ -1119,6 +1204,11 @@
}
}
.members
{
.members
{
ul
{
max-height
:
230px
;
overflow
:
auto
;
}
li
{
li
{
display
:
flex
;
display
:
flex
;
align-items
:
center
;
align-items
:
center
;
...
...
src/components/activity/2020-717/invitation/index.js
View file @
5250d1cc
import
React
,
{
Component
}
from
'react'
;
import
React
,
{
Component
}
from
'react'
;
import
'./index.scss'
import
'./index.scss'
import
{
WithFullSize
}
from
"@/HOCs"
import
{
connect
}
from
"react-redux"
;
import
{
connect
}
from
"react-redux"
;
import
{
compose
}
from
"redux"
;
import
{
compose
}
from
"redux"
;
import
{
HeaderBar
}
from
"@common/index"
import
{
HeaderBar
}
from
"@common/index"
...
@@ -8,10 +7,12 @@ import { getParam, http, browser, wxShare } from "@/utils"
...
@@ -8,10 +7,12 @@ import { getParam, http, browser, wxShare } from "@/utils"
import
{
Toast
}
from
"antd-mobile"
;
import
{
Toast
}
from
"antd-mobile"
;
import
{
CopyToClipboard
}
from
"react-copy-to-clipboard"
;
import
{
CopyToClipboard
}
from
"react-copy-to-clipboard"
;
import
{
Link
}
from
'react-router-dom'
import
{
Link
}
from
'react-router-dom'
import
storage
from
'store2'
import
{
CaptchaAli
}
from
"@common/index"
class
Invitation
extends
Component
{
class
Invitation
extends
Component
{
store
=
storage
.
namespace
(
'anniversary2020'
)
state
=
{
state
=
{
prizes
:
[],
prizes
:
[],
invitationInfo
:
{},
invitationInfo
:
{},
...
@@ -21,12 +22,15 @@ class Invitation extends Component {
...
@@ -21,12 +22,15 @@ class Invitation extends Component {
isTeamHead
:
true
,
isTeamHead
:
true
,
isMaster
:
!
getParam
(
'team_code'
),
isMaster
:
!
getParam
(
'team_code'
),
isActivityEnd
:
false
,
isActivityEnd
:
false
,
instance
:
null
,
isShowCaptcha
:
false
,
}
}
componentDidMount
()
{
componentDidMount
()
{
this
.
getPrizesInfo
()
this
.
getPrizesInfo
()
if
(
getParam
(
'team_code'
))
{
if
(
getParam
(
'team_code'
))
{
this
.
getTeamInfo
()
this
.
getTeamInfo
()
this
.
store
.
session
.
set
(
'team_code'
,
getParam
(
'team_code'
))
}
else
{
}
else
{
this
.
getInvitationInfo
()
this
.
getInvitationInfo
()
}
}
...
@@ -78,6 +82,9 @@ class Invitation extends Component {
...
@@ -78,6 +82,9 @@ class Invitation extends Component {
teamInfo
:
data
,
teamInfo
:
data
,
isMaster
:
data
.
is_captain
||
!
getParam
(
'team_code'
),
isMaster
:
data
.
is_captain
||
!
getParam
(
'team_code'
),
});
});
if
(
data
.
is_captain
)
{
this
.
getInvitationInfo
()
}
}
else
{
}
else
{
Toast
.
info
(
msg
)
Toast
.
info
(
msg
)
}
}
...
@@ -86,7 +93,7 @@ class Invitation extends Component {
...
@@ -86,7 +93,7 @@ class Invitation extends Component {
})
})
}
}
joinTeam
=
()
=>
{
joinTeam
=
data
=>
{
const
{
user
,
history
}
=
this
.
props
const
{
user
,
history
}
=
this
.
props
if
(
user
.
hasError
)
{
if
(
user
.
hasError
)
{
if
(
browser
.
isWeixin
)
{
if
(
browser
.
isWeixin
)
{
...
@@ -96,19 +103,29 @@ class Invitation extends Component {
...
@@ -96,19 +103,29 @@ class Invitation extends Component {
}
}
return
return
}
}
http
.
post
(
`
${
API
.
home
}
/activity/anniversary/joinTeam`
,
{
if
(
this
.
state
.
teamInfo
.
is_check
&&
!
this
.
state
.
isShowCaptcha
)
{
team_code
:
getParam
(
'team_code'
),
this
.
setState
({
})
isShowCaptcha
:
true
,
});
return
}
let
_data
=
{
team_code
:
getParam
(
'team_code'
)}
if
(
data
)
{
_data
=
{...
_data
,
...
data
}
}
http
.
post
(
`
${
API
.
home
}
/activity/anniversary/joinTeam`
,
_data
)
.
then
(
res
=>
{
.
then
(
res
=>
{
const
{
code
,
msg
}
=
res
.
data
const
{
code
,
msg
}
=
res
.
data
if
(
code
===
200
)
{
if
(
code
===
200
)
{
Toast
.
info
(
'加入成功'
,
2
,
null
,
false
)
Toast
.
info
(
'加入成功'
,
2
,
null
,
false
)
this
.
setState
((
state
,
props
)
=>
{
this
.
setState
((
state
,
props
)
=>
{
return
{
return
{
teamInfo
:
{...
state
.
teamInfo
,
...{
status
:
2
}},
teamInfo
:
{...
state
.
teamInfo
,
...{
status
:
2
,
is_check
:
false
}},
isShowCaptcha
:
false
}
}
});
});
}
else
if
(
code
===
5002
)
{
this
.
state
.
instance
&&
this
.
state
.
instance
.
reset
()
}
else
if
(
code
===
25015
)
{
}
else
if
(
code
===
25015
)
{
this
.
setState
({
this
.
setState
({
isActivityEnd
:
true
,
isActivityEnd
:
true
,
...
@@ -138,11 +155,22 @@ class Invitation extends Component {
...
@@ -138,11 +155,22 @@ class Invitation extends Component {
}
}
render
()
{
render
()
{
const
{
prizes
,
invitationInfo
,
isShowGuide
,
teamInfo
,
isMaster
,
isActivityEnd
}
=
this
.
state
const
{
prizes
,
invitationInfo
,
isShowGuide
,
teamInfo
,
isMaster
,
isActivityEnd
,
isShowCaptcha
}
=
this
.
state
const
{
location
}
=
this
.
props
const
{
location
}
=
this
.
props
return
(
return
(
<
div
id
=
{
'invitation'
}
>
isShowCaptcha
?
<
div
className
=
{
'captcha-container'
}
>
<
CaptchaAli
getInstance
=
{
instance
=>
{
this
.
setState
({
instance
,
});
}}
onVerify
=
{
data
=>
this
.
joinTeam
(
data
)}
/
>
<
/div
>
:
<
div
id
=
{
'invitation'
}
>
<
HeaderBar
title
=
{
'答题抽奖'
}
arrow
=
{
true
}
goBack
=
{()
=>
{
<
HeaderBar
title
=
{
'答题抽奖'
}
arrow
=
{
true
}
goBack
=
{()
=>
{
this
.
props
.
history
.
push
(
'/anniversary_2020'
)
this
.
props
.
history
.
push
(
'/anniversary_2020'
)
}}
/
>
}}
/
>
...
@@ -175,6 +203,17 @@ class Invitation extends Component {
...
@@ -175,6 +203,17 @@ class Invitation extends Component {
})
})
}
}
<
/ul
>
<
/ul
>
<
/div
>
{
isShowGuide
&&
<
div
className
=
"guide"
onClick
=
{()
=>
{
this
.
setState
({
isShowGuide
:
false
,
});
}}
>
<
i
className
=
{
'indicator'
}
><
/i
>
<
div
className
=
"tip"
>
点击右上角,分享给好友
<
/div
>
<
/div
>
}
<
div
className
=
"op"
>
<
div
className
=
"op"
>
{
{
isMaster
?
isMaster
?
...
@@ -204,19 +243,7 @@ class Invitation extends Component {
...
@@ -204,19 +243,7 @@ class Invitation extends Component {
drawQuestions
=
{
this
.
drawQuestions
}
isAnswered
=
{
teamInfo
.
is_answer
}
/
>
drawQuestions
=
{
this
.
drawQuestions
}
isAnswered
=
{
teamInfo
.
is_answer
}
/
>
<
/
>
<
/
>
}
}
<
/div
>
<
/div
>
{
isShowGuide
&&
<
div
className
=
"guide"
onClick
=
{()
=>
{
this
.
setState
({
isShowGuide
:
false
,
});
}}
>
<
i
className
=
{
'indicator'
}
><
/i
>
<
div
className
=
"tip"
>
点击右上角,分享给好友
<
/div
>
<
/div
>
<
/div
>
}
<
/div
>
<
/div
>
);
);
}
}
...
@@ -236,7 +263,6 @@ function BottomButton({status, isActivityEnd, isAnswered, joinTeam, drawQuestion
...
@@ -236,7 +263,6 @@ function BottomButton({status, isActivityEnd, isAnswered, joinTeam, drawQuestion
}
}
export
default
compose
(
export
default
compose
(
WithFullSize
,
connect
(
connect
(
({
user
})
=>
({
user
}),
({
user
})
=>
({
user
}),
null
,
null
,
...
...
src/components/activity/2020-717/invitation/index.scss
View file @
5250d1cc
#invitation
{
html
,
body
,
#root
{
height
:
100%
;
height
:
100%
;
}
#invitation
{
min-height
:
100%
;
padding-bottom
:
60px
;
background
:
#2E00DC
;
background
:
#2E00DC
;
&
+
.year19-index
{
display
:
none
;
}
.banner
{
.banner
{
height
:
67px
;
height
:
67px
;
margin
:
20px
0
;
margin
:
20px
0
;
...
@@ -12,9 +23,8 @@
...
@@ -12,9 +23,8 @@
.prize-container
{
.prize-container
{
position
:
relative
;
position
:
relative
;
padding
:
15px
;
padding
:
15px
;
margin
:
0
auto
8px
;
margin
:
0
auto
;
width
:
355px
;
width
:
355px
;
height
:
219px
;
background
:
rgba
(
39
,
27
,
211
,
1
);
background
:
rgba
(
39
,
27
,
211
,
1
);
border
:
4px
solid
;
border
:
4px
solid
;
border-image
:
linear-gradient
(
0deg
,
rgba
(
33
,
32
,
244
,
1
)
,
rgba
(
94
,
167
,
248
,
1
))
10
10
;
border-image
:
linear-gradient
(
0deg
,
rgba
(
33
,
32
,
244
,
1
)
,
rgba
(
94
,
167
,
248
,
1
))
10
10
;
...
@@ -136,9 +146,7 @@
...
@@ -136,9 +146,7 @@
}
}
.op
{
.op
{
position
:
fixed
;
margin-top
:
9vh
;
bottom
:
40px
;
left
:
0
;
width
:
100%
;
width
:
100%
;
text-align
:
center
;
text-align
:
center
;
...
...
src/components/activity/2020-717/question/index.js
View file @
5250d1cc
...
@@ -8,9 +8,10 @@ import { Link } from "react-router-dom"
...
@@ -8,9 +8,10 @@ import { Link } from "react-router-dom"
import
{
compose
}
from
'redux'
import
{
compose
}
from
'redux'
import
{
connect
}
from
'react-redux'
import
{
connect
}
from
'react-redux'
import
{
addData
,
ADD_RECOMMENDS
,
ADD_QUESTION
,
ADD_RESULT
,
REDO
}
from
'./store/reducer'
import
{
addData
,
ADD_RECOMMENDS
,
ADD_QUESTION
,
ADD_RESULT
,
REDO
}
from
'./store/reducer'
import
storage
from
'store2'
class
Question
extends
Component
{
class
Question
extends
Component
{
store
=
storage
.
namespace
(
'anniversary2020'
)
state
=
{
state
=
{
question
:
{},
question
:
{},
result
:
{},
result
:
{},
...
@@ -40,6 +41,14 @@ class Question extends Component {
...
@@ -40,6 +41,14 @@ class Question extends Component {
type
:
ADD_QUESTION
,
type
:
ADD_QUESTION
,
payload
:
data
,
payload
:
data
,
})
})
}
else
if
(
code
===
25004
)
{
const
{
history
}
=
this
.
props
let
teamCode
=
this
.
store
.
session
.
get
(
'team_code'
)
if
(
teamCode
)
{
history
.
push
(
`/anniversary_2020/invitation?team_code=
${
teamCode
}
`
)
}
else
{
history
.
push
(
`/anniversary_2020`
)
}
}
else
{
}
else
{
Toast
.
info
(
msg
)
Toast
.
info
(
msg
)
}
}
...
@@ -81,9 +90,11 @@ class Question extends Component {
...
@@ -81,9 +90,11 @@ class Question extends Component {
})
})
}
}
resultFun
=
()
=>
{
resultFun
=
(
e
)
=>
{
const
{
history
}
=
this
.
props
const
{
history
}
=
this
.
props
if
(
this
.
state
.
is_sign
)
{
let
notNeedSign
=
e
.
target
.
getAttribute
(
'data-sign'
)
==
0
console
.
log
(
notNeedSign
)
if
(
this
.
state
.
is_sign
||
notNeedSign
)
{
history
.
push
(
'/anniversary_2020#lottery'
)
history
.
push
(
'/anniversary_2020#lottery'
)
}
else
{
}
else
{
http
.
get
(
`
${
API
.
home
}
/activity/anniversary/sign`
)
http
.
get
(
`
${
API
.
home
}
/activity/anniversary/sign`
)
...
@@ -130,7 +141,7 @@ class Question extends Component {
...
@@ -130,7 +141,7 @@ class Question extends Component {
}
}
getOptionLabel
=
(
index
)
=>
{
getOptionLabel
=
(
index
)
=>
{
return
String
.
fromCharCode
(
65
+
index
)
return
index
>=
0
?
String
.
fromCharCode
(
65
+
index
)
:
'空'
}
}
redo
=
()
=>
{
redo
=
()
=>
{
...
@@ -203,11 +214,9 @@ class Question extends Component {
...
@@ -203,11 +214,9 @@ class Question extends Component {
isTeamHead
=
{
isTeamHead
}
isTeamHead
=
{
isTeamHead
}
isActivityEnd
=
{
isActivityEnd
}
isActivityEnd
=
{
isActivityEnd
}
submit
=
{()
=>
{
submit
=
{()
=>
{
if
(
this
.
state
.
selectedOptionId
)
{
this
.
setState
({
this
.
setState
({
isShowConfirm
:
true
,
isShowConfirm
:
true
,
})
});
}
}}
}}
redo
=
{
this
.
redo
}
redo
=
{
this
.
redo
}
/
>
/
>
...
@@ -222,15 +231,20 @@ class Question extends Component {
...
@@ -222,15 +231,20 @@ class Question extends Component {
}
}
{
{
isResultConfirm
&&
isResultConfirm
&&
<
ResultConfirm
resultFun
=
{
this
.
resultFun
}
is_correct
=
{
this
.
state
.
is_correct
}
<
ResultConfirm
resultFun
=
{
this
.
resultFun
}
is_sign
=
{
this
.
state
.
is_sign
}
><
/ResultConfirm
>
is_correct
=
{
this
.
state
.
is_correct
}
is_sign
=
{
this
.
state
.
is_sign
}
close
=
{()
=>
{
this
.
setState
({
isResultConfirm
:
false
});
}}
>
<
/ResultConfirm
>
}
}
<
/div
>
<
/div
>
)
)
}
}
}
}
function
ResultConfirm
({
resultFun
,
is_correct
,
is_sign
})
{
function
ResultConfirm
({
resultFun
,
is_correct
,
is_sign
,
close
})
{
return
<
div
className
=
"modal-cover"
>
return
<
div
className
=
"modal-cover"
>
<
div
className
=
"modal"
>
<
div
className
=
"modal"
>
{
{
...
@@ -243,8 +257,13 @@ function ResultConfirm({resultFun, is_correct, is_sign}) {
...
@@ -243,8 +257,13 @@ function ResultConfirm({resultFun, is_correct, is_sign}) {
}
}
<
div
className
=
{
'btm-button'
}
>
<
div
className
=
{
'btm-button'
}
>
<
button
onClick
=
{
resultFun
}
>
{
is_sign
?
'去抽奖'
:
'签到领取抽奖机会'
}
<
/button
>
<
button
onClick
=
{
resultFun
}
data
-
sign
=
{(
is_correct
||
is_sign
)
&&
0
}
>
{
is_correct
?
'去抽奖'
:
is_sign
?
'去抽奖'
:
'签到领取抽奖机会'
}
<
/button
>
<
/div
>
<
/div
>
<
i
className
=
"close iconiconfront-2 iconfont"
onClick
=
{
close
}
><
/i
>
<
/div
>
<
/div
>
<
/div
>
<
/div
>
}
}
...
@@ -277,7 +296,7 @@ function BottomButton({resultFun, result, submit, isTeamHead, redo, isActivityEn
...
@@ -277,7 +296,7 @@ function BottomButton({resultFun, result, submit, isTeamHead, redo, isActivityEn
if
(
result
.
analysis
)
{
if
(
result
.
analysis
)
{
return
!
result
.
is_sign
return
!
result
.
is_sign
?
<
button
className
=
{
'lottery-related'
}
onClick
=
{
resultFun
}
>
签到领取抽奖机会
<
/button
>
?
<
button
className
=
{
'lottery-related'
}
onClick
=
{
resultFun
}
>
签到领取抽奖机会
<
/button
>
:
<
button
className
=
{
'submit'
}
onClick
=
{
resultFun
}
>
去抽奖
<
/button
>
:
<
button
className
=
{
'submit'
}
onClick
=
{
resultFun
}
data
-
sign
=
{
'0'
}
>
去抽奖
<
/button
>
}
}
return
<
button
className
=
{
'submit'
}
onClick
=
{
submit
}
>
提交
<
/button
>
return
<
button
className
=
{
'submit'
}
onClick
=
{
submit
}
>
提交
<
/button
>
}
}
...
...
src/components/activity/2020-717/question/index.scss
View file @
5250d1cc
...
@@ -3,6 +3,11 @@
...
@@ -3,6 +3,11 @@
min-height
:
100%
;
min-height
:
100%
;
padding-bottom
:
55px
;
padding-bottom
:
55px
;
&
+
.year19-index
{
display
:
none
;
}
.banner
{
.banner
{
height
:
94px
;
height
:
94px
;
background
:
url("https://julyedu-cdn.oss-cn-beijing.aliyuncs.com/active20_717/m/question-banner.png")
;
background
:
url("https://julyedu-cdn.oss-cn-beijing.aliyuncs.com/active20_717/m/question-banner.png")
;
...
@@ -185,6 +190,15 @@
...
@@ -185,6 +190,15 @@
background-color
:
rgba
(
0
,
0
,
0
,
.6
);
background-color
:
rgba
(
0
,
0
,
0
,
.6
);
z-index
:
200
;
z-index
:
200
;
.close
{
position
:
absolute
;
bottom
:
-54px
;
left
:
50%
;
transform
:
translateX
(
-50%
);
font-size
:
24px
;
color
:
#fff
;
}
.modal
{
.modal
{
position
:
absolute
;
position
:
absolute
;
top
:
50%
;
top
:
50%
;
...
@@ -193,7 +207,6 @@
...
@@ -193,7 +207,6 @@
width
:
300px
;
width
:
300px
;
background
:
#fff
;
background
:
#fff
;
border-radius
:
5px
;
border-radius
:
5px
;
overflow
:
hidden
;
}
}
.title
{
.title
{
...
@@ -263,3 +276,8 @@
...
@@ -263,3 +276,8 @@
}
}
}
}
}
}
.captcha-container
{
padding
:
40vh
30px
;
}
\ No newline at end of file
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