yuminge-app/yun-min-program-plugin-master/packageA/member/course/CourseIndex/CourseIndex.js

352 lines
8.9 KiB
JavaScript

// pages/member/course/CourseIndex/CourseIndex.js
var app = getApp();
Page({
/**
* 页面的初始数据
*/
data: {
language: '',
recGoodList: [],
hotGoodList: [],
newGoodList: [],
// recGoodList: [{
// "id": 104,
// "goods_id": 227,
// "lecturer_id": 1,
// "title": "\u534e\u4fa8\u5e0133",
// "thumb": "https:\/\/dev5.yunzshop.com\/attachment\/images\/2\/2018\/08\/L8Ia553RrZH83rEiLocYIY3L9o5885.jpg",
// "price": "198.00",
// "has_one_lecturer": {
// "id": 1,
// "real_name": "1",
// "mobile": "15219025049"
// },
// "course_chapter_num": 1
// }, {
// "id": 93,
// "goods_id": 206,
// "lecturer_id": 3,
// "title": "3333",
// "thumb": "https:\/\/dev5.yunzshop.com\/attachment\/images\/2\/2018\/08\/L8Ia553RrZH83rEiLocYIY3L9o5885.jpg",
// "price": "100.00",
// "has_one_lecturer": {
// "id": 3,
// "real_name": "\u6d4b\u8bd5",
// "mobile": "13800138000"
// },
// "course_chapter_num": 1
// }],
imgUrls: [],
showCarousel: false,
activeIndex: 0,
listMarginLeft: 0,
page: 1,
loading: true,
Height: 0,
LastHeight: 0
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
this._getSlide();
this._getData('is_recommand');
this._getData('is_hot');
this._getData('');
this.getCarouselInfo();
},
tapNav(e) {
console.log(e);
let link = e.currentTarget.dataset.link;
try {
wx.navigateTo({
url: link,
});
} catch (err) { console.log(err); }
},
gotoSearch(e) {
console.log(e.currentTarget.dataset.type);
let typess = e.currentTarget.dataset.type;
wx.navigateTo({
url: '/packageA/member/course/CourseSearch/CourseSearch?goods_type=' + typess,
});
},
recommend_startBtn(e) {
this.setData({
startX: e.changedTouches[0].pageX
});
},
recommend_moveBtn(e) {
this.setData({
endX: e.changedTouches[0].pageX
});
},
recommend_endBtn(e) {
var distanceX = this.data.endX - this.data.startX;
if (this.data.activeIndex >= 0 && distanceX > 0) {
this.data.listMarginLeft = this.data.listMarginLeft - 480;
this.data.activeIndex = this.data.activeIndex - 1;
this.setData({
listMarginLeft: this.data.listMarginLeft,
activeIndex: this.data.activeIndex
});
if (this.data.listMarginLeft <= 0 || this.data.activeIndex <= 0) {
this.setData({
listMarginLeft: 0,
activeIndex: 0
});
}
} else if (this.data.activeIndex < this.data.recGoodList.length - 1 && distanceX < 0) {
this.setData({
listMarginLeft: this.data.listMarginLeft + 480,
activeIndex: this.data.activeIndex + 1
});
}
console.log(distanceX, this.data.activeIndex, this.data.activeIndex, this.data.listMarginLeft);
},
//获取轮播和导航
getCarouselInfo() {
var that = this;
app._getNetWork({
url: app.getNetAddresss("plugin.video-demand.api.video-demand.get-video-info"),
success: function (res) {
if (res.data.result == 1) {
if (!app._isTextEmpty(res.data.data.slide)) {
that.setData({
showCarousel: true,
carouselInfo: res.data.data.slide
});
}
if (!app._isTextEmpty(res.data.data.navigation)) {
that.setData({
showCarousel: true,
navigation: res.data.data.navigation
});
}
console.log(res.data.data.slide);
} else {
console.error(res);
}
},
fail: function (res) {
console.error(res);
}
});
},
_getSlide: function (success) {
var that = this;
// 初次获取数据
app._getNetWork({
url: app.getNetAddresss("plugin.video-demand.api.video-demand.get-video-slide"),
success: function (res) {
if (res.data.result == 1 && !app._isTextEmpty(res.data.data)) {
let _data = res.data.data;
that.setData({
imgUrls: _data
});
success && success(res);
} else {
console.error(res);
}
},
fail: function (res) {
console.error(res);
}
});
},
_getData(type) {
var that = this;
// 初次获取数据
app._getNetWork({
url: app.getNetAddresss("plugin.video-demand.api.video-course-goods.get-course-goods&in_home_page=1"),
data: {
goods_type: type,
},
success: function (res) {
if (res.data.result == 1 && !app._isTextEmpty(res.data.data)) {
let _data = res.data.data;
switch (type) {
case "is_recommand":
that.setData({
recGoodList: _data.data
});
break;
case "is_hot":
that.setData({
hotGoodList: _data.data
});
break;
case "":
that.setData({
newGoodList: _data.data,
current_page: _data.current_page,
last_page: _data.last_page
});
break;
default:
break;
}
} else {
console.error(res);
}
},
fail: function (res) {
console.error(res);
}
});
},
toCourse: function (e) {
console.log(e.currentTarget.dataset.id);
let itemid = e.currentTarget.dataset.id;
wx.navigateTo({
url: '/packageA/detail_v2/detail_v2?id=' + itemid
// url: '/packageA/detail_v2/detail_v2?id=' + itemid
});
},
moreCourse(e) {
let type = e.currentTarget.dataset.type;
if (type == 'all') {
wx.navigateTo({
url: '/packageA/member/course/CourseSearch/CourseSearch?goods_type=' + type
});
} else {
if (this.data.current_page >= this.data.last_page) {
wx.showToast({
title: '暂无更多',
icon: 'none',
duration: 1000
});
this.setData({
loading: false
});
return;
} else {
let is_page = this.data.page + 1;
this.setData({
page: is_page
});
console.log(is_page);
this.getMore(is_page);
}
}
},
_getGood: function (id) {
// var that = this;
// 初次获取数据
app._getNetWork({
url: app.getNetAddresss("plugin.video-demand.api.video-course-goods.get-course-goods-detail"),
data: {
goods_id: id
},
success: function (res) {
if (res.data.result == 1 && !app._isTextEmpty(res.data.data)) {
// let _data = res.data.data;
wx.navigateTo({
url: '/packageA/detail_v2/detail_v2?id=' + itemid
});
} else {
console.error(res);
}
},
fail: function (res) {
console.error(res);
}
});
},
getMore(is_page) {
var that = this;
// 初次获取数据
app._getNetWork({
url: app.getNetAddresss("plugin.video-demand.api.video-course-goods.get-course-goods&in_home_page=1"),
data: {
goods_type: '',
page: is_page,
search: '',
},
success: function (res) {
if (res.data.result == 1 && !app._isTextEmpty(res.data.data)) {
let _data = res.data.data;
that.setData({
newGoodList: that.data.newGoodList.concat(_data.data),
current_page: _data.current_page,
last_page: _data.last_page
});
} else {
console.error(res);
}
},
fail: function (res) {
console.error(res);
}
});
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady: function () {
let language = wx.getStorageSync('langIndex');
this.setData({ 'language': language.en });
wx.setNavigationBarTitle({
title: '课程'
});
},
/**
* 生命周期函数--监听页面显示
*/
onShow: function () {
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide: function () {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload: function () {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh: function () {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom: function () {
},
imgHeight: function (e) {
var winWid = wx.getSystemInfoSync().windowWidth; //获取当前屏幕的宽度
var imgh = e.detail.height; //图片高度
var imgw = e.detail.width; //图片宽度
var swiperH = winWid * imgh / imgw + "px"; //等比设置swiper的高度。 即 屏幕宽度 / swiper高度 = 图片宽度 / 图片高度 ==》swiper高度 = 屏幕宽度 * 图片高度 / 图片宽度
if (parseInt(swiperH) > this.data.LastHeight) {
this.setData({
Height: swiperH, //设置高度
});
this.data.LastHeight = parseInt(swiperH);
}
},
/**
* 用户点击右上角分享
*/
onShareAppMessage: function () {
}
});