yuminge-app/yun-min-program-plugin-master/packageH/Advertising/advertisingPlayPage/advertisingPlayPage.js

341 lines
8.0 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// packageH/Advertising/advertisingPlayPage/advertisingPlayPage.js
var app = getApp();
Page({
/**
* 页面的初始数据
*/
data: {
Loadeddata: false, //是否视频元数据已加载完成
myVideo: null,
isPlaying: false,
ADDetails: {}, //广告详情数据
duration: null,
countdown: null,
list: [],
showReward: false,
redpack_amount: "",
advertising_id: 0,
isMuted: false, //是否静音
page: 1
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
this.data.advertising_id = this.options.aid;
this.data.page = this.options.page;
this.setData({
showReward: false
});
this.getData();
},
changeMuted() {
this.setData({
isMuted: !this.data.isMuted
});
},
clickADVideo() {
this.setData({
isPlaying: true
});
},
getData() {
let json = {};
if (this.options.id && this.options.id != 0) {
json.put_in_type = this.options.tag == "video" ? "2" : "1"; //投放类型:1-直播间2-短视频
json.put_in_id = this.options.id; //投放短视频/直播间ID
}
json.page = this.options.page;
this.page = this.options.page || 1;
let urlStr = app.getNetAddresss('plugin.ad-serving.frontend.advertising.index.getList');
app._postNetWork({
url: urlStr,
data: json,
success: (resdata) => {
let res = resdata.data;
if (res.result == 1) {
let list = res.data.list.data;
for (let i = 0; i < list.length; i++) {
if (list[i].id == this.data.advertising_id) {
list.splice(0, i);
this.setData({
list: list
});
break;
}
}
this.current_page = res.data.list.current_page;
this.last_page = res.data.list.last_page;
} else {
wx.showToast({
title: res.msg,
icon: 'none',
duration: 1500
});
if (app._isTextEmpty(res.data)) {
wx.navigateBack({
delta: 1
});
}
}
this.getADDetails();
},
fail: function (res) {
console.log(res.msg);
}
});
},
getADDetails() {
let urlStr = app.getNetAddresss('plugin.ad-serving.frontend.advertising.play.getAdvertisingVideoData');
app._postNetWork({
url: urlStr,
data: {
advertising_id: this.data.advertising_id
},
success: (resdata) => {
let res = resdata.data;
if (res.result == 1) {
this.setData({
ADDetails: res.data.has_one_advertising_apply
});
} else {
wx.showToast({
title: res.msg,
icon: 'none',
duration: 1500
});
if (res.data.status && res.data.status == 1) {
// 1--视频,直播删除,下播 2--广告超时,下架
//跳转回视频、直播
wx.navigateBack({
delta: 2
});
} else {
this.nextADData();
//下一个广告
}
}
},
fail: function (res) {
console.log(res.msg);
}
});
},
nextADData() {
this.data.list.splice(0, 1);
if (this.data.list.length == 0) {
wx.showModal({
title: '提示',
showCancel: false,
content: '广告已到底',
success(res) {
if (res.confirm) {
wx.navigateBack({
delta: 1
});
}
}
});
return;
}
this.setData({
list: this.data.list,
advertising_id: this.data.list[0].id,
redpack_amount: '',
showReward: false
});
this.getADDetails();
},
cloneADs() {
try {
wx.navigateBack({
delta: 1
});
} catch (error) {
wx.reLaunch({
url: '/packageG/index/index',
});
}
},
addAdsertisingBrowse(action_type) {
// 播放量,点击进去就记一次,不管有没有看完,分享量,分享出去算一次,不论有没有人去点击
let urlStr = app.getNetAddresss('plugin.ad-serving.frontend.advertising.play.addAdsertisingBrowse');
app._postNetWork({
url: urlStr,
data: {
advertising_id: this.data.advertising_id,
action_type: action_type
},
success: (resdata) => {
let res = resdata.data;
if (res.result != 1) {
wx.showToast({
title: res.msg,
icon: 'none',
duration: 1500
});
}
},
fail: function (res) {
console.log(res.msg);
}
});
},
bindloadedmetadata(e) {
this.setData({
duration: Math.ceil(e.detail.duration),
countdown: Math.ceil(e.detail.duration),
Loadeddata: true
});
},
bindtimeupdate(e) {
this.setData({
countdown: this.data.duration - Math.ceil(e.detail.currentTime)
});
},
bindended(e) {
this.redpackRewardAction();
},
bindpause(e) {
this.setData({
isPlaying: false
});
},
bindplay() {
this.setData({
isPlaying: true,
Loadeddata: false
});
this.addAdsertisingBrowse(1);
},
redpackRewardAction() {
//播放结束,领取红包
let urlStr = app.getNetAddresss('plugin.ad-serving.frontend.advertising.play.redpackRewardAction');
app._postNetWork({
url: urlStr,
data: {
advertising_id: this.data.advertising_id
},
success: (resdata) => {
let res = resdata.data;
if (res.result == 1) {
this.setData({
redpack_amount: res.data.redpack_amount,
showReward: true
});
} else {
wx.showToast({
title: res.msg,
icon: 'none',
duration: 1500
});
this.nextADData(); //下一个广告
}
},
fail: function (res) {
console.log(res.msg);
}
});
},
getMore() {
let json = {};
if (this.options.id && this.options.id != 0) {
json.put_in_type = this.options.tag == "video" ? "2" : "1"; //投放类型:1-直播间2-短视频
json.put_in_id = this.options.id; //投放短视频/直播间ID
}
json.page = this.data.page;
let urlStr = app.getNetAddresss("plugin.ad-serving.frontend.advertising.index.getList");
app._getNetWork({
url: urlStr,
data: json,
success: (resdata) => {
var res = resdata.data;
if (res.result == 1) {
this.setData({
list: that.data.info.concat(res.data.list.data),
current_page: res.data.current_page,
last_page: res.data.last_page
});
} else {
wx.showToast({
icon: "none",
title: res.msg,
duration: 1500,
});
}
},
fail: function (res) {
console.log(res);
},
});
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady: function () {
},
/**
* 生命周期函数--监听页面显示
*/
onShow: function () {
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide: function () {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload: function () {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh: function () {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom: function () {
if (this.data.current_page >= this.data.last_page) {
return;
} else {
let pages = this.data.page + 1;
this.setData({
page: pages
});
this.getMore();
}
},
/**
* 用户点击右上角分享
*/
onShareAppMessage: function () {
var value = wx.getStorageSync("yz_uid");
var mid = "";
if (value) {
mid = value;
}
return {
title: "广告播放",
path: "/packageH/Advertising/advertisingPlayPage/advertisingPlayPage?tag=video&id=" + this.options.id + "&page=" + this.options.page + "&aid=" + this.options.aid + "&mid=" + mid,
};
}
});