Commit c89fcb64 by xiaowenfeng

1、模块设置了懒加载

2、添加了一个一个学习时长API用于和原有的汇报API提交的数据进行对比
parent aad79c52
module.exports = { module.exports = {
presets: ["@vue/cli-plugin-babel/preset"] presets: ["@vue/cli-plugin-babel/preset"],
env: {
development: {
plugins: ["dynamic-import-node"]
}
}
}; };
...@@ -25,6 +25,7 @@ ...@@ -25,6 +25,7 @@
"@vue/cli-service": "~4.4.0", "@vue/cli-service": "~4.4.0",
"@vue/eslint-config-prettier": "^6.0.0", "@vue/eslint-config-prettier": "^6.0.0",
"babel-eslint": "^10.1.0", "babel-eslint": "^10.1.0",
"babel-plugin-dynamic-import-node": "^2.3.3",
"eslint": "^6.7.2", "eslint": "^6.7.2",
"eslint-plugin-prettier": "^3.1.3", "eslint-plugin-prettier": "^3.1.3",
"eslint-plugin-vue": "^6.2.2", "eslint-plugin-vue": "^6.2.2",
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
<head> <head>
<meta charset="utf-8"> <meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1.0"> <meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=0">
<link rel="icon" href="<%= BASE_URL %>favicon.ico"> <link rel="icon" href="<%= BASE_URL %>favicon.ico">
<title><%= htmlWebpackPlugin.options.title %></title> <title><%= htmlWebpackPlugin.options.title %></title>
</head> </head>
......
import Vue from "vue"; import Vue from "vue";
import VueRouter from "vue-router"; import VueRouter from "vue-router";
import previewPDF from "../views/PreviewPDF.vue";
import faceDetect from "../views/FaceDetect.vue";
import faceRegister from "../views/FaceRegister.vue";
Vue.use(VueRouter); Vue.use(VueRouter);
const routes = [ const routes = [
{ {
path: "/previewPDF", path: "/previewPDF",
component: previewPDF, component: () =>
import(/* webpackChunkName:"name" */ "@/views/PreviewPDF.vue"),
meta: { meta: {
title: "PDF预览" title: "PDF预览"
} }
}, },
{ {
path: "/faceDetect", path: "/faceDetect",
component: faceDetect, component: () =>
import(/* webpackChunkName:"name" */ "@/views/FaceDetect.vue"),
meta: { meta: {
title: "人脸识别" title: "人脸识别"
} }
}, },
{ {
path: "/faceRegister", path: "/faceRegister",
component: faceRegister, component: () =>
import(/* webpackChunkName:"name" */ "@/views/FaceRegister.vue"),
meta: { meta: {
title: "人脸登记" title: "人脸登记"
} }
......
...@@ -193,7 +193,8 @@ export default { ...@@ -193,7 +193,8 @@ export default {
draggradActive: false, draggradActive: false,
isFirefox: false, isFirefox: false,
playInitializationData: null, playInitializationData: null,
isLoading: false isLoading: false,
sessionTime: 0
}; };
}, },
mounted() { mounted() {
...@@ -317,6 +318,7 @@ export default { ...@@ -317,6 +318,7 @@ export default {
canvas.height canvas.height
); );
$(".canvasWrapper").html(bufferCanvas); $(".canvasWrapper").html(bufferCanvas);
this.startTimeout();
}, },
renderHtml(textLayerDiv, page, scale, viewport, bodyHeight, textContent) { renderHtml(textLayerDiv, page, scale, viewport, bodyHeight, textContent) {
$("#textLayerDiv").html(""); $("#textLayerDiv").html("");
...@@ -385,11 +387,8 @@ export default { ...@@ -385,11 +387,8 @@ export default {
if (this.isLoading) { if (this.isLoading) {
return; return;
} }
this.save();
this.pageIndex = this.pageIndex - 1; this.pageIndex = this.pageIndex - 1;
this.LMSSetLocationPoint();
this.LMSSetLessProgress();
this.LMSSetSessionTime();
this.LMSCommit();
this.preview(); this.preview();
}, },
next() { next() {
...@@ -399,14 +398,8 @@ export default { ...@@ -399,14 +398,8 @@ export default {
if (this.isLoading) { if (this.isLoading) {
return; return;
} }
this.save();
this.pageIndex = this.pageIndex + 1; this.pageIndex = this.pageIndex + 1;
this.LMSSetLocationPoint();
this.LMSSetLessProgress();
this.LMSSetSessionTime();
if (this.pageIndex === this.pageLength) {
this.LMSSetLessonStatus("completed");
}
this.LMSCommit();
this.preview(); this.preview();
}, },
changeSelected(index) { changeSelected(index) {
...@@ -626,6 +619,60 @@ export default { ...@@ -626,6 +619,60 @@ export default {
} }
}); });
}, },
startTimeout() {
clearTimeout(this.timer);
this.timer = setTimeout(() => {
this.sessionTime = this.sessionTime += 1;
// console.log(this.sessionTime);
if (this.sessionTime % 30 === 0) {
this.save();
this.startTimeout();
} else {
this.startTimeout();
}
}, 1000);
},
save() {
this.LMSSetLocationPoint();
this.LMSSetLessProgress();
this.LMSSetSessionTime();
if (this.pageIndex === this.pageLength) {
this.LMSSetLessonStatus("completed");
}
this.LMSCommit();
let sessionTime = this.sessionTime;
this.sessionTime = 0;
this.checkingAPI(null, sessionTime);
},
checkingAPI(fn, sessionTime) {
$.ajax({
type: "post",
url: "/play/tracking/set.do",
data: {
crsId: this.playInitializationData.crsId,
crsSource: this.playInitializationData.crsSource,
itemId: this.playInitializationData.itemId,
lessonMode: this.playInitializationData.lessonMode,
clientType: "P",
endLocation: this.pageIndex,
sessionTime: sessionTime
},
dataType: "json",
async: false,
success: data => {
if (data.executeStatus !== 0) {
this.alert(
"提示!",
data.errorMsg + "\n错误代码:" + data.errorCode,
"30%"
);
}
if (!!fn && typeof fn == "function") {
fn(data);
}
}
});
},
timeToFormat(times) { timeToFormat(times) {
var result = "00:00:00"; var result = "00:00:00";
var hour, minute, second; var hour, minute, second;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment