Commit 2f72c20f authored by jyx's avatar jyx

代码优化

parent 60d4dd8c
......@@ -97,7 +97,7 @@
versionName: '1.1.0',
auth: false, // 三要素实名认证
userInfo: null,
pkgName: 'com.mints.dybrightvideo'
pkgName: 'com.duben.dyolvedio'
}
};
</script>
......
<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="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: 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>
</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>
<!-- <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 {
getToLocal
} from "@/utils/utils.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',
statusBarHeight: app.globalData.statusBarHeight,
};
},
methods: {
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',
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;
}
}
});
if (this.$refs.paging != null) {
this.$refs.paging.refresh();
}
},
hide() {
},
queryList(page, size) {
// 推荐列表
this.post({
url: '/vedio/list',
data: {
page,
size
},
showLoading: false,
success: ({
data
}) => {
this.$refs.paging.complete(data.list);
}
});
},
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
}) => {}
});
},
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;
}
.show-mask {
width: 100%;
height: 100%;
<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="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: 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>
</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>
<!-- <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 {
getToLocal
} from "@/utils/utils.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',
statusBarHeight: app.globalData.statusBarHeight,
};
},
methods: {
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',
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;
}
}
});
if (this.$refs.paging != null) {
this.$refs.paging.refresh();
}
},
hide() {
},
queryList(page, size) {
// 推荐列表
this.post({
url: '/vedio/list',
data: {
page,
size
},
showLoading: false,
success: ({
data
}) => {
this.$refs.paging.complete(data.list);
}
});
},
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
}) => {}
});
},
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;
}
.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;
}
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
{
"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",
"style": {
"navigationStyle": "default",
"navigationBarBackgroundColor": "#F2F1FF",
"navigationBarTextStyle": "#000000"
}
},
// #endif
{
"path": "pages/home",
"style": {
{
"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",
"style": {
"navigationStyle": "default",
"navigationBarTitleText": "巨爽短剧",
"navigationBarBackgroundColor": "#ffffff",
"navigationBarTextStyle": "black"
}
},
{
"path": "pages/brower/brower",
"style": {
"navigationStyle": "default",
"navigationBarBackgroundColor": "#ffffff",
"navigationBarTextStyle": "black"
}
}
],
// 分包配置
"subPackages": [{
"root": "pagesA",
"pages": [{
"path": "vipPay/vipPay",
"style": {
"navigationStyle": "default",
"navigationBarBackgroundColor": "#2196f3",
"navigationBarTextStyle": "black"
}
}]
}, {
"root": "pagesC",
"pages": [{
"path": "ttvideo/ttVideoDetail",
"style": {
"backgroundColor": "#000000",
"navigationStyle": "default",
"navigationBarBackgroundColor": "#000000",
"navigationBarTextStyle": "#ffffff",
"usingComponents ": {
"video-player": "ext://industry/video-player"
}
}
}]
},
{
"root": "pagesD",
"pages": [{
"path": "watchRecord/watchRecord",
"style": {
"navigationBarTitleText": "观看记录",
"navigationStyle": "default",
"navigationBarBackgroundColor": "#ffffff",
"navigationBarTextStyle": "black"
}
}, {
"path": "payRecord/payRecord",
"style": {
"navigationBarTitleText": "我的订单",
"navigationStyle": "default",
"navigationBarBackgroundColor": "#ffffff",
"navigationBarTextStyle": "black"
}
}, {
"path": "dotRecord/dotRecord",
"style": {
"navigationBarTitleText": "看点记录",
"navigationStyle": "default",
"navigationBarBackgroundColor": "#ffffff",
"navigationBarTextStyle": "black"
}
}, {
"path": "useDotRecord/useDotRecord",
"style": {
"navigationBarTitleText": "消费记录",
"navigationStyle": "default",
"navigationBarBackgroundColor": "#ffffff",
"navigationBarTextStyle": "black"
}
}]
}
],
// 分包预载配置
"preloadRule": {
// 当我们进入了pages/home页面以后就会预下载pagesA分包
"pages/home": {
"network": "all", //在指定网络下预下载,可选值为:all(不限网络)、wifi(仅wifi下预下载)
"packages": ["pagesA", "pagesC", "pagesD"] //进入页面后预下载分包
}
},
"globalStyle": {
"backgroundColor": "#f5f5f5",
"navigationStyle": "default",
"app-plus": {
"bounce": "none",
"scrollIndicator": "none"
}
},
"condition": { //模式配置,仅开发期间生效
"current": 0, //当前激活的模式(list 的索引项)
"list": [{
"name": "", //模式名称
"path": "", //启动页面,必选
"query": "" //启动参数,在页面的onLoad函数里面得到
}]
}
"navigationBarBackgroundColor": "#F2F1FF",
"navigationBarTextStyle": "#000000"
}
},
// #endif
{
"path": "pages/home",
"style": {
"navigationStyle": "default",
"navigationBarTitleText": "欧拉短剧",
"navigationBarBackgroundColor": "#ffffff",
"navigationBarTextStyle": "black"
}
},
{
"path": "pages/brower/brower",
"style": {
"navigationStyle": "default",
"navigationBarBackgroundColor": "#ffffff",
"navigationBarTextStyle": "black"
}
}
],
// 分包配置
"subPackages": [{
"root": "pagesA",
"pages": [{
"path": "vipPay/vipPay",
"style": {
"navigationStyle": "default",
"navigationBarBackgroundColor": "#2196f3",
"navigationBarTextStyle": "black"
}
}]
}, {
"root": "pagesC",
"pages": [{
"path": "ttvideo/ttVideoDetail",
"style": {
"backgroundColor": "#000000",
"navigationStyle": "default",
"navigationBarBackgroundColor": "#000000",
"navigationBarTextStyle": "#ffffff",
"usingComponents ": {
"video-player": "ext://industry/video-player"
}
}
}]
},
{
"root": "pagesD",
"pages": [{
"path": "watchRecord/watchRecord",
"style": {
"navigationBarTitleText": "观看记录",
"navigationStyle": "default",
"navigationBarBackgroundColor": "#ffffff",
"navigationBarTextStyle": "black"
}
}, {
"path": "payRecord/payRecord",
"style": {
"navigationBarTitleText": "我的订单",
"navigationStyle": "default",
"navigationBarBackgroundColor": "#ffffff",
"navigationBarTextStyle": "black"
}
}, {
"path": "dotRecord/dotRecord",
"style": {
"navigationBarTitleText": "看点记录",
"navigationStyle": "default",
"navigationBarBackgroundColor": "#ffffff",
"navigationBarTextStyle": "black"
}
}, {
"path": "useDotRecord/useDotRecord",
"style": {
"navigationBarTitleText": "消费记录",
"navigationStyle": "default",
"navigationBarBackgroundColor": "#ffffff",
"navigationBarTextStyle": "black"
}
}]
}
],
// 分包预载配置
"preloadRule": {
// 当我们进入了pages/home页面以后就会预下载pagesA分包
"pages/home": {
"network": "all", //在指定网络下预下载,可选值为:all(不限网络)、wifi(仅wifi下预下载)
"packages": ["pagesA", "pagesC", "pagesD"] //进入页面后预下载分包
}
},
"globalStyle": {
"backgroundColor": "#f5f5f5",
"navigationStyle": "default",
"app-plus": {
"bounce": "none",
"scrollIndicator": "none"
}
},
"condition": { //模式配置,仅开发期间生效
"current": 0, //当前激活的模式(list 的索引项)
"list": [{
"name": "", //模式名称
"path": "", //启动页面,必选
"query": "" //启动参数,在页面的onLoad函数里面得到
}]
}
}
\ No newline at end of file
<template>
<view class="body">
<image style="width: 170rpx;height: 170rpx;margin-top: 30%;" src="@/static/logo-about.png" mode="widthFix" />
<view style="color: black;margin-top: 30rpx;font-size: 40rpx;font-size: 50rpx;">{{appName}}</view>
<view style="color: #A231EF;margin-top: 10rpx;font-size: 40rpx;font-size: 40rpx;">欢迎使用</view>
<view style="bottom: 0;position: absolute;">
<image style="width: 540rpx;height: 644rpx;display: flex;align-items: center;margin-bottom: 30%;"
src="https://mints-pkg.oss-cn-beijing.aliyuncs.com/pkg/img/bg_splash.png" mode="scaleToFill">
</image>
</view>
<uni-popup type="center" ref="select">
<view class="text-box">
{{slotParam}}
</view>
</uni-popup>
</view>
</template>
<script>
import {
message,
redirectTo,
uuid
} from '@/utils/fun.js';
import common from '@/mixins/common';
const app = getApp();
export default {
name: 'loading',
mixins: [common],
data() {
return {
tips1: '',
slotParam: '',
appName: ''
}
},
onLoad(options) {
this.tips1 = options.tips1
// #ifdef MP-TOUTIAO
this.appName = '巨爽短剧'
// #endif
// #ifdef MP-WEIXIN
this.appName = '河狸刷剧'
// #endif
},
onShow(options) {
// #ifdef MP-TOUTIAO
this.ttLoging()
// #endif
// #ifdef MP-WEIXIN
// this.wxlogin()
// #endif
},
methods: {
ttLoging() {
var that = this;
var obj = tt.getLaunchOptionsSync()
var channel = 'douyin' // 渠道
var tips2 = ''; // 投放测试标记
var product_type = ''; //自有产品
var zs_channel = ''; // 自有渠道
var vedio_id = ''; // 自有剧
var zs_os = ''; // 当前系统
var vedio_index = ''; // 自有剧
var free_index = ''; // 自有剧
var remark1 = ''; // 预留
var remark2 = ''; // 预留
var remark3 = ''; // 预留
var mid1 = "";
var mid2 = "";
var mid3 = "";
var mid4 = "";
var mid5 = "";
<template>
<view class="body">
<image style="width: 170rpx;height: 170rpx;margin-top: 30%;" src="@/static/logo-about.png" mode="widthFix" />
<view style="color: black;margin-top: 30rpx;font-size: 40rpx;font-size: 50rpx;">{{appName}}</view>
<view style="color: #A231EF;margin-top: 10rpx;font-size: 40rpx;font-size: 40rpx;">欢迎使用</view>
<view style="bottom: 0;position: absolute;">
<image style="width: 540rpx;height: 644rpx;display: flex;align-items: center;margin-bottom: 30%;"
src="https://mints-pkg.oss-cn-beijing.aliyuncs.com/pkg/img/bg_splash.png" mode="scaleToFill">
</image>
</view>
<uni-popup type="center" ref="select">
<view class="text-box">
{{slotParam}}
</view>
</uni-popup>
</view>
</template>
<script>
import {
message,
redirectTo,
uuid
} from '@/utils/fun.js';
import common from '@/mixins/common';
const app = getApp();
export default {
name: 'loading',
mixins: [common],
data() {
return {
tips1: '',
slotParam: '',
appName: ''
}
},
onLoad(options) {
this.tips1 = options.tips1
// #ifdef MP-TOUTIAO
this.appName = '欧拉短剧'
// #endif
// #ifdef MP-WEIXIN
this.appName = '河狸刷剧'
// #endif
},
onShow(options) {
// #ifdef MP-TOUTIAO
this.ttLoging()
// #endif
// #ifdef MP-WEIXIN
// this.wxlogin()
// #endif
},
methods: {
ttLoging() {
var that = this;
var obj = tt.getLaunchOptionsSync()
var channel = 'douyin' // 渠道
var tips2 = ''; // 投放测试标记
var product_type = ''; //自有产品
var zs_channel = ''; // 自有渠道
var vedio_id = ''; // 自有剧
var zs_os = ''; // 当前系统
var vedio_index = ''; // 自有剧
var free_index = ''; // 自有剧
var remark1 = ''; // 预留
var remark2 = ''; // 预留
var remark3 = ''; // 预留
var mid1 = "";
var mid2 = "";
var mid3 = "";
var mid4 = "";
var mid5 = "";
var thirdParam = "";
var album_id = obj.query.tt_album_id ?? '';
var episode_id = obj.query.tt_episode_id ?? '';
......@@ -89,8 +89,8 @@
uni.setStorage({
key: 'tt_episode_id',
data: episode_id
});
});
zs_os = wx.getSystemInfoSync().platform;
tips2 = obj.query.tips2 ?? ''
product_type = obj.query.product_type ?? ''
......@@ -105,84 +105,84 @@
mid2 = obj.query.mid2 ?? ''
mid3 = obj.query.mid3 ?? ''
mid4 = obj.query.mid4 ?? ''
mid5 = obj.query.mid5 ?? ''
// 抖音feed页参数
thirdParam = JSON.stringify(obj.query);
// 打印渠道参数
if (this.tips1 == 'mints_vedio' || tips2 == 'mints_vedio') {
this.slotParam = JSON.stringify(obj.query);
this.$refs.select.open('center');
}
tt.login({
force: true,
success(res) {
console.log(`login 调用成功${res.code} ${res.anonymousCode}`);
that.post({
url: '/user/ttLogin',
data: {
channel: channel,
code: res.code,
anonymousCode: res.anonymousCode,
productType: product_type,
vedioId: vedio_id,
remark1: remark1,
remark2: remark2,
remark3: remark3,
os: zs_os,
vedioIndex: vedio_index,
freeIndex: free_index,
mid1: mid1,
mid2: mid2,
mid3: mid3,
mid4: mid4,
mid5: mid5,
thirdParam: thirdParam,
zsChannel: zs_channel
},
showLoading: false,
success: ({
data
}) => {
uni.setStorage({
key: 'token',
data: data.token
});
setTimeout(() => {
redirectTo('home');
}, 1000);
}
});
},
fail(res) {
console.log(`login 调用失败`);
},
});
}
}
};
</script>
<style lang="scss">
.body {
background-color: white;
background: linear-gradient(to bottom, #F2F1FF, #FBFBFF);
display: flex;
flex-direction: column;
align-items: center;
}
.text-box {
word-break: break-all;
margin: 10rpx;
padding: 10rpx;
background-color: white;
color: black;
}
mid5 = obj.query.mid5 ?? ''
// 抖音feed页参数
thirdParam = JSON.stringify(obj.query);
// 打印渠道参数
if (this.tips1 == 'mints_vedio' || tips2 == 'mints_vedio') {
this.slotParam = JSON.stringify(obj.query);
this.$refs.select.open('center');
}
tt.login({
force: true,
success(res) {
console.log(`login 调用成功${res.code} ${res.anonymousCode}`);
that.post({
url: '/user/ttLogin',
data: {
channel: channel,
code: res.code,
anonymousCode: res.anonymousCode,
productType: product_type,
vedioId: vedio_id,
remark1: remark1,
remark2: remark2,
remark3: remark3,
os: zs_os,
vedioIndex: vedio_index,
freeIndex: free_index,
mid1: mid1,
mid2: mid2,
mid3: mid3,
mid4: mid4,
mid5: mid5,
thirdParam: thirdParam,
zsChannel: zs_channel
},
showLoading: false,
success: ({
data
}) => {
uni.setStorage({
key: 'token',
data: data.token
});
setTimeout(() => {
redirectTo('home');
}, 1000);
}
});
},
fail(res) {
console.log(`login 调用失败`);
},
});
}
}
};
</script>
<style lang="scss">
.body {
background-color: white;
background: linear-gradient(to bottom, #F2F1FF, #FBFBFF);
display: flex;
flex-direction: column;
align-items: center;
}
.text-box {
word-break: break-all;
margin: 10rpx;
padding: 10rpx;
background-color: white;
color: black;
}
</style>
\ No newline at end of file
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
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