临时提交
3
app.json
@ -9,7 +9,8 @@
|
||||
"pages/subscribe/subscribe",
|
||||
"pages/consumption/consumption",
|
||||
"pages/rechargeRecord/rechargeRecord",
|
||||
"pages/videoDetail/videoDetail"
|
||||
"pages/videoDetail/videoDetail",
|
||||
"pages/pay/pay"
|
||||
],
|
||||
"window": {
|
||||
"backgroundTextStyle": "light",
|
||||
|
27
app.ts
@ -2,9 +2,30 @@ import { httpRequest } from "./utils/httpReques"
|
||||
|
||||
App({
|
||||
data: {
|
||||
httpRequest
|
||||
httpRequest,
|
||||
equipmentInfo: {}
|
||||
},
|
||||
onLaunch: function () {
|
||||
|
||||
globalData: {
|
||||
loginPromise: null
|
||||
},
|
||||
onLaunch() {
|
||||
const loginPromise: any = new Promise((resolve: any) => {
|
||||
tt.login({
|
||||
force: false,
|
||||
success: async (loginRes) => {
|
||||
const params = {
|
||||
code: loginRes.code || '',
|
||||
anonymousCode: loginRes.anonymousCode || '',
|
||||
isLogin: loginRes.isLogin ? 1 : 2
|
||||
}
|
||||
const res: any = await httpRequest('/reg', 'post', params);
|
||||
if (res.status == 1) {
|
||||
tt.setStorageSync('uid', res.data.uid);
|
||||
}
|
||||
resolve()
|
||||
}
|
||||
});
|
||||
})
|
||||
this.globalData.loginPromise = loginPromise;
|
||||
}
|
||||
})
|
||||
|
@ -1,3 +1,4 @@
|
||||
{
|
||||
"usingComponents": {}
|
||||
"usingComponents": {},
|
||||
"navigationBarTitleText": "消费记录"
|
||||
}
|
@ -1,9 +1,32 @@
|
||||
// e:\project\dy_video_all\初晴剧场\pages\consumption\consumption.ts
|
||||
import { httpRequest } from "../../utils/httpReques";
|
||||
Page({
|
||||
data: {
|
||||
moneyLogList: [],
|
||||
moneyFlag: false
|
||||
},
|
||||
onLoad(options) {
|
||||
|
||||
},
|
||||
onLoad: function (options) {
|
||||
|
||||
}
|
||||
onShow() {
|
||||
httpRequest('/moneylog', 'POST').then((res: any) => {
|
||||
console.log(res, "moneylogmoneylog")
|
||||
if (res.status == 1 && Array.isArray(res.data)) {
|
||||
this.setData({
|
||||
moneyFlag: true,
|
||||
moneyLogList: res.data,
|
||||
})
|
||||
} else {
|
||||
this.setData({
|
||||
moneyFlag: true,
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
toPathVideo(ev: any) {
|
||||
const sid = ev.currentTarget.dataset.sid;
|
||||
tt.navigateTo({
|
||||
url: `/pages/videoDetail/videoDetail?sid=${sid}`,
|
||||
});
|
||||
},
|
||||
})
|
@ -1,9 +1,9 @@
|
||||
<view class="_consumption_html">
|
||||
<block>
|
||||
<block tt:if="{{moneyFlag && moneyLogList.length}}">
|
||||
<view class="_consumption_content">
|
||||
<view class="_consumption_c_list">
|
||||
<block tt:for="{{8}}">
|
||||
<view class="_consumption_c_li_item">
|
||||
<block tt:for="{{moneyLogList}}">
|
||||
<view class="_consumption_c_li_item" tt:key="{{item.id}}" data-sid="{{item.id}}" catchtap="toPathVideo">
|
||||
<view class="_consumption_c_li_it_left">
|
||||
<view class="_consumption_c_li_it_le_cover">
|
||||
<image
|
||||
|
@ -116,7 +116,7 @@
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
padding: 32rpx;
|
||||
margin-top: 398rpx;
|
||||
padding-top: 398rpx;
|
||||
}
|
||||
|
||||
._consumption_em_img {
|
||||
|
@ -1,3 +1,6 @@
|
||||
{
|
||||
"usingComponents": {}
|
||||
"usingComponents": {
|
||||
"my-modal": "/components/myModal/myModal"
|
||||
},
|
||||
"navigationBarTitleText": "首页"
|
||||
}
|
@ -1,13 +1,107 @@
|
||||
// e:\project\dy_video_all\初晴剧场\pages\home\home.ts
|
||||
import { httpRequest } from "../../utils/httpReques";
|
||||
|
||||
Page({
|
||||
myModal: null as any,
|
||||
data: {
|
||||
swiperCurrent: 0
|
||||
swiperCurrent: 0,
|
||||
carouselChart: [],
|
||||
boutique: [],
|
||||
optimalSelection: [],
|
||||
classical: [],
|
||||
page: 1,
|
||||
newModule: [],
|
||||
bookcase: [],
|
||||
bookId: ''
|
||||
},
|
||||
onLoad: function (options) {
|
||||
onLoad: function () {
|
||||
|
||||
},
|
||||
onShow() {
|
||||
const page = this.data.page;
|
||||
const appInstance = getApp();
|
||||
tt.showLoading({
|
||||
title: '加载中...',
|
||||
})
|
||||
appInstance.globalData.loginPromise.then(async () => {
|
||||
const params = {
|
||||
total: 10
|
||||
}
|
||||
const indexRes: any = await httpRequest('/index', 'POST');
|
||||
const getNewModuleRes: any = await httpRequest('/getNewModule', 'POST', { page });
|
||||
const chasingdramaRes: any = await httpRequest('/Chasingdrama', 'POST', params);
|
||||
let carouselChart = [];
|
||||
let boutique = [];
|
||||
let optimalSelection = [];
|
||||
let classical = [];
|
||||
let bookcase = [];
|
||||
let newModule = []
|
||||
tt.hideLoading({});
|
||||
if (indexRes.status == 1) {
|
||||
const data = indexRes.data;
|
||||
carouselChart = data?.ads;
|
||||
boutique = data?.module1;
|
||||
optimalSelection = data?.module3;
|
||||
classical = data?.module4;
|
||||
}
|
||||
if (chasingdramaRes.status == 1) {
|
||||
bookcase = chasingdramaRes?.data?.bookcase
|
||||
}
|
||||
|
||||
if (getNewModuleRes.status == 1) {
|
||||
newModule = getNewModuleRes.data.module
|
||||
}
|
||||
|
||||
this.setData({
|
||||
carouselChart,
|
||||
boutique,
|
||||
optimalSelection,
|
||||
classical,
|
||||
bookcase,
|
||||
newModule
|
||||
})
|
||||
})
|
||||
},
|
||||
|
||||
handelCount(count: any) {
|
||||
if (count > 999) {
|
||||
const isCount: any = (count / 100000).toFixed(2);
|
||||
const ik = parseFloat(isCount) * 100
|
||||
return `${ik}k`;
|
||||
}
|
||||
return count;
|
||||
},
|
||||
getNewModuleFn(page: any) {
|
||||
const params = {
|
||||
page: page
|
||||
}
|
||||
httpRequest('/getNewModule', 'POST', params).then((res: any) => {
|
||||
if (res.status == 1 && Array.isArray(res?.data?.module)) {
|
||||
const dataModule = res?.data?.module;
|
||||
const ms = dataModule.map((m: any) => {
|
||||
return {
|
||||
...m,
|
||||
count: this.handelCount(m.count)
|
||||
}
|
||||
})
|
||||
if (page == 1) {
|
||||
this.setData({
|
||||
newModule: ms,
|
||||
page: page
|
||||
})
|
||||
} else {
|
||||
const newModule: any = this.data.newModule;
|
||||
|
||||
const ls: any = [...newModule, ...ms]
|
||||
this.setData({
|
||||
newModule: ls,
|
||||
page: page
|
||||
})
|
||||
}
|
||||
}
|
||||
})
|
||||
},
|
||||
handelSwiperChange(ev: any) {
|
||||
console.log(ev, "[[[[[[[[")
|
||||
const current = ev.detail.current;
|
||||
this.setData({
|
||||
swiperCurrent: current
|
||||
@ -17,5 +111,76 @@ Page({
|
||||
tt.navigateTo({
|
||||
url: `/pages/search/search`,
|
||||
});
|
||||
},
|
||||
toPathVideo(ev: any) {
|
||||
const sid = ev.currentTarget.dataset.sid;
|
||||
tt.navigateTo({
|
||||
url: `/pages/videoDetail/videoDetail?sid=${sid}`,
|
||||
});
|
||||
},
|
||||
onReachBottom() {
|
||||
const page = this.data.page;
|
||||
this.getNewModuleFn(page + 1);
|
||||
},
|
||||
|
||||
handelKeepFn(sid: any, bok: any) {
|
||||
let newModule: any = this.data.newModule;
|
||||
const idx = newModule.findIndex((m: any) => m.id == sid)
|
||||
newModule[idx].bookcase = bok
|
||||
this.setData({
|
||||
newModule: newModule
|
||||
})
|
||||
},
|
||||
chasingdramadel(ev: any) {
|
||||
const sid = ev.currentTarget.dataset.sid;
|
||||
this.myModal?.show?.();
|
||||
this.setData({
|
||||
bookId: sid
|
||||
})
|
||||
},
|
||||
addkeep(ev: any) {
|
||||
const sid = ev.currentTarget.dataset.sid;
|
||||
const params = {
|
||||
sid: sid
|
||||
}
|
||||
httpRequest('/addkeep', 'POST', params).then((res: any) => {
|
||||
if (res.status == 1) {
|
||||
this.handelKeepFn(sid, 1);
|
||||
tt.showToast({
|
||||
title: '订阅成功',
|
||||
icon: 'none'
|
||||
});
|
||||
}
|
||||
})
|
||||
},
|
||||
myModalRef(ref: any) {
|
||||
this.myModal = ref
|
||||
},
|
||||
handelMyModal(ev: any) {
|
||||
const sid = ev.currentTarget.dataset.sid;
|
||||
this.myModal?.show?.();
|
||||
this.setData({
|
||||
bookId: sid
|
||||
})
|
||||
},
|
||||
modalConfirm() {
|
||||
const bookId = this.data.bookId;
|
||||
const params = {
|
||||
ids: bookId
|
||||
}
|
||||
httpRequest('/chasingdramadel', 'POST', params).then((res: any) => {
|
||||
if (res.status == 1) {
|
||||
this.handelKeepFn(bookId, 0);
|
||||
tt.showToast({
|
||||
title: '取消成功',
|
||||
icon: 'none'
|
||||
});
|
||||
}
|
||||
})
|
||||
},
|
||||
toPathSubScribe() {
|
||||
tt.navigateTo({
|
||||
url: `/pages/subscribe/subscribe`,
|
||||
});
|
||||
}
|
||||
})
|
@ -6,13 +6,12 @@
|
||||
</view>
|
||||
<view class="_heome_swiper">
|
||||
<swiper previous-margin="70rpx" next-margin="70rpx" class="_heome_swi_warp" circular="{{true}}"
|
||||
bindchange="handelSwiperChange">
|
||||
<block tt:for="{{5}}">
|
||||
<swiper-item class="_home_swi_item">
|
||||
<view class="_home_swi_it_warp {{swiperCurrent == index ? 'active' :''}}">
|
||||
<image
|
||||
src="https://dymgjcweb.qinjiu8.com/public/skits/2023/07/25/414c0d485788aba331337826f2efe31f.jpg"
|
||||
class="_home_swi_it_wa_img" mode="aspectFill"></image>
|
||||
bindchange="handelSwiperChange" autoplay="{{true}}" interval="{{2000}}">
|
||||
<block tt:for="{{carouselChart}}">
|
||||
<swiper-item class="_home_swi_item" tt:key="{{item.bookid}}">
|
||||
<view class="_home_swi_it_warp {{swiperCurrent == index ? 'active' :''}}" bindtap="toPathVideo"
|
||||
data-sid="{{item.bookid}}">
|
||||
<image src="{{item.cover}}" class="_home_swi_it_wa_img" mode="aspectFill"></image>
|
||||
<view class="_home_swi_it__play">
|
||||
<text class="_home_swi_it__pl_text">播放</text>
|
||||
</view>
|
||||
@ -28,48 +27,47 @@
|
||||
</view>
|
||||
<view class="_home_modul_1">
|
||||
<view class="_mo_1_header">
|
||||
<view class="_mo_1_hea_title">模块一</view>
|
||||
<view class="_mo_1_hea_title">精品短剧</view>
|
||||
</view>
|
||||
<view class="_mo_1_body">
|
||||
<view class="_mo_1_bo_list">
|
||||
<block tt:for="{{6}}">
|
||||
<view class="_mo_1__li_warp">
|
||||
<view class="_mo_1__li_wa_item">
|
||||
<image
|
||||
src="https://dymgjcweb.qinjiu8.com/public/skits/2023/07/25/414c0d485788aba331337826f2efe31f.jpg"
|
||||
class="__wa_img" mode="aspectFill"></image>
|
||||
<block tt:for="{{boutique}}">
|
||||
<view class="_mo_1__li_warp" tt:key="{{item.id}}">
|
||||
<view class="_mo_1__li_wa_item" data-sid="{{item.id}}" bindtap="toPathVideo">
|
||||
<image src="{{item.cover}}" class="__wa_img" mode="aspectFill"></image>
|
||||
</view>
|
||||
</view>
|
||||
</block>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="_home_modul_2">
|
||||
<view class="_home_modul_2" tt:if="{{bookcase.length}}">
|
||||
<view class="_mo_2_header">
|
||||
<view class="_mo_2_hea_title">模块二</view>
|
||||
<view class="_mo_2_hea_more">更多</view>
|
||||
<view class="_mo_2_hea_title">订阅专享</view>
|
||||
<view class="_mo_2_hea_more" bindtap="toPathSubScribe">更多</view>
|
||||
</view>
|
||||
<scroll-view class="_mo_2_scroll_view_H" scroll-x="true" bindscroll="scroll" style="width: 100%"
|
||||
scroll-left="{{0}}">
|
||||
<block tt:for="{{6}}">
|
||||
<view class="_mo_2_scr_con_i">
|
||||
<view class="_mo_2_scr__i_k">
|
||||
<scroll-view class="_mo_2_scroll_view_H" scroll-x="true" style="width: 100%" scroll-left="{{0}}">
|
||||
<block tt:for="{{bookcase}}">
|
||||
<view class="_mo_2_scr_con_i" tt:key="{{item.id}}">
|
||||
<view class="_mo_2_scr__i_k" data-sid="{{item.id}}" bindtap="toPathVideo">
|
||||
<view class="_mo_2_scr_warp">
|
||||
<view class="_mo_2_scr_wa_img">
|
||||
<image
|
||||
src="https://dymgjcweb.qinjiu8.com/public/skits/2023/07/25/414c0d485788aba331337826f2efe31f.jpg"
|
||||
class="__wa_img" mode="aspectFill"></image>
|
||||
<image src="{{item.cover}}" class="__wa_img" mode="aspectFill"></image>
|
||||
</view>
|
||||
<view class="_mo_2_scr_wa_btn">
|
||||
<view class="_mo_2_scr__b_subscribe">
|
||||
<!-- <view class="_mo_2_scr__b_subscribe">
|
||||
<text class="_mo_2_scr__b_su_text">订阅</text>
|
||||
</view> -->
|
||||
<view class="_mo_2_scr__b_subscribe _with_bg_color" data-sid="{{item.id}}"
|
||||
catchtap="handelMyModal">
|
||||
<text class="_mo_2_scr__b_su_text">已订阅</text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="_mo_2_scr_wa_other">
|
||||
<view class="_mo_2_scr__o_round"></view>
|
||||
<view class="_mo_2_scr__o_tips">第一</view>
|
||||
<view class="_mo_2_scr__o_tips">第{{index + 1}}</view>
|
||||
</view>
|
||||
</view>
|
||||
</block>
|
||||
@ -78,18 +76,16 @@
|
||||
|
||||
<view class="_home_modul_3">
|
||||
<view class="_mo_3_header">
|
||||
<view class="_mo_3_hea_title">模块三</view>
|
||||
<view class="_mo_3_hea_title">优选好剧</view>
|
||||
</view>
|
||||
<view class="_mo_3_content">
|
||||
<view class="_mo_3_con_list">
|
||||
<block tt:for="{{6}}">
|
||||
<view class="_mo_3_con_li_item">
|
||||
<view class="_mo_3_con_li_it_warp">
|
||||
<block tt:for="{{optimalSelection}}">
|
||||
<view class="_mo_3_con_li_item" tt:key="{{item.id}}">
|
||||
<view class="_mo_3_con_li_it_warp" data-sid="{{item.id}}" bindtap="toPathVideo">
|
||||
<view class="_mo_3_con_li_it_wa_cover">
|
||||
<image
|
||||
src="https://dymgjcweb.qinjiu8.com/public/skits/2023/07/25/414c0d485788aba331337826f2efe31f.jpg"
|
||||
class="__wa_img" mode="aspectFill"></image>
|
||||
<block tt:if="{{index <= 2}}">
|
||||
<image src="{{item.cover}}" class="__wa_img" mode="aspectFill"></image>
|
||||
<!-- <block tt:if="{{index <= 2}}">
|
||||
<view class="_mo_3_con_li_it_wa_co_tag ">
|
||||
<text class="_mo_3_con_li_it_wa_co_ta_text">新剧</text>
|
||||
</view>
|
||||
@ -98,10 +94,10 @@
|
||||
<view class="_mo_3_con_li_it_wa_co_tag bg_color">
|
||||
<text class="_mo_3_con_li_it_wa_co_ta_text">火热</text>
|
||||
</view>
|
||||
</block>
|
||||
</block> -->
|
||||
</view>
|
||||
<view class="_mo_3_con_li_it_wa_title">
|
||||
<text class="_mo_3_con_li_it_wa_ti_text">这是可以变的剧名这是可以变的剧名</text>
|
||||
<text class="_mo_3_con_li_it_wa_ti_text">{{item.name}}</text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
@ -112,18 +108,16 @@
|
||||
|
||||
<view class="_home_modul_4">
|
||||
<view class="_mo_4_header">
|
||||
<view class="_mo_4_hea_title">模块四</view>
|
||||
<view class="_mo_4_hea_title">经典短剧</view>
|
||||
</view>
|
||||
<view class="_mo_4_content">
|
||||
<view class="_mo_4_con_list">
|
||||
<block tt:for="{{6}}">
|
||||
<view class="_mo_4_con_li_item">
|
||||
<view class="_mo_4_con_li_it_warp">
|
||||
<block tt:for="{{classical}}">
|
||||
<view class="_mo_4_con_li_item" tt:key="{{item.id}}">
|
||||
<view class="_mo_4_con_li_it_warp" data-sid="{{item.id}}" bindtap="toPathVideo">
|
||||
<view class="_mo_4_con_li_it_wa_cover">
|
||||
<image
|
||||
src="https://dymgjcweb.qinjiu8.com/public/skits/2023/07/25/414c0d485788aba331337826f2efe31f.jpg"
|
||||
class="__wa_img" mode="aspectFill"></image>
|
||||
<block tt:if="{{index <= 1}}">
|
||||
<image src="{{item.cover}}" class="__wa_img" mode="aspectFill"></image>
|
||||
<!-- <block tt:if="{{index <= 1}}">
|
||||
<view class="_mo_4_con_li_it_wa_co_tag">
|
||||
<text class="_mo_4_con_li_it_wa_co_ta_text">新剧</text>
|
||||
</view>
|
||||
@ -132,14 +126,14 @@
|
||||
<view class="_mo_4_con_li_it_wa_co_tag _bg_active_color">
|
||||
<text class="_mo_4_con_li_it_wa_co_ta_text">火热</text>
|
||||
</view>
|
||||
</block>
|
||||
</block> -->
|
||||
</view>
|
||||
<view class="_mo_4_con_li_it_wa_info">
|
||||
<view class="_mo_4_con_li_it_wa_in_title">
|
||||
<text class="_mo_4_con_li_it_wa_in_ti_text">这是一个可以变的剧名这是一个可以变的剧名</text>
|
||||
<text class="_mo_4_con_li_it_wa_in_ti_text">{{item.name}}</text>
|
||||
</view>
|
||||
<view class="_mo_4_con_li_it_wa_in_description">
|
||||
<text class="_mo_4_con_li_it_wa_in_des_text">这是描述描述描述描述</text>
|
||||
<text class="_mo_4_con_li_it_wa_in_des_text">{{item.description}}</text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
@ -151,38 +145,35 @@
|
||||
|
||||
<view class="_home_modul_5">
|
||||
<view class="_mo_5_header">
|
||||
<view class="_mo_5_hea_title">模块五</view>
|
||||
<view class="_mo_5_hea_title">最新好剧</view>
|
||||
</view>
|
||||
<view class="_mo_5_content">
|
||||
<view class="_mo_5_con_list">
|
||||
<block tt:for="{{6}}">
|
||||
<view class="_mo_5_con_li_item">
|
||||
<view class="_mo_5_con_li_it_left">
|
||||
<image
|
||||
src="https://dymgjcweb.qinjiu8.com/public/skits/2023/07/25/414c0d485788aba331337826f2efe31f.jpg"
|
||||
class="__wa_img" mode="aspectFill"></image>
|
||||
<block tt:for="{{newModule}}">
|
||||
<view class="_mo_5_con_li_item" tt:key="{{item.id}}">
|
||||
<view class="_mo_5_con_li_it_left" data-sid="{{item.id}}" bindtap="toPathVideo">
|
||||
<image src="{{item.cover}}" class="__wa_img" mode="aspectFill"></image>
|
||||
<view class="_mo_5_con_li_it_le_tag">
|
||||
<view class="_mo_5_con_li_it_le_ta_icon">
|
||||
<image src="/static/subscribe.png" class="__wa_img"></image>
|
||||
</view>
|
||||
<view class="_mo_5_con_li_it_le_ta_num">
|
||||
<text class="_mo_5_con_li_it_le_ta_n_text">200k</text>
|
||||
<text class="_mo_5_con_li_it_le_ta_n_text">{{item.count}}</text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="_mo_5_con_li_it_right">
|
||||
<view class="_mo_5_con_li_it_ri_info">
|
||||
<view class="_mo_5_con_li_it_ri_title">
|
||||
<text class="_mo_5_con_li_it_ri_ti_text">这是一个可以变化的剧名这是一个可以变化的剧名</text>
|
||||
<text class="_mo_5_con_li_it_ri_ti_text">{{item.name}}</text>
|
||||
</view>
|
||||
<view class="_mo_5_con_li_it_ri_description">
|
||||
<text
|
||||
class="_mo_5_con_li_it_ri_des_text">这是描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述</text>
|
||||
<view class="_mo_5_con_li_it_ri_description" tt:if="{{item.description}}">
|
||||
<text class="_mo_5_con_li_it_ri_des_text">{{item.description}}</text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="_mo_5_con_li_it_ri_button">
|
||||
<block tt:if="{{index == 0}}">
|
||||
<view class="_mo_5_con_li_it_ri_btn_warp">
|
||||
<block tt:if="{{item.bookcase == 0}}">
|
||||
<view class="_mo_5_con_li_it_ri_btn_warp" catchtap="addkeep" data-sid="{{item.id}}">
|
||||
<text class="_mo_5_con_li_it_ri_btn_wa_text">订阅</text>
|
||||
<view class="_mo_5_con_li_it_ri_btn_wa_icon">
|
||||
<image src="/static/subscribe.png" class="__wa_img"></image>
|
||||
@ -190,7 +181,8 @@
|
||||
</view>
|
||||
</block>
|
||||
<block tt:else>
|
||||
<view class="_mo_5_con_li_it_ri_btn_wa_no">
|
||||
<view class="_mo_5_con_li_it_ri_btn_wa_no" catchtap="chasingdramadel"
|
||||
data-sid="{{item.id}}">
|
||||
<text class="_mo_5_con_li_it_ri_btn_wa_no_text">已订阅</text>
|
||||
<view class="_mo_5_con_li_it_ri_btn_wa_icon">
|
||||
<image src="/static/subscribe_active.png" class="__wa_img"></image>
|
||||
@ -203,6 +195,17 @@
|
||||
</block>
|
||||
</view>
|
||||
</view>
|
||||
<view class="_mo_5_loadong">
|
||||
<view class="_mo_5_load_icon">
|
||||
|
||||
</view>
|
||||
<view class="_mo_5_load_name">
|
||||
<text class="_mo_5_load_na_test">加载中...</text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<my-modal class="_m_modal_html" tt:ref="myModalRef" contentText="是否取消订阅?" cancelText="否" confirmText="是"
|
||||
bind:handelConfirm="modalConfirm" />
|
||||
|
||||
</view>
|
@ -258,6 +258,11 @@ page {
|
||||
height: 40rpx;
|
||||
border-radius: 20rpx;
|
||||
background: linear-gradient(90deg, #5BBE04 0%, #04BE55 100%);
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
._mo_2_scr__b_subscribe._with_bg_color {
|
||||
background: rgba(255, 255, 255, 0.10)
|
||||
}
|
||||
|
||||
._mo_2_scr__b_su_text {
|
||||
@ -266,6 +271,10 @@ page {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
._with_bg_color ._mo_2_scr__b_su_text {
|
||||
color: #999;
|
||||
}
|
||||
|
||||
._mo_3_header {
|
||||
padding: 28rpx 32rpx 36rpx;
|
||||
}
|
||||
@ -478,9 +487,9 @@ page {
|
||||
margin-bottom: 32rpx;
|
||||
}
|
||||
|
||||
._mo_5_con_li_item:last-child {
|
||||
/* ._mo_5_con_li_item:last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
} */
|
||||
|
||||
._mo_5_con_li_it_left {
|
||||
position: relative;
|
||||
@ -629,3 +638,19 @@ page {
|
||||
font-size: 20rpx;
|
||||
color: #999999;
|
||||
}
|
||||
|
||||
._mo_5_loadong {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
._mo_5_load_name {
|
||||
display: flex;
|
||||
line-height: 1;
|
||||
}
|
||||
|
||||
._mo_5_load_na_test {
|
||||
font-size: 32rpx;
|
||||
color: rgba(255, 255, 255, 0.3);
|
||||
}
|
@ -1,3 +1,4 @@
|
||||
{
|
||||
"usingComponents": {}
|
||||
"usingComponents": {},
|
||||
"navigationBarTitleText": "排行榜"
|
||||
}
|
@ -1,9 +1,26 @@
|
||||
// e:\project\dy_video_all\初晴剧场\pages\leaderboard\leaderboard.ts
|
||||
import { httpRequest } from "../../utils/httpReques";
|
||||
Page({
|
||||
data: {
|
||||
|
||||
module2: []
|
||||
},
|
||||
onLoad: function (options) {
|
||||
|
||||
}
|
||||
},
|
||||
onShow() {
|
||||
httpRequest('/top', 'POST', { lm: 1 }).then((res: any) => {
|
||||
console.log(res, "[ohdsfkjshgdfkjsdkjfhs")
|
||||
if (res.status == 1 && Array.isArray(res?.data?.module2)) {
|
||||
this.setData({
|
||||
module2: res?.data?.module2
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
toPathVideo(ev: any) {
|
||||
const sid = ev.currentTarget.dataset.sid;
|
||||
tt.navigateTo({
|
||||
url: `/pages/videoDetail/videoDetail?sid=${sid}`,
|
||||
});
|
||||
},
|
||||
})
|
@ -19,8 +19,8 @@
|
||||
</view>
|
||||
<view class="_leaderboard_list">
|
||||
<view class="_leaderboard_l_ul">
|
||||
<block tt:for="{{6}}">
|
||||
<view class="_leaderboard_l_u_item">
|
||||
<block tt:for="{{module2}}">
|
||||
<view class="_leaderboard_l_u_item" tt:key="{{item.id}}" data-sid="{{item.id}}" catchtap="toPathVideo">
|
||||
<view class="_leaderboard_l_u_i_left">
|
||||
<view class="_leaderboard_l_u_i_l_cover">
|
||||
<image
|
||||
@ -46,24 +46,23 @@
|
||||
<view class="_leaderboard_l_u_i_right">
|
||||
<view class="_leaderboard_l_u_i_r_he">
|
||||
<view class="_leaderboard_l_u_i_r_h_title">
|
||||
<text class="_leaderboard_l_u_i_r_h_t_text">这是一个可以72变的剧名</text>
|
||||
<text class="_leaderboard_l_u_i_r_h_t_text">{{item.name}}</text>
|
||||
</view>
|
||||
<view class="_leaderboard_l_u_i_r_h_heat">
|
||||
<view class="_leaderboard_l_u_i_r_h_h_icon">
|
||||
<image src="/static/host_icon.png" class="__wa_img_no_radius"></image>
|
||||
</view>
|
||||
<view class="_leaderboard_l_u_i_r_h_h_num">
|
||||
<text class="_leaderboard_l_u_i_r_h_h_n_text">20K</text>
|
||||
<text class="_leaderboard_l_u_i_r_h_h_n_text">{{item.rand}}</text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="_leaderboard_l_u_i_r_description">
|
||||
<text
|
||||
class="_leaderboard_l_u_i_r_des_text">描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述</text>
|
||||
<text class="_leaderboard_l_u_i_r_des_text">{{item.description}}</text>
|
||||
</view>
|
||||
|
||||
<view class="_leaderboard_l_u_i_r_btn">
|
||||
<view class="_leaderboard_l_u_i_r_bt_watch">
|
||||
<view class="_leaderboard_l_u_i_r_bt_watch" data-sid="{{item.id}}" catchtap="toPathVideo">
|
||||
<text class="_leaderboard_l_u_i_r_bt_w_text">立即观看</text>
|
||||
</view>
|
||||
</view>
|
||||
|
@ -1,5 +1,6 @@
|
||||
{
|
||||
"usingComponents": {
|
||||
"my-modal": "/components/myModal/myModal"
|
||||
}
|
||||
},
|
||||
"navigationBarTitleText": "我的"
|
||||
}
|
@ -1,9 +1,39 @@
|
||||
// e:\project\dy_video_all\初晴剧场\pages\my\my.ts
|
||||
import { httpRequest } from "../../utils/httpReques";
|
||||
|
||||
Page({
|
||||
myModal: null as any,
|
||||
data: {
|
||||
userInfo: {},
|
||||
platform: '',
|
||||
historyList: []
|
||||
},
|
||||
onLoad: function (options) {
|
||||
onLoad() {
|
||||
tt.getSystemInfo({
|
||||
success: (res: any) => {
|
||||
this.setData({
|
||||
platform: res.platform
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
onShow() {
|
||||
httpRequest('/user', 'POST').then((res: any) => {
|
||||
if (res.status == 1) {
|
||||
this.setData({
|
||||
userInfo: res.data.info,
|
||||
})
|
||||
}
|
||||
})
|
||||
httpRequest('/history', 'POST').then((res: any) => {
|
||||
console.log(res, "history")
|
||||
if (res.status == 1 && Array.isArray(res.data)) {
|
||||
this.setData({
|
||||
historyList: res.data,
|
||||
})
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
},
|
||||
handelTipsGold() {
|
||||
@ -11,5 +41,31 @@ Page({
|
||||
},
|
||||
myModalRef(ref: any) {
|
||||
this.myModal = ref
|
||||
},
|
||||
toPathVideo(ev: any) {
|
||||
const sid = ev.currentTarget.dataset.sid;
|
||||
tt.navigateTo({
|
||||
url: `/pages/videoDetail/videoDetail?sid=${sid}`,
|
||||
});
|
||||
},
|
||||
toPathRechargeRecord() {
|
||||
tt.navigateTo({
|
||||
url: `/pages/rechargeRecord/rechargeRecord`,
|
||||
});
|
||||
},
|
||||
toPathPay() {
|
||||
tt.navigateTo({
|
||||
url: `/pages/pay/pay`,
|
||||
});
|
||||
},
|
||||
toPathSubScribe() {
|
||||
tt.navigateTo({
|
||||
url: `/pages/subscribe/subscribe`,
|
||||
});
|
||||
},
|
||||
toPathConsumption() {
|
||||
tt.navigateTo({
|
||||
url: `/pages/consumption/consumption`,
|
||||
});
|
||||
}
|
||||
})
|
@ -8,7 +8,7 @@
|
||||
</view>
|
||||
<view class="_my_body">
|
||||
<view class="_my_step_1">
|
||||
<view class="_my_ste_1_purchase">
|
||||
<view class="_my_ste_1_purchase" bindtap="toPathRechargeRecord">
|
||||
<text class="_my_ste_1_pu_text">购买记录</text>
|
||||
</view>
|
||||
</view>
|
||||
@ -16,10 +16,15 @@
|
||||
<view class="_my_ste_2_user">
|
||||
<view class="_my_ste_2_u_other">
|
||||
<view class="_my_ste_2_u_o_title">
|
||||
<text class="_my_ste_2_u_o_t_text">用户的名字</text>
|
||||
<block tt:if="{{userInfo.nickname}}">
|
||||
<text class="_my_ste_2_u_o_t_text">{{userInfo.nickname}}</text>
|
||||
</block>
|
||||
<block tt:else>
|
||||
<text class="_my_ste_2_u_o_t_text">用户{{userInfo.uid}}</text>
|
||||
</block>
|
||||
</view>
|
||||
<view class="_my_ste_2_u_o_id">
|
||||
<text class="_my_ste_2_u_o_i_text">ID:123456789</text>
|
||||
<text class="_my_ste_2_u_o_i_text">ID:{{userInfo.uid}}</text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="_my_ste_2_u_avatar">
|
||||
@ -37,12 +42,21 @@
|
||||
<view class="_my_ste_3_v_i_w_icon">
|
||||
<text class="_my_ste_3_v_i_w_ic_text">VIP</text>
|
||||
</view>
|
||||
<view class="_my_ste_3_v_i_w_tips">
|
||||
<text class="_my_ste_3_v_i_w_ti_text">您还没有激活VIP</text>
|
||||
</view>
|
||||
<view class="_my_ste_3_v_i_w_btn">
|
||||
<text class="_my_ste_3_v_i_w_b_text">立即充值</text>
|
||||
</view>
|
||||
<block tt:if="{{userInfo.is_vip}}">
|
||||
<view class="_my_ste_3_v_i_w_tips">
|
||||
<text class="_my_ste_3_v_i_w_ti_text">距离VIP到期时间还剩下{{ userInfo.vip_enddate }}天</text>
|
||||
</view>
|
||||
</block>
|
||||
<blcok tt:else>
|
||||
<view class="_my_ste_3_v_i_w_tips">
|
||||
<text class="_my_ste_3_v_i_w_ti_text">您还没有激活VIP</text>
|
||||
</view>
|
||||
</blcok>
|
||||
<blcok tt:if="{{platform != 'ios'}}">
|
||||
<view class="_my_ste_3_v_i_w_btn" bindtap="toPathPay">
|
||||
<text class="_my_ste_3_v_i_w_b_text">立即充值</text>
|
||||
</view>
|
||||
</blcok>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
@ -56,7 +70,7 @@
|
||||
<image src="/static/gold_icon.png" class="__wa_img_no_radius"></image>
|
||||
</view>
|
||||
<view class="_my_ste_3_v_cu_it_kk_num">
|
||||
<text class="_my_ste_3_v_cu_it_kk_n_text">99999</text>
|
||||
<text class="_my_ste_3_v_cu_it_kk_n_text">{{userInfo.egold || 0}}</text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
@ -75,7 +89,7 @@
|
||||
<image src="/static/gold_icon.png" class="__wa_img_no_radius"></image>
|
||||
</view>
|
||||
<view class="_my_ste_3_v_cu_it_kk_num">
|
||||
<text class="_my_ste_3_v_cu_it_kk_n_text">99999</text>
|
||||
<text class="_my_ste_3_v_cu_it_kk_n_text">{{userInfo.zb || 0}}</text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
@ -83,26 +97,25 @@
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="_my_step_4">
|
||||
<view class="_my_step_4" tt:if="{{historyList.length}}">
|
||||
<view class="_my_ste_4_header">
|
||||
<view class="_my_ste_4_he_title">
|
||||
<text class="_my_ste_4_he_ti_text">观看历史</text>
|
||||
</view>
|
||||
<view class="_my_ste_4_he_more">
|
||||
<!-- <view class="_my_ste_4_he_more">
|
||||
<text class="_my_ste_4_he_mo_text">更多</text>
|
||||
</view>
|
||||
</view> -->
|
||||
</view>
|
||||
<view class="_my_ste_4_history">
|
||||
<scroll-view class="_my_ste_4_scr_H" scroll-x="true" style="width: 100%">
|
||||
<block tt:for="{{8}}">
|
||||
<view class="_my_ste_4_scr_H_item">
|
||||
<block tt:for="{{historyList}}">
|
||||
<view class="_my_ste_4_scr_H_item" tt:key="{{item.id}}" data-sid="{{item.id}}"
|
||||
bindtap="toPathVideo">
|
||||
<view class="_my_ste_4_scr_H_i_cover">
|
||||
<image
|
||||
src="https://dymgjcweb.qinjiu8.com/public/skits/2023/07/25/414c0d485788aba331337826f2efe31f.jpg"
|
||||
class="__m_c_iiii" mode="aspectFill"></image>
|
||||
<image src="{{item.cover}}" class="__m_c_iiii" mode="aspectFill"></image>
|
||||
</view>
|
||||
<view class="_my_ste_4_scr_H_i_title">
|
||||
<text class="_my_ste_4_scr_H_i_ti_text">这是一个可以变哈哈哈哈哈哈</text>
|
||||
<text class="_my_ste_4_scr_H_i_ti_text">{{item.name}}</text>
|
||||
</view>
|
||||
</view>
|
||||
</block>
|
||||
@ -112,7 +125,7 @@
|
||||
|
||||
<view class="_my_step_5">
|
||||
<view class="_my_ste_5_controls">
|
||||
<view class="_my_ste_5_co_item">
|
||||
<view class="_my_ste_5_co_item" catchtap="toPathSubScribe">
|
||||
<view class="_my_ste_5_co_it_left">
|
||||
<view class="_my_ste_5_co_it_le_icon">
|
||||
<image src="/static/collection_icon.png" class="__wa_img_no_radius"></image>
|
||||
@ -127,7 +140,7 @@
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="_my_ste_5_co_item">
|
||||
<view class="_my_ste_5_co_item" catchtap="toPathConsumption">
|
||||
<view class="_my_ste_5_co_it_left">
|
||||
<view class="_my_ste_5_co_it_le_icon">
|
||||
<image src="/static/consumption_icon.png" class="__wa_img_no_radius"></image>
|
||||
@ -142,21 +155,23 @@
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="_my_ste_5_co_item">
|
||||
<view class="_my_ste_5_co_it_left">
|
||||
<view class="_my_ste_5_co_it_le_icon">
|
||||
<image src="/static/customer_service.png" class="__wa_img_no_radius"></image>
|
||||
<button open-type="im" data-im-id="{{userInfo.im}}" class="_my_ste_5_co_ke_fu">
|
||||
<view class="_my_ste_5_co_item">
|
||||
<view class="_my_ste_5_co_it_left">
|
||||
<view class="_my_ste_5_co_it_le_icon">
|
||||
<image src="/static/customer_service.png" class="__wa_img_no_radius"></image>
|
||||
</view>
|
||||
<view class="_my_ste_5_co_it_le_name">
|
||||
<text class="_my_ste_5_co_it_le_na_text">在线客服</text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="_my_ste_5_co_it_le_name">
|
||||
<text class="_my_ste_5_co_it_le_na_text">在线客服</text>
|
||||
<view class="_my_ste_5_co_it_right">
|
||||
<view class="_my_ste_5_co_it_ri_arrow">
|
||||
<image src="/static/arrow_icon.png" class="__wa_img_no_radius"></image>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="_my_ste_5_co_it_right">
|
||||
<view class="_my_ste_5_co_it_ri_arrow">
|
||||
<image src="/static/arrow_icon.png" class="__wa_img_no_radius"></image>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</button>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
|
@ -395,3 +395,12 @@ page {
|
||||
width: 12rpx;
|
||||
height: 24rpx;
|
||||
}
|
||||
|
||||
._my_ste_5_co_ke_fu {
|
||||
background-color: transparent;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
._my_ste_5_co_ke_fu::after {
|
||||
content: none;
|
||||
}
|
3
pages/pay/pay.json
Normal file
@ -0,0 +1,3 @@
|
||||
{
|
||||
"usingComponents": {}
|
||||
}
|
113
pages/pay/pay.ts
Normal file
@ -0,0 +1,113 @@
|
||||
// e:\project\dy_video_all\dy_iaa_new_project\pages\pay\pay.ts
|
||||
import { httpRequest } from "../../utils/httpReques";
|
||||
Page({
|
||||
data: {
|
||||
currentPrice: 0,
|
||||
userInfo: {},
|
||||
payList: [],
|
||||
platform: '',
|
||||
otherInfo: {},
|
||||
iosIm: ''
|
||||
},
|
||||
onLoad(options) {
|
||||
tt.getSystemInfo({
|
||||
success: (res: any) => {
|
||||
this.setData({
|
||||
platform: res.platform,
|
||||
otherInfo: options
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
onShow() {
|
||||
httpRequest('/user', 'POST').then((res: any) => {
|
||||
if (res.status == 1) {
|
||||
this.setData({
|
||||
userInfo: res.data.info,
|
||||
})
|
||||
}
|
||||
})
|
||||
httpRequest('/paysetting', 'POST').then((res: any) => {
|
||||
console.log(res, "---------")
|
||||
if (res.status == 1) {
|
||||
this.setData({
|
||||
payList: res.data.list,
|
||||
iosIm: res.iosIm
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
handelSelectPrice(ev: any) {
|
||||
const idx = ev.currentTarget.dataset.idx;
|
||||
this.setData({
|
||||
currentPrice: idx
|
||||
})
|
||||
},
|
||||
handelRechargeNow() {
|
||||
const platform = this.data.platform;
|
||||
const payList = this.data.payList;
|
||||
const currentPrice = this.data.currentPrice;
|
||||
const payItemInfo: any = payList[currentPrice];
|
||||
const otherInfo: any = this.data.otherInfo;
|
||||
const iosIm = this.data.iosIm;
|
||||
const launchsite = tt.getStorageSync('launchsite') || 1;
|
||||
if (platform == 'ios') {
|
||||
tt.showToast({
|
||||
title: '暂不支持ios支付',
|
||||
icon: 'none',
|
||||
duration: 2000
|
||||
});
|
||||
} else {
|
||||
console.log(payItemInfo, "payItemInfo")
|
||||
if (tt.canIUse('getOrderPayment') && tt.canIUse('requestOrder')) {
|
||||
const params = {
|
||||
id: payItemInfo.id,
|
||||
isback: payItemInfo?.isback == 1 ? 1 : 0,
|
||||
launchsite,
|
||||
sid: otherInfo.sid || '',
|
||||
jid: otherInfo.id || ''
|
||||
}
|
||||
httpRequest('/Newplaceanorder', 'POST', params).then((res: any) => {
|
||||
console.log(res, "paramsparams")
|
||||
if (res.status == 1) {
|
||||
tt.requestOrder({
|
||||
data: res.data.data,
|
||||
byteAuthorization: res.data.byteAuthorization,
|
||||
payScene: platform === 'ios' ? 'IM' : '',
|
||||
success: (su: any) => {
|
||||
console.log(su, "susu");
|
||||
tt.showLoading({
|
||||
title: '拉起支付中...'
|
||||
})
|
||||
tt.getOrderPayment({
|
||||
orderId: su.orderId,
|
||||
imId: platform === 'ios' ? iosIm : '',
|
||||
success: (payRes: any) => {
|
||||
tt.hideLoading({});
|
||||
if (platform != 'ios') {
|
||||
tt.showToast({
|
||||
title: '支付成功',
|
||||
duration: 2000
|
||||
});
|
||||
}
|
||||
},
|
||||
fail: (payError: any) => {
|
||||
console.log(payError);
|
||||
tt.hideLoading({});
|
||||
},
|
||||
complete: (complete: any) => {
|
||||
console.log(complete);
|
||||
},
|
||||
})
|
||||
},
|
||||
fail: (failError: any) => {
|
||||
console.log(failError);
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
134
pages/pay/pay.ttml
Normal file
@ -0,0 +1,134 @@
|
||||
<view class="_pay_html">
|
||||
<view class="_pay_top_bg">
|
||||
<image src="/static/pay_bg.png" class="__wa_img_no_radius"></image>
|
||||
</view>
|
||||
<view class="_pay_body">
|
||||
<view class="_pay_b_buy">
|
||||
<view class="_pay_b_bu_btn">
|
||||
<text class="_pay_b_bu_bt_text">购买记录</text>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="_pay_b_user">
|
||||
<view class="_pay_b_us_info">
|
||||
<view class="_pay_b_us_in_left">
|
||||
<view class="_pay_b_us_in_le_warp">
|
||||
<view class="_pay_b_us_in_le_name">
|
||||
<block tt:if="{{userInfo.nickname}}">
|
||||
<text class="_pay_b_us_in_le_na_text">{{userInfo.nickname}}</text>
|
||||
</block>
|
||||
<block tt:else>
|
||||
<text class="_pay_b_us_in_le_na_text">用户{{userInfo.uid}}</text>
|
||||
</block>
|
||||
</view>
|
||||
<view class="_pay_b_us_in_le_vip_icon">
|
||||
<block tt:if="{{userInfo.is_vip}}">
|
||||
<image src="/static/vip_icon_selected.png" class="__wa_img_no_radius"></image>
|
||||
</block>
|
||||
<block tt:else>
|
||||
<image src="/static/vip_icon.png" class="__wa_img_no_radius"></image>
|
||||
</block>
|
||||
</view>
|
||||
</view>
|
||||
<view class="_pay_b_us_in_le_id">
|
||||
<text class="_pay_b_us_in_le_id_text">ID: {{userInfo.uid}}</text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="_pay_b_us_in_right">
|
||||
<image src="/static/acquiesce_ava.png" class="__wa_img_no_radius"></image>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="_pay_b_vip_timer">
|
||||
<view class="_pay_b_v_ti_box">
|
||||
<view class="_pay_b_v_ti_b_warp">
|
||||
<block tt:if="{{userInfo.is_vip}}">
|
||||
<view class="_pay_b_v_ti_b_w_tips">
|
||||
<text class="_pay_b_v_ti_b_w_t_text">VIP到期还有:</text>
|
||||
</view>
|
||||
<view class="_pay_b_v_ti_b_w_timer">
|
||||
<text class="_pay_b_v_ti_b_w_ti_text">{{userInfo.vip_enddate}} 天</text>
|
||||
</view>
|
||||
</block>
|
||||
<block tt:else>
|
||||
<view class="_pay_b_v_ti_b_w_timer">
|
||||
<text class="_pay_b_v_ti_b_w_ti_text">您还没有激活VlP</text>
|
||||
</view>
|
||||
</block>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="_pay_b_top_up">
|
||||
<view class="_pay_b_to_u_box">
|
||||
<block tt:for="{{payList}}">
|
||||
<view class="_pay_b_to_u_b_item" bindtap="handelSelectPrice" data-idx="{{index}}">
|
||||
<view class="_pay_b_to_u_b_it_content {{currentPrice == index ? '_acv_bg_it' :''}}">
|
||||
<view class="_pay_b_to_u_b_it_con_day">
|
||||
<text class="_pay_b_to_u_b_it_con_da_text">{{item.poster}}</text>
|
||||
</view>
|
||||
<view class="_pay_b_to_u_b_it_con_price">
|
||||
<view class="_pay_b_to_u_b_it_con_pr_warp">
|
||||
<text class="_pay_b_to_u_b_it_con_pr_symbol">¥</text>
|
||||
<text class="_pay_b_to_u_b_it_con_pr_num">{{item.price}}</text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</block>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="_pay_b_privilege">
|
||||
<view class="_pay_b_pri_list">
|
||||
<view class="_pay_b_pri_li_item">
|
||||
<view class="_pay_b_pri_li_it_box">
|
||||
<view class="_pay_b_pri_li_it_b_icon">
|
||||
<image src="/static/privilege_no_ad.png" class="__wa_img_no_radius"></image>
|
||||
</view>
|
||||
<view class="_pay_b_pri_li_it_b_description">
|
||||
<text class="_pay_b_pri_li_it_b_des_text">观看中无广告</text>
|
||||
</view>
|
||||
<view class="_pay_b_pri_li_it_b_bg_color">
|
||||
<view class="_pay_b_pri_li_it_b_bg_co_warp"></view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="_pay_b_pri_li_item">
|
||||
<view class="_pay_b_pri_li_it_box">
|
||||
<view class="_pay_b_pri_li_it_b_icon">
|
||||
<image src="/static/privilege_play.png" class="__wa_img_no_radius"></image>
|
||||
</view>
|
||||
<view class="_pay_b_pri_li_it_b_description">
|
||||
<text class="_pay_b_pri_li_it_b_des_text">享受全部资源</text>
|
||||
</view>
|
||||
<view class="_pay_b_pri_li_it_b_bg_color">
|
||||
<view class="_pay_b_pri_li_it_b_bg_co_warp"></view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="_pay_b_pri_li_item">
|
||||
<view class="_pay_b_pri_li_it_box">
|
||||
<view class="_pay_b_pri_li_it_b_icon">
|
||||
<image src="/static/privilege_more.png" class="__wa_img_no_radius"></image>
|
||||
</view>
|
||||
<view class="_pay_b_pri_li_it_b_description">
|
||||
<text class="_pay_b_pri_li_it_b_des_text">跟多特权</text>
|
||||
</view>
|
||||
<view class="_pay_b_pri_li_it_b_bg_color">
|
||||
<view class="_pay_b_pri_li_it_b_bg_co_warp"></view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="_pay_b_footer">
|
||||
<view class="_pay_b_foo_bug_btn" bindtap="handelRechargeNow">
|
||||
<text class="_pay_b_foo_bug_bt_text">立即购买</text>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
</view>
|
||||
</view>
|
332
pages/pay/pay.ttss
Normal file
@ -0,0 +1,332 @@
|
||||
/* e:\project\dy_video_all\dy_iaa_new_project\pages\pay\pay.ttss */
|
||||
|
||||
._pay_html {
|
||||
position: relative;
|
||||
padding-bottom: 196rpx;
|
||||
}
|
||||
|
||||
._pay_top_bg {
|
||||
position: absolute;
|
||||
top: -46rpx;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 440rpx;
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
._pay_body {
|
||||
position: relative;
|
||||
top: 0;
|
||||
left: 0;
|
||||
z-index: 2;
|
||||
}
|
||||
|
||||
._pay_b_buy {
|
||||
display: flex;
|
||||
justify-content: flex-end;
|
||||
padding: 42rpx 32rpx;
|
||||
}
|
||||
|
||||
._pay_b_bu_btn {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
/* width: 208rpx; */
|
||||
height: 50rpx;
|
||||
padding: 0 32rpx;
|
||||
background-color: #000000;
|
||||
border-radius: 50rpx;
|
||||
}
|
||||
|
||||
._pay_b_bu_bt_text {
|
||||
font-size: 20rpx;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
._pay_b_user {
|
||||
width: 100%;
|
||||
padding: 0 32rpx;
|
||||
}
|
||||
|
||||
._pay_b_us_info {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
width: 100%;
|
||||
height: 152rpx;
|
||||
}
|
||||
|
||||
._pay_b_us_in_right {
|
||||
width: 152rpx;
|
||||
height: 152rpx;
|
||||
border-radius: 50%;
|
||||
margin-left: 20rpx;
|
||||
}
|
||||
|
||||
._pay_b_us_in_left {
|
||||
flex: 1;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
._pay_b_us_in_le_name {
|
||||
display: flex;
|
||||
max-width: 70%;
|
||||
line-height: 1;
|
||||
}
|
||||
|
||||
._pay_b_us_in_le_na_text {
|
||||
display: inline-block;
|
||||
width: 100%;
|
||||
font-size: 44rpx;
|
||||
color: #fff;
|
||||
font-weight: 600;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
._pay_b_us_in_le_id {
|
||||
display: flex;
|
||||
line-height: 1;
|
||||
margin-top: 30rpx;
|
||||
}
|
||||
|
||||
._pay_b_us_in_le_id_text {
|
||||
font-size: 24rpx;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
._pay_b_us_in_le_warp {
|
||||
display: flex;
|
||||
}
|
||||
|
||||
._pay_b_us_in_le_vip_icon {
|
||||
width: 44rpx;
|
||||
height: 36rpx;
|
||||
}
|
||||
|
||||
._pay_b_vip_timer {
|
||||
width: 100%;
|
||||
padding: 0 32rpx;
|
||||
margin-top: 34rpx;
|
||||
}
|
||||
|
||||
._pay_b_v_ti_box {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
width: 100%;
|
||||
height: 158rpx;
|
||||
background-color: #080B16;
|
||||
border-radius: 16rpx;
|
||||
border: 2rpx solid #FFE8C3;
|
||||
padding: 0 28rpx;
|
||||
}
|
||||
|
||||
._pay_b_v_ti_b_warp {
|
||||
display: flex;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
._pay_b_v_ti_b_w_tips {
|
||||
display: flex;
|
||||
line-height: 1;
|
||||
}
|
||||
|
||||
._pay_b_v_ti_b_w_t_text {
|
||||
font-size: 28rpx;
|
||||
color: #999999;
|
||||
}
|
||||
|
||||
._pay_b_v_ti_b_w_timer {
|
||||
display: flex;
|
||||
line-height: 1;
|
||||
}
|
||||
|
||||
._pay_b_v_ti_b_w_ti_text {
|
||||
font-size: 28rpx;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
._pay_b_top_up {
|
||||
width: 100%;
|
||||
padding-left: 32rpx;
|
||||
padding-right: 16rpx;
|
||||
margin-top: 60rpx;
|
||||
}
|
||||
|
||||
._pay_b_to_u_box {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
|
||||
._pay_b_to_u_b_item {
|
||||
width: 33.33%;
|
||||
height: 256rpx;
|
||||
padding-right: 16rpx;
|
||||
margin-bottom: 22rpx;
|
||||
}
|
||||
|
||||
._pay_b_to_u_b_it_content {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background-color: #272A30;
|
||||
border-radius: 16rpx 40rpx 16rpx 16rpx;
|
||||
border: 4rpx solid transparent;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
._pay_b_to_u_b_it_con_day {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
width: 100%;
|
||||
height: 56rpx;
|
||||
}
|
||||
|
||||
._pay_b_to_u_b_it_con_da_text {
|
||||
line-height: 1;
|
||||
font-size: 28rpx;
|
||||
color: #999999;
|
||||
}
|
||||
|
||||
._pay_b_to_u_b_it_con_price {
|
||||
flex: 1;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
line-height: 1
|
||||
}
|
||||
|
||||
._pay_b_to_u_b_it_con_pr_warp {
|
||||
display: flex;
|
||||
align-items: flex-end;
|
||||
}
|
||||
|
||||
._pay_b_to_u_b_it_con_pr_symbol {
|
||||
font-size: 28rpx;
|
||||
color: #999999;
|
||||
}
|
||||
|
||||
._pay_b_to_u_b_it_con_pr_num {
|
||||
font-size: 48rpx;
|
||||
color: #999999;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
._pay_b_to_u_b_it_content._acv_bg_it {
|
||||
border-color: #5BBE04;
|
||||
background-color: rgba(91, 190, 4, 0.20);
|
||||
}
|
||||
|
||||
._acv_bg_it ._pay_b_to_u_b_it_con_day {
|
||||
background: linear-gradient(180deg, #5BBE04 0%, #04BE55 100%);
|
||||
}
|
||||
|
||||
._acv_bg_it ._pay_b_to_u_b_it_con_da_text {
|
||||
color: #080B16;
|
||||
}
|
||||
|
||||
._acv_bg_it ._pay_b_to_u_b_it_con_pr_symbol {
|
||||
color: #5BBE04;
|
||||
}
|
||||
|
||||
._acv_bg_it ._pay_b_to_u_b_it_con_pr_num {
|
||||
color: #5BBE04;
|
||||
}
|
||||
|
||||
._pay_b_privilege {
|
||||
width: 100%;
|
||||
padding-left: 32rpx;
|
||||
padding-right: 16rpx;
|
||||
margin-top: 80rpx;
|
||||
}
|
||||
|
||||
._pay_b_pri_list {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
|
||||
._pay_b_pri_li_item {
|
||||
width: 33.33%;
|
||||
height: 220rpx;
|
||||
padding-right: 16rpx;
|
||||
}
|
||||
|
||||
._pay_b_pri_li_it_box {
|
||||
position: relative;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
/* overflow: hidden; */
|
||||
}
|
||||
|
||||
._pay_b_pri_li_it_b_icon {
|
||||
position: absolute;
|
||||
top: -20rpx;
|
||||
left: 50%;
|
||||
width: 88rpx;
|
||||
height: 88rpx;
|
||||
border-radius: 50%;
|
||||
transform: translateX(-50%);
|
||||
}
|
||||
|
||||
._pay_b_pri_li_it_b_description {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
padding-top: 102rpx;
|
||||
}
|
||||
|
||||
._pay_b_pri_li_it_b_des_text {
|
||||
font-size: 24rpx;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
._pay_b_pri_li_it_b_bg_color {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
bottom: 0;
|
||||
right: 0;
|
||||
z-index: -1;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
._pay_b_pri_li_it_b_bg_co_warp {
|
||||
position: absolute;
|
||||
top: 16rpx;
|
||||
left: -2rpx;
|
||||
width: 105%;
|
||||
height: 100%;
|
||||
background: linear-gradient(180deg, #272A30 0%, rgba(39, 42, 48, 0) 100%);
|
||||
border-radius: 56rpx 46rpx 0 0;
|
||||
transform: rotate(-6deg);
|
||||
}
|
||||
|
||||
._pay_b_footer {
|
||||
position: fixed;
|
||||
left: 0;
|
||||
bottom: 0;
|
||||
width: 100%;
|
||||
padding: 32rpx 32rpx 60rpx;
|
||||
background-color: #080B16;
|
||||
}
|
||||
|
||||
._pay_b_foo_bug_btn {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
width: 100%;
|
||||
height: 84rpx;
|
||||
border-radius: 84rpx;
|
||||
background: linear-gradient(90deg, #5BBE04 0%, #04BE55 100%);
|
||||
z-index: 2;
|
||||
}
|
||||
|
||||
._pay_b_foo_bug_bt_text {
|
||||
font-size: 28rpx;
|
||||
color: #fff;
|
||||
}
|
@ -1,3 +1,4 @@
|
||||
{
|
||||
"usingComponents": {}
|
||||
"usingComponents": {},
|
||||
"navigationBarTitleText": "购买记录"
|
||||
}
|
@ -1,16 +1,35 @@
|
||||
// e:\project\dy_video_all\初晴剧场\pages\rechargeRecord\rechargeRecord.ts
|
||||
import { httpRequest } from "../../utils/httpReques";
|
||||
Page({
|
||||
data: {
|
||||
tabIndex: 1
|
||||
tabIndex: 1,
|
||||
recordList: [],
|
||||
recordFlag: false
|
||||
},
|
||||
onLoad: function (options) {
|
||||
onLoad() {
|
||||
|
||||
},
|
||||
onShow() {
|
||||
this.getRechargerecord()
|
||||
},
|
||||
getRechargerecord() {
|
||||
httpRequest('/rechargerecord', 'POST').then((res: any) => {
|
||||
if (res.status == 1 && Array.isArray(res.data)) {
|
||||
this.setData({
|
||||
recordList: res.data,
|
||||
recordFlag: true
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
handelTabCh(ev: any) {
|
||||
console.log(ev, "kkkkkkkkkkkkkkkk")
|
||||
const idx = ev.currentTarget.dataset.idx;
|
||||
if (idx == 1) {
|
||||
this.getRechargerecord();
|
||||
}
|
||||
this.setData({
|
||||
tabIndex: idx
|
||||
})
|
||||
}
|
||||
},
|
||||
|
||||
})
|
@ -2,49 +2,51 @@
|
||||
<view class="_reh_rec_tabs">
|
||||
<view class="_reh_rec_ta_item" bindtap="handelTabCh" data-idx="1">
|
||||
<view class="_reh_rec_ta_it_title">
|
||||
<text class="_reh_rec_ta_it_tit_text {{tabIndex == 1 ? '_oo_arct' : ''}}">购买K币</text>
|
||||
<text class="_reh_rec_ta_it_tit_text {{tabIndex == 1 ? '_oo_arct' : ''}}">购买VIP</text>
|
||||
</view>
|
||||
<view class="_reh_rec_ta_it_av_i {{tabIndex == 1 ? '_jj_uu' : ''}}"></view>
|
||||
</view>
|
||||
<view class="_reh_rec_ta_item" bindtap="handelTabCh" data-idx="2">
|
||||
<view class="_reh_rec_ta_it_title">
|
||||
<text class="_reh_rec_ta_it_tit_text {{tabIndex == 2 ? '_oo_arct' : ''}}">购买VIP</text>
|
||||
<text class="_reh_rec_ta_it_tit_text {{tabIndex == 2 ? '_oo_arct' : ''}}">购买K币</text>
|
||||
</view>
|
||||
<view class="_reh_rec_ta_it_av_i {{tabIndex == 2 ? '_jj_uu' : ''}}"></view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="_reh_rec_body">
|
||||
<view class="_reh_rec_b_list">
|
||||
<view class="_reh_rec_b_li_item">
|
||||
<view class="_reh_rec_b_li_it_header">
|
||||
<view class="_reh_rec_b_li_it_he_identi"></view>
|
||||
<view class="_reh_rec_b_li_it_he_title">
|
||||
<text class="_reh_rec_b_li_it_he_ti_text">2024-05-17</text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="_reh_rec_b_li_it_content">
|
||||
<view class="_reh_rec_b_li_it_co_detail">
|
||||
<view class="_reh_rec_b_li_it_co_de_ll">
|
||||
<view class="_reh_rec_b_li_it_co__ll_name">
|
||||
<text class="_reh_rec_b_li_it_co__ll_na_text">购买购买</text>
|
||||
</view>
|
||||
<view class="_reh_rec_b_li_it_co__ll_timer">
|
||||
<text class="_reh_rec_b_li_it_co__ll_tim_text">2024-05-17 55555555</text>
|
||||
</view>
|
||||
<block tt:if="{{recordList.length && recordFlag}}">
|
||||
<view class="_reh_rec_b_list">
|
||||
<view class="_reh_rec_b_li_item">
|
||||
<view class="_reh_rec_b_li_it_header">
|
||||
<view class="_reh_rec_b_li_it_he_identi"></view>
|
||||
<view class="_reh_rec_b_li_it_he_title">
|
||||
<text class="_reh_rec_b_li_it_he_ti_text">2024-05-17</text>
|
||||
</view>
|
||||
<view class="_reh_rec_b_li_it_co_de_rr">
|
||||
<view class="_reh_rec_b_li_it_co__rr_tyoe">
|
||||
<text class="_reh_rec_b_li_it_co__rr_ty_text">VIP</text>
|
||||
</view>
|
||||
<view class="_reh_rec_b_li_it_content">
|
||||
<view class="_reh_rec_b_li_it_co_detail">
|
||||
<view class="_reh_rec_b_li_it_co_de_ll">
|
||||
<view class="_reh_rec_b_li_it_co__ll_name">
|
||||
<text class="_reh_rec_b_li_it_co__ll_na_text">购买购买</text>
|
||||
</view>
|
||||
<view class="_reh_rec_b_li_it_co__ll_timer">
|
||||
<text class="_reh_rec_b_li_it_co__ll_tim_text">2024-05-17 55555555</text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="_reh_rec_b_li_it_co__rr_dddd">
|
||||
<text class="_reh_rec_b_li_it_co__rr_dd_text">+3天</text>
|
||||
<view class="_reh_rec_b_li_it_co_de_rr">
|
||||
<view class="_reh_rec_b_li_it_co__rr_tyoe">
|
||||
<text class="_reh_rec_b_li_it_co__rr_ty_text">VIP</text>
|
||||
</view>
|
||||
<view class="_reh_rec_b_li_it_co__rr_dddd">
|
||||
<text class="_reh_rec_b_li_it_co__rr_dd_text">+3天</text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<block>
|
||||
</block>
|
||||
<block tt:elif="{{recordFlag}}">
|
||||
<view class="_reh_rec_b_empty">
|
||||
<view class="_reh_rec_b_em_img">
|
||||
<image src="/static/cum_empry.png" class="__wa_img_no_radius"></image>
|
||||
|
@ -1,4 +0,0 @@
|
||||
{
|
||||
"component": true,
|
||||
"usingComponents": {}
|
||||
}
|
@ -1,12 +0,0 @@
|
||||
// e:\project\dy_video_all\初晴剧场\pages\recommend\components\mVideo\mVideo.ts
|
||||
Component({
|
||||
data: {
|
||||
|
||||
},
|
||||
properties: {
|
||||
|
||||
},
|
||||
methods: {
|
||||
|
||||
}
|
||||
})
|
@ -1,2 +0,0 @@
|
||||
<!-- e:\project\dy_video_all\初晴剧场\pages\recommend\components\mVideo\mVideo.ttml -->
|
||||
<text>e:\project\dy_video_all\初晴剧场\pages\recommend\components\mVideo\mVideo.ttml</text>
|
@ -1 +0,0 @@
|
||||
/* e:\project\dy_video_all\初晴剧场\pages\recommend\components\mVideo\mVideo.ttss */
|
@ -1,6 +0,0 @@
|
||||
{
|
||||
"component": true,
|
||||
"usingComponents": {
|
||||
"video-player": "ext://industry/video-player"
|
||||
}
|
||||
}
|
@ -1,47 +0,0 @@
|
||||
// e:\project\dy_video_all\初晴剧场\pages\recommend\components\mVideoPlayer\mVideoPlayer.ts
|
||||
import { httpRequest } from "../../../../utils/httpReques"
|
||||
|
||||
Component({
|
||||
data: {
|
||||
videoInfo: {},
|
||||
videoList: [],
|
||||
batchList: []
|
||||
},
|
||||
properties: {
|
||||
videoCanIUse: {
|
||||
type: Boolean,
|
||||
value: false
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
inShow() {
|
||||
this.initFn()
|
||||
},
|
||||
async initFn() {
|
||||
const params = {
|
||||
"uid": 127457025,
|
||||
"platform": "devtools",
|
||||
"is_b": 2,
|
||||
"sid": "2"
|
||||
}
|
||||
|
||||
const videoreadRes: any = await httpRequest('/videoread', 'POST', params);
|
||||
let videoInfo: any = {}
|
||||
if (videoreadRes.status == 1 && Array.isArray(videoreadRes.data)) {
|
||||
videoInfo = videoreadRes.data[0];
|
||||
}
|
||||
|
||||
const batchlistRes: any = await httpRequest('/batchlist', 'POST', params);
|
||||
let batchList: any = [];
|
||||
if (batchlistRes.status == 1 && Array.isArray(batchlistRes.data)) {
|
||||
batchList = batchlistRes.data;
|
||||
}
|
||||
|
||||
this.setData({
|
||||
batchList,
|
||||
videoInfo
|
||||
})
|
||||
|
||||
}
|
||||
}
|
||||
})
|
@ -1,11 +0,0 @@
|
||||
<view class="_m_vi_pl_swiper" tt:if="{{videoCanIUse}}">
|
||||
<swiper bindchange="onchange" class="_m_vi_pl_swiper" vertical="{{true}}">
|
||||
<block tt:for="{{3}}">
|
||||
<swiper-item>
|
||||
<video-player class="_m_v_w_video_player" poster="{{videoInfo.cover}}" album-id="{{videoInfo.album_id}}" episode-id="{{videoInfo.episode_id}}" cloud-type="{{videoInfo.cloudType}}" three-party-cloud="{{videoInfo.video_url}}" version="1">
|
||||
|
||||
</video-player>
|
||||
</swiper-item>
|
||||
</block>
|
||||
</swiper>
|
||||
</view>
|
@ -1,2 +0,0 @@
|
||||
/* e:\project\dy_video_all\初晴剧场\pages\recommend\components\mVideoPlayer\mVideoPlayer.ttss */
|
||||
|
@ -1,5 +1,6 @@
|
||||
{
|
||||
"usingComponents": {
|
||||
"video-player": "ext://industry/video-player"
|
||||
}
|
||||
},
|
||||
"navigationBarTitleText": "剧场"
|
||||
}
|
@ -9,39 +9,76 @@ Page({
|
||||
batchList: [],
|
||||
videoPlayerCurrent: 0,
|
||||
videoPlayernum: 4,
|
||||
videoErrorText: '',
|
||||
page: 1
|
||||
},
|
||||
onLoad: function (options: any) {
|
||||
onLoad() {
|
||||
const videoCanIUse = tt.canIUse('video-player');
|
||||
this.setData({
|
||||
videoCanIUse,
|
||||
})
|
||||
this.initFn();
|
||||
|
||||
},
|
||||
onShow() { },
|
||||
async initFn() {
|
||||
const params = {
|
||||
"uid": 127457025,
|
||||
"platform": "devtools",
|
||||
"is_b": 2,
|
||||
"sid": "2"
|
||||
onShow() {
|
||||
const page = this.data.page;
|
||||
this.initFn(page);
|
||||
},
|
||||
handelCount(count: any) {
|
||||
if (count > 999) {
|
||||
const isCount: any = (count / 100000).toFixed(2);
|
||||
const ik = parseFloat(isCount) * 100
|
||||
return `${ik}k`;
|
||||
}
|
||||
return count;
|
||||
},
|
||||
async initFn(page: any) {
|
||||
// const params = {
|
||||
// "uid": 127457025,
|
||||
// "platform": "devtools",
|
||||
// "is_b": 2,
|
||||
// "sid": "2"
|
||||
// }
|
||||
// const videoreadRes: any = await httpRequest('/videoread', 'POST', params);
|
||||
|
||||
const getNewModule2Res: any = await httpRequest('/getNewModule2', 'POST', { page });
|
||||
// console.log(getNewModule2)
|
||||
// let videoInfo: any = {}
|
||||
// if (videoreadRes.status == 1 && Array.isArray(videoreadRes.data)) {
|
||||
// videoInfo = videoreadRes.data[0];
|
||||
// }
|
||||
|
||||
// const batchlistRes: any = await httpRequest('/batchlist', 'POST', params);
|
||||
// let batchList: any = [];
|
||||
// if (batchlistRes.status == 1 && Array.isArray(batchlistRes.data)) {
|
||||
// batchList = batchlistRes.data;
|
||||
// }
|
||||
console.log(getNewModule2Res, "getNewModule2Res")
|
||||
if (getNewModule2Res.status == 1 && Array.isArray(getNewModule2Res.data.module)) {
|
||||
const moduleList = getNewModule2Res.data.module;
|
||||
const batchList = this.data.batchList;
|
||||
const ls = moduleList.map((m: any) => {
|
||||
return {
|
||||
...m,
|
||||
count: this.handelCount(m.count)
|
||||
}
|
||||
})
|
||||
if (page == 1) {
|
||||
this.setData({
|
||||
batchList: ls,
|
||||
page
|
||||
})
|
||||
} else {
|
||||
this.setData({
|
||||
batchList: batchList.concat(ls),
|
||||
page
|
||||
})
|
||||
}
|
||||
|
||||
const videoreadRes: any = await httpRequest('/videoread', 'POST', params);
|
||||
let videoInfo: any = {}
|
||||
if (videoreadRes.status == 1 && Array.isArray(videoreadRes.data)) {
|
||||
videoInfo = videoreadRes.data[0];
|
||||
}
|
||||
|
||||
const batchlistRes: any = await httpRequest('/batchlist', 'POST', params);
|
||||
let batchList: any = [];
|
||||
if (batchlistRes.status == 1 && Array.isArray(batchlistRes.data)) {
|
||||
batchList = batchlistRes.data;
|
||||
}
|
||||
|
||||
this.setData({
|
||||
batchList,
|
||||
videoInfo
|
||||
})
|
||||
// this.setData({
|
||||
// batchList,
|
||||
// videoInfo
|
||||
// })
|
||||
|
||||
},
|
||||
handelSeiperChange(ev: any) {
|
||||
@ -62,17 +99,96 @@ Page({
|
||||
});
|
||||
|
||||
this.setData({
|
||||
videoPlayerCurrent: current
|
||||
videoPlayerCurrent: current,
|
||||
})
|
||||
|
||||
if (current + 5 >= batchList.length) {
|
||||
const page = this.data.page;
|
||||
this.initFn(page + 1)
|
||||
}
|
||||
|
||||
},
|
||||
videoPlayerEnded() {
|
||||
console.log('videoPlayerEnded')
|
||||
const videoPlayerCurrent = this.data.videoPlayerCurrent;
|
||||
this.setData({
|
||||
videoPlayerCurrent: videoPlayerCurrent + 1
|
||||
videoPlayerCurrent: videoPlayerCurrent + 1,
|
||||
videoErrorText: ''
|
||||
})
|
||||
},
|
||||
|
||||
}
|
||||
videError(ev: any) {
|
||||
const errMsg = ev.detail.errMsg;
|
||||
console.log(errMsg, "errMsgerrMsg")
|
||||
let errMsgText = '';
|
||||
if (errMsg == 'Video is forbidden in playlet,please use video-player instead') {
|
||||
errMsgText = '抱歉,当前抖音版本过低,请升级抖音'
|
||||
} else {
|
||||
errMsgText = errMsg;
|
||||
}
|
||||
this.setData({
|
||||
videoErrorText: errMsgText
|
||||
})
|
||||
},
|
||||
|
||||
videPlayerError(ev: any) {
|
||||
|
||||
const errMsg = ev.detail.errMsg;
|
||||
let errMsgText = '';
|
||||
if (errMsg == 'Video is forbidden in playlet,please use video-player instead') {
|
||||
errMsgText = '抱歉,当前抖音版本过低,请升级抖音'
|
||||
} else {
|
||||
errMsgText = errMsg;
|
||||
}
|
||||
this.setData({
|
||||
videoErrorText: errMsgText
|
||||
})
|
||||
},
|
||||
|
||||
toPathVideoDetail() {
|
||||
console.log("toPathVideoDetail")
|
||||
tt.navigateTo({
|
||||
url: `/pages/videoDetail/videoDetail`,
|
||||
});
|
||||
},
|
||||
handelCollection(ev: any) {
|
||||
console.log(ev, "kkkkkkkkkkkk")
|
||||
const id = ev.currentTarget.dataset.id;
|
||||
let batchList: any = this.data.batchList;
|
||||
const idx = batchList.findIndex((m: any) => m.id == id);
|
||||
const bookcase = batchList[idx].bookcase;
|
||||
batchList[idx].bookcase = bookcase == 1 ? 0 : 1;
|
||||
if (bookcase) {
|
||||
const params = {
|
||||
ids: id
|
||||
}
|
||||
httpRequest('/chasingdramadel', 'POST', params).then((res: any) => {
|
||||
if (res.status == 1) {
|
||||
this.setData({
|
||||
batchList: batchList
|
||||
})
|
||||
tt.showToast({
|
||||
title: '取消成功',
|
||||
icon: 'none'
|
||||
});
|
||||
}
|
||||
})
|
||||
} else {
|
||||
const params = {
|
||||
sid: id
|
||||
}
|
||||
httpRequest('/addkeep', 'POST', params).then((res: any) => {
|
||||
if (res.status == 1) {
|
||||
this.setData({
|
||||
batchList: batchList
|
||||
})
|
||||
tt.showToast({
|
||||
title: '收藏成功',
|
||||
icon: 'none'
|
||||
});
|
||||
}
|
||||
})
|
||||
|
||||
}
|
||||
|
||||
},
|
||||
})
|
@ -1,62 +1,118 @@
|
||||
<view class="_recom_html">
|
||||
<block tt:if="{{videoCanIUse}}">
|
||||
<swiper bindchange="handelSeiperChange" class="_m_vi_pl_swiper" vertical="{{true}}" duration="{{100}}"
|
||||
easing-function="easeInOutCubic" current="{{videoPlayerCurrent}}">
|
||||
<block tt:for="{{batchList}}">
|
||||
<!-- tt:key="{{item.id}}" -->
|
||||
<swiper-item>
|
||||
<block
|
||||
tt:if="{{index == videoPlayerCurrent || index == videoPlayerCurrent - 1 || index == videoPlayerCurrent + 1}}">
|
||||
<view class="_m_v_w_it_main">
|
||||
<!-- <block tt:if="{{videoPlayerCurrent == index}}"> autoplay="{{ false}}" poster="{{videoInfo.cover}}"-->
|
||||
<video-player class="_m_v_w_video_player" album-id="{{videoInfo.album_id}}"
|
||||
episode-id="{{videoInfo.episode_id}}" cloud-type="{{videoInfo.cloudType}}"
|
||||
three-party-cloud="{{item.video_url}}" version="1" enable-progress-gesture="{{true}}"
|
||||
autoplay="{{ videoPlayerCurrent == index}}" id="{{item.id}}"
|
||||
enable-dark-water-mark="{{true}}" bindended="videoPlayerEnded">
|
||||
<!-- <block tt:if="{{videoCanIUse}}"> -->
|
||||
<swiper bindchange="handelSeiperChange" class="_m_vi_pl_swiper" vertical="{{true}}" duration="{{100}}"
|
||||
easing-function="easeInOutCubic" current="{{videoPlayerCurrent}}">
|
||||
<block tt:for="{{batchList}}">
|
||||
<!-- tt:key="{{item.id}}" -->
|
||||
<swiper-item>
|
||||
<block
|
||||
tt:if="{{index == videoPlayerCurrent || index == videoPlayerCurrent - 1 || index == videoPlayerCurrent + 1}}">
|
||||
<view class="_m_v_w_it_main">
|
||||
<!-- <block tt:if="{{videoPlayerCurrent == index}}"> autoplay="{{ false}}" poster="{{videoInfo.cover}}"-->
|
||||
<block
|
||||
tt:if="{{videoCanIUse && item.videoinfo.album_id && item.videoinfo.episode_id && item.videoinfo.cloudType}}">
|
||||
<video-player class="_m_v_w_video_player" album-id="{{item.videoinfo.album_id}}"
|
||||
episode-id="{{item.videoinfo.episode_id}}" cloud-type="{{item.videoinfo.cloudType}}"
|
||||
three-party-cloud="{{item.videoinfo.video_url}}" version="1"
|
||||
enable-progress-gesture="{{true}}" autoplay="{{ videoPlayerCurrent == index}}"
|
||||
id="{{item.id}}" enable-dark-water-mark="{{true}}" bindended="videoPlayerEnded"
|
||||
binderror="videPlayerError">
|
||||
<block tt:if="{{videoPlayerCurrent == index}}">
|
||||
<block tt:if="{{videoErrorText}}">
|
||||
<view class="_iii_video_content">
|
||||
<block tt:if="{{videoErrorText}}">
|
||||
<view class="_iii_video_co_err_warp">
|
||||
<view class="_iii_vi_co_e_img">
|
||||
<image src="/static/error-page.png" class="__wa_img_no_radius">
|
||||
</image>
|
||||
</view>
|
||||
<view class="_iii_vi_co_err">
|
||||
<text class="_iii_vi_co_err_text">{{videoErrorText}}</text>
|
||||
</view>
|
||||
</view>
|
||||
</block>
|
||||
</view>
|
||||
</block>
|
||||
</block>
|
||||
</video-player>
|
||||
<!-- </block>
|
||||
</block>
|
||||
<block tt:else>
|
||||
<video class="_m_v_w_video_player" vslide-gesture="{{true}}"
|
||||
src="{{item.videoinfo.video_url}}" version="1" enable-progress-gesture="{{true}}"
|
||||
autoplay="{{ videoPlayerCurrent == index}}" id="{{item.id}}"
|
||||
enable-dark-water-mark="{{true}}" bindended="videoPlayerEnded" binderror="videError">
|
||||
<block tt:if="{{videoPlayerCurrent == index}}">
|
||||
<block tt:if="{{videoErrorText}}">
|
||||
<view class="_iii_video_content">
|
||||
<block tt:if="{{videoErrorText}}">
|
||||
<view class="_iii_video_co_err_warp">
|
||||
<view class="_iii_vi_co_e_img">
|
||||
<image src="/static/error-page.png" class="__wa_img_no_radius">
|
||||
</image>
|
||||
</view>
|
||||
<view class="_iii_vi_co_err">
|
||||
<text class="_iii_vi_co_err_text">{{videoErrorText}}</text>
|
||||
</view>
|
||||
</view>
|
||||
</block>
|
||||
</view>
|
||||
</block>
|
||||
</block>
|
||||
</video>
|
||||
</block>
|
||||
|
||||
|
||||
<!-- </block>
|
||||
<block tt:else>
|
||||
<view class="_m_v_w_it_ma_cover">
|
||||
<image src="{{videoInfo.cover}}" mode="aspectFill" class="__wa_img_no_radius"></image>
|
||||
</view>
|
||||
</block> -->
|
||||
<view class="_m_v_w_v_operate_l">
|
||||
<view class="_m_vv_oper_l_col_w">
|
||||
<view class="_m_vv_oper_l_collect">
|
||||
<view class="_m_v_jw_v_to_path" catchtap="toPathVideoDetail">
|
||||
<text class="_m_v_jw_v_to_p_text">进入观看</text>
|
||||
</view>
|
||||
<view class="_m_v_w_v_operate_l">
|
||||
<view class="_m_vv_oper_l_col_w">
|
||||
<view class="_m_vv_oper_l_collect" data-id="{{item.id}}" catchtap="handelCollection">
|
||||
<block tt:if="{{item.bookcase}}">
|
||||
<image src="/static/collect_selected.png" class="__wa_img_no_radius"></image>
|
||||
</block>
|
||||
<block tt:else>
|
||||
<image src="/static/collect_icon.png" class="__wa_img_no_radius"></image>
|
||||
</view>
|
||||
<view class="_m_vv_oper_l_col_sss">
|
||||
<text class="_m_vv_oper_l_col_s_text">66K</text>
|
||||
</view>
|
||||
</block>
|
||||
</view>
|
||||
<view class="_m_vv_oper_l_col_sss">
|
||||
<text class="_m_vv_oper_l_col_s_text">{{item.count}}</text>
|
||||
</view>
|
||||
</view>
|
||||
<button open-type="share" class="_m_vv_oper_l_share">
|
||||
<view class="_m_vv_oper_l_col_w mt_36">
|
||||
<view class="_m_vv_oper_l_collect">
|
||||
<image src="/static/share_icon.png" class="__wa_img_no_radius"></image>
|
||||
</view>
|
||||
<view class="_m_vv_oper_l_col_sss">
|
||||
<!-- <view class="_m_vv_oper_l_col_sss">
|
||||
<text class="_m_vv_oper_l_col_s_text">66K</text>
|
||||
</view>
|
||||
</view> -->
|
||||
</view>
|
||||
</button>
|
||||
</view>
|
||||
<view class="_m_v_ww_info_vo">
|
||||
<view class="_m_v_ww_in_vooo_title">
|
||||
<!-- {{videoPlayerCurrent}}{{index}}--{{item.id}} -->
|
||||
<text class="_m_v_ww_in_vooo_ti_text">{{item.name}}</text>
|
||||
</view>
|
||||
<view class="_m_v_ww_info_vo">
|
||||
<view class="_m_v_ww_in_vooo_title">
|
||||
<text
|
||||
class="_m_v_ww_in_vooo_ti_text">{{videoInfo.title}}{{videoPlayerCurrent}}{{index}}--{{item.id}}</text>
|
||||
</view>
|
||||
<view class="_m_v_ww_in_lll_num">
|
||||
<text class="_m_v_ww_in_l_n_current">第{{videoInfo.order}}集 </text>
|
||||
<text class="_m_v_ww_in_l_n_all">全剧{{100}}集</text>
|
||||
</view>
|
||||
<view class="_m_v_ww_in_ttt_tips">
|
||||
<text
|
||||
class="_m_v_ww_in_ttt_t_text">描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述</text>
|
||||
</view>
|
||||
<view class="_m_v_ww_in_lll_num">
|
||||
<text class="_m_v_ww_in_l_n_current">第{{item.videoinfo.order}}集 </text>
|
||||
<text class="_m_v_ww_in_l_n_all">全剧{{item.number}}集</text>
|
||||
</view>
|
||||
<view class="_m_v_ww_in_ttt_tips">
|
||||
<text class="_m_v_ww_in_ttt_t_text">{{item.description}}</text>
|
||||
</view>
|
||||
</view>
|
||||
</block>
|
||||
</swiper-item>
|
||||
</block>
|
||||
</swiper>
|
||||
</block>
|
||||
</view>
|
||||
</block>
|
||||
</swiper-item>
|
||||
</block>
|
||||
</swiper>
|
||||
<!-- </block> -->
|
||||
</view>
|
@ -30,7 +30,7 @@
|
||||
._m_v_w_v_operate_l {
|
||||
position: absolute;
|
||||
right: 32rpx;
|
||||
bottom: 154rpx;
|
||||
bottom: 260rpx;
|
||||
z-index: 2;
|
||||
}
|
||||
|
||||
@ -78,7 +78,7 @@
|
||||
._m_v_ww_in_lll_num {
|
||||
display: flex;
|
||||
line-height: 1;
|
||||
margin-top: 16rpx;
|
||||
margin-top: 26rpx;
|
||||
}
|
||||
|
||||
._m_v_ww_in_l_n_current {
|
||||
@ -116,3 +116,67 @@
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
|
||||
._iii_video_content {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
z-index: 3;
|
||||
}
|
||||
|
||||
._iii_video_co_err_warp {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
._iii_vi_co_err {
|
||||
display: flex;
|
||||
margin-top: 80rpx;
|
||||
}
|
||||
|
||||
._iii_vi_co_err_text {
|
||||
font-size: 28rpx;
|
||||
color: rgba(255, 255, 255, 0.6);
|
||||
}
|
||||
|
||||
._iii_vi_co_e_img {
|
||||
width: 166rpx;
|
||||
height: 166rpx;
|
||||
}
|
||||
|
||||
._m_v_jw_v_to_path {
|
||||
position: absolute;
|
||||
left: 50%;
|
||||
bottom: 0;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
width: 200rpx;
|
||||
height: 66rpx;
|
||||
border-radius: 66rpx;
|
||||
border: 0.5px solid var(--line-color-dark-const-line-inverse, rgba(255, 255, 255, 0.20));
|
||||
background: var(--bg-color-dark-bg-inverse-3, rgba(41, 41, 41, 0.34));
|
||||
z-index: 66;
|
||||
transform: translate(-50%, -700%);
|
||||
}
|
||||
|
||||
._m_v_jw_v_to_p_text {
|
||||
font-size: 24rpx;
|
||||
color: rgba(255, 255, 255, 0.90);
|
||||
}
|
||||
|
||||
._m_vv_oper_l_share {
|
||||
background-color: transparent;
|
||||
border: none;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
._m_vv_oper_l_share::after {
|
||||
content: none;
|
||||
}
|
@ -1,3 +1,4 @@
|
||||
{
|
||||
"usingComponents": {}
|
||||
"usingComponents": {},
|
||||
"navigationBarTitleText": "搜索"
|
||||
}
|
@ -1,16 +1,84 @@
|
||||
// e:\project\dy_video_all\初晴剧场\pages\search\search.ts
|
||||
import { httpRequest } from "../../utils/httpReques";
|
||||
Page({
|
||||
data: {
|
||||
searchValue: ''
|
||||
searchValue: '',
|
||||
historySearchList: [],
|
||||
searchList: [],
|
||||
searchFlag: false
|
||||
},
|
||||
onLoad: function (options) {
|
||||
|
||||
},
|
||||
onShow() {
|
||||
const historySearchList = tt.getStorageSync('historySearchList') || [];
|
||||
console.log(historySearchList, "historySearchList")
|
||||
this.setData({
|
||||
historySearchList
|
||||
})
|
||||
},
|
||||
handelSearchInput(ev: any) {
|
||||
console.log(ev, "[[[[[[[[[[[")
|
||||
const val = ev.detail.value;
|
||||
this.setData({
|
||||
searchValue: val
|
||||
searchValue: val,
|
||||
})
|
||||
},
|
||||
handelKeyword() {
|
||||
const searchValue = this.data.searchValue;
|
||||
const historySearchList: any = this.data.historySearchList;
|
||||
if (!searchValue) {
|
||||
tt.showToast({
|
||||
title: '搜索剧名不能为空',
|
||||
});
|
||||
return;
|
||||
}
|
||||
tt.showLoading({
|
||||
title: '加载中...',
|
||||
});
|
||||
httpRequest('/sididtidlaunchsite', 'POST', { tid: searchValue }).then((res: any) => {
|
||||
if (res.status == 1) {
|
||||
if (res.data.pageurl) {
|
||||
tt.hideLoading({});
|
||||
tt.navigateTo({
|
||||
url: `/pages/videoDetail/videoDetail?${res.data.pageurl}`,
|
||||
});
|
||||
} else {
|
||||
if (historySearchList.length >= 10) {
|
||||
historySearchList.pop();
|
||||
historySearchList.unshift(searchValue);
|
||||
} else {
|
||||
historySearchList.unshift(searchValue)
|
||||
}
|
||||
httpRequest('/find', 'POST', { keyword: searchValue }).then((reults: any) => {
|
||||
tt.hideLoading({});
|
||||
if (reults.status == 1 && Array.isArray(reults.data)) {
|
||||
tt.setStorageSync('historySearchList', historySearchList)
|
||||
this.setData({
|
||||
historySearchList: historySearchList,
|
||||
searchList: reults.data,
|
||||
searchFlag: true
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
})
|
||||
},
|
||||
handelHistoryItem(ev: any) {
|
||||
console.log(ev, "jjjjjjjjjjjjjj")
|
||||
const item = ev.currentTarget.dataset.item;
|
||||
this.setData({
|
||||
searchValue: item,
|
||||
})
|
||||
this.handelKeyword()
|
||||
},
|
||||
cleanHistory() {
|
||||
tt.setStorageSync('historySearchList', []);
|
||||
this.setData({
|
||||
historySearchList: []
|
||||
})
|
||||
tt.showToast({
|
||||
title: '清空搜索历史成功',
|
||||
});
|
||||
}
|
||||
})
|
@ -7,57 +7,42 @@
|
||||
<image src="/static/search_icon.png" class="_s_h_ttui_in_ic_img"></image>
|
||||
</view>
|
||||
</view>
|
||||
<view class="_search_he_in_btn">
|
||||
<view class="_search_he_in_btn" catchtap="handelKeyword">
|
||||
<text class="_search_he_in_b_text">搜索</text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="_search_content">
|
||||
<block>
|
||||
<block tt:if="{{!searchFlag}}">
|
||||
<view class="_search_con_history">
|
||||
<view class="_search_con_his_he">
|
||||
<view class="_search_con_hi_h_title">
|
||||
<text class="_search_con_hi_h_ti_text">搜索历史</text>
|
||||
</view>
|
||||
<view class="_search_con_hi_h_clear">
|
||||
<view class="_search_con_hi_h_clear" catchtap="cleanHistory">
|
||||
<image src="/static/clear.png" class="_search_con_hi_h_c_img"></image>
|
||||
</view>
|
||||
</view>
|
||||
<view class="_search_con_his_lis">
|
||||
<view class="_search_con_his_l_item">
|
||||
<text class="_search_con_his_l_i_text">剧宝</text>
|
||||
</view>
|
||||
<view class="_search_con_his_l_item">
|
||||
<text class="_search_con_his_l_i_text">剧宝</text>
|
||||
</view>
|
||||
<view class="_search_con_his_l_item">
|
||||
<text class="_search_con_his_l_i_text">剧宝</text>
|
||||
</view>
|
||||
<view class="_search_con_his_l_item">
|
||||
<text class="_search_con_his_l_i_text">剧宝</text>
|
||||
</view>
|
||||
<view class="_search_con_his_l_item">
|
||||
<text class="_search_con_his_l_i_text">剧宝</text>
|
||||
</view>
|
||||
<view class="_search_con_his_l_item">
|
||||
<text class="_search_con_his_l_i_text">剧宝</text>
|
||||
</view>
|
||||
<block tt:for="{{historySearchList}}">
|
||||
<view class="_search_con_his_l_item" tt:key="{{index}}" data-item="{{item}}" catchtap="handelHistoryItem">
|
||||
<text class="_search_con_his_l_i_text">{{item}}</text>
|
||||
</view>
|
||||
</block>
|
||||
</view>
|
||||
</view>
|
||||
</block>
|
||||
|
||||
<block>
|
||||
<block tt:elif="{{searchFlag && searchList.length}}">
|
||||
<view class="_search_con_vi_lis">
|
||||
<block tt:for="{{2}}">
|
||||
<block tt:for="{{searchList}}">
|
||||
<view class="_search_con_vi_l_item">
|
||||
<view class="_search_con_vi_l_i_warp">
|
||||
<view class="_search_con_vi_l_i_w_cover">
|
||||
<image
|
||||
src="https://dymgjcweb.qinjiu8.com/public/skits/2023/07/25/414c0d485788aba331337826f2efe31f.jpg"
|
||||
class="__wa_img" mode="aspectFill"></image>
|
||||
<image src="{{item.cover}}" class="__wa_img" mode="aspectFill"></image>
|
||||
</view>
|
||||
<view class="_search_con_vi_l_i_w_info">
|
||||
<view class="_search_con_vi_l_i_w_i_title">
|
||||
<text class="_search_con_vi_l_i_w_i_t_text">这是一个可以变化的剧名神奇吗</text>
|
||||
<text class="_search_con_vi_l_i_w_i_t_text">{{item.name}}</text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
@ -66,7 +51,7 @@
|
||||
</view>
|
||||
</block>
|
||||
|
||||
<block>
|
||||
<block tt:elif="{{searchFlag}}">
|
||||
<view class="_search_con_empty">
|
||||
<view class="_search_c_e_img">
|
||||
<image src="/static/empty.png" class="__wa_img_no_radius"></image>
|
||||
|
@ -127,6 +127,7 @@ page {
|
||||
._search_con_vi_l_item {
|
||||
width: 50%;
|
||||
padding-right: 32rpx;
|
||||
margin-bottom: 32rpx;
|
||||
}
|
||||
|
||||
._search_con_vi_l_i_warp {
|
||||
|
@ -1,3 +1,6 @@
|
||||
{
|
||||
"usingComponents": {}
|
||||
"usingComponents": {
|
||||
"my-modal": "/components/myModal/myModal"
|
||||
},
|
||||
"navigationBarTitleText": "订阅"
|
||||
}
|
@ -1,9 +1,73 @@
|
||||
// e:\project\dy_video_all\初晴剧场\pages\subscribe\subscribe.ts
|
||||
import { httpRequest } from "../../utils/httpReques";
|
||||
Page({
|
||||
myModal: null as any,
|
||||
data: {
|
||||
|
||||
bookcase: [],
|
||||
bookcaseFlag: false,
|
||||
bookId: ''
|
||||
},
|
||||
onLoad() {
|
||||
const params = {
|
||||
total: 99999
|
||||
}
|
||||
httpRequest('/Chasingdrama', 'POST', params).then((res: any) => {
|
||||
if (res.status == 1 && Array.isArray(res?.data?.bookcase)) {
|
||||
const bookcase = res?.data?.bookcase;
|
||||
const ls: any = bookcase.map((m: any) => {
|
||||
return {
|
||||
...m,
|
||||
count: this.handelCount(m.count),
|
||||
}
|
||||
})
|
||||
this.setData({
|
||||
bookcase: ls,
|
||||
bookcaseFlag: true
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
toPathVideo(ev: any) {
|
||||
const sid = ev.currentTarget.dataset.sid;
|
||||
tt.navigateTo({
|
||||
url: `/pages/videoDetail/videoDetail?sid=${sid}`,
|
||||
});
|
||||
},
|
||||
handelCount(count: any) {
|
||||
if (count > 999) {
|
||||
const isCount: any = (count / 100000).toFixed(2);
|
||||
const ik = parseFloat(isCount) * 100
|
||||
return `${ik}k`;
|
||||
}
|
||||
return count;
|
||||
},
|
||||
myModalRef(ref: any) {
|
||||
this.myModal = ref
|
||||
},
|
||||
handelMyModal(ev: any) {
|
||||
const sid = ev.currentTarget.dataset.sid;
|
||||
this.myModal?.show?.();
|
||||
this.setData({
|
||||
bookId: sid
|
||||
})
|
||||
},
|
||||
modalConfirm() {
|
||||
const bookId = this.data.bookId;
|
||||
const bookcase = this.data.bookcase;
|
||||
const params = {
|
||||
ids: bookId
|
||||
}
|
||||
httpRequest('/chasingdramadel', 'POST', params).then((res: any) => {
|
||||
if (res.status == 1) {
|
||||
const ls: any = bookcase.filter((m: any) => m.id != bookId);
|
||||
this.setData({
|
||||
bookcase: ls
|
||||
})
|
||||
tt.showToast({
|
||||
title: '取消成功',
|
||||
icon: 'none'
|
||||
});
|
||||
}
|
||||
})
|
||||
},
|
||||
onLoad: function (options) {
|
||||
|
||||
}
|
||||
})
|
@ -1,60 +1,71 @@
|
||||
<view class="_subscribe_html">
|
||||
<view class="_subscribe_1_list">
|
||||
<block tt:for="{{6}}">
|
||||
<view class="_subscribe_1_li_item">
|
||||
<view class="_subscribe_1_li_i_header">
|
||||
<view class="_subscribe_1_li_i_h_title">
|
||||
<text class="_subscribe_1_li_i_h_t_text">第五</text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="_mo_5_con_list">
|
||||
<view class="_mo_5_con_li_item">
|
||||
<view class="_mo_5_con_li_it_left">
|
||||
<image
|
||||
src="https://dymgjcweb.qinjiu8.com/public/skits/2023/07/25/414c0d485788aba331337826f2efe31f.jpg"
|
||||
class="__wa_img" mode="aspectFill"></image>
|
||||
<view class="_mo_5_con_li_it_le_tag">
|
||||
<view class="_mo_5_con_li_it_le_ta_icon">
|
||||
<image src="/static/subscribe.png" class="__wa_img"></image>
|
||||
</view>
|
||||
<view class="_mo_5_con_li_it_le_ta_num">
|
||||
<text class="_mo_5_con_li_it_le_ta_n_text">200k</text>
|
||||
</view>
|
||||
</view>
|
||||
<block tt:if="{{bookcaseFlag && bookcase.length}}">
|
||||
<view class="_subscribe_1_list">
|
||||
<block tt:for="{{bookcase}}">
|
||||
<view class="_subscribe_1_li_item" tt:key="{{item.id}}">
|
||||
<view class="_subscribe_1_li_i_header">
|
||||
<view class="_subscribe_1_li_i_h_title">
|
||||
<text class="_subscribe_1_li_i_h_t_text">第{{index + 1}}</text>
|
||||
</view>
|
||||
<view class="_mo_5_con_li_it_right">
|
||||
<view class="_mo_5_con_li_it_ri_info">
|
||||
<view class="_mo_5_con_li_it_ri_title">
|
||||
<text class="_mo_5_con_li_it_ri_ti_text">这是一个可以变化的剧名这是一个可以变化的剧名</text>
|
||||
</view>
|
||||
<view class="_mo_5_con_li_it_ri_description">
|
||||
<text
|
||||
class="_mo_5_con_li_it_ri_des_text">这是描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述</text>
|
||||
</view>
|
||||
<view class="_mo_5_con_list" data-sid="{{item.id}}" bindtap="toPathVideo">
|
||||
<view class="_mo_5_con_li_item">
|
||||
<view class="_mo_5_con_li_it_left">
|
||||
<image src="{{item.cover}}" class="__wa_img" mode="aspectFill"></image>
|
||||
<view class="_mo_5_con_li_it_le_tag">
|
||||
<view class="_mo_5_con_li_it_le_ta_icon">
|
||||
<image src="/static/subscribe.png" class="__wa_img"></image>
|
||||
</view>
|
||||
<view class="_mo_5_con_li_it_le_ta_num">
|
||||
<text class="_mo_5_con_li_it_le_ta_n_text">{{item.count}}</text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="_mo_5_con_li_it_ri_button">
|
||||
<block tt:if="{{index == 0}}">
|
||||
<view class="_mo_5_con_li_it_ri_btn_warp">
|
||||
<text class="_mo_5_con_li_it_ri_btn_wa_text">订阅</text>
|
||||
<view class="_mo_5_con_li_it_ri_btn_wa_icon">
|
||||
<image src="/static/subscribe.png" class="__wa_img"></image>
|
||||
</view>
|
||||
<view class="_mo_5_con_li_it_right">
|
||||
<view class="_mo_5_con_li_it_ri_info">
|
||||
<view class="_mo_5_con_li_it_ri_title">
|
||||
<text class="_mo_5_con_li_it_ri_ti_text">{{item.name}}</text>
|
||||
</view>
|
||||
</block>
|
||||
<block tt:else>
|
||||
<view class="_mo_5_con_li_it_ri_btn_wa_no">
|
||||
<view class="_mo_5_con_li_it_ri_description">
|
||||
<text class="_mo_5_con_li_it_ri_des_text">{{item.description}}</text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="_mo_5_con_li_it_ri_button">
|
||||
<!-- <block tt:if="{{index == 0}}">
|
||||
<view class="_mo_5_con_li_it_ri_btn_warp">
|
||||
<text class="_mo_5_con_li_it_ri_btn_wa_text">订阅</text>
|
||||
<view class="_mo_5_con_li_it_ri_btn_wa_icon">
|
||||
<image src="/static/subscribe.png" class="__wa_img"></image>
|
||||
</view>
|
||||
</view>
|
||||
</block>
|
||||
<block tt:else> -->
|
||||
<view class="_mo_5_con_li_it_ri_btn_wa_no" data-sid="{{item.id}}"
|
||||
catchtap="handelMyModal">
|
||||
<text class="_mo_5_con_li_it_ri_btn_wa_no_text">已订阅</text>
|
||||
<view class="_mo_5_con_li_it_ri_btn_wa_icon">
|
||||
<image src="/static/subscribe_active.png" class="__wa_img"></image>
|
||||
</view>
|
||||
</view>
|
||||
</block>
|
||||
<!-- </block> -->
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
</view>
|
||||
</block>
|
||||
</view>
|
||||
</block>
|
||||
<block tt:elif="{{bookcaseFlag}}">
|
||||
<view class="_search_con_empty">
|
||||
<view class="_search_c_e_img">
|
||||
<image src="/static/empty.png" class="__wa_img_no_radius"></image>
|
||||
</view>
|
||||
</block>
|
||||
</view>
|
||||
<view class="_search_c_e_tips">
|
||||
<text class="_search_c_e_t_text">暂时没有内容~</text>
|
||||
</view>
|
||||
</view>
|
||||
</block>
|
||||
<my-modal class="_m_modal_html" tt:ref="myModalRef" contentText="是否取消订阅?" cancelText="否" confirmText="是"
|
||||
bind:handelConfirm="modalConfirm" />
|
||||
</view>
|
@ -183,3 +183,25 @@
|
||||
font-size: 20rpx;
|
||||
color: #999999;
|
||||
}
|
||||
|
||||
|
||||
._search_con_empty {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
padding-top: 308rpx;
|
||||
}
|
||||
|
||||
._search_c_e_img {
|
||||
width: 438rpx;
|
||||
height: 340rpx;
|
||||
}
|
||||
|
||||
._search_c_e_tips {
|
||||
margin-top: 56rpx;
|
||||
}
|
||||
|
||||
._search_c_e_t_text {
|
||||
font-size: 32rpx;
|
||||
color: #fff;
|
||||
}
|
||||
|
@ -1,11 +1,28 @@
|
||||
// e:\project\dy_video_all\初晴剧场\pages\theater\theater.ts
|
||||
import { httpRequest } from "../../utils/httpReques";
|
||||
Page({
|
||||
data: {
|
||||
swiperCurrent: 0,
|
||||
sortIndex: 0
|
||||
categoryList: [],
|
||||
categoryid: '',
|
||||
module1: [],
|
||||
module2: []
|
||||
},
|
||||
onLoad: function (options) {
|
||||
onLoad(options) {
|
||||
|
||||
},
|
||||
onShow() {
|
||||
httpRequest('/top', 'POST').then((res: any) => {
|
||||
console.log(res, "ppppppppp")
|
||||
if (res.status == 1) {
|
||||
this.setData({
|
||||
categoryList: res.data.category,
|
||||
categoryid: res.data.categoryid,
|
||||
module1: res.data.module1,
|
||||
module2: res.data.module2
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
handelSwiperChange(ev: any) {
|
||||
const current = ev.detail.current;
|
||||
@ -14,10 +31,20 @@ Page({
|
||||
})
|
||||
},
|
||||
handelSortTap(ev: any) {
|
||||
const idx = ev.currentTarget.dataset.index;
|
||||
this.setData({
|
||||
sortIndex: idx
|
||||
})
|
||||
const datasetcCtegoryid = ev.currentTarget.dataset.categoryid;
|
||||
const categoryid = this.data.categoryid;
|
||||
console.log(datasetcCtegoryid, categoryid)
|
||||
if (categoryid != datasetcCtegoryid) {
|
||||
httpRequest('/top', 'POST', { categoryid: datasetcCtegoryid }).then((res: any) => {
|
||||
if (res.status == 1) {
|
||||
this.setData({
|
||||
categoryid: datasetcCtegoryid,
|
||||
module1: res.data.module1,
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
},
|
||||
toPathTap() {
|
||||
tt.navigateTo({
|
||||
@ -28,5 +55,11 @@ Page({
|
||||
tt.navigateTo({
|
||||
url: `/pages/leaderboard/leaderboard`,
|
||||
});
|
||||
}
|
||||
},
|
||||
toPathVideo(ev: any) {
|
||||
const sid = ev.currentTarget.dataset.sid;
|
||||
tt.navigateTo({
|
||||
url: `/pages/videoDetail/videoDetail?sid=${sid}`,
|
||||
});
|
||||
},
|
||||
})
|
@ -4,7 +4,7 @@
|
||||
<image src="/static/search_icon.png" class="_theater_hea_im_icon"></image>
|
||||
</view>
|
||||
</view>
|
||||
<view class="_theater_swiper">
|
||||
<!-- <view class="_theater_swiper">
|
||||
<swiper previous-margin="70rpx" next-margin="70rpx" class="_theater_swi_warp" circular="{{true}}"
|
||||
bindchange="handelSwiperChange">
|
||||
<block tt:for="{{5}}">
|
||||
@ -25,22 +25,20 @@
|
||||
<view class="_theater_swi_ind_item {{swiperCurrent == index ? 'ind_active' :''}}"></view>
|
||||
</block>
|
||||
</view>
|
||||
</view>
|
||||
</view> -->
|
||||
|
||||
<view class="_theater_modul_one">
|
||||
<view class="_mo_one_header">
|
||||
<view class="_mo_one_hea_title">模块一</view>
|
||||
<view class="_mo_one_hea_title">热剧排行榜</view>
|
||||
<view class="_mo_one_hea_more" bindtap="toPathLeaderboard">更多</view>
|
||||
</view>
|
||||
<view class="_mo_one_content">
|
||||
<view class="_mo_one_con_list">
|
||||
<block tt:for="{{6}}">
|
||||
<view class="_mo_one_con_li_item">
|
||||
<view class="_mo_one_con_li_it_warp">
|
||||
<block tt:for="{{module2}}">
|
||||
<view class="_mo_one_con_li_item" tt:key="{{item.id}}">
|
||||
<view class="_mo_one_con_li_it_warp" data-sid="{{item.id}}" catchtap="toPathVideo">
|
||||
<view class="_mo_one_con_li_it_wa_cover">
|
||||
<image
|
||||
src="https://dymgjcweb.qinjiu8.com/public/skits/2023/07/25/414c0d485788aba331337826f2efe31f.jpg"
|
||||
class="__wa_img" mode="aspectFill"></image>
|
||||
<image src="{{item.cover}}" class="__wa_img" mode="aspectFill"></image>
|
||||
|
||||
<view class="_mo_one_con_li_it_wa_co_tag">
|
||||
<block tt:if="{{index == 0}}">
|
||||
@ -58,7 +56,7 @@
|
||||
</view>
|
||||
</view>
|
||||
<view class="_mo_one_con_li_it_wa_title">
|
||||
<text class="_mo_one_con_li_it_wa_ti_text">这是可以变的剧名这是可以变的剧名</text>
|
||||
<text class="_mo_one_con_li_it_wa_ti_text">{{item.name}}</text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
@ -70,41 +68,52 @@
|
||||
<view class="_theater_modul_sort">
|
||||
<view class="_mo_so_header">
|
||||
<scroll-view class="_mo_so_he_scr" scroll-x="true" style="width: 100%">
|
||||
<block tt:for="{{6}}">
|
||||
<view id="demo1" class="_mo_so_he_scr_warp {{sortIndex == index ? '_bg_active' : ''}}"
|
||||
bindtap="handelSortTap" data-index="{{index}}">
|
||||
<text class="_mo_so_he_scr_wa_text">{{index}}</text>
|
||||
<block tt:for="{{categoryList}}">
|
||||
<view id="demo1" class="_mo_so_he_scr_warp {{categoryid == item.id ? '_bg_active' : ''}}"
|
||||
bindtap="handelSortTap" data-categoryid="{{item.id}}" tt:key="{{item.id}}">
|
||||
<text class="_mo_so_he_scr_wa_text">{{item.title}}</text>
|
||||
</view>
|
||||
</block>
|
||||
</scroll-view>
|
||||
</view>
|
||||
<view class="_mo_one_content">
|
||||
<view class="_mo_one_con_list">
|
||||
<block tt:for="{{9}}">
|
||||
<view class="_mo_one_con_li_item">
|
||||
<view class="_mo_one_con_li_it_warp">
|
||||
<view class="_mo_one_con_li_it_wa_cover">
|
||||
<image
|
||||
src="https://dymgjcweb.qinjiu8.com/public/skits/2023/07/25/414c0d485788aba331337826f2efe31f.jpg"
|
||||
class="__wa_img" mode="aspectFill"></image>
|
||||
<block tt:if="{{index <= 1}}">
|
||||
<view class="_mo_one_con_li_it_w_c_ta ">
|
||||
<text class="_mo_one_con_li_it_wa_co_ta_text">新剧</text>
|
||||
</view>
|
||||
</block>
|
||||
<block tt:if="{{index == 2 }}">
|
||||
<view class="_mo_one_con_li_it_w_c_ta bg_color">
|
||||
<text class="_mo_3_con_li_it_wa_co_ta_text">火热</text>
|
||||
</view>
|
||||
</block>
|
||||
</view>
|
||||
<view class="_mo_one_con_li_it_wa_title">
|
||||
<text class="_mo_one_con_li_it_wa_ti_text">这是可以变的剧名这是可以变的剧名</text>
|
||||
<block tt:if="{{module1.length}}">
|
||||
<view class="_mo_one_con_list">
|
||||
<block tt:for="{{module1}}">
|
||||
<view class="_mo_one_con_li_item" tt:key="{{item.id}}" data-sid="{{item.id}}"
|
||||
catchtap="toPathVideo">
|
||||
<view class="_mo_one_con_li_it_warp">
|
||||
<view class="_mo_one_con_li_it_wa_cover">
|
||||
<image src="{{item.cover}}" class="__wa_img" mode="aspectFill"></image>
|
||||
<!-- <block tt:if="{{index <= 1}}">
|
||||
<view class="_mo_one_con_li_it_w_c_ta ">
|
||||
<text class="_mo_one_con_li_it_wa_co_ta_text">新剧</text>
|
||||
</view>
|
||||
</block> -->
|
||||
<block tt:if="{{index <= 3}}">
|
||||
<view class="_mo_one_con_li_it_w_c_ta bg_color">
|
||||
<text class="_mo_3_con_li_it_wa_co_ta_text">火热</text>
|
||||
</view>
|
||||
</block>
|
||||
</view>
|
||||
<view class="_mo_one_con_li_it_wa_title">
|
||||
<text class="_mo_one_con_li_it_wa_ti_text">{{item.name}}</text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</block>
|
||||
</view>
|
||||
</block>
|
||||
<block tt:else>
|
||||
<view class="_search_con_empty">
|
||||
<view class="_search_c_e_img">
|
||||
<image src="/static/empty.png" class="__wa_img_no_radius"></image>
|
||||
</view>
|
||||
</block>
|
||||
</view>
|
||||
<view class="_search_c_e_tips">
|
||||
<text class="_search_c_e_t_text">暂无数据~</text>
|
||||
</view>
|
||||
</view>
|
||||
</block>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
|
@ -80,9 +80,9 @@ page {
|
||||
padding-top: 10rpx;
|
||||
}
|
||||
|
||||
._theater_modul_one {
|
||||
/* ._theater_modul_one {
|
||||
padding-top: 30rpx;
|
||||
}
|
||||
} */
|
||||
|
||||
._theater_swi_ind_item {
|
||||
width: 16rpx;
|
||||
@ -108,7 +108,7 @@ page {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: space-between;
|
||||
padding: 30rpx 32rpx 36rpx;
|
||||
padding: 0 32rpx 36rpx;
|
||||
}
|
||||
|
||||
._mo_one_hea_title {
|
||||
@ -272,3 +272,24 @@ page {
|
||||
font-size: 24rpx;
|
||||
line-height: 1;
|
||||
}
|
||||
|
||||
._search_con_empty {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
padding-top: 30rpx;
|
||||
}
|
||||
|
||||
._search_c_e_img {
|
||||
width: 438rpx;
|
||||
height: 340rpx;
|
||||
}
|
||||
|
||||
._search_c_e_tips {
|
||||
margin-top: 56rpx;
|
||||
}
|
||||
|
||||
._search_c_e_t_text {
|
||||
font-size: 32rpx;
|
||||
color: #fff;
|
||||
}
|
@ -1,4 +0,0 @@
|
||||
{
|
||||
"component": true,
|
||||
"usingComponents": {}
|
||||
}
|
@ -1,12 +0,0 @@
|
||||
// e:\project\dy_video_all\初晴剧场\pages\recommend\components\mVideo\mVideo.ts
|
||||
Component({
|
||||
data: {
|
||||
|
||||
},
|
||||
properties: {
|
||||
|
||||
},
|
||||
methods: {
|
||||
|
||||
}
|
||||
})
|
@ -1,2 +0,0 @@
|
||||
<!-- e:\project\dy_video_all\初晴剧场\pages\recommend\components\mVideo\mVideo.ttml -->
|
||||
<text>e:\project\dy_video_all\初晴剧场\pages\recommend\components\mVideo\mVideo.ttml</text>
|
@ -1 +0,0 @@
|
||||
/* e:\project\dy_video_all\初晴剧场\pages\recommend\components\mVideo\mVideo.ttss */
|
@ -1,6 +0,0 @@
|
||||
{
|
||||
"component": true,
|
||||
"usingComponents": {
|
||||
"video-player": "ext://industry/video-player"
|
||||
}
|
||||
}
|
@ -1,46 +0,0 @@
|
||||
// e:\project\dy_video_all\初晴剧场\pages\recommend\components\mVideoPlayer\mVideoPlayer.ts
|
||||
const { httpRequest } = getApp()?.data;
|
||||
|
||||
Component({
|
||||
data: {
|
||||
videoInfo: {},
|
||||
videoList: [],
|
||||
batchList: []
|
||||
},
|
||||
properties: {
|
||||
videoCanIUse: {
|
||||
type: Boolean,
|
||||
value: false
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
inShow() {
|
||||
this.initFn()
|
||||
},
|
||||
async initFn() {
|
||||
const params = {
|
||||
"uid": 127457025,
|
||||
"platform": "devtools",
|
||||
"is_b": 2,
|
||||
"sid": "2"
|
||||
}
|
||||
const videoreadRes = await httpRequest('/videoread', 'POST', params);
|
||||
let videoInfo: any = {}
|
||||
if (videoreadRes.status == 1 && Array.isArray(videoreadRes.data)) {
|
||||
videoInfo = videoreadRes.data[0];
|
||||
}
|
||||
|
||||
const batchlistRes = await httpRequest('/batchlist', 'POST', params);
|
||||
let batchList: any = [];
|
||||
if (batchlistRes.status == 1 && Array.isArray(batchlistRes.data)) {
|
||||
batchList = batchlistRes.data;
|
||||
}
|
||||
|
||||
this.setData({
|
||||
videoInfo,
|
||||
batchList
|
||||
})
|
||||
|
||||
}
|
||||
}
|
||||
})
|
@ -1,9 +0,0 @@
|
||||
<view class="_m_vi_pl_swiper" tt:if="{{videoCanIUse}}">
|
||||
<swiper bindchange="onchange" class="_m_vi_pl_swiper" vertical="{{true}}">
|
||||
<block tt:for="{{3}}">
|
||||
<swiper-item>
|
||||
<view class="swiper-item {{item}}"></view>
|
||||
</swiper-item>
|
||||
</block>
|
||||
</swiper>
|
||||
</view>
|
@ -1,6 +0,0 @@
|
||||
/* e:\project\dy_video_all\初晴剧场\pages\recommend\components\mVideoPlayer\mVideoPlayer.ttss */
|
||||
|
||||
._m_vi_pl_swiper {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
@ -1,3 +1,5 @@
|
||||
{
|
||||
"usingComponents": {}
|
||||
"usingComponents": {
|
||||
"video-player": "ext://industry/video-player"
|
||||
}
|
||||
}
|
@ -1,9 +1,145 @@
|
||||
// e:\project\dy_video_all\初晴剧场\pages\videoDetail\videoDetail.ts
|
||||
// e:\project\dy_video_all\初晴剧场\pages\recommend\recommend.ts
|
||||
import { httpRequest } from "../../utils/httpReques"
|
||||
|
||||
Page({
|
||||
data: {
|
||||
videoCanIUse: false,
|
||||
videoInfo: {},
|
||||
videoList: [],
|
||||
batchList: [],
|
||||
videoPlayerCurrent: 0,
|
||||
videoPlayernum: 4,
|
||||
videoErrorText: '',
|
||||
safeAreaBottom: 0,
|
||||
platform: '',
|
||||
anthologyFlag: false
|
||||
},
|
||||
onLoad: function (options: any) {
|
||||
const videoCanIUse = tt.canIUse('video-player');
|
||||
this.setData({
|
||||
videoCanIUse,
|
||||
})
|
||||
this.initFn();
|
||||
|
||||
tt.getSystemInfo({
|
||||
success: (res: any) => {
|
||||
console.log(res, "------------")
|
||||
const screenHeight = res.screenHeight;
|
||||
const statusBarHeight = res.statusBarHeight;
|
||||
const safeAreaHeight = res.safeArea.height;
|
||||
const safeAreaBottom = screenHeight - statusBarHeight - safeAreaHeight;
|
||||
console.log(safeAreaBottom, "safeAreaBottom")
|
||||
this.setData({
|
||||
safeAreaBottom,
|
||||
platform: res.platform
|
||||
})
|
||||
}
|
||||
})
|
||||
|
||||
},
|
||||
onLoad: function (options) {
|
||||
onShow() { },
|
||||
async initFn() {
|
||||
const params = {
|
||||
"uid": 127457025,
|
||||
"platform": "devtools",
|
||||
"is_b": 2,
|
||||
"sid": "2"
|
||||
}
|
||||
|
||||
const videoreadRes: any = await httpRequest('/videoread', 'POST', params);
|
||||
let videoInfo: any = {}
|
||||
if (videoreadRes.status == 1 && Array.isArray(videoreadRes.data)) {
|
||||
videoInfo = videoreadRes.data[0];
|
||||
}
|
||||
|
||||
const batchlistRes: any = await httpRequest('/batchlist', 'POST', params);
|
||||
let batchList: any = [];
|
||||
if (batchlistRes.status == 1 && Array.isArray(batchlistRes.data)) {
|
||||
batchList = batchlistRes.data;
|
||||
}
|
||||
|
||||
this.setData({
|
||||
batchList,
|
||||
videoInfo
|
||||
})
|
||||
|
||||
},
|
||||
handelSeiperChange(ev: any) {
|
||||
const current = ev.detail.current;
|
||||
const videoPlayerCurrent = this.data.videoPlayerCurrent;
|
||||
const batchList: any = this.data.batchList;
|
||||
const id = batchList[videoPlayerCurrent]?.id;
|
||||
const nextId = batchList[current]?.id;
|
||||
const context: any = tt.createVideoContext(`${id}`);
|
||||
const nextContext: any = tt.createVideoContext(`${nextId}`);
|
||||
|
||||
context?.pause?.();
|
||||
nextContext?.play?.();
|
||||
|
||||
this.selectComponent(`#${nextId}`, (res: any) => {
|
||||
console.log(res, "resres")
|
||||
res?.hidePauseIcon()
|
||||
});
|
||||
|
||||
this.setData({
|
||||
videoPlayerCurrent: current,
|
||||
})
|
||||
|
||||
|
||||
},
|
||||
videoPlayerEnded() {
|
||||
console.log('videoPlayerEnded')
|
||||
const videoPlayerCurrent = this.data.videoPlayerCurrent;
|
||||
this.setData({
|
||||
videoPlayerCurrent: videoPlayerCurrent + 1,
|
||||
videoErrorText: ''
|
||||
})
|
||||
},
|
||||
|
||||
videError(ev: any) {
|
||||
const errMsg = ev.detail.errMsg;
|
||||
let errMsgText = '';
|
||||
if (errMsg == 'Video is forbidden in playlet,please use video-player instead') {
|
||||
errMsgText = '抱歉,当前抖音版本过低,请升级抖音'
|
||||
} else {
|
||||
errMsgText = errMsg;
|
||||
}
|
||||
this.setData({
|
||||
videoErrorText: errMsgText
|
||||
})
|
||||
},
|
||||
|
||||
videPlayerError(ev: any) {
|
||||
console.log(ev, "errMsgTexterrMsgText")
|
||||
const errMsg = ev.detail.errMsg;
|
||||
let errMsgText = '';
|
||||
if (errMsg == 'Video is forbidden in playlet,please use video-player instead') {
|
||||
errMsgText = '抱歉,当前抖音版本过低,请升级抖音'
|
||||
} else {
|
||||
errMsgText = errMsg;
|
||||
}
|
||||
this.setData({
|
||||
videoErrorText: errMsgText
|
||||
})
|
||||
},
|
||||
|
||||
toPathVideoDetail() {
|
||||
tt.navigateTo({
|
||||
url: `pages/videoDetail/videoDetail`,
|
||||
});
|
||||
},
|
||||
|
||||
anthologyTap() {
|
||||
console.log('anthologyTap')
|
||||
|
||||
this.setData({
|
||||
anthologyFlag: true
|
||||
})
|
||||
},
|
||||
|
||||
handelAnthologyClose() {
|
||||
this.setData({
|
||||
anthologyFlag: false
|
||||
})
|
||||
}
|
||||
})
|
@ -1,2 +1,182 @@
|
||||
<!-- e:\project\dy_video_all\初晴剧场\pages\videoDetail\videoDetail.ttml -->
|
||||
<text>e:\project\dy_video_all\初晴剧场\pages\videoDetail\videoDetail.ttml</text>
|
||||
<view class="_vv_detail_html" style="padding-bottom: {{platform == 'ios' ? 80 : 40}}rpx;">
|
||||
<!-- style="padding-bottom: {{safeAreaBottom}}px;" platform style="padding-bottom: {{platform == 'ios' ? 80 : 40}}rpx;"-->
|
||||
<swiper bindchange="handelSeiperChange" class="_vv_de_swiper" vertical="{{true}}" duration="{{100}}"
|
||||
easing-function="easeInOutCubic" current="{{videoPlayerCurrent}}">
|
||||
<block tt:for="{{batchList}}">
|
||||
<swiper-item>
|
||||
<block
|
||||
tt:if="{{index == videoPlayerCurrent || index == videoPlayerCurrent - 1 || index == videoPlayerCurrent + 1}}">
|
||||
<view class="_swiper_item_warp">
|
||||
<block tt:if="{{true}}">
|
||||
<block tt:if="{{videoCanIUse}}">
|
||||
<!-- videoPlayerCurrent == index -->
|
||||
<video-player class="_m_v_w_video_player" album-id="{{videoInfo.album_id}}"
|
||||
episode-id="{{videoInfo.episode_id}}" cloud-type="{{videoInfo.cloudType}}"
|
||||
three-party-cloud="{{item.video_url}}" version="1"
|
||||
enable-progress-gesture="{{true}}" autoplay="{{false}}" id="{{item.id}}"
|
||||
enable-dark-water-mark="{{true}}" bindended="videoPlayerEnded"
|
||||
binderror="videPlayerError">
|
||||
<block tt:if="{{videoPlayerCurrent == index}}">
|
||||
<block tt:if="{{videoErrorText}}">
|
||||
<view class="_iii_video_content">
|
||||
<block tt:if="{{videoErrorText}}">
|
||||
<view class="_iii_video_co_err_warp">
|
||||
<view class="_iii_vi_co_e_img">
|
||||
<image src="/static/error-page.png"
|
||||
class="__wa_img_no_radius">
|
||||
</image>
|
||||
</view>
|
||||
<view class="_iii_vi_co_err">
|
||||
<text class="_iii_vi_co_err_text">{{videoErrorText}}</text>
|
||||
</view>
|
||||
</view>
|
||||
</block>
|
||||
</view>
|
||||
</block>
|
||||
</block>
|
||||
</video-player>
|
||||
</block>
|
||||
<block tt:else>
|
||||
<video class="_m_v_w_video_player" vslide-gesture="{{true}}"
|
||||
src="{{videoInfo.video_url}}" version="1" enable-progress-gesture="{{true}}"
|
||||
autoplay="{{ videoPlayerCurrent == index}}" id="{{item.id}}"
|
||||
enable-dark-water-mark="{{true}}" bindended="videoPlayerEnded"
|
||||
binderror="videError">
|
||||
<block tt:if="{{videoPlayerCurrent == index}}">
|
||||
<block tt:if="{{videoErrorText}}">
|
||||
<view class="_iii_video_content">
|
||||
<block tt:if="{{videoErrorText}}">
|
||||
<view class="_iii_video_co_err_warp">
|
||||
<view class="_iii_vi_co_e_img">
|
||||
<image src="/static/error-page.png"
|
||||
class="__wa_img_no_radius">
|
||||
</image>
|
||||
</view>
|
||||
<view class="_iii_vi_co_err">
|
||||
<text class="_iii_vi_co_err_text">{{videoErrorText}}</text>
|
||||
</view>
|
||||
</view>
|
||||
</block>
|
||||
</view>
|
||||
</block>
|
||||
</block>
|
||||
</video>
|
||||
</block>
|
||||
</block>
|
||||
<block tt:else>
|
||||
<view class="_k_l_unlock">
|
||||
<view class="_m_v_w_it_ma_cover">
|
||||
<image src="{{videoInfo.cover}}" mode="aspectFill" class="__wa_img_no_radius">
|
||||
</image>
|
||||
</view>
|
||||
<view class="_k_l_unlo_mask">
|
||||
<view class="_k_l_unlo_ma_pay">
|
||||
<view class="_k_l_unlo_ma_p_icon">
|
||||
<image src="/static//unlock_icon.png" class="__wa_img_no_radius">
|
||||
</image>
|
||||
</view>
|
||||
<view class="_k_l_unlo_ma_name">
|
||||
<text class="_k_l_unlo_ma_na_text">充值解锁</text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="_k_l_unlo_ma_ad">
|
||||
<view class="_k_l_unlo_ma_p_icon">
|
||||
<image src="/static//unlock_icon.png" class="__wa_img_no_radius">
|
||||
</image>
|
||||
</view>
|
||||
<view class="_k_l_unlo_ma_name">
|
||||
<text class="_k_l_unlo_ma_na_text">观看广告解锁</text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</block>
|
||||
<view class="_m_v_w_v_operate_l">
|
||||
<view class="_m_vv_oper_l_col_w">
|
||||
<view class="_m_vv_oper_l_collect">
|
||||
<image src="/static/collect_icon.png" class="__wa_img_no_radius"></image>
|
||||
</view>
|
||||
<view class="_m_vv_oper_l_col_sss">
|
||||
<text class="_m_vv_oper_l_col_s_text">66K</text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="_m_vv_oper_l_col_w mt_36" bindtap="anthologyTap">
|
||||
<view class="_m_vv_oper_l_collect">
|
||||
<image src="/static/drama_series_icon.png" class="__wa_img_no_radius"></image>
|
||||
</view>
|
||||
<view class="_m_vv_oper_l_col_sss">
|
||||
<text class="_m_vv_oper_l_col_s_text">选集</text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="_m_vv_oper_l_col_w mt_36">
|
||||
<view class="_m_vv_oper_l_collect">
|
||||
<image src="/static/share_icon.png" class="__wa_img_no_radius"></image>
|
||||
</view>
|
||||
<view class="_m_vv_oper_l_col_sss">
|
||||
<text class="_m_vv_oper_l_col_s_text">分享</text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="_m_v_ww_info_vo">
|
||||
<view class="_m_v_ww_in_vooo_title">
|
||||
<text
|
||||
class="_m_v_ww_in_vooo_ti_text">{{videoInfo.title}}{{videoPlayerCurrent}}{{index}}--{{item.id}}</text>
|
||||
</view>
|
||||
<view class="_m_v_ww_in_lll_num">
|
||||
<text class="_m_v_ww_in_l_n_current">第{{videoInfo.order}}集 </text>
|
||||
<text class="_m_v_ww_in_l_n_all">全剧{{100}}集</text>
|
||||
</view>
|
||||
<view class="_m_v_ww_in_ttt_tips">
|
||||
<text
|
||||
class="_m_v_ww_in_ttt_t_text">描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述</text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</block>
|
||||
</swiper-item>
|
||||
</block>
|
||||
</swiper>
|
||||
|
||||
<view class="_vv_det_anthology_dialog {{anthologyFlag ? 'ac_dis_blo' : ''}}">
|
||||
<view class="_vv_det_ant_dia_header">
|
||||
<view class="_vv_det_ant_dia_hea_name">
|
||||
<text class="_vv_det_ant_dia_hea_na_text">剧名剧名剧名剧名剧名剧名剧名剧名剧名剧名剧名剧名剧名剧名</text>
|
||||
</view>
|
||||
<view class="_vv_det_ant_dia_hea_close" bindtap="handelAnthologyClose">
|
||||
<image src="/static/close_icon.png" class="__wa_img_no_radius"></image>
|
||||
</view>
|
||||
</view>
|
||||
<view class="_vv_det_ant_dia_sort">
|
||||
<scroll-view scroll-x="{{true}}" class="_vv_det_ant_dia_so_scr">
|
||||
<block tt:for="{{3}}">
|
||||
<view class="_vv_det_ant_dia_so_sc_item">
|
||||
<text class="_vv_det_ant_dia_so_sc_it_text ac_color">1-30</text>
|
||||
</view>
|
||||
</block>
|
||||
</scroll-view>
|
||||
</view>
|
||||
<view class="_vv_det_ant_dia_list">
|
||||
<swiper class="_vv_det_ant_dia_li_warp">
|
||||
<block tt:for="{{3}}">
|
||||
<swiper-item tt:key="{{index}}">
|
||||
<view class="_vv_det_ant_dia_li_wa_ppp_li">
|
||||
<view class="_vv_det_ant_dia_li_wa_p_hhhh">
|
||||
<block tt:for="{{30}}" tt:for-index="idx">
|
||||
<view class="_vv_det_ant_dia_li_wa_p_h_yyyy" tt:key="index_{{idx}}">
|
||||
<view class="_vv_det_ant_dia_li_wa_p_h_y_ggg acv_class_color">
|
||||
<text class="_vv_det_ant_dia_li_wa_p_h_y_g_t">{{idx}}</text>
|
||||
<view class="_vv_det_ant_dia_li_wa_p_h_y_g_lock">
|
||||
<image src="/static/ant_lock_icon.png" class="__wa_img_no_radius">
|
||||
</image>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</block>
|
||||
</view>
|
||||
</view>
|
||||
</swiper-item>
|
||||
</block>
|
||||
</swiper>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
@ -1 +1,362 @@
|
||||
/* e:\project\dy_video_all\初晴剧场\pages\videoDetail\videoDetail.ttss */
|
||||
|
||||
._vv_detail_html {
|
||||
width: 100%;
|
||||
height: 100vh;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
._vv_de_swiper {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
z-index: 1999;
|
||||
/* padding-bottom: 40rpx; */
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
._swiper_item_warp {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
z-index: 1;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
._m_v_w_video_player {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
|
||||
._m_v_w_it_ma_cover {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
._m_v_w_v_operate_l {
|
||||
position: absolute;
|
||||
right: 32rpx;
|
||||
bottom: 260rpx;
|
||||
z-index: 2;
|
||||
}
|
||||
|
||||
._m_vv_oper_l_col_w {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
._m_vv_oper_l_collect {
|
||||
width: 68rpx;
|
||||
height: 68rpx;
|
||||
}
|
||||
|
||||
._m_vv_oper_l_col_sss {
|
||||
display: flex;
|
||||
line-height: 1;
|
||||
margin-top: 10rpx;
|
||||
}
|
||||
|
||||
._m_vv_oper_l_col_s_text {
|
||||
font-size: 24rpx;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
._m_v_ww_info_vo {
|
||||
position: absolute;
|
||||
left: 32rpx;
|
||||
bottom: 66rpx;
|
||||
width: 80%;
|
||||
z-index: 2;
|
||||
}
|
||||
|
||||
._m_v_ww_in_vooo_title {
|
||||
display: flex;
|
||||
line-height: 1;
|
||||
}
|
||||
|
||||
._m_v_ww_in_vooo_ti_text {
|
||||
font-size: 36rpx;
|
||||
font-weight: 600;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
._m_v_ww_in_lll_num {
|
||||
display: flex;
|
||||
line-height: 1;
|
||||
margin-top: 16rpx;
|
||||
}
|
||||
|
||||
._m_v_ww_in_l_n_current {
|
||||
display: inline-block;
|
||||
font-size: 24rpx;
|
||||
font-weight: 500;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
._m_v_ww_in_l_n_all {
|
||||
display: inline-block;
|
||||
font-size: 24rpx;
|
||||
font-weight: 500;
|
||||
color: #fff;
|
||||
margin-left: 20rpx;
|
||||
}
|
||||
|
||||
._m_v_ww_in_ttt_tips {
|
||||
display: flex;
|
||||
width: 100%;
|
||||
line-height: 1;
|
||||
margin-top: 26rpx;
|
||||
}
|
||||
|
||||
._m_v_ww_in_ttt_t_text {
|
||||
display: -webkit-box;
|
||||
width: 100%;
|
||||
font-weight: 300;
|
||||
line-height: 1.5;
|
||||
font-size: 24rpx;
|
||||
color: #fff;
|
||||
-webkit-box-orient: vertical;
|
||||
-webkit-line-clamp: 2;
|
||||
/* 设置为想要的行数 */
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
|
||||
._iii_video_content {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
z-index: 3;
|
||||
}
|
||||
|
||||
._iii_video_co_err_warp {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
._iii_vi_co_err {
|
||||
display: flex;
|
||||
margin-top: 80rpx;
|
||||
}
|
||||
|
||||
._iii_vi_co_err_text {
|
||||
font-size: 28rpx;
|
||||
color: rgba(255, 255, 255, 0.6);
|
||||
}
|
||||
|
||||
._iii_vi_co_e_img {
|
||||
width: 166rpx;
|
||||
height: 166rpx;
|
||||
}
|
||||
|
||||
._k_l_unlock {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
}
|
||||
|
||||
._k_l_unlo_mask {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
padding: 90rpx;
|
||||
background-color: rgba(0, 0, 0, 0.45);
|
||||
z-index: 99;
|
||||
}
|
||||
|
||||
._k_l_unlo_ma_pay {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
width: 100%;
|
||||
height: 92rpx;
|
||||
background: linear-gradient(90deg, #5BBE04 0%, #04BE55 100%);
|
||||
border-radius: 92rpx;
|
||||
}
|
||||
|
||||
._k_l_unlo_ma_ad {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
width: 100%;
|
||||
height: 92rpx;
|
||||
background: linear-gradient(90deg, #5BBE04 0%, #04BE55 100%);
|
||||
border-radius: 92rpx;
|
||||
margin-top: 36rpx;
|
||||
}
|
||||
|
||||
._k_l_unlo_ma_p_icon {
|
||||
width: 42rpx;
|
||||
height: 37rpx;
|
||||
}
|
||||
|
||||
._k_l_unlo_ma_name {
|
||||
display: flex;
|
||||
line-height: 1;
|
||||
margin-left: 42rpx;
|
||||
}
|
||||
|
||||
._k_l_unlo_ma_na_text {
|
||||
font-size: 24rpx;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
._vv_det_anthology_dialog {
|
||||
position: absolute;
|
||||
left: 0;
|
||||
bottom: 0;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
width: 100%;
|
||||
height: 886rpx;
|
||||
border-radius: 16rpx 16rpx 0 0;
|
||||
background-color: #080B16;
|
||||
z-index: 9999;
|
||||
transform: translateY(100%);
|
||||
transition: transform 0.5s;
|
||||
}
|
||||
|
||||
._vv_det_anthology_dialog.ac_dis_blo{
|
||||
transform: translateY(0);
|
||||
transition: transform 0.5s;
|
||||
}
|
||||
|
||||
._vv_det_ant_dia_header {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
width: 100%;
|
||||
padding: 40rpx 32rpx 40rpx 32rpx;
|
||||
}
|
||||
|
||||
._vv_det_ant_dia_hea_name {
|
||||
display: flex;
|
||||
width: 70%;
|
||||
}
|
||||
|
||||
._vv_det_ant_dia_hea_na_text {
|
||||
display: inline-block;
|
||||
font-size: 36rpx;
|
||||
color: #fff;
|
||||
font-weight: 600;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
._vv_det_ant_dia_hea_close {
|
||||
width: 30rpx;
|
||||
height: 30rpx;
|
||||
}
|
||||
|
||||
._vv_det_ant_dia_sort {
|
||||
width: 100%;
|
||||
padding: 0 32rpx;
|
||||
margin-bottom: 40rpx;
|
||||
}
|
||||
|
||||
._vv_det_ant_dia_so_scr {
|
||||
width: 100%;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
._vv_det_ant_dia_so_sc_item {
|
||||
display: inline-block;
|
||||
margin-right: 40rpx;
|
||||
}
|
||||
|
||||
._vv_det_ant_dia_so_sc_item:last-child {
|
||||
margin-right: 0;
|
||||
}
|
||||
|
||||
._vv_det_ant_dia_so_sc_it_text {
|
||||
font-size: 28rpx;
|
||||
color: rgba(255, 255, 255, 0.4);
|
||||
line-height: 1;
|
||||
}
|
||||
|
||||
._vv_det_ant_dia_so_sc_it_text.ac_color {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
._vv_det_ant_dia_list {
|
||||
flex: 1;
|
||||
}
|
||||
|
||||
._vv_det_ant_dia_li_warp {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
._vv_det_ant_dia_li_wa_ppp_li {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
padding-left: 32rpx;
|
||||
padding-right: 10rpx;
|
||||
}
|
||||
|
||||
._vv_det_ant_dia_li_wa_p_hhhh {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
width: 100%;
|
||||
/* height: 100%; */
|
||||
}
|
||||
|
||||
._vv_det_ant_dia_li_wa_p_h_yyyy {
|
||||
width: 16.666%;
|
||||
height: 96rpx;
|
||||
padding-right: 22rpx;
|
||||
margin-bottom: 22rpx;
|
||||
}
|
||||
|
||||
._vv_det_ant_dia_li_wa_p_h_y_ggg {
|
||||
position: relative;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
width: 100%;
|
||||
height: 96rpx;
|
||||
background-color: rgba(255, 255, 255, 0.1);
|
||||
border-radius: 8rpx;
|
||||
border: 2rpx solid transparent;
|
||||
}
|
||||
|
||||
._vv_det_ant_dia_li_wa_p_h_y_ggg.acv_class_color {
|
||||
border: 2rpx solid #5BBE04;
|
||||
background-color: rgba(91, 190, 4, 0.2);
|
||||
}
|
||||
|
||||
|
||||
._vv_det_ant_dia_li_wa_p_h_y_ggg.acv_class_color ._vv_det_ant_dia_li_wa_p_h_y_g_t {
|
||||
color: #5BBE04;
|
||||
}
|
||||
|
||||
._vv_det_ant_dia_li_wa_p_h_y_g_t {
|
||||
font-size: 32rpx;
|
||||
color: #999999;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
._vv_det_ant_dia_li_wa_p_h_y_g_lock {
|
||||
position: absolute;
|
||||
top: 8rpx;
|
||||
right: 8rpx;
|
||||
width: 20rpx;
|
||||
height: 24rpx;
|
||||
}
|
@ -1,18 +1 @@
|
||||
{
|
||||
"setting": {
|
||||
"urlCheck": true,
|
||||
"es6": true,
|
||||
"postcss": true,
|
||||
"minified": true,
|
||||
"newFeature": true,
|
||||
"autoCompile": true,
|
||||
"compileHotReLoad": true,
|
||||
"nativeCompile": true,
|
||||
"useCompilerPlugins": [
|
||||
"typescript"
|
||||
]
|
||||
},
|
||||
"appid": "tt216c57d1be50cc7b01",
|
||||
"projectname": "初晴剧场",
|
||||
"douyinProjectType": "native"
|
||||
}
|
||||
{"setting":{"urlCheck":true,"es6":true,"postcss":true,"minified":true,"newFeature":true,"autoCompile":true,"compileHotReLoad":true,"nativeCompile":true,"useCompilerPlugins":["typescript"]},"appid":"tt216c57d1be50cc7b01","projectname":"初晴剧场","douyinProjectType":"native"}
|
||||
|
@ -1,7 +1,7 @@
|
||||
{
|
||||
"condition": {
|
||||
"miniprogram": {
|
||||
"current": 1715994690522,
|
||||
"current": -1,
|
||||
"list": [
|
||||
{
|
||||
"id": 1715845062520,
|
||||
@ -72,6 +72,26 @@
|
||||
"launchFrom": "scan",
|
||||
"location": "qr_code",
|
||||
"mockUpdateType": "Noupdate"
|
||||
},
|
||||
{
|
||||
"id": 1716172737903,
|
||||
"name": "播放详情",
|
||||
"pathName": "pages/videoDetail/videoDetail",
|
||||
"query": "",
|
||||
"scene": "990001",
|
||||
"launchFrom": "scan",
|
||||
"location": "qr_code",
|
||||
"mockUpdateType": "Noupdate"
|
||||
},
|
||||
{
|
||||
"id": 1716196645433,
|
||||
"name": "充值",
|
||||
"pathName": "pages/pay/pay",
|
||||
"query": "",
|
||||
"scene": "990001",
|
||||
"launchFrom": "scan",
|
||||
"location": "qr_code",
|
||||
"mockUpdateType": "Noupdate"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
BIN
static/ant_lock_icon.png
Normal file
After Width: | Height: | Size: 395 B |
BIN
static/close_icon.png
Normal file
After Width: | Height: | Size: 735 B |
BIN
static/error-page.png
Normal file
After Width: | Height: | Size: 4.2 KiB |
BIN
static/loading.gif
Normal file
After Width: | Height: | Size: 9.7 KiB |
BIN
static/pay_bg.png
Normal file
After Width: | Height: | Size: 82 KiB |
BIN
static/privilege_more.png
Normal file
After Width: | Height: | Size: 2.9 KiB |
BIN
static/privilege_no_ad.png
Normal file
After Width: | Height: | Size: 4.4 KiB |
BIN
static/privilege_play.png
Normal file
After Width: | Height: | Size: 3.6 KiB |
BIN
static/unlock_icon.png
Normal file
After Width: | Height: | Size: 661 B |
BIN
static/vip_icon.png
Normal file
After Width: | Height: | Size: 1.7 KiB |
BIN
static/vip_icon_selected.png
Normal file
After Width: | Height: | Size: 1.6 KiB |
@ -1 +1,2 @@
|
||||
export const basUrl = 'https://dymgjcweb.qinjiu8.com'
|
||||
// export const basUrl = 'https://dymgjcweb.qinjiu8.com'
|
||||
export const basUrl = 'https://dycqjcweb.jiulingliu.cn'
|
@ -3,6 +3,8 @@ import { basUrl } from './config'
|
||||
|
||||
//request.js 此demo为简易封装,开发者可根据自己的业务场景进行修改
|
||||
export const httpRequest = (url: string, method: any = 'GET', data: any = {}, header: any = {}) => {
|
||||
const uid = tt.getStorageSync('uid');
|
||||
const platform = tt.getSystemInfoSync().platform;
|
||||
return new Promise((resolve, reject) => {
|
||||
let newUrl = '';
|
||||
if (url.includes('https') || url.includes('http')) {
|
||||
@ -13,7 +15,11 @@ export const httpRequest = (url: string, method: any = 'GET', data: any = {}, he
|
||||
tt.request({
|
||||
url: newUrl,
|
||||
method: method,
|
||||
data: data,
|
||||
data: {
|
||||
uid: uid || '',
|
||||
platform: platform || '',
|
||||
...data,
|
||||
},
|
||||
header: header,
|
||||
success: (res) => {
|
||||
resolve(res.data)
|
||||
|