Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
S
shop_mobile_uni
Project
Project
Details
Activity
Releases
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
郑秀明
shop_mobile_uni
Commits
b4684456
Commit
b4684456
authored
5 years ago
by
王建威
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
积分 会员
parent
9034a2a3
master
develop
wjw_bugfix
wjw_ins_upadte
wjw_monthly
wjw_signin
zxm_equipment_dev
1.0.1.11
1.0.1.10
1.0.1.9
1.0.1.8
1.0.1.7
No related merge requests found
Changes
13
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
3220 additions
and
165 deletions
+3220
-165
TopBar.vue
components/TopBar/TopBar.vue
+9
-1
calendar.js
components/uni-calendar/calendar.js
+546
-0
uni-calendar-item.vue
components/uni-calendar/uni-calendar-item.vue
+169
-0
uni-calendar.vue
components/uni-calendar/uni-calendar.vue
+510
-0
util.js
components/uni-calendar/util.js
+352
-0
manifest.json
manifest.json
+1
-1
pages.json
pages.json
+186
-155
integralRecord.vue
pages/integralRecord/integralRecord.vue
+248
-0
levelStrategy.vue
pages/levelStrategy/levelStrategy.vue
+79
-0
signRecord.vue
pages/signRecord/signRecord.vue
+112
-0
signin.vue
pages/signin/signin.vue
+598
-0
vipCenter.vue
pages/vipCenter/vipCenter.vue
+397
-0
iconfont.css
static/iconfont.css
+13
-8
No files found.
components/TopBar/TopBar.vue
View file @
b4684456
<
template
>
<
template
>
<view
class=
"topbar_view"
>
<view
class=
"topbar_view"
:style=
"
{'color': titleColor, 'background-color': bgColor}"
>
<text
class=
"eosfont left_icon"
@
click=
"back()"
>

</text>
<text
class=
"eosfont left_icon"
@
click=
"back()"
>

