Commit bd11f709 authored by mengcuiguang's avatar mengcuiguang

欧拉更新三件套

parent f78295dd
......@@ -97,7 +97,7 @@
versionName: '1.1.0',
auth: false, // 三要素实名认证
userInfo: null,
pkgName: 'com.mints.dybrightvideo'
pkgName: 'com.duben.dyolvedio'
}
};
</script>
......
......@@ -89,7 +89,7 @@
<view style="display: flex;flex-direction: column;align-items: center;">
<view style="font-size: 29rpx;color: gray;margin-top: 16rpx;">
客服时间工作日 9:00-18:00</view>
<button class="button2" open-type="im" data-im-id="du_movie">在线客服</button>
<button class="button2" open-type="im" data-im-id="kaixinhaha7785">在线客服</button>
</view>
</scroll-view>
</view>
......
......@@ -92,7 +92,7 @@
<view style="display: flex;flex-direction: column;align-items: center;">
<view style="font-size: 29rpx;color: gray;margin-top: 16rpx;">
客服时间工作日 9:00-18:00</view>
<button class="button2" open-type="im" data-im-id="du_movie">在线客服</button>
<button class="button2" open-type="im" data-im-id="kaixinhaha7785">在线客服</button>
</view>
</scroll-view>
</view>
......
<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>
<scroll-view v-if="clientHeight != 0" scroll-y="true" :style="{'height': clientHeight + 'px'}"
@scroll="onScroll">
<view class="content">
<swiper class="banner" :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: 60rpx;">{{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>
<view style="column-count: 2;column-gap: 20rpx;margin-top: 20rpx;">
<view class="item-wrap" v-for="(item, i) in dataList" :key="i" v-if="i % 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, i) in dataList" :key="i" v-if="i % 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;height: 60rpx;">
{{item.title}}
</view>
</view>
</view>
<u-loadmore :status="loadStatus" @loadmore="loadMore"></u-loadmore>
</view>
</scroll-view>
<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;margin: 10rpx;"
src="../../static/index/ic_quit_white.png" mode="aspectFill"></image>
<view @click="handleBottomPlay(newRecordBean)"
style="width: 160rpx;height: 50rpx;margin-top: 8rpx;line-height: 50rpx;color: white;text-align: center;background-color: red;border-radius:30rpx;margin-right: 20rpx;">
继续观看
</view>
</view>
</view>
</view>
</view>
</template>
<script>
import common from '@/mixins/common';
import {
getToLocal
} from "@/utils/utils.js"
import {
gotoVideoPlayerPage
} from '@/common/page-route.js'
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 {
dataList: [],
bannerList: [],
newRecordBean: null,
topList: [],
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',
clientHeight: 0,
page: 1,
size: 10,
loadStatus: 'loadmore'
};
},
mounted() {
let that = this
uni.getSystemInfo({
success: (res => {
this.clientHeight = res.windowHeight - 50;
})
});
// 匹配视频
this.showFirstDialog();
},
methods: {
onScroll(event) {
// 获取scrollview已滚动的高度
const scrollTop = event.detail.scrollTop;
// 获取内容的总高度
const contentHeight = event.detail.scrollHeight;
// 判断是否滑动到底部(已滚动的高度 + 视图高度 >= 内容高度)
if ((scrollTop + this.clientHeight + 50) >= contentHeight) {
this.loadMore()
}
},
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.post({
url: '/vedio/topTabs',
showLoading: false,
success: ({
data
}) => {
this.bannerList = data.list;
}
});
// 排行榜
this.post({
url: '/vedio/orders',
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.page = 1
this.size = 10
this.loadList()
},
hide() {},
loadList() {
// 推荐列表
this.post({
url: '/vedio/list',
data: {
page: this.page,
size: this.size
},
showLoading: false,
success: ({
data
}) => {
this.loadStatus = data.list.size < this.size ? 'nomore' : 'loadmore';
if (data.list.size <= 10) {
this.dataList = [...this.dataList, ...data.list];
return
}
if (this.page == 1) {
this.dataList = data.list
} else {
this.dataList = [...this.dataList, ...data.list];
}
}
});
},
loadMore() {
if (this.loadStatus === 'loading' || this.loadStatus === 'nomore') return;
this.loadStatus = 'loading'
this.page = ++this.page
this.loadList()
},
handleBanner(item) {
gotoVideoPlayerPage(item)
},
handleInfo(item) {
gotoVideoPlayerPage(item)
},
handleTop(item) {
gotoVideoPlayerPage(item)
},
handleBottomPlay(item) {
gotoVideoPlayerPage(item)
},
handleBottomClose() {
this.newRecordBean = null;
this.post({
url: '/vedio/colseNewest',
data: {},
showLoading: false,
success: ({
data
}) => {}
});
},
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) {
gotoVideoPlayerPage(data.vedioMsg)
// 重置短视频挂载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;
}
.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;
}
<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>
<scroll-view v-if="clientHeight != 0" scroll-y="true" :style="{'height': clientHeight + 'px'}"
@scroll="onScroll">
<view class="content">
<swiper class="banner" :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: 60rpx;">{{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>
<view style="column-count: 2;column-gap: 20rpx;margin-top: 20rpx;">
<view class="item-wrap" v-for="(item, i) in dataList" :key="i" v-if="i % 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, i) in dataList" :key="i" v-if="i % 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;height: 60rpx;">
{{item.title}}
</view>
</view>
</view>
<u-loadmore :status="loadStatus" @loadmore="loadMore"></u-loadmore>
</view>
</scroll-view>
<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;margin: 10rpx;"
src="../../static/index/ic_quit_white.png" mode="aspectFill"></image>
<view @click="handleBottomPlay(newRecordBean)"
style="width: 160rpx;height: 50rpx;margin-top: 8rpx;line-height: 50rpx;color: white;text-align: center;background-color: red;border-radius:30rpx;margin-right: 20rpx;">
继续观看
</view>
</view>
</view>
</view>
</view>
</template>
<script>
import common from '@/mixins/common';
import {
getToLocal
} from "@/utils/utils.js"
import {
gotoVideoPlayerPage
} from '@/common/page-route.js'
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 {
dataList: [],
bannerList: [],
newRecordBean: null,
topList: [],
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',
clientHeight: 0,
page: 1,
size: 10,
loadStatus: 'loadmore'
};
},
mounted() {
let that = this
uni.getSystemInfo({
success: (res => {
this.clientHeight = res.windowHeight - 50;
})
});
// 匹配视频
this.showFirstDialog();
},
methods: {
onScroll(event) {
// 获取scrollview已滚动的高度
const scrollTop = event.detail.scrollTop;
// 获取内容的总高度
const contentHeight = event.detail.scrollHeight;
// 判断是否滑动到底部(已滚动的高度 + 视图高度 >= 内容高度)
if ((scrollTop + this.clientHeight + 50) >= contentHeight) {
this.loadMore()
}
},
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.post({
url: '/vedio/topTabs',
showLoading: false,
success: ({
data
}) => {
this.bannerList = data.list;
}
});
// 排行榜
this.post({
url: '/vedio/orders',
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.page = 1
this.size = 10
this.loadList()
},
hide() {},
loadList() {
// 推荐列表
this.post({
url: '/vedio/list',
data: {
page: this.page,
size: this.size
},
showLoading: false,
success: ({
data
}) => {
this.loadStatus = data.list.size < this.size ? 'nomore' : 'loadmore';
if (data.list.size <= 10) {
this.dataList = [...this.dataList, ...data.list];
return
}
if (this.page == 1) {
this.dataList = data.list
} else {
this.dataList = [...this.dataList, ...data.list];
}
}
});
},
loadMore() {
if (this.loadStatus === 'loading' || this.loadStatus === 'nomore') return;
this.loadStatus = 'loading'
this.page = ++this.page
this.loadList()
},
handleBanner(item) {
gotoVideoPlayerPage(item)
},
handleInfo(item) {
gotoVideoPlayerPage(item)
},
handleTop(item) {
gotoVideoPlayerPage(item)
},
handleBottomPlay(item) {
gotoVideoPlayerPage(item)
},
handleBottomClose() {
this.newRecordBean = null;
this.post({
url: '/vedio/colseNewest',
data: {},
showLoading: false,
success: ({
data
}) => {}
});
},
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) {
gotoVideoPlayerPage(data.vedioMsg)
// 重置短视频挂载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;
}
.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;
}
</style>
\ No newline at end of file
......@@ -7,7 +7,7 @@
<view class="content">
<text style="font-size: 40rpx;margin-bottom: 15rpx;">客服时间: 工作日9:00-18:00</text>
<text class="button1" @click="handleBtn1">客服电话</text>
<button class="button2" open-type="im" data-im-id="du_movie">在线客服</button>
<button class="button2" open-type="im" data-im-id="kaixinhaha7785">在线客服</button>
</view>
</view>
</uni-popup>
......@@ -29,7 +29,7 @@
},
data() {
return {
imId: "dy1d1fub8mqd"
imId: "kaixinhaha7785"
};
},
methods: {
......
{
"name" : "短剧",
"appid" : "__UNI__D23E760",
"appid" : "__UNI__076053C",
"description" : "",
"versionName" : "1.0.0",
"versionCode" : 1000,
......@@ -164,7 +164,7 @@
"uniStatistics" : {
"enable" : false
},
"appid" : "ttde5ea8e3416e330801"
"appid" : "ttae10d8ad3126cfa701"
},
"uniStatistics" : {
"enable" : false,
......
{
"easycom": {
"^u-(.*)": "@/uni_modules/uview-ui/components/u-$1/u-$1.vue",
"autoscan": true,
"custom": {
"^n-(.*)": "@/nPro/$1/$1.vue", // 匹配nPro内的vue文件
"^nx-(.*)": "@/nProX/$1/$1.vue" // 匹配nProX内的vue文件
}
},
"pages": [
// #ifndef APP-PLUS
{
"path": "pages/loading"
},
// #endif
{
"path": "pages/home",
"style": {
"navigationBarTitleText": "巨爽短剧"
}
},
{
"path": "pages/brower/brower"
}
],
// 分包配置
"subPackages": [{
"root": "pagesA",
"pages": [{
"path": "vipPay/vipPay"
}]
}, {
"root": "pagesC",
"pages": [{
"path": "ttvideo/ttVideoDetail",
"usingComponents": {
"tt-video-player": "ext://industry/video-player"
}
}, {
"path": "playlet/index",
"style": {
"extends": "ext://industry/playlet-plugin",
"isPageExtension": true
}
}]
},
{
"root": "pagesD",
"pages": [{
"path": "watchRecord/watchRecord",
"style": {
"navigationBarTitleText": "观看记录"
}
}, {
"path": "payRecord/payRecord",
"style": {
"navigationBarTitleText": "我的订单"
}
}, {
"path": "dotRecord/dotRecord",
"style": {
"navigationBarTitleText": "看点记录"
}
}, {
"path": "useDotRecord/useDotRecord",
"style": {
"navigationBarTitleText": "消费记录"
}
}]
}
],
// 分包预载配置
"preloadRule": {
// 当我们进入了pages/home页面以后就会预下载pagesA分包
"pages/home": {
"network": "all", //在指定网络下预下载,可选值为:all(不限网络)、wifi(仅wifi下预下载)
"packages": ["pagesA", "pagesC", "pagesD"] //进入页面后预下载分包
}
},
"globalStyle": {
"navigationStyle": "default",
"navigationBarBackgroundColor": "#ffffff",
"navigationBarTextStyle": "black",
"backgroundColor": "#f5f5f5",
"app-plus": {
"bounce": "none",
"scrollIndicator": "none"
}
},
"condition": { //模式配置,仅开发期间生效
"current": 0, //当前激活的模式(list 的索引项)
"list": [{
"name": "", //模式名称
"path": "", //启动页面,必选
"query": "" //启动参数,在页面的onLoad函数里面得到
}]
}
{
"easycom": {
"^u-(.*)": "@/uni_modules/uview-ui/components/u-$1/u-$1.vue",
"autoscan": true,
"custom": {
"^n-(.*)": "@/nPro/$1/$1.vue", // 匹配nPro内的vue文件
"^nx-(.*)": "@/nProX/$1/$1.vue" // 匹配nProX内的vue文件
}
},
"pages": [
// #ifndef APP-PLUS
{
"path": "pages/loading"
},
// #endif
{
"path": "pages/home",
"style": {
"navigationBarTitleText": "欧拉短剧"
}
},
{
"path": "pages/brower/brower"
}
],
// 分包配置
"subPackages": [{
"root": "pagesA",
"pages": [{
"path": "vipPay/vipPay"
}]
}, {
"root": "pagesC",
"pages": [{
"path": "ttvideo/ttVideoDetail",
"usingComponents": {
"tt-video-player": "ext://industry/video-player"
}
}, {
"path": "playlet/index",
"style": {
"extends": "ext://industry/playlet-plugin",
"isPageExtension": true
}
}]
},
{
"root": "pagesD",
"pages": [{
"path": "watchRecord/watchRecord",
"style": {
"navigationBarTitleText": "观看记录"
}
}, {
"path": "payRecord/payRecord",
"style": {
"navigationBarTitleText": "我的订单"
}
}, {
"path": "dotRecord/dotRecord",
"style": {
"navigationBarTitleText": "看点记录"
}
}, {
"path": "useDotRecord/useDotRecord",
"style": {
"navigationBarTitleText": "消费记录"
}
}]
}
],
// 分包预载配置
"preloadRule": {
// 当我们进入了pages/home页面以后就会预下载pagesA分包
"pages/home": {
"network": "all", //在指定网络下预下载,可选值为:all(不限网络)、wifi(仅wifi下预下载)
"packages": ["pagesA", "pagesC", "pagesD"] //进入页面后预下载分包
}
},
"globalStyle": {
"navigationStyle": "default",
"navigationBarBackgroundColor": "#ffffff",
"navigationBarTextStyle": "black",
"backgroundColor": "#f5f5f5",
"app-plus": {
"bounce": "none",
"scrollIndicator": "none"
}
},
"condition": { //模式配置,仅开发期间生效
"current": 0, //当前激活的模式(list 的索引项)
"list": [{
"name": "", //模式名称
"path": "", //启动页面,必选
"query": "" //启动参数,在页面的onLoad函数里面得到
}]
}
}
\ No newline at end of file
......@@ -42,7 +42,7 @@
this.tips1 = options.tips1
// #ifdef MP-TOUTIAO
this.appName = '巨爽短剧'
this.appName = '欧拉短剧'
// #endif
// #ifdef MP-WEIXIN
......
vedio/static/logo-about.png

6.28 KB | W: | H:

vedio/static/logo-about.png

15.7 KB | W: | H:

vedio/static/logo-about.png
vedio/static/logo-about.png
vedio/static/logo-about.png
vedio/static/logo-about.png
  • 2-up
  • Swipe
  • Onion skin
export const EXPRESS_ID = 'q1031ievmv1z3j28gs'
export const REWARD_ID = 'm1qtdoeeqq9txgahk4'
\ No newline at end of file
export const REWARD_ID = '9kpbeoj3tjp5rpgmpe'
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment