"use strict"; const common_vendor = require("../../common/vendor.js"); const _sfc_main = { data() { return { screenHeight: 0, statusBarHeight: 0, navBarHeight: 0, originList: [], // 源数据 displaySwiperList: [], // swiper需要的数据 displayIndex: 0, // 用于显示swiper的真正的下标数值只有:0,1,2。 originIndex: 0, // 记录源数据的下标 changeIndex: 0, //控制video是否渲染 page: 0, // 视频分页 num: 0, flag: true }; }, onLoad() { common_vendor.wx$1.getSystemInfo({ success: (res) => { this.screenHeight = res.screenHeight; this.statusBarHeight = res.statusBarHeight; if (res.system.substring(0, 3) == "iOS") { this.navBarHeight = 42; } else { this.navBarHeight = 40; } } }); this.getPageID(); }, methods: { /* 生成随机的 pageID */ getPageID() { let pageID = parseInt(Math.random() * (0 - 100 + 1) + 100); this.getVideoList(pageID); }, /* 获取视频数据 */ getVideoList(pageID) { common_vendor.index.request({ url: "https://api.apiopen.top/api/getMiniVideo?page=" + pageID + "&size=10&pageSize=10", // 请求数据接口 data: {}, success: (res) => { if (res.data.code == 200) { res.data.result.list.forEach((item) => { let obj = {}; obj.src = item.playurl; obj.title = item.title; this.originList.push(obj); }); } if (this.flag) { this.flag = false; this.initSwiperData(0); } } }); }, changed(event) { let { current } = event.detail; let originListLength = this.originList.length; this.changeIndex = current; if (this.displayIndex - current == 2 || this.displayIndex - current == -1) { this.originIndex = this.originIndex + 1 == originListLength ? 0 : this.originIndex + 1; this.displayIndex = this.displayIndex + 1 == 3 ? 0 : this.displayIndex + 1; this.initSwiperData(this.originIndex); this.num++; console.log("num", this.num, this.originList.length); if (this.num + 5 >= this.originList.length) { this.getPageID(); } } else if (this.displayIndex - current == -2 || this.displayIndex - current == 1) { this.originIndex = this.originIndex - 1 == -1 ? originListLength - 1 : this.originIndex - 1; this.displayIndex = this.displayIndex - 1 == -1 ? 2 : this.displayIndex - 1; this.initSwiperData(this.originIndex); if (this.num > 0) { this.num--; } } }, initSwiperData(originIndex = this.originIndex) { let originListLength = this.originList.length; let displayList = []; displayList[this.displayIndex] = this.originList[originIndex]; displayList[this.displayIndex - 1 == -1 ? 2 : this.displayIndex - 1] = this.originList[originIndex - 1 == -1 ? originListLength - 1 : originIndex - 1]; displayList[this.displayIndex + 1 == 3 ? 0 : this.displayIndex + 1] = this.originList[originIndex + 1 == originListLength ? 0 : originIndex + 1]; this.displaySwiperList = displayList; } } }; function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) { return { a: common_vendor.f($data.displaySwiperList, (item, index, i0) => { return common_vendor.e({ a: index == $data.changeIndex }, index == $data.changeIndex ? { b: item.src } : {}, { c: common_vendor.t(item.title), d: index }); }), b: common_vendor.o((...args) => _ctx.transition && _ctx.transition(...args)), c: common_vendor.o((...args) => $options.changed && $options.changed(...args)), d: $data.screenHeight - $data.navBarHeight + "px" }; } const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render], ["__file", "E:/DAN/wexinxiaochengxude/NewCode2/gree_leran/pages/video/video.vue"]]); wx.createPage(MiniProgramPage);