From 09a974a48287d4c5ba0fd432ee4203d83c0643c5 Mon Sep 17 00:00:00 2001 From: lipenggao Date: Fri, 24 May 2024 17:24:28 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=B4=E6=97=B6=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app.json | 3 +- app.ts | 27 +- pages/consumption/consumption.json | 3 +- pages/consumption/consumption.ts | 29 +- pages/consumption/consumption.ttml | 6 +- pages/consumption/consumption.ttss | 2 +- pages/home/home.json | 5 +- pages/home/home.ts | 171 ++++++++- pages/home/home.ttml | 129 ++++--- pages/home/home.ttss | 29 +- pages/leaderboard/leaderboard.json | 3 +- pages/leaderboard/leaderboard.ts | 21 +- pages/leaderboard/leaderboard.ttml | 13 +- pages/my/my.json | 3 +- pages/my/my.ts | 58 ++- pages/my/my.ttml | 83 ++-- pages/my/my.ttss | 9 + pages/pay/pay.json | 3 + pages/pay/pay.ts | 113 ++++++ pages/pay/pay.ttml | 134 +++++++ pages/pay/pay.ttss | 332 ++++++++++++++++ pages/rechargeRecord/rechargeRecord.json | 3 +- pages/rechargeRecord/rechargeRecord.ts | 27 +- pages/rechargeRecord/rechargeRecord.ttml | 54 +-- pages/recommend/components/mVideo/mVideo.json | 4 - pages/recommend/components/mVideo/mVideo.ts | 12 - pages/recommend/components/mVideo/mVideo.ttml | 2 - pages/recommend/components/mVideo/mVideo.ttss | 1 - .../components/mVideoPlayer/mVideoPlayer.json | 6 - .../components/mVideoPlayer/mVideoPlayer.ts | 47 --- .../components/mVideoPlayer/mVideoPlayer.ttml | 11 - .../components/mVideoPlayer/mVideoPlayer.ttss | 2 - pages/recommend/recommend.json | 3 +- pages/recommend/recommend.ts | 172 +++++++-- pages/recommend/recommend.ttml | 144 ++++--- pages/recommend/recommend.ttss | 68 +++- pages/search/search.json | 3 +- pages/search/search.ts | 74 +++- pages/search/search.ttml | 41 +- pages/search/search.ttss | 1 + pages/subscribe/subscribe.json | 5 +- pages/subscribe/subscribe.ts | 72 +++- pages/subscribe/subscribe.ttml | 99 ++--- pages/subscribe/subscribe.ttss | 24 +- pages/theater/theater.ts | 47 ++- pages/theater/theater.ttml | 83 ++-- pages/theater/theater.ttss | 27 +- .../videoDetail/components/mVideo/mVideo.json | 4 - pages/videoDetail/components/mVideo/mVideo.ts | 12 - .../videoDetail/components/mVideo/mVideo.ttml | 2 - .../videoDetail/components/mVideo/mVideo.ttss | 1 - .../components/mVideoPlayer/mVideoPlayer.json | 6 - .../components/mVideoPlayer/mVideoPlayer.ts | 46 --- .../components/mVideoPlayer/mVideoPlayer.ttml | 9 - .../components/mVideoPlayer/mVideoPlayer.ttss | 6 - pages/videoDetail/videoDetail.json | 4 +- pages/videoDetail/videoDetail.ts | 140 ++++++- pages/videoDetail/videoDetail.ttml | 184 ++++++++- pages/videoDetail/videoDetail.ttss | 363 +++++++++++++++++- project.config.json | 19 +- project.private.config.json | 22 +- static/ant_lock_icon.png | Bin 0 -> 395 bytes static/close_icon.png | Bin 0 -> 735 bytes static/error-page.png | Bin 0 -> 4325 bytes static/loading.gif | Bin 0 -> 9884 bytes static/pay_bg.png | Bin 0 -> 83735 bytes static/privilege_more.png | Bin 0 -> 2976 bytes static/privilege_no_ad.png | Bin 0 -> 4543 bytes static/privilege_play.png | Bin 0 -> 3652 bytes static/unlock_icon.png | Bin 0 -> 661 bytes static/vip_icon.png | Bin 0 -> 1703 bytes static/vip_icon_selected.png | Bin 0 -> 1594 bytes utils/config.ts | 3 +- utils/httpReques.ts | 8 +- 74 files changed, 2477 insertions(+), 560 deletions(-) create mode 100644 pages/pay/pay.json create mode 100644 pages/pay/pay.ts create mode 100644 pages/pay/pay.ttml create mode 100644 pages/pay/pay.ttss delete mode 100644 pages/recommend/components/mVideo/mVideo.json delete mode 100644 pages/recommend/components/mVideo/mVideo.ts delete mode 100644 pages/recommend/components/mVideo/mVideo.ttml delete mode 100644 pages/recommend/components/mVideo/mVideo.ttss delete mode 100644 pages/recommend/components/mVideoPlayer/mVideoPlayer.json delete mode 100644 pages/recommend/components/mVideoPlayer/mVideoPlayer.ts delete mode 100644 pages/recommend/components/mVideoPlayer/mVideoPlayer.ttml delete mode 100644 pages/recommend/components/mVideoPlayer/mVideoPlayer.ttss delete mode 100644 pages/videoDetail/components/mVideo/mVideo.json delete mode 100644 pages/videoDetail/components/mVideo/mVideo.ts delete mode 100644 pages/videoDetail/components/mVideo/mVideo.ttml delete mode 100644 pages/videoDetail/components/mVideo/mVideo.ttss delete mode 100644 pages/videoDetail/components/mVideoPlayer/mVideoPlayer.json delete mode 100644 pages/videoDetail/components/mVideoPlayer/mVideoPlayer.ts delete mode 100644 pages/videoDetail/components/mVideoPlayer/mVideoPlayer.ttml delete mode 100644 pages/videoDetail/components/mVideoPlayer/mVideoPlayer.ttss create mode 100644 static/ant_lock_icon.png create mode 100644 static/close_icon.png create mode 100644 static/error-page.png create mode 100644 static/loading.gif create mode 100644 static/pay_bg.png create mode 100644 static/privilege_more.png create mode 100644 static/privilege_no_ad.png create mode 100644 static/privilege_play.png create mode 100644 static/unlock_icon.png create mode 100644 static/vip_icon.png create mode 100644 static/vip_icon_selected.png diff --git a/app.json b/app.json index e2ea4bd..f7fcbde 100644 --- a/app.json +++ b/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", diff --git a/app.ts b/app.ts index 4778f28..88b8ad8 100644 --- a/app.ts +++ b/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; } }) diff --git a/pages/consumption/consumption.json b/pages/consumption/consumption.json index 3928faa..2d8b369 100644 --- a/pages/consumption/consumption.json +++ b/pages/consumption/consumption.json @@ -1,3 +1,4 @@ { - "usingComponents": {} + "usingComponents": {}, + "navigationBarTitleText": "消费记录" } \ No newline at end of file diff --git a/pages/consumption/consumption.ts b/pages/consumption/consumption.ts index 39a1e9e..c76dad5 100644 --- a/pages/consumption/consumption.ts +++ b/pages/consumption/consumption.ts @@ -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}`, + }); + }, }) \ No newline at end of file diff --git a/pages/consumption/consumption.ttml b/pages/consumption/consumption.ttml index 95ef7cd..c895e85 100644 --- a/pages/consumption/consumption.ttml +++ b/pages/consumption/consumption.ttml @@ -1,9 +1,9 @@ - + - - + + { + 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`, + }); } }) \ No newline at end of file diff --git a/pages/home/home.ttml b/pages/home/home.ttml index 7ad2d4e..a3cb158 100644 --- a/pages/home/home.ttml +++ b/pages/home/home.ttml @@ -6,13 +6,12 @@ - - - - + bindchange="handelSwiperChange" autoplay="{{true}}" interval="{{2000}}"> + + + + 播放 @@ -28,48 +27,47 @@ - 模块一 + 精品短剧 - - - - + + + + - + - 模块二 - 更多 + 订阅专享 + 更多 - - - - + + + + - + - + + + 已订阅 - 第一 + 第{{index + 1}} @@ -78,18 +76,16 @@ - 模块三 + 优选好剧 - - - + + + - - + + - 这是可以变的剧名这是可以变的剧名 + {{item.name}} @@ -112,18 +108,16 @@ - 模块四 + 经典短剧 - - - + + + - - + + - 这是一个可以变的剧名这是一个可以变的剧名 + {{item.name}} - 这是描述描述描述描述 + {{item.description}} @@ -151,38 +145,35 @@ - 模块五 + 最新好剧 - - - - + + + + - 200k + {{item.count}} - 这是一个可以变化的剧名这是一个可以变化的剧名 + {{item.name}} - - 这是描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述 + + {{item.description}} - - + + 订阅 @@ -190,7 +181,8 @@ - + 已订阅 @@ -203,6 +195,17 @@ + + + + + + 加载中... + + + + \ No newline at end of file diff --git a/pages/home/home.ttss b/pages/home/home.ttss index 467de64..25e1c52 100644 --- a/pages/home/home.ttss +++ b/pages/home/home.ttss @@ -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; @@ -628,4 +637,20 @@ page { ._mo_5_con_li_it_ri_btn_wa_no_text { 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); } \ No newline at end of file diff --git a/pages/leaderboard/leaderboard.json b/pages/leaderboard/leaderboard.json index 3928faa..774fef8 100644 --- a/pages/leaderboard/leaderboard.json +++ b/pages/leaderboard/leaderboard.json @@ -1,3 +1,4 @@ { - "usingComponents": {} + "usingComponents": {}, + "navigationBarTitleText": "排行榜" } \ No newline at end of file diff --git a/pages/leaderboard/leaderboard.ts b/pages/leaderboard/leaderboard.ts index a849391..571f328 100644 --- a/pages/leaderboard/leaderboard.ts +++ b/pages/leaderboard/leaderboard.ts @@ -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}`, + }); + }, }) \ No newline at end of file diff --git a/pages/leaderboard/leaderboard.ttml b/pages/leaderboard/leaderboard.ttml index 20c4e18..30d9c8c 100644 --- a/pages/leaderboard/leaderboard.ttml +++ b/pages/leaderboard/leaderboard.ttml @@ -19,8 +19,8 @@ - - + + - 这是一个可以72变的剧名 + {{item.name}} - 20K + {{item.rand}} - 描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述 + {{item.description}} - + 立即观看 diff --git a/pages/my/my.json b/pages/my/my.json index 0a1d6b4..6a6d9c3 100644 --- a/pages/my/my.json +++ b/pages/my/my.json @@ -1,5 +1,6 @@ { "usingComponents": { "my-modal": "/components/myModal/myModal" - } + }, + "navigationBarTitleText": "我的" } \ No newline at end of file diff --git a/pages/my/my.ts b/pages/my/my.ts index 9759932..06e68bc 100644 --- a/pages/my/my.ts +++ b/pages/my/my.ts @@ -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`, + }); } }) \ No newline at end of file diff --git a/pages/my/my.ttml b/pages/my/my.ttml index c6c0634..9de93fa 100644 --- a/pages/my/my.ttml +++ b/pages/my/my.ttml @@ -8,7 +8,7 @@ - + 购买记录 @@ -16,10 +16,15 @@ - 用户的名字 + + {{userInfo.nickname}} + + + 用户{{userInfo.uid}} + - ID:123456789 + ID:{{userInfo.uid}} @@ -37,12 +42,21 @@ VIP - - 您还没有激活VIP - - - 立即充值 - + + + 距离VIP到期时间还剩下{{ userInfo.vip_enddate }}天 + + + + + 您还没有激活VIP + + + + + 立即充值 + + @@ -56,7 +70,7 @@ - 99999 + {{userInfo.egold || 0}} @@ -75,7 +89,7 @@ - 99999 + {{userInfo.zb || 0}} @@ -83,26 +97,25 @@ - + 观看历史 - + - - + + - + - 这是一个可以变哈哈哈哈哈哈 + {{item.name}} @@ -112,7 +125,7 @@ - + @@ -127,7 +140,7 @@ - + @@ -142,21 +155,23 @@ - - - - + diff --git a/pages/my/my.ttss b/pages/my/my.ttss index 4079bae..bfeacda 100644 --- a/pages/my/my.ttss +++ b/pages/my/my.ttss @@ -394,4 +394,13 @@ page { ._my_ste_5_co_it_ri_arrow { width: 12rpx; height: 24rpx; +} + +._my_ste_5_co_ke_fu { + background-color: transparent; + padding: 0; +} + +._my_ste_5_co_ke_fu::after { + content: none; } \ No newline at end of file diff --git a/pages/pay/pay.json b/pages/pay/pay.json new file mode 100644 index 0000000..3928faa --- /dev/null +++ b/pages/pay/pay.json @@ -0,0 +1,3 @@ +{ + "usingComponents": {} +} \ No newline at end of file diff --git a/pages/pay/pay.ts b/pages/pay/pay.ts new file mode 100644 index 0000000..d8a5dc5 --- /dev/null +++ b/pages/pay/pay.ts @@ -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); + } + }) + } + + }) + } + } + } +}) \ No newline at end of file diff --git a/pages/pay/pay.ttml b/pages/pay/pay.ttml new file mode 100644 index 0000000..81f9fb2 --- /dev/null +++ b/pages/pay/pay.ttml @@ -0,0 +1,134 @@ + + + + + + + + 购买记录 + + + + + + + + + + {{userInfo.nickname}} + + + 用户{{userInfo.uid}} + + + + + + + + + + + + + ID: {{userInfo.uid}} + + + + + + + + + + + + + + VIP到期还有: + + + {{userInfo.vip_enddate}} 天 + + + + + 您还没有激活VlP + + + + + + + + + + + + + {{item.poster}} + + + + + {{item.price}} + + + + + + + + + + + + + + + + + 观看中无广告 + + + + + + + + + + + + + 享受全部资源 + + + + + + + + + + + + + 跟多特权 + + + + + + + + + + + + 立即购买 + + + + + \ No newline at end of file diff --git a/pages/pay/pay.ttss b/pages/pay/pay.ttss new file mode 100644 index 0000000..9e5a9df --- /dev/null +++ b/pages/pay/pay.ttss @@ -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; +} \ No newline at end of file diff --git a/pages/rechargeRecord/rechargeRecord.json b/pages/rechargeRecord/rechargeRecord.json index 3928faa..0205b63 100644 --- a/pages/rechargeRecord/rechargeRecord.json +++ b/pages/rechargeRecord/rechargeRecord.json @@ -1,3 +1,4 @@ { - "usingComponents": {} + "usingComponents": {}, + "navigationBarTitleText": "购买记录" } \ No newline at end of file diff --git a/pages/rechargeRecord/rechargeRecord.ts b/pages/rechargeRecord/rechargeRecord.ts index 1b2ac71..3dbeb3b 100644 --- a/pages/rechargeRecord/rechargeRecord.ts +++ b/pages/rechargeRecord/rechargeRecord.ts @@ -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 }) - } + }, + }) \ No newline at end of file diff --git a/pages/rechargeRecord/rechargeRecord.ttml b/pages/rechargeRecord/rechargeRecord.ttml index d90fc7a..a061dec 100644 --- a/pages/rechargeRecord/rechargeRecord.ttml +++ b/pages/rechargeRecord/rechargeRecord.ttml @@ -2,49 +2,51 @@ - 购买K币 + 购买VIP - 购买VIP + 购买K币 - - - - - - 2024-05-17 - - - - - - - 购买购买 - - - 2024-05-17 55555555 - + + + + + + + 2024-05-17 - - - VIP + + + + + + 购买购买 + + + 2024-05-17 55555555 + - - +3天 + + + VIP + + + +3天 + - - + + diff --git a/pages/recommend/components/mVideo/mVideo.json b/pages/recommend/components/mVideo/mVideo.json deleted file mode 100644 index e8cfaaf..0000000 --- a/pages/recommend/components/mVideo/mVideo.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "component": true, - "usingComponents": {} -} \ No newline at end of file diff --git a/pages/recommend/components/mVideo/mVideo.ts b/pages/recommend/components/mVideo/mVideo.ts deleted file mode 100644 index 2d90f1c..0000000 --- a/pages/recommend/components/mVideo/mVideo.ts +++ /dev/null @@ -1,12 +0,0 @@ -// e:\project\dy_video_all\初晴剧场\pages\recommend\components\mVideo\mVideo.ts -Component({ - data: { - - }, - properties: { - - }, - methods: { - - } -}) \ No newline at end of file diff --git a/pages/recommend/components/mVideo/mVideo.ttml b/pages/recommend/components/mVideo/mVideo.ttml deleted file mode 100644 index 811832f..0000000 --- a/pages/recommend/components/mVideo/mVideo.ttml +++ /dev/null @@ -1,2 +0,0 @@ - -e:\project\dy_video_all\初晴剧场\pages\recommend\components\mVideo\mVideo.ttml \ No newline at end of file diff --git a/pages/recommend/components/mVideo/mVideo.ttss b/pages/recommend/components/mVideo/mVideo.ttss deleted file mode 100644 index 1bb3ce8..0000000 --- a/pages/recommend/components/mVideo/mVideo.ttss +++ /dev/null @@ -1 +0,0 @@ -/* e:\project\dy_video_all\初晴剧场\pages\recommend\components\mVideo\mVideo.ttss */ \ No newline at end of file diff --git a/pages/recommend/components/mVideoPlayer/mVideoPlayer.json b/pages/recommend/components/mVideoPlayer/mVideoPlayer.json deleted file mode 100644 index ba565cc..0000000 --- a/pages/recommend/components/mVideoPlayer/mVideoPlayer.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "component": true, - "usingComponents": { - "video-player": "ext://industry/video-player" - } -} \ No newline at end of file diff --git a/pages/recommend/components/mVideoPlayer/mVideoPlayer.ts b/pages/recommend/components/mVideoPlayer/mVideoPlayer.ts deleted file mode 100644 index 27966ab..0000000 --- a/pages/recommend/components/mVideoPlayer/mVideoPlayer.ts +++ /dev/null @@ -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 - }) - - } - } -}) \ No newline at end of file diff --git a/pages/recommend/components/mVideoPlayer/mVideoPlayer.ttml b/pages/recommend/components/mVideoPlayer/mVideoPlayer.ttml deleted file mode 100644 index c13b37f..0000000 --- a/pages/recommend/components/mVideoPlayer/mVideoPlayer.ttml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - \ No newline at end of file diff --git a/pages/recommend/components/mVideoPlayer/mVideoPlayer.ttss b/pages/recommend/components/mVideoPlayer/mVideoPlayer.ttss deleted file mode 100644 index 9cd41f3..0000000 --- a/pages/recommend/components/mVideoPlayer/mVideoPlayer.ttss +++ /dev/null @@ -1,2 +0,0 @@ -/* e:\project\dy_video_all\初晴剧场\pages\recommend\components\mVideoPlayer\mVideoPlayer.ttss */ - diff --git a/pages/recommend/recommend.json b/pages/recommend/recommend.json index cf43d88..b629a88 100644 --- a/pages/recommend/recommend.json +++ b/pages/recommend/recommend.json @@ -1,5 +1,6 @@ { "usingComponents": { "video-player": "ext://industry/video-player" - } + }, + "navigationBarTitleText": "剧场" } \ No newline at end of file diff --git a/pages/recommend/recommend.ts b/pages/recommend/recommend.ts index c505049..71c0fc0 100644 --- a/pages/recommend/recommend.ts +++ b/pages/recommend/recommend.ts @@ -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' + }); + } + }) + + } + + }, }) \ No newline at end of file diff --git a/pages/recommend/recommend.ttml b/pages/recommend/recommend.ttml index 11c545f..8da48be 100644 --- a/pages/recommend/recommend.ttml +++ b/pages/recommend/recommend.ttml @@ -1,62 +1,118 @@ - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + {{videoErrorText}} + + + + + + - - - - + + 进入观看 + + + + + + + + - - - 66K - + + + {{item.count}} + + + + + + + + {{item.name}} - - - {{videoInfo.title}}{{videoPlayerCurrent}}{{index}}--{{item.id}} - - - 第{{videoInfo.order}}集 - 全剧{{100}}集 - - - 描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述 - + + 第{{item.videoinfo.order}}集 + 全剧{{item.number}}集 + + + {{item.description}} - - - - - + + + + + + \ No newline at end of file diff --git a/pages/recommend/recommend.ttss b/pages/recommend/recommend.ttss index fde04c3..09190be 100644 --- a/pages/recommend/recommend.ttss +++ b/pages/recommend/recommend.ttss @@ -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 { @@ -115,4 +115,68 @@ /* 设置为想要的行数 */ 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; } \ No newline at end of file diff --git a/pages/search/search.json b/pages/search/search.json index 3928faa..5667d5c 100644 --- a/pages/search/search.json +++ b/pages/search/search.json @@ -1,3 +1,4 @@ { - "usingComponents": {} + "usingComponents": {}, + "navigationBarTitleText": "搜索" } \ No newline at end of file diff --git a/pages/search/search.ts b/pages/search/search.ts index 4949568..cdedabe 100644 --- a/pages/search/search.ts +++ b/pages/search/search.ts @@ -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: '清空搜索历史成功', + }); } }) \ No newline at end of file diff --git a/pages/search/search.ttml b/pages/search/search.ttml index 8f560f5..ca9fa87 100644 --- a/pages/search/search.ttml +++ b/pages/search/search.ttml @@ -7,57 +7,42 @@ - + 搜索 - + 搜索历史 - + - - 剧宝 - - - 剧宝 - - - 剧宝 - - - 剧宝 - - - 剧宝 - - - 剧宝 - + + + {{item}} + + - + - + - + - 这是一个可以变化的剧名神奇吗 + {{item.name}} @@ -66,7 +51,7 @@ - + diff --git a/pages/search/search.ttss b/pages/search/search.ttss index 9978bda..12cc476 100644 --- a/pages/search/search.ttss +++ b/pages/search/search.ttss @@ -127,6 +127,7 @@ page { ._search_con_vi_l_item { width: 50%; padding-right: 32rpx; + margin-bottom: 32rpx; } ._search_con_vi_l_i_warp { diff --git a/pages/subscribe/subscribe.json b/pages/subscribe/subscribe.json index 3928faa..54c6d4a 100644 --- a/pages/subscribe/subscribe.json +++ b/pages/subscribe/subscribe.json @@ -1,3 +1,6 @@ { - "usingComponents": {} + "usingComponents": { + "my-modal": "/components/myModal/myModal" + }, + "navigationBarTitleText": "订阅" } \ No newline at end of file diff --git a/pages/subscribe/subscribe.ts b/pages/subscribe/subscribe.ts index 5af4d36..56f1959 100644 --- a/pages/subscribe/subscribe.ts +++ b/pages/subscribe/subscribe.ts @@ -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) { - - } }) \ No newline at end of file diff --git a/pages/subscribe/subscribe.ttml b/pages/subscribe/subscribe.ttml index 38c3cad..3abd14d 100644 --- a/pages/subscribe/subscribe.ttml +++ b/pages/subscribe/subscribe.ttml @@ -1,60 +1,71 @@ - - - - - - 第五 - - - - - - - - - - - - 200k - - + + + + + + + 第{{index + 1}} - - - - 这是一个可以变化的剧名这是一个可以变化的剧名 - - - 这是描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述 + + + + + + + + + + + {{item.count}} + - - - - 订阅 - - - + + + + {{item.name}} - - - + + {{item.description}} + + + + + 已订阅 - + + - + + + + + + + - - + + 暂时没有内容~ + + + + \ No newline at end of file diff --git a/pages/subscribe/subscribe.ttss b/pages/subscribe/subscribe.ttss index d7b1a0e..9e477c0 100644 --- a/pages/subscribe/subscribe.ttss +++ b/pages/subscribe/subscribe.ttss @@ -182,4 +182,26 @@ ._mo_5_con_li_it_ri_btn_wa_no_text { font-size: 20rpx; color: #999999; -} \ No newline at end of file +} + + +._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; +} diff --git a/pages/theater/theater.ts b/pages/theater/theater.ts index 92ba473..9c5f8d7 100644 --- a/pages/theater/theater.ts +++ b/pages/theater/theater.ts @@ -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}`, + }); + }, }) \ No newline at end of file diff --git a/pages/theater/theater.ttml b/pages/theater/theater.ttml index 0455a6c..2f433f3 100644 --- a/pages/theater/theater.ttml +++ b/pages/theater/theater.ttml @@ -4,7 +4,7 @@ - + - 模块一 + 热剧排行榜 更多 - - - + + + - + @@ -58,7 +56,7 @@ - 这是可以变的剧名这是可以变的剧名 + {{item.name}} @@ -70,41 +68,52 @@ - - - {{index}} + + + {{item.title}} - - - - - - - - - 新剧 - - - - - 火热 - - - - - 这是可以变的剧名这是可以变的剧名 + + + + + + + + + + + 火热 + + + + + {{item.name}} + + + + + + + + - - + + 暂无数据~ + + + diff --git a/pages/theater/theater.ttss b/pages/theater/theater.ttss index 44a3fe0..68d76f3 100644 --- a/pages/theater/theater.ttss +++ b/pages/theater/theater.ttss @@ -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 { @@ -271,4 +271,25 @@ page { color: #fff; 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; } \ No newline at end of file diff --git a/pages/videoDetail/components/mVideo/mVideo.json b/pages/videoDetail/components/mVideo/mVideo.json deleted file mode 100644 index e8cfaaf..0000000 --- a/pages/videoDetail/components/mVideo/mVideo.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "component": true, - "usingComponents": {} -} \ No newline at end of file diff --git a/pages/videoDetail/components/mVideo/mVideo.ts b/pages/videoDetail/components/mVideo/mVideo.ts deleted file mode 100644 index 2d90f1c..0000000 --- a/pages/videoDetail/components/mVideo/mVideo.ts +++ /dev/null @@ -1,12 +0,0 @@ -// e:\project\dy_video_all\初晴剧场\pages\recommend\components\mVideo\mVideo.ts -Component({ - data: { - - }, - properties: { - - }, - methods: { - - } -}) \ No newline at end of file diff --git a/pages/videoDetail/components/mVideo/mVideo.ttml b/pages/videoDetail/components/mVideo/mVideo.ttml deleted file mode 100644 index 811832f..0000000 --- a/pages/videoDetail/components/mVideo/mVideo.ttml +++ /dev/null @@ -1,2 +0,0 @@ - -e:\project\dy_video_all\初晴剧场\pages\recommend\components\mVideo\mVideo.ttml \ No newline at end of file diff --git a/pages/videoDetail/components/mVideo/mVideo.ttss b/pages/videoDetail/components/mVideo/mVideo.ttss deleted file mode 100644 index 1bb3ce8..0000000 --- a/pages/videoDetail/components/mVideo/mVideo.ttss +++ /dev/null @@ -1 +0,0 @@ -/* e:\project\dy_video_all\初晴剧场\pages\recommend\components\mVideo\mVideo.ttss */ \ No newline at end of file diff --git a/pages/videoDetail/components/mVideoPlayer/mVideoPlayer.json b/pages/videoDetail/components/mVideoPlayer/mVideoPlayer.json deleted file mode 100644 index ba565cc..0000000 --- a/pages/videoDetail/components/mVideoPlayer/mVideoPlayer.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "component": true, - "usingComponents": { - "video-player": "ext://industry/video-player" - } -} \ No newline at end of file diff --git a/pages/videoDetail/components/mVideoPlayer/mVideoPlayer.ts b/pages/videoDetail/components/mVideoPlayer/mVideoPlayer.ts deleted file mode 100644 index c24a3cd..0000000 --- a/pages/videoDetail/components/mVideoPlayer/mVideoPlayer.ts +++ /dev/null @@ -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 - }) - - } - } -}) \ No newline at end of file diff --git a/pages/videoDetail/components/mVideoPlayer/mVideoPlayer.ttml b/pages/videoDetail/components/mVideoPlayer/mVideoPlayer.ttml deleted file mode 100644 index d7b2c7c..0000000 --- a/pages/videoDetail/components/mVideoPlayer/mVideoPlayer.ttml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - \ No newline at end of file diff --git a/pages/videoDetail/components/mVideoPlayer/mVideoPlayer.ttss b/pages/videoDetail/components/mVideoPlayer/mVideoPlayer.ttss deleted file mode 100644 index e1f650e..0000000 --- a/pages/videoDetail/components/mVideoPlayer/mVideoPlayer.ttss +++ /dev/null @@ -1,6 +0,0 @@ -/* e:\project\dy_video_all\初晴剧场\pages\recommend\components\mVideoPlayer\mVideoPlayer.ttss */ - -._m_vi_pl_swiper { - width: 100%; - height: 100%; -} \ No newline at end of file diff --git a/pages/videoDetail/videoDetail.json b/pages/videoDetail/videoDetail.json index 3928faa..cf43d88 100644 --- a/pages/videoDetail/videoDetail.json +++ b/pages/videoDetail/videoDetail.json @@ -1,3 +1,5 @@ { - "usingComponents": {} + "usingComponents": { + "video-player": "ext://industry/video-player" + } } \ No newline at end of file diff --git a/pages/videoDetail/videoDetail.ts b/pages/videoDetail/videoDetail.ts index 62a2b94..0afebcb 100644 --- a/pages/videoDetail/videoDetail.ts +++ b/pages/videoDetail/videoDetail.ts @@ -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 + }) } }) \ No newline at end of file diff --git a/pages/videoDetail/videoDetail.ttml b/pages/videoDetail/videoDetail.ttml index 57f4c21..e881420 100644 --- a/pages/videoDetail/videoDetail.ttml +++ b/pages/videoDetail/videoDetail.ttml @@ -1,2 +1,182 @@ - -e:\project\dy_video_all\初晴剧场\pages\videoDetail\videoDetail.ttml \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + {{videoErrorText}} + + + + + + + + + + + + + + + + + + + + + + + + + + 充值解锁 + + + + + + + + + 观看广告解锁 + + + + + + + + + + + + 66K + + + + + + + + 选集 + + + + + + + + 分享 + + + + + + {{videoInfo.title}}{{videoPlayerCurrent}}{{index}}--{{item.id}} + + + 第{{videoInfo.order}}集 + 全剧{{100}}集 + + + 描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述 + + + + + + + + + + + + 剧名剧名剧名剧名剧名剧名剧名剧名剧名剧名剧名剧名剧名剧名 + + + + + + + + + + 1-30 + + + + + + + + + + + + + + {{idx}} + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/pages/videoDetail/videoDetail.ttss b/pages/videoDetail/videoDetail.ttss index bc617f1..65ae0ea 100644 --- a/pages/videoDetail/videoDetail.ttss +++ b/pages/videoDetail/videoDetail.ttss @@ -1 +1,362 @@ -/* e:\project\dy_video_all\初晴剧场\pages\videoDetail\videoDetail.ttss */ \ No newline at end of file +/* 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; +} \ No newline at end of file diff --git a/project.config.json b/project.config.json index 4a5d49e..cfcc7b5 100644 --- a/project.config.json +++ b/project.config.json @@ -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"} diff --git a/project.private.config.json b/project.private.config.json index 560d804..70cbd82 100644 --- a/project.private.config.json +++ b/project.private.config.json @@ -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" } ] } diff --git a/static/ant_lock_icon.png b/static/ant_lock_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..6b471eda7acc131db5a2bd35093a08a4ab2359df GIT binary patch literal 395 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 TJvLB<00000NkvXXu0mjfFTyqz literal 0 HcmV?d00001 diff --git a/static/loading.gif b/static/loading.gif new file mode 100644 index 0000000000000000000000000000000000000000..08d1c3e366bf1616428038faf4bd36242daf20a9 GIT binary patch literal 9884 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

