jiuyiUniapp/jiuyi2/unpackage/dist/dev/mp-weixin/components/index/videoMenu.js

130 lines
3.9 KiB
JavaScript

"use strict";
const common_vendor = require("../../common/vendor.js");
const common_assets = require("../../common/assets.js");
const common_js_util = require("../../common/js/util.js");
if (!Array) {
const _easycom_uni_icons2 = common_vendor.resolveComponent("uni-icons");
_easycom_uni_icons2();
}
const _easycom_uni_icons = () => "../../uni_modules/uni-icons/components/uni-icons/uni-icons.js";
if (!Math) {
_easycom_uni_icons();
}
const _sfc_main = {
__name: "videoMenu",
props: /* @__PURE__ */ common_vendor.mergeModels({
// 列表数据
list: {
type: Array
},
// 模式 list列表展示 点击播放视频 menu菜单模式 点击触发回调事件 checkbox多选
mode: {
type: String,
default: "list"
},
// 多选模式下的 选择数量限制 0为不限制
limit: {
type: Number,
default: 0
},
// 是否我自己 0不是 1是
isMine: {
type: [String, Number],
default: 0
}
}, {
"ids": {},
"idsModifiers": {}
}),
emits: /* @__PURE__ */ common_vendor.mergeModels(["item"], ["update:ids"]),
setup(__props, { expose: __expose, emit: __emit }) {
const props = __props;
const emit = __emit;
const ids = common_vendor.useModel(__props, "ids");
const videoContext = common_vendor.ref(null);
const videoUrl = common_vendor.ref("");
common_vendor.onMounted(() => {
videoContext.value = common_vendor.index.createVideoContext("video");
});
function requestFullScreen() {
videoContext.value.requestFullScreen();
}
function pause() {
videoContext.value.pause();
}
function handleVideo(item) {
if (props.mode == "list") {
common_vendor.index.navigateTo({
url: common_js_util.util.setUrl("/pages/index/videoDetail", {
videoId: item.videoId,
isMine: props.isMine
})
});
} else if (props.mode == "menu") {
videoUrl.value = item.format_videoUrl;
emit("item", item);
} else if (props.mode == "checkbox") {
const findIndex = ids.value.findIndex((node) => node == item.videoId);
if (findIndex >= 0)
ids.value.splice(findIndex, 1);
else {
if (props.limit != 0 && props.limit <= ids.value.length)
return;
ids.value.push(item.videoId);
}
}
}
function videoFullscreenchange(ev) {
if (ev.detail.fullScreen)
videoContext.value.play();
else
pause();
}
__expose({
videoContext,
pause,
requestFullScreen
});
return (_ctx, _cache) => {
return common_vendor.e({
a: common_vendor.f(__props.list, (item, index, i0) => {
return common_vendor.e({
a: item.format_imageUrl
}, __props.mode == "checkbox" ? common_vendor.e({
b: ids.value.includes(item.videoId)
}, ids.value.includes(item.videoId) ? {
c: "4c784ec8-0-" + i0,
d: common_vendor.p({
type: "circle-filled",
size: "50rpx",
color: "#20D200"
})
} : {
e: "4c784ec8-1-" + i0,
f: common_vendor.p({
type: "circle",
color: "#fff",
size: "50rpx"
})
}) : {}, {
g: item.play
}, item.play ? {
h: common_assets._imports_0$14,
i: common_vendor.t(item.play)
} : {}, {
j: index,
k: common_vendor.o$1(($event) => handleVideo(item), index)
});
}),
b: __props.mode == "checkbox",
c: !__props.list[0]
}, !__props.list[0] ? {} : {}, {
d: videoUrl.value,
e: common_vendor.o$1(videoFullscreenchange)
});
};
}
};
const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-4c784ec8"]]);
wx.createComponent(Component);