</text>
{{
this
.
title
}}
{{
this
.
title
}}
</view>
</view>
...
@@ -11,6 +11,14 @@
...
@@ -11,6 +11,14 @@
title
:
{
title
:
{
type
:
String
,
type
:
String
,
default
:
''
default
:
''
},
titleColor
:
{
type
:
String
,
default
:
'#212121'
},
bgColor
:
{
type
:
String
,
default
:
'#fff'
}
}
},
},
methods
:
{
methods
:
{
...
...
This diff is collapsed.
Click to expand it.
components/uni-calendar/calendar.js
0 → 100644
View file @
b4684456
This diff is collapsed.
Click to expand it.
components/uni-calendar/uni-calendar-item.vue
0 → 100644
View file @
b4684456
<
template
>
<view
class=
"uni-calendar-item__weeks-box"
:class=
"
{
'uni-calendar-item--disable':weeks.disable,
'uni-calendar-item--isDay':calendar.fullDate === weeks.fullDate
&&
weeks.isDay,
'uni-calendar-item--checked':(calendar.fullDate === weeks.fullDate
&&
!weeks.isDay) ,
'uni-calendar-item--before-checked':weeks.beforeMultiple,
'uni-calendar-item--multiple': weeks.multiple,
'uni-calendar-item--after-checked':weeks.afterMultiple,
}"
@click="choiceDate(weeks)">
<view
class=
"uni-calendar-item__weeks-box-item"
>
<text
v-if=
"selected&&weeks.extraInfo"
class=
"uni-calendar-item__weeks-box-circle"
>
{{
weeks
.
date
}}
</text>
<text
class=
"uni-calendar-item__weeks-box-text"
:class=
"
{
'uni-calendar-item--isDay-text': weeks.isDay,
'uni-calendar-item--isDay':calendar.fullDate === weeks.fullDate
&&
weeks.isDay,
'uni-calendar-item--checked':calendar.fullDate === weeks.fullDate
&&
!weeks.isDay,
'uni-calendar-item--before-checked':weeks.beforeMultiple,
'uni-calendar-item--multiple': weeks.multiple,
'uni-calendar-item--after-checked':weeks.afterMultiple,
'uni-calendar-item--disable':weeks.disable,
}">
{{
weeks
.
date
}}
</text>
<text
v-if=
"!lunar&&!weeks.extraInfo && weeks.isDay"
class=
"uni-calendar-item__weeks-lunar-text"
:class=
"
{
'uni-calendar-item--isDay-text':weeks.isDay,
'uni-calendar-item--isDay':calendar.fullDate === weeks.fullDate
&&
weeks.isDay,
'uni-calendar-item--checked':calendar.fullDate === weeks.fullDate
&&
!weeks.isDay,
'uni-calendar-item--before-checked':weeks.beforeMultiple,
'uni-calendar-item--multiple': weeks.multiple,
'uni-calendar-item--after-checked':weeks.afterMultiple,
}">今天
</text>
<text
v-if=
"lunar&&!weeks.extraInfo"
class=
"uni-calendar-item__weeks-lunar-text"
:class=
"
{
'uni-calendar-item--isDay-text':weeks.isDay,
'uni-calendar-item--isDay':calendar.fullDate === weeks.fullDate
&&
weeks.isDay,
'uni-calendar-item--checked':calendar.fullDate === weeks.fullDate
&&
!weeks.isDay,
'uni-calendar-item--before-checked':weeks.beforeMultiple,
'uni-calendar-item--multiple': weeks.multiple,
'uni-calendar-item--after-checked':weeks.afterMultiple,
'uni-calendar-item--disable':weeks.disable,
}">
{{
weeks
.
isDay
?
'今天'
:
(
weeks
.
lunar
.
IDayCn
===
'初一'
?
weeks
.
lunar
.
IMonthCn
:
weeks
.
lunar
.
IDayCn
)
}}
</text>
<text
v-if=
"weeks.extraInfo&&weeks.extraInfo.info"
class=
"uni-calendar-item__weeks-lunar-text"
:class=
"
{
'uni-calendar-item--extra':weeks.extraInfo.info,
'uni-calendar-item--isDay-text':weeks.isDay,
'uni-calendar-item--isDay':calendar.fullDate === weeks.fullDate
&&
weeks.isDay,
'uni-calendar-item--checked':calendar.fullDate === weeks.fullDate
&&
!weeks.isDay,
'uni-calendar-item--before-checked':weeks.beforeMultiple,
'uni-calendar-item--multiple': weeks.multiple,
'uni-calendar-item--after-checked':weeks.afterMultiple,
'uni-calendar-item--disable':weeks.disable,
}">
{{
weeks
.
extraInfo
.
info
}}
</text>
</view>
</view>
</
template
>
<
script
>
export
default
{
props
:
{
weeks
:
{
type
:
Object
,
default
()
{
return
{}
}
},
calendar
:
{
type
:
Object
,
default
:
()
=>
{
return
{}
}
},
selected
:
{
type
:
Array
,
default
:
()
=>
{
return
[]
}
},
lunar
:
{
type
:
Boolean
,
default
:
false
}
},
methods
:
{
choiceDate
(
weeks
)
{
this
.
$emit
(
'change'
,
weeks
)
}
}
}
</
script
>
<
style
lang=
"scss"
scoped
>
.uni-calendar-item__weeks-box
{
flex
:
1
;
/* #ifndef APP-NVUE */
display
:
flex
;
/* #endif */
flex-direction
:
column
;
justify-content
:
center
;
align-items
:
center
;
}
.uni-calendar-item__weeks-box-text
{
font-size
:
32rpx
;
color
:
#000
;
}
.uni-calendar-item__weeks-lunar-text
{
font-size
:
$uni-font-size-sm
;
color
:
$uni-text-color
;
}
.uni-calendar-item__weeks-box-item
{
position
:
relative
;
/* #ifndef APP-NVUE */
display
:
flex
;
/* #endif */
flex-direction
:
column
;
justify-content
:
center
;
align-items
:
center
;
width
:
100rpx
;
height
:
100rpx
;
}
.uni-calendar-item__weeks-box-circle
{
position
:
absolute
;
top
:
50%
;
left
:
50%
;
margin-left
:
-28rpx
;
margin-top
:
-28rpx
;
width
:
56rpx
;
height
:
56rpx
;
border-radius
:
50%
;
background-color
:
#FFED7E
;
text-align
:
center
;
font-size
:
32rpx
;
line-height
:
56rpx
;
}
.uni-calendar-item--disable
{
background-color
:
rgba
(
249
,
249
,
249
,
$uni-opacity-disabled
);
color
:
$uni-text-color-disable
;
}
.uni-calendar-item--isDay-text
{
color
:
$uni-color-primary
;
}
.uni-calendar-item--isDay
{
background-color
:
#FFED7E
;
}
.uni-calendar-item--extra
{
color
:
$uni-color-error
;
}
.uni-calendar-item--checked
{
background-color
:
#FFED7E
;
color
:
#000
;
}
.uni-calendar-item--multiple
{
background-color
:
$uni-color-primary
;
color
:
#fff
;
}
.uni-calendar-item--before-checked
{
background-color
:
#ff5a5f
;
color
:
#fff
;
}
.uni-calendar-item--after-checked
{
background-color
:
#ff5a5f
;
color
:
#fff
;
}
</
style
>
This diff is collapsed.
Click to expand it.
components/uni-calendar/uni-calendar.vue
0 → 100644
View file @
b4684456
This diff is collapsed.
Click to expand it.
components/uni-calendar/util.js
0 → 100644
View file @
b4684456
import
CALENDAR
from
'./calendar.js'
class
Calendar
{
constructor
({
date
,
selected
,
startDate
,
endDate
,
range
}
=
{})
{
// 当前日期
this
.
date
=
this
.
getDate
(
new
Date
())
// 当前初入日期
// 打点信息
this
.
selected
=
selected
||
[];
// 范围开始
this
.
startDate
=
startDate
// 范围结束
this
.
endDate
=
endDate
this
.
range
=
range
// 多选状态
this
.
cleanMultipleStatus
()
// 每周日期
this
.
weeks
=
{}
// this._getWeek(this.date.fullDate)
}
/**
* 设置日期
* @param {Object} date
*/
setDate
(
date
)
{
this
.
selectDate
=
this
.
getDate
(
date
)
this
.
_getWeek
(
this
.
selectDate
.
fullDate
)
}
/**
* 清理多选状态
*/
cleanMultipleStatus
()
{
this
.
multipleStatus
=
{
before
:
''
,
after
:
''
,
data
:
[]
}
}
/**
* 重置开始日期
*/
resetSatrtDate
(
startDate
)
{
// 范围开始
this
.
startDate
=
startDate
}
/**
* 重置结束日期
*/
resetEndDate
(
endDate
)
{
// 范围结束
this
.
endDate
=
endDate
}
/**
* 获取任意时间
*/
getDate
(
date
,
AddDayCount
=
0
,
str
=
'day'
)
{
if
(
!
date
)
{
date
=
new
Date
()
}
if
(
typeof
date
!==
'object'
)
{
date
=
date
.
replace
(
/-/g
,
'/'
)
}
const
dd
=
new
Date
(
date
)
switch
(
str
)
{
case
'day'
:
dd
.
setDate
(
dd
.
getDate
()
+
AddDayCount
)
// 获取AddDayCount天后的日期
break
case
'month'
:
if
(
dd
.
getDate
()
===
31
)
{
dd
.
setDate
(
dd
.
getDate
()
+
AddDayCount
)
}
else
{
dd
.
setMonth
(
dd
.
getMonth
()
+
AddDayCount
)
// 获取AddDayCount天后的日期
}
break
case
'year'
:
dd
.
setFullYear
(
dd
.
getFullYear
()
+
AddDayCount
)
// 获取AddDayCount天后的日期
break
}
const
y
=
dd
.
getFullYear
()
const
m
=
dd
.
getMonth
()
+
1
<
10
?
'0'
+
(
dd
.
getMonth
()
+
1
)
:
dd
.
getMonth
()
+
1
// 获取当前月份的日期,不足10补0
const
d
=
dd
.
getDate
()
<
10
?
'0'
+
dd
.
getDate
()
:
dd
.
getDate
()
// 获取当前几号,不足10补0
return
{
fullDate
:
y
+
'-'
+
m
+
'-'
+
d
,
year
:
y
,
month
:
m
,
date
:
d
,
day
:
dd
.
getDay
()
}
}
/**
* 获取上月剩余天数
*/
_getLastMonthDays
(
firstDay
,
full
)
{
let
dateArr
=
[]
for
(
let
i
=
firstDay
;
i
>
0
;
i
--
)
{
const
beforeDate
=
new
Date
(
full
.
year
,
full
.
month
-
1
,
-
i
+
1
).
getDate
()
dateArr
.
push
({
date
:
beforeDate
,
month
:
full
.
month
-
1
,
lunar
:
this
.
getlunar
(
full
.
year
,
full
.
month
-
1
,
beforeDate
),
disable
:
true
})
}
return
dateArr
}
/**
* 获取本月天数
*/
_currentMonthDys
(
dateData
,
full
)
{
let
dateArr
=
[]
let
fullDate
=
this
.
date
.
fullDate
for
(
let
i
=
1
;
i
<=
dateData
;
i
++
)
{
let
isinfo
=
false
let
nowDate
=
full
.
year
+
'-'
+
(
full
.
month
<
10
?
full
.
month
:
full
.
month
)
+
'-'
+
(
i
<
10
?
'0'
+
i
:
i
)
// 是否今天
let
isDay
=
fullDate
===
nowDate
// 获取打点信息
let
info
=
this
.
selected
&&
this
.
selected
.
find
((
item
)
=>
{
if
(
this
.
dateEqual
(
nowDate
,
item
.
date
))
{
return
item
}
})
// 日期禁用
let
disableBefore
=
true
let
disableAfter
=
true
if
(
this
.
startDate
)
{
let
dateCompBefore
=
this
.
dateCompare
(
this
.
startDate
,
fullDate
)
disableBefore
=
this
.
dateCompare
(
dateCompBefore
?
this
.
startDate
:
fullDate
,
nowDate
)
}
if
(
this
.
endDate
)
{
let
dateCompAfter
=
this
.
dateCompare
(
fullDate
,
this
.
endDate
)
disableAfter
=
this
.
dateCompare
(
nowDate
,
dateCompAfter
?
this
.
endDate
:
fullDate
)
}
let
multiples
=
this
.
multipleStatus
.
data
let
checked
=
false
let
multiplesStatus
=
-
1
if
(
this
.
range
)
{
if
(
multiples
)
{
multiplesStatus
=
multiples
.
findIndex
((
item
)
=>
{
return
this
.
dateEqual
(
item
,
nowDate
)
})
}
if
(
multiplesStatus
!==
-
1
)
{
checked
=
true
}
}
let
data
=
{
fullDate
:
nowDate
,
year
:
full
.
year
,
date
:
i
,
multiple
:
this
.
range
?
checked
:
false
,
beforeMultiple
:
this
.
dateEqual
(
this
.
multipleStatus
.
before
,
nowDate
),
afterMultiple
:
this
.
dateEqual
(
this
.
multipleStatus
.
after
,
nowDate
),
month
:
full
.
month
,
lunar
:
this
.
getlunar
(
full
.
year
,
full
.
month
,
i
),
disable
:
!
disableBefore
||
!
disableAfter
,
isDay
}
if
(
info
)
{
data
.
extraInfo
=
info
}
dateArr
.
push
(
data
)
}
return
dateArr
}
/**
* 获取下月天数
*/
_getNextMonthDays
(
surplus
,
full
)
{
let
dateArr
=
[]
for
(
let
i
=
1
;
i
<
surplus
+
1
;
i
++
)
{
dateArr
.
push
({
date
:
i
,
month
:
Number
(
full
.
month
)
+
1
,
lunar
:
this
.
getlunar
(
full
.
year
,
Number
(
full
.
month
)
+
1
,
i
),
disable
:
true
})
}
return
dateArr
}
/**
* 获取当前日期详情
* @param {Object} date
*/
getInfo
(
date
)
{
if
(
!
date
)
{
date
=
new
Date
()
}
const
dateInfo
=
this
.
canlender
.
find
(
item
=>
item
.
fullDate
===
this
.
getDate
(
date
).
fullDate
)
return
dateInfo
}
/**
* 比较时间大小
*/
dateCompare
(
startDate
,
endDate
)
{
// 计算截止时间
startDate
=
new
Date
(
startDate
.
replace
(
'-'
,
'/'
).
replace
(
'-'
,
'/'
))
// 计算详细项的截止时间
endDate
=
new
Date
(
endDate
.
replace
(
'-'
,
'/'
).
replace
(
'-'
,
'/'
))
if
(
startDate
<=
endDate
)
{
return
true
}
else
{
return
false
}
}
/**
* 比较时间是否相等
*/
dateEqual
(
before
,
after
)
{
// 计算截止时间
before
=
new
Date
(
before
.
replace
(
'-'
,
'/'
).
replace
(
'-'
,
'/'
))
// 计算详细项的截止时间
after
=
new
Date
(
after
.
replace
(
'-'
,
'/'
).
replace
(
'-'
,
'/'
))
if
(
before
.
getTime
()
-
after
.
getTime
()
===
0
)
{
return
true
}
else
{
return
false
}
}
/**
* 获取日期范围内所有日期
* @param {Object} begin
* @param {Object} end
*/
geDateAll
(
begin
,
end
)
{
var
arr
=
[]
var
ab
=
begin
.
split
(
'-'
)
var
ae
=
end
.
split
(
'-'
)
var
db
=
new
Date
()
db
.
setFullYear
(
ab
[
0
],
ab
[
1
]
-
1
,
ab
[
2
])
var
de
=
new
Date
()
de
.
setFullYear
(
ae
[
0
],
ae
[
1
]
-
1
,
ae
[
2
])
var
unixDb
=
db
.
getTime
()
-
24
*
60
*
60
*
1000
var
unixDe
=
de
.
getTime
()
-
24
*
60
*
60
*
1000
for
(
var
k
=
unixDb
;
k
<=
unixDe
;)
{
k
=
k
+
24
*
60
*
60
*
1000
arr
.
push
(
this
.
getDate
(
new
Date
(
parseInt
(
k
))).
fullDate
)
}
return
arr
}
/**
* 计算阴历日期显示
*/
getlunar
(
year
,
month
,
date
)
{
return
CALENDAR
.
solar2lunar
(
year
,
month
,
date
)
}
/**
* 设置打点
*/
setSelectInfo
(
data
,
value
)
{
this
.
selected
=
value
this
.
_getWeek
(
data
)
}
/**
* 获取多选状态
*/
setMultiple
(
fullDate
)
{
let
{
before
,
after
}
=
this
.
multipleStatus
if
(
!
this
.
range
)
return
if
(
before
&&
after
)
{
this
.
multipleStatus
.
before
=
''
this
.
multipleStatus
.
after
=
''
this
.
multipleStatus
.
data
=
[]
}
else
{
if
(
!
before
)
{
this
.
multipleStatus
.
before
=
fullDate
}
else
{
this
.
multipleStatus
.
after
=
fullDate
if
(
this
.
dateCompare
(
this
.
multipleStatus
.
before
,
this
.
multipleStatus
.
after
))
{
this
.
multipleStatus
.
data
=
this
.
geDateAll
(
this
.
multipleStatus
.
before
,
this
.
multipleStatus
.
after
);
}
else
{
this
.
multipleStatus
.
data
=
this
.
geDateAll
(
this
.
multipleStatus
.
after
,
this
.
multipleStatus
.
before
);
}
}
}
this
.
_getWeek
(
fullDate
)
}
/**
* 获取每周数据
* @param {Object} dateData
*/
_getWeek
(
dateData
)
{
const
{
fullDate
,
year
,
month
,
date
,
day
}
=
this
.
getDate
(
dateData
)
let
firstDay
=
new
Date
(
year
,
month
-
1
,
1
).
getDay
()
let
currentDay
=
new
Date
(
year
,
month
,
0
).
getDate
()
let
dates
=
{
lastMonthDays
:
this
.
_getLastMonthDays
(
firstDay
,
this
.
getDate
(
dateData
)),
// 上个月末尾几天
currentMonthDys
:
this
.
_currentMonthDys
(
currentDay
,
this
.
getDate
(
dateData
)),
// 本月天数
nextMonthDays
:
[],
// 下个月开始几天
weeks
:
[]
}
let
canlender
=
[]
const
surplus
=
42
-
(
dates
.
lastMonthDays
.
length
+
dates
.
currentMonthDys
.
length
)
dates
.
nextMonthDays
=
this
.
_getNextMonthDays
(
surplus
,
this
.
getDate
(
dateData
))
canlender
=
canlender
.
concat
(
dates
.
lastMonthDays
,
dates
.
currentMonthDys
,
dates
.
nextMonthDays
)
let
weeks
=
{}
// 拼接数组 上个月开始几天 + 本月天数+ 下个月开始几天
for
(
let
i
=
0
;
i
<
canlender
.
length
;
i
++
)
{
if
(
i
%
7
===
0
)
{
weeks
[
parseInt
(
i
/
7
)]
=
new
Array
(
7
)
}
weeks
[
parseInt
(
i
/
7
)][
i
%
7
]
=
canlender
[
i
]
}
this
.
canlender
=
canlender
this
.
weeks
=
weeks
}
//静态方法
// static init(date) {
// if (!this.instance) {
// this.instance = new Calendar(date);
// }
// return this.instance;
// }
}
export
default
Calendar
This diff is collapsed.
Click to expand it.
manifest.json
View file @
b4684456
...
@@ -62,7 +62,7 @@
...
@@ -62,7 +62,7 @@
"disableHostCheck"
:
true
,
"disableHostCheck"
:
true
,
"proxy"
:
{
"proxy"
:
{
"/uni/api"
:
{
"/uni/api"
:
{
"target"
:
"http://
39.96.85.45:9093
/"
,
"target"
:
"http://
10.0.0.52:6564
/"
,
"changeOrigin"
:
true
,
"changeOrigin"
:
true
,
"secure"
:
false
,
"secure"
:
false
,
"pathRewrite"
:
{
"pathRewrite"
:
{
...
...
This diff is collapsed.
Click to expand it.
pages.json
View file @
b4684456
{
{
"pages"
:
[
"pages"
:
[{
{
"path"
:
"pages/home/home"
,
"path"
:
"pages/home/home"
,
"style"
:
{
"style"
:
{
"navigationBarTitleText"
:
"首页-谛宝多多商城"
"navigationBarTitleText"
:
"首页-谛宝多多商城"
...
@@ -144,6 +143,36 @@
...
@@ -144,6 +143,36 @@
"style"
:
{
"style"
:
{
"navigationBarTitleText"
:
"账号设置-谛宝多多商城"
"navigationBarTitleText"
:
"账号设置-谛宝多多商城"
}
}
},
{
"path"
:
"pages/signin/signin"
,
"style"
:
{
"navigationBarTitleText"
:
"签到-谛宝多多商城"
}
},
{
"path"
:
"pages/integralRecord/integralRecord"
,
"style"
:
{
"navigationBarTitleText"
:
"积分记录-谛宝多多商城"
}
},
{
"path"
:
"pages/levelStrategy/levelStrategy"
,
"style"
:
{
"navigationBarTitleText"
:
"升级攻略-谛宝多多商城"
}
},
{
"path"
:
"pages/vipCenter/vipCenter"
,
"style"
:
{
"navigationBarTitleText"
:
"会员中心-谛宝多多商城"
}
},
{
"path"
:
"pages/signRecord/signRecord"
,
"style"
:
{
"navigationBarTitleText"
:
"签到记录-谛宝多多商城"
}
}
}
],
],
"globalStyle"
:
{
"globalStyle"
:
{
...
@@ -151,6 +180,8 @@
...
@@ -151,6 +180,8 @@
"navigationBarTitleText"
:
"谛宝多多商城"
,
"navigationBarTitleText"
:
"谛宝多多商城"
,
"navigationBarBackgroundColor"
:
"#F8F8F8"
,
"navigationBarBackgroundColor"
:
"#F8F8F8"
,
"backgroundColor"
:
"#fbfbfb"
,
"backgroundColor"
:
"#fbfbfb"
,
"app-plus"
:
{
"titleNView"
:
false
}
"app-plus"
:
{
"titleNView"
:
false
}
}
}
}
}
This diff is collapsed.
Click to expand it.
pages/integralRecord/integralRecord.vue
0 → 100644
View file @
b4684456
<
template
>
<view
class=
"main"
>
<view
class=
"return_icon"
><view
class=
"eosfont"
>

</view></view>
<view
class=
"card"
>
<view>
可用积分
</view>
<view>
{{
integral
}}
</view>
</view>
<view
class=
"tabs"
>
<text
class=
"tab_item"
:class=
"
{act: i_type === '1'}" @click="tabChange('1')">收入
</text>
<text
class=
"tab_item"
:class=
"
{act: i_type === '2'}" @click="tabChange('2')">支出
</text>
<text
class=
"tab_item"
:class=
"
{act: i_type === '3'}" @click="tabChange('3')">过期
</text>
</view>
<view
class=
"list"
v-if=
"i_type === '1'"
>
<scroll-view
v-if=
"inData.length"
scroll-y
@
scrolltolower=
"getData(i_type, inCurrent)"
:show-scrollbar=
"false"
style=
"height: 100%"
>
<view
class=
"list_item"
v-for=
"(item, index) in inData"
:key=
"index"
>
<view>
<view
class=
"title1"
>
{{
item
.
remark
}}
</view>
<view
class=
"title2"
>
{{
item
.
add_time
}}
</view>
</view>
<view
class=
"integral"
>
+
{{
item
.
point
}}
</view>
</view>
<uni-load-more
:status=
"inLoadingType"
></uni-load-more>
</scroll-view>
<view
v-else
class=
"none_data"
>
暂无数据
</view>
</view>
<view
class=
"list"
v-if=
"i_type === '2'"
>
<scroll-view
v-if=
"outData.length"
scroll-y
@
scrolltolower=
"getData(i_type, inCurrent)"
:show-scrollbar=
"false"
style=
"height: 100%"
>
<view
class=
"list_item"
v-for=
"(item, index) in outData"
:key=
"index"
>
<view>
<view
class=
"title1"
>
{{
item
.
remark
}}
</view>
<view
class=
"title2"
>
{{
item
.
add_time
}}
</view>
</view>
<view
class=
"integral"
>
-
{{
item
.
point
}}
</view>
</view>
</scroll-view>
<view
v-else
class=
"none_data"
>
暂无数据
</view>
</view>
<view
class=
"list"
v-if=
"i_type === '3'"
>
<view
class=
"none_data"
>
暂无数据
</view>
</view>
</view>
</
template
>
<
script
>
import
uniLoadMore
from
'@/components/uni-load-more/uni-load-more.vue'
;
export
default
{
data
()
{
return
{
i_type
:
'1'
,
integral
:
0
,
inData
:
[],
outData
:
[],
inCurrent
:
1
,
outCurrent
:
1
,
inFlag
:
true
,
outFlag
:
true
,
inLoadingType
:
'more'
,
outLoadingType
:
'more'
}
},
onLoad
()
{
this
.
getData
(
'1'
,
1
);
},
methods
:
{
tabChange
(
type
)
{
if
(
type
===
this
.
i_type
)
{
return
}
this
.
i_type
=
type
;
if
(
type
===
'3'
)
{
return
}
let
current
=
''
;
if
(
type
===
'1'
&&
!
this
.
inData
.
length
)
{
current
=
this
.
inCurrent
;
this
.
getData
(
type
,
current
);
}
else
if
(
type
===
'2'
&&
!
this
.
outData
.
length
)
{
current
=
this
.
outCurrent
this
.
getData
(
type
,
current
);
}
},
getData
(
type
,
current
)
{
if
(
!
this
.
inFlag
||
!
this
.
outFlag
)
{
return
}
if
(
type
===
'1'
)
{
this
.
inLoadingType
=
'loading'
;
}
else
{
this
.
outLoadingType
=
'loading'
;
}
uni
.
request
({
url
:
'/uni/api/integral/GetMyIntegral'
,
data
:
{
current
:
current
,
i_type
:
type
,
page_size
:
10
},
method
:
'post'
,
dataType
:
'json'
,
success
:
(
res
)
=>
{
if
(
res
.
data
.
code
===
0
)
{
if
(
this
.
i_type
===
'1'
)
{
if
(
res
.
data
.
data
.
integral_list
instanceof
Array
)
{
this
.
inData
=
this
.
inData
.
concat
(
res
.
data
.
data
.
integral_list
);
const
{
total
,
page_size
}
=
res
.
data
.
page
;
const
n
=
Math
.
ceil
(
total
/
page_size
);
if
(
n
>
this
.
inCurrent
)
{
this
.
inCurrent
+=
1
;
}
else
{
this
.
inFlag
=
false
;
this
.
inLoadingType
=
'nomore'
;
}
}
}
else
{
if
(
res
.
data
.
data
.
integral_list
instanceof
Array
)
{
this
.
outData
=
this
.
outData
.
concat
(
res
.
data
.
data
.
integral_list
);
const
{
total
,
page_size
}
=
res
.
data
.
page
;
const
n
=
Math
.
ceil
(
total
/
page_size
);
if
(
n
>
this
.
outCurrent
)
{
this
.
outCurrent
+=
1
;
}
else
{
this
.
outFlag
=
false
;
this
.
outLoadingType
=
'nomore'
;
}
}
}
this
.
integral
=
res
.
data
.
data
.
integral
||
0
;
}
}
})
}
},
components
:
{
uniLoadMore
}
}
</
script
>
<
style
lang=
"less"
scoped
>
.main {
overflow: hidden;
padding: 0 24rpx;
.return_icon {
view {
width: 56rpx;
height: 56rpx;
border-radius: 50%;
background-color: rgba(33,33,33,0.5);
color: #fff;
font-size: 32rpx;
text-align: center;
line-height: 56rpx;
margin-top: 24rpx;
}
}
.card {
height: 216rpx;
border-radius: 16rpx;
background:linear-gradient(135deg,rgba(255,236,73,1) 0%,rgba(255,211,30,1) 100%);
box-shadow:0px 8rpx 24rpx 0px rgba(255,219,43,0.5);
padding: 0 30rpx;
overflow: hidden;
color: #21232C;
margin: 24rpx auto 40rpx;
view:nth-of-type(1) {
font-size: 30rpx;
line-height: 42rpx;
font-family:PingFangSC-Medium,PingFang SC;
font-weight:500;
margin-top: 36rpx;
}
view:nth-of-type(2) {
margin-top: 8rpx;
font-family:Avenir-Heavy,Avenir;
font-weight:800;
font-size: 80rpx;
line-height: 110rpx;
}
}
.tabs {
display: flex;
align-items: center;
justify-content: center;
.tab_item {
height: 60rpx;
line-height: 60rpx;
text-align: center;
color: #333;
font-size: 30rpx;
width: 100rpx;
}
.act {
background:linear-gradient(135deg,rgba(255,236,73,1) 0%,rgba(255,211,30,1) 100%);
border-radius:30px;
color: #21232C;
}
.tab_item:nth-of-type(2) {
margin: 0 30rpx;
}
}
.list {
margin-top: 40rpx;
height: calc(100vh - 484rpx);
.list_item {
height: 120rpx;
display: flex;
align-items: center;
justify-content: space-between;
border-bottom: 1px solid #ececec;
.title1 {
color: #000;
font-size: 30rpx;
height: 42rpx;
line-height: 42rpx;
margin-bottom: 2rpx;
}
.title2 {
color: #979797;
font-size: 26rpx;
height: 36rpx;
line-height: 36rpx;
}
.integral {
color: #FF6600;
font-size: 36rpx;
font-family:PingFangSC-Medium,PingFang SC;
font-weight:500;
}
}
}
.none_data {
text-align: center;
}
}
</
style
>
This diff is collapsed.
Click to expand it.
pages/levelStrategy/levelStrategy.vue
0 → 100644
View file @
b4684456
<
template
>
<view
class=
"main"
>
<TopBar
title=
"升级攻略"
titleColor=
"#fff"
bgColor=
"#21232C"
/>
<view
class=
"question"
>
<text></text>
<text>
账户等级越高有什么作用?
</text>
</view>
<view
class=
"answer"
>
<view
class=
"item"
><text>
a.
</text>
等级越高,可享受的权益越多
</view>
<view
class=
"item"
><text>
b.
</text>
等级越高,特定商品可享受的优惠力度越大
</view>
</view>
<view
class=
"question"
>
<text></text>
<text>
如何提升账户等级?
</text>
</view>
<view
class=
"answer"
>
<view
class=
"item"
><text>
a.
</text>
每日登录可获取积分,用来提升账户等级
</view>
<view
class=
"item"
><text>
b.
</text>
每次消费再确认收货之后可以获得购物积分,可以提
升账户等级
</view>
<view
class=
"item"
><text>
c.
</text>
推荐新用户注册,新用户账号审核通过后推荐人可获
取积分,提升等级
</view>
<view
class=
"item"
><text>
d.
</text>
由谛宝多多官方规定的其它方式
</view>
</view>
<view
class=
"diamond"
></view>
</view>
</
template
>
<
script
>
import
TopBar
from
'@/components/TopBar/TopBar.vue'
;
export
default
{
data
()
{
return
{
}
},
components
:
{
TopBar
}
}
</
script
>
<
style
lang=
"less"
>
.main {
height: 100vh;
padding: 88rpx 24rpx 0;
background:linear-gradient(141deg,rgba(33,35,44,1) 0%,rgba(45,50,57,1) 100%);
box-sizing: border-box;
.question {
color: #F6CA8D;
font-size: 40rpx;
margin-top: 40rpx;
}
.answer {
padding: 30rpx;
background-color: #21232C;
font-size: 26rpx;
color: #C3B4A0;
margin: 24rpx auto 60rpx;
border-radius: 16rpx;
.item {
line-height: 36rpx;
margin-bottom: 20rpx;
display: flex;
}
.item:last-child {
margin-bottom: 0;
}
}
.diamond {
width: 304rpx;
height: 256rpx;
background: url('https://dbc-static.oss-cn-beijing.aliyuncs.com/static/dia.png') no-repeat;
background-size: 100% 100%;
position: absolute;
right: 0;
bottom: 0;
}
}
</
style
>
This diff is collapsed.
Click to expand it.
pages/signRecord/signRecord.vue
0 → 100644
View file @
b4684456
<
template
>
<view
class=
"main"
>
<view
class=
"card"
>
<view
class=
"return_icon"
><view
class=
"eosfont"
>

</view></view>
<view
class=
"days"
>
{{
sign_days_continues
}}
</view>
<view
class=
"title"
>
连续签到
</view>
</view>
<view
class=
"calendar"
>
<uni-calendar
:selected=
"signList"
:insert=
"true"
:allChange=
"true"
@
monthSwitch=
"monthSwitch"
/>
</view>
</view>
</
template
>
<
script
>
import
uniCalendar
from
'@/components/uni-calendar/uni-calendar.vue'
export
default
{
data
()
{
return
{
signList
:
[],
sign_id
:
''
,
mon
:
''
,
sign_days_continues
:
0
}
},
onLoad
(
options
)
{
this
.
sign_id
=
options
.
sign_id
;
this
.
sign_days_continues
=
options
.
sign_days_continues
;
let
year
=
new
Date
().
getFullYear
(),
month
=
new
Date
().
getMonth
()
+
1
;
month
=
month
<
10
?
'0'
+
month
:
month
+
''
;
this
.
mon
=
`
${
year
}
-
${
month
}
`
;
this
.
getRecord
(
`
${
year
}
-
${
month
}
`
,
options
.
sign_id
);
},
methods
:
{
getRecord
(
month
,
sign_id
)
{
uni
.
request
({
url
:
'/uni/api/sign/GetMySignList'
,
data
:
{
mon
:
month
,
sign_id
:
sign_id
},
method
:
'post'
,
dataType
:
'json'
,
success
:
(
res
)
=>
{
if
(
res
.
data
.
code
===
0
)
{
this
.
signList
=
res
.
data
.
data
.
sign_list
;
}
}
});
},
monthSwitch
(
e
)
{
let
{
year
,
month
}
=
e
;
if
(
month
<
10
)
{
month
=
'0'
+
month
;
}
let
mon
=
`
${
year
}
-
${
month
}
`
;
this
.
getRecord
(
mon
,
this
.
sign_id
);
}
},
components
:
{
uniCalendar
}
}
</
script
>
<
style
lang=
"less"
scoped
>
.main {
.card {
height: 360rpx;
background:linear-gradient(135deg,rgba(255,236,73,1) 0%,rgba(255,211,30,1) 100%);
overflow: hidden;
.return_icon {
view {
width: 56rpx;
height: 56rpx;
border-radius: 50%;
background-color: rgba(33,33,33,0.5);
color: #fff;
font-size: 32rpx;
text-align: center;
line-height: 56rpx;
margin: 24rpx 0 0 20rpx;
}
}
.days {
color: #000;
font-size: 80rpx;
line-height: 110rpx;
text-align: center;
margin: 8rpx auto 0;
font-family:Avenir-Heavy,Avenir;
font-weight:800;
}
.title {
font-size: 28rpx;
height: 40rpx;
line-height: 40rpx;
text-align: center;
opacity: 0.6;
}
}
.calendar {
border-radius: 24rpx 24rpx 0 0;
margin-top: -80rpx;
}
}
</
style
>
This diff is collapsed.
Click to expand it.
pages/signin/signin.vue
0 → 100644
View file @
b4684456
This diff is collapsed.
Click to expand it.
pages/vipCenter/vipCenter.vue
0 → 100644
View file @
b4684456
This diff is collapsed.
Click to expand it.
static/iconfont.css
View file @
b4684456
@font-face
{
font-family
:
"eosfont"
;
@font-face
{
src
:
url('https://at.alicdn.com/t/font_1682539_q13x2nw5kqc.ttf')
format
(
'truetype'
);
font-family
:
"eosfont"
;
src
:
url('https://at.alicdn.com/t/font_1878093_g9p5eg1qexv.eot')
;
src
:
url('https://at.alicdn.com/t/font_1878093_g9p5eg1qexv.eot?#iefix')
format
(
'embedded-opentype'
),
url('https://at.alicdn.com/t/font_1878093_g9p5eg1qexv.woff2')
format
(
'woff2'
),
url('https://at.alicdn.com/t/font_1878093_g9p5eg1qexv.woff')
format
(
'woff'
),
url('https://at.alicdn.com/t/font_1878093_g9p5eg1qexv.ttf')
format
(
'truetype'
),
url('https://at.alicdn.com/t/font_1878093_g9p5eg1qexv.svg#iconfont')
format
(
'svg'
);
}
}
.eosfont
{
.eosfont
{
font-family
:
"eosfont"
!important
;
font-family
:
"eosfont"
!important
;
font-style
:
normal
;
font-style
:
normal
;
}
}
This diff is collapsed.
Click to expand it.
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