5%Dj# z{V897l-VDo8lWTAOR>&;!_mrZ(^ZTjq<(AmkHdDB4Ui=zbFXU z#8GJH-9vyoOeJ6XNP*k^9M}As?2z#OXQb=pMtT29ZsbMM{&H^~wT_xFG;i&;np5%Y zG|my{_W#gXg=p$-Z&n+1pO~A(L2*R=osesn4CBJ0haacFQlq{}bc?;_gS-bm>beG& z>lIzQ=D|x#y*sx6f^UfCdV(@tVQSxdcjHK&F+q3liHx2{_3F6w$-B+80$uWnOR|nD z?+-jx$+I2y_W~b`NkN}CmQft;`oje%=wT8TM)f>69yZ|vy%#}oZ*4{3bWUDQ+=?8X z5~J90LvJ3|r?8|)&g#ByLMn=)g2c>j0o*Y1CTmCcXMGhm=6lMLCT!$__k7z=ujc9o}Z(IxYNE-#n@1+sp6VrB0C3 z^5+UCb-Pb{++i1G-fh4i?Y3{Vbr>-jQ zs3qd?!0{{h0$}xk@A9Bj$Lw^%8+$-=;^_TEpuFanpXDW*c(?yGtoyZn-@&5AAi3uV zM(~_lj(8>eiJG@T=ukuOoK^Ik%Ff?X?AO{|Xn)-YU}kQnGFbnkW2E)cCf7N|G6l4I z>>AuW0g60I6x#&_GVl%4^gtmX{Gvb{h9xZWv(C(x9Z?%jNht6<`C4yis0xE``e~?) zcbm_5|Jk-DXt&e)O&diO23K9g0p)H&%$+&%fk+jSN|V&+HOtzmRM3~p7vS6QpOp6F zz;XVpGy8mhBjt!TJjEi13OCpD@6`qf_yIwoDE_YeSo+ULwfFug6DV~Aqq94Cw1V3m z=XP%g5^)DD4{Dcib9Bp~P?PTo0W5ASnn95N`jqvK=$pBmFAWb$1l-pYcQpG_sbtGff*J z9;mu16SrWK8F|}*Z=ItEh11sJY?XO3QwJ^+OOwH5?kq)oW*py;MmNgeOCEWL2$Sv%i^ge{@KEGHF9P&EWtlzTcZIc50>`8wLrTNji5b2kBdpXi#9&g)4qer zkHn@D;NB%k<2-g^(tq-K{Du42Ey2+L!EEcjs>3Zg_Fxy<#uJxUTv(#>`IOE?Y4nb~ zb1R)I$N zT;p=T(Z3{I-TT8d{twVEXg-+B`=Qq_?+=eqfT)PSFx2c?$HY>#M&f~F+#m?JO)20R z=0_TgbQvQL;L!~#IsC{+9HG%P;twQ(fdX5n0#Dved?6v9GhE%SSkGe0k13;!aQr7t zQy_DP0S0tKv6m$czeLEHw(wR?mee0+>nQ2s?@#&)*vzaC&1h{;Uve;_oG%hEJqbzI zu70a|OOWS!rGDzr;cOK>`q>G9oMmmj%WoWKa$GV%{0mKO`cJ}B&Fr{>)(6Sm7?%vF#HbQ6C6x;Ov1UR_$b~Ju1qd?n6WE%KHxS F{|8p*tX2R3 literal 0 HcmV?d00001 diff --git a/static/privilege_more.png b/static/privilege_more.png new file mode 100644 index 0000000000000000000000000000000000000000..dbbf45657f6a7174ecd94050f8e2aca962ae2607 GIT binary patch literal 2976 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 literal 0 HcmV?d00001 diff --git a/static/vip_icon_selected.png b/static/vip_icon_selected.png new file mode 100644 index 0000000000000000000000000000000000000000..ed297dd1c63faef66c0038fa3e36a17753e5d61a GIT binary patch literal 1594 zcmV-A2F3Y_P)Px)^hrcPR9Hvdmwjwi^%=)M&$;)u_m+aZv;`?6l^6{UFf+alN`U}Uuw%j`alVCY zfS66iF{S8|)%YHl__CO3%(5&j5!rZ4TfoWKRcKTYLl;cI018D~rSI+S%k4SmndcOH zd)s^Nz0yY9e*c{0{GON3`JUhNoaYGtV@rmcS9e{R$%u(7F*QWUd|hU~-#MH)h80-< zJ$DkhJymqeWWF*$s3YJnl==Hk4j1(B0$0!8Nzh(O8*tv&%P980r1-#s?;WrnDq6xQ ztHMEy14hBm?XqzH*5QC27KL>SKCYQ{f&c|BRDXqCmGwM19r<$o;hv#F4-fF+qTiEk zmG!|41a>wIeNh(e|IH-_*1d&On5f6_5l9Lws)%ofED9eT3iOZ_)+4hk2-&yBK_pVx zG4R=8x#hsTAp`3Na~3k%+(WmqjYi)CGA~>=FsN=^k!#t3`98ZREHC`s-PaEbOBk)? zg8;mModOKlcgTXOw_N|S6%(SCF*n0!?3J=N>j&k0W$`FN@(jpIESV*1E2>?E^{^T1=vVtO@4IW&C5}F z4Pm6BRlz4W7slm#qvUqrWniLv-_oDS+RAOcz;74*fCB5Z+mgOnQ8`Gf|2~-&KBA>} zEK@PI^$#f5H63S0>(vQgucyMj)^Z#5{Be6O~^k~N9 z_D$H7A%x-rD+gpv#cbzZ4ESi_a|ColLV^}Q`uWb&$f!{4!$^>htmxog?dMXQQLNKQR@#-&42K;p_OpCyjsAssZ zOAhnY7$j=o8)5c8jDvmD{*kQNbtE3xarvaM6TfCA$&z~O>G5!E9N6u!p%$_|RfF~n zXbvWisah**DtikruE?C?t1c`js3obXJS_H&fQoA&BLK(G!1NASIjCF3oZB*?C6zw< zXIWjjDlzb(+3Of(zj#r=^*(rFDqMLL)Hd`2JL}%_aIMFAZw*3gMyhlxWOcfzIx-n}df9y4>bwYG8BGW3**hf4_})NmfGD=cjueBbFZHKUSdh-|g#-ov_a>~g+%35sr6X$@1F zCb8xs2dbBIAUrY#ksF2eb@ZF#VtbJcXiDB8nxC++&JxaHci+Gi`*19M^m=^0Lr#CB ztO|lj+L4zo?FKxQ4~>3j{)JzC2?Ysyu?n2a2IuOrtY)S85$D{i8Kv{`iGOFn@w?u$iER4DM3?2Tdq+I* zt&dG3L-zxtx$z5FK7=1#uTQfn(3l0$3qPnyklX%b6aCmR(6csjLms=_kv8s~=;B8w zk!fsVWOOdSJObG!cnvto^l_R@%LN15fDRw@_@OOj&vl*DQkvE&bm`_+I`6-Na9`CX zJVfdokC~^QXN;5SyIh!?0mWAnSNz?j-{G!|) z)>A61TNdY%oAD*y({3z=Z9``yEn3&8I}^H7jFNrPdZx;q<;PM3mzOLd+h3VBMa1b} zX|8Ahy0X$Uw(NOw&yMi_A@KL*NSHcZ?%ked(fzYz8HO<}<-6 { + 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)