yuminge-app/yun-min-program-plugin-master/packageC/video_goods/VideoList/VideoList.js

421 lines
9.9 KiB
JavaScript

// packageC/video_goods/VideoList/VideoList.js
var app = getApp();
var colOneHeight = 0;
var colTwoHeight = 0;
const storeAlone = "plugin.store-alone-temp.frontend.videoShare.video.get-list";
// var width = 0;
Page({
/**
* 页面的初始数据
*/
data: {
videoList: [],
showLoading: false,
imgCount: 0,
//more
isLoadMore: true,
page: 1,
total_page: 0,
bannerList: [],
activitys1: [],
activitys2: [],
imagedata: {
img_0: '../../../image/icon_index.png',
img_1: '../../../image/icon_component.png',
img_2: '../../../image/icon_commission.png',
img_3: '../../../image/icon_cart.png',
img_4: '../../../image/icon_I.png'
},
iPnoneBottomBol: false,
videoMore: 'https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/video_more@2x.png',
viderCancle: 'https://mini-app-img-1251768088.cos.ap-guangzhou.myqcloud.com/video_cancle@2x.png',
btnStatus: false,
is_rotation: 0,
is_show_cate: false,
cateList: [{
id: 0,
name: "全部"
}], //分类
category_id: 0,
swiperHeight: '',
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
this.getiPnoneBottom();
if (options.cat_id !== undefined && options.cat_id !== null) {
this.setData({
category_id: Number(options.cat_id)
});
}
if (app.globalData.store_alone_temp == 1) {
this.getData();
} else {
this.getData();
this.getBanner();
this.getBasicSet();
}
},
imageLoad: function (e) { //获取图片真实宽度
// var imgwidth = e.detail.width,
// imgheight = e.detail.height,
//宽高比
let ratio = e.detail.width / e.detail.height;
console.log(e.detail.width, e.detail.height);
//计算的高度值
var viewHeight = 750 / ratio;
if (viewHeight > this.data.swiperHeight) {
this.setData({
swiperHeight: viewHeight
});
}
// var imgheight = viewHeight;
// var imgheights = this.data.bannerList;
// //把每一张图片的对应的高度记录到数组里
// imgheights[e.target.id] = imgheight;
// this.setData({
// imgheights: imgheights
// });
},
bindchange: function (e) {
// console.log(e.detail.current)
this.setData({
current: e.detail.current
});
},
chooseSta() {
this.setData({
btnStatus: !this.data.btnStatus
});
},
goluzhi() {
wx.navigateTo({
url: '/packageC/video_goods/videoAgreement/videoAgreement',
});
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady: function () {
},
gojilu(e) {
wx.navigateTo({
url: '/packageC/video_goods/myVideo/myVideo',
});
},
/**
* 生命周期函数--监听页面显示
*/
onShow: function () {
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide: function () {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload: function () {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh: function () {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom: function () {
if (this.data.isLoadMore) {
this.getMoreData();
} else {
console.log('没有更多数据');
}
},
/**
* 用户点击右上角分享
*/
onShareAppMessage: function () {
},
getiPnoneBottom() {
let that = this;
try {
var value = wx.getStorageSync('iPhoneBottom');
if (value) {
that.setData({
iPnoneBottomBol: true
});
// Do something with return value
}
} catch (e) {
// Do something when catch error
}
},
getBanner() {
let that = this;
let urlStr = app.getNetAddresss("plugin.video-share.frontend.set.getSlide");
app._getNetWork({
url: urlStr,
data: {},
success: function (resdata) {
var res = resdata.data;
if (res.result == 1) {
that.setData({
bannerList: res.data.slide,
is_rotation: res.data.is_rotation
});
} else {
wx.showToast({
title: res.msg,
icon: 'none',
duration: 1500
});
}
},
fail: function (res) {
console.log(res);
}
});
},
/**
* 图片加载函数
* 图片加载完成后,根据图片的高度,依次往第一列和第二列中推入数据
*/
onImageLoad(options) {
let currentId = options.currentTarget.id;
let imageWidth = options.detail.width; // 图片宽度
let imageHeight = options.detail.height; // 图片高度
let activitys = this.data.videoList; // 获取所有的数据资源
let activityObj = null;
let scle = (imageWidth / imageHeight);
for (let i = 0; i < activitys.length; i++) {
if (activitys[i].id == currentId) {
activityObj = activitys[i];
break;
}
}
this.data.imgCount += 1;
let activitys1 = this.data.activitys1;
let activitys2 = this.data.activitys2;
if (colOneHeight <= colTwoHeight) {
colOneHeight += (176 / scle) + 60;
activitys1.push(activityObj);
} else {
colTwoHeight += (176 / scle) + 60;
activitys2.push(activityObj);
}
let data = {
activitys1: activitys1,
activitys2: activitys2
};
if (this.data.imgCount >= this.data.videoList.length) {
this.setData({
showLoading: true
});
}
this.setData(data);
},
changeCategory(e) {
this.data.category_id = e.detail.name;
this.getData();
},
getData() {
let that = this;
this.data.page = 1;
let urlStr = app.getNetAddresss(app.globalData.store_alone_temp == 1 ? storeAlone : "plugin.video-share.frontend.video.getList");
app._postNetWork({
url: urlStr,
data: {
page: 1,
search: {
category_id: this.data.category_id
}
},
success: function (resdata) {
that.setData({
showLoading: true
});
var res = resdata.data;
if (res.result == 1) {
that.setData({
isLoadMore: true
});
that.data.total_page = res.data.list.last_page;
if (!that.data.total_page) {
that.data.total_page = 0;
}
that.setData({
videoList: []
});
colOneHeight = 0;
colTwoHeight = 0;
that.setData({
activitys1: [],
activitys2: [],
videoList: res.data.list.data
});
} else {
wx.showToast({
title: res.msg,
icon: 'none',
duration: 1500
});
}
},
fail: function (res) {
console.log(res);
}
});
},
getBasicSet() {
let that = this;
let urlStr = app.getNetAddresss("plugin.video-share.frontend.video.getBasicSet");
app._getNetWork({
url: urlStr,
data: {},
success: function (resdata) {
var res = resdata.data;
if (res.result == 1 && res.data.set.is_show_cate == '1') {
that.getCategory();
}
},
fail: function (res) {
console.log(res);
}
});
},
getCategory() {
let that = this;
let urlStr = app.getNetAddresss("plugin.video-share.frontend.video.getCategory");
app._getNetWork({
url: urlStr,
data: {},
success: function (resdata) {
var res = resdata.data;
if (res.result == 1) {
that.setData({
cateList: that.data.cateList.concat(res.data),
is_show_cate: true
});
} else {
wx.showToast({
title: res.msg,
icon: 'none',
duration: 1500
});
}
},
fail: function (res) {
console.log(res);
}
});
},
toVideo(e) {
let item = e.currentTarget.dataset.item;
let page = this.data.videoList.findIndex((value, index, arr) => {
return value.id === item.id;
});
page = Math.ceil((page + 1) / 15);
wx.navigateTo({
url: '/packageC/video_goods/VideoDetail/VideoDetail?vid=' + item.id + '&page=' + page + '&category=' + (this.data.category_id > 0 ? true : false)
});
},
gotoUpload() {
wx.navigateTo({
url: '/packageC/video_goods/videoAgreement/videoAgreement'
});
},
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(app.globalData.store_alone_temp == 1 ? storeAlone : "plugin.video-share.frontend.video.getList");
app._getNetWork({
url: urlStr,
data: {
page: that.data.page
},
success: function (resdata) {
var res = resdata.data;
that.data.isLoadMore = true;
if (res.result == 1) {
let myData = res.data.list.data;
that.setData({
videoList: that.data.videoList.concat(myData) //数组拼接
});
} else {
that.data.page = that.data.page - 1;
that.data.isLoadMore = false;
}
},
fail: function (res) {
console.log(res);
}
});
}
},
goimgurl(e) {
console.log(e);
let url = e.currentTarget.dataset.url;
console.log(url);
try {
wx.navigateTo({
url: url
});
} catch (e) {
wx.showToast({
title: '链接设置错误',
icon: 'none',
duration: 2000
});
//TODO handle the exception
}
},
goindex() {
wx.reLaunch({
url: '/packageG/index/index'
});
},
gocategory() {
wx.reLaunch({
url: '/packageG/pages/category_v2/category_v2'
});
},
gocart() {
wx.reLaunch({
url: '/packageG/pages/buy/cart_v2/cart_v2'
});
},
gomember() {
wx.reLaunch({
url: '/packageG/member_v2/member_v2'
});
},
});