1070 lines
33 KiB
JavaScript
1070 lines
33 KiB
JavaScript
const Apps = getApp();
|
||
const api = require('../../config/api.js');
|
||
const util = require('../../config/util.js');
|
||
import Toast from '../../miniprogram_npm/@vant/weapp/toast/toast';
|
||
Page({
|
||
|
||
/**
|
||
* 页面的初始数据
|
||
*/
|
||
data: {
|
||
videurl: "https://xyg.jsjbkc.com/pics/xyg1.mp4?v" + Date.now(),
|
||
imagecount: 4,
|
||
courseid: 1,
|
||
itemdata: [],
|
||
baseurl: Apps.globalData.baseimgurl,
|
||
showview: false,
|
||
title: '',
|
||
content: '',
|
||
images: '',
|
||
upload_picture_list: [],
|
||
imagesListp: [],
|
||
imagestr: [],
|
||
imageslists: [], //图片预览
|
||
ismdata: 1, //是否材料型数据跳转
|
||
typeid: 1,
|
||
isdisplay: 1,
|
||
ispic: 0,
|
||
accesstoken: '',
|
||
xid: 0,
|
||
onefeilei: 0, //课程一级分类
|
||
viptype_id: 1, //VIP类型
|
||
videoContext: {}, // 用于绑定视频标签
|
||
showvide: false,
|
||
videtimes: 5,
|
||
videtimes2: 10,
|
||
cousreshow: false, //检查用户是对课程有权限,对VIP用户onWaiting
|
||
headpicvalue: 0,//课程积分
|
||
sliderValue: 0, //控制进度条slider的值,
|
||
updateState: false, //防止视频播放过程中导致的拖拽失效
|
||
playStates: false, //控制播放 & 暂停按钮的显示
|
||
fullScreen: false,//是否是全屏
|
||
recommendListArr: [],
|
||
chongzhivalue: '怼币购买',
|
||
poptitle: '怼币购买后可学习14天',
|
||
isfinall: 0, //检测用户的课程是否完成
|
||
video_data: {}, //要播放的视频对象
|
||
show: false,
|
||
isvip: false, //是否VIP,
|
||
showdiage: false,
|
||
pathid: "",
|
||
actions: [
|
||
{
|
||
name: '1.0倍速',
|
||
value: 1
|
||
},
|
||
{
|
||
name: '1.25倍速',
|
||
value: 1.25
|
||
},
|
||
{
|
||
name: '1.5倍速',
|
||
value: 1.5
|
||
},
|
||
{
|
||
name: '2.0倍速',
|
||
value: 2
|
||
},
|
||
],
|
||
},
|
||
showdiagePopup(e) {
|
||
console.log(e);
|
||
let pathid = e.currentTarget.id;
|
||
|
||
let files = pathid; // knowfiles.currentTarget.id;
|
||
if (files.length == 0) {
|
||
|
||
wx.showToast({
|
||
title: '暂时还没有讲义,不可下载',//提示文字
|
||
duration: 2000,//显示时长
|
||
mask: true,//是否显示透明蒙层,防止触摸穿透,默认:false
|
||
icon: 'none', //图标,支持"success"、"loading"
|
||
success: function () {
|
||
return;
|
||
},//接口调用成功
|
||
fail: function () { }, //接口调用失败的回调函数
|
||
complete: function () { } //接口调用结束的回调函数
|
||
})
|
||
} else {
|
||
this.setData({ showdiage: true, pathid: pathid });
|
||
}
|
||
|
||
},
|
||
|
||
onshowdiageClose() {
|
||
this.setData({ showdiage: false });
|
||
},
|
||
vippopmsg: function () {
|
||
//vip课程弹出消息框
|
||
//判断VIP课程还有多少天
|
||
this.vipkechengday(this.data.onefeilei, wx.getStorageSync('wxuserid'));
|
||
},
|
||
vipkechengday: function (onefeilei, wxuserid) {
|
||
//判断VIP课程还有多少天
|
||
const that = this;
|
||
let url = Apps.globalData.baseUrl + '/user/vipscourseuserday';
|
||
var param = {
|
||
user_id: wxuserid,
|
||
sourceid: onefeilei
|
||
};
|
||
//此处为使用封装的post请求
|
||
util.post(url, param).then((res) => {
|
||
console.log(res);
|
||
// 您的VIP会员剩余374天
|
||
Toast('您的VIP会员剩余' + res + '天');
|
||
}).catch((errMsg) => {
|
||
console.log(errMsg);
|
||
});
|
||
},
|
||
popmsg: function () {
|
||
//怼币课程弹出消息框
|
||
//判断怼币课程还有多少天
|
||
console.log(this.data.courseid);
|
||
console.log(wx.getStorageSync('wxuserid'));
|
||
this.duibikechengday(this.data.courseid, wx.getStorageSync('wxuserid'));
|
||
// Toast('您的课程还有8天到期,到期后需重新购买');
|
||
},
|
||
popclick: function () {
|
||
if (this.data.isdisplay == 1 && this.data.typeid != 1) {
|
||
//弹出购买信息
|
||
this.setData({
|
||
showvide: true
|
||
});
|
||
this.videoContext.pause();
|
||
|
||
}
|
||
|
||
},
|
||
duibikechengday: function (sourceid, wxuserid) {
|
||
//判断怼币课程还有多少天
|
||
//检查用户是否可以听课
|
||
const that = this;
|
||
let url = Apps.globalData.baseUrl + '/user/setdecuserscoreday';
|
||
var param = {
|
||
user_id: wxuserid,
|
||
sourceid: sourceid
|
||
};
|
||
//此处为使用封装的post请求
|
||
util.post(url, param).then((res) => {
|
||
console.log(res);
|
||
Toast('您的课程还有' + res + '天到期,到期后需重新购买');
|
||
}).catch((errMsg) => {
|
||
console.log(errMsg);
|
||
});
|
||
|
||
},
|
||
bsbtnclick: function () {
|
||
let bsdata = !this.data.show;
|
||
console.log(bsdata);
|
||
this.setData({
|
||
show: bsdata
|
||
})
|
||
},
|
||
onClose: function () {
|
||
this.setData({ show: false });
|
||
},
|
||
onSelect: function (event) {
|
||
console.log(event.detail);
|
||
console.log(event.detail.value);
|
||
let rate = event.detail.value;
|
||
this.videoContext.playbackRate(Number(rate));
|
||
this.onClose();
|
||
},
|
||
bindButtonRate: function (e) {
|
||
let rate = e.detail;
|
||
console.log(rate);
|
||
this.videoContext.playbackRate(Number(rate));
|
||
},
|
||
fullvideo: function (params) {
|
||
console.log(params);
|
||
// 全屏
|
||
this.videoContext = wx.createVideoContext('myVideo');
|
||
this.videoContext.requestFullScreen({
|
||
direction: 1
|
||
});
|
||
},
|
||
bindfullscreenchange: function (e) {
|
||
// let fullScreen = e.detail.fullScreen //值true为进入全屏,false为退出全屏
|
||
// let videoContext = wx.createVideoContext('myVideo')
|
||
if (!e.detail.fullScreen) {
|
||
// 退出全屏
|
||
this.videoContext.exitFullScreen()
|
||
}
|
||
else {
|
||
// 全屏
|
||
this.videoContext = wx.createVideoContext('myVideo');
|
||
this.videoContext.requestFullScreen({
|
||
direction: -90
|
||
});
|
||
}
|
||
},
|
||
/**
|
||
* 生命周期函数--监听页面加载
|
||
*/
|
||
onLoad: function (options) {
|
||
|
||
Apps.islogin();
|
||
console.log("options==========");
|
||
console.log(options);
|
||
// if (options.typeid == 3) {
|
||
// this.setData({
|
||
// chongzhivalue: '充值VIP',
|
||
// poptitle: 'VIP期限内可无限畅学'
|
||
// })
|
||
// }
|
||
this.setData({
|
||
courseid: options.id,
|
||
typeid: options.typeid,
|
||
updateState: true
|
||
});
|
||
|
||
},
|
||
buyclick(event) {
|
||
console.log(event.detail);
|
||
console.log("===========")
|
||
//购买是跳转,还是在这里需要判断购买
|
||
console.log(this.data.viptype_id);
|
||
if (this.data.viptype_id == 2) {
|
||
//实现怼币购买
|
||
this.kqcheckdescusersorce(wx.getStorageSync('wxuserid'), this.data.cousrceid, this.data.headpicvalue);
|
||
} else if (this.data.viptype_id == 3) {
|
||
//跳转购买课程页面
|
||
wx.navigateTo({
|
||
url: '/pages/viprecharge/viprecharge',
|
||
})
|
||
}
|
||
},
|
||
cancleclick() {
|
||
this.setData({ showvide: false });
|
||
},
|
||
videoUpdate(e) {
|
||
if (this.data.updateState) {
|
||
//判断拖拽完成后才触发更新,避免拖拽失效
|
||
const times = e.detail.currentTime.toFixed(0);
|
||
let sliderValue = e.detail.currentTime / e.detail.duration * 100;
|
||
// console.log(sliderValue);
|
||
this.setData({
|
||
sliderValue: sliderValue,
|
||
duration: e.detail.duration
|
||
})
|
||
// console.log('sliderValue=>' + times);
|
||
// console.log('11试看=>' + times);
|
||
this.publicdata(times);
|
||
|
||
}
|
||
},
|
||
publicdata: function (times) {
|
||
|
||
//公共数据
|
||
|
||
//对2,3类型课程需要监控,一判断是否已用怼币购买过,二是判断是否为VIP用户
|
||
if (this.data.viptype_id != 1) {
|
||
|
||
//购买用户,怼币购买用户
|
||
//1免费,2怼币,3VIP,4优惠值
|
||
//先检查是否有怼币
|
||
//增加一个两个小时的时长
|
||
// console.log('先检查是否有怼币');
|
||
// console.log(that.data.isdisplay);
|
||
if (this.data.isdisplay == 1) {
|
||
|
||
if (this.data.cousreshow == false) {
|
||
|
||
if (times >= this.data.videtimes) {
|
||
this.setData({
|
||
showvide: true,
|
||
playStates: false,
|
||
sliderValue: times
|
||
});
|
||
this.videoContext.pause();
|
||
}
|
||
}
|
||
}
|
||
|
||
}
|
||
},
|
||
sliderChanging(e) {
|
||
|
||
const times = e.detail.value.toFixed(0);
|
||
this.setData({
|
||
updateState: false //拖拽过程中,不允许更新进度条
|
||
})
|
||
if (times >= this.data.videtimes) {
|
||
this.videoContext.pause();
|
||
this.publicdata(times);
|
||
} else {
|
||
this.videoContext.play();
|
||
}
|
||
},
|
||
sliderChange(e) {
|
||
|
||
const times = e.detail.value.toFixed(0);
|
||
this.setData({
|
||
sliderValue: e.detail.value,
|
||
updateState: false //完成拖动后允许更新滚动条
|
||
})
|
||
|
||
if (this.data.duration) {
|
||
this.videoContext.seek(e.detail.value / 100 * this.data.duration); //完成拖动后,计算对应时间并跳转到指定位置
|
||
this.setData({
|
||
sliderValue: e.detail.value.toFixed(0),
|
||
updateState: true //完成拖动后允许更新滚动条
|
||
})
|
||
}
|
||
if (times >= this.data.videtimes) {
|
||
this.videoContext.pause();
|
||
this.setData({
|
||
showvide: true,
|
||
duration: e.detail.duration,
|
||
playStates: false,
|
||
sliderValue: times
|
||
});
|
||
this.publicdata(times);
|
||
|
||
} else {
|
||
this.videoContext.play();
|
||
}
|
||
|
||
|
||
},
|
||
videoOpreation() {
|
||
|
||
const playstats = !this.data.playStates;
|
||
this.setData({
|
||
playStates: playstats,
|
||
});
|
||
this.data.playStates ? this.videoContext.pause() : this.videoContext.play();
|
||
const times = this.data.sliderValue;
|
||
console.log(times);
|
||
if (times >= this.data.videtimes) {
|
||
this.videoContext.pause();
|
||
this.publicdata(times);
|
||
}
|
||
|
||
},
|
||
|
||
/**
|
||
* 生命周期函数--监听页面初次渲染完成
|
||
*/
|
||
onReady: function () {
|
||
this.videoContext = wx.createVideoContext('myVideo');
|
||
this.setData({
|
||
updateState: true
|
||
})
|
||
},
|
||
|
||
/**
|
||
* 生命周期函数--监听页面显示
|
||
*/
|
||
onShow: function () {
|
||
|
||
this.isdisplay();
|
||
this.getcoursedata(this.data.courseid);
|
||
this.wrodtypelist(this.data.courseid);
|
||
this.isjumpurl(this.data.typeid, 1);
|
||
// this.isfinallfun(this.data.courseid, wx.getStorageSync('wxuserid'), 2); //2不删除
|
||
|
||
},
|
||
|
||
isfinallfun: function (id, userid, typeid) {
|
||
//是否完成函数
|
||
const that = this;
|
||
let url = Apps.globalData.baseUrl + '/course/finallclick';
|
||
var param = {
|
||
id: id,
|
||
user_id: userid,
|
||
typeid: typeid
|
||
};
|
||
//此处为使用封装的post请求
|
||
util.post(url, param).then((res) => {
|
||
|
||
console.log(res);
|
||
that.setData({
|
||
isfinall: res
|
||
})
|
||
|
||
}).catch((errMsg) => {
|
||
console.log(errMsg);
|
||
});
|
||
},
|
||
/**
|
||
* 生命周期函数--监听页面隐藏
|
||
*/
|
||
onHide: function () {
|
||
|
||
},
|
||
|
||
/**
|
||
* 生命周期函数--监听页面卸载
|
||
*/
|
||
onUnload: function () {
|
||
|
||
},
|
||
|
||
/**
|
||
* 页面相关事件处理函数--监听用户下拉动作
|
||
*/
|
||
onPullDownRefresh: function () {
|
||
|
||
},
|
||
|
||
/**
|
||
* 页面上拉触底事件的处理函数
|
||
*/
|
||
onReachBottom: function () {
|
||
|
||
},
|
||
|
||
/**
|
||
* 用户点击右上角分享
|
||
*/
|
||
onShareAppMessage: function () {
|
||
|
||
},
|
||
messageclick: function (e) {
|
||
|
||
wx.reLaunch({
|
||
url: '/pages/communityinfo/communityinfo?id=' + e.currentTarget.id,
|
||
})
|
||
},
|
||
deletewordreply: function (par) {
|
||
|
||
//删除留言
|
||
const that = this;
|
||
let url = Apps.globalData.baseUrl + '/wordslist/deletewordreply';
|
||
var param = {
|
||
wordid: par
|
||
};
|
||
//此处为使用封装的post请求
|
||
util.post(url, param).then((res) => {
|
||
console.log(res);
|
||
this.wrodtypelist(that.data.courseid);
|
||
|
||
}).catch((errMsg) => {
|
||
console.log(errMsg);
|
||
});
|
||
},
|
||
getcoursedata: function (params) {
|
||
const that = this;
|
||
let url = Apps.globalData.baseUrl + '/lives/indexcourselives';
|
||
var param = {
|
||
id: params,
|
||
user_id: wx.getStorageSync('wxuserid') == '' ? 0 : wx.getStorageSync('wxuserid')
|
||
};
|
||
//此处为使用封装的post请求
|
||
util.get(url, param).then((res) => {
|
||
console.log('res====================');
|
||
console.log(res);
|
||
let cousrceid = res.data.id;
|
||
that.setData({
|
||
itemdata: res.data, //课程数据
|
||
cousrceid: cousrceid, //课程ID
|
||
videtimes: 100000000, //视听时长
|
||
videurl: res.data.liveurl
|
||
});
|
||
|
||
}).catch((errMsg) => {
|
||
console.log(errMsg);
|
||
});
|
||
},
|
||
displayview: function () {
|
||
console.log(this.data.showview);
|
||
this.setData({
|
||
showview: (!this.data.showview)
|
||
})
|
||
this.getacctoken();
|
||
this.pageScrollToBottom();
|
||
},
|
||
wrodtypelist: function (params) {
|
||
|
||
//获取课程留言
|
||
const that = this;
|
||
let url = Apps.globalData.baseUrl + '/lives/liveswordscourselist';
|
||
var param = {
|
||
id: params,
|
||
user_id: wx.getStorageSync('wxuserid')
|
||
};
|
||
//此处为使用封装的post请求
|
||
util.get(url, param).then((res) => {
|
||
console.log(res);
|
||
that.setData({
|
||
replylist: res.data
|
||
});
|
||
|
||
}).catch((errMsg) => {
|
||
console.log(errMsg);
|
||
});
|
||
},
|
||
delesourceclick: function (par) {
|
||
const that = this;
|
||
wx.showModal({
|
||
title: '删除提示',
|
||
content: '您将删除该留言信息',
|
||
cancelText: '退出',
|
||
confirmText: '确认',
|
||
success: function (res) {
|
||
if (res.cancel) {
|
||
//这个跳转是左边按钮的跳转链接
|
||
//这里取消操作
|
||
console.log(res);
|
||
|
||
} else {
|
||
//这里是右边按钮的跳转链接
|
||
let id = par.currentTarget.id;
|
||
//删除课程留言数据
|
||
let url = Apps.globalData.baseUrl + '/lives/liveswordscoursedelete';
|
||
var param = {
|
||
id: id
|
||
};
|
||
//此处为使用封装的post请求
|
||
util.post(url, param).then((res) => {
|
||
console.log(res);
|
||
that.wrodtypelist(that.data.courseid);
|
||
|
||
}).catch((errMsg) => {
|
||
console.log(errMsg);
|
||
});
|
||
}
|
||
}
|
||
})
|
||
|
||
},
|
||
wordsclick: function (ee) {
|
||
|
||
let e1 = ee.currentTarget.id;
|
||
// let e2 = Apps.globalData.currentuserinfo.id;
|
||
let e2 = wx.getStorageSync('wxuserid');
|
||
const that = this;
|
||
let url = Apps.globalData.baseUrl + '/wordslist/wordscourseclickcount';
|
||
var param = {
|
||
words_id: e1,
|
||
user_id: e2,
|
||
};
|
||
//此处为使用封装的post请求
|
||
util.get(url, param).then((res) => {
|
||
console.log(res);
|
||
|
||
}).catch((errMsg) => {
|
||
console.log(errMsg);
|
||
});
|
||
},
|
||
uploadpic: function () {
|
||
var that = this;
|
||
let imagesList = [];
|
||
let maxSize = 1024 * 1024;
|
||
let maxLength = 6;
|
||
let flag = true;
|
||
wx.chooseImage({
|
||
count: 9, //最多可以选择的图片总数
|
||
sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
|
||
sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
|
||
success: function (res) {
|
||
wx.showToast({
|
||
title: '正在上传...',
|
||
icon: 'loading',
|
||
mask: true,
|
||
duration: 500
|
||
})
|
||
for (let i = 0; i < res.tempFiles.length; i++) {
|
||
if (res.tempFiles[i].size > maxSize) {
|
||
flag = false;
|
||
console.log(111)
|
||
wx.showModal({
|
||
content: '图片太大,不允许上传',
|
||
showCancel: false,
|
||
success: function (res) {
|
||
if (res.confirm) {
|
||
console.log('用户点击确定')
|
||
}
|
||
}
|
||
});
|
||
}
|
||
}
|
||
if (res.tempFiles.length > maxLength) {
|
||
console.log('222');
|
||
wx.showModal({
|
||
content: '最多能上传' + maxLength + '张图片',
|
||
showCancel: false,
|
||
success: function (res) {
|
||
if (res.confirm) {
|
||
console.log('确定');
|
||
}
|
||
}
|
||
})
|
||
}
|
||
if (flag == true && res.tempFiles.length <= maxLength) {
|
||
that.setData({
|
||
imagesListp: res.tempFilePaths
|
||
})
|
||
that.data.imagestr = [];
|
||
var arr = '';
|
||
for (let i = 0; i < that.data.imagesListp.length; i++) {
|
||
|
||
// that.getpicchekc(that.data.imagesListp[i]);
|
||
|
||
// if (that.data.ispic == 1) {
|
||
|
||
wx.uploadFile({
|
||
url: Apps.globalData.baseUrl + '/wordslist/uploadpics',
|
||
filePath: that.data.imagesListp[i],
|
||
name: 'file',
|
||
success: function (res) {
|
||
//打印
|
||
console.log("------------响应数据:");
|
||
console.log(res.data);
|
||
|
||
var message = JSON.parse(res.data);
|
||
that.data.imagestr.push(message);
|
||
that.setData({
|
||
imagestr: that.data.imagestr
|
||
});
|
||
},
|
||
})
|
||
}
|
||
|
||
// }
|
||
|
||
|
||
}
|
||
console.log(res);
|
||
},
|
||
fail: function (res) {
|
||
console.log(res);
|
||
}
|
||
})
|
||
|
||
},
|
||
// 删除图片
|
||
removeChooseImage(e) {
|
||
let imgs = this.data.imagestr;
|
||
let { index } = e.currentTarget.dataset;
|
||
imgs.splice(index, 1);
|
||
this.setData({
|
||
imagestr: imgs
|
||
})
|
||
},
|
||
// 预览图片
|
||
previewBigImage(e) {
|
||
let that = this;
|
||
let imgs = that.data.imagestr;
|
||
let index = e.currentTarget.dataset.index;
|
||
let arr = [];
|
||
imgs.forEach(function (item, index) {
|
||
arr[index] = that.data.baseurl + item
|
||
});
|
||
wx.previewImage({
|
||
//当前显示图片
|
||
current: arr[index],
|
||
//所有图片
|
||
urls: arr
|
||
})
|
||
},
|
||
isjumpblack: function () {
|
||
console.log(wx.getStorageSync('userisblack'));
|
||
if (wx.getStorageSync('userisblack') >= 2) {
|
||
|
||
wx.showToast({
|
||
title: "您已被禁言,请联系管理员",//提示文字
|
||
duration: 5000,//显示时长
|
||
mask: true,//是否显示透明蒙层,防止触摸穿透,默认:false
|
||
icon: 'none', //图标,支持"success"、"loading"
|
||
success: function () {
|
||
|
||
},//接口调用成功
|
||
fail: function () { }, //接口调用失败的回调函数
|
||
complete: function () { } //接口调用结束的回调函数
|
||
})
|
||
}
|
||
},
|
||
formSubmit: function (e) {
|
||
|
||
Apps.islogin();
|
||
|
||
if (wx.getStorageSync('userisblack') >= 2) {
|
||
this.isjumpblack();
|
||
return;
|
||
}
|
||
|
||
let content = this.data.wordstextname;
|
||
if (content == '') {
|
||
wx.showToast({
|
||
title: '留言内容为空,请填写内容',
|
||
icon: 'none',
|
||
duration: 1500
|
||
})
|
||
return false;
|
||
}
|
||
this.getmsgcheck(content);
|
||
|
||
},
|
||
bindTextAreaBlur: function (e) {
|
||
this.setData({
|
||
wordstextname: e.detail.value
|
||
})
|
||
},
|
||
uploadpicsimage: function (e) {
|
||
|
||
const that = this;
|
||
let url = Apps.globalData.baseUrl + '/wordslist/uploadpics';
|
||
var param = {
|
||
url: e
|
||
};
|
||
//此处为使用封装的post请求
|
||
util.post(url, param).then((res) => {
|
||
console.log(res);
|
||
|
||
}).catch((errMsg) => {
|
||
console.log(errMsg);
|
||
});
|
||
},
|
||
wordsadd: function (content, imagestr) {
|
||
|
||
const that = this;
|
||
let url = Apps.globalData.baseUrl + '/lives/liveswordscouresadd';
|
||
var param = {
|
||
content: content,
|
||
imagestr: imagestr,
|
||
userid: wx.getStorageSync('wxuserid') == '' ? 3 : wx.getStorageSync('wxuserid'),
|
||
wordsid: that.data.courseid,
|
||
xid: that.data.xid
|
||
};
|
||
//此处为使用封装的post请求
|
||
util.post(url, param).then((res) => {
|
||
console.log(res.data);
|
||
if (res.data > 0) {
|
||
wx.showToast({
|
||
title: '留言内容成功',
|
||
icon: 'none',
|
||
duration: 1500
|
||
})
|
||
|
||
that.wrodtypelist(that.data.courseid);
|
||
|
||
that.setData({
|
||
wordstextname: '',
|
||
imagestr: ''
|
||
})
|
||
|
||
}
|
||
|
||
}).catch((errMsg) => {
|
||
console.log(errMsg);
|
||
});
|
||
},
|
||
contentclick: function (params) {
|
||
|
||
console.log(params);
|
||
let id = params.currentTarget.id;
|
||
let xid = params.currentTarget.dataset.xid;
|
||
console.log(id);
|
||
this.setData({
|
||
wordstextname: '回复@' + id,
|
||
showview: true,
|
||
xid: xid
|
||
});
|
||
|
||
// this.addinccomment(xid);
|
||
|
||
this.getacctoken();
|
||
|
||
wx.showToast({
|
||
title: '@成功,留言请移底部留言',
|
||
icon: 'none',
|
||
duration: 1500
|
||
})
|
||
this.pageScrollToBottom();
|
||
|
||
}, rdclick: function (params) {
|
||
|
||
this.pageScrollToBottom();
|
||
}, addinccomment: function (params) {
|
||
//增加评论数
|
||
console.log(params);
|
||
let userid = wx.getStorageSync('wxuserid');
|
||
const that = this;
|
||
let url = Apps.globalData.baseUrl + '/wordslist/addcommentcount';
|
||
var param = {
|
||
id: params,
|
||
userid: userid
|
||
};
|
||
//此处为使用封装的post请求
|
||
util.get(url, param).then((res) => {
|
||
console.log(res);
|
||
// this.wrodtypelist(this.data.courseid)
|
||
this.wrodtypelist(that.data.courseid);
|
||
}).catch((errMsg) => {
|
||
console.log(errMsg);
|
||
});
|
||
},
|
||
clickbtn: function (params) {
|
||
console.log(params);
|
||
let userid = wx.getStorageSync('wxuserid');
|
||
const that = this;
|
||
let url = Apps.globalData.baseUrl + '/wordslist/wordscourseclickcount';
|
||
var param = {
|
||
words_id: params.currentTarget.id,
|
||
user_id: userid
|
||
};
|
||
//此处为使用封装的post请求
|
||
util.get(url, param).then((res) => {
|
||
console.log(res);
|
||
// this.wrodtypelist(this.data.courseid)
|
||
this.wrodtypelist(this.data.courseid);
|
||
}).catch((errMsg) => {
|
||
console.log(errMsg);
|
||
});
|
||
},
|
||
knowledgeclick: function (params) {
|
||
//知识要点
|
||
if (this.data.cousreshow == false && this.data.typeid != 1) {
|
||
wx.showToast({
|
||
title: '试听课程,不可操作,请先购买课程',//提示文字
|
||
duration: 2000,//显示时长
|
||
mask: true,//是否显示透明蒙层,防止触摸穿透,默认:false
|
||
icon: 'none', //图标,支持"success"、"loading"
|
||
success: function () {
|
||
return;
|
||
},//接口调用成功
|
||
fail: function () { }, //接口调用失败的回调函数
|
||
complete: function () { } //接口调用结束的回调函数
|
||
})
|
||
return;
|
||
}
|
||
|
||
let examid = params.currentTarget.id;
|
||
if (examid > 0) {
|
||
wx.navigateTo({
|
||
url: '/pages/knowledge/knowledge?examid=' + examid,
|
||
})
|
||
} else {
|
||
Toast('此课程暂无知识要点');
|
||
}
|
||
|
||
|
||
},
|
||
examingclick: function (params) {
|
||
|
||
if (this.data.cousreshow == false && this.data.typeid != 1) {
|
||
wx.showToast({
|
||
title: '试听课程,不可操作,请先购买课程',//提示文字
|
||
duration: 2000,//显示时长
|
||
mask: true,//是否显示透明蒙层,防止触摸穿透,默认:false
|
||
icon: 'none', //图标,支持"success"、"loading"
|
||
success: function () {
|
||
return;
|
||
},//接口调用成功
|
||
fail: function () { }, //接口调用失败的回调函数
|
||
complete: function () { } //接口调用结束的回调函数
|
||
})
|
||
return;
|
||
}
|
||
|
||
let examid = params.currentTarget.id;
|
||
let ismdata = this.data.ismdata;
|
||
let grouppaper_id = this.data.itemdata.grouppaper_id;
|
||
if (grouppaper_id > 0) {
|
||
|
||
|
||
if (ismdata == 2) {
|
||
wx.navigateTo({
|
||
url: '/pages/exammakings/exammakings?examid=' + examid + '&grouppaper_id=' + grouppaper_id,
|
||
})
|
||
} else {
|
||
wx.navigateTo({
|
||
url: '/pages/examing/examing?examid=' + examid + '&grouppaper_id=' + grouppaper_id,
|
||
})
|
||
}
|
||
} else {
|
||
|
||
Toast('该课程无练习试题');
|
||
}
|
||
},
|
||
preview: function (params) {
|
||
let that = this;
|
||
console.log(params)
|
||
let currentUrl = params.currentTarget.dataset.src;
|
||
let arrindex = params.currentTarget.dataset.id;
|
||
|
||
let rearr = that.data.replylist[arrindex].pics;
|
||
console.log(rearr);
|
||
let arr = [];
|
||
rearr.forEach(function (item, index) {
|
||
arr[index] = that.data.baseurl + item
|
||
});
|
||
console.log(arr);
|
||
wx.previewImage({
|
||
current: currentUrl, // 当前显示图片的http链接
|
||
urls: arr // 需要预览的图片http链接列表
|
||
})
|
||
},
|
||
isjumpurl: function (id, groupid) {
|
||
|
||
const that = this;
|
||
let url = Apps.globalData.baseUrl + '/exam/isarrdata';
|
||
var param = {
|
||
id: id,
|
||
groupid: groupid
|
||
};
|
||
//此处为使用封装的post请求
|
||
util.post(url, param).then((res) => {
|
||
console.log(res);
|
||
that.setData({
|
||
ismdata: res.data
|
||
});
|
||
}).catch((errMsg) => {
|
||
console.log(errMsg);
|
||
});
|
||
},
|
||
isdisplay: function (params) {
|
||
//是否显示视频
|
||
const that = this;
|
||
let url = Apps.globalData.baseUrl + '/index/isdisplay';
|
||
var param = {
|
||
pareid: params
|
||
};
|
||
//此处为使用封装的post请求
|
||
util.get(url, param).then((res) => {
|
||
console.log(res);
|
||
that.setData({
|
||
isdisplay: res.data
|
||
});
|
||
|
||
}).catch((errMsg) => {
|
||
console.log(errMsg);
|
||
});
|
||
|
||
},
|
||
getacctoken: function () {
|
||
const that = this;
|
||
let url = Apps.globalData.baseUrl + '/user/acctoken';
|
||
var param = {
|
||
pareid: '1213'
|
||
};
|
||
//此处为使用封装的post请求
|
||
util.get(url, param).then((res) => {
|
||
|
||
console.log('-=-=-=-=-=-=-=-=');
|
||
console.log(res);
|
||
wx.setStorageSync('accesstoen', res.access_token)
|
||
that.setData({
|
||
accesstoken: res.access_token
|
||
});
|
||
|
||
|
||
}).catch((errMsg) => {
|
||
console.log(errMsg);
|
||
});
|
||
},
|
||
getmsgcheck: function (params) {
|
||
// $url ='https://api.weixin.qq.com/wxa/msg_sec_check?access_token=' .$accessToken;
|
||
const that = this;
|
||
let url = Apps.globalData.baseUrl + '/user/checkmsg'
|
||
var param = {
|
||
"openid": wx.getStorageSync('wxopenid'),
|
||
"scene": 2,
|
||
"version": 2,
|
||
"content": params,
|
||
"access_token": that.data.accesstoken
|
||
};
|
||
//此处为使用封装的post请求
|
||
util.post(url, param).then((res) => {
|
||
|
||
that.wordsadd(params, that.data.imagestr);
|
||
// if (res.errcode == "0") {
|
||
// that.wordsadd(params, that.data.imagestr)
|
||
// } else {
|
||
|
||
// wx.showToast({
|
||
// title: '留言内容有敏感词请重新输入',//提示文字
|
||
// duration: 2000,//显示时长
|
||
// mask: true,//是否显示透明蒙层,防止触摸穿透,默认:false
|
||
// icon: 'none', //图标,支持"success"、"loading"
|
||
// success: function () { },//接口调用成功
|
||
// fail: function () { }, //接口调用失败的回调函数
|
||
// complete: function () { } //接口调用结束的回调函数
|
||
// })
|
||
// }
|
||
|
||
}).catch((errMsg) => {
|
||
console.log(errMsg);
|
||
});
|
||
},
|
||
checkusercousre: function (para) {
|
||
//vip课程
|
||
//检测用户是否这个课程的权限
|
||
Apps.islogin();
|
||
const that = this;
|
||
let url = Apps.globalData.baseUrl + '/user/checkusercousre'
|
||
var param = {
|
||
user_id: wx.getStorageSync('wxuserid'),
|
||
courseid: para,
|
||
};
|
||
//此处为使用封装的post请求
|
||
util.post(url, param).then((res) => {
|
||
|
||
console.log('// 检查一下用户是否有课程权限 cousreshow=true');
|
||
console.log(res);
|
||
console.log(res.data);
|
||
// 检查一下用户是否有课程权限 cousreshow=true
|
||
that.setData({
|
||
cousreshow: res.data.iscousreshow,
|
||
isvip: res.data.isvip
|
||
});
|
||
|
||
if (res.data.isvip == false && that.data.viptype_id == 2) {
|
||
|
||
that.checkuserscource(wx.getStorageSync('wxuserid'), that.data.cousrceid, that.data.headpicvalue);
|
||
}
|
||
|
||
}).catch((errMsg) => {
|
||
console.log(errMsg);
|
||
});
|
||
|
||
},
|
||
getpicchekc: function (params) {
|
||
// let url="https://api.weixin.qq.com/wxa/media_check_async?access_token="+wx.getStorageSync('accesstoen');
|
||
let url = Apps.globalData.baseUrl + '/user/checkpic'
|
||
var param = {
|
||
"openid": wx.getStorageSync('wxopenid'),
|
||
"scene": 2,
|
||
"version": 2,
|
||
"media_url": params,
|
||
"media_type": 2,
|
||
"version": 2,
|
||
"access_token": wx.getStorageSync('accesstoen')
|
||
};
|
||
//此处为使用封装的post请求
|
||
util.post(url, param).then((res) => {
|
||
|
||
console.log("res===========");
|
||
console.log(res);
|
||
|
||
this.setData({
|
||
ispic: 1
|
||
})
|
||
|
||
|
||
}).catch((errMsg) => {
|
||
console.log(errMsg);
|
||
});
|
||
},
|
||
pageScrollToBottom() {
|
||
wx.createSelectorQuery().select('#time-mo').boundingClientRect(function (rect) {
|
||
|
||
rect.id // 节点的ID
|
||
rect.dataset // 节点的dataset
|
||
rect.left // 节点的左边界坐标
|
||
rect.right // 节点的右边界坐标
|
||
rect.top // 节点的上边界坐标
|
||
rect.bottom // 节点的下边界坐标
|
||
rect.width // 节点的宽度
|
||
rect.height
|
||
console.log(rect.bottom * 20)
|
||
// 使页面滚动到底部
|
||
wx.pageScrollTo({
|
||
scrollTop: rect.bottom * 20
|
||
})
|
||
}).exec()
|
||
},
|
||
|
||
}) |