Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
U
uniapp_vedio
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
android
uniapp_vedio
Commits
cb800588
Commit
cb800588
authored
Jul 29, 2024
by
mengcuiguang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
代码优化
parent
5f9d231f
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
808 additions
and
808 deletions
+808
-808
index.vue
vedio/components/home/index.vue
+536
-536
my.vue
vedio/components/home/my.vue
+270
-270
pages.json
vedio/pages.json
+1
-1
loading.vue
vedio/pages/loading.vue
+1
-1
No files found.
vedio/components/home/index.vue
View file @
cb800588
<
template
>
<view
class=
"body"
>
<view
v-if=
"showMask"
class=
"show-mask flex-v"
@
click=
"showMask=false"
>
<view
class=
"mt-30"
style=
"width: 90%;text-align: right;"
>
<image
style=
"width: 30rpx;height: 30rpx;padding:6rpx;
border-radius: 40rpx;border: 2px solid darkgray;"
src=
"@/static/index/ic_quit_white.png"
/>
</view>
<text
class=
"mt-10"
style=
"font-size: 46rpx;"
>
如何继续看剧?
</text>
<text
class=
"m-10"
>
找到“
寻觅短剧” 小程序
</text>
<image
class=
"mt-30"
mode=
"widthFix"
:src=
"maskImage1"
></image>
<image
:src=
"maskImage2"
mode=
"widthFix"
></image>
</view>
<z-paging
class=
"flex-1"
ref=
"paging"
v-model=
"dataList"
@
query=
"queryList"
>
<view
class=
"search-wrap"
>
<!--
<image
style=
"width: 80rpx; height: 80rpx"
src=
"@/static/index/ic_quit_white.png"
></image>
-->
<view
class=
"search-bar"
@
click=
"handleSearchPage"
>
<image
style=
"width: 40rpx; height: 40rpx"
src=
"@/static/search.png"
></image>
<text
style=
"margin-left: 30rpx;color: darkgray;"
>
{{
bannerList
.
length
>
0
?
bannerList
[
0
].
title
:
''
}}
</text>
</view>
</view>
<view
class=
"content"
>
<swiper
class=
"banner"
:style=
"'margin-top:'+statusBarHeight+'px;'"
:indicator-dots=
"true"
:autoplay=
"true"
:interval=
"2000"
:duration=
"500"
>
<swiper-item
v-for=
"banner in bannerList"
:key=
"banner.vedioId"
@
click=
"handleBanner(banner)"
>
<image
class=
"banner-img"
:src=
"banner.tabImage"
mode=
"aspectFill"
></image>
</swiper-item>
</swiper>
<view
style=
"display: flex;flex-direction: column;background-color:white;border-radius:10rpx;margin-top: 20rpx;"
>
<view
style=
"font-size: 30rpx;font-weight: 777;margin-left: 12rpx;margin-top: 18rpx;"
>
排行榜
</view>
<scroll-view
scroll-x=
"true"
style=
"white-space: nowrap; margin-top: 18rpx;"
>
<block
v-for=
"(item, index) in topList"
:key=
"item.vedioId"
>
<view
@
click=
"handleTop(item)"
style=
"display:inline-block;background-color:white;border-radius:10rpx;width: 200rpx;margin: 5rpx 10rpx 15rpx 10rpx;"
>
<view
style=
"position: relative;"
>
<view
style=
"position: relative;"
>
<view
style=
"position: absolute;z-index: 10;margin-left: 20rpx;"
>
<view
style=
"position: relative;"
>
<view
style=
"
position: absolute;
z-index: 10;
width: 50rpx;
text-align: center;
margin-top: 8rpx;
font-size: 24rpx;
color: white;"
>
{{
index
+
1
}}
</view>
<image
v-if=
"index==0"
style=
"width: 50rpx;height: 50rpx;display: flex;align-items: right;margin-right: 10rpx;"
src=
"../../static/index/y43.png"
></image>
<image
v-else-if=
"index==1"
style=
"width: 50rpx;height: 50rpx;display: flex;align-items: right;margin-right: 10rpx;"
src=
"../../static/index/y42.png"
></image>
<image
v-else-if=
"index==2"
style=
"width: 50rpx;height: 50rpx;display: flex;align-items: right;margin-right: 10rpx;"
src=
"../../static/index/y41.png"
></image>
<image
v-else
style=
"width: 50rpx;height: 50rpx;display: flex;align-items: right;margin-right: 10rpx;"
src=
"../../static/index/y4.png"
></image>
</view>
</view>
<image
style=
"border-radius:10rpx; width: 200rpx;height: 260rpx;"
:src=
"item.coverImage"
mode=
"aspectFill"
></image>
</view>
<view
style=
"
position: absolute;
bottom: 10rpx;
background-color: black;
width: 100%;
opacity: 0.5;
"
>
<view
style=
"display: flex;align-items: center;margin-left: 10rpx;"
>
<image
style=
"width: 20rpx;height: 20rpx;display: flex;align-items: right;margin-right: 10rpx;"
src=
"../../static/index/ic_index_play.png"
></image>
<view
style=
"font-size: 22rpx;color: white;"
>
{{
item
.
showNum
}}
</view>
</view>
</view>
</view>
<view
style=
"font-size: 26rpx;margin-top: 10rpx;height: 62rpx;"
>
{{
item
.
title
}}
</view>
<view
class=
"ellipsis"
style=
"font-size: 22rpx;margin-top: 10rpx;"
v-if=
"item.orderTags!=null&&item.orderTags.length>0"
>
<scroll-view
scroll-x=
"true"
>
<block
v-for=
"t in item.orderTags"
:key=
"item.orderTags"
>
<view
style=
"display:inline-block;margin-right: 4rpx;"
>
{{
t
}}
</view>
</block>
</scroll-view>
</view>
</view>
</block>
</scroll-view>
</view>
<!--
<view
style=
"font-size: 30rpx;font-weight: 777;margin-top: 20rpx;margin-bottom: 10rpx;margin-left: 4rpx;"
>
推荐
</view>
-->
<u-sticky></u-sticky>
<view
style=
"width: 100%;"
>
<!--
<u-sticky
bgColor=
"#fff"
>
-->
<u-tabs
:current=
"typeIndex"
:list=
"typesList"
@
change=
"popHandleChange"
lineWidth=
"30"
keyName=
'type'
lineColor=
"#0faeff"
:activeStyle=
"
{
color: '#0faeff',
fontWeight: 'bold',
transform: 'scale(1.05)'
}" :inactiveStyle="{
color: '#808080',
transform: 'scale(1)'
}">
</u-tabs>
<!--
</u-sticky>
-->
</view>
<view
style=
"column-count: 2;column-gap: 20rpx;margin-top: 20rpx;"
>
<view
class=
"item-wrap"
v-for=
"(item, index) in dataList"
:key=
"index"
v-if=
"index % 2 == 0"
@
click=
"handleInfo(item)"
>
<view
style=
"position: relative;"
>
<image
class=
"img"
:src=
"item.coverImage"
mode=
"aspectFill"
></image>
<view
style=
"
position: absolute;
bottom: 10rpx;
width: 95%;
padding: 10rpx;
background-color: black;
opacity: 0.5;
"
>
<view
style=
"display: flex;flex-direction: row;justify-content:space-between;"
>
<view
style=
"display: flex;align-items: center;"
>
<image
style=
"width: 20rpx;height: 20rpx;display: flex;align-items: right;margin-right: 10rpx;"
src=
"../../static/index/ic_index_play.png"
></image>
<view
style=
"font-size: 22rpx;color: white;"
>
{{
item
.
showNum
}}
</view>
</view>
<view
style=
"font-size: 22rpx;color: white;font-weight: 777;"
>
全
{{
item
.
vedioTotal
}}
集
</view>
</view>
</view>
</view>
<view
style=
"font-size: 30rpx;margin-top: 10rpx;margin-left: 12rpx;"
>
{{
item
.
title
}}
</view>
<!--
<view
style=
"font-size: 22rpx;margin-top: 10rpx;margin-left: 12rpx;"
>
{{
item
.
vedioDesc
}}
</view>
-->
</view>
<view
class=
"item-wrap"
v-for=
"(item, index2) in dataList"
:key=
"index2"
v-if=
"index2 % 2 == 1"
@
click=
"handleInfo(item)"
>
<view
style=
"position: relative;"
>
<image
class=
"img"
:src=
"item.coverImage"
mode=
"aspectFill"
></image>
<view
style=
"
position: absolute;
bottom: 10rpx;
width: 95%;
padding: 10rpx;
background-color: black;
opacity: 0.5;
"
>
<view
style=
"display: flex;flex-direction: row;justify-content:space-between;"
>
<view
style=
"display: flex;align-items: center;"
>
<image
style=
"width: 20rpx;height: 20rpx;display: flex;align-items: right;margin-right: 10rpx;"
src=
"../../static/index/ic_index_play.png"
></image>
<view
style=
"font-size: 22rpx;color: white;"
>
{{
item
.
showNum
}}
</view>
</view>
<view
style=
"font-size: 22rpx;color: white;font-weight: 777;"
>
全
{{
item
.
vedioTotal
}}
集
</view>
</view>
</view>
</view>
<view
style=
"font-size: 30rpx;margin-top: 10rpx;margin-left: 12rpx;"
>
{{
item
.
title
}}
</view>
<!--
<view
style=
"font-size: 22rpx;margin-top: 10rpx;margin-left: 12rpx;"
>
{{
item
.
vedioDesc
}}
</view>
-->
</view>
</view>
</view>
</z-paging>
<view
v-if=
"newRecordBean!=null"
style=
"width: 97%;height: 150rpx;margin: 10rpx;opacity: 0.8;background-color: black;z-index: 20;position: absolute;bottom: 0;border-radius:10rpx;"
>
<view
style=
"display: flex;margin-left: 10rpx;"
>
<view
style=
"flex-grow: 2;display: flex;align-items: center;"
>
<image
style=
"border-radius:10rpx; width: 100rpx;height: 130rpx;margin-top: 10rpx;"
:src=
"newRecordBean.coverImage"
mode=
"aspectFill"
></image>
<view
style=
"margin: 20rpx;"
>
<view
style=
"font-size: 30rpx; color: white;"
>
{{
newRecordBean
.
title
}}
</view>
<view
style=
"font-size: 24rpx;margin-top: 6rpx;color: white;"
>
上次观看至第
{{
newRecordBean
.
seeIndex
}}
集
</view>
<view
style=
"font-size: 22rpx;"
v-if=
"newRecordBean.orderTags!=null&&newRecordBean.orderTags.length>0"
>
<scroll-view
scroll-x=
"true"
>
<block
v-for=
"t in newRecordBean.orderTags"
:key=
"newRecordBean.orderTags"
>
<view
style=
"display:inline-block;margin-right: 4rpx;"
>
{{
t
}}
</view>
</block>
</scroll-view>
</view>
</view>
</view>
<view
style=
"display: flex;flex-direction: column;align-items: flex-end;"
>
<image
@
click=
"handleBottomClose()"
style=
"width: 30rpx;height: 30rpx;display: flex;align-items: right;margin: 10rpx;"
src=
"../../static/index/ic_quit_white.png"
mode=
"aspectFill"
></image>
<view
@
click=
"handleBottomPlay(newRecordBean)"
style=
"
width: 160rpx;
height: 50rpx;
line-height: 50rpx;
text-align: center;
background-color: red;
border-radius:30rpx;
color: white;
font-size: 24rpx;
margin-right: 20rpx;"
>
继续观看
</view>
</view>
</view>
</view>
<view
class=
"box-wrap"
>
<image
class=
"img1"
@
click=
"handleTaskPage"
:src=
"boxImgUrl"
></image>
</view>
<!--
<uni-popup
type=
"center"
ref=
"select"
>
<view>
<view
style=
"font-size: 30rpx;font-weight: 777;color: white;"
>
刚刚看的
</view>
<view
style=
"text-align: center;"
>
<view>
<video
:id=
"recommendBean.vedioId"
:loop=
"true"
:enable-progress-gesture=
"false"
:show-loading=
"true"
:show-fullscreen-btn=
"false"
style=
"width:100%; height:100%;background: #f56c6c;"
:src=
"recommendBean.vedioUrl"
:poster=
"recommendBean.coverImage"
play-btn-position=
"center"
object-fit=
"contain"
/>
</view>
<view>
123
</view>
<view
@
click=
"handleVipPay"
style=
"width: 350rpx;height: 80rpx;background-color: #f2575b;border-radius:20rpx;color: white;font-size: 26rpx;justify-content: center;align-items: center;display: flex;"
>
立即试看
</view>
</view>
</view>
</uni-popup>
-->
</view>
</
template
>
<
script
>
import
common
from
'@/mixins/common'
;
import
{
navigateTo
,
message
,
alert
,
loading
}
from
'../../utils/fun.js'
import
{
openUrl
}
from
'../../utils/app+.js'
const
app
=
getApp
();
export
default
{
name
:
'index'
,
mixins
:
[
common
],
data
()
{
return
{
index
:
0
,
index2
:
0
,
dataList
:
[],
bannerList
:
[],
typesList
:
[],
topList
:
[],
typeIndex
:
0
,
typeId
:
-
1
,
newRecordBean
:
null
,
showMask
:
false
,
maskImage1
:
'https://mints-web.oss-cn-beijing.aliyuncs.com/images/bg_find1.png'
,
maskImage2
:
'https://mints-web.oss-cn-beijing.aliyuncs.com/images/bg_find2.png'
,
boxImgUrl
:
'https://mints-web.oss-cn-beijing.aliyuncs.com/images/ic_bag.png'
,
statusBarHeight
:
app
.
globalData
.
statusBarHeight
,
};
},
<
template
>
<view
class=
"body"
>
<view
v-if=
"showMask"
class=
"show-mask flex-v"
@
click=
"showMask=false"
>
<view
class=
"mt-30"
style=
"width: 90%;text-align: right;"
>
<image
style=
"width: 30rpx;height: 30rpx;padding:6rpx;
border-radius: 40rpx;border: 2px solid darkgray;"
src=
"@/static/index/ic_quit_white.png"
/>
</view>
<text
class=
"mt-10"
style=
"font-size: 46rpx;"
>
如何继续看剧?
</text>
<text
class=
"m-10"
>
找到“
星夜剧场” 小程序
</text>
<image
class=
"mt-30"
mode=
"widthFix"
:src=
"maskImage1"
></image>
<image
:src=
"maskImage2"
mode=
"widthFix"
></image>
</view>
<z-paging
class=
"flex-1"
ref=
"paging"
v-model=
"dataList"
@
query=
"queryList"
>
<view
class=
"search-wrap"
>
<!--
<image
style=
"width: 80rpx; height: 80rpx"
src=
"@/static/index/ic_quit_white.png"
></image>
-->
<view
class=
"search-bar"
@
click=
"handleSearchPage"
>
<image
style=
"width: 40rpx; height: 40rpx"
src=
"@/static/search.png"
></image>
<text
style=
"margin-left: 30rpx;color: darkgray;"
>
{{
bannerList
.
length
>
0
?
bannerList
[
0
].
title
:
''
}}
</text>
</view>
</view>
<view
class=
"content"
>
<swiper
class=
"banner"
:style=
"'margin-top:'+statusBarHeight+'px;'"
:indicator-dots=
"true"
:autoplay=
"true"
:interval=
"2000"
:duration=
"500"
>
<swiper-item
v-for=
"banner in bannerList"
:key=
"banner.vedioId"
@
click=
"handleBanner(banner)"
>
<image
class=
"banner-img"
:src=
"banner.tabImage"
mode=
"aspectFill"
></image>
</swiper-item>
</swiper>
<view
style=
"display: flex;flex-direction: column;background-color:white;border-radius:10rpx;margin-top: 20rpx;"
>
<view
style=
"font-size: 30rpx;font-weight: 777;margin-left: 12rpx;margin-top: 18rpx;"
>
排行榜
</view>
<scroll-view
scroll-x=
"true"
style=
"white-space: nowrap; margin-top: 18rpx;"
>
<block
v-for=
"(item, index) in topList"
:key=
"item.vedioId"
>
<view
@
click=
"handleTop(item)"
style=
"display:inline-block;background-color:white;border-radius:10rpx;width: 200rpx;margin: 5rpx 10rpx 15rpx 10rpx;"
>
<view
style=
"position: relative;"
>
<view
style=
"position: relative;"
>
<view
style=
"position: absolute;z-index: 10;margin-left: 20rpx;"
>
<view
style=
"position: relative;"
>
<view
style=
"
position: absolute;
z-index: 10;
width: 50rpx;
text-align: center;
margin-top: 8rpx;
font-size: 24rpx;
color: white;"
>
{{
index
+
1
}}
</view>
<image
v-if=
"index==0"
style=
"width: 50rpx;height: 50rpx;display: flex;align-items: right;margin-right: 10rpx;"
src=
"../../static/index/y43.png"
></image>
<image
v-else-if=
"index==1"
style=
"width: 50rpx;height: 50rpx;display: flex;align-items: right;margin-right: 10rpx;"
src=
"../../static/index/y42.png"
></image>
<image
v-else-if=
"index==2"
style=
"width: 50rpx;height: 50rpx;display: flex;align-items: right;margin-right: 10rpx;"
src=
"../../static/index/y41.png"
></image>
<image
v-else
style=
"width: 50rpx;height: 50rpx;display: flex;align-items: right;margin-right: 10rpx;"
src=
"../../static/index/y4.png"
></image>
</view>
</view>
<image
style=
"border-radius:10rpx; width: 200rpx;height: 260rpx;"
:src=
"item.coverImage"
mode=
"aspectFill"
></image>
</view>
<view
style=
"
position: absolute;
bottom: 10rpx;
background-color: black;
width: 100%;
opacity: 0.5;
"
>
<view
style=
"display: flex;align-items: center;margin-left: 10rpx;"
>
<image
style=
"width: 20rpx;height: 20rpx;display: flex;align-items: right;margin-right: 10rpx;"
src=
"../../static/index/ic_index_play.png"
></image>
<view
style=
"font-size: 22rpx;color: white;"
>
{{
item
.
showNum
}}
</view>
</view>
</view>
</view>
<view
style=
"font-size: 26rpx;margin-top: 10rpx;height: 62rpx;"
>
{{
item
.
title
}}
</view>
<view
class=
"ellipsis"
style=
"font-size: 22rpx;margin-top: 10rpx;"
v-if=
"item.orderTags!=null&&item.orderTags.length>0"
>
<scroll-view
scroll-x=
"true"
>
<block
v-for=
"t in item.orderTags"
:key=
"item.orderTags"
>
<view
style=
"display:inline-block;margin-right: 4rpx;"
>
{{
t
}}
</view>
</block>
</scroll-view>
</view>
</view>
</block>
</scroll-view>
</view>
<!--
<view
style=
"font-size: 30rpx;font-weight: 777;margin-top: 20rpx;margin-bottom: 10rpx;margin-left: 4rpx;"
>
推荐
</view>
-->
<u-sticky></u-sticky>
<view
style=
"width: 100%;"
>
<!--
<u-sticky
bgColor=
"#fff"
>
-->
<u-tabs
:current=
"typeIndex"
:list=
"typesList"
@
change=
"popHandleChange"
lineWidth=
"30"
keyName=
'type'
lineColor=
"#0faeff"
:activeStyle=
"
{
color: '#0faeff',
fontWeight: 'bold',
transform: 'scale(1.05)'
}" :inactiveStyle="{
color: '#808080',
transform: 'scale(1)'
}">
</u-tabs>
<!--
</u-sticky>
-->
</view>
<view
style=
"column-count: 2;column-gap: 20rpx;margin-top: 20rpx;"
>
<view
class=
"item-wrap"
v-for=
"(item, index) in dataList"
:key=
"index"
v-if=
"index % 2 == 0"
@
click=
"handleInfo(item)"
>
<view
style=
"position: relative;"
>
<image
class=
"img"
:src=
"item.coverImage"
mode=
"aspectFill"
></image>
<view
style=
"
position: absolute;
bottom: 10rpx;
width: 95%;
padding: 10rpx;
background-color: black;
opacity: 0.5;
"
>
<view
style=
"display: flex;flex-direction: row;justify-content:space-between;"
>
<view
style=
"display: flex;align-items: center;"
>
<image
style=
"width: 20rpx;height: 20rpx;display: flex;align-items: right;margin-right: 10rpx;"
src=
"../../static/index/ic_index_play.png"
></image>
<view
style=
"font-size: 22rpx;color: white;"
>
{{
item
.
showNum
}}
</view>
</view>
<view
style=
"font-size: 22rpx;color: white;font-weight: 777;"
>
全
{{
item
.
vedioTotal
}}
集
</view>
</view>
</view>
</view>
<view
style=
"font-size: 30rpx;margin-top: 10rpx;margin-left: 12rpx;"
>
{{
item
.
title
}}
</view>
<!--
<view
style=
"font-size: 22rpx;margin-top: 10rpx;margin-left: 12rpx;"
>
{{
item
.
vedioDesc
}}
</view>
-->
</view>
<view
class=
"item-wrap"
v-for=
"(item, index2) in dataList"
:key=
"index2"
v-if=
"index2 % 2 == 1"
@
click=
"handleInfo(item)"
>
<view
style=
"position: relative;"
>
<image
class=
"img"
:src=
"item.coverImage"
mode=
"aspectFill"
></image>
<view
style=
"
position: absolute;
bottom: 10rpx;
width: 95%;
padding: 10rpx;
background-color: black;
opacity: 0.5;
"
>
<view
style=
"display: flex;flex-direction: row;justify-content:space-between;"
>
<view
style=
"display: flex;align-items: center;"
>
<image
style=
"width: 20rpx;height: 20rpx;display: flex;align-items: right;margin-right: 10rpx;"
src=
"../../static/index/ic_index_play.png"
></image>
<view
style=
"font-size: 22rpx;color: white;"
>
{{
item
.
showNum
}}
</view>
</view>
<view
style=
"font-size: 22rpx;color: white;font-weight: 777;"
>
全
{{
item
.
vedioTotal
}}
集
</view>
</view>
</view>
</view>
<view
style=
"font-size: 30rpx;margin-top: 10rpx;margin-left: 12rpx;"
>
{{
item
.
title
}}
</view>
<!--
<view
style=
"font-size: 22rpx;margin-top: 10rpx;margin-left: 12rpx;"
>
{{
item
.
vedioDesc
}}
</view>
-->
</view>
</view>
</view>
</z-paging>
<view
v-if=
"newRecordBean!=null"
style=
"width: 97%;height: 150rpx;margin: 10rpx;opacity: 0.8;background-color: black;z-index: 20;position: absolute;bottom: 0;border-radius:10rpx;"
>
<view
style=
"display: flex;margin-left: 10rpx;"
>
<view
style=
"flex-grow: 2;display: flex;align-items: center;"
>
<image
style=
"border-radius:10rpx; width: 100rpx;height: 130rpx;margin-top: 10rpx;"
:src=
"newRecordBean.coverImage"
mode=
"aspectFill"
></image>
<view
style=
"margin: 20rpx;"
>
<view
style=
"font-size: 30rpx; color: white;"
>
{{
newRecordBean
.
title
}}
</view>
<view
style=
"font-size: 24rpx;margin-top: 6rpx;color: white;"
>
上次观看至第
{{
newRecordBean
.
seeIndex
}}
集
</view>
<view
style=
"font-size: 22rpx;"
v-if=
"newRecordBean.orderTags!=null&&newRecordBean.orderTags.length>0"
>
<scroll-view
scroll-x=
"true"
>
<block
v-for=
"t in newRecordBean.orderTags"
:key=
"newRecordBean.orderTags"
>
<view
style=
"display:inline-block;margin-right: 4rpx;"
>
{{
t
}}
</view>
</block>
</scroll-view>
</view>
</view>
</view>
<view
style=
"display: flex;flex-direction: column;align-items: flex-end;"
>
<image
@
click=
"handleBottomClose()"
style=
"width: 30rpx;height: 30rpx;display: flex;align-items: right;margin: 10rpx;"
src=
"../../static/index/ic_quit_white.png"
mode=
"aspectFill"
></image>
<view
@
click=
"handleBottomPlay(newRecordBean)"
style=
"
width: 160rpx;
height: 50rpx;
line-height: 50rpx;
text-align: center;
background-color: red;
border-radius:30rpx;
color: white;
font-size: 24rpx;
margin-right: 20rpx;"
>
继续观看
</view>
</view>
</view>
</view>
<view
class=
"box-wrap"
>
<image
class=
"img1"
@
click=
"handleTaskPage"
:src=
"boxImgUrl"
></image>
</view>
<!--
<uni-popup
type=
"center"
ref=
"select"
>
<view>
<view
style=
"font-size: 30rpx;font-weight: 777;color: white;"
>
刚刚看的
</view>
<view
style=
"text-align: center;"
>
<view>
<video
:id=
"recommendBean.vedioId"
:loop=
"true"
:enable-progress-gesture=
"false"
:show-loading=
"true"
:show-fullscreen-btn=
"false"
style=
"width:100%; height:100%;background: #f56c6c;"
:src=
"recommendBean.vedioUrl"
:poster=
"recommendBean.coverImage"
play-btn-position=
"center"
object-fit=
"contain"
/>
</view>
<view>
123
</view>
<view
@
click=
"handleVipPay"
style=
"width: 350rpx;height: 80rpx;background-color: #f2575b;border-radius:20rpx;color: white;font-size: 26rpx;justify-content: center;align-items: center;display: flex;"
>
立即试看
</view>
</view>
</view>
</uni-popup>
-->
</view>
</
template
>
<
script
>
import
common
from
'@/mixins/common'
;
import
{
navigateTo
,
message
,
alert
,
loading
}
from
'../../utils/fun.js'
import
{
openUrl
}
from
'../../utils/app+.js'
const
app
=
getApp
();
export
default
{
name
:
'index'
,
mixins
:
[
common
],
data
()
{
return
{
index
:
0
,
index2
:
0
,
dataList
:
[],
bannerList
:
[],
typesList
:
[],
topList
:
[],
typeIndex
:
0
,
typeId
:
-
1
,
newRecordBean
:
null
,
showMask
:
false
,
maskImage1
:
'https://mints-web.oss-cn-beijing.aliyuncs.com/images/bg_find1.png'
,
maskImage2
:
'https://mints-web.oss-cn-beijing.aliyuncs.com/images/bg_find2.png'
,
boxImgUrl
:
'https://mints-web.oss-cn-beijing.aliyuncs.com/images/ic_bag.png'
,
statusBarHeight
:
app
.
globalData
.
statusBarHeight
,
};
},
methods
:
{
loadData
(){
setTimeout
(()
=>
{
...
...
@@ -301,244 +301,244 @@
this
.
$refs
.
paging
.
reload
();
}
},
500
);
},
showMaskFuc
()
{
let
showFollowMask
=
uni
.
getStorageSync
(
'show-follow-mask'
)
||
''
;
if
(
showFollowMask
==
'1'
)
{
this
.
showMask
=
true
uni
.
setStorage
({
key
:
'show-follow-mask'
,
data
:
'2'
});
}
},
show
()
{
// 显示引导图
this
.
showMaskFuc
()
// 匹配视频
this
.
showFirstDialog
();
// 轮播图
this
.
post
({
url
:
'/vedio/topTabs'
,
showLoading
:
false
,
success
:
({
data
})
=>
{
this
.
bannerList
=
data
.
list
;
}
});
// 排行榜
this
.
post
({
url
:
'/vedio/orders'
,
data
:
{},
showLoading
:
false
,
success
:
({
data
})
=>
{
this
.
topList
=
data
.
list
;
}
});
// 最近观看剧
this
.
post
({
url
:
'/vedio/newest'
,
data
:
{},
showLoading
:
false
,
success
:
({
data
})
=>
{
if
(
data
.
vedio
!=
null
)
{
this
.
newRecordBean
=
data
.
vedio
;
}
}
});
// 分类列表
this
.
post
({
url
:
'/vedio/types'
,
data
:
{},
showLoading
:
false
,
success
:
({
data
})
=>
{
if
(
data
.
list
)
{
this
.
typeId
=
data
.
list
[
0
].
typeId
this
.
typesList
=
data
.
list
}
}
});
},
hide
()
{
},
queryList
(
page
,
size
)
{
let
that
=
this
// 推荐列表
this
.
post
({
url
:
'/vedio/listByType'
,
data
:
{
page
,
size
,
typeId
:
that
.
typeId
},
showLoading
:
false
,
success
:
({
data
})
=>
{
// this.$refs.paging.complete(data.list);
this
.
$refs
.
paging
.
complete
(
data
.
list
);
}
});
},
popHandleChange
(
e
)
{
this
.
typeId
=
e
.
typeId
if
(
this
.
$refs
.
paging
!=
null
)
{
this
.
$refs
.
paging
.
reload
();
}
},
handleBanner
(
item
)
{
// navigateTo(`/pagesC/ttvideo/ttVideoDetail?data=` + encodeURIComponent(JSON.stringify(item)) +
// '&tt_album_id=' + item.douyinAlbumId + '&tt_episode_id=' + item.douyinEpisodeId);
},
handleInfo
(
item
)
{
navigateTo
(
`/pagesC/ttvideo/ttVideoDetail?data=`
+
encodeURIComponent
(
JSON
.
stringify
(
item
))
+
'&tt_album_id='
+
item
.
douyinAlbumId
+
'&tt_episode_id='
+
item
.
douyinEpisodeId
);
},
handleTop
(
item
)
{
navigateTo
(
`/pagesC/ttvideo/ttVideoDetail?data=`
+
encodeURIComponent
(
JSON
.
stringify
(
item
))
+
'&tt_album_id='
+
item
.
douyinAlbumId
+
'&tt_episode_id='
+
item
.
douyinEpisodeId
);
},
handleBottomPlay
(
item
)
{
navigateTo
(
`/pagesC/ttvideo/ttVideoDetail?data=`
+
encodeURIComponent
(
JSON
.
stringify
(
item
))
+
'&tt_album_id='
+
item
.
douyinAlbumId
+
'&tt_episode_id='
+
item
.
douyinEpisodeId
);
},
handleBottomClose
()
{
this
.
newRecordBean
=
null
;
this
.
post
({
url
:
'/vedio/colseNewest'
,
data
:
{},
showLoading
:
false
,
success
:
({
data
})
=>
{}
});
},
handleSearchPage
()
{
navigateTo
(
`/pagesA/search/search`
)
},
handleTaskPage
()
{
navigateTo
(
`/pagesA/task/task`
)
},
showFirstDialog
()
{
let
that
=
this
;
let
loadEpisode_id
=
uni
.
getStorageSync
(
'tt_episode_id'
)
||
''
;
let
loadAlbum_id
=
uni
.
getStorageSync
(
'tt_album_id'
)
||
''
;
setTimeout
(()
=>
{
that
.
post
({
url
:
'/vedio/firstVedio/douyin'
,
data
:
{
episode_id
:
loadEpisode_id
,
album_id
:
loadAlbum_id
},
showLoading
:
false
,
success
:
({
data
})
=>
{
if
(
data
.
vedioMsg
!=
null
)
{
navigateTo
(
`/pagesC/ttvideo/ttVideoDetail?data=`
+
encodeURIComponent
(
JSON
.
stringify
(
data
.
vedioMsg
))
+
'&tt_album_id='
+
data
.
vedioMsg
.
douyinAlbumId
+
'&tt_episode_id='
+
data
.
vedioMsg
.
douyinEpisodeId
);
// 重置短视频挂载id
uni
.
setStorage
({
key
:
'tt_album_id'
,
data
:
''
});
uni
.
setStorage
({
key
:
'tt_episode_id'
,
data
:
''
});
}
}
});
},
800
);
}
}
};
</
script
>
<
style
lang=
"scss"
>
.body
{
// background-color: whitesmoke;
position
:
relative
;
}
.search-wrap
{
height
:
80rpx
;
margin
:
10rpx
0
;
display
:
flex
;
flex-direction
:
row
;
}
.search-bar
{
width
:
100%
;
margin-left
:
20rpx
;
margin-right
:
20rpx
;
border-radius
:
10rpx
;
background-color
:
white
;
display
:
flex
;
flex-direction
:
row
;
align-items
:
center
;
padding
:
0
20rpx
;
}
.show-mask
{
width
:
100%
;
height
:
100%
;
background
:
rgba
(
0
,
0
,
0
,
0
.6
);
position
:
absolute
;
z-index
:
999
;
color
:
white
;
align-items
:
center
;
image
{
width
:
90%
;
}
}
.item-wrap
{
width
:
100%
;
border-radius
:
10rpx
;
background-color
:
#fff
;
break-inside
:
avoid
;
margin-bottom
:
20rpx
;
height
:
500rpx
;
}
.img
{
position
:
relative
;
border-radius
:
10rpx
;
width
:
100%
;
height
:
390rpx
;
}
.box-wrap
{
height
:
100rpx
;
width
:
120rpx
;
right
:
10rpx
;
bottom
:
240rpx
;
position
:
absolute
;
z-index
:
999
;
.img1
{
width
:
100rpx
;
height
:
100rpx
;
}
}
},
showMaskFuc
()
{
let
showFollowMask
=
uni
.
getStorageSync
(
'show-follow-mask'
)
||
''
;
if
(
showFollowMask
==
'1'
)
{
this
.
showMask
=
true
uni
.
setStorage
({
key
:
'show-follow-mask'
,
data
:
'2'
});
}
},
show
()
{
// 显示引导图
this
.
showMaskFuc
()
// 匹配视频
this
.
showFirstDialog
();
// 轮播图
this
.
post
({
url
:
'/vedio/topTabs'
,
showLoading
:
false
,
success
:
({
data
})
=>
{
this
.
bannerList
=
data
.
list
;
}
});
// 排行榜
this
.
post
({
url
:
'/vedio/orders'
,
data
:
{},
showLoading
:
false
,
success
:
({
data
})
=>
{
this
.
topList
=
data
.
list
;
}
});
// 最近观看剧
this
.
post
({
url
:
'/vedio/newest'
,
data
:
{},
showLoading
:
false
,
success
:
({
data
})
=>
{
if
(
data
.
vedio
!=
null
)
{
this
.
newRecordBean
=
data
.
vedio
;
}
}
});
// 分类列表
this
.
post
({
url
:
'/vedio/types'
,
data
:
{},
showLoading
:
false
,
success
:
({
data
})
=>
{
if
(
data
.
list
)
{
this
.
typeId
=
data
.
list
[
0
].
typeId
this
.
typesList
=
data
.
list
}
}
});
},
hide
()
{
},
queryList
(
page
,
size
)
{
let
that
=
this
// 推荐列表
this
.
post
({
url
:
'/vedio/listByType'
,
data
:
{
page
,
size
,
typeId
:
that
.
typeId
},
showLoading
:
false
,
success
:
({
data
})
=>
{
// this.$refs.paging.complete(data.list);
this
.
$refs
.
paging
.
complete
(
data
.
list
);
}
});
},
popHandleChange
(
e
)
{
this
.
typeId
=
e
.
typeId
if
(
this
.
$refs
.
paging
!=
null
)
{
this
.
$refs
.
paging
.
reload
();
}
},
handleBanner
(
item
)
{
// navigateTo(`/pagesC/ttvideo/ttVideoDetail?data=` + encodeURIComponent(JSON.stringify(item)) +
// '&tt_album_id=' + item.douyinAlbumId + '&tt_episode_id=' + item.douyinEpisodeId);
},
handleInfo
(
item
)
{
navigateTo
(
`/pagesC/ttvideo/ttVideoDetail?data=`
+
encodeURIComponent
(
JSON
.
stringify
(
item
))
+
'&tt_album_id='
+
item
.
douyinAlbumId
+
'&tt_episode_id='
+
item
.
douyinEpisodeId
);
},
handleTop
(
item
)
{
navigateTo
(
`/pagesC/ttvideo/ttVideoDetail?data=`
+
encodeURIComponent
(
JSON
.
stringify
(
item
))
+
'&tt_album_id='
+
item
.
douyinAlbumId
+
'&tt_episode_id='
+
item
.
douyinEpisodeId
);
},
handleBottomPlay
(
item
)
{
navigateTo
(
`/pagesC/ttvideo/ttVideoDetail?data=`
+
encodeURIComponent
(
JSON
.
stringify
(
item
))
+
'&tt_album_id='
+
item
.
douyinAlbumId
+
'&tt_episode_id='
+
item
.
douyinEpisodeId
);
},
handleBottomClose
()
{
this
.
newRecordBean
=
null
;
this
.
post
({
url
:
'/vedio/colseNewest'
,
data
:
{},
showLoading
:
false
,
success
:
({
data
})
=>
{}
});
},
handleSearchPage
()
{
navigateTo
(
`/pagesA/search/search`
)
},
handleTaskPage
()
{
navigateTo
(
`/pagesA/task/task`
)
},
showFirstDialog
()
{
let
that
=
this
;
let
loadEpisode_id
=
uni
.
getStorageSync
(
'tt_episode_id'
)
||
''
;
let
loadAlbum_id
=
uni
.
getStorageSync
(
'tt_album_id'
)
||
''
;
setTimeout
(()
=>
{
that
.
post
({
url
:
'/vedio/firstVedio/douyin'
,
data
:
{
episode_id
:
loadEpisode_id
,
album_id
:
loadAlbum_id
},
showLoading
:
false
,
success
:
({
data
})
=>
{
if
(
data
.
vedioMsg
!=
null
)
{
navigateTo
(
`/pagesC/ttvideo/ttVideoDetail?data=`
+
encodeURIComponent
(
JSON
.
stringify
(
data
.
vedioMsg
))
+
'&tt_album_id='
+
data
.
vedioMsg
.
douyinAlbumId
+
'&tt_episode_id='
+
data
.
vedioMsg
.
douyinEpisodeId
);
// 重置短视频挂载id
uni
.
setStorage
({
key
:
'tt_album_id'
,
data
:
''
});
uni
.
setStorage
({
key
:
'tt_episode_id'
,
data
:
''
});
}
}
});
},
800
);
}
}
};
</
script
>
<
style
lang=
"scss"
>
.body
{
// background-color: whitesmoke;
position
:
relative
;
}
.search-wrap
{
height
:
80rpx
;
margin
:
10rpx
0
;
display
:
flex
;
flex-direction
:
row
;
}
.search-bar
{
width
:
100%
;
margin-left
:
20rpx
;
margin-right
:
20rpx
;
border-radius
:
10rpx
;
background-color
:
white
;
display
:
flex
;
flex-direction
:
row
;
align-items
:
center
;
padding
:
0
20rpx
;
}
.show-mask
{
width
:
100%
;
height
:
100%
;
background
:
rgba
(
0
,
0
,
0
,
0
.6
);
position
:
absolute
;
z-index
:
999
;
color
:
white
;
align-items
:
center
;
image
{
width
:
90%
;
}
}
.item-wrap
{
width
:
100%
;
border-radius
:
10rpx
;
background-color
:
#fff
;
break-inside
:
avoid
;
margin-bottom
:
20rpx
;
height
:
500rpx
;
}
.img
{
position
:
relative
;
border-radius
:
10rpx
;
width
:
100%
;
height
:
390rpx
;
}
.box-wrap
{
height
:
100rpx
;
width
:
120rpx
;
right
:
10rpx
;
bottom
:
240rpx
;
position
:
absolute
;
z-index
:
999
;
.img1
{
width
:
100rpx
;
height
:
100rpx
;
}
}
</
style
>
\ No newline at end of file
vedio/components/home/my.vue
View file @
cb800588
<
template
>
<view
class=
"body"
>
<view
v-if=
"showMask"
class=
"show-mask flex-v"
@
click=
"showMask=false"
>
<view
class=
"mt-30"
style=
"width: 90%;text-align: right;"
>
<image
style=
"width: 30rpx;height: 30rpx;padding:6rpx;
border-radius: 40rpx;border: 2px solid darkgray;"
src=
"@/static/index/ic_quit_white.png"
/>
</view>
<text
class=
"mt-10"
style=
"font-size: 46rpx;"
>
如何继续使用?
</text>
<text
class=
"m-10"
>
找到“
寻觅短剧”小程序
</text>
<image
class=
"mt-30"
mode=
"widthFix"
:src=
"maskImage1"
></image>
<image
:src=
"maskImage2"
mode=
"widthFix"
></image>
</view>
<z-paging
style=
"height: 100%;background-color: #f0f8ff;"
>
<view
style=
"width: 100%;height: 340rpx;
background-repeat: no-repeat;
background-size: 100%;
background-origin: border-box;
background-image: url(https://mints-web.oss-cn-beijing.aliyuncs.com/images/bg_my_top.png);"
>
<view
style=
"display: flex;flex-direction: row;align-items: center;margin:20rpx;padding-left: 10rpx;padding-top: 34rpx;"
>
<image
class=
"avatar"
src=
"@/static/logo-about.png"
></image>
<view>
<view
style=
"font-size: 32rpx;color: white;margin-left: 20rpx;"
>
用户ID:
{{
userBean
.
idcode
}}
</view>
</view>
</view>
<view
style=
"display: flex;width: 95%;height: 150rpx;background: linear-gradient(to right, #fdeedd, #f6c194);margin-left: 20rpx;margin-right: 20rpx;margin-top: 59rpx;
border-top-left-radius: 20px;
border-top-right-radius: 20px;"
>
<view
style=
"flex-grow: 2; margin-left: 20rpx;"
>
<view
style=
"width: 100%;height: 100%;display: flex;flex-direction: column;justify-content: center;"
>
<view
style=
"display: flex;align-items: center;"
>
<image
style=
"width: 50rpx;height: 50rpx;display: flex;align-items: right;margin-right: 10rpx;"
src=
"https://mints-web.oss-cn-beijing.aliyuncs.com/images/ic_my_vip.png"
></image>
<view
style=
"font-size: 36rpx;font-weight: 777;color: #5b1500;"
>
{{
userBean
.
expireTime
<=
0
?
'开通VIP会员'
:
'VIP会员'
}}
</view>
</view>
<view
v-if=
"userBean.expireTime
<
=
0
"
style=
"font-size: 28rpx;color: #5b1500;margin-top: 20rpx;"
>
解锁全部功能
</view>
<view
v-else
style=
"font-size: 28rpx;color: #5b1500;margin-top: 20rpx;"
>
<!-- 到期时间:
{{
formateTime
(
userBean
.
expireTime
*
1000
,
'yyyy-MM-dd'
)
}}
-->
到期时间:
{{
getFormatTime
(
userBean
.
expireTime
*
1000
)
}}
</view>
</view>
</view>
<view
style=
"width: 220rpx;"
>
<view
v-if=
"userBean.expireTime
<
=
0
"
style=
"width: 100%;height: 100%;display: flex;flex-direction: column;align-items: center;justify-content: center;"
>
<view
@
click=
"handleCoinPay"
style=
"width: 180rpx;height: 60rpx;background: linear-gradient(to right, #bc875e, #45250c);border-radius:30rpx;color: #fff;font-size: 26rpx;justify-content: center;align-items: center;display: flex;padding-bottom: 4rpx;"
>
去开通
</view>
</view>
</view>
</view>
</view>
<view
style=
"display: flex;height: 120rpx;margin: 20rpx;background: #fff;border-radius: 20rpx;"
>
<view
style=
"flex-grow: 2; margin-left: 20rpx;"
>
<view
style=
"width: 100%;height: 100%;display: flex;flex-direction: column;justify-content: center;"
>
<view
style=
"font-size: 28rpx;color: #5b1500;"
>
账户余额:
{{
userBean
.
point
}}
看点
</view>
</view>
</view>
<view
style=
"width: 200rpx;"
>
<view
style=
"width: 100%;height: 100%;display: flex;flex-direction: column;align-items: center;justify-content: center;"
>
<view
@
click=
"handleCoinPay"
style=
"width: 160rpx;height: 60rpx;background: linear-gradient(to right, #bc875e, #45250c);border-radius:30rpx;color: #fff;font-size: 26rpx;justify-content: center;align-items: center;display: flex;padding-bottom: 4rpx;"
>
去充值
</view>
</view>
</view>
</view>
<view
class=
"inviteClass"
>
<view
@
click=
"handleTask"
class=
"inviteItemclass"
style=
"margin-right: 10rpx"
>
<image
style=
"width: 50rpx;height: 50rpx;display: flex;align-items: right;margin-right: 10rpx;"
src=
"https://mints-web.oss-cn-beijing.aliyuncs.com/images/ic_my_task.png"
></image>
<view
style=
"font-size: 26rpx;color: black;"
>
领免费看点
</view>
</view>
<view
@
click=
"handleInvite"
class=
"inviteItemclass"
style=
"margin-left: 10rpx"
>
<image
style=
"width: 50rpx;height: 50rpx;display: flex;align-items: right;margin-right: 10rpx;"
src=
"https://mints-web.oss-cn-beijing.aliyuncs.com/images/ic_my_invite.png"
></image>
<view
style=
"font-size: 26rpx;color: black;"
>
邀请好友得看点
</view>
</view>
</view>
<view
class=
"infobg"
style=
"margin: 20rpx;"
>
<view
class=
"item arrow"
@
click=
"handlePayRecord"
>
我的订单
<view
class=
"item_bd ellipsis"
style=
"margin-left: 58rpx;"
></view>
</view>
<view
v-if=
"false"
class=
"item arrow"
@
click=
"handleCoupon"
>
优惠券
<view
class=
"item_bd ellipsis"
style=
"margin-left: 58rpx;"
></view>
</view>
<view
class=
"item arrow"
@
click=
"handleDotRecord"
>
看点记录
<view
class=
"item_bd ellipsis"
style=
"margin-left: 58rpx;"
></view>
</view>
<view
class=
"item arrow"
@
click=
"handleUseDotRecord"
>
消费记录
<view
class=
"item_bd ellipsis"
style=
"margin-left: 58rpx;"
></view>
</view>
<view
class=
"item arrow"
@
click=
"handleWatchRecord"
>
观看记录
<view
class=
"item_bd ellipsis"
style=
"margin-left: 58rpx;"
></view>
</view>
<view
class=
"item arrow"
@
click=
"handleFind"
>
兑换会员
<view
class=
"item_bd ellipsis"
style=
"margin-left: 58rpx;"
></view>
</view>
<view
class=
"item arrow"
@
click=
"handlePhone"
>
联系客服
<view
class=
"item_bd ellipsis"
style=
"margin-left: 58rpx;"
></view>
</view>
</view>
</z-paging>
<kefu-popup
:show=
"showKefuPop"
@
close=
"showKefuPop = false"
/>
</view>
</
template
>
<
script
>
import
common
from
'@/mixins/common'
;
import
{
navigateTo
,
message
,
loading
}
from
'../../utils/fun.js'
import
{
formateTime
}
from
'../../utils/utils.js'
import
kefuPopup
from
'@/components/kefu-popup/kefu-popup.vue'
;
const
app
=
getApp
();
export
default
{
name
:
'index'
,
mixins
:
[
common
],
components
:
{
kefuPopup
},
data
()
{
return
{
userBean
:
{},
showMask
:
false
,
showKefuPop
:
false
,
maskImage1
:
'https://mints-web.oss-cn-beijing.aliyuncs.com/images/bg_find1.png'
,
maskImage2
:
'https://mints-web.oss-cn-beijing.aliyuncs.com/images/bg_find2.png'
};
},
methods
:
{
show
()
{
this
.
post
({
url
:
'/user/baseMsg'
,
showLoading
:
false
,
success
:
({
data
})
=>
{
this
.
userBean
=
data
;
}
});
},
hide
()
{
},
handleTask
()
{
navigateTo
(
`/pagesA/task/task`
)
},
handleDotRecord
()
{
navigateTo
(
`/pagesD/dotRecord/dotRecord`
)
},
handleUseDotRecord
()
{
navigateTo
(
`/pagesD/useDotRecord/useDotRecord`
)
},
handleWatchRecord
()
{
navigateTo
(
`/pagesD/watchRecord/watchRecord`
)
},
handleInvite
()
{
navigateTo
(
`/pagesD/invite/invite`
)
},
handlePayRecord
()
{
navigateTo
(
`/pagesD/payRecord/payRecord`
)
},
handleCoinPay
()
{
navigateTo
(
`/pagesA/vipPay/vipPay`
)
},
handleFind
()
{
navigateTo
(
`/pagesD/cdkey/cdkey`
)
},
handlePhone
()
{
this
.
showKefuPop
=
true
},
paySuccess
(
largeType
)
{
message
.
notify
(
'支付成功'
);
this
.
post
({
url
:
'/user/baseMsg'
,
showLoading
:
false
,
success
:
({
data
})
=>
{
this
.
userBean
=
data
;
}
});
},
getFormatTime
(
time
)
{
return
formateTime
(
time
,
'yyyy-MM-dd'
)
}
}
};
</
script
>
<
style
lang=
"scss"
>
@import
'@/scss/uni.scss'
;
.body
{
height
:
100%
;
background-color
:
#f0f8ff
;
}
.inviteClass
{
display
:
flex
;
flex-direction
:
row
;
background-color
:
transparent
;
margin-left
:
20rpx
;
margin-right
:
20rpx
;
height
:
100rpx
;
justify-content
:
space-between
;
}
.inviteItemclass
{
display
:
flex
;
align-items
:
center
;
justify-content
:
center
;
width
:
50%
;
border-radius
:
15rpx
;
height
:
100rpx
;
background-color
:
#ffffff
;
}
.avatar
{
background-color
:
#d8d8d8
;
width
:
100rpx
;
height
:
100rpx
;
border-radius
:
50%
;
overflow
:
hidden
;
//box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1)
}
.show-mask
{
width
:
100%
;
height
:
100%
;
background
:
rgba
(
0
,
0
,
0
,
0
.6
);
position
:
absolute
;
z-index
:
999
;
color
:
white
;
align-items
:
center
;
image
{
width
:
90%
;
}
}
<
template
>
<view
class=
"body"
>
<view
v-if=
"showMask"
class=
"show-mask flex-v"
@
click=
"showMask=false"
>
<view
class=
"mt-30"
style=
"width: 90%;text-align: right;"
>
<image
style=
"width: 30rpx;height: 30rpx;padding:6rpx;
border-radius: 40rpx;border: 2px solid darkgray;"
src=
"@/static/index/ic_quit_white.png"
/>
</view>
<text
class=
"mt-10"
style=
"font-size: 46rpx;"
>
如何继续使用?
</text>
<text
class=
"m-10"
>
找到“
星夜剧场”小程序
</text>
<image
class=
"mt-30"
mode=
"widthFix"
:src=
"maskImage1"
></image>
<image
:src=
"maskImage2"
mode=
"widthFix"
></image>
</view>
<z-paging
style=
"height: 100%;background-color: #f0f8ff;"
>
<view
style=
"width: 100%;height: 340rpx;
background-repeat: no-repeat;
background-size: 100%;
background-origin: border-box;
background-image: url(https://mints-web.oss-cn-beijing.aliyuncs.com/images/bg_my_top.png);"
>
<view
style=
"display: flex;flex-direction: row;align-items: center;margin:20rpx;padding-left: 10rpx;padding-top: 34rpx;"
>
<image
class=
"avatar"
src=
"@/static/logo-about.png"
></image>
<view>
<view
style=
"font-size: 32rpx;color: white;margin-left: 20rpx;"
>
用户ID:
{{
userBean
.
idcode
}}
</view>
</view>
</view>
<view
style=
"display: flex;width: 95%;height: 150rpx;background: linear-gradient(to right, #fdeedd, #f6c194);margin-left: 20rpx;margin-right: 20rpx;margin-top: 59rpx;
border-top-left-radius: 20px;
border-top-right-radius: 20px;"
>
<view
style=
"flex-grow: 2; margin-left: 20rpx;"
>
<view
style=
"width: 100%;height: 100%;display: flex;flex-direction: column;justify-content: center;"
>
<view
style=
"display: flex;align-items: center;"
>
<image
style=
"width: 50rpx;height: 50rpx;display: flex;align-items: right;margin-right: 10rpx;"
src=
"https://mints-web.oss-cn-beijing.aliyuncs.com/images/ic_my_vip.png"
></image>
<view
style=
"font-size: 36rpx;font-weight: 777;color: #5b1500;"
>
{{
userBean
.
expireTime
<=
0
?
'开通VIP会员'
:
'VIP会员'
}}
</view>
</view>
<view
v-if=
"userBean.expireTime
<
=
0
"
style=
"font-size: 28rpx;color: #5b1500;margin-top: 20rpx;"
>
解锁全部功能
</view>
<view
v-else
style=
"font-size: 28rpx;color: #5b1500;margin-top: 20rpx;"
>
<!-- 到期时间:
{{
formateTime
(
userBean
.
expireTime
*
1000
,
'yyyy-MM-dd'
)
}}
-->
到期时间:
{{
getFormatTime
(
userBean
.
expireTime
*
1000
)
}}
</view>
</view>
</view>
<view
style=
"width: 220rpx;"
>
<view
v-if=
"userBean.expireTime
<
=
0
"
style=
"width: 100%;height: 100%;display: flex;flex-direction: column;align-items: center;justify-content: center;"
>
<view
@
click=
"handleCoinPay"
style=
"width: 180rpx;height: 60rpx;background: linear-gradient(to right, #bc875e, #45250c);border-radius:30rpx;color: #fff;font-size: 26rpx;justify-content: center;align-items: center;display: flex;padding-bottom: 4rpx;"
>
去开通
</view>
</view>
</view>
</view>
</view>
<view
style=
"display: flex;height: 120rpx;margin: 20rpx;background: #fff;border-radius: 20rpx;"
>
<view
style=
"flex-grow: 2; margin-left: 20rpx;"
>
<view
style=
"width: 100%;height: 100%;display: flex;flex-direction: column;justify-content: center;"
>
<view
style=
"font-size: 28rpx;color: #5b1500;"
>
账户余额:
{{
userBean
.
point
}}
看点
</view>
</view>
</view>
<view
style=
"width: 200rpx;"
>
<view
style=
"width: 100%;height: 100%;display: flex;flex-direction: column;align-items: center;justify-content: center;"
>
<view
@
click=
"handleCoinPay"
style=
"width: 160rpx;height: 60rpx;background: linear-gradient(to right, #bc875e, #45250c);border-radius:30rpx;color: #fff;font-size: 26rpx;justify-content: center;align-items: center;display: flex;padding-bottom: 4rpx;"
>
去充值
</view>
</view>
</view>
</view>
<view
class=
"inviteClass"
>
<view
@
click=
"handleTask"
class=
"inviteItemclass"
style=
"margin-right: 10rpx"
>
<image
style=
"width: 50rpx;height: 50rpx;display: flex;align-items: right;margin-right: 10rpx;"
src=
"https://mints-web.oss-cn-beijing.aliyuncs.com/images/ic_my_task.png"
></image>
<view
style=
"font-size: 26rpx;color: black;"
>
领免费看点
</view>
</view>
<view
@
click=
"handleInvite"
class=
"inviteItemclass"
style=
"margin-left: 10rpx"
>
<image
style=
"width: 50rpx;height: 50rpx;display: flex;align-items: right;margin-right: 10rpx;"
src=
"https://mints-web.oss-cn-beijing.aliyuncs.com/images/ic_my_invite.png"
></image>
<view
style=
"font-size: 26rpx;color: black;"
>
邀请好友得看点
</view>
</view>
</view>
<view
class=
"infobg"
style=
"margin: 20rpx;"
>
<view
class=
"item arrow"
@
click=
"handlePayRecord"
>
我的订单
<view
class=
"item_bd ellipsis"
style=
"margin-left: 58rpx;"
></view>
</view>
<view
v-if=
"false"
class=
"item arrow"
@
click=
"handleCoupon"
>
优惠券
<view
class=
"item_bd ellipsis"
style=
"margin-left: 58rpx;"
></view>
</view>
<view
class=
"item arrow"
@
click=
"handleDotRecord"
>
看点记录
<view
class=
"item_bd ellipsis"
style=
"margin-left: 58rpx;"
></view>
</view>
<view
class=
"item arrow"
@
click=
"handleUseDotRecord"
>
消费记录
<view
class=
"item_bd ellipsis"
style=
"margin-left: 58rpx;"
></view>
</view>
<view
class=
"item arrow"
@
click=
"handleWatchRecord"
>
观看记录
<view
class=
"item_bd ellipsis"
style=
"margin-left: 58rpx;"
></view>
</view>
<view
class=
"item arrow"
@
click=
"handleFind"
>
兑换会员
<view
class=
"item_bd ellipsis"
style=
"margin-left: 58rpx;"
></view>
</view>
<view
class=
"item arrow"
@
click=
"handlePhone"
>
联系客服
<view
class=
"item_bd ellipsis"
style=
"margin-left: 58rpx;"
></view>
</view>
</view>
</z-paging>
<kefu-popup
:show=
"showKefuPop"
@
close=
"showKefuPop = false"
/>
</view>
</
template
>
<
script
>
import
common
from
'@/mixins/common'
;
import
{
navigateTo
,
message
,
loading
}
from
'../../utils/fun.js'
import
{
formateTime
}
from
'../../utils/utils.js'
import
kefuPopup
from
'@/components/kefu-popup/kefu-popup.vue'
;
const
app
=
getApp
();
export
default
{
name
:
'index'
,
mixins
:
[
common
],
components
:
{
kefuPopup
},
data
()
{
return
{
userBean
:
{},
showMask
:
false
,
showKefuPop
:
false
,
maskImage1
:
'https://mints-web.oss-cn-beijing.aliyuncs.com/images/bg_find1.png'
,
maskImage2
:
'https://mints-web.oss-cn-beijing.aliyuncs.com/images/bg_find2.png'
};
},
methods
:
{
show
()
{
this
.
post
({
url
:
'/user/baseMsg'
,
showLoading
:
false
,
success
:
({
data
})
=>
{
this
.
userBean
=
data
;
}
});
},
hide
()
{
},
handleTask
()
{
navigateTo
(
`/pagesA/task/task`
)
},
handleDotRecord
()
{
navigateTo
(
`/pagesD/dotRecord/dotRecord`
)
},
handleUseDotRecord
()
{
navigateTo
(
`/pagesD/useDotRecord/useDotRecord`
)
},
handleWatchRecord
()
{
navigateTo
(
`/pagesD/watchRecord/watchRecord`
)
},
handleInvite
()
{
navigateTo
(
`/pagesD/invite/invite`
)
},
handlePayRecord
()
{
navigateTo
(
`/pagesD/payRecord/payRecord`
)
},
handleCoinPay
()
{
navigateTo
(
`/pagesA/vipPay/vipPay`
)
},
handleFind
()
{
navigateTo
(
`/pagesD/cdkey/cdkey`
)
},
handlePhone
()
{
this
.
showKefuPop
=
true
},
paySuccess
(
largeType
)
{
message
.
notify
(
'支付成功'
);
this
.
post
({
url
:
'/user/baseMsg'
,
showLoading
:
false
,
success
:
({
data
})
=>
{
this
.
userBean
=
data
;
}
});
},
getFormatTime
(
time
)
{
return
formateTime
(
time
,
'yyyy-MM-dd'
)
}
}
};
</
script
>
<
style
lang=
"scss"
>
@import
'@/scss/uni.scss'
;
.body
{
height
:
100%
;
background-color
:
#f0f8ff
;
}
.inviteClass
{
display
:
flex
;
flex-direction
:
row
;
background-color
:
transparent
;
margin-left
:
20rpx
;
margin-right
:
20rpx
;
height
:
100rpx
;
justify-content
:
space-between
;
}
.inviteItemclass
{
display
:
flex
;
align-items
:
center
;
justify-content
:
center
;
width
:
50%
;
border-radius
:
15rpx
;
height
:
100rpx
;
background-color
:
#ffffff
;
}
.avatar
{
background-color
:
#d8d8d8
;
width
:
100rpx
;
height
:
100rpx
;
border-radius
:
50%
;
overflow
:
hidden
;
//box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1)
}
.show-mask
{
width
:
100%
;
height
:
100%
;
background
:
rgba
(
0
,
0
,
0
,
0
.6
);
position
:
absolute
;
z-index
:
999
;
color
:
white
;
align-items
:
center
;
image
{
width
:
90%
;
}
}
</
style
>
\ No newline at end of file
vedio/pages.json
View file @
cb800588
...
...
@@ -21,7 +21,7 @@
{
"path"
:
"pages/home"
,
"style"
:
{
"navigationBarTitleText"
:
"
昼
夜剧场"
,
"navigationBarTitleText"
:
"
星
夜剧场"
,
"navigationStyle"
:
"default"
,
"navigationBarBackgroundColor"
:
"#ffffff"
,
"navigationBarTextStyle"
:
"black"
...
...
vedio/pages/loading.vue
View file @
cb800588
...
...
@@ -43,7 +43,7 @@
this
.
tips1
=
options
.
tips1
this
.
shareId
=
options
.
shareId
this
.
appName
=
'
寻觅短剧
'
this
.
appName
=
'
星夜剧场
'
},
onShow
(
options
)
{
// #ifdef MP-TOUTIAO
...
...
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