421 lines
9.9 KiB
JavaScript
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'
|
|
});
|
|
},
|
|
}); |