This commit is contained in:
蔡同学
2025-08-25 11:20:35 +08:00
parent 25df08ec69
commit 6df8112e7b
251 changed files with 34346 additions and 0 deletions
+335
View File
@@ -0,0 +1,335 @@
<template>
<view class="pageHeader">
<!-- 标题栏和状态栏占位符 -->
<!-- <view class="titleNview-placing"> </view> -->
<image class="pageBg" src="https://wx.yaohe.hnjrdzkj.xyz/static/wechat/shop/wechat/static/zhuiju_bg.png"></image>
<siginIn :sign_list="sign_list" :qdjl="qdjl" :tdsy="tdsy" @cksigin="cksigin" @click="getsigin"></siginIn>
<view class="pd16_15 mt16" style="position: relative;">
<view class="pd16_15 videoListBox">
<view>
<view class="flex alcenter space">
<view class="flex alcenter">
<view
class="videoListHeader"></view>
<text class="ft16 ftw600 cl-main">最近观看</text>
</view>
<navigator url="/pagesA/myCenter/watchHistory">
<view class="ft14 cl-notice">更多</view>
</navigator>
</view>
<view class="mt16 flex space" style="justify-content: start;">
<block v-for="(value,key) in newsa" :key="key" v-if="key<3">
<view class="box pb10 listItem"
@click="detail(value.vid,value.mid)">
<image class="integral-mall-goods" mode="aspectFill" :src="value.img"></image>
<view class="mt8 plr10 ft14 ftw400 text-center text-over cl-main">{{ value.vname }}</view>
</view>
</block>
</view>
</view>
<view class="mt24">
<view class="flex alcenter space">
<view class="flex alcenter">
<!-- <image style="width: 40rpx;height: 40rpx;" :src="statics.zhuico[0]"></image> -->
<view class="videoListHeader"></view>
<text class="ft16 ftw600 cl-main">我的追剧</text>
</view>
<navigator url="/pagesA/myCenter/bingeWatch">
<view class="ft14 cl-notice">更多</view>
</navigator>
</view>
<view class="mt16">
<block v-for="(value,key) in record" :key="key" v-if="key<3">
<view @click="detail(value.vid,value.mid)" style="position: relative;" class="flex alcenter mb16">
<image mode="aspectFill" class="tuan-product-l" :src="value.img"></image>
<!-- <view class="btn-mini" style="position: absolute; top: 40upx; left: 280upx; border-radius: 10upx;font-size: 18upx;width: 60upx; height: 36upx;" :style="getBtnStyle">{{value.lxname}}</view> -->
<view class="tuan-product-r pl15">
<view class="ft16 ftw600 cl-main text-over2">{{ value.vname }}</view>
<view class="mt16">
<text class="ft14 cl-orange" style="color: #31CA02;">{{ value.dqname }}</text>
</view>
<view class="mt16 flex space alcenter">
<view class="ft14 cl-notice">{{ value.mname }}</view>
<view class="btn-vip-adviser_bg">
<view class="btn-vip-adviser ml15">继续观看</view>
</view>
</view>
</view>
</view>
</block>
</view>
</view>
</view>
</view>
</view>
</template>
<script>
import siginIn from '@/components/fanxiao-sign/sigin-in.vue';
export default {
components: {
siginIn
},
data() {
return {
qdjl: 0,
tdsy: 0,
banners: [],
newsa: [],
record: [],
sign_list: []
}
},
onShow() {
this.getList();
},
methods: {
cksigin() {
this.getList();
},
getList() {
let that = this;
that.$httpRequest({
url: "/api/video/zuiju",
method: "GET",
data: {}
}).then(res => {
that.newsa = res.new
that.record = res.record
that.sign_list = res.getweek
that.qdjl = res.qdjl
that.tdsy = res.tdsy
}).catch(err => {
console.log(err)
})
},
detail(vid, mid) {
var fxpid = 1
if (uni.getStorageSync("userinfo")) {
fxpid = uni.getStorageSync("userinfo").id
}
uni.navigateTo({
url: '/pagesA/player/detailPlayer?vid=' + vid + '&mid=' + mid + '&fxpid=' + fxpid
})
},
linkTo(e) {
if (this.isLogin == false) {
this.showLogin = true;
} else {
let link = e.currentTarget.dataset.link;
uni.navigateTo({
url: link
})
}
},
exchange(e) {
if (this.isLogin == false) {
this.showLogin = true;
} else {
let id = e.currentTarget.dataset.id;
uni.navigateTo({
url: '/pages/client/integral/exchange?id=' + id
})
}
},
},
}
</script>
<style scoped>
.pageHeader {
padding-top: 80rpx;
background-color: #ffffff;
height: 100%;
}
.pageBg {
width: 750rpx;
height: 1472rpx;
position: absolute;
background-color: #ffffff;
top: 0;
}
.videoListBox {
box-shadow: 0px 0px 20upx 0px rgba(0, 0, 0, 0.2);
border-radius: 20upx;
background-color: #fff;
}
.videoListHeader {
width: 8rpx;
height: 24rpx;
background-image: linear-gradient(#B4FF23, #09D89E);
margin-right: 12rpx;
}
.listItem{
width:31%; position: relative; border-radius:20rpx;margin-right: 30rpx;
}
.home-header {
height: 300rpx;
width: 100%;
position: relative;
border-radius: 0rpx 0rpx 48rpx 48rpx;
}
.home-main {
width: 100%;
position: relative;
margin-top: -156rpx;
padding: 0 30rpx;
}
.home-mendian {
width: 100%;
height: 84rpx;
background: rgba(255, 255, 255, 0.1);
border-radius: 42rpx;
}
.integral-mall-header {
position: relative;
height: 320rpx;
}
.integral-mall-header .bg {
width: 100%;
height: 320rpx;
}
.integral-mall-header .main {
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 320rpx;
}
.swiper-integral {
height: 32rpx;
width: 100%;
}
.integral-mall-main {
position: relative;
/* margin-top: -104rpx; */
}
.integal-mall-menu {
width: 100%;
height: 190rpx;
background: #FFFFFF;
border-radius: 20rpx;
}
.integral-tuan-l {
width: 100%;
height: 280rpx;
background: #f2f2f2;
border-radius: 16rpx;
}
.integral-mall-coupon {
background: #FFFFFF;
position: relative;
border-radius: 16rpx;
overflow: hidden;
}
.integral-mall-coupon .top {
padding: 0rpx 0rpx 24rpx 0rpx;
border-bottom: 2rpx dashed #FEC675;
}
.integral-mall-coupon .y-l, .integral-mall-coupon .y-r {
width: 20rpx;
height: 20rpx;
border-radius: 10rpx;
background: #F5F6FA;
position: absolute;
z-index: 2;
top: 284rpx;
}
.integral-mall-coupon .y-l {
left: -10rpx;
}
.integral-mall-coupon .y-r {
right: -10rpx;
}
.integral-mall-coupon .coupon-value {
width: 100%;
}
.integral-mall-coupon .coupon-value image {
width: 100%;
}
.integral-mall-coupon .coupon-value .num {
width: 100%;
height: 64rpx;
display: flex;
justify-content: center;
align-items: center;
position: absolute;
left: 0;
top: 0;
}
.integral-mall-goods {
width: 100%;
height: 280rpx;
background: #F2F2F2;
border-radius: 16upx;
}
.titleNview-placing {
height: var(--status-bar-height);
padding-top: 44px;
box-sizing: content-box;
}
.tuan-product-l {
width: 150rpx;
height: 200rpx;
border-radius: 16rpx;
background: #F2F2F2;
}
.tuan-product-r {
width: calc(100% - 150rpx);
}
.btn-vip-adviser_bg {
width: 155rpx;
height: 65rpx;
border-radius: 12rpx;
background-image: linear-gradient(#ACFD28, #0AD89D);
display: flex;
align-items: center;
justify-content: center;
color: #09D89E;
}
.btn-vip-adviser {
width: 150rpx;
height: 60rpx;
border-radius: 12rpx;
display: flex;
justify-content: center;
align-items: center;
font-size: 28rpx;
/* font-weight: 600; */
background: #FFF;
margin: 0;
}
</style>
+520
View File
@@ -0,0 +1,520 @@
<template>
<view class="pagesContent">
<view class="titleNview-placing"></view>
<view class="homeTab">
<view class="homeTabBox">
<view class="homeTabContent">
<view :class="tabIndex === item.id ? 'homeTabItem active' : 'homeTabItem'"
v-for="(item, index) in tabData" :key="index" @click="tabIndex = item.id">{{ item.name }}
</view>
</view>
</view>
</view>
<view v-if="tabIndex==1" style="margin-top: 20rpx;">
<view class="home-header pd0_15 mt10">
<view class="home-mendian flex alcenter space plr15 cl-w9" style="display: none;">
<navigator style="width: calc(100% - 80rpx);" url="/pages/client/tuan/ss">
<view class="flex alcenter" style="width: calc(100% - 80rpx);">
<text class="iconfont iconsousuo ft14 mr10"></text>
<text class="text-over ft14" style="width: calc(100% - 60rpx);">请输入搜索内容</text>
</view>
</navigator>
</view>
<view class="">
<home-banner :banners="banners"></home-banner>
</view>
</view>
<view class="integral-mall-main plr15" style="margin-top: 30rpx;">
<view class="integal-mall-menu flex pt10 pb10">
<view v-if="config.site.shop_type == 1" class="col2 text-center" @click="linkTo"
data-link="/pagesA/integral/integralShop">
<view>
<image style="width: 72rpx; height: 72rpx;"
src="https://wx.yaohe.hnjrdzkj.xyz/static/wechat/shop/wechat/static/integral.png">
</image>
</view>
<view class="ft12 ftw500">积分商城</view>
</view>
<view class="col2 text-center" @click="linkTo" data-link="/pagesA/player/ranking">
<view>
<image style="width: 72rpx; height: 72rpx;"
src="https://wx.yaohe.hnjrdzkj.xyz/static/wechat/shop/wechat/static/Ranking.png">
</image>
</view>
<view class="ft12 ftw500">排行</view>
</view>
<view class="col2 text-center" @click="linkTo" data-link="/pagesA/myCenter/bingeWatch">
<view>
<image style="width: 72rpx; height: 72rpx;"
src="https://wx.yaohe.hnjrdzkj.xyz/static/wechat/shop/wechat/static/chase.png"></image>
</view>
<view class="ft12 ftw500">追剧</view>
</view>
<view class="col2 text-center" @click="linkTo" data-link="/pagesA/player/news">
<view>
<image style="width: 72rpx; height: 72rpx;"
src="https://wx.yaohe.hnjrdzkj.xyz/static/wechat/shop/wechat/static/Latest.png"></image>
</view>
<view class="ft12 ftw500">最新</view>
</view>
<!-- /pages/client/integral/role -->
<!-- <view class="col2 text-center" @click="linkTo" data-link="/pagesA/player/free">-->
<!-- <view>-->
<!-- <image style="width: 72rpx; height: 72rpx;" src="https://wx.yaohe.hnjrdzkj.xyz/static/wechat/shop/wechat/static/Free.png"></image>-->
<!-- </view>-->
<!-- <view class="ft12 ftw500">免费</view>-->
<!-- </view>-->
</view>
<view class="mt24" v-if="hotdata[1]">
<view class="flex alcenter space">
<view class="flex alcenter">
<text class="ft16 ftw600 cl-main ml15" style="margin-left: 0;margin-right: 8rpx;">热门短剧
</text>
</view>
<view @click="huanyihuan()" class="ft14 cl-notice flex alcenter">
<image style="width: 28rpx;height: 28rpx;"
src="https://wx.yaohe.hnjrdzkj.xyz/static/wechat/shop/wechat/static/swapwith.png">
</image>
换一换
</view>
</view>
<view class="mt16 flex space" style="justify-content: start;">
<block v-for="(value,key) in hotdata" :key="key" v-if="key>=hyh && key<hyh+3">
<view class=" pb10"
style="width:30%; position: relative; border-radius:20rpx;margin-right: 30rpx;"
@click="detail(value)">
<image class="integral-mall-goods" mode="scaleToFill" :src="value.img"></image>
<view class=" ft14 ftw500 text-over cl-main">{{ value.name }}</view>
<view class=" ft10 cl-999 ftw500 text-over cl-main">{{ value.text }}</view>
</view>
</block>
</view>
</view>
<view class="mt24" v-if="givedata[3]">
<view class="flex alcenter space">
<view class="flex alcenter">
<image style="width: 28rpx;height: 28rpx;"
src="https://wx.yaohe.hnjrdzkj.xyz/static/wechat/shop/wechat/static/paihang.png">
</image>
<text class="ft16 ftw600 cl-main">排行榜</text>
</view>
<view class="ft14 cl-notice">每周热剧TOP3</view>
</view>
<view class="mt16 flex space">
<block v-for="(value,key) in givedata" :key="key" v-if="key<3">
<view class="integral-mall-coupon" style="width: 30%; margin-right: 30rpx;"
@click="detail(value)">
<view class="top">
<view class="flex center">
<view class="coupon-value">
<image class="integral-tuan-l" style="height: 280upx;" mode="scaleToFill"
:src="value.img"></image>
<view class=" ft14 ftw500 text-over cl-main">{{ value.name }}</view>
<view class=" ft10 cl-999 ftw500 text-over cl-main">{{ value.text }}</view>
</view>
</view>
</view>
</view>
</block>
</view>
</view>
<view class="mt24" v-if="freedata[1]">
<view class="flex alcenter space">
<view class="flex alcenter">
<text class="ft16 ftw600 cl-main" style="margin-left: 20rpx;margin-right: 8rpx;">最新热播</text>
</view>
<view @click="huanyihuan()" class="ft14 cl-notice">大家都在看的热播好剧</view>
</view>
<view class="mt16 scrollView">
<block v-for="(value,key) in freedata" :key="key">
<view class=" pb10"
style="width:207rpx; display: inline-block; border-radius:20rpx;margin-right: 30rpx;"
@click="detail(value)">
<image class="integral-mall-goods" mode="scaleToFill" :src="value.img"></image>
<view class=" ft14 ftw500 text-over cl-main">{{ value.name }}</view>
<view class=" ft10 ftw500 cl-999 text-over cl-main">{{ value.text }}</view>
</view>
</block>
</view>
</view>
</view>
<home-default :datasa="datasa"></home-default>
</view>
<view v-if="tabIndex==2">
<home-jqjs :datasa="listjq"></home-jqjs>
</view>
<view v-if="tabIndex==3" class="flex space pd10_15" style="display:flex; flex-wrap:wrap;">
<block v-for="(value,key) in listbz" :key="key">
<view style="width: 49%; margin-bottom: 20upx;">
<image style="height: 500upx; width: 100%; border-radius: 18upx;" mode="aspectFill"
:src="value.img"></image>
</view>
</block>
</view>
</view>
</template>
<script>
import login from "@/utils/login";
export default {
data() {
return {
config: null,
tabData: [{
name: '推荐短剧',
id: 1
},
{
name: '剧情介绍',
id: 2
},
{
name: '剧情壁纸',
id: 3
}
],
banners: [],
tabIndex: 1,
listbz: [],
listjq: [],
datasa: [],
hotdata: [],
givedata: [],
freedata: [],
hyh: 0,
pages: {
allPages: 1,
currentPage: 1,
pageSize: 15
}
};
},
onLoad(e) {
// #ifdef MP-WEIXIN
if (!uni.getStorageSync("userinfo").token) {
login.wxLogin()
}
// #endif
},
onShow() {
this.pages.allPages = 1;
this.pages.currentPage = 1;
this.getPageData();
this.getVideoList();
},
onReachBottom() {
if (this.pages.allPages >= this.pages.currentPage) {
this.getVideoList()
}
},
methods: {
huanyihuan() {
if (this.hyh < 12) {
this.hyh = this.hyh + 3
}
if (this.hyh >= 12) {
this.hyh = 0
}
},
getPageData() {
let that = this;
that.$httpRequest({
url: '/api/video/indexdata',
method: 'GET',
data: {},
isLoading: true,
}).then(res => {
if (res.config.name) {
uni.setNavigationBarTitle({
title: res.config.name
});
}
uni.setStorageSync("config", res.config)
this.config = res.config;
this.banners = res.config.banner
this.listbz = res.listbz
this.listjq = res.listjq
// this.datasa = res.new
this.hotdata = res.hotdata
this.givedata = res.givedata
this.freedata = res.freedata;
}).catch(err => {
console.log(err)
})
},
getVideoList() {
let that = this;
that.$httpRequest({
url: '/api/video/lists',
method: 'GET',
data: {
page: that.pages.currentPage,
limit: that.pages.pageSize
},
isLoading: true,
}).then(res => {
if (res.rows.length > 0) {
if (that.pages.currentPage === 1) {
that.datasa = res.rows;
that.pages.allPages = Math.ceil(res.total / that.pages.pageSize)
} else {
that.datasa = that.datasa.concat(res.rows);
}
this.pages.currentPage += 1;
}
}).catch(err => {
console.log(err)
})
},
detail(item) {
console.log('go item detail')
console.log(item);
var fxpid = 1
if (uni.getStorageSync("userinfo")) {
fxpid = uni.getStorageSync("userinfo").id
}
uni.navigateTo({
url: '/pagesA/player/detailPlayer?vid=' + item.id + '&mid=0' + '&fxpid=' + fxpid +
"&start_free=" + item.wechat_start + "&end_free=" + item.wechat_end
})
},
linkTo(e) {
let link = e.currentTarget.dataset.link;
uni.navigateTo({
url: link
})
},
def() {
let that = this;
that.$httpRequest({
url: "",
method: "GET",
data: {}
}).then(res => {
}).catch(err => {
console.log(err)
})
}
},
onShareAppMessage() {},
// onShareTimeline(){},
}
</script>
<style lang="scss" scoped>
.pagesContent {
// background-image: url(https://wx.yaohe.hnjrdzkj.xyz/static/wechat/static/index_bg.png);
background-image: url(https://wx.yaohe.hnjrdzkj.xyz/static/wechat/shop/wechat/static/home_bg.png);
background-size: 750rpx 642rpx;
background-repeat: no-repeat;
background-color: #F2F5F8;
min-height: 100vh;
min-width: 100vw;
}
.titleNview-placing {
height: var(--status-bar-height);
padding-top: 68rpx;
box-sizing: content-box;
}
.homeTab {
height: 80rpx;
padding: 14rpx 30rpx 0rpx 32rpx;
}
.homeTabBox {
height: 60rpx;
overflow: hidden;
.homeTabContent {
height: 70rpx;
overflow: hidden;
overflow-y: auto;
.homeTabItem {
line-height: 60rpx;
font-size: 28rpx;
font-weight: 600;
margin-right: 60rpx;
display: inline-block;
}
.active {
color: #FF6600;
}
}
}
.home-header {
/* height: 300rpx; */
width: 100%;
// position: relative;
border-radius: 0rpx 0rpx 48rpx 48rpx;
}
.home-main {
width: 100%;
position: relative;
margin-top: -156rpx;
padding: 0 30rpx;
}
.home-mendian {
width: 100%;
height: 84rpx;
background: rgba(255, 255, 255, 0.1);
border-radius: 42rpx;
}
.integral-mall-header {
position: relative;
height: 320rpx;
}
.integral-mall-header .bg {
width: 100%;
height: 320rpx;
}
.integral-mall-header .main {
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 320rpx;
}
.swiper-integral {
height: 32rpx;
width: 100%;
}
.integral-mall-main {
position: relative;
/* margin-top: -104rpx; */
}
.integal-mall-menu {
width: 100%;
// height: 190rpx;
// background: #FFFFFF;
border-radius: 20rpx;
}
.integral-tuan-l {
width: 100%;
height: 280rpx;
background: #f2f2f2;
border-radius: 16rpx;
}
.integral-mall-coupon {
// background: #FFFFFF;
position: relative;
border-radius: 16rpx;
overflow: hidden;
}
.integral-mall-coupon .top {
padding: 0rpx 0rpx 24rpx 0rpx;
// border-bottom: 2rpx dashed #FEC675;
}
.integral-mall-coupon .y-l,
.integral-mall-coupon .y-r {
width: 20rpx;
height: 20rpx;
border-radius: 10rpx;
background: #F5F6FA;
position: absolute;
z-index: 2;
top: 284rpx;
}
.integral-mall-coupon .y-l {
left: -10rpx;
}
.integral-mall-coupon .y-r {
right: -10rpx;
}
.integral-mall-coupon .coupon-value {
width: 100%;
}
.integral-mall-coupon .coupon-value image {
width: 100%;
}
.integral-mall-coupon .coupon-value .num {
width: 100%;
height: 64rpx;
display: flex;
justify-content: center;
align-items: center;
position: absolute;
left: 0;
top: 0;
}
.integral-mall-goods {
min-width: 206rpx;
width: 100%;
height: 280rpx;
background: #F2F2F2;
border-radius: 16upx;
}
.titleNview-placing {
height: var(--status-bar-height);
padding-top: 68rpx;
box-sizing: content-box;
}
.scrollView {
display: flex;
align-items: center;
flex-wrap: nowrap;
min-width: 100%;
overflow: hidden;
overflow-x: auto;
}
</style>
+640
View File
@@ -0,0 +1,640 @@
<template>
<view>
<view class="pageBg">
<view class="userHeader" @click="goUsers">
<view class="userCont">
<image class="userImg" :src="userInfo.avatar" mode="aspectFit" ></image>
<view class="userDel">
<view class="userName"><text>{{ userInfo.nickname || '暂未登录' }}</text></view>
<view class="userId"><text
v-if="userInfo.id">ID:</text><text>{{ userInfo.id || '点击登录 享受更多会员特惠' }}</text></view>
</view>
</view>
<uni-icons type="right" size="16px" color="#999999"></uni-icons>
</view>
<!-- <view class="moneyBanner">
<view>
<view class="moneyLeft">
<view>
<image class="beansIcon" src="https://wx.yaohe.hnjrdzkj.xyz/static/wechat/static/jindou1.png">
</image>
<text class="beansNum" @click="goBill">我的金豆:{{ userInfo.beans || '0' }}</text>
</view>
<view class="unlock">获得金豆可解锁更多剧情</view>
</view>
<view class="moneyRight" @click="rechargeapi"> 去充值</view>
</view>
</view> -->
<!--
<view class="vipbox">
<view class="vipimg">
<image style="height: 156rpx;width: 678rpx;" src="https://wx.yaohe.hnjrdzkj.xyz/static/wechat/shop/wechat/static/vip_bg.png" mode=""></image>
<view class="viptext">
<view class="title" >开通VIP</view>
<view class="text">开通后解锁更多剧情</view>
</view>
<view class="vipgo" @click="liberalvip()">
<image style="width: 196rpx;height: 72rpx;" src="https://wx.yaohe.hnjrdzkj.xyz/static/wechat/shop/wechat/static/vip_go.png" mode="">
<view class="liberal">立即开通</view>
</image>
</view>
</view>
</view> -->
<view class="tabBarList" style="margin-top: 40rpx;">
<view class="barBox">
<view class="barItem" @click="rechargeapi">
<image class="barIcon" style="width: 72rpx;height: 72rpx;"
src="https://wx.yaohe.hnjrdzkj.xyz/static/wechat/static/qianbao.png" mode="scaleToFill">
</image>
<view class="barName">金豆充值</view>
</view>
<view class="barItem" @click="goEarning" v-if="config.site.shop_type == 1">
<image class="barIcon" style="width: 72rpx;height: 72rpx;"
src="https://wx.yaohe.hnjrdzkj.xyz/static/wechat/static/qianbao.png" mode="scaleToFill">
</image>
<view class="barName">积分商城</view>
</view>
<view class="barItem" @click="shareapi">
<image class="barIcon" style="width: 72rpx;height: 72rpx;"
src="https://wx.yaohe.hnjrdzkj.xyz/static/wechat/static/erweima.png" mode="scaleToFill">
</image>
<view class="barName">客服二维码</view>
</view>
<!-- #ifdef APP-PLUS || H5 -->
<view class="barItem" @click="shareapp">
<image class="barIcon" style="width: 72rpx;height: 72rpx;"
src="https://wx.yaohe.hnjrdzkj.xyz/static/wechat/static/fenx.png" mode="scaleToFill"></image>
<view class="barName"> 分享</view>
</view>
<!-- #endif -->
<!-- #ifdef MP-WEIXIN -->
<view class="barItem wxShareBtn">
<button open-type="share" class="wxShareBtn">
<image class="barIcon" style="width: 72rpx;height: 72rpx;"
src="https://wx.yaohe.hnjrdzkj.xyz/static/wechat/static/fenx.png" mode="scaleToFill">
</image>
<view class="barName"> 分享</view>
</button>
</view>
<!-- #endif -->
<!-- <view class="barItem" @click="showVip">-->
<!-- <view class="vipBox">-->
<!-- <image class="VIPIcon" src="@/static/VIP.png" mode="scaleToFill"></image>-->
<!-- </view>-->
<!-- <view class="barName"> VIP兑换</view>-->
<!-- </view>-->
</view>
</view>
</view>
<!-- <view style="width: 100%; height: 30upx;"></view>
<home-vipcard :userinfo="userinfo" @loginAct="showLoginAct" @qrcode="showQrcode = true"></home-vipcard> -->
<view class="mt24" style="padding: 0 30rpx;">
<home-banner :banners="banners"></home-banner>
</view>
<view class="userFooterList">
<view class="userFooterItem" v-for="(item,index) in getMenus" :key="index" @click="memberLinkTo(item.link)">
<image class="fimg" :src="item.icon" mode="scaleToFill"></image>
<text class="fname">{{ item.name }}</text>
</view>
</view>
<!-- <com-footer model="member"></com-footer> -->
<redeem ref="vipPup"></redeem>
</view>
</template>
<script>
import redeem from "@/components/redeemVIP.vue"; //vip卡密兑换
export default {
components: {
redeem
},
data() {
return {
config:uni.getStorageSync('config'),
isLogin: false,
showLogin: false,
isBirthday: true,
showBirthday: false,
showQrcode: false,
userInfo: {},
banners: [],
vipLevel: 0,
configUrl: this.$config.webUrl,
memberMenus: [{
name: '观看历史',
type: 'link',
model: '',
link: '/pagesA/myCenter/watchHistory',
icon: this.$config.staticUrl + 'vipcard_icon_my_card@2x.png',
show: 1
},
{
name: '我的追剧',
type: 'link',
model: '',
link: '/pagesA/myCenter/bingeWatch',
icon: this.$config.staticUrl + 'vipcard_icon_my_order@2x.png',
show: 1
},
{
name: '我的喜欢',
type: 'link',
model: '',
link: '/pagesA/myCenter/myLike',
icon: this.$config.staticUrl + 'vipcard_love.png?v=1',
show: 1
},
{
name: '收货地址',
type: 'link',
model: '',
link: '/pages/client/member/address',
icon: this.$config.staticUrl + 'vipcard_icon_my_address@2x.png',
show: 0
},
{
name: '官方商城',
type: 'link',
model: '',
link: '/pages/client/shop',
icon: this.$config.staticUrl + 'vipcard_icon_my_integral@2x.png',
show: 0
},
{
name: '联系客服',
type: 'link',
model: '',
link: '/pagesA/servers/callServer',
icon: this.$config.staticUrl + 'vipcard_icon_my_advise@2x.png',
show: 1
},
{name:'我的团队',type:'link',model:'',link:'/pages/client/member/myTeam',icon:this.$config.staticUrl + 'vipcard_icon_my_invite@2x.png',show:3},
//{name:'我的邀请码',type:'link',model:'',link:'/pages/client/member/qrshare',icon:this.$config.staticUrl + 'vipcard_icon_my_invite@2x.png',show:3},
// {name:'分销订单',type:'link',model:'',link:'/pages/client/vipcard/fxlog',icon:this.$config.staticUrl + 'vipcard_icon_my_integral@2x.png',show:3},
],
}
},
computed: {
getMenus() {
let arr = new Array;
for (var a in this.memberMenus) {
if (this.memberMenus[a].show == 1 || (this.iskq == 1 && this.memberMenus[a].show == 3)) {
arr.push(this.memberMenus[a]);
}
}
return arr;
}
},
onLoad(option) {
this.userInfo = uni.getStorageSync("userinfo")
},
onShow() {
this.config=uni.getStorageSync('config');
if (uni.getStorageSync("userinfo").token) {
this.ongrzlTap();
}
this.banners = uni.getStorageSync("config").banner
},
onShareAppMessage: function(res) {
// #ifdef MP-WEIXIN
var href = `/pages/tabs/my?fxpid=${this.uid}&invite=${this.userInfo.invite}`
let that = this;
const obj = {
title: "发送给好友",
imageUrl: '',
path: href,
success: function(res) {
console.log(res, "转发成功")
},
fail: function(res) {
wx.showToast({
title: '发送失败',
icon: 'none'
})
}
}
return obj
// #endif
// #ifdef H5
uni.setClipboardData({
data: this.$config.webUrl + `/h5/?fxpid=${this.uid}&invite=${this.userInfo.invite}`,
complete() {
uni.showToast({
title: "分享连接已复制到剪贴板"
})
}
})
// #endif
},
methods: {
goBill() { //消费明细
uni.navigateTo({ //钱包
url: 'pagesA/myCenter/recharge'
})
},
goEarning() { //收益
uni.navigateTo({
// url: '/pagesA/myCenter/wallet/earning',
url: '/pagesA/integral/integralShop'
})
},
shareapp() {
console.log('2222', this.userInfo.invite)
// #ifdef H5
let invite = this.userInfo.invite ? this.userInfo.invite : "";
uni.setClipboardData({
data: this.configs.webUrl + `/h5/#/?fxpid=${this.uid}&invite=${invite}`,
complete() {
uni.showToast({
title: "分享连接已复制到剪贴板"
})
}
})
// #endif
// #ifdef MP-WEIXIN
uni.share({
provider: 'weixin',
type: 0,
title: '玛薇剧场',
imageUrl: 'https://wx.yaohe.hnjrdzkj.xyz/h5/img/share.png',
path: `pages/tabs/my?invite=${this.userInfo.invite}`,
success(res) {
},
fail(res) {
}
})
// #endif
},
rechargeapi() {
uni.navigateTo({
url: '/pagesA/myCenter/recharge'
})
},
shareapi() {
uni.navigateTo({
url: '/pagesA/servers/servesQR'
})
},
goUsers() {
if (this.userInfo.token) {
uni.navigateTo({
url: '/pagesA/myCenter/settings/set'
})
} else {
uni.navigateTo({
url: '/pagesA/login/login'
})
}
},
ongrzlTap() {
let that = this;
that.$httpRequest({
url: "/api/user/index",
method: "GET",
data: {}
}).then(res => {
if (res.code == 1) {
that.userInfo = res.data;
uni.setStorageSync("userinfo", res.data);
uni.setStorageSync("config", res.data.config);
}
}).catch(err => {
console.log(err)
})
},
memberLinkTo(e) {
// uni.navigateTo({
// url: e
// })
if (this.userInfo.token) {
uni.navigateTo({
url: e
})
} else {
uni.navigateTo({
url: '/pagesA/login/login'
})
}
// let index = parseInt(e.currentTarget.dataset.index);
// if (!this.userInfo.token && this.getMenus[index].model != 'integral') {
// this.showLogin = true;
// } else {
// if (this.getMenus[index].link != '') {
// if (this.getMenus[index].model == 'integral') {
// uni.redirectTo({
// url: this.getMenus[index].link
// })
// } else {
// uni.navigateTo({
// url: this.getMenus[index].link
// })
// }
// }
// }
},
birthdayAct() {
if (this.isBirthday) {
uni.navigateTo({
url: '/pages/client/member/birthday'
})
} else {
uni.navigateTo({
url: '/pages/client/member/info'
})
}
},
showLoginAct() {
uni.navigateTo({
url: '/pages/login/login'
})
},
showVip() {
this.$refs.vipPup.showRedeem()
},
liberalvip(){
uni.navigateTo({
url: '/pagesA/VIP/VIP'
})
},
}
}
</script>
<style scoped>
.pageBg {
background-image: url('https://wx.yaohe.hnjrdzkj.xyz/static/wechat/static/mybgc.png');
/* background-image: url(@/static/my/my_bg.png); */
background-repeat: no-repeat;
background-size: 750rpx 440rpx;
width: 750rpx;
/* height: 705rpx; */
padding-top: 120rpx;
padding-left: 32rpx;
padding-right: 32rpx;
position: relative;
background-color: #F8F8F8;
}
.userHeader {
display: flex;
align-items: center;
flex-direction: row;
justify-content: space-between;
padding: 0 32rpx;
}
.userCont {
display: flex;
align-items: center;
flex-direction: row;
justify-content: space-between;
}
.userDel {
margin-left: 20rpx;
}
.userImg {
height: 80rpx;
width: 80rpx;
border-radius: 50%;
border: 6rpx solid #FFFFFF;
background: #FFFFFF;
box-shadow: 0rpx 24rpx 48rpx 0rpx rgba(197, 202, 219, 0.3);
}
.userName {
font-size: 32rpx;
color: #2E2F33;
}
.userId {
color: #AEB2C1;
font-size: 24rpx;
margin-top: 12rpx;
}
.vipIcon {
margin-left: 20rpx;
width: 82rpx;
height: 33rpx;
vertical-align: middle;
}
.moneyBanner {
background-image: url('https://wx.yaohe.hnjrdzkj.xyz/static/wechat/static/myjian.png');
background-size: 686rpx 188rpx;
width: 686rpx;
height: 188rpx;
margin-top: 44rpx;
padding: 50rpx 56rpx;
color: #fff;
}
.moneyLeft,
.moneyRight {
display: inline-block;
}
.beansIcon {
width: 44rpx;
height: 44rpx;
vertical-align: middle;
}
.beansNum {
font-size: 32rpx;
font-weight: 600;
}
.unlock {
font-size: 22rpx;
color: #999;
}
/* .moneyRight {
display: inline-block;
width: 172rpx;
height: 72rpx;
background: linear-gradient(180deg, #FFFB25 0%, #00CB92 100%);
border-radius: 38rpx;
border-image: linear-gradient(180deg, rgba(251, 250, 38, 1), rgba(178, 255, 194, 1)) 2 2;
float: right;
font-size: 32rpx;
color: #fff;
text-align: center;
line-height: 72rpx;
font-weight: 600;
} */
.tabBarList {
height: 180rpx;
width: 678rpx;
color: #fff;
background-color: #FFFFFF;
border-radius: 16rpx;
display: flex;
justify-content: center;
align-items: center;
}
.barBox {
display: flex;
align-items: center;
justify-content: space-around;
flex: 1;
}
.barItem {
/* flex: 1; */
text-align: center;
}
.vipBox {
width: 86rpx;
height: 86rpx;
margin: 0 auto;
background: linear-gradient(to bottom, #fa6f02, #FFFFFF);
display: flex;
align-items: center;
justify-content: center;
border-radius: 38rpx;
}
.VIPIcon {
width: 40rpx;
height: 40rpx;
}
.wxShareBtn {
background: none;
border: none;
margin: 0;
padding: 0;
}
.wxShareBtn .barName {
line-height: 30rpx;
margin-top: -20rpx;
}
.barIcon {
width: 88rpx;
height: 88rpx;
}
.barName {
font-size: 28rpx;
color: #000;
text-align: center;
}
.userFooterList {
display: flex;
flex-direction: row;
justify-content: space-around;
flex-wrap: wrap;
margin-top: 60rpx;
}
.userFooterItem {
width: calc(50% - 76rpx);
display: flex;
align-items: center;
flex-direction: row;
justify-content: center;
height: 100rpx;
margin-bottom: 30rpx;
background-color: #fff;
border-radius: 12rpx;
}
.fimg {
width: 64rpx;
height: 64rpx;
}
.fname {
font-size: 28rpx;
padding-left: 30rpx;
}
.vipbox {
margin-top: 46rpx;
position: relative;
margin-bottom: 24rpx;
}
.viptext {
position: absolute;
top: 38rpx;
left: 128rpx;
}
.title {
font-family: PingFangSC, PingFang SC;
font-weight: 500;
font-size: 32rpx;
color: #FFFFFF;
line-height: 44rpx;
text-align: left;
font-style: normal;
}
.text {
font-family: PingFang-SC, PingFang-SC;
font-weight: 500;
font-size: 22rpx;
color: #9EA9CD;
line-height: 32rpx;
text-align: left;
font-style: normal;
}
.vipgo {
position: absolute;
top: 50rpx;
left: 428rpx;
}
.liberal {
position: absolute;
top: 16rpx;
left: 40rpx;
font-family: PingFangSC, PingFang SC;
font-weight: 500;
font-size: 28rpx;
color: #FFFFFF;
line-height: 40rpx;
text-align: left;
font-style: normal;
}
</style>
+356
View File
@@ -0,0 +1,356 @@
<template>
<view class="pages">
<!-- <swiper class="swiper" :current="swiperCurrent" :indicator-dots="false" :autoplay="false" :vertical="true"-->
<!-- :duration="50" @change="currentChange" :style="{height:winHeight} ">-->
<!-- <swiper-item class="swiperItem" v-for="(videoItem,videoIndex) in videoListData" :key="videoItem._id">-->
<!-- <view class="swiperItemContent">-->
<!-- <view class="payVideo" v-if="videoIndex == swiperCurrent">-->
<!-- &lt;!&ndash; #ifdef APP || H5 &ndash;&gt;-->
<!-- <video class="video"-->
<!-- v-if="videoItem.src"-->
<!-- :id="videoItem._id"-->
<!-- :poster="videoItem.img"-->
<!-- :autoplay="true"-->
<!-- object-fit="contain"-->
<!-- @ended="videoPlayerEnded"-->
<!-- @loadedmetadata="loadedmetadata"-->
<!-- :src="videoItem.src"></video>-->
<!-- &lt;!&ndash; #endif &ndash;&gt;-->
<!-- &lt;!&ndash; #ifdef MP-WEIXIN &ndash;&gt;-->
<!-- <video class="video"-->
<!-- v-if="videoItem.media_link"-->
<!-- :id="videoItem._id"-->
<!-- :poster="videoItem.img"-->
<!-- :autoplay="true"-->
<!-- object-fit="contain"-->
<!-- @ended="videoPlayerEnded"-->
<!-- @loadedmetadata="loadedmetadata"-->
<!-- :src="videoItem.media_link"></video>-->
<!-- &lt;!&ndash; #endif &ndash;&gt;-->
<!-- </view>-->
<!-- <view class="rightBtnList" v-if="videoIndex == swiperCurrent && videoItem.pays == 2">-->
<!-- <view class="btnItem" @click="userChangeLike(videoItem)" v-if="userInfo.id">-->
<!-- <image class="videoBtnImg" v-if="videoItem.like=='2'" src="https://wxtietong.hnjrdzkj.xyz/static/wechat/static/aixinRed.png"-->
<!-- mode="scaleToFill"></image>-->
<!-- <image class="videoBtnImg" v-else src="https://wxtietong.hnjrdzkj.xyz/static/wechat/static/aixin.png"-->
<!-- mode="scaleToFill"></image>-->
<!-- <view class="btnText">{{videoItem.like_n>0?videoItem.like_n:'0'}}</view>-->
<!-- </view>-->
<!-- <view class="btnItem" @click="userChangeStar(videoItem)" v-if="userInfo.id">-->
<!-- <image class="videoBtnImg" v-if="playVideoDetail.iszj=='2'" src="https://wxtietong.hnjrdzkj.xyz/static/wechat/static/scRed.png"-->
<!-- mode="scaleToFill"></image>-->
<!-- <image class="videoBtnImg" v-else src="https://wxtietong.hnjrdzkj.xyz/static/wechat/static/sc.png"-->
<!-- mode="scaleToFill"></image>-->
<!-- <view class="btnTextRed" v-if="playVideoDetail.iszj=='2'">已追</view>-->
<!-- <view class="btnText" v-else>追剧</view>-->
<!-- </view>-->
<!-- &lt;!&ndash; #ifdef H5 &ndash;&gt;-->
<!-- <view class="btnItem" @click="copyShareLink(videoItem)" v-if="userInfo.id">-->
<!-- <image class="videoBtnImg" src="https://wxtietong.hnjrdzkj.xyz/static/wechat/icon/video_share_icon.png" mode=""></image>-->
<!-- <view class="btnText">分享</view>-->
<!-- </view>-->
<!-- &lt;!&ndash; #endif &ndash;&gt;-->
<!-- </view>-->
<!-- <view class="videoFooter" v-if="videoIndex == swiperCurrent && playVideoDetail.id" @click="showChoice">-->
<!-- <view class="videoName">-->
<!-- <image class="footerTv" src="https://wxtietong.hnjrdzkj.xyz/static/wechat/static/video.png" mode="scaleToFill"></image>-->
<!-- <text class="footerTvText">{{playVideoDetail.name}} · 当前第1集/全{{playVideoDetail.sum}}集</text>-->
<!-- </view>-->
<!-- <view class="choiceVideo">-->
<!-- <text class="choiceVideoTexts">选集</text>-->
<!-- <uni-icons size="12" type="right" color="#ffffff"></uni-icons>-->
<!-- </view>-->
<!-- </view>-->
<!-- </view>-->
<!-- </swiper-item>-->
<!-- </swiper>-->
<drama-feed-list
id="drama-feed-list"
autoplay
@watchFullDrama="goPlayer"
></drama-feed-list>
<!-- <selectVideo ref="choiceVideoPup" @choiceVideoItem="changePlaying" :play-video-info="playVideoDetail"-->
<!-- :video-info="videoInfo">-->
<!-- </selectVideo>-->
</view>
</template>
<script>
import selectVideo from "@/components/select/video.vue"
import {httpRequest} from "@/utils/request";
export default {
components: {
selectVideo
},
data() {
return {
page: {
pageSize: 50,
currentPage: 1,
isNextPage: true,
},
userInfo: {},
swiperCurrent: 0,
playVideoDetail: {}, //
videoListData: [], //剧集列表
videoInfo: {},
swiperData: [], //
videoId: '',
imageUrl: "",
searchBarTop:0,
searchBarHeight:0,
winHeight: '800px',
pupHeight: "400px",
onPlayVideo: null,
appid:""
};
},
onLoad(e) {
this.appid = this.$config.mini_appid;
this.userinfo = uni.getStorageSync("userinfo");
this.getPageDefault();
},
onShow() {
this.page={
pageSize: 50,
currentPage: 1,
isNextPage: true,
}
this.videoListData=[];
// this.getVideoList()
},
methods: {
// 获取页面宽高数据& 系统信息
getPageDefault() {
console.log(this.system, uni.getSystemInfoSync())
// #ifdef MP-WEIXIN || MP-TOUTIAO
let menuButtonInfo = uni.getMenuButtonBoundingClientRect();
this.searchBarTop = menuButtonInfo.top;
this.searchBarHeight = menuButtonInfo.height;
// #endif
this.winHeight = uni.getWindowInfo().windowHeight+"px";
console.log(uni.getWindowInfo().windowHeight+"px")
this.pupHeight =( uni.getWindowInfo().windowHeight - 40 )+ "px";
uni.getSystemInfo({
success: res => {
this.safeArea = res.safeAreaInsets.bottom;
}
})
},
goPlayer(item) {
let that = this;
that.$httpRequest({
url: "/api/video/dramaIdToVideoId",
method: "GET",
data: {
drama_id: item.detail.dramaId,
no: 1
}
}).then(res => {
console.log(res)
// uni.navigateTo({url: "/pages/video/videoDetail?id="+res.data.data.drama_vid})
uni.navigateTo({url:'/pagesA/player/detailPlayer?vid='+res.data.drama_vid+'&mid='+res.data.id})
}).catch(err => {
console.log(err)
})
// uni.navigateTo({url:'/pagesA/player/detailPlayer?vid='+this.videoInfo.id+'&fxpid='+val.fxpid+'&mid='+val.mid+'&num='+val.weigh})
},
},
};
</script>
<style scoped lang="scss">
.pages {
background: #000000;
height: 100vh;
}
.header {
width: 750rpx;
display: flex;
align-items: center;
flex-direction: row;
justify-content: space-between;
position: absolute;
top: 0;
z-index: 99;
}
.swiper {
width: 750rpx;
flex: 1;
}
.swiperItem{
flex: 1;
}
.swiperItemContent {
position: relative;
width: 750rpx;
flex: 1;
display: flex;
flex-direction: column;
}
.payVideo {
width: 750rpx;
display: flex;
flex-direction: column;
flex: 1;
.video {
width: 750rpx;
flex: 1;
}
}
.rightBtnList {
position: absolute;
right: 34rpx;
top: 600rpx;
width: 100rpx;
text-align: center;
z-index: 99;
.btnItem {
margin-top: 40rpx;
/* #ifdef MP-WEIXIN || H5 */
background: none;
/* #endif */
text-align: center;
.videoBtnImg {
width: 64rpx;
height: 64rpx;
margin: 0 auto;
}
.btnText {
color: #FFFFFF;
text-align: center;
font-weight: bold;
font-size: 24rpx;
}
.btnTextRed {
color: red;
}
.wxClickBtn {
/* #ifdef MP-WEIXIN || H5 */
border: none;
background: none;
/* #endif */
width: 100rpx;
opacity: 0;
height: 100rpx;
position: relative;
top: -100rpx;
left: 0;
}
}
}
.choiceTitleLine {
display: flex;
flex-direction: row;
align-items: center;
justify-content: space-between;
padding: 0 40rpx;
.appText {
font-weight: 500;
font-size: 30rpx;
color: #333333;
}
.schoiceClose {
padding: 10rpx;
border-radius: 8rpx;
background: #f6f6f6;
}
}
.videoFooter {
display: flex;
flex-direction: row;
align-items: center;
justify-content: space-between;
padding-left: 40rpx;
line-height: 70rpx;
font-size: 22rpx;
color: #FFFFFF;
/* #ifdef MP-WEIXIN */
height: 80rpx;
/* #endif */
/* #ifdef H5 */
height: 90px;
padding-bottom: 50px;
/* #endif */
/* #ifdef APP */
height: 50px;
/* #endif */
.videoName {
display: flex;
flex-direction: row;
.footerTv {
width: 40rpx;
height: 26rpx;
margin-top: 6rpx;
margin-right: 10px;
}
.footerTvText {
font-weight: 500;
font-size: 22rpx;
color: #FFFFFF;
line-height: 32rpx;
border-bottom: 2rpx solid #ffffff;
max-width: 600rpx;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
}
.choiceVideo {
display: flex;
flex-direction: row;
align-items: center;
padding-right: 20rpx;
.choiceVideoTexts {
font-size: 22rpx;
line-height: 70rpx;
color: #FFFFFF;
}
.footerChoice {
width: 34rpx;
height: 32rpx;
margin-top: 20rpx;
}
}
}
</style>