Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in / Register
Toggle navigation
W
wechatapp.shangjiadao.com
Project
Project
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
wangxuelai
wechatapp.shangjiadao.com
Commits
b591f4a9
Commit
b591f4a9
authored
Sep 12, 2019
by
lvtz
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix
parent
ca309eaf
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
1203 additions
and
495 deletions
+1203
-495
api.js
constants/api.js
+1
-0
rankingList.js
service/customer/rankingList.js
+10
-1
index.js
src/pages/growthrecord/index.js
+454
-132
index.json
src/pages/growthrecord/index.json
+3
-0
index.wxml
src/pages/growthrecord/index.wxml
+161
-92
index.wxss
src/pages/growthrecord/index.wxss
+573
-269
index.wxss
src/pages/websiteindex/index.wxss
+1
-1
No files found.
constants/api.js
View file @
b591f4a9
...
...
@@ -96,6 +96,7 @@ const apis = {
likeWeekList
:
`
${
api
}
consumer/clock/rank/like_week_index`
,
likeDailyList
:
`
${
api
}
consumer/clock/rank/like_daily_index`
,
classhonors
:
`
${
api
}
student/class/honors`
,
randrank
:
`
${
api
}
student/rand_rank`
,
//成长记录页弹幕
},
circleMember
:
{
listGet
:
`
${
api
}
student/class/students`
...
...
service/customer/rankingList.js
View file @
b591f4a9
...
...
@@ -59,6 +59,14 @@ function getClasshonors(data) {
errorresolve
:
1
,
})
}
function
getRandrank
(
data
)
{
return
wxRequest
({
url
:
apis
.
customer
.
rankingList
.
randrank
,
data
,
method
:
'GET'
,
errorresolve
:
1
,
})
}
export
{
getTotalList
,
getWeekList
,
...
...
@@ -66,5 +74,6 @@ export {
getLikeTotalList
,
getLikeWeekList
,
getLikeDailyList
,
getClasshonors
getClasshonors
,
getRandrank
}
\ No newline at end of file
src/pages/growthrecord/index.js
View file @
b591f4a9
...
...
@@ -3,8 +3,8 @@ time: 2018-11-07
author: wxl
*/
import
{
clockList
,
grothRecordClockList
,
//
clockList,
//
grothRecordClockList,
adInfoGet
,
getPrize
,
circleDetail
,
...
...
@@ -21,9 +21,6 @@ import {
wxOpenLocation
,
wxPreviewImage
}
from
'../../../utilities/wxApi.js'
;
import
{
sharePosteCanvas
}
from
'../../../utilities/generatePoster.js'
;
import
{
generateCustomerQrcode
,
posterLog
,
...
...
@@ -31,7 +28,9 @@ import {
lastReply
,
activityLog
,
integralLog
,
getActivities
getActivities
,
joinAdPost
,
rankrecord
}
from
'../../../service/common.js'
;
import
{
getSchoolDetail
...
...
@@ -40,22 +39,26 @@ import {
imagify
,
LocalStorage
,
audioorigin
,
scenQueryGet
scenQueryGet
,
}
from
'../../../utilities/index.js'
;
import
{
screenshot
}
from
'../../../utilities/screenshot.js'
;
import
regexp
from
'../../../constants/regexp.js'
;
import
{
constants
}
from
'../../../constants/index.js'
;
getClasshonors
,
getRandrank
}
from
'../../../service/customer/rankingList.js'
;
import
{
clockList
}
from
'../../../service/customer/papersquare.js'
;
import
{
getwechatmobile
,
}
from
'../../../service/customer/activity.js'
;
Page
({
data
:
{
painting
:
null
,
painting
:
{}
,
paintingType
:
''
,
id
:
0
,
// 圈子ID
id2
:
0
,
// 圈子ID复制
localImageRoot
:
'../../../images/'
,
imageRoot
:
app
.
globalData
.
imageRoot
,
imageVersion
:
app
.
globalData
.
imageVersion
,
clockPage
:
1
,
...
...
@@ -71,84 +74,83 @@ Page({
canvasImagePath
:
''
,
adShow
:
true
,
prizeGetting
:
false
,
circleInfo
:
{},
adInfo
:
{
},
circleList
:
[],
memberId
:
0
,
medalImgMap
:
[{
lingt
:
`
${
app
.
globalData
.
imageRoot
}
usermedal/light3
.png`
,
dark
:
`
${
app
.
globalData
.
imageRoot
}
usermedal/dark3
.png`
,
day
:
3
lingt
:
`
${
app
.
globalData
.
imageRoot
}
2c/usermedal/light1
.png`
,
dark
:
`
${
app
.
globalData
.
imageRoot
}
2c/usermedal/dark1
.png`
,
day
:
1
},
{
lingt
:
`
${
app
.
globalData
.
imageRoot
}
usermedal/light7.png`
,
dark
:
`
${
app
.
globalData
.
imageRoot
}
usermedal/dark7.png`
,
lingt
:
`
${
app
.
globalData
.
imageRoot
}
2c/
usermedal/light7.png`
,
dark
:
`
${
app
.
globalData
.
imageRoot
}
2c/
usermedal/dark7.png`
,
day
:
7
},
{
lingt
:
`
${
app
.
globalData
.
imageRoot
}
usermedal/light14.png`
,
dark
:
`
${
app
.
globalData
.
imageRoot
}
usermedal/dark14.png`
,
lingt
:
`
${
app
.
globalData
.
imageRoot
}
2c/
usermedal/light14.png`
,
dark
:
`
${
app
.
globalData
.
imageRoot
}
2c/
usermedal/dark14.png`
,
day
:
14
},
{
lingt
:
`
${
app
.
globalData
.
imageRoot
}
usermedal/light21.png`
,
dark
:
`
${
app
.
globalData
.
imageRoot
}
usermedal/dark21.png`
,
lingt
:
`
${
app
.
globalData
.
imageRoot
}
2c/
usermedal/light21.png`
,
dark
:
`
${
app
.
globalData
.
imageRoot
}
2c/
usermedal/dark21.png`
,
day
:
21
},
{
lingt
:
`
${
app
.
globalData
.
imageRoot
}
usermedal/light30.png`
,
dark
:
`
${
app
.
globalData
.
imageRoot
}
usermedal/dark30.png`
,
lingt
:
`
${
app
.
globalData
.
imageRoot
}
2c/
usermedal/light30.png`
,
dark
:
`
${
app
.
globalData
.
imageRoot
}
2c/
usermedal/dark30.png`
,
day
:
30
},
{
lingt
:
`
${
app
.
globalData
.
imageRoot
}
usermedal/light60.png`
,
dark
:
`
${
app
.
globalData
.
imageRoot
}
usermedal/dark60.png`
,
lingt
:
`
${
app
.
globalData
.
imageRoot
}
2c/
usermedal/light60.png`
,
dark
:
`
${
app
.
globalData
.
imageRoot
}
2c/
usermedal/dark60.png`
,
day
:
60
},
{
lingt
:
`
${
app
.
globalData
.
imageRoot
}
usermedal/light100.png`
,
dark
:
`
${
app
.
globalData
.
imageRoot
}
usermedal/dark100.png`
,
lingt
:
`
${
app
.
globalData
.
imageRoot
}
2c/
usermedal/light100.png`
,
dark
:
`
${
app
.
globalData
.
imageRoot
}
2c/
usermedal/dark100.png`
,
day
:
100
},
{
lingt
:
`
${
app
.
globalData
.
imageRoot
}
usermedal/light120.png`
,
dark
:
`
${
app
.
globalData
.
imageRoot
}
usermedal/dark120.png`
,
lingt
:
`
${
app
.
globalData
.
imageRoot
}
2c/
usermedal/light120.png`
,
dark
:
`
${
app
.
globalData
.
imageRoot
}
2c/
usermedal/dark120.png`
,
day
:
120
},
{
lingt
:
`
${
app
.
globalData
.
imageRoot
}
usermedal/light180.png`
,
dark
:
`
${
app
.
globalData
.
imageRoot
}
usermedal/dark180.png`
,
lingt
:
`
${
app
.
globalData
.
imageRoot
}
2c/
usermedal/light180.png`
,
dark
:
`
${
app
.
globalData
.
imageRoot
}
2c/
usermedal/dark180.png`
,
day
:
180
},
{
lingt
:
`
${
app
.
globalData
.
imageRoot
}
usermedal/light200.png`
,
dark
:
`
${
app
.
globalData
.
imageRoot
}
usermedal/dark200.png`
,
lingt
:
`
${
app
.
globalData
.
imageRoot
}
2c/
usermedal/light200.png`
,
dark
:
`
${
app
.
globalData
.
imageRoot
}
2c/
usermedal/dark200.png`
,
day
:
200
},
{
lingt
:
`
${
app
.
globalData
.
imageRoot
}
usermedal/light270.png`
,
dark
:
`
${
app
.
globalData
.
imageRoot
}
usermedal/dark270.png`
,
lingt
:
`
${
app
.
globalData
.
imageRoot
}
2c/
usermedal/light270.png`
,
dark
:
`
${
app
.
globalData
.
imageRoot
}
2c/
usermedal/dark270.png`
,
day
:
270
},
{
lingt
:
`
${
app
.
globalData
.
imageRoot
}
usermedal/light300.png`
,
dark
:
`
${
app
.
globalData
.
imageRoot
}
usermedal/dark300.png`
,
lingt
:
`
${
app
.
globalData
.
imageRoot
}
2c/
usermedal/light300.png`
,
dark
:
`
${
app
.
globalData
.
imageRoot
}
2c/
usermedal/dark300.png`
,
day
:
300
},
{
lingt
:
`
${
app
.
globalData
.
imageRoot
}
usermedal/light330.png`
,
dark
:
`
${
app
.
globalData
.
imageRoot
}
usermedal/dark300.png`
,
lingt
:
`
${
app
.
globalData
.
imageRoot
}
2c/
usermedal/light330.png`
,
dark
:
`
${
app
.
globalData
.
imageRoot
}
2c/
usermedal/dark300.png`
,
day
:
330
},
{
lingt
:
`
${
app
.
globalData
.
imageRoot
}
usermedal/light360.png`
,
dark
:
`
${
app
.
globalData
.
imageRoot
}
usermedal/dark360.png`
,
lingt
:
`
${
app
.
globalData
.
imageRoot
}
2c/
usermedal/light360.png`
,
dark
:
`
${
app
.
globalData
.
imageRoot
}
2c/
usermedal/dark360.png`
,
day
:
360
},
{
lingt
:
`
${
app
.
globalData
.
imageRoot
}
usermedal/light365.png`
,
dark
:
`
${
app
.
globalData
.
imageRoot
}
usermedal/dark365.png`
,
lingt
:
`
${
app
.
globalData
.
imageRoot
}
2c/
usermedal/light365.png`
,
dark
:
`
${
app
.
globalData
.
imageRoot
}
2c/
usermedal/dark365.png`
,
day
:
365
}
],
...
...
@@ -205,8 +207,18 @@ Page({
videoId
:
''
,
src
:
''
},
curType
:
2
,
tabList
:
[
{
tabname
:
'我的习作'
,
tabtype
:
2
},
{
tabname
:
'精选习作'
,
tabtype
:
3
}
],
showFormbox
:
false
,
newStudent
:
true
,
//新学员可以获取
getStudent
:
true
,
//新学员获取成功状态
getmobile
:
''
},
onLoad
:
function
(
options
)
{
// Do some initialize when page load.
let
that
=
this
;
this
.
innerAudioContext
=
wx
.
createInnerAudioContext
();
// 当前页面唯一的一个音频容器
const
selfCustomerId
=
LocalStorage
.
getItem
(
'visitor'
)
&&
LocalStorage
.
getItem
(
'visitor'
).
id
;
if
(
options
.
scene
)
{
...
...
@@ -232,13 +244,21 @@ Page({
const
{
sid
,
id
,
consumerId
}
=
options
;
this
.
setData
({
sid
:
sid
||
0
,
id
:
id
||
0
,
id2
:
id
||
0
,
id
:
id
||
''
,
id2
:
id
||
''
,
consumerId
,
selfCustomerId
,
advertisementshow
:
true
})
}
wx
.
login
({
success
(
res
)
{
const
sessionCode
=
res
.
code
;
that
.
setData
({
sessionCode
:
sessionCode
})
}
})
wx
.
setNavigationBarTitle
({
title
:
selfCustomerId
==
this
.
data
.
consumerId
?
'我的成长记录'
:
'Ta的成长记录'
})
...
...
@@ -246,6 +266,45 @@ Page({
this
.
getCircleDetail
();
}
this
.
userShow
(
'init'
);
this
.
getClasshonors
();
this
.
getRandrank
();
this
.
getclockRankingList
();
//获取排名百分比
},
getclockRankingList
()
{
let
otherParams
=
this
.
data
.
id
?
{
class_id
:
this
.
data
.
id
}
:
{
school_id
:
this
.
data
.
sid
}
rankrecord
(
Object
.
assign
(
otherParams
,{
page
:
1
,
perPage
:
1
,
type
:
1
,
consumer_id
:
this
.
data
.
consumerId
})).
then
((
res
)
=>
{
const
{
code
,
data
}
=
res
;
let
myrate
=
100
;
if
(
code
!=
200
)
{
// 失败的处理
}
else
{
if
(
data
.
total
)
{
const
{
my_rank
,
total
}
=
data
;
myrate
=
total
==
0
?
100
:
100
-
(
Math
.
floor
((
my_rank
&&
my_rank
.
index
||
0
)
/
data
.
total
*
100
));
if
(
myrate
<
80
){
myrate
=
Math
.
floor
(
Math
.
random
()
*
10
+
80
);
}
}
}
this
.
setData
({
myrate
})
}).
catch
((
e
)
=>
{
this
.
setData
({
listLoading
:
false
})
})
},
queryActivtySchoolInfo
(
sid
)
{
let
activtySchoolInfo
=
null
;
...
...
@@ -279,26 +338,168 @@ Page({
that
.
clockListGet
(
'down'
)
that
.
data
.
needRefresh
=
false
}
// if (that.data.clockRecordIds) {
// that.newCommentIndex(that.data.clockRecordIds, function(commentRes) {
// if (that.data.clockList.length > 0) {
// that.data.clockList.forEach((ele) => {
// if (commentRes.data.list[ele.id]) {
// ele.comments = commentRes.data.list[ele.id];
// }else{
// ele.comments = {
// list:[],
// total:0
// }
// }
// })
// }
// that.setData({
// advertisementshow: true,
// clockList: that.data.clockList
// })
// })
// }
},
//用户勋章
getClasshonors
()
{
getClasshonors
({
class_id
:
this
.
data
.
id
?
this
.
data
.
id
:
''
,
consumer_id
:
this
.
data
.
consumerId
,
school_id
:
this
.
data
.
sid
}).
then
((
res
)
=>
{
if
(
res
.
code
==
200
)
{
this
.
setData
({
medalData
:
res
.
data
})
}
})
},
// 弹幕
getRandrank
(){
getRandrank
({
class_id
:
this
.
data
.
id
,
school_id
:
this
.
data
.
sid
}).
then
((
res
)
=>
{
if
(
res
.
code
==
200
)
{
this
.
setData
({
randrankData
:
res
.
data
.
list
})
}
})
},
formBoxShow
()
{
this
.
setData
({
showFormbox
:
true
})
},
hideFormBox
()
{
this
.
setData
({
showFormbox
:
false
})
},
phoneInput
(
e
)
{
this
.
setData
({
getmobile
:
e
.
detail
.
value
})
},
joinAdPost1
(){
if
(
this
.
data
.
getmobile
==
""
){
wx
.
showModal
({
title
:
'提示'
,
content
:
'请输入手机号'
,
showCancel
:
false
,
confirmColor
:
'#FFD146'
})
return
;
}
if
(
!
/^1
[
3|4|5|7|8|9|6
]\d{9}
$/
.
test
(
this
.
data
.
getmobile
)){
wx
.
showModal
({
title
:
'提示'
,
content
:
'请输入正确的手机号'
,
showCancel
:
false
,
confirmColor
:
'#FFD146'
})
return
;
}
joinAdPost
({
source_id
:
1
,
school_id
:
this
.
data
.
sid
,
source_type
:
1
,
mobile
:
this
.
data
.
getmobile
}).
then
((
res
)
=>
{
const
{
code
,
data
}
=
res
;
if
(
code
==
200
){
wx
.
hideLoading
()
this
.
userShow
()
this
.
setData
({
scorefeedbackshow
:
true
,
newStudent
:
false
,
showFormbox
:
false
,
getmobile
:
""
})
setTimeout
(()
=>
{
this
.
setData
({
scorefeedbackshow
:
false
,
})
},
2000
)
}
else
{
// wx.showToast({
// title: '您已预约,我们将尽快联系您。',
// icon: 'none',
// duration: 2000
// })
this
.
setData
({
getStudent
:
false
,
showFormbox
:
false
})
}
}).
catch
((
e
)
=>
{
this
.
setData
({
showFormbox
:
false
})
})
},
// 领取 获取手机号
getPhoneNumber
(
e
)
{
const
that
=
this
;
const
{
encryptedData
,
iv
}
=
e
.
detail
if
(
!
encryptedData
)
{
wx
.
login
({
success
(
res
)
{
const
sessionCode
=
res
.
code
;
that
.
setData
({
sessionCode
:
sessionCode
})
}
})
return
}
getwechatmobile
({
code
:
this
.
data
.
sessionCode
,
encryptData
:
encryptedData
,
iv
}).
then
((
res
)
=>
{
wx
.
showLoading
({
title
:
'获取中'
,
})
const
{
code
,
data
}
=
res
;
if
(
code
==
200
&&
data
&&
data
.
mobile
)
{
that
.
setData
({
getmobile
:
data
.
mobile
})
}
wx
.
hideLoading
()
}).
catch
((
err
)
=>
{
wx
.
login
({
success
(
res
)
{
const
sessionCode
=
res
.
code
;
that
.
setData
({
sessionCode
:
sessionCode
})
}
})
wx
.
hideLoading
()
})
},
bigTapEvent
(
e
){
const
tabtype
=
e
.
currentTarget
.
dataset
.
type
;
if
(
tabtype
==
this
.
data
.
bigtab
){
return
}
this
.
setData
({
curType
:
tabtype
,
hasmore
:
true
,
})
this
.
data
.
clockPage
=
1
;
this
.
clockListGet
(
'down'
)
},
onHide
:
function
()
{
// Do something when page hide.
this
.
innerAudioContext
.
pause
();
...
...
@@ -478,8 +679,11 @@ Page({
})
this
.
data
.
clockPage
=
1
;
let
ids
=
filteredCircleList
.
map
(
ele
=>
ele
.
id
).
join
(
','
);
this
.
getRandrank
();
// this.getClasshonors();//全部班级需要class_id
this
.
customerStaticGet
(
ids
);
this
.
clockListGet
(
'down'
);
this
.
getclockRankingList
();
})
},
circleClick
(
e
)
{
...
...
@@ -501,7 +705,10 @@ Page({
// clockPage: 1,
})
this
.
data
.
clockPage
=
1
;
this
.
getRandrank
();
this
.
getClasshonors
();
this
.
clockListGet
(
'down'
);
this
.
getclockRankingList
();
})
},
userShow
(
type
)
{
...
...
@@ -538,6 +745,7 @@ Page({
this
.
clrcleListGet
()
}
})
console
.
log
(
'信息'
,
this
.
data
.
noUserinfo
)
},
clrcleListGet
()
{
customerClass
({
...
...
@@ -562,7 +770,10 @@ Page({
filteredCircleList
},()
=>
{
this
.
customerStaticGet
(
this
.
data
.
id
);
this
.
clockListGet
(
"down"
)
this
.
getRandrank
();
this
.
getClasshonors
();
this
.
clockListGet
(
"down"
);
this
.
getclockRankingList
();
})
}
else
{
selectedCircle
=
{};
...
...
@@ -582,7 +793,10 @@ Page({
},()
=>
{
let
ids
=
filteredCircleList
.
map
(
ele
=>
ele
.
id
).
join
(
','
)
||
0
;
this
.
customerStaticGet
(
ids
);
this
.
clockListGet
(
"down"
)
this
.
getRandrank
();
this
.
getClasshonors
();
this
.
clockListGet
(
"down"
);
this
.
getclockRankingList
();
})
}
...
...
@@ -658,7 +872,6 @@ Page({
if
(
res
.
code
==
200
)
{
// res.data.clock_address.tel_parse = JSON.parse(res.data.clock_address.tel);
this
.
setData
({
// circleInfo: res.data,
sid
:
res
.
data
.
school_id
})
this
.
queryActivtySchoolInfo
(
res
.
data
.
school_id
)
...
...
@@ -763,8 +976,9 @@ Page({
perPage
:
this
.
data
.
clockPerPage
,
consumer_id
:
this
.
data
.
consumerId
,
school_id
:
this
.
data
.
sid
,
class_id
:
this
.
data
.
id2
,
now_consumer_id
:
visitor
&&
visitor
.
id
class_id
:
this
.
data
.
id2
?
this
.
data
.
id2
:
''
,
now_consumer_id
:
visitor
&&
visitor
.
id
,
type
:
this
.
data
.
curType
// member_id: this.data.memberId
// clock_subject_id: tid
}).
then
((
res
)
=>
{
...
...
@@ -1069,79 +1283,184 @@ Page({
generatePoster
()
{
const
that
=
this
;
const
{
avatar
,
nickname
,
consumer_id
}
=
this
.
data
.
userInfo
;
console
.
log
(
that
.
data
.
userInfo
)
const
{
day
,
good
,
honor
,
like
}
=
this
.
data
.
static
if
(
this
.
data
.
qrcodeGenerating
)
{
return
;
}
this
.
data
.
qrcodeGenerating
=
true
;
// this.setData({
// qrcodeGenerating: true
// })
const
visitor
=
LocalStorage
.
getItem
(
'visitor'
);
const
userInfo
=
this
.
data
.
userInfo
;
const
clockInfo
=
this
.
data
.
static
;
const
schoolInfo
=
this
.
data
.
schoolInfo
;
const
myrate
=
this
.
data
.
myrate
;
wx
.
showLoading
({
title
:
'正在生成海报...'
,
mask
:
true
,
})
lastReply
({
class_id
:
this
.
data
.
id
,
let
qrcode
=
''
;
generateCustomerQrcode
({
scene
:
`i=
${
this
.
data
.
id
}
&ctd=
${
this
.
data
.
consumerId
}
&p=4&s=
${
this
.
data
.
sid
}
`
,
page
:
`src/pages/growthrecord/index`
}).
then
((
res
)
=>
{
let
audio
=
''
;
let
content
=
''
;
let
score
=
''
;
if
(
res
.
data
)
{
audio
=
res
.
data
.
audio
content
=
res
.
data
.
content
score
=
res
.
data
.
score
const
{
code
,
data
}
=
res
;
if
(
code
==
200
)
{
qrcode
=
imagify
(
data
.
url
);
}
else
{
qrcode
=
''
;
}
generateCustomerQrcode
({
scene
:
`i=
${
this
.
data
.
id
}
&ctd=
${
this
.
data
.
consumerId
}
&p=4&s=
${
this
.
data
.
sid
}
`
,
page
:
`src/pages/growthrecord/index`
}).
then
((
res
)
=>
{
const
{
code
,
data
}
=
res
;
if
(
code
==
200
)
{
const
qrcode
=
imagify
(
data
.
url
);
const
posterData
=
{
shopLogo
:
this
.
data
.
schoolInfo
.
logo
?
imagify
(
this
.
data
.
schoolInfo
.
logo
)
:
'https://cdn.img.shangjiadao.cn/source/images/daka2b/default/logo.png'
,
shopName
:
this
.
data
.
schoolInfo
.
title
,
qrcode
:
qrcode
,
avator
:
avatar
,
nickName
:
nickname
,
dayTotal
:
day
,
//坚持打卡天数
likesTotal
:
like
,
//点赞个数
commentTotal
:
good
,
//好评
honorTotal
:
honor
,
audio
:
audio
||
''
,
content
:
content
||
''
,
score
:
score
||
0
}
screenshot
({
data
:
posterData
,
size
:
{
w
:
1500
,
h
:
2668
}).
then
(()
=>
{
if
(
qrcode
==
''
)
{
wx
.
showToast
({
title
:
'生成失败'
,
icon
:
'none'
})
return
;
}
}).
then
(()
=>
{
this
.
setData
({
painting
:
{
width
:
750
,
height
:
1334
,
views
:
[
{
// 头像
type
:
'image'
,
url
:
userInfo
?
imagify
(
userInfo
.
avatar
,
'image/resize,w_160/format,jpg'
):
imagify
(
visitor
.
userInfo
.
avatarUrl
,
'image/resize,w_160/format,jpg'
),
top
:
77
,
left
:
314
,
width
:
120
,
height
:
120
},
urlpath
:
'/postertemplate/customer/growthrecordv2.html'
}).
then
((
res
)
=>
{
wx
.
hideLoading
();
const
{
code
,
data
}
=
res
;
this
.
data
.
qrcodeGenerating
=
false
;
that
.
setData
({
canvasShow
:
false
,
canvasImagePath
:
data
.
src
,
posterBoxShow
:
true
,
// qrcodeGenerating: false
})
}).
catch
((
e
)
=>
{
wx
.
hideLoading
();
})
{
// 背景
type
:
'image'
,
url
:
`
${
app
.
globalData
.
imageRoot
}
2c/growthrecord/share_bg.png?
${
app
.
globalData
.
imageVersion
}
`
,
top
:
0
,
left
:
0
,
width
:
750
,
height
:
1334
},
{
// 二维码
type
:
'image'
,
url
:
qrcode
,
top
:
1053
,
left
:
505
,
width
:
189
,
height
:
189
},
{
// 昵称
type
:
'text'
,
content
:
userInfo
?
userInfo
.
nickname
:
visitor
.
userInfo
.
nickName
,
fontSize
:
40
,
color
:
'#3A3A3A'
,
textAlign
:
'center'
,
top
:
227
,
left
:
375
,
bolder
:
true
,
width
:
602
,
},
{
type
:
'text'
,
content
:
`我在
${
schoolInfo
.
title
}
`
,
fontSize
:
36
,
color
:
'#000'
,
textAlign
:
'center'
,
top
:
385
,
left
:
375
,
width
:
500
,
breakWord
:
true
,
MaxLineNumber
:
2
,
lineHeight
:
48
},
{
type
:
'text'
,
content
:
'已成功击败'
,
fontSize
:
30
,
color
:
'#707070'
,
top
:
546
,
left
:
93
},
{
type
:
'text'
,
content
:
`
${
myrate
}
%`
,
fontSize
:
83
,
color
:
'#FF6834'
,
textAlign
:
'center'
,
top
:
501
,
left
:
375
,
width
:
300
},
{
type
:
'text'
,
content
:
'的同学'
,
fontSize
:
30
,
color
:
'#707070'
,
top
:
546
,
left
:
542
},
{
// 坚持打卡
type
:
'text'
,
content
:
`
${
clockInfo
.
day
}
`
,
fontSize
:
28
,
color
:
'#FFC600'
,
textAlign
:
'center'
,
width
:
120
,
top
:
858
,
left
:
131
,
bolder
:
true
},
{
// 获得人气
type
:
'text'
,
content
:
`
${
clockInfo
.
like
}
`
,
fontSize
:
28
,
color
:
'#FFC600'
,
textAlign
:
'center'
,
width
:
120
,
top
:
858
,
left
:
375
,
bolder
:
true
},
{
// 累计学分
type
:
'text'
,
content
:
`
${
clockInfo
.
score_total
}
`
,
fontSize
:
28
,
color
:
'#FFC600'
,
textAlign
:
'center'
,
width
:
120
,
top
:
858
,
left
:
599
,
bolder
:
true
},
{
// 天
type
:
'text'
,
content
:
'天'
,
fontSize
:
24
,
color
:
'#000'
,
top
:
862
,
left
:
164
},
{
// 个
type
:
'text'
,
content
:
'个'
,
fontSize
:
24
,
color
:
'#000'
,
top
:
862
,
left
:
398
},
{
// 分
type
:
'text'
,
content
:
'分'
,
fontSize
:
24
,
color
:
'#000'
,
top
:
862
,
left
:
631
},
]
}
}).
catch
(()
=>
{
wx
.
hideLoading
();
this
.
data
.
qrcodeGenerating
=
false
;
// this.setData({
// qrcodeGenerating: false
// })
})
}).
catch
(()
=>
{
wx
.
hideLoading
();
this
.
data
.
qrcodeGenerating
=
false
;
})
},
// 修改昵称组件相关
...
...
@@ -1335,6 +1654,8 @@ Page({
this
.
setData
({
schoolInfo
:
data
})
console
.
log
(
this
.
data
.
schoolInfo
)
}
})
},
...
...
@@ -1409,6 +1730,7 @@ Page({
})
},
eventGetImage
(
e
)
{
console
.
log
(
122222222
)
const
{
detail
}
=
e
;
...
...
src/pages/growthrecord/index.json
View file @
b591f4a9
...
...
@@ -2,6 +2,9 @@
"navigationBarTitleText"
:
"成长记录"
,
"onReachBottomDistance"
:
100
,
"enablePullDownRefresh"
:
true
,
"navigationBarBackgroundColor"
:
"#494949"
,
"navigationBarTextStyle"
:
"white"
,
"backgroundColorTop"
:
"#494949"
,
"usingComponents"
:
{
"clock-item"
:
"../../components/clockitemv2"
,
"empty-content"
:
"../../../components/emptycontent"
,
...
...
src/pages/growthrecord/index.wxml
View file @
b591f4a9
<wxs src="./../../../filter/index.wxs" module="filter" />
<view class="container">
<view class="growth-record-container clearfix" wx:if="{{!noUserinfo}}">
<!-- <view class="ad-box" wx:if="{{adInfo.status == 1 && adShow && filterType == 1 &&sid!=activtySchoolInfo.sid}}">
<image class="adimg" animation="{{attentionAnim}}" bindtap="toGetAd" src="{{imageRoot}}2c/circleindex/adimg.png?{{imageVersion}}" mode="aspectFit|aspectFill|widthFix" lazy-load="false" binderror="" bindload=""></image>
<image class="closeicon" bindtap="closeAd" src="{{imageRoot}}2c/common/closeicon.png?{{imageVersion}}" mode="aspectFit|aspectFill|widthFix" lazy-load="false" binderror="" bindload=""></image>
</view> -->
<view class="person-info-box" >
<view class="person-info-content" >
<image class="person-avator" src="{{filter.imagify(userInfo.avatar, 'image/resize,w_160/format,jpg')}}" mode="aspectFit|aspectFill|widthFix" lazy-load="false" binderror="" bindload=""></image>
<view class="person-name-prize-box" >
<view class="person-name-box" >
<!-- <view class="name" selectable="false" space="false" decode="false">{{userInfo.remark}}</view> -->
<view class="name" selectable="false" space="false" decode="false">{{userInfo.nickname}}</view>
<!-- <view class="editicon-box" wx:if="{{selfCustomerId == consumerId}}">
<image class="editicon" src="{{imageRoot}}2c/common/bi.png?{{imageVersion}}" mode="aspectFit|aspectFill|widthFix" bindtap="remarkChange" lazy-load="false" binderror="" bindload="" ></image>
</view> -->
</view>
</view>
<view class="circle-select-wrap">
<view class="circle-box">
<view class="select-name-box" wx:if="{{filterType == 1}}">
<view class="title">{{selectedCircle.title}}</view>
</view>
<view class="circle-name-box clearfix" >
<view class="circle-name" wx:if="{{filterType == 1}}">{{selectedCircle.title}}</view>
<view class="store-name-box" wx:if="{{filterType == 2}}">
<image class="shopicongreen" src="{{imageRoot}}2c/common/shopicongreen.png?{{imageVersion}}" mode="aspectFit|aspectFill|widthFix" lazy-load="false" binderror="" bindload=""></image>
<text class="shop-name-item" selectable="false" space="false" decode="false">{{schoolInfo.title}}</text>
<text class="shop-warn-item" selectable="false" space="false" decode="false">(全部班级)</text>
</view>
<view class="circle-select-box" bindtap="circleSelect">
<view class="select-name-box" wx:if="{{filterType == 2}}">
<image class="icon-selectall" src="{{imageRoot}}2c/common/shopicongreen.png?{{imageVersion}}"></image>
<view class="title">{{schoolInfo.title}}</view>
<view class="label-all">(全部班级)</view>
</view>
<view class="select-btn" bindtap="circleSelect">
<form report-submit="true" bindsubmit="formIdCreate" class="createidform">
<button form-type="submit" class="createidbutton"></button>
</form>
切换班级
</view>
</view>
<view class="select-box" hidden="{{!circleSelecting}}">
<view class="select-name-box" bindtap="selectAllRecord" wx:if="{{filterType == 1}}">
<form report-submit="true" bindsubmit="formIdCreate" class="createidform">
<button form-type="submit" class="createidbutton"></button>
</form>
<image class="icon-selectall" src="{{imageRoot}}2c/common/shopicongreen.png?{{imageVersion}}"></image>
<text class="title">{{schoolInfo.title}}</text>
<text class="label-all">(全部班级)</text>
</view>
<block wx:if="{{filteredCircleList}}">
<view class="select-name-box" wx:for="{{filteredCircleList}}" wx:key="index" data-circle="{{item}}" bindtap="circleClick">
<form report-submit="true" bindsubmit="formIdCreate" class="createidform">
<button form-type="submit" class="createidbutton">
</button>
<button form-type="submit" class="createidbutton"></button>
</form>
<text class="" selectable="false" space="false" decode="false">选择班级</text>
<image class="arrowrightgrey {{circleSelecting ? 'down' : ''}}" src="{{imageRoot}}2b/organizationalmgt/right.png?{{imageVersion}}" mode="aspectFit|aspectFill|widthFix" lazy-load="false" binderror="" bindload=""></image>
<view class="title">{{item.title}}</view>
</view>
</block>
</view>
</view>
<block wx:if="{{!noUserinfo}}">
<view class="header-box">
<view class="person-info">
<image class="person-avator" src="{{filter.imagify(userInfo.avatar, 'image/resize,w_160/format,jpg')}}"></image>
<view class="person-name">{{userInfo.nickname}}</view>
</view>
<view class="share-btn" bindtap="generatePoster">
<image class="word" src="{{imageRoot}}2c/growthrecord/word.png?{{imageVersion}}" mode="aspectFit|aspectFill|widthFix" lazy-load="false" binderror="" bindload=""></image>
<image class="star" src="{{imageRoot}}2c/growthrecord/star.png?{{imageVersion}}" mode="aspectFit|aspectFill|widthFix" lazy-load="false" binderror="" bindload=""></image>
<view class="defeat-box">
<view class="text">已成功打败</view>
<view class="percent-num">{{myrate}}</view>
<view class="percent">%</view>
<view class="text">的同学</view>
</view>
<view class="" hidden="{{!circleSelecting}}">
<view class="store-item" bindtap="selectAllRecord" wx:if="{{filterType == 1}}">
<form report-submit="true" bindsubmit="formIdCreate" class="createidform">
<button form-type="submit" class="createidbutton">
</button>
</form>
<image class="" src="{{imageRoot}}2c/common/shopicongreen.png?{{imageVersion}}" mode="aspectFit|aspectFill|widthFix" lazy-load="false" binderror="" bindload=""></image>
<text class="shop-name" selectable="false" space="false" decode="false">{{schoolInfo.title}}</text>
<text class="shop-warn" selectable="false" space="false" decode="false">(全部班级)</text>
<view class="sharerecord-btn" bindtap="generatePoster">
<image class="icon" src="{{imageRoot}}2c/clockitem/sharewx.png?{{imageVersion}}"></image>
<view class="text">分享</view>
</view>
<view class="swiper-box">
<swiper autoplay='true' vertical="{{true}}" autoplay="{{true}}" interval="1000" duration="500" circular="{{true}}" display-multiple-items="3" easing-function="easeInOutCubic" style="height:200rpx; ">
<swiper-item wx:for="{{randrankData}}" wx:key="{{index}}">
<view class="swiper-item">
<view class="swiper-title">{{item.nickname.length>10 ? filter.slice(item.nickname, 10) : item.nickname}}打卡成功,击败了<text class="percent">{{item.rank}}%</text>的同学</view>
<image class="icon" src="{{filter.imagify(item.avatar, 'image/resize,w_160/format,jpg')}}"></image>
</view>
</swiper-item>
</swiper>
</view>
</view>
<view class="datainfo-wrap">
<view class="medal-box">
<view class="medal-left">
<image class="pic-medal" src="{{imageRoot}}2c/growthrecord/icon_medal.png?{{imageVersion}}"></image>
<view class="num">{{static.honor || 0}}枚勋章</view>
</view>
<view class="circle-list-box" >
<view class="circle-list-item" wx:for="{{filteredCircleList}}" wx:key="index" data-circle="{{item}}" bindtap="circleClick">
<form report-submit="true" bindsubmit="formIdCreate" class="createidform">
<button form-type="submit" class="createidbutton">
</button>
</form>
{{item.title}}
</view>
<view class="medal-right" bindtap="goPrizeMedal">
<block wx:for="{{medalImgMap}}" wx:key="{{index}}">
<image class="icon-medal" src="{{medalData.clock_day>=item.day?item.lingt:item.dark}}" wx:if="{{medalData.clock_day>=item.day && item.day<60}}"></image>
</block>
<image class="icon-right" src="{{imageRoot}}2b/organizationalmgt/right.png?{{imageVersion}}"></image>
</view>
</view>
</view>
<view class="person-info-box person-info-box-b"
>
<view class="person-static-box"
>
<view class="static-
box" wx:if="{{filterType == 1}}
">
<view class="static-box"
>
<!-- <view class="static-item" wx:if="{{filterType == 1}}"> --
>
<view class="static-
item
">
<form report-submit="true" bindsubmit="formIdCreate" class="createidform">
<button form-type="submit" class="createidbutton">生成form</button>
</form>
<view class="static-count" >
<text class="count" selectable="false" space="false" decode="false">{{static.day || 0}}</text>
<text class="" selectable="false" space="false" decode="false">天</text>
</view>
<view class="static-name" >
坚持打卡
</view>
<view class="static-num">{{static.day || 0}}</view>
<view class="static-title">坚持打卡(天)</view>
</view>
<view class="static-
box"
>
<view class="static-
item"
>
<form report-submit="true" bindsubmit="formIdCreate" class="createidform">
<button form-type="submit" class="createidbutton">生成form</button>
</form>
<view class="static-count" >
<text class="count" selectable="false" space="false" decode="false">{{static.like || 0}}</text>
<text class="" selectable="false" space="false" decode="false">次</text>
</view>
<view class="static-name" >
获得点赞
</view>
<view class="static-num">{{static.like || 0}}</view>
<view class="static-title">获赞(个)</view>
</view>
<view class="static-
box"
>
<view class="static-
item"
>
<form report-submit="true" bindsubmit="formIdCreate" class="createidform">
<button form-type="submit" class="createidbutton">生成form</button>
</form>
<view class="static-count" >
<text class="count" selectable="false" space="false" decode="false">{{static.good || 0}}</text>
<text class="" selectable="false" space="false" decode="false">个</text>
</view>
<view class="static-name" >
老师好评
</view>
<view class="static-num">{{static.score_total || 0}}</view>
<view class="static-title">学分(分)</view>
</view>
<view class="static-
box"
>
<view class="static-
item"
>
<form report-submit="true" bindsubmit="formIdCreate" class="createidform">
<button form-type="submit" class="createidbutton">生成form</button>
</form>
<view class="static-count" >
<text class="count" selectable="false" space="false" decode="false">{{static.place_top_count || 0}}</text>
<text class="" selectable="false" space="false" decode="false">次</text>
</view>
<view class="static-name" >
精选作品
</view>
<view class="static-num">{{static.place_top_count || 0}}</view>
<view class="static-title">精选(个)</view>
</view>
</view>
</view>
<view class="static-box" bindtap="goPrizeMedal">
<form report-submit="true" bindsubmit="formIdCreate" class="createidform">
<button form-type="submit" class="createidbutton">生成form</button>
</form>
<image class="medalicon" src="{{imageRoot}}2c/common/medalicon.png?{{imageVersion}}" mode="aspectFit|aspectFill|widthFix" lazy-load="false" binderror="" bindload=""></image>
<view class="medalcount" >勋章{{static.honor || 0}}枚</view>
</view>
<view class="get-student" wx:if="{{noUserinfo}}">
<view class="booking-box" wx:if="{{getStudent}}" bindtap="formBoxShow">
<image class="icon-study" src="{{imageRoot}}2c/growthrecord/icon_study.png?{{imageVersion}}"></image>
<view class="text">{{filter.slice(schoolInfo.title,4)}}邀请你一起免费学习</view>
<image class="icon-study2" src="{{imageRoot}}2c/growthrecord/icon_study2.png?{{imageVersion}}"></image>
<image class="icon-animate" src="{{imageRoot}}2c/clockitem/light.png?{{imageVersion}}" ></image>
<!-- <button class="btn-get" open-type="getPhoneNumber" bindgetphonenumber="getPhoneNumber"></button> -->
</view>
<view class="booking-box booking-failed" wx:if="{{!getStudent}}" bindtap="formBoxShow">
<view class="text">报名预约失败,请重新授权手机号领取</view>
<image class="icon-animate" src="{{imageRoot}}2c/clockitem/light.png?{{imageVersion}}" ></image>
<!-- <button class="btn-get" open-type="getPhoneNumber" bindgetphonenumber="getPhoneNumber"></button> -->
</view>
</view>
<view class="tab-box">
<view class="tab-item {{item.tabtype == curType? 'active': ''}}" data-type="{{item.tabtype}}" bindtap="bigTapEvent" wx:for="{{tabList}}" wx:key="">{{item.tabname}}</view>
</view>
<view class="sign-content" >
<view class="clock-list" wx:if="{{!emptyPage}}">
<block wx:for="{{clockList}}" wx:key="bigindex" wx:for-index="bigindex" wx:for-item="bigitem" wx:if="{{clockList.length > 0}}">
...
...
@@ -167,7 +183,60 @@
bind:setname="setname"
>
</remark-editor>
</block>
<view class="from-box-wrapper" wx:if="{{showFormbox}}">
<view class="mask" bindtap="hideFormBox"></view>
<view class="form-box">
<view class="form-header">
<view class="text-box">
<view class="flag-box">预约礼</view>
<view class="bold-text">免费试听</view>
<view class="normal-text">名师大咖1V1知识点讲解</view>
</view>
<view class="text-box" style="padding-left: 122rpx">
<view class="bold-text">到店礼</view>
<view class="normal-text">名师现场讲解授课+到店小礼品</view>
</view>
</view>
<view class="label">领取后我们将通过电话联系您</view>
<view class="ipt-box">
<input type="number" placeholder-class="placeholderclass" class="iteminput" value="{{getmobile}}" bindinput="phoneInput" maxlength="11" placeholder="填入您的手机号"></input>
<view class="">
<button class="text" open-type="getPhoneNumber" bindgetphonenumber="getPhoneNumber">一键填入</button>
</view>
</view>
<view class="tips-box">
<view class="tips">
<image class="icon" src="{{imageRoot}}2c/websiteindex/tips-icon.png?{{imageVersion}}"></image>
<view class="text">无强行推销</view>
</view>
<view class="tips">
<image class="icon" src="{{imageRoot}}2c/websiteindex/tips-icon.png?{{imageVersion}}"></image>
<view class="text">5分钟内回电(13:00-21:30)</view>
</view>
</view>
<view class="footer-box" bindtap="joinAdPost1">
免费领取体验课
<form report-submit="true" bindsubmit="formIdCreate" class="createidform">
<button form-type="submit" class="createidbutton">生成form</button>
</form>
</view>
</view>
</view>
<view class="score-get-feedback" wx:if="{{scorefeedbackshow}}">
<view class="score-get-mask" ></view>
<view class="score-get-type-a">
<!-- <image class="close" bindtap="closefeedback" src="{{imageRoot}}2c/scoregetaction/close.png?{{imageVersion}}"></image> -->
<view class="title">预约成功</view>
<image class="lightbg" src="{{imageRoot}}2c/scoregetaction/lightbg.png?{{imageVersion}}"></image>
<image class="yes-icon" src="{{imageRoot}}2c/websiteindex/yes.png?{{imageVersion}}"></image>
<view class="text1" >请尽早到店进行体验</view>
<view class="text2" >机构可能会来电确认到店时间,尽请留意</view>
</view>
</view>
<view class="empty-content-box" wx:if="{{noUserinfo}}">
<empty-content></empty-content>
</view>
...
...
@@ -211,7 +280,7 @@
</activity-bar>
</view>
<view class="ad-img-box" wx:if="{{sid==activtySchoolInfo.sid && bottombarLoaded}}" bindtap="goActivity">
<image class="" src="{{imageRoot}}activityindex/{{activtySchoolInfo.name}}/bottombar.gif?{{imageVersion}}"
mode="aspectFit|aspectFill|widthFix" lazy-load="false" binderror="" bindload=""
></image>
<image class="" src="{{imageRoot}}activityindex/{{activtySchoolInfo.name}}/bottombar.gif?{{imageVersion}}" ></image>
</view>
<canvasdrawer painting="{{painting}}" bind:getImage="eventGetImage" />
<scoregetfeedback
...
...
src/pages/growthrecord/index.wxss
View file @
b591f4a9
@keyframes btnscale {
20% {
transform: scale(1)
}
40% {
transform: scale(1.05)
}
60% {
transform: scale(1.1)
}
80% {
transform: scale(1.05)
}
100% {
transform: rotate(1)
}
}
@-webkit-keyframes btnscale {
20% {
-webkit-transform: scale(1)
}
40% {
-webkit-transform: scale(1.05)
}
60% {
-webkit-transform: scale(1.1)
}
80% {
-webkit-transform: scale(1.05)
}
100% {
-webkit-transform: rotate(1)
}
}
.growth-record-container {
min-height: 100vh;
background-color: #fff;
border-bottom: 1rpx solid transparent;
max-width: 100%;
overflow-x: hidden;
@font-face {
font-family:'hyxl';
src:url('https://wxloss.oss-cn-hangzhou.aliyuncs.com/font/hyxl.ttf') format('truetype');
}
/* .growth-record-container .ad-box {
position: fixed;
z-index: 200;
top: 353rpx;
right: 38rpx;
/* 选择班级 */
.circle-select-wrap{
background: #494949;
padding: 24rpx 24rpx 60rpx;
}
.
growth-record-container .ad-box .adimg
{
display:
block
;
width: 92rpx
;
height: 148rpx
;
.
circle-box
{
display:
flex
;
align-items: center
;
justify-content: space-between
;
}
.growth-record-container .ad-box .closeicon{
width: 40rpx;
height: 40rpx;
display: block;
position: absolute;
top: -20rpx;
right: -20rpx;
} */
.person-info-box {
padding: 41rpx 0 0 25rpx;
/* background-color: #62D1BA; */
.select-name-box{
display: flex;
align-items: center;
position: relative;
border-bottom: 1px solid transparent;
box-shadow:0rpx 10rpx 16rpx 0rpx rgba(0, 0, 0, 0.11);
}
.person-info-box.person-info-box-b {
padding: 41rpx 0 0 0;
border-bottom:2rpx solid rgba(0,0,0,0.05);
.select-box .select-name-box{
padding: 20rpx 0;
}
.select-name-box .title{
font-size: 26rpx;
color: #fff;
max-width: 300rpx;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.person-info-box .person-info-content {
.select-name-box .icon-selectall{
margin-right: 12rpx;
width: 29rpx;
height: 27rpx;
}
.select-name-box .label-all{
color: rgba(175,175,175,1);
font-size: 24rpx;
padding-left: 6rpx;
}
.circle-box .select-btn{
width: 118rpx;
height: 42rpx;
background:#fff;
border-radius: 21rpx;
font-size: 22rpx;
color: #000;
display: flex;
display: -webkit-flex;
align-items: center;
margin-bottom: 49rpx;
justify-content: center;
position: relative;
}
.person-info-box .person-info-content .person-avator{
display: block;
width: 96rpx;
height: 96rpx;
box-shadow:0px 4rpx 13rpx 0px rgba(0, 0, 0, 0.23);
border-radius: 50%;
/* 带圆角的头部信息 */
.header-box{
width: 100%;
height: 453rpx;
background: #343434;
border-radius: 30rpx 30rpx 0 0;
position: relative;
margin-top: -30rpx;
padding: 23rpx 20rpx;
}
.person-name-prize-box {
padding-left: 26rpx;
/* margin-bottom: 69rpx; */
.header-box::after{
content: '';
width: 100%;
height: 100%;
background: linear-gradient(to bottom,transparent 0,transparent 240rpx,rgba(52,52,52,1) 240rpx, rgba(52,52,52,.8) 300rpx, rgba(52,52,52,.5) 350rpx, rgba(52,52,52,0) 380rpx, rgba(52,52,52,0) 100%);
position: absolute;
left: 0;
top: 0;
}
.person-name-prize-box .person-name-box {
/* margin-bottom: 24rpx; */
max-width:400rpx;
.person-info{
display: flex;
align-items: center;
justify-content: flex-start;
word-break:break-all;
}
.person-name-prize-box .person-name-box .editicon-box {
/* background-color: rgba(77, 223, 195, 1); */
width: 56rpx;
height: 56rpx;
}
.person-name-prize-box .person-name-box .editicon{
width: 56rpx;
height: 56rpx;
.person-info .person-avator{
width: 94rpx;
height: 94rpx;
border: 3rpx solid #fff;
border-radius: 50%;
}
.person-name-prize-box .person-name-box .name {
color: rgba(0, 0, 0, 1);
font-size: 36rpx;
letter-spacing: 2rpx;
font-weight: bold;
padding-right: 22rpx;
max-width: 350rpx;
text-overflow: -o-ellipsis-lastline;
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 2;
line-clamp: 2;
-webkit-box-orient: vertical;
}
.person-prize-box {
height: 44rpx;
padding: 0 17rpx;
line-height: 44rpx;
border-radius: 22rpx;
background:linear-gradient(-90deg,rgba(69,229,197,0.98),rgba(69,224,230,0.98));
background:-webkit-linear-gradient(-180deg,rgba(69,229,197,0.98),rgba(69,224,230,0.98));
.person-info .person-name{
font-size: 30rpx;
color: #fff;
text-align: center;
display: inline-block;
padding-left: 23rpx;
}
.person-prize-box text {
/* font-weight: 700; */
font-size: 26rpx;
letter-spacing: 2rpx;
.defeat-box{
display: flex;
align-items: flex-end;
color: #FFD146;
position: relative;
top: -10rpx;
}
.defeat-box .percent-num{
font-size: 92rpx;
padding-left: 33rpx;
font-family: hyxl;
}
.defeat-box .percent{
font-size: 55rpx;
padding-right: 29rpx;
font-family: hyxl;
}
.person-prize-box text.static {
padding: 0 6rpx;
.defeat-box .text{
font-size: 26rpx;
font-weight: 500;
}
.person-static-box {
.sharerecord-btn{
position: absolute;
right: 0;
top: 0;
display: flex;
display: -webkit-flex
;
justify-content: space-around
;
text-align: center
;
padding
-bottom: 20
rpx;
/* width:80%; */
flex-direction: column
;
align-items: center
;
line-height: 1
;
padding
: 24rpx 23
rpx;
z-index: 9;
}
.static-box {
flex: 1;
text-align: center;
position: relative;
.sharerecord-btn .icon{
width: 66rpx;
height: 66rpx;
background: linear-gradient(0deg,rgba(0,195,93,1) 0%,rgba(0,229,106,1) 100%);
border-radius: 50%;
}
.static-box .static-count {
margin-bottom: 16rpx;
.sharerecord-btn .text{
font-size: 22rpx;
color: #fff;
padding-top: 14rpx;
}
.static-box .medalicon {
width: 43rpx;
height: 57rpx;
display: block;
margin: 0 auto 8rpx;
/* 弹幕 */
.swiper-box{
}
.s
tatic-box .medalcount
{
height: 38rpx
;
line-height: 38rpx;
padding: 0 10rpx;
font-size: 24rpx;
letter-spacing: 2
rpx;
border-radius: 19
rpx;
background-color: #fff
;
background:linear-gradient(140deg,rgba(255,209,48,0.98),rgba(255,180,48,0.98))
;
background:-webkit-linear-gradient(50deg,rgba(255,209,48,0.98),rgba(255,180,48,0.98));
color: rgba(126, 95, 0, 1);
text-align: center
;
.s
wiper-box swiper
{
position: relative
;
}
.swiper-box swiper-item{
height: 45
rpx;
margin-bottom: 15
rpx;
display: flex
;
align-items: center
;
}
.swiper-item{
padding: 0 20rpx 0 66rpx
;
display: inline-block;
border-radius: 23px;
background: rgba(255,255,255,0.1);
position: relative;
}
.static-box .static-count text {
font-size: 24rpx;
color: rgba(154, 154, 154, 1);
.swiper-box swiper-item .swiper-title{
font-size: 22rpx;
color: #fff;
line-height: 46rpx;
}
.static-box .static-count text.count {
font-weight: Bold;
font-size: 30rpx;
padding-right: 5rpx;
color: rgba(0,0,0,1);
.swiper-box swiper-item .swiper-title .percent{
color: #FFD146;
padding: 0 20rpx;
}
.static-box .static-name {
font-size: 28rpx;
letter-spacing: 2rpx;
color: rgba(154, 154, 154, 1);
.swiper-box swiper-item .icon{
position: absolute;
left: 0;
top: 50%;
transform: translateY(-50%);
width: 46rpx;
height: 46rpx;
background :#FFD900;
border: 1px solid rgba(255,255,255,1);
border-radius: 50%;
}
/* 勋章等坚持数据 */
.datainfo-wrap{
width: 100%;
background: #fff;
padding: 0 24rpx;
border-bottom: 16rpx solid #EEEFF3;
}
.person-info-box .circle-name-box{
padding-right: 25rpx;
margin-bottom: 25rpx;
.datainfo-wrap .medal-box{
display: flex;
align-items: center;
justify-content: space-between;
padding: 30rpx 0;
position: relative;
}
.store-name-box {
.datainfo-wrap .medal-box .medal-left{
width: 153rpx;
height: 56rpx;
position: relative;
display: flex;
align-items: center;
/* padding:25rpx 0; */
/* line-height: 1; */
float: left;
justify-content: center;
padding-left: 40rpx;
}
.store-name-box .shopicongreen {
margin-right: 12rpx;
width: 29rpx;
height: 27rpx;
.datainfo-wrap .medal-box .medal-left .pic-medal{
width: 100%;
height: 100%;
position: absolute;
left: 0;
top: 0;
}
.store-name-box .shop-name-item {
color: rgba(0,0,0,1);
font-size: 30rpx;
max-width: 300rpx;
overflow: hidden;
text-overflow:ellipsis;
white-space: nowrap;
.datainfo-wrap .medal-box .medal-left .num{
font-size: 22rpx;
color: #fff;
z-index: 1;
}
.store-name-box .shop-warn-item {
color: rgba(175,175,175,1);
font-size: 26rpx;
padding-left: 6rpx;
.datainfo-wrap .medal-box::after{
content:'';
width: 100%;
height: 1px;
position: absolute;
left: 0;
bottom: 0;
background: rgba(0,0,0,.05);
transform: scaleY(.5);
}
.
store-item
{
.
datainfo-wrap .medal-box .medal-right
{
display: flex;
align-items: center;
border-bottom: 1px solid rgba(0,0,0,0.05);
padding:25rpx 0;
line-height: 1;
position: relative;
}
.store-item image {
margin-right: 12rpx;
width: 29rpx;
height: 27rpx;
}
.store-item .shop-name {
color: rgba(0,0,0,1);
font-size: 26rpx;
max-width: 520rpx;
overflow: hidden;
text-overflow:ellipsis;
white-space: nowrap;
.datainfo-wrap .medal-box .medal-right .icon-medal{
width: 58rpx;
height: 52rpx;
margin-right: 9rpx;
}
.
store-item .shop-warn
{
color: rgba(175,175,175,1)
;
font-size: 26
rpx;
padding-left:
6rpx;
.
datainfo-wrap .medal-box .medal-right .icon-right
{
width: 11rpx
;
height: 20
rpx;
margin-left: 1
6rpx;
}
.
circle-list-box
{
padding-right: 25rp
x;
-webkit-overflow-scrolling: touch
;
.
datainfo-wrap .static-box
{
display: fle
x;
height: 143rpx
;
}
.circle-list-box .circle-list-item{
padding: 25rpx 0;
font-size: 26rpx;
color: rgba(0,0,0,1);
line-height: 1;
overflow: hidden;
text-overflow:ellipsis;
white-space: nowrap;
border-bottom: 1px solid rgba(0,0,0,0.05);
.datainfo-wrap .static-box .static-item{
flex: 1;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
position: relative;
}
.circle-list-box .circle-list-item:last-child {
border-bottom: none;
}
.person-info-box .circle-name-box .circle-name{
float: left;
max-width: 520rpx;
overflow: hidden;
text-overflow:ellipsis;
white-space: nowrap;
.datainfo-wrap .static-box .static-item .static-num{
font-size: 30rpx;
line-height: 1;
color: #000;
font-weight: bold;
}
.datainfo-wrap .static-box .static-item .static-title{
font-size: 22rpx;
color: rgba(73,73,73,.6);
font-weight: 500;
padding-top: 16rpx;
line-height: 26rpx;
}
.person-info-box .circle-name-box .circle-select-box {
float: right;
width: 140rpx;
.get-student{
padding-top: 30rpx;
background: #fff;
}
/* 预约 领取 */
.booking-box{
width: 600rpx;
height: 90rpx;
background: linear-gradient(270deg,rgba(255,102,52,1) 0%,rgba(255,124,52,1) 100%);
box-shadow: 0 2rpx 10rpx 0 rgba(255,103,52,0.61);
border-radius: 45rpx;
display: flex;
align-items: center;
justify-content: center;
position: relative;
margin: 0 auto;
}
.person-info-box .circle-name-box .circle-select-box text{
color: rgba(0,0,0,0.5);
font-size: 26rpx;
padding-right: 10rpx;
.booking-failed{
background: linear-gradient(270deg,rgba(255,52,52,1) 0%,rgba(255,52,109,1) 100%);
}
.person-info-box .circle-name-box .circle-select-box .arrowrightgrey {
width:12rpx;
height:20rpx;
opacity:0.5;
transition: all 0.2s;
-webkit-transition: all 0.2s;
.booking-box .text{
font-size: 30rpx;
font-weight: bold;
color: #fff;
padding: 0 19rpx 0 26rpx
}
.booking-box .icon-arr{
width: 11rpx;
height: 21rpx;
}
.booking-box .icon-study{
width: 42rpx;
height: 40rpx;
animation: updownDebounce 1s linear infinite;
position: relative;
}
.person-info-box .circle-name-box .circle-select-box .arrowrightgrey.down {
transform: rotate(90deg);
-webkit-transform: rotate(90deg);
@keyframes updownDebounce {
0% {
top: 0
}
20%{
top: -10rpx
}
40%{
top: 2rpx
}
60%{
top: -5rpx
}
70%{
top: 0
}
}
.person-info-box .share-btn {
@keyframes light {
0% {
left: -74rpx;
}
70% {
left: calc(100% + 74rpx);
}
100% {
left: calc(100% + 74rpx);
}
}
.booking-box .icon-study2{
width: 57rpx;
height: 52rpx;
position: absolute;
top: 22rpx;
right: 22rpx;
width: 178rpx;
height: 135rpx;
}
.share-btn image.word {
width: 147rpx;
height: 73rpx;
display: block;
right: 13rpx;
bottom: -5rpx;
}
.booking-box .icon-animate{
width: 74rpx;
height: 100%;
position: absolute;
z-index: 2;
top: 20rpx;
left: 31rpx;
animation: btnscale 1s linear infinite forwards;
left: 0;
top: 0;
animation: light 2s forwards infinite;
}
.share-btn image.star {
width: 158rpx;
height: 135rpx;
display: block;
.booking-box .btn-get{
position: absolute;
z-index: 1;
left: 0;
top: 0;
width: 100%;
height: 100%;
background: transparent
}
/* tab */
.tab-box{
width: 100%;
height: 85rpx;
display: flex;
position: relative;
}
.tab-box::after{
content: '';
width: 100%;
height: 1px;
background: rgba(48,48,48,.05);
position: absolute;
left: 0;
bottom: 0;
transform: scaleY(.5);
}
.tab-box .tab-item{
flex: 1;
display: flex;
align-items: center;
justify-content: center;
font-size: 28rpx;
font-weight: bold;
color: #737373;
position: relative;
}
.tab-box .tab-item.active{
color: #FFD146;
}
.tab-box .tab-item.active::after{
content: '';
width: 48rpx;
height: 6rpx;
background: #FFD146;
border-radius: 3rpx;
position: absolute;
left: 50%;
bottom: 0;
transform: translateX(-50%);
}
.sign-content {
background-color: #fff;
padding: 10rpx 0 0 0;
...
...
@@ -697,6 +754,253 @@ sjd-input-footer .sure{
border-bottom: 0;
}
.from-box-wrapper{
width: 100%;
height: 100%;
position: fixed;
left: 0;
bottom: 0;
z-index: 10;
/* background: rgba(0, 0, 0, 0.5) */
}
.from-box-wrapper .mask{
width: 100%;
height: 100%;
position: fixed;
left: 0;
bottom: 0;
z-index: 10;
background: rgba(0, 0, 0, 0.5)
}
.form-box {
width: 750rpx;
background: rgba(255, 255, 255, 1);
border-radius: 20rpx 20rpx 0px 0px;
position: absolute;
left: 0;
bottom:0rpx;
background: #fff;
padding-top: 30rpx;
z-index: 11;
padding-bottom: env(safe-area-inset-bottom);
}
/* .show {
animation: fadeIn .2s forwards;
}
.hide {
animation: fadeOut .2s forwards;
} */
.form-box .ipt-box {
width:669rpx;
height:70rpx;
background:rgba(0,0,0,.05);
border-radius:35rpx;
margin: 0 auto;
margin-bottom: 30rpx;
position: relative;
padding: 0rpx 50rpx;
display: flex;
align-items: center;
}
.form-box .ipt-box .text {
/* width:140rpx; */
height: 57rpx;
background: rgba(255, 209, 70, 1);
border-radius: 29rpx;
font-size: 24rpx;
font-family: PingFang-SC-Regular;
font-weight: 400;
color: rgba(255, 255, 255, 1);
line-height: 57rpx;
text-align: center;
position: absolute;
right: 8rpx;
bottom: 7rpx;
}
.form-box .footer-box {
width:629rpx;
height:70rpx;
background:linear-gradient(90deg,rgba(255,209,70,1) 0%,rgba(255,192,0,1) 100%);
border-radius:35rpx;
font-size: 26rpx;
font-family: PingFang-SC-Bold;
font-weight: bold;
color: rgba(0, 0, 0, 1);
line-height: 70rpx;
text-align: center;
margin: 0 auto 26rpx;
position: relative;
}
.form-box .form-header{
width:750rpx;
background:rgba(255,249,240,1);
padding: 36rpx 0 0rpx 0rpx;
background:rgba(255,249,240,1);
}
.form-box .form-header .text-box{
display: flex;
align-items: center;
padding-bottom: 20rpx;
}
.form-box .form-header .text-box .flag-box{
padding: 8rpx 5rpx;
line-height: 1;
background:rgba(255,249,240,1);
border:1px solid rgba(255,193,4,1);
border-radius:4rpx;
font-size:22rpx;
font-family:PingFang-SC-Regular;
font-weight:400;
color:rgba(255,193,4,1);
text-align: center;
margin-left: 43rpx;
}
.form-box .form-header .text-box .bold-text{
font-size:28rpx;
font-family:PingFang-SC-Bold;
font-weight:bold;
color:rgba(0,0,0,1);
padding: 0 23rpx 0 18rpx;
}
.form-box .form-header .text-box .normal-text{
font-size:24rpx;
font-family:PingFang-SC-Regular;
font-weight:400;
color:rgba(129,124,120,1);
}
.form-box .label{
font-size:28rpx;
font-family:PingFang-SC-Bold;
font-weight:bold;
color:rgba(0,0,0,1);
line-height: 1;
padding: 44rpx 0 38rpx 34rpx;
}
.form-box .tips-box{
display: flex;
padding-left: 40rpx;
padding-bottom: 62rpx;
}
.form-box .tips-box .tips{
display: flex;
align-items: center;
font-size:26rpx;
font-family:PingFang-SC-Regular;
font-weight:400;
color:rgba(58,58,58,1);
margin-right: 44rpx;
}
.form-box .tips-box .tips .icon{
width: 26rpx;
height: 30rpx;
margin-right: 16rpx;
}
.form-box .tips-box .tips .text{
font-size:26rpx;
font-family:PingFang-SC-Regular;
font-weight:400;
color:rgba(58,58,58,1);
}
.score-get-feedback {
position: fixed;
left: 0;
top: 0;
width: 100%;
height: 100%;
z-index: 600;
display: flex;
align-items: center;
justify-content: center;
}
.score-get-feedback .score-get-mask {
background-color: rgba(0,0,0,0.5);
position: absolute;
left: 0;
top: 0;
z-index: 1;
width: 100%;
height: 100%;
}
.score-get-feedback .getcontent {
width: 520rpx;
height: 650rpx;
position: absolute;
left: 50%;
top: 150rpx;
margin-left: -260rpx;
z-index: 4;
}
.score-get-feedback .staticcontent {
position: absolute;
width: 100%;
height: 100%;
left: 0;
top: 0;
animation: przshow 1s ease-in-out 1 forwards;
z-index: 4;
}
.score-get-feedback .lightbg {
width: 415rpx;
height: 415rpx;
position: absolute;
left: 168rpx;
top: 420rpx;
z-index: 2;
animation: przrotate 7s linear 0.7s infinite forwards;
}
.score-get-feedback .close {
position: absolute;
width: 50rpx;
height: 50rpx;
z-index: 5;
right: 94rpx;
top: 200rpx;
}
.score-get-feedback .title{
position: absolute;
top: 340rpx;
left: 275rpx;
z-index: 5;
font-size:50rpx;
font-family:PingFang-SC-Bold;
font-weight:bold;
color:rgba(234,235,181,1);
line-height:1;
}
.score-get-feedback .yes-icon{
position: absolute;
left: 286rpx;
top: 495rpx;
width: 179rpx;
height: 179rpx;
z-index: 5;
}
.score-get-feedback .text1{
position: absolute;
left: 250rpx;
z-index: 5;
top: 840rpx;
font-size:28rpx;
font-family:PingFang-SC-Medium;
font-weight:500;
color:rgba(234,235,181,1);
}
.score-get-feedback .text2{
position: absolute;
left: 115rpx;
z-index: 5;
top: 880rpx;
font-size:28rpx;
font-family:PingFang-SC-Medium;
font-weight:500;
color:rgba(234,235,181,1);
}
.empty-content-box{
height: 500rpx;
}
\ No newline at end of file
src/pages/websiteindex/index.wxss
View file @
b591f4a9
...
...
@@ -380,7 +380,7 @@ page{
left: 50%;
transform: translateX(-50%);
opacity: .9;
z-index: 9
99
;
z-index: 9;
padding-bottom: env(safe-area-inset-bottom);
animation: modalmoveup 0.2s linear forwards;
}
...
...
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