341 lines
8.0 KiB
JavaScript
341 lines
8.0 KiB
JavaScript
// 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,
|
||
};
|
||
}
|
||
}); |