// packageI/newMedia/newMediaAdVideo/newMediaAdVideo.js var app = getApp(); Page({ /** * 页面的初始数据 */ data: { language: "", amount_id: "", isLoadMore: true, page: 1, total_page: 0, popularVideo: [], heightauto: "auto", widthauto: "auto", showVideo: {}, myvideo: "", show: false, screeheight: 0, minStyle: true, firstcontent: false, cleartime: null, realIndex: 0, kFootshow: true, is_plugins: 0, timer: null, advertisingt_type: 0, commentsShow:false, readReawrdList:{}, rewardShow:false, attentionRewaedData:{}, attentionRewaedShow:false, reward_button:{} //-------- }, /** * 生命周期函数--监听页面加载 */ onLoad: function (options) { this.data.myvideo = wx.createVideoContext("myvideo"); this.getinformation(); if (options.advertisingt_type) { this.data.advertisingt_type = options.advertisingt_type; } if (options.vid) { this.setData({ amount_id: options.vid, }); } if (options.mid) { app._setMid(options.mid); this.sendForwardReward(); } if (options.page) { this.setData({ page: Number(options.page) ? Number(options.page) : 0, }); } // 判断是否有page和vid 没有vid就是会员中心进入的样式二 有page的肯定是从列表进入 if (options.page || !options.vid) { this.getData(); } }, /** * 生命周期函数--监听页面初次渲染完成 */ onReady: function () { let language = wx.getStorageSync("langIndex"); this.setData({ language: language.en, }); }, /** * 生命周期函数--监听页面显示 */ onShow: function () {}, /** * 生命周期函数--监听页面隐藏 */ onHide: function () {}, handAttentionRewaed(evt){ this.setData({ attentionRewaedData:evt.detail, attentionRewaedShow:true }); }, /** * 生命周期函数--监听页面卸载 */ onUnload: function () {}, /** * 页面相关事件处理函数--监听用户下拉动作 */ onPullDownRefresh: function () {}, /** * 页面上拉触底事件的处理函数 */ onReachBottom: function () {}, /** * 用户点击右上角分享 */ onShareTimeline: function () { var value = wx.getStorageSync("yz_uid"); var mid = ""; if (value) { mid = value; } let json = {}; let shareImg = ""; if (this.data.popularVideo[this.data.realIndex] && this.data.popularVideo[this.data.realIndex].cover_picture) { shareImg = this.data.popularVideo[this.data.realIndex].cover_picture; } json = { title: this.data.showVideo.title ? this.data.showVideo.title : "", query: "vid=" + this.data.amount_id + "&page=" + this.page + "&mid=" + mid +"&advertisingt_type="+this.data.advertisingt_type, }; if (shareImg) { json.imageUrl = shareImg; } console.log(json); return json; }, /** * 用户点击右上角分享 */ onShareAppMessage: function (res) { var value = wx.getStorageSync("yz_uid"); var mid = ""; if (value) { mid = value; } let json = {}; let shareImg = ""; if (this.data.popularVideo[this.data.realIndex] && this.data.popularVideo[this.data.realIndex].cover_picture) { shareImg = this.data.popularVideo[this.data.realIndex].cover_picture; } json = { title: this.data.showVideo.title ? this.data.showVideo.title : "", path: "/packageI/newMedia/newMediaAdVideo/newMediaAdVideo?vid=" + this.data.amount_id + "&page=" + this.data.page + "&mid=" + mid+"&advertisingt_type="+this.data.advertisingt_type, }; if (shareImg) { json.imageUrl = shareImg; } console.log(json); return json; }, getData() { let that = this; let urlStr; urlStr = app.getNetAddresss("plugin.new-media-advertising.frontend.media-advertisingt.get-list"); urlStr += "&page=" + this.data.page; urlStr += "&advertisingt_type=" + this.data.advertisingt_type; if (this.data.advertisingt_type == 1) { urlStr += "&genre=" + 4; } app._getNetWork({ url: urlStr, success: function (resdata) { var res = resdata.data; if (res.result == 1) { that.data.isLoadMore = true; that.data.total_page = res.data.list.last_page; if (!that.data.total_page) { that.data.total_page = 0; } that.setData({ popularVideo: res.data.list.data, reward_button:res.data.reward_button }); let popularVideoData = res.data.list.data; if (that.data.amount_id) { for (let i = 0; i < res.data.list.data.length; i++) { if (res.data.list.data[i].id == that.data.amount_id) { that.setData({ showVideo: res.data.list.data[i], }); popularVideoData.splice(0, i); that.setData({ popularVideo: popularVideoData, }); wx.setNavigationBarTitle({ title: that.data.showVideo.title, }); that.setData({ firstcontent: true, }); that.clickSwiperbtn(0); return; } } wx.setNavigationBarTitle({ title: that.data.showVideo.title, }); } else { that.setData({ showVideo: that.data.popularVideo[0], }); that.clickSwiperbtn(0); } that.setData({ firstcontent: true, }); } else { wx.showToast({ title: res.msg, icon: "none", duration: 1500, }); } }, fail: function (res) { console.log(res); }, }); }, getinformation() { try { const res = wx.getSystemInfoSync(); let windowHeight = res.windowHeight; let windowWidth = res.windowWidth; this.setData({ heightauto: windowHeight + "px", widthauto: windowWidth + "px", }); this.data.screeheight = windowHeight; } catch (e) { // Do something when catch error } }, clickSwiperbtn(e) { let index = 0; if (e.currentTarget) { index = e.currentTarget.dataset.index; } else { index = e; } this.clickSwiper(index); }, clickSwiper(e) { let index = e; console.log("zhixing"); if (this.data.popularVideo[index].show && this.data.amount_id === this.data.popularVideo[index].id) { this.setData({ show: false, ["popularVideo[" + index + "].show"]: false, }); this.data.myvideo.pause(); return; } this.judgmentpic(index); this.setData({ show: true, amount_id: this.data.popularVideo[index].id, ["popularVideo[" + index + "].show"]: true, }); this.data.logID = 0; this.data.myvideo.play(); this.selectComponent("#commentList").getStickComment(); this.addReadReward(); console.log("执行-----------"); //this.getStickComment(); //this.data.getCommentFlag=true; }, popularVideoChange(e) { clearTimeout(this.data.cleartime); let realIndex = e.detail.current; let that = this; that.data.realIndex = realIndex; that.data.AnswerID = 0; that.data.cumulativeDuration = parseInt(that.data.cumulativeDuration + that.data.currentDuration); //切换视频时计算累计 that.data.currentDuration = 0; that.judgmentpic_2(realIndex); }, judgmentpic_2(index) { let realIndex = index; let that = this; try { if (that.data.popularVideo[realIndex] && that.data.popularVideo[realIndex].cover) { const query = wx.createSelectorQuery(); query.select("#pic_" + realIndex).boundingClientRect(); query.exec(function (res) { let screeheight = that.data.screeheight; if (res[0] && res[0].height) { let imgheight = res[0].height; if (imgheight > Math.ceil(screeheight * (7 / 8))) { that.setData({ minStyle: false, }); that.getvideomessage(realIndex); } else { that.setData({ minStyle: true, }); that.getvideomessage(realIndex); } } else { that.setData({ minStyle: true, }); that.getvideomessage(realIndex); } }); } else { that.setData({ minStyle: true, }); that.getvideomessage(realIndex); } } catch (e) { that.setData({ minStyle: true, }); that.getvideomessage(realIndex); //TODO handle the exception } }, getvideomessage(realIndex) { let that = this; if (realIndex == that.data.popularVideo.length - 2) { that.getMoreData(); } this.data.myvideo.pause(); that.setData({ show: false, showVideo: that.data.popularVideo[realIndex], }); if (realIndex === 0) { this.setData({ ["popularVideo[" + realIndex + "].show"]: false, ["popularVideo[" + (realIndex + 1) + "].show"]: false, }); } else { this.setData({ ["popularVideo[" + (realIndex - 1) + "].show"]: false, ["popularVideo[" + realIndex + "].show"]: false, }); if (that.data.popularVideo[realIndex + 1]) { this.setData({ ["popularVideo[" + (realIndex + 1) + "].show"]: false, }); } } wx.setNavigationBarTitle({ title: that.data.showVideo.title, }); wx.setStorageSync("circle_invitation_id", this.data.showVideo.id); this.data.cleartime = setTimeout(() => { that.clickSwiper(realIndex); }, 300); //切换结束时 }, getMoreData() { const that = this; that.data.isLoadMore = false; // 防止多次请求分页数据 if (this.data.page >= this.data.total_page) { return; } else { this.data.page = this.data.page + 1; let urlStr = app.getNetAddresss("plugin.new-media-advertising.frontend.media-advertisingt.get-list"); app._getNetWork({ url: urlStr, data: { page: this.data.page, }, success: function (resdata) { that.data.isLoadMore = true; var res = resdata.data; if (res.result == 1) { let myData = res.data.list.data; that.setData({ popularVideo: that.data.popularVideo.concat(myData), }); } else { that.data.page = that.data.page - 1; that.data.isLoadMore = false; } }, fail: function (res) { console.log(res); }, }); } }, judgmentpic(index) { let realIndex = index; let that = this; const query = wx.createSelectorQuery(); query.select("#pic_" + realIndex).boundingClientRect(); query.exec(function (res) { let screeheight = that.data.screeheight; let imgheight = res[0].height; if (imgheight > Math.ceil(screeheight * (7 / 8))) { that.setData({ minStyle: false, }); } else { that.setData({ minStyle: true, }); } }); }, endedPlay() { console.log("播放结束"); // this.data.cumulativeDuration = parseInt(this.data.cumulativeDuration + this.data.currentDuration);//结束视频时计算累计 // this.data.currentDuration = 0; //this.getSubject(); }, onPlaying() { console.log("onPlaying================="); // if(this.data.maxTime != 0&&this.data.is_openRedpack){ // this.getViewTimelog(); // } }, setCommentShow(){ this.setData({commentsShow:!this.data.commentsShow}); }, setRewardShow(){ this.setData({ rewardShow:!this.data.rewardShow }); }, //添加阅读奖励 addReadReward(){ let {amount_id,readReawrdList} = this.data; if(readReawrdList[amount_id]) return; this.data.readReawrdList[amount_id]=amount_id; let urlStr = app.getNetAddresss("plugin.new-media-advertising.frontend.media-advertisingt.advertisingt-info"); app._getNetWork({ url: urlStr, data: { advertisingt_id:amount_id }, success: (resdata) => { let res = resdata.data; if(res.result!=1) return; let details = res.data; this.setData({reward_name:details.reward_name}); if(details.behavioral && details.behavioral.is_reward && details.behavioral.is_reward==1){ this.setData({ attentionRewaedData:details.behavioral, attentionRewaedShow:true }); } } }); }, //转发分享进来的奖励 sendForwardReward(){ let urlStr = app.getNetAddresss("plugin.new-media-advertising.frontend.media-advertisingt.forward-reward"); app._getNetWork({ url: urlStr, data: { advertisingt_id: this.data.amount_id }, success: (resdata) => { var res = resdata.data; if (res.result != 1) return app.tips(res.msg); } }); }, handCommentSuccess(evt){ let type = evt.detail.type; let comment_count = this.data.popularVideo[this.data.realIndex].comment_count; if(type == "add"){ comment_count++; }else if(type=="reduce"){ comment_count--; } let name="popularVideo["+this.data.realIndex+"].comment_count"; this.setData({ [name]:comment_count, 'showVideo.comment_count':comment_count }); }, setAttentionRewaedShow(){ this.setData({ attentionRewaedShow:!this.data.attentionRewaedShow }); }, //关注接口 sendAttention(evt) { let details = evt.currentTarget.dataset.item; let index = evt.currentTarget.dataset.index; let is_attention = details.is_attention; let urlStr=""; let json={}; if(is_attention){ urlStr = app.getNetAddresss("plugin.new-media-advertising.frontend.media-advertisingt.cancel-attention"); json.advertisingt_member = details.member_id; }else { urlStr = app.getNetAddresss("plugin.new-media-advertising.frontend.media-advertisingt.attention"); json.advertisingt_id = details.id; } app._getNetWork({ url: urlStr, data:json, success: (resdata) => { var res = resdata.data; if (res.result != 1) return app.tips(res.msg); let changeData={}; changeData['popularVideo['+index+'].is_attention'] = is_attention ? false : true; if(res.data.is_reward==1){ changeData['attentionRewaedData'] = res.data; changeData['attentionRewaedShow'] = true; } this.setData(changeData); } }); }, handFavorites(evt){ let index = evt.target.dataset.index; let favorites_count = evt.detail.favorites_count; let is_favorites = evt.detail.is_favorites; let changeData={}; changeData['popularVideo['+index+'].is_favorites'] = is_favorites ? false : true; changeData['popularVideo['+index+'].favorites_count'] = favorites_count; this.setData(changeData); }, handLike(evt){ let index = evt.target.dataset.index; let like_count = evt.detail.like_count; let is_like = evt.detail.is_like; let changeData={}; changeData['popularVideo['+index+'].is_like'] = is_like ? false : true; changeData['popularVideo['+index+'].like_count'] = like_count; this.setData(changeData); }, });