//index.js //获取应用实例 const app = require('../../utils/util.js'); // const app = getApp() Page({ data: { url: '', title: '', message: '', playTimes: 0, id: 0, studyLog: {}, intervalTime: 0, //隔五分钟清空重新计时 currentTime: 0, startPlayTime: 0, video_real_time: 0, //实时播放进度 initial_time: '', //视频跳转进度 秒 intervalCtx: null, videoContext: null }, videoErrorCallback: function (e) { console.log('视频错误信息:') console.log(e.detail.errMsg) }, onReady: function () {}, // 计时 calculateTime() { let _this = this; this.setData({ intervalTime: _this.data.intervalTime + 5 }) if (_this.data.intervalTime > 300) { _this.data.videoContext.pause() this.setData({ intervalTime: 0 }) wx.showModal({ showCancel: false, content: "您还在吗,请点击确定继续观看视频哦", success(res) { console.log(res, "22222222") if (res.confirm) { _this.data.videoContext.play() } } }) } console.log(_this.data.intervalTime, "我是正在加的数") }, bindplay() { this.setData({ videoContext: wx.createVideoContext('myVideo') }) console.log("我点击开始了") let _this = this; _this.setData({ intervalCtx: setInterval(function () { _this.calculateTime() }, 5000) }) }, bindpause() { clearInterval(this.data.intervalCtx) console.log(this.data.intervalTime, "我是暂停时加的所有数") }, getdbArr(sessionKey) { var _this = this; wx.request({ method: "post", url: app.globalData.publicUrl + '/wx/course/selectRecordByCourseId', data: { sessionKey: sessionKey, courseId: _this.data.id }, success: (e) => { console.log(e, "2222222222") this.setData({ url: e.data.url, show: false, title: e.data.course.courseInfo, message: e.data.course.courseName, playTimes: e.data.course.playTimes }) } }) }, getStudyLog(sessionKey) { var _this = this; wx.request({ method: "post", url: app.globalData.publicUrl + '/wx/course/getStudyLog', data: { sessionKey: sessionKey, courseId: _this.data.id }, success: (e) => { console.log(e, "22222222222222") if (e.data.studyLog.isDone == 1) { _this.setData({ studyLog: e.data.studyLog }) } else { _this.setData({ studyLog: e.data.studyLog, startPlayTime: e.data.studyLog.studyTime }) } } }) }, timeUpdate: function (e) { // console.log(e.detail.duration,"我是视频总长") //实时播放进度 秒数 let _this = this; let currentTime = parseInt(e.detail.currentTime) //当前播放秒数 let studyTime = 'studyLog.studyTime' this.setData({ [studyTime]: currentTime }) let aa = 1; let duration = e.detail.duration if (_this.data.video_real_time == 0) { var jump_time = parseInt(_this.data.startPlayTime) + parseInt(_this.data.video_real_time) } else { var jump_time = parseInt(_this.data.video_real_time) } if (aa == 1) { if (currentTime > jump_time && currentTime - jump_time > 3) { _this.data.videoContextvideoContext.seek(_this.data.video_real_time) wx.showToast({ title: '未完整看完该视频,不能快进', icon: 'none', duration: 2000, }) } } _this.setData({ video_real_time: currentTime, //实时播放进度 }) }, chechEndStatus: function () { let _this = this; // let currentTime = parseInt(e.detail.currentTime) let isDone = 'studyLog.isDone' this.setData({ [isDone]: 1 }) wx.request({ method: "post", url: app.globalData.publicUrl + '/wx/course/updateStudyLog', data: { studyLog: _this.data.studyLog }, success: (e) => { console.log(e, "我修改进度成功了aaaa") } }) }, onUnload() { var _this = this; if (_this.data.startPlayTime < _this.data.studyLog.studyTime) { console.log(_this.data.studyLog) wx.request({ method: "post", url: app.globalData.publicUrl + '/wx/course/updateStudyLog', data: { studyLog: _this.data.studyLog }, success: (e) => { console.log(e, "我修改进度成功了") } }) } }, onHide() { var _this = this; if (_this.data.studyTime < _this.data.studyLog.studyTime) { console.log(_this.data.studyLog) wx.request({ method: "post", url: app.globalData.publicUrl + '/wx/course/updateStudyLog', data: { studyLog: _this.data.studyLog }, success: (e) => { console.log(e, "我修改进度成功了") } }) } // console.log(_this.data.studyLog) // wx.request({ // method: "post", // url: app.globalData.publicUrl + '/wx/course/updateStudyLog', // data: { // studyLog: _this.data.studyLog // }, // success: (e) => { // console.log(e, "我修改进度成功了") // } // }) }, onLoad: function (options) { var _this = this; _this.setData({ id: options.id }) wx.checkSession({ success: () => { console.log("我有缓存") var sessionKey = wx.getStorageSync('sessionKey'); if (sessionKey == "") { wx.login({ success(res) { console.log(res); var code = res.code wx.request({ url: app.globalData.publicUrl2 + '/wx/user/wx7e7a46e129d6cd0f/login', method: "get", data: { code }, success: function (res) { sessionKey = res.data.sessionKey; wx.setStorageSync('sessionKey', res.data.sessionKey); _this.getdbArr(sessionKey); _this.getStudyLog(sessionKey); } }) } }) } else { _this.getdbArr(sessionKey); _this.getStudyLog(sessionKey); } }, fail() { console.log("我没有缓存并去登录请求") wx.login({ success(res) { console.log(res); var code = res.code wx.request({ url: app.globalData.publicUrl2 + '/wx/user/wx7e7a46e129d6cd0f/login', method: "get", data: { code }, success: function (res) { wx.setStorageSync('sessionKey', res.data.sessionKey); var sessionKey = res.data.sessionKey; _this.getdbArr(sessionKey); _this.getStudyLog(sessionKey); } }) } }) } }) } })