This commit is contained in:
cwt
2026-07-24 11:56:12 +08:00
parent 81dc1ffaaa
commit faeb976e04
62 changed files with 21716 additions and 73 deletions
+276 -4
View File
@@ -1,22 +1,294 @@
<template>
<view>
<view class="heardbg u-p-l-30 u-p-r-30 u-p-t-20">
<navbar :backopen="false"></navbar>
<view class="u-flex" @click.stop="login">
<u-avatar :src="userInfo.avatar" size="44"></u-avatar>
<view class="u-m-l-20 u-flex-1 u-flex u-row-between">
<view>
<view v-if="!isLogin" class="u-flex">
<view class="u-font-28 u-m-r-10">立即登录</view>
<u-icon name="arrow-right"></u-icon>
</view>
<view v-else class="u-font-28 u-word-break u-line-1">{{userInfo.nickname}}</view>
<view v-if="isLogin" class="u-m-t-10 u-font-22 u-color-666 u-word-break u-line-1">
ID:{{userInfo.id}}</view>
</view>
<view v-if="isLogin" @click.stop="exit"
class="u-border-f u-b-fff-2 u-color-aaa u-w-100 u-h-50 u-radius-40 u-lh-50 u-text-center u-font-24">
退出</view>
</view>
</view>
<view class="u-b-f u-radius-20 u-p-t-16 u-p-b-16 u-p-r-20 u-p-l-20 u-m-t-30">
<view class="u-m-t-30 u-flex u-col-top u-row-around">
<view class="u-text-center" @click="$u.route('/pagesA/my/VIPRecord')">
<image src="/static/image/icon23.png" class="u-w-42 u-h-42"></image>
<view class="u-m-t-6 u-font-22">VIP记录</view>
</view>
<!-- 抖音的IM 客服 data-im-id:客服的抖音号-->
<button class="u-reset-button" open-type="contact">
<view class="u-text-center">
<image src="/static/image/icon26.png" class="u-w-42 u-h-42"></image>
<view class="u-m-t-6 u-font-22">联系客服</view>
</view>
</button>
</view>
</view>
</view>
<view class="u-p-l-30 u-p-r-30 u-m-t-20">
<view class="u-b-f u-radius-20 u-p-b-20">
<u-tabs :list="tabList" lineColor="#C81F22" :current="current" @click="onclick"
:IconShow="false"></u-tabs>
<scroll-view scroll-y style="height: 51vh;" v-if="list.length>0" @scrolltolower="getbottom()">
<view class="u-p-l-20 u-p-r-20 u-p-b-30">
<view v-if="current == 0" class="u-flex u-m-t-30" v-for="(item,index) in list" :key="index">
<u-image :src="item.img" @click="govideo(item.vl_id)" width="100rpx" height="140rpx"
radius="5"></u-image>
<view class="u-flex-1 u-m-l-20 u-flex u-row-between">
<view @click="govideo(item.vl_id)">
<view class="u-font-28 u-word-break u-line-1">{{item.vname}}</view>
<view class="u-font-24 u-m-t-30 u-color-999">{{item.mid}}集</view>
</view>
</view>
</view>
<view v-else class="u-flex u-flex-wrap u-col-top">
<view class="u-w-200 u-m-t-30 u-m-r-16" v-for="(item,index) in list" :key="index"
@click="govideo(item.vl_id)">
<image :src="item.img" class="u-w-200 u-h-280 u-radius-10" mode="aspectFill">
</image>
<view class="u-word-break u-line-1 u-m-t-10 u-font-26">{{item.vname}}</view>
<view class="u-m-t-10 u-color-999 u-font-22">{{item.mid}}集</view>
<view
class="u-bnt-tabbar-FF5205-FF0591 u-radius-40 u-w-140 u-text-center u-p-t-10 u-p-b-10 u-font-22 u-m-t-10">
点击观看</view>
</view>
</view>
</view>
</scroll-view>
<view v-if="list.length>0" class="u-flex u-row-center">
<view class="u-w-60 u-h-2 u-b-EC"></view>
<view class="u-color-666 u-font-20">海量短剧 · 免费观看</view>
<view class="u-w-60 u-h-2 u-b-EC"></view>
</view>
<empty v-if="list.length<1"></empty>
</view>
</view>
</view>
</template>
<script>
import navbar from '@/components/navbar.vue'
import empty from '@/components/empty/empty.vue'
import login from "@/utils/login";
export default {
components: {
navbar,
empty
},
data() {
return {
isLogin: uni.getStorageSync('kyToken') ? true : false, //是否登录
current: 0,
paramster: {
code: '', //授权code
invite: '', //推广码
ad_code: '', //巨量广告id
source: '', //来源:1=自由授权,2=巨量来源
},
userInfo: {}, //用户信息
page: 1,
status: 'loadmore', //加载更多
list: [],
apiUrl: getApp().globalData.oss_url, //域名
dy_im: getApp().globalData.dy_im,
tabList: [{
name: "看过"
}, {
name: "收藏"
}]
}
},
mounted() {
this.getuserInfo()
},
onShow() {
this.clear()
},
methods: {
// 获取用户信息
getuserInfo() {
let that = this;
that.$httpRequest({
url: "/api/user/index",
method: "GET",
data: {}
}).then(res => {
if (res.code == 1) {
this.userInfo = res.data
uni.setStorageSync('userInfo', res.data)
}
}).catch(err => {
console.log(err)
})
},
// 登录
login() {
login.wxLogin().then(res => {
this.getuserInfo()
})
},
onclick(e) {
this.current = e.index
this.clear()
},
clear() {
this.list = []
this.page = 1
if (this.current == 0) {
this.videoLookList()
} else {
this.videoCollectList()
}
},
// 观看记录
videoLookList() {
this.$httpRequest({
url: "/api/video/videolog",
methods: "GET",
data: {
limit: 15,
page: this.page
}
}).then(res => {
if (res.rows.length < 15) {
this.status = 'nomore';
} else {
this.page = this.page + 1;
this.status = 'loadmore';
}
this.list = this.list.concat(res.rows);
uni.stopPullDownRefresh();
})
},
// 收藏记录
videoCollectList() {
this.$httpRequest({
url: "/api/video/recordlist",
methods: "GET",
data: {
limit: 15,
page: this.page
}
}).then(res => {
if (res.rows.length < 15) {
this.status = 'nomore';
} else {
this.page = this.page + 1;
this.status = 'loadmore';
}
this.list = this.list.concat(res.rows);
uni.stopPullDownRefresh();
})
},
//追剧的修改稿
videoCollectAdd(item, index) {
this.$api.videoCollectAdd({
vl_id: item.vl_id, //剧目id
vid: item.vid, //剧集id
status: item.is_collect ? 2 : 1,
}).then(res => {
if (res.code == 1) {
if (!this.list[index].is_collect) {
this.$getMsg('添加成功')
} else {
this.$getMsg('取消追剧')
}
this.list[index].is_collect = !this.list[index].is_collect
}
})
},
//添加小程序
addApplet() {
this.$getMsg('已添加成功', 1500, false, 'success')
},
// 进入短剧播放页面
govideo(vlid) {
if (tt.canIUse('video-player')) {
uni.navigateTo({
url: '/pagesA/index/VideoPlayer?vl_id=' + vlid
})
return
this.$api.videoGroupInfo({
vl_id: vlid,
}).then(res => {
if (res.code == 1) {
if (res.data.video_look == false) {
uni.navigateTo({
url: '/pages/index/VideoPlayer?tt_album_id=' + res.data
.album_id +
'&tt_episode_id=' + res.data.video_info[0].episode_id +
'&vl_id=' +
vlid
})
} else {
uni.navigateTo({
url: '/pages/index/VideoPlayer?tt_album_id=' + res.data
.album_id +
'&tt_episode_id=' + res.data.video_info[res.data
.video_look.weigh -
1].episode_id + '&vl_id=' + vlid
})
}
} else {
this.$getMsg(res.msg)
}
})
} else {
this.$getMsg('当前版本过低,请升级抖音后观看')
}
},
getbottom() {
//避免多次触发
if (this.status == 'loading' || this.status == 'nomore') {
return;
}
if (this.current == 0) {
this.videoLookList()
} else {
this.videoCollectList()
}
},
// 退出
exit() {
uni.showModal({
content: '确认退出登录',
cancelText: '返回',
confirmColor: '#C81F22',
success: (s) => {
if (s.confirm) {
uni.removeStorageSync('djtoken')
this.$getMsg('退出成功')
this.isLogin = false
}
}
})
}
}
}
</script>
<style>
<style scoped lang="scss">
.heardbg {
background: linear-gradient(173deg, #FEECEB, #FEECEB, #FFF6DD, #f7f7f7, #f7f7f7) no-repeat;
background-color: #f7f7f7;
}
.bg99 {
background: #999;
color: #fff;
}
</style>