Commit dfd453e4 by zhanghaozhe

test

parent 64c27103
......@@ -51,8 +51,8 @@
"purchased.css": "/static/css/purchased.4b0044ec.chunk.css",
"purchased.js": "/static/js/purchased.92e79803.chunk.js",
"purchased.js.map": "/static/js/purchased.92e79803.chunk.js.map",
"runtime~main.js": "/static/js/runtime~main.b7cd2b6e.js",
"runtime~main.js.map": "/static/js/runtime~main.b7cd2b6e.js.map",
"runtime~main.js": "/static/js/runtime~main.94ea6aa0.js",
"runtime~main.js.map": "/static/js/runtime~main.94ea6aa0.js.map",
"search.css": "/static/css/search.9fa57dd6.chunk.css",
"search.js": "/static/js/search.6ec31863.chunk.js",
"search.js.map": "/static/js/search.6ec31863.chunk.js.map",
......@@ -66,8 +66,8 @@
"togroup.js": "/static/js/togroup.9320e36f.chunk.js",
"togroup.js.map": "/static/js/togroup.9320e36f.chunk.js.map",
"video.css": "/static/css/video.d14c8276.chunk.css",
"video.js": "/static/js/video.3310d41d.chunk.js",
"video.js.map": "/static/js/video.3310d41d.chunk.js.map",
"video.js": "/static/js/video.1ce71966.chunk.js",
"video.js.map": "/static/js/video.1ce71966.chunk.js.map",
"static/css/24.4a7b6220.chunk.css": "/static/css/24.4a7b6220.chunk.css",
"static/js/24.22a751e3.chunk.js": "/static/js/24.22a751e3.chunk.js",
"static/js/24.22a751e3.chunk.js.map": "/static/js/24.22a751e3.chunk.js.map",
......@@ -89,7 +89,7 @@
"static/js/30.5bd56f41.chunk.js": "/static/js/30.5bd56f41.chunk.js",
"static/js/30.5bd56f41.chunk.js.map": "/static/js/30.5bd56f41.chunk.js.map",
"index.html": "/index.html",
"precache-manifest.42ce945138afc73823adcc9a5d16cc3a.js": "/precache-manifest.42ce945138afc73823adcc9a5d16cc3a.js",
"precache-manifest.d0d4f7adff84a3a91c251e866870c223.js": "/precache-manifest.d0d4f7adff84a3a91c251e866870c223.js",
"service-worker.js": "/service-worker.js",
"static/css/24.4a7b6220.chunk.css.map": "/static/css/24.4a7b6220.chunk.css.map",
"static/css/25.1b3a6258.chunk.css.map": "/static/css/25.1b3a6258.chunk.css.map",
......
<!doctype html><html lang="en"><head><meta charset="utf-8"/><link rel="shortcut icon" href="/favicon.ico"/><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no,user-scalable=no"/><meta name="theme-color" content="#000000"/><link rel="manifest" href="/manifest.json"/><title>React App</title><link href="/static/css/24.4a7b6220.chunk.css" rel="stylesheet"><link href="/static/css/main.9d637326.chunk.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"></div><script src="/api.js"></script><script>!function(d){function e(e){for(var r,t,a=e[0],n=e[1],o=e[2],c=0,i=[];c<a.length;c++)t=a[c],l[t]&&i.push(l[t][0]),l[t]=0;for(r in n)Object.prototype.hasOwnProperty.call(n,r)&&(d[r]=n[r]);for(h&&h(e);i.length;)i.shift()();return s.push.apply(s,o||[]),u()}function u(){for(var e,r=0;r<s.length;r++){for(var t=s[r],a=!0,n=1;n<t.length;n++){var o=t[n];0!==l[o]&&(a=!1)}a&&(s.splice(r--,1),e=p(p.s=t[0]))}return e}var t={},f={18:0},l={18:0},s=[];function p(e){if(t[e])return t[e].exports;var r=t[e]={i:e,l:!1,exports:{}};return d[e].call(r.exports,r,r.exports,p),r.l=!0,r.exports}p.e=function(s){var e=[];f[s]?e.push(f[s]):0!==f[s]&&{0:1,1:1,2:1,3:1,4:1,6:1,8:1,9:1,10:1,11:1,12:1,13:1,14:1,16:1,17:1,19:1,20:1,21:1,22:1,23:1,25:1,27:1,28:1,29:1,30:1}[s]&&e.push(f[s]=new Promise(function(e,a){for(var r="static/css/"+({0:"BargainMiddlePage",1:"Classify",2:"CourseList",3:"DrawDocument",4:"Examination",5:"MyEdit",6:"Order",7:"Orderinfo",8:"PayOrder",9:"Preferential",10:"SearchResult",11:"ShopCart",12:"aist-share",13:"coupons",14:"detail",16:"myorders",17:"purchased",19:"search",20:"shareposter",21:"study",22:"togroup",23:"video"}[s]||s)+"."+{0:"9e05243b",1:"e3e9b348",2:"369bce9d",3:"2e7d81ca",4:"fc9da1d2",5:"31d6cfe0",6:"6576554c",7:"31d6cfe0",8:"21570c76",9:"3b4dfe41",10:"8711b264",11:"a93db4c0",12:"bef8c404",13:"9ece7350",14:"a913111e",16:"3ab93c8e",17:"4b0044ec",19:"9fa57dd6",20:"82081d02",21:"2f1e5759",22:"49988cae",23:"d14c8276",25:"1b3a6258",26:"31d6cfe0",27:"694b4628",28:"5ed15c7e",29:"ecbb6f9a",30:"bc06dce4"}[s]+".chunk.css",n=p.p+r,t=document.getElementsByTagName("link"),o=0;o<t.length;o++){var c=(d=t[o]).getAttribute("data-href")||d.getAttribute("href");if("stylesheet"===d.rel&&(c===r||c===n))return e()}var i=document.getElementsByTagName("style");for(o=0;o<i.length;o++){var d;if((c=(d=i[o]).getAttribute("data-href"))===r||c===n)return e()}var u=document.createElement("link");u.rel="stylesheet",u.type="text/css",u.onload=e,u.onerror=function(e){var r=e&&e.target&&e.target.src||n,t=new Error("Loading CSS chunk "+s+" failed.\n("+r+")");t.request=r,delete f[s],u.parentNode.removeChild(u),a(t)},u.href=n,document.getElementsByTagName("head")[0].appendChild(u)}).then(function(){f[s]=0}));var t=l[s];if(0!==t)if(t)e.push(t[2]);else{var r=new Promise(function(e,r){t=l[s]=[e,r]});e.push(t[2]=r);var a,o=document.createElement("script");o.charset="utf-8",o.timeout=120,p.nc&&o.setAttribute("nonce",p.nc),o.src=p.p+"static/js/"+({0:"BargainMiddlePage",1:"Classify",2:"CourseList",3:"DrawDocument",4:"Examination",5:"MyEdit",6:"Order",7:"Orderinfo",8:"PayOrder",9:"Preferential",10:"SearchResult",11:"ShopCart",12:"aist-share",13:"coupons",14:"detail",16:"myorders",17:"purchased",19:"search",20:"shareposter",21:"study",22:"togroup",23:"video"}[s]||s)+"."+{0:"a95f6e3a",1:"8f70e71e",2:"7878a28e",3:"63014a63",4:"f5d80e04",5:"9a853067",6:"aa55ca8a",7:"d6e4402a",8:"dd708d6a",9:"9b1a91f7",10:"c62b17a7",11:"3e2c914c",12:"c9ca71ca",13:"b1a48a76",14:"15e870ec",16:"edebe46c",17:"92e79803",19:"6ec31863",20:"9232c7eb",21:"094b201f",22:"9320e36f",23:"3310d41d",25:"ba0a34d5",26:"e30099ca",27:"a73b7964",28:"d5ea3878",29:"27e7cc9e",30:"5bd56f41"}[s]+".chunk.js",a=function(e){o.onerror=o.onload=null,clearTimeout(c);var r=l[s];if(0!==r){if(r){var t=e&&("load"===e.type?"missing":e.type),a=e&&e.target&&e.target.src,n=new Error("Loading chunk "+s+" failed.\n("+t+": "+a+")");n.type=t,n.request=a,r[1](n)}l[s]=void 0}};var c=setTimeout(function(){a({type:"timeout",target:o})},12e4);o.onerror=o.onload=a,document.head.appendChild(o)}return Promise.all(e)},p.m=d,p.c=t,p.d=function(e,r,t){p.o(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:t})},p.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},p.t=function(r,e){if(1&e&&(r=p(r)),8&e)return r;if(4&e&&"object"==typeof r&&r&&r.__esModule)return r;var t=Object.create(null);if(p.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:r}),2&e&&"string"!=typeof r)for(var a in r)p.d(t,a,function(e){return r[e]}.bind(null,a));return t},p.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return p.d(r,"a",r),r},p.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},p.p="/",p.oe=function(e){throw console.error(e),e};var r=window.webpackJsonp=window.webpackJsonp||[],a=r.push.bind(r);r.push=e,r=r.slice();for(var n=0;n<r.length;n++)e(r[n]);var h=a;u()}([])</script><script src="/static/js/24.22a751e3.chunk.js"></script><script src="/static/js/main.0a9d1eac.chunk.js"></script></body></html>
\ No newline at end of file
<!doctype html><html lang="en"><head><meta charset="utf-8"/><link rel="shortcut icon" href="/favicon.ico"/><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no,user-scalable=no"/><meta name="theme-color" content="#000000"/><link rel="manifest" href="/manifest.json"/><title>React App</title><link href="/static/css/24.4a7b6220.chunk.css" rel="stylesheet"><link href="/static/css/main.9d637326.chunk.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"></div><script src="/api.js"></script><script>!function(u){function e(e){for(var r,t,a=e[0],n=e[1],o=e[2],c=0,i=[];c<a.length;c++)t=a[c],l[t]&&i.push(l[t][0]),l[t]=0;for(r in n)Object.prototype.hasOwnProperty.call(n,r)&&(u[r]=n[r]);for(h&&h(e);i.length;)i.shift()();return s.push.apply(s,o||[]),d()}function d(){for(var e,r=0;r<s.length;r++){for(var t=s[r],a=!0,n=1;n<t.length;n++){var o=t[n];0!==l[o]&&(a=!1)}a&&(s.splice(r--,1),e=p(p.s=t[0]))}return e}var t={},f={18:0},l={18:0},s=[];function p(e){if(t[e])return t[e].exports;var r=t[e]={i:e,l:!1,exports:{}};return u[e].call(r.exports,r,r.exports,p),r.l=!0,r.exports}p.e=function(s){var e=[];f[s]?e.push(f[s]):0!==f[s]&&{0:1,1:1,2:1,3:1,4:1,6:1,8:1,9:1,10:1,11:1,12:1,13:1,14:1,16:1,17:1,19:1,20:1,21:1,22:1,23:1,25:1,27:1,28:1,29:1,30:1}[s]&&e.push(f[s]=new Promise(function(e,a){for(var r="static/css/"+({0:"BargainMiddlePage",1:"Classify",2:"CourseList",3:"DrawDocument",4:"Examination",5:"MyEdit",6:"Order",7:"Orderinfo",8:"PayOrder",9:"Preferential",10:"SearchResult",11:"ShopCart",12:"aist-share",13:"coupons",14:"detail",16:"myorders",17:"purchased",19:"search",20:"shareposter",21:"study",22:"togroup",23:"video"}[s]||s)+"."+{0:"9e05243b",1:"e3e9b348",2:"369bce9d",3:"2e7d81ca",4:"fc9da1d2",5:"31d6cfe0",6:"6576554c",7:"31d6cfe0",8:"21570c76",9:"3b4dfe41",10:"8711b264",11:"a93db4c0",12:"bef8c404",13:"9ece7350",14:"a913111e",16:"3ab93c8e",17:"4b0044ec",19:"9fa57dd6",20:"82081d02",21:"2f1e5759",22:"49988cae",23:"d14c8276",25:"1b3a6258",26:"31d6cfe0",27:"694b4628",28:"5ed15c7e",29:"ecbb6f9a",30:"bc06dce4"}[s]+".chunk.css",n=p.p+r,t=document.getElementsByTagName("link"),o=0;o<t.length;o++){var c=(u=t[o]).getAttribute("data-href")||u.getAttribute("href");if("stylesheet"===u.rel&&(c===r||c===n))return e()}var i=document.getElementsByTagName("style");for(o=0;o<i.length;o++){var u;if((c=(u=i[o]).getAttribute("data-href"))===r||c===n)return e()}var d=document.createElement("link");d.rel="stylesheet",d.type="text/css",d.onload=e,d.onerror=function(e){var r=e&&e.target&&e.target.src||n,t=new Error("Loading CSS chunk "+s+" failed.\n("+r+")");t.request=r,delete f[s],d.parentNode.removeChild(d),a(t)},d.href=n,document.getElementsByTagName("head")[0].appendChild(d)}).then(function(){f[s]=0}));var t=l[s];if(0!==t)if(t)e.push(t[2]);else{var r=new Promise(function(e,r){t=l[s]=[e,r]});e.push(t[2]=r);var a,o=document.createElement("script");o.charset="utf-8",o.timeout=120,p.nc&&o.setAttribute("nonce",p.nc),o.src=p.p+"static/js/"+({0:"BargainMiddlePage",1:"Classify",2:"CourseList",3:"DrawDocument",4:"Examination",5:"MyEdit",6:"Order",7:"Orderinfo",8:"PayOrder",9:"Preferential",10:"SearchResult",11:"ShopCart",12:"aist-share",13:"coupons",14:"detail",16:"myorders",17:"purchased",19:"search",20:"shareposter",21:"study",22:"togroup",23:"video"}[s]||s)+"."+{0:"a95f6e3a",1:"8f70e71e",2:"7878a28e",3:"63014a63",4:"f5d80e04",5:"9a853067",6:"aa55ca8a",7:"d6e4402a",8:"dd708d6a",9:"9b1a91f7",10:"c62b17a7",11:"3e2c914c",12:"c9ca71ca",13:"b1a48a76",14:"15e870ec",16:"edebe46c",17:"92e79803",19:"6ec31863",20:"9232c7eb",21:"094b201f",22:"9320e36f",23:"1ce71966",25:"ba0a34d5",26:"e30099ca",27:"a73b7964",28:"d5ea3878",29:"27e7cc9e",30:"5bd56f41"}[s]+".chunk.js",a=function(e){o.onerror=o.onload=null,clearTimeout(c);var r=l[s];if(0!==r){if(r){var t=e&&("load"===e.type?"missing":e.type),a=e&&e.target&&e.target.src,n=new Error("Loading chunk "+s+" failed.\n("+t+": "+a+")");n.type=t,n.request=a,r[1](n)}l[s]=void 0}};var c=setTimeout(function(){a({type:"timeout",target:o})},12e4);o.onerror=o.onload=a,document.head.appendChild(o)}return Promise.all(e)},p.m=u,p.c=t,p.d=function(e,r,t){p.o(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:t})},p.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},p.t=function(r,e){if(1&e&&(r=p(r)),8&e)return r;if(4&e&&"object"==typeof r&&r&&r.__esModule)return r;var t=Object.create(null);if(p.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:r}),2&e&&"string"!=typeof r)for(var a in r)p.d(t,a,function(e){return r[e]}.bind(null,a));return t},p.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return p.d(r,"a",r),r},p.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},p.p="/",p.oe=function(e){throw console.error(e),e};var r=window.webpackJsonp=window.webpackJsonp||[],a=r.push.bind(r);r.push=e,r=r.slice();for(var n=0;n<r.length;n++)e(r[n]);var h=a;d()}([])</script><script src="/static/js/24.22a751e3.chunk.js"></script><script src="/static/js/main.0a9d1eac.chunk.js"></script></body></html>
\ No newline at end of file
......@@ -136,8 +136,8 @@ self.__precacheManifest = [
"url": "/static/js/purchased.92e79803.chunk.js"
},
{
"revision": "8da07199edcd90fe368b",
"url": "/static/js/runtime~main.b7cd2b6e.js"
"revision": "30cf848b06a599e485d4",
"url": "/static/js/runtime~main.94ea6aa0.js"
},
{
"revision": "869c7499febe794e0209",
......@@ -172,12 +172,12 @@ self.__precacheManifest = [
"url": "/static/js/togroup.9320e36f.chunk.js"
},
{
"revision": "314f07edeed512a4e564",
"revision": "f632131a36a6ba2f85c7",
"url": "/static/css/video.d14c8276.chunk.css"
},
{
"revision": "314f07edeed512a4e564",
"url": "/static/js/video.3310d41d.chunk.js"
"revision": "f632131a36a6ba2f85c7",
"url": "/static/js/video.1ce71966.chunk.js"
},
{
"revision": "80011994e30adf599e5f47fcc81bc06d",
......@@ -208,16 +208,16 @@ self.__precacheManifest = [
"url": "/static/js/27.a73b7964.chunk.js"
},
{
"revision": "10b7bd5b99a2a0a2f1a30d7ed72ec1a0",
"url": "/static/media/iconfont.10b7bd5b.eot"
"revision": "55ad4bbcfbe7879698a2538de5145a09",
"url": "/static/media/iconfont.55ad4bbc.ttf"
},
{
"revision": "444e178bbf52355c88a3",
"url": "/static/js/28.d5ea3878.chunk.js"
},
{
"revision": "55ad4bbcfbe7879698a2538de5145a09",
"url": "/static/media/iconfont.55ad4bbc.ttf"
"revision": "10b7bd5b99a2a0a2f1a30d7ed72ec1a0",
"url": "/static/media/iconfont.10b7bd5b.eot"
},
{
"revision": "b32c2e05a50e935988ac",
......@@ -256,7 +256,7 @@ self.__precacheManifest = [
"url": "/static/css/24.4a7b6220.chunk.css"
},
{
"revision": "f11b45ed7a80d3b3121b72bc0eac1718",
"revision": "882cbc7ce7533cd6eac7cdb760e9d418",
"url": "/index.html"
}
];
\ No newline at end of file
......@@ -14,7 +14,7 @@
importScripts("https://storage.googleapis.com/workbox-cdn/releases/3.6.3/workbox-sw.js");
importScripts(
"/precache-manifest.42ce945138afc73823adcc9a5d16cc3a.js"
"/precache-manifest.d0d4f7adff84a3a91c251e866870c223.js"
);
workbox.clientsClaim();
......
!function(e){function r(r){for(var n,a,i=r[0],u=r[1],d=r[2],s=0,l=[];s<i.length;s++)a=i[s],o[a]&&l.push(o[a][0]),o[a]=0;for(n in u)Object.prototype.hasOwnProperty.call(u,n)&&(e[n]=u[n]);for(f&&f(r);l.length;)l.shift()();return c.push.apply(c,d||[]),t()}function t(){for(var e,r=0;r<c.length;r++){for(var t=c[r],n=!0,a=1;a<t.length;a++){var u=t[a];0!==o[u]&&(n=!1)}n&&(c.splice(r--,1),e=i(i.s=t[0]))}return e}var n={},a={18:0},o={18:0},c=[];function i(r){if(n[r])return n[r].exports;var t=n[r]={i:r,l:!1,exports:{}};return e[r].call(t.exports,t,t.exports,i),t.l=!0,t.exports}i.e=function(e){var r=[];a[e]?r.push(a[e]):0!==a[e]&&{0:1,1:1,2:1,3:1,4:1,6:1,8:1,9:1,10:1,11:1,12:1,13:1,14:1,16:1,17:1,19:1,20:1,21:1,22:1,23:1,25:1,27:1,28:1,29:1,30:1}[e]&&r.push(a[e]=new Promise(function(r,t){for(var n="static/css/"+({0:"BargainMiddlePage",1:"Classify",2:"CourseList",3:"DrawDocument",4:"Examination",5:"MyEdit",6:"Order",7:"Orderinfo",8:"PayOrder",9:"Preferential",10:"SearchResult",11:"ShopCart",12:"aist-share",13:"coupons",14:"detail",16:"myorders",17:"purchased",19:"search",20:"shareposter",21:"study",22:"togroup",23:"video"}[e]||e)+"."+{0:"9e05243b",1:"e3e9b348",2:"369bce9d",3:"2e7d81ca",4:"fc9da1d2",5:"31d6cfe0",6:"6576554c",7:"31d6cfe0",8:"21570c76",9:"3b4dfe41",10:"8711b264",11:"a93db4c0",12:"bef8c404",13:"9ece7350",14:"a913111e",16:"3ab93c8e",17:"4b0044ec",19:"9fa57dd6",20:"82081d02",21:"2f1e5759",22:"49988cae",23:"d14c8276",25:"1b3a6258",26:"31d6cfe0",27:"694b4628",28:"5ed15c7e",29:"ecbb6f9a",30:"bc06dce4"}[e]+".chunk.css",o=i.p+n,c=document.getElementsByTagName("link"),u=0;u<c.length;u++){var d=(f=c[u]).getAttribute("data-href")||f.getAttribute("href");if("stylesheet"===f.rel&&(d===n||d===o))return r()}var s=document.getElementsByTagName("style");for(u=0;u<s.length;u++){var f;if((d=(f=s[u]).getAttribute("data-href"))===n||d===o)return r()}var l=document.createElement("link");l.rel="stylesheet",l.type="text/css",l.onload=r,l.onerror=function(r){var n=r&&r.target&&r.target.src||o,c=new Error("Loading CSS chunk "+e+" failed.\n("+n+")");c.request=n,delete a[e],l.parentNode.removeChild(l),t(c)},l.href=o,document.getElementsByTagName("head")[0].appendChild(l)}).then(function(){a[e]=0}));var t=o[e];if(0!==t)if(t)r.push(t[2]);else{var n=new Promise(function(r,n){t=o[e]=[r,n]});r.push(t[2]=n);var c,u=document.createElement("script");u.charset="utf-8",u.timeout=120,i.nc&&u.setAttribute("nonce",i.nc),u.src=function(e){return i.p+"static/js/"+({0:"BargainMiddlePage",1:"Classify",2:"CourseList",3:"DrawDocument",4:"Examination",5:"MyEdit",6:"Order",7:"Orderinfo",8:"PayOrder",9:"Preferential",10:"SearchResult",11:"ShopCart",12:"aist-share",13:"coupons",14:"detail",16:"myorders",17:"purchased",19:"search",20:"shareposter",21:"study",22:"togroup",23:"video"}[e]||e)+"."+{0:"a95f6e3a",1:"8f70e71e",2:"7878a28e",3:"63014a63",4:"f5d80e04",5:"9a853067",6:"aa55ca8a",7:"d6e4402a",8:"dd708d6a",9:"9b1a91f7",10:"c62b17a7",11:"3e2c914c",12:"c9ca71ca",13:"b1a48a76",14:"15e870ec",16:"edebe46c",17:"92e79803",19:"6ec31863",20:"9232c7eb",21:"094b201f",22:"9320e36f",23:"3310d41d",25:"ba0a34d5",26:"e30099ca",27:"a73b7964",28:"d5ea3878",29:"27e7cc9e",30:"5bd56f41"}[e]+".chunk.js"}(e),c=function(r){u.onerror=u.onload=null,clearTimeout(d);var t=o[e];if(0!==t){if(t){var n=r&&("load"===r.type?"missing":r.type),a=r&&r.target&&r.target.src,c=new Error("Loading chunk "+e+" failed.\n("+n+": "+a+")");c.type=n,c.request=a,t[1](c)}o[e]=void 0}};var d=setTimeout(function(){c({type:"timeout",target:u})},12e4);u.onerror=u.onload=c,document.head.appendChild(u)}return Promise.all(r)},i.m=e,i.c=n,i.d=function(e,r,t){i.o(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:t})},i.r=function(e){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.t=function(e,r){if(1&r&&(e=i(e)),8&r)return e;if(4&r&&"object"===typeof e&&e&&e.__esModule)return e;var t=Object.create(null);if(i.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:e}),2&r&&"string"!=typeof e)for(var n in e)i.d(t,n,function(r){return e[r]}.bind(null,n));return t},i.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(r,"a",r),r},i.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},i.p="/",i.oe=function(e){throw console.error(e),e};var u=window.webpackJsonp=window.webpackJsonp||[],d=u.push.bind(u);u.push=r,u=u.slice();for(var s=0;s<u.length;s++)r(u[s]);var f=d;t()}([]);
//# sourceMappingURL=runtime~main.b7cd2b6e.js.map
\ No newline at end of file
!function(e){function r(r){for(var n,a,i=r[0],u=r[1],d=r[2],s=0,l=[];s<i.length;s++)a=i[s],o[a]&&l.push(o[a][0]),o[a]=0;for(n in u)Object.prototype.hasOwnProperty.call(u,n)&&(e[n]=u[n]);for(f&&f(r);l.length;)l.shift()();return c.push.apply(c,d||[]),t()}function t(){for(var e,r=0;r<c.length;r++){for(var t=c[r],n=!0,a=1;a<t.length;a++){var u=t[a];0!==o[u]&&(n=!1)}n&&(c.splice(r--,1),e=i(i.s=t[0]))}return e}var n={},a={18:0},o={18:0},c=[];function i(r){if(n[r])return n[r].exports;var t=n[r]={i:r,l:!1,exports:{}};return e[r].call(t.exports,t,t.exports,i),t.l=!0,t.exports}i.e=function(e){var r=[];a[e]?r.push(a[e]):0!==a[e]&&{0:1,1:1,2:1,3:1,4:1,6:1,8:1,9:1,10:1,11:1,12:1,13:1,14:1,16:1,17:1,19:1,20:1,21:1,22:1,23:1,25:1,27:1,28:1,29:1,30:1}[e]&&r.push(a[e]=new Promise(function(r,t){for(var n="static/css/"+({0:"BargainMiddlePage",1:"Classify",2:"CourseList",3:"DrawDocument",4:"Examination",5:"MyEdit",6:"Order",7:"Orderinfo",8:"PayOrder",9:"Preferential",10:"SearchResult",11:"ShopCart",12:"aist-share",13:"coupons",14:"detail",16:"myorders",17:"purchased",19:"search",20:"shareposter",21:"study",22:"togroup",23:"video"}[e]||e)+"."+{0:"9e05243b",1:"e3e9b348",2:"369bce9d",3:"2e7d81ca",4:"fc9da1d2",5:"31d6cfe0",6:"6576554c",7:"31d6cfe0",8:"21570c76",9:"3b4dfe41",10:"8711b264",11:"a93db4c0",12:"bef8c404",13:"9ece7350",14:"a913111e",16:"3ab93c8e",17:"4b0044ec",19:"9fa57dd6",20:"82081d02",21:"2f1e5759",22:"49988cae",23:"d14c8276",25:"1b3a6258",26:"31d6cfe0",27:"694b4628",28:"5ed15c7e",29:"ecbb6f9a",30:"bc06dce4"}[e]+".chunk.css",o=i.p+n,c=document.getElementsByTagName("link"),u=0;u<c.length;u++){var d=(f=c[u]).getAttribute("data-href")||f.getAttribute("href");if("stylesheet"===f.rel&&(d===n||d===o))return r()}var s=document.getElementsByTagName("style");for(u=0;u<s.length;u++){var f;if((d=(f=s[u]).getAttribute("data-href"))===n||d===o)return r()}var l=document.createElement("link");l.rel="stylesheet",l.type="text/css",l.onload=r,l.onerror=function(r){var n=r&&r.target&&r.target.src||o,c=new Error("Loading CSS chunk "+e+" failed.\n("+n+")");c.request=n,delete a[e],l.parentNode.removeChild(l),t(c)},l.href=o,document.getElementsByTagName("head")[0].appendChild(l)}).then(function(){a[e]=0}));var t=o[e];if(0!==t)if(t)r.push(t[2]);else{var n=new Promise(function(r,n){t=o[e]=[r,n]});r.push(t[2]=n);var c,u=document.createElement("script");u.charset="utf-8",u.timeout=120,i.nc&&u.setAttribute("nonce",i.nc),u.src=function(e){return i.p+"static/js/"+({0:"BargainMiddlePage",1:"Classify",2:"CourseList",3:"DrawDocument",4:"Examination",5:"MyEdit",6:"Order",7:"Orderinfo",8:"PayOrder",9:"Preferential",10:"SearchResult",11:"ShopCart",12:"aist-share",13:"coupons",14:"detail",16:"myorders",17:"purchased",19:"search",20:"shareposter",21:"study",22:"togroup",23:"video"}[e]||e)+"."+{0:"a95f6e3a",1:"8f70e71e",2:"7878a28e",3:"63014a63",4:"f5d80e04",5:"9a853067",6:"aa55ca8a",7:"d6e4402a",8:"dd708d6a",9:"9b1a91f7",10:"c62b17a7",11:"3e2c914c",12:"c9ca71ca",13:"b1a48a76",14:"15e870ec",16:"edebe46c",17:"92e79803",19:"6ec31863",20:"9232c7eb",21:"094b201f",22:"9320e36f",23:"1ce71966",25:"ba0a34d5",26:"e30099ca",27:"a73b7964",28:"d5ea3878",29:"27e7cc9e",30:"5bd56f41"}[e]+".chunk.js"}(e),c=function(r){u.onerror=u.onload=null,clearTimeout(d);var t=o[e];if(0!==t){if(t){var n=r&&("load"===r.type?"missing":r.type),a=r&&r.target&&r.target.src,c=new Error("Loading chunk "+e+" failed.\n("+n+": "+a+")");c.type=n,c.request=a,t[1](c)}o[e]=void 0}};var d=setTimeout(function(){c({type:"timeout",target:u})},12e4);u.onerror=u.onload=c,document.head.appendChild(u)}return Promise.all(r)},i.m=e,i.c=n,i.d=function(e,r,t){i.o(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:t})},i.r=function(e){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.t=function(e,r){if(1&r&&(e=i(e)),8&r)return e;if(4&r&&"object"===typeof e&&e&&e.__esModule)return e;var t=Object.create(null);if(i.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:e}),2&r&&"string"!=typeof e)for(var n in e)i.d(t,n,function(r){return e[r]}.bind(null,n));return t},i.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(r,"a",r),r},i.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},i.p="/",i.oe=function(e){throw console.error(e),e};var u=window.webpackJsonp=window.webpackJsonp||[],d=u.push.bind(u);u.push=r,u=u.slice();for(var s=0;s<u.length;s++)r(u[s]);var f=d;t()}([]);
//# sourceMappingURL=runtime~main.94ea6aa0.js.map
\ No newline at end of file
{"version":3,"sources":["../webpack/bootstrap"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","installedChunks","push","Object","prototype","hasOwnProperty","call","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","installedCssChunks","18","exports","module","l","e","promises","0","1","2","3","4","6","8","9","10","11","12","13","14","16","17","19","20","21","22","23","25","27","28","29","30","Promise","resolve","reject","href","5","7","26","fullhref","p","existingLinkTags","document","getElementsByTagName","dataHref","tag","getAttribute","rel","existingStyleTags","linkTag","createElement","type","onload","onerror","event","request","target","src","err","Error","parentNode","removeChild","appendChild","then","installedChunkData","promise","onScriptComplete","script","charset","timeout","nc","setAttribute","jsonpScriptSrc","clearTimeout","chunk","errorType","realSrc","error","undefined","setTimeout","head","all","m","c","d","name","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","oe","console","jsonpArray","window","oldJsonpFunction","slice"],"mappings":"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","file":"static/js/runtime~main.b7cd2b6e.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded CSS chunks\n \tvar installedCssChunks = {\n \t\t18: 0\n \t}\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t18: 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"static/js/\" + ({\"0\":\"BargainMiddlePage\",\"1\":\"Classify\",\"2\":\"CourseList\",\"3\":\"DrawDocument\",\"4\":\"Examination\",\"5\":\"MyEdit\",\"6\":\"Order\",\"7\":\"Orderinfo\",\"8\":\"PayOrder\",\"9\":\"Preferential\",\"10\":\"SearchResult\",\"11\":\"ShopCart\",\"12\":\"aist-share\",\"13\":\"coupons\",\"14\":\"detail\",\"16\":\"myorders\",\"17\":\"purchased\",\"19\":\"search\",\"20\":\"shareposter\",\"21\":\"study\",\"22\":\"togroup\",\"23\":\"video\"}[chunkId]||chunkId) + \".\" + {\"0\":\"a95f6e3a\",\"1\":\"8f70e71e\",\"2\":\"7878a28e\",\"3\":\"63014a63\",\"4\":\"f5d80e04\",\"5\":\"9a853067\",\"6\":\"aa55ca8a\",\"7\":\"d6e4402a\",\"8\":\"dd708d6a\",\"9\":\"9b1a91f7\",\"10\":\"c62b17a7\",\"11\":\"3e2c914c\",\"12\":\"c9ca71ca\",\"13\":\"b1a48a76\",\"14\":\"15e870ec\",\"16\":\"edebe46c\",\"17\":\"92e79803\",\"19\":\"6ec31863\",\"20\":\"9232c7eb\",\"21\":\"094b201f\",\"22\":\"9320e36f\",\"23\":\"3310d41d\",\"25\":\"ba0a34d5\",\"26\":\"e30099ca\",\"27\":\"a73b7964\",\"28\":\"d5ea3878\",\"29\":\"27e7cc9e\",\"30\":\"5bd56f41\"}[chunkId] + \".chunk.js\"\n \t}\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar promises = [];\n\n\n \t\t// mini-css-extract-plugin CSS loading\n \t\tvar cssChunks = {\"0\":1,\"1\":1,\"2\":1,\"3\":1,\"4\":1,\"6\":1,\"8\":1,\"9\":1,\"10\":1,\"11\":1,\"12\":1,\"13\":1,\"14\":1,\"16\":1,\"17\":1,\"19\":1,\"20\":1,\"21\":1,\"22\":1,\"23\":1,\"25\":1,\"27\":1,\"28\":1,\"29\":1,\"30\":1};\n \t\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n \t\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n \t\t\tpromises.push(installedCssChunks[chunkId] = new Promise(function(resolve, reject) {\n \t\t\t\tvar href = \"static/css/\" + ({\"0\":\"BargainMiddlePage\",\"1\":\"Classify\",\"2\":\"CourseList\",\"3\":\"DrawDocument\",\"4\":\"Examination\",\"5\":\"MyEdit\",\"6\":\"Order\",\"7\":\"Orderinfo\",\"8\":\"PayOrder\",\"9\":\"Preferential\",\"10\":\"SearchResult\",\"11\":\"ShopCart\",\"12\":\"aist-share\",\"13\":\"coupons\",\"14\":\"detail\",\"16\":\"myorders\",\"17\":\"purchased\",\"19\":\"search\",\"20\":\"shareposter\",\"21\":\"study\",\"22\":\"togroup\",\"23\":\"video\"}[chunkId]||chunkId) + \".\" + {\"0\":\"9e05243b\",\"1\":\"e3e9b348\",\"2\":\"369bce9d\",\"3\":\"2e7d81ca\",\"4\":\"fc9da1d2\",\"5\":\"31d6cfe0\",\"6\":\"6576554c\",\"7\":\"31d6cfe0\",\"8\":\"21570c76\",\"9\":\"3b4dfe41\",\"10\":\"8711b264\",\"11\":\"a93db4c0\",\"12\":\"bef8c404\",\"13\":\"9ece7350\",\"14\":\"a913111e\",\"16\":\"3ab93c8e\",\"17\":\"4b0044ec\",\"19\":\"9fa57dd6\",\"20\":\"82081d02\",\"21\":\"2f1e5759\",\"22\":\"49988cae\",\"23\":\"d14c8276\",\"25\":\"1b3a6258\",\"26\":\"31d6cfe0\",\"27\":\"694b4628\",\"28\":\"5ed15c7e\",\"29\":\"ecbb6f9a\",\"30\":\"bc06dce4\"}[chunkId] + \".chunk.css\";\n \t\t\t\tvar fullhref = __webpack_require__.p + href;\n \t\t\t\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n \t\t\t\tfor(var i = 0; i < existingLinkTags.length; i++) {\n \t\t\t\t\tvar tag = existingLinkTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n \t\t\t\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return resolve();\n \t\t\t\t}\n \t\t\t\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n \t\t\t\tfor(var i = 0; i < existingStyleTags.length; i++) {\n \t\t\t\t\tvar tag = existingStyleTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\");\n \t\t\t\t\tif(dataHref === href || dataHref === fullhref) return resolve();\n \t\t\t\t}\n \t\t\t\tvar linkTag = document.createElement(\"link\");\n \t\t\t\tlinkTag.rel = \"stylesheet\";\n \t\t\t\tlinkTag.type = \"text/css\";\n \t\t\t\tlinkTag.onload = resolve;\n \t\t\t\tlinkTag.onerror = function(event) {\n \t\t\t\t\tvar request = event && event.target && event.target.src || fullhref;\n \t\t\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + request + \")\");\n \t\t\t\t\terr.request = request;\n \t\t\t\t\tdelete installedCssChunks[chunkId]\n \t\t\t\t\tlinkTag.parentNode.removeChild(linkTag)\n \t\t\t\t\treject(err);\n \t\t\t\t};\n \t\t\t\tlinkTag.href = fullhref;\n\n \t\t\t\tvar head = document.getElementsByTagName(\"head\")[0];\n \t\t\t\thead.appendChild(linkTag);\n \t\t\t}).then(function() {\n \t\t\t\tinstalledCssChunks[chunkId] = 0;\n \t\t\t}));\n \t\t}\n\n \t\t// JSONP chunk loading for javascript\n\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n \t\t\t// a Promise means \"currently loading\".\n \t\t\tif(installedChunkData) {\n \t\t\t\tpromises.push(installedChunkData[2]);\n \t\t\t} else {\n \t\t\t\t// setup Promise in chunk cache\n \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t\t\t});\n \t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n \t\t\t\t// start chunk loading\n \t\t\t\tvar script = document.createElement('script');\n \t\t\t\tvar onScriptComplete;\n\n \t\t\t\tscript.charset = 'utf-8';\n \t\t\t\tscript.timeout = 120;\n \t\t\t\tif (__webpack_require__.nc) {\n \t\t\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t\t\t}\n \t\t\t\tscript.src = jsonpScriptSrc(chunkId);\n\n \t\t\t\tonScriptComplete = function (event) {\n \t\t\t\t\t// avoid mem leaks in IE.\n \t\t\t\t\tscript.onerror = script.onload = null;\n \t\t\t\t\tclearTimeout(timeout);\n \t\t\t\t\tvar chunk = installedChunks[chunkId];\n \t\t\t\t\tif(chunk !== 0) {\n \t\t\t\t\t\tif(chunk) {\n \t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n \t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n \t\t\t\t\t\t\tvar error = new Error('Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')');\n \t\t\t\t\t\t\terror.type = errorType;\n \t\t\t\t\t\t\terror.request = realSrc;\n \t\t\t\t\t\t\tchunk[1](error);\n \t\t\t\t\t\t}\n \t\t\t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t\t\t}\n \t\t\t\t};\n \t\t\t\tvar timeout = setTimeout(function(){\n \t\t\t\t\tonScriptComplete({ type: 'timeout', target: script });\n \t\t\t\t}, 120000);\n \t\t\t\tscript.onerror = script.onload = onScriptComplete;\n \t\t\t\tdocument.head.appendChild(script);\n \t\t\t}\n \t\t}\n \t\treturn Promise.all(promises);\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// run deferred modules from other chunks\n \tcheckDeferredModules();\n"],"sourceRoot":""}
\ No newline at end of file
{"version":3,"sources":["../webpack/bootstrap"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","installedChunks","push","Object","prototype","hasOwnProperty","call","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","installedCssChunks","18","exports","module","l","e","promises","0","1","2","3","4","6","8","9","10","11","12","13","14","16","17","19","20","21","22","23","25","27","28","29","30","Promise","resolve","reject","href","5","7","26","fullhref","p","existingLinkTags","document","getElementsByTagName","dataHref","tag","getAttribute","rel","existingStyleTags","linkTag","createElement","type","onload","onerror","event","request","target","src","err","Error","parentNode","removeChild","appendChild","then","installedChunkData","promise","onScriptComplete","script","charset","timeout","nc","setAttribute","jsonpScriptSrc","clearTimeout","chunk","errorType","realSrc","error","undefined","setTimeout","head","all","m","c","d","name","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","oe","console","jsonpArray","window","oldJsonpFunction","slice"],"mappings":"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","file":"static/js/runtime~main.94ea6aa0.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded CSS chunks\n \tvar installedCssChunks = {\n \t\t18: 0\n \t}\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t18: 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"static/js/\" + ({\"0\":\"BargainMiddlePage\",\"1\":\"Classify\",\"2\":\"CourseList\",\"3\":\"DrawDocument\",\"4\":\"Examination\",\"5\":\"MyEdit\",\"6\":\"Order\",\"7\":\"Orderinfo\",\"8\":\"PayOrder\",\"9\":\"Preferential\",\"10\":\"SearchResult\",\"11\":\"ShopCart\",\"12\":\"aist-share\",\"13\":\"coupons\",\"14\":\"detail\",\"16\":\"myorders\",\"17\":\"purchased\",\"19\":\"search\",\"20\":\"shareposter\",\"21\":\"study\",\"22\":\"togroup\",\"23\":\"video\"}[chunkId]||chunkId) + \".\" + {\"0\":\"a95f6e3a\",\"1\":\"8f70e71e\",\"2\":\"7878a28e\",\"3\":\"63014a63\",\"4\":\"f5d80e04\",\"5\":\"9a853067\",\"6\":\"aa55ca8a\",\"7\":\"d6e4402a\",\"8\":\"dd708d6a\",\"9\":\"9b1a91f7\",\"10\":\"c62b17a7\",\"11\":\"3e2c914c\",\"12\":\"c9ca71ca\",\"13\":\"b1a48a76\",\"14\":\"15e870ec\",\"16\":\"edebe46c\",\"17\":\"92e79803\",\"19\":\"6ec31863\",\"20\":\"9232c7eb\",\"21\":\"094b201f\",\"22\":\"9320e36f\",\"23\":\"1ce71966\",\"25\":\"ba0a34d5\",\"26\":\"e30099ca\",\"27\":\"a73b7964\",\"28\":\"d5ea3878\",\"29\":\"27e7cc9e\",\"30\":\"5bd56f41\"}[chunkId] + \".chunk.js\"\n \t}\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar promises = [];\n\n\n \t\t// mini-css-extract-plugin CSS loading\n \t\tvar cssChunks = {\"0\":1,\"1\":1,\"2\":1,\"3\":1,\"4\":1,\"6\":1,\"8\":1,\"9\":1,\"10\":1,\"11\":1,\"12\":1,\"13\":1,\"14\":1,\"16\":1,\"17\":1,\"19\":1,\"20\":1,\"21\":1,\"22\":1,\"23\":1,\"25\":1,\"27\":1,\"28\":1,\"29\":1,\"30\":1};\n \t\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n \t\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n \t\t\tpromises.push(installedCssChunks[chunkId] = new Promise(function(resolve, reject) {\n \t\t\t\tvar href = \"static/css/\" + ({\"0\":\"BargainMiddlePage\",\"1\":\"Classify\",\"2\":\"CourseList\",\"3\":\"DrawDocument\",\"4\":\"Examination\",\"5\":\"MyEdit\",\"6\":\"Order\",\"7\":\"Orderinfo\",\"8\":\"PayOrder\",\"9\":\"Preferential\",\"10\":\"SearchResult\",\"11\":\"ShopCart\",\"12\":\"aist-share\",\"13\":\"coupons\",\"14\":\"detail\",\"16\":\"myorders\",\"17\":\"purchased\",\"19\":\"search\",\"20\":\"shareposter\",\"21\":\"study\",\"22\":\"togroup\",\"23\":\"video\"}[chunkId]||chunkId) + \".\" + {\"0\":\"9e05243b\",\"1\":\"e3e9b348\",\"2\":\"369bce9d\",\"3\":\"2e7d81ca\",\"4\":\"fc9da1d2\",\"5\":\"31d6cfe0\",\"6\":\"6576554c\",\"7\":\"31d6cfe0\",\"8\":\"21570c76\",\"9\":\"3b4dfe41\",\"10\":\"8711b264\",\"11\":\"a93db4c0\",\"12\":\"bef8c404\",\"13\":\"9ece7350\",\"14\":\"a913111e\",\"16\":\"3ab93c8e\",\"17\":\"4b0044ec\",\"19\":\"9fa57dd6\",\"20\":\"82081d02\",\"21\":\"2f1e5759\",\"22\":\"49988cae\",\"23\":\"d14c8276\",\"25\":\"1b3a6258\",\"26\":\"31d6cfe0\",\"27\":\"694b4628\",\"28\":\"5ed15c7e\",\"29\":\"ecbb6f9a\",\"30\":\"bc06dce4\"}[chunkId] + \".chunk.css\";\n \t\t\t\tvar fullhref = __webpack_require__.p + href;\n \t\t\t\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n \t\t\t\tfor(var i = 0; i < existingLinkTags.length; i++) {\n \t\t\t\t\tvar tag = existingLinkTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n \t\t\t\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return resolve();\n \t\t\t\t}\n \t\t\t\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n \t\t\t\tfor(var i = 0; i < existingStyleTags.length; i++) {\n \t\t\t\t\tvar tag = existingStyleTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\");\n \t\t\t\t\tif(dataHref === href || dataHref === fullhref) return resolve();\n \t\t\t\t}\n \t\t\t\tvar linkTag = document.createElement(\"link\");\n \t\t\t\tlinkTag.rel = \"stylesheet\";\n \t\t\t\tlinkTag.type = \"text/css\";\n \t\t\t\tlinkTag.onload = resolve;\n \t\t\t\tlinkTag.onerror = function(event) {\n \t\t\t\t\tvar request = event && event.target && event.target.src || fullhref;\n \t\t\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + request + \")\");\n \t\t\t\t\terr.request = request;\n \t\t\t\t\tdelete installedCssChunks[chunkId]\n \t\t\t\t\tlinkTag.parentNode.removeChild(linkTag)\n \t\t\t\t\treject(err);\n \t\t\t\t};\n \t\t\t\tlinkTag.href = fullhref;\n\n \t\t\t\tvar head = document.getElementsByTagName(\"head\")[0];\n \t\t\t\thead.appendChild(linkTag);\n \t\t\t}).then(function() {\n \t\t\t\tinstalledCssChunks[chunkId] = 0;\n \t\t\t}));\n \t\t}\n\n \t\t// JSONP chunk loading for javascript\n\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n \t\t\t// a Promise means \"currently loading\".\n \t\t\tif(installedChunkData) {\n \t\t\t\tpromises.push(installedChunkData[2]);\n \t\t\t} else {\n \t\t\t\t// setup Promise in chunk cache\n \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t\t\t});\n \t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n \t\t\t\t// start chunk loading\n \t\t\t\tvar script = document.createElement('script');\n \t\t\t\tvar onScriptComplete;\n\n \t\t\t\tscript.charset = 'utf-8';\n \t\t\t\tscript.timeout = 120;\n \t\t\t\tif (__webpack_require__.nc) {\n \t\t\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t\t\t}\n \t\t\t\tscript.src = jsonpScriptSrc(chunkId);\n\n \t\t\t\tonScriptComplete = function (event) {\n \t\t\t\t\t// avoid mem leaks in IE.\n \t\t\t\t\tscript.onerror = script.onload = null;\n \t\t\t\t\tclearTimeout(timeout);\n \t\t\t\t\tvar chunk = installedChunks[chunkId];\n \t\t\t\t\tif(chunk !== 0) {\n \t\t\t\t\t\tif(chunk) {\n \t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n \t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n \t\t\t\t\t\t\tvar error = new Error('Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')');\n \t\t\t\t\t\t\terror.type = errorType;\n \t\t\t\t\t\t\terror.request = realSrc;\n \t\t\t\t\t\t\tchunk[1](error);\n \t\t\t\t\t\t}\n \t\t\t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t\t\t}\n \t\t\t\t};\n \t\t\t\tvar timeout = setTimeout(function(){\n \t\t\t\t\tonScriptComplete({ type: 'timeout', target: script });\n \t\t\t\t}, 120000);\n \t\t\t\tscript.onerror = script.onload = onScriptComplete;\n \t\t\t\tdocument.head.appendChild(script);\n \t\t\t}\n \t\t}\n \t\treturn Promise.all(promises);\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// run deferred modules from other chunks\n \tcheckDeferredModules();\n"],"sourceRoot":""}
\ No newline at end of file
(window.webpackJsonp=window.webpackJsonp||[]).push([[23],{572:function(e,t,a){"use strict";var n=a(0),c=a.n(n);a(573);t.a=function(e){return c.a.createElement("li",{className:"v-list-base-item",onClick:e.handleClick.bind(void 0,e.id)},c.a.createElement("div",{className:"content"},c.a.createElement("div",{className:"cover"},e.status,c.a.createElement("img",{src:e.img,alt:""})),e.info),e.tab)}},573:function(e,t,a){},644:function(e,t,a){},645:function(e,t,a){},646:function(e,t,a){},650:function(e,t,a){},652:function(e,t){},720:function(e,t){},823:function(e,t,a){"use strict";a.r(t);a(43);var n=a(14),c=a.n(n),r=a(7),i=a(8),s=a(10),o=a(9),l=a(11),u=(a(253),a(98)),d=a.n(u),m=a(0),p=a.n(m),v=a(161),h=(a(644),a(16)),f=a(52),E=a(4),y=(a(645),a(572)),I=function(e){var t=e.item;return p.a.createElement("div",{className:"bottom"},p.a.createElement("span",{className:"price"},"\xa5",t.price1),p.a.createElement("span",{className:"stale-price"},"\xa5",t.price0))},b=function(e){function t(){var e,a;Object(r.a)(this,t);for(var n=arguments.length,i=new Array(n),l=0;l<n;l++)i[l]=arguments[l];return(a=Object(s.a)(this,(e=Object(o.a)(t)).call.apply(e,[this].concat(i)))).state={num:10,list:[],courseId:null},a.getRecommendation=function(){E.c.get("".concat(API.home,"/m/play/recommend_course/").concat(a.props.vCourseId,"?num=").concat(a.state.num)).then(function(e){var t=e.data;200===t.code?a.setState({list:t.data}):c.a.info(t.msg)})},a.handleClick=function(e){a.props.history.push("/detail?id=".concat(e))},a}return Object(l.a)(t,e),Object(i.a)(t,[{key:"componentDidMount",value:function(){this.getRecommendation()}},{key:"render",value:function(){var e=this;return p.a.createElement("div",{className:"recommendation"},p.a.createElement("div",{className:"title"},"\u76f8\u5173\u63a8\u8350"),p.a.createElement("ul",null,this.state.list.map(function(t){var a=p.a.createElement("div",{className:"info"},p.a.createElement("p",{className:"title"},t.course_title),p.a.createElement("p",{className:"des"},t.simpledescription),p.a.createElement(I,{item:t}));return p.a.createElement(y.a,{key:t.course_id,img:t.image_name,handleClick:e.handleClick,info:a,id:t.course_id})})))}}]),t}(m.PureComponent),g=(a(646),a(15)),N=a.n(g),S=function(e){function t(){var e,a;Object(r.a)(this,t);for(var n=arguments.length,c=new Array(n),i=0;i<n;i++)c[i]=arguments[i];return(a=Object(s.a)(this,(e=Object(o.a)(t)).call.apply(e,[this].concat(c)))).handleClick=function(e){a.props.selectVideo(e)},a}return Object(l.a)(t,e),Object(i.a)(t,[{key:"render",value:function(){var e=this;return p.a.createElement("div",{className:"video-catalog"},p.a.createElement("ul",null,this.props.videoCatalog.map(function(t,a){return p.a.createElement("li",{key:t.id,className:N()({active:e.props.activeIndex===a})},p.a.createElement("div",{className:"video-title",onClick:e.handleClick.bind(e,a)},p.a.createElement("span",{className:"title"},t.name),p.a.createElement("span",{className:"duration"},t.duration),p.a.createElement("i",{className:N()("iconfont",[0===t.video_auth?"iconiconfront-74":"iconplay_hovericon"])})),t.practice&&t.practice.qid?p.a.createElement("div",{className:"exercise"},"\u8bfe\u540e\u7ec3\u4e60\uff1a",t.practice.title,p.a.createElement("i",{className:N()("iconfont",t.practice.is_tested?"iconiconfront-3":"iconiconfront-74")})):null)})))}}]),t}(m.Component),_=(a(647),a(649)),k=a.n(_),w=(a(650),function(e){function t(){return Object(r.a)(this,t),Object(s.a)(this,Object(o.a)(t).apply(this,arguments))}return Object(l.a)(t,e),Object(i.a)(t,[{key:"render",value:function(){var e=this.props.datum;return p.a.createElement("div",{className:"datum-catalog"},p.a.createElement("p",{className:"prompt"},"\u8bfe\u7a0b\u8d44\u6599\u8bf7\u5230PC\u7aef\u64ad\u653e\u9875\u4e0b\u8f7d"),p.a.createElement(k.a,null,e&&e.length&&e.map(function(e,t){return p.a.createElement(k.a.Panel,{header:e.dir_name,key:t},e.files.map(function(e){return p.a.createElement("div",{key:e.file_id,className:"file-name"},e.file_name)}))})))}}]),t}(m.Component));w.defaultProps={datum:[{dir_name:"",files:[{file_name:"",file_id:0}]}]};var P=w,O=a(803),x=(a(696),a(33)),C=a(19),j=a(41),L=a.n(j),A=a(697),R=a.n(A),D=d.a.alert;function T(e){return e.isShow&&p.a.createElement("div",{className:"progress-share-modal-wrapper"},p.a.createElement("div",{className:"progress-share-modal"},p.a.createElement("div",{className:"title"},"\u6bcf\u65e5\u6253\u5361"),p.a.createElement("ul",{className:"progress-container"},p.a.createElement("li",null,p.a.createElement("div",{className:"title"},"\u7d2f\u8ba1\u5b66\u4e60"),p.a.createElement("div",{className:"number"},p.a.createElement("span",{className:"num"},e.data.learn_day_count),"\u5929")),p.a.createElement("li",null,p.a.createElement("div",{className:"title"},"\u884c\u52a8\u529b\u8d85\u8fc7"),p.a.createElement("div",{className:"number"},p.a.createElement("span",{className:"num"},parseFloat(e.data.action_power)),"%"))),p.a.createElement("div",{className:"share-container"},p.a.createElement("div",{className:"title"},"\u5206\u4eab\u5230"),p.a.createElement("ul",null,p.a.createElement("li",{className:"share-icon"},p.a.createElement("div",{className:"icon"},p.a.createElement("i",{className:"iconfont iconweixinzhifu"})),p.a.createElement("div",{className:"text"},"\u5fae\u4fe1\u597d\u53cb")),p.a.createElement("li",{className:"share-icon"},p.a.createElement("div",{className:"icon"},p.a.createElement("i",{className:"iconfont iconpengyouquaniconx"})),p.a.createElement("div",{className:"text"},"\u670b\u53cb\u5708")))),p.a.createElement("i",{className:"iconfont iconiconfront-2 close",onClick:e.closeShareModal})))}var M=function(e){function t(){var e,a;Object(r.a)(this,t);for(var n=arguments.length,i=new Array(n),l=0;l<n;l++)i[l]=arguments[l];return(a=Object(s.a)(this,(e=Object(o.a)(t)).call.apply(e,[this].concat(i)))).previousPlaybackRate=1,a.currentPlaybackRate=1,a.reconnect=!0,a.state={title:"",courseId:null,videoList:[],datum:[],currentVideoSrc:"",activeIndex:0,isAuth:!0,course:null,salePrice:null,vCourseId:null,isLoading:!0,isShowShareModal:!1,shareData:{}},a.setupRecord=function(){a.recordSocket=R()(API.record),a.recordSocket.on("seek",function(e){a.player.currentTime(e)}),a.recordTimer=setInterval(function(){a.sendRecord()},5e3)},a.sendRecord=function(){a.recordSocket&&a.recordSocket.emit("addRecord",a.recordUserInfo())},a.recordUserInfo=function(){return{uid:a.props.user.data.uid,course_id:a.courseID,video_id:a.state.videoList[a.state.activeIndex].id,video_time:parseInt(a.player.currentTime()),plat:5}},a.setupWS=function(){a.ws=new WebSocket("ws://process-test.julyedu.com:9502"),a.ws.addEventListener("error",function(){a.ws=null}),a.ws.addEventListener("close",function(){a.reconnect&&(a.ws=null),clearInterval(a.timer)}),a.ws.addEventListener("message",function(e){4040==JSON.parse(e.data).code&&(a.reconnect=!1)})},a.sendMessage=function(e){a.ws.send(JSON.stringify(e))},a.getShareProgressInfo=function(){E.c.get("".concat(API["base-api"],"/m/aist/share_data/").concat(a.courseID,"/").concat(a.state.videoList[a.state.activeIndex].id)).then(function(e){var t=e.data;200==t.errno&&a.setState({shareData:t.data,isShowShareModal:!0})})},a.countSchedule=function(){a.sendMessage({mtype:"count_schedule",uid:a.props.user.data.uid,token:a.token,platform:5})},a.sendWatchTime=function(e,t){var n=a.state,c=n.videoList,r=n.activeIndex,i=n.vCourseId;a.sendMessage({mtype:"watch_time",rate:t,time:e,video_id:c[r].id,course_id:a.courseID,v_course_id:i,uid:a.props.user.data.uid,token:a.token,platform:5})},a.setupTimer=function(){a.count=0,a.watchSec=0,clearInterval(a.timer),a.timer=setInterval(function(){a.player&&a.player.player()&&(5===a.count?(a.sendWatchTime(a.watchSec,a.currentPlaybackRate),a.count=a.watchSec=0):(!a.player.paused()&&a.watchSec++,a.count++))},1e3)},a.initializePlayer=function(){window.HELP_IMPROVE_VIDEOJS=!1,a.player=Object(O.a)(a.video,{controls:!0,preload:"auto",bigPlayButton:!0,textTrackDisplay:!1,posterImage:!1,errorDisplay:!1,playbackRates:["0.75","1","1.5","2"],controlBar:{pictureInPictureToggle:!1}}),a.player.on("ready",function(){a.recordSocket.emit("load",a.recordUserInfo())}),a.player.on("ratechange",function(){a.currentPlaybackRate=a.player.playbackRate(),a.sendWatchTime(a.watchSec,a.previousPlaybackRate),a.count=a.watchSec=0,a.previousPlaybackRate=a.currentPlaybackRate}),a.player.on("ended",function(){a.sendWatchTime(a.watchSec,a.currentPlaybackRate),a.getShareProgressInfo(),clearInterval(a.timer)}),a.player.on("seeked",function(){a.sendRecord()})},a.sendLastRecord=function(){E.c.post("".concat(API.home,"/m/course/record_last_video"),{v_course_id:a.state.course.v_course_id,video_id:a.state.videoList[a.state.activeIndex].id}).then(function(e){console.log(e)})},a.selectVideo=function(e){if(a.hasAuth()){if(e===a.state.activeIndex)return;a.setState({activeIndex:e},function(){a.setPlayerSrc(a.state.videoList[e].play_url),a.sendLastRecord(),a.playVideo()}),clearInterval(a.timer),a.ws&&(a.countSchedule(),a.setupTimer())}a.setState({activeIndex:e})},a.getVideoList=function(){E.c.get("".concat(API.home,"/m/course/play/").concat(a.courseID)).then(function(e){var t=e.data;200===t.code?a.setState(function(e){return{videoList:t.data.lessons,currentVideoSrc:t.data.lessons[e.activeIndex].play_url,course:t.data.course,courseId:t.data.course.course_id,vCourseId:t.data.course.v_course_id,title:t.data.course.course_title,isLoading:!1}},function(){a.state.course.is_aist&&(a.setupWS(),a.setupTimer()),a.lessonAvailable()?a.hasAuth(a.state.activeIndex)?Promise.resolve().then(function(){var e=a.state,t=e.videoList,n=e.course,c=t.findIndex(function(e){return e.id==n.last_video_id});a.setState({activeIndex:c<0?0:c}),a.initializePlayer(),a.playWithAuth()}):a.getCoursePrice():D("\u6682\u65e0\u89c6\u9891","",[{text:"OK",onPress:function(){a.props.history.push("/")}}])}):c.a.info(t.msg)})},a.setPlayerSrc=function(e){a.player.src({src:e,type:"application/x-mpegURL"})},a.playVideo=function(){a.player.play()},a.lessonAvailable=function(){var e=a.state;return 0!==e.videoList[e.activeIndex].video_size},a.getCoursePrice=function(){E.c.get("".concat(API.home,"/sys/course/price/").concat(a.state.courseId)).then(function(e){var t=e.data;200===t.code&&a.setState({salePrice:t.data.sale_price})})},a.playWithAuth=function(){var e=a.state,t=e.videoList,n=e.activeIndex;a.hasAuth()&&a.setPlayerSrc(t[n].play_url)},a.hasAuth=function(){var e=a.state,t=e.course,n=e.videoList,c=e.activeIndex,r=n[c];return console.log(c),r.is_free?(a.setState({isAuth:!0}),!0):t.is_audition?(a.setState({isAuth:!0}),!0):r.video_auth?(a.setState({isAuth:!0}),!0):(a.setState({isAuth:!1}),!1)},a}return Object(l.a)(t,e),Object(i.a)(t,[{key:"componentDidMount",value:function(){this.courseID=Object(E.b)("id"),this.setState({courseId:this.courseID}),this.token=L.a.get("token"),this.getVideoList(),this.getDatumCatalog(),this.setupRecord()}},{key:"componentWillUnmount",value:function(){this.player&&this.player.dispose(),clearInterval(this.timer),this.ws&&this.ws.close(),this.ws=null,clearInterval(this.recordTimer),this.recordSocket&&this.recordSocket.close(),this.recordSocket=null}},{key:"getDatumCatalog",value:function(){var e=this;E.c.get("".concat(API.home,"/m/course/data/").concat(this.courseID)).then(function(t){var a=t.data;200===a.code?e.setState({datum:a.data}):c.a.info(a.msg)})}},{key:"render",value:function(){var e=this,t=this.props,a=t.match,n=t.location,c=this.state,r=c.videoList,i=c.activeIndex,s=c.isAuth,o=c.salePrice;return p.a.createElement("div",{className:"play"},p.a.createElement(v.a,{title:this.state.title,arrow:!0}),p.a.createElement(x.f,{isLoading:this.state.isLoading},p.a.createElement("div",{className:"video"},p.a.createElement("video",{className:"video-js",ref:function(t){return e.video=t}},p.a.createElement("source",{src:"/",type:"application/x-mpegURL"})),!s&&p.a.createElement("div",{className:"purchase-box"},p.a.createElement("div",{className:"hint"},"\u60a8\u5c1a\u672a\u8d2d\u4e70\u8be5\u8bfe\u65f6\uff0c\u8bf7\u8d2d\u4e70\u540e\u5b66\u4e60\u3002"),p.a.createElement("div",{className:"btns"},p.a.createElement("button",{type:"button",className:"purchase-class"},"\xa5",o," \u8d2d\u4e70\u8bfe\u7a0b"),p.a.createElement("button",{type:"button",className:"purchase-episode"},"\xa5",r.length&&r[i].class_price," \u8d2d\u4e70\u5355\u96c6")))),p.a.createElement("div",{className:"tab"},p.a.createElement("div",null,p.a.createElement(h.c,{to:"".concat(a.url,"/video"),replace:!0,activeClassName:"active"},"\u89c6\u9891")),p.a.createElement("div",null,p.a.createElement(h.c,{to:"".concat(a.url,"/datum"),replace:!0,activeClassName:"active"},"\u8d44\u6599")))),p.a.createElement(f.d,null,p.a.createElement(f.a,{exact:!0,from:"/play",to:{pathname:"/play/video",search:n.search}}),p.a.createElement(f.b,{path:"".concat(a.path,"/video"),render:function(t){return p.a.createElement(S,Object.assign({activeIndex:e.state.activeIndex,selectVideo:e.selectVideo,videoCatalog:e.state.videoList},t))}}),p.a.createElement(f.b,{path:"".concat(a.path,"/datum"),render:function(t){return p.a.createElement(P,Object.assign({},t,{datum:e.state.datum}))}})),p.a.createElement(f.b,{render:function(t){return e.state.vCourseId?p.a.createElement(b,Object.assign({},t,{vCourseId:e.state.vCourseId})):null}}),p.a.createElement(T,{isShow:this.state.isShowShareModal,closeShareModal:function(){return e.setState({isShowShareModal:!1})},data:this.state.shareData}))}}]),t}(m.Component);t.default=Object(C.b)(function(e){return{user:e.user}},null)(M)}}]);
//# sourceMappingURL=video.3310d41d.chunk.js.map
\ No newline at end of file
(window.webpackJsonp=window.webpackJsonp||[]).push([[23],{572:function(e,t,a){"use strict";var n=a(0),c=a.n(n);a(573);t.a=function(e){return c.a.createElement("li",{className:"v-list-base-item",onClick:e.handleClick.bind(void 0,e.id)},c.a.createElement("div",{className:"content"},c.a.createElement("div",{className:"cover"},e.status,c.a.createElement("img",{src:e.img,alt:""})),e.info),e.tab)}},573:function(e,t,a){},644:function(e,t,a){},645:function(e,t,a){},646:function(e,t,a){},650:function(e,t,a){},652:function(e,t){},720:function(e,t){},823:function(e,t,a){"use strict";a.r(t);a(43);var n=a(14),c=a.n(n),r=a(7),i=a(8),s=a(10),o=a(9),l=a(11),u=(a(253),a(98)),d=a.n(u),m=a(0),p=a.n(m),v=a(161),h=(a(644),a(16)),f=a(52),E=a(4),y=(a(645),a(572)),I=function(e){var t=e.item;return p.a.createElement("div",{className:"bottom"},p.a.createElement("span",{className:"price"},"\xa5",t.price1),p.a.createElement("span",{className:"stale-price"},"\xa5",t.price0))},b=function(e){function t(){var e,a;Object(r.a)(this,t);for(var n=arguments.length,i=new Array(n),l=0;l<n;l++)i[l]=arguments[l];return(a=Object(s.a)(this,(e=Object(o.a)(t)).call.apply(e,[this].concat(i)))).state={num:10,list:[],courseId:null},a.getRecommendation=function(){E.c.get("".concat(API.home,"/m/play/recommend_course/").concat(a.props.vCourseId,"?num=").concat(a.state.num)).then(function(e){var t=e.data;200===t.code?a.setState({list:t.data}):c.a.info(t.msg)})},a.handleClick=function(e){a.props.history.push("/detail?id=".concat(e))},a}return Object(l.a)(t,e),Object(i.a)(t,[{key:"componentDidMount",value:function(){this.getRecommendation()}},{key:"render",value:function(){var e=this;return p.a.createElement("div",{className:"recommendation"},p.a.createElement("div",{className:"title"},"\u76f8\u5173\u63a8\u8350"),p.a.createElement("ul",null,this.state.list.map(function(t){var a=p.a.createElement("div",{className:"info"},p.a.createElement("p",{className:"title"},t.course_title),p.a.createElement("p",{className:"des"},t.simpledescription),p.a.createElement(I,{item:t}));return p.a.createElement(y.a,{key:t.course_id,img:t.image_name,handleClick:e.handleClick,info:a,id:t.course_id})})))}}]),t}(m.PureComponent),g=(a(646),a(15)),S=a.n(g),N=function(e){function t(){var e,a;Object(r.a)(this,t);for(var n=arguments.length,c=new Array(n),i=0;i<n;i++)c[i]=arguments[i];return(a=Object(s.a)(this,(e=Object(o.a)(t)).call.apply(e,[this].concat(c)))).handleClick=function(e){a.props.selectVideo(e)},a}return Object(l.a)(t,e),Object(i.a)(t,[{key:"render",value:function(){var e=this;return p.a.createElement("div",{className:"video-catalog"},p.a.createElement("ul",null,this.props.videoCatalog.map(function(t,a){return p.a.createElement("li",{key:t.id,className:S()({active:e.props.activeIndex===a})},p.a.createElement("div",{className:"video-title",onClick:e.handleClick.bind(e,a)},p.a.createElement("span",{className:"title"},t.name),p.a.createElement("span",{className:"duration"},t.duration),p.a.createElement("i",{className:S()("iconfont",[0===t.video_auth?"iconiconfront-74":"iconplay_hovericon"])})),t.practice&&t.practice.qid?p.a.createElement("div",{className:"exercise"},"\u8bfe\u540e\u7ec3\u4e60\uff1a",t.practice.title,p.a.createElement("i",{className:S()("iconfont",t.practice.is_tested?"iconiconfront-3":"iconiconfront-74")})):null)})))}}]),t}(m.Component),_=(a(647),a(649)),k=a.n(_),w=(a(650),function(e){function t(){return Object(r.a)(this,t),Object(s.a)(this,Object(o.a)(t).apply(this,arguments))}return Object(l.a)(t,e),Object(i.a)(t,[{key:"render",value:function(){var e=this.props.datum;return p.a.createElement("div",{className:"datum-catalog"},p.a.createElement("p",{className:"prompt"},"\u8bfe\u7a0b\u8d44\u6599\u8bf7\u5230PC\u7aef\u64ad\u653e\u9875\u4e0b\u8f7d"),p.a.createElement(k.a,null,e&&e.length&&e.map(function(e,t){return p.a.createElement(k.a.Panel,{header:e.dir_name,key:t},e.files.map(function(e){return p.a.createElement("div",{key:e.file_id,className:"file-name"},e.file_name)}))})))}}]),t}(m.Component));w.defaultProps={datum:[{dir_name:"",files:[{file_name:"",file_id:0}]}]};var P=w,O=a(803),x=(a(696),a(33)),C=a(19),j=a(41),L=a.n(j),A=a(697),R=a.n(A),D=d.a.alert;function T(e){return e.isShow&&p.a.createElement("div",{className:"progress-share-modal-wrapper"},p.a.createElement("div",{className:"progress-share-modal"},p.a.createElement("div",{className:"title"},"\u6bcf\u65e5\u6253\u5361"),p.a.createElement("ul",{className:"progress-container"},p.a.createElement("li",null,p.a.createElement("div",{className:"title"},"\u7d2f\u8ba1\u5b66\u4e60"),p.a.createElement("div",{className:"number"},p.a.createElement("span",{className:"num"},e.data.learn_day_count),"\u5929")),p.a.createElement("li",null,p.a.createElement("div",{className:"title"},"\u884c\u52a8\u529b\u8d85\u8fc7"),p.a.createElement("div",{className:"number"},p.a.createElement("span",{className:"num"},parseFloat(e.data.action_power)),"%"))),p.a.createElement("div",{className:"share-container"},p.a.createElement("div",{className:"title"},"\u5206\u4eab\u5230"),p.a.createElement("ul",null,p.a.createElement("li",{className:"share-icon"},p.a.createElement("div",{className:"icon"},p.a.createElement("i",{className:"iconfont iconweixinzhifu"})),p.a.createElement("div",{className:"text"},"\u5fae\u4fe1\u597d\u53cb")),p.a.createElement("li",{className:"share-icon"},p.a.createElement("div",{className:"icon"},p.a.createElement("i",{className:"iconfont iconpengyouquaniconx"})),p.a.createElement("div",{className:"text"},"\u670b\u53cb\u5708")))),p.a.createElement("i",{className:"iconfont iconiconfront-2 close",onClick:e.closeShareModal})))}var M=function(e){function t(){var e,a;Object(r.a)(this,t);for(var n=arguments.length,i=new Array(n),l=0;l<n;l++)i[l]=arguments[l];return(a=Object(s.a)(this,(e=Object(o.a)(t)).call.apply(e,[this].concat(i)))).previousPlaybackRate=1,a.currentPlaybackRate=1,a.reconnect=!0,a.state={title:"",courseId:null,videoList:[],datum:[],currentVideoSrc:"",activeIndex:0,isAuth:!0,course:null,salePrice:null,vCourseId:null,isLoading:!0,isShowShareModal:!1,shareData:{}},a.setupRecord=function(){a.recordSocket=R()(API.record),a.recordSocket.on("seek",function(e){a.player.currentTime(e)}),a.recordTimer=setInterval(function(){a.sendRecord()},5e3)},a.sendRecord=function(){a.recordSocket&&a.recordSocket.emit("addRecord",a.recordUserInfo())},a.recordUserInfo=function(){return{uid:a.props.user.data.uid,course_id:a.courseID,video_id:a.state.videoList[a.state.activeIndex].id,video_time:parseInt(a.player.currentTime()),plat:5}},a.setupWS=function(){a.ws=new WebSocket("ws://process-test.julyedu.com:9502"),a.ws.addEventListener("error",function(){a.ws=null}),a.ws.addEventListener("close",function(){a.reconnect&&(a.ws=null,setTimeout(function(){a.setupWS()},1e3)),clearInterval(a.timer)}),a.ws.addEventListener("message",function(e){4040==JSON.parse(e.data).code&&(a.reconnect=!1)})},a.sendMessage=function(e){a.ws.send(JSON.stringify(e))},a.getShareProgressInfo=function(){E.c.get("".concat(API["base-api"],"/m/aist/share_data/").concat(a.courseID,"/").concat(a.state.videoList[a.state.activeIndex].id)).then(function(e){var t=e.data;200==t.errno&&a.setState({shareData:t.data,isShowShareModal:!0})})},a.countSchedule=function(){a.sendMessage({mtype:"count_schedule",uid:a.props.user.data.uid,token:a.token,platform:5})},a.sendWatchTime=function(e,t){var n=a.state,c=n.videoList,r=n.activeIndex,i=n.vCourseId;a.sendMessage({mtype:"watch_time",rate:t,time:e,video_id:c[r].id,course_id:a.courseID,v_course_id:i,uid:a.props.user.data.uid,token:a.token,platform:5})},a.setupTimer=function(){a.count=0,a.watchSec=0,clearInterval(a.timer),a.timer=setInterval(function(){a.player&&a.player.player()&&(5===a.count?(a.sendWatchTime(a.watchSec,a.currentPlaybackRate),a.count=a.watchSec=0):(!a.player.paused()&&a.watchSec++,a.count++))},1e3)},a.initializePlayer=function(){window.HELP_IMPROVE_VIDEOJS=!1,a.player=Object(O.a)(a.video,{controls:!0,preload:"auto",bigPlayButton:!0,textTrackDisplay:!1,posterImage:!1,errorDisplay:!1,playbackRates:["0.75","1","1.5","2"],controlBar:{pictureInPictureToggle:!1}}),a.player.on("ready",function(){a.recordSocket.emit("load",a.recordUserInfo())}),a.player.on("ratechange",function(){a.currentPlaybackRate=a.player.playbackRate(),a.sendWatchTime(a.watchSec,a.previousPlaybackRate),a.count=a.watchSec=0,a.previousPlaybackRate=a.currentPlaybackRate}),a.player.on("ended",function(){a.sendWatchTime(a.watchSec,a.currentPlaybackRate),a.getShareProgressInfo(),clearInterval(a.timer)}),a.player.on("seeked",function(){a.sendRecord()})},a.sendLastRecord=function(){E.c.post("".concat(API.home,"/m/course/record_last_video"),{v_course_id:a.state.course.v_course_id,video_id:a.state.videoList[a.state.activeIndex].id})},a.selectVideo=function(e){if(a.hasAuth()){if(e===a.state.activeIndex)return;a.setState({activeIndex:e},function(){a.setPlayerSrc(a.state.videoList[e].play_url),a.sendLastRecord(),a.playVideo()}),clearInterval(a.timer),a.ws&&(a.countSchedule(),a.setupTimer())}a.setState({activeIndex:e})},a.getVideoList=function(){E.c.get("".concat(API.home,"/m/course/play/").concat(a.courseID)).then(function(e){var t=e.data;200===t.code?a.setState(function(e){return{videoList:t.data.lessons,currentVideoSrc:t.data.lessons[e.activeIndex].play_url,course:t.data.course,courseId:t.data.course.course_id,vCourseId:t.data.course.v_course_id,title:t.data.course.course_title,isLoading:!1}},function(){a.state.course.is_aist&&(a.setupWS(),a.setupTimer()),a.lessonAvailable()?a.hasAuth(a.state.activeIndex)?Promise.resolve().then(function(){var e=a.state,t=e.videoList,n=e.course,c=t.findIndex(function(e){return e.id==n.last_video_id});a.setState({activeIndex:c<0?0:c}),a.initializePlayer(),a.playWithAuth()}):a.getCoursePrice():D("\u6682\u65e0\u89c6\u9891","",[{text:"OK",onPress:function(){a.props.history.push("/")}}])}):c.a.info(t.msg)})},a.setPlayerSrc=function(e){a.player.src({src:e,type:"application/x-mpegURL"})},a.playVideo=function(){a.player.play()},a.lessonAvailable=function(){var e=a.state;return 0!==e.videoList[e.activeIndex].video_size},a.getCoursePrice=function(){E.c.get("".concat(API.home,"/sys/course/price/").concat(a.state.courseId)).then(function(e){var t=e.data;200===t.code&&a.setState({salePrice:t.data.sale_price})})},a.playWithAuth=function(){var e=a.state,t=e.videoList,n=e.activeIndex;a.hasAuth()&&a.setPlayerSrc(t[n].play_url)},a.hasAuth=function(){var e=a.state,t=e.course,n=e.videoList[e.activeIndex];return n.is_free?(a.setState({isAuth:!0}),!0):t.is_audition?(a.setState({isAuth:!0}),!0):n.video_auth?(a.setState({isAuth:!0}),!0):(a.setState({isAuth:!1}),!1)},a}return Object(l.a)(t,e),Object(i.a)(t,[{key:"componentDidMount",value:function(){this.courseID=Object(E.b)("id"),this.setState({courseId:this.courseID}),this.token=L.a.get("token"),this.getVideoList(),this.getDatumCatalog(),this.setupRecord()}},{key:"componentWillUnmount",value:function(){this.player&&this.player.dispose(),clearInterval(this.timer),this.ws&&this.ws.close(),this.ws=null,clearInterval(this.recordTimer),this.recordSocket&&this.recordSocket.close(),this.recordSocket=null}},{key:"getDatumCatalog",value:function(){var e=this;E.c.get("".concat(API.home,"/m/course/data/").concat(this.courseID)).then(function(t){var a=t.data;200===a.code?e.setState({datum:a.data}):c.a.info(a.msg)})}},{key:"render",value:function(){var e=this,t=this.props,a=t.match,n=t.location,c=this.state,r=c.videoList,i=c.activeIndex,s=c.isAuth,o=c.salePrice;return p.a.createElement("div",{className:"play"},p.a.createElement(v.a,{title:this.state.title,arrow:!0}),p.a.createElement(x.f,{isLoading:this.state.isLoading},p.a.createElement("div",{className:"video"},p.a.createElement("video",{className:"video-js",ref:function(t){return e.video=t}},p.a.createElement("source",{src:"/",type:"application/x-mpegURL"})),!s&&p.a.createElement("div",{className:"purchase-box"},p.a.createElement("div",{className:"hint"},"\u60a8\u5c1a\u672a\u8d2d\u4e70\u8be5\u8bfe\u65f6\uff0c\u8bf7\u8d2d\u4e70\u540e\u5b66\u4e60\u3002"),p.a.createElement("div",{className:"btns"},p.a.createElement("button",{type:"button",className:"purchase-class"},"\xa5",o," \u8d2d\u4e70\u8bfe\u7a0b"),p.a.createElement("button",{type:"button",className:"purchase-episode"},"\xa5",r.length&&r[i].class_price," \u8d2d\u4e70\u5355\u96c6")))),p.a.createElement("div",{className:"tab"},p.a.createElement("div",null,p.a.createElement(h.c,{to:"".concat(a.url,"/video"),replace:!0,activeClassName:"active"},"\u89c6\u9891")),p.a.createElement("div",null,p.a.createElement(h.c,{to:"".concat(a.url,"/datum"),replace:!0,activeClassName:"active"},"\u8d44\u6599")))),p.a.createElement(f.d,null,p.a.createElement(f.a,{exact:!0,from:"/play",to:{pathname:"/play/video",search:n.search}}),p.a.createElement(f.b,{path:"".concat(a.path,"/video"),render:function(t){return p.a.createElement(N,Object.assign({activeIndex:e.state.activeIndex,selectVideo:e.selectVideo,videoCatalog:e.state.videoList},t))}}),p.a.createElement(f.b,{path:"".concat(a.path,"/datum"),render:function(t){return p.a.createElement(P,Object.assign({},t,{datum:e.state.datum}))}})),p.a.createElement(f.b,{render:function(t){return e.state.vCourseId?p.a.createElement(b,Object.assign({},t,{vCourseId:e.state.vCourseId})):null}}),p.a.createElement(T,{isShow:this.state.isShowShareModal,closeShareModal:function(){return e.setState({isShowShareModal:!1})},data:this.state.shareData}))}}]),t}(m.Component);t.default=Object(C.b)(function(e){return{user:e.user}},null)(M)}}]);
//# sourceMappingURL=video.1ce71966.chunk.js.map
\ No newline at end of file
{"version":3,"sources":["common/v-list-base/index.js","components/video/recommendation/index.js","components/video/video-catalog/index.js","components/video/datum-catalog/index.js","components/video/index.js"],"names":["VList","props","react__WEBPACK_IMPORTED_MODULE_0___default","a","createElement","className","onClick","handleClick","bind","id","status","src","img","alt","info","tab","Bottom","_ref","item","react_default","price1","price0","Recommendation","state","num","list","courseId","getRecommendation","http","get","concat","API","home","_this","vCourseId","then","res","data","code","setState","toast_default","msg","history","push","this","_this2","map","Info","course_title","simpledescription","recommendation_Bottom","v_list_base","key","course_id","image_name","PureComponent","VideoCatalog","i","selectVideo","videoCatalog","index","classnames","active","activeIndex","name","duration","video_auth","practice","qid","title","is_tested","Component","DatumCatalog","datum","accordion_default","length","Panel","header","dir_name","files","file_id","file_name","defaultProps","alert","modal_default","ProgressShareModal","isShow","learn_day_count","parseFloat","action_power","closeShareModal","Video","previousPlaybackRate","currentPlaybackRate","reconnect","videoList","currentVideoSrc","isAuth","course","salePrice","isLoading","isShowShareModal","shareData","setupRecord","recordSocket","io","record","on","time","player","currentTime","recordTimer","setInterval","sendRecord","emit","recordUserInfo","uid","user","courseID","video_id","video_time","parseInt","plat","setupWS","ws","WebSocket","addEventListener","setTimeout","clearInterval","timer","e","JSON","parse","sendMessage","message","send","stringify","getShareProgressInfo","errno","countSchedule","mtype","token","platform","sendWatchTime","sec","rate","_this$state","v_course_id","setupTimer","count","watchSec","paused","initializePlayer","window","HELP_IMPROVE_VIDEOJS","videojs","video","controls","preload","bigPlayButton","textTrackDisplay","posterImage","errorDisplay","playbackRates","controlBar","pictureInPictureToggle","playbackRate","sendLastRecord","post","hasAuth","setPlayerSrc","playVideo","getVideoList","is_aist","lessonAvailable","Promise","resolve","_this$state2","videoIndex","findIndex","last_video_id","playWithAuth","getCoursePrice","text","onPress","type","play","_this$state3","_this$state4","_this$state5","lesson","getParam","jsCookie","getDatumCatalog","dispose","close","_this3","_this$props","match","location","_this$state6","HeaderBar","arrow","common","ref","el","react_router_dom","to","url","replace","activeClassName","react_router","exact","from","pathname","search","path","render","video_video_catalog","Object","assign","video_datum_catalog","video_recommendation","connect"],"mappings":"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","file":"static/js/video.1ce71966.chunk.js","sourcesContent":["import React from 'react';\nimport './index.scss'\n\nconst VList = (props) => {\n return (\n <li className='v-list-base-item' onClick={props.handleClick.bind(this, props.id)}>\n <div className=\"content\">\n <div className=\"cover\">\n {props.status}\n <img src={props.img} alt=\"\"/>\n </div>\n {props.info}\n </div>\n {props.tab}\n </li>\n );\n};\n\nexport default VList;","import React, { PureComponent } from 'react';\nimport './recommendation.scss'\nimport { http } from '@/utils'\nimport { Toast } from \"antd-mobile\";\nimport VList from '@/common/v-list-base';\n\n\n\nconst Bottom = ({item}) => {\n return (\n <div className='bottom'>\n <span className='price'>¥{item.price1}</span>\n <span className='stale-price'>¥{item.price0}</span>\n </div>\n )\n}\n\n\n\nclass Recommendation extends PureComponent {\n state = {\n num: 10,\n list: [],\n courseId: null\n }\n\n\n componentDidMount() {\n this.getRecommendation()\n }\n\n getRecommendation = () => {\n http.get(`${API.home}/m/play/recommend_course/${this.props.vCourseId}?num=${this.state.num}`)\n .then(res => {\n const data = res.data\n if(data.code === 200){\n\n this.setState({\n list: data.data\n })\n\n }else {\n Toast.info(data.msg)\n }\n })\n }\n\n\n handleClick = id => {\n this.props.history.push(`/detail?id=${id}`)\n }\n\n render() {\n return (\n <div className='recommendation'>\n <div className={'title'}>相关推荐</div>\n <ul>\n {\n this.state.list.map(item => {\n const Info = (\n <div className=\"info\">\n <p className='title'>{item.course_title}</p>\n <p className='des'>{item.simpledescription}</p>\n <Bottom\n item={item}\n />\n </div>\n )\n\n return (\n <VList\n key={item.course_id}\n img={item.image_name}\n handleClick={this.handleClick}\n info={Info}\n id={item.course_id}\n />\n )\n })\n }\n </ul>\n </div>\n );\n }\n}\n\nexport default Recommendation;","import React, { Component } from 'react'\nimport './video-catalog.scss'\nimport classnames from 'classnames'\n\n\nclass VideoCatalog extends Component {\n\n handleClick = (i) => {\n this.props.selectVideo(i)\n }\n\n render() {\n return (\n <div className='video-catalog'>\n <ul>\n {\n this.props.videoCatalog.map((item, index) => {\n return (\n <li key={item.id}\n className={classnames({active: this.props.activeIndex === index})}\n >\n <div className=\"video-title\" onClick={this.handleClick.bind(this, index)}>\n <span className=\"title\">{item.name}</span>\n <span className='duration'>{item.duration}</span>\n <i className={classnames(`iconfont`,\n [item.video_auth === 0\n ? 'iconiconfront-74'\n : 'iconplay_hovericon'],\n )}/>\n </div>\n {\n (item.practice && item.practice.qid) ? <div className=\"exercise\">\n 课后练习:{item.practice.title}\n <i className={classnames('iconfont', item.practice.is_tested ? 'iconiconfront-3' : 'iconiconfront-74')}/>\n {/*<i className='iconfont iconiconfront-74'/>*/}\n </div>\n : null\n }\n </li>\n )\n })\n }\n </ul>\n </div>\n );\n }\n}\n\nexport default VideoCatalog;","import React, { Component } from 'react';\nimport './datum-catalog.scss'\nimport { Accordion } from \"antd-mobile\";\n\n\nclass DatumCatalog extends Component {\n\n static defaultProps = {\n datum: [{\n dir_name: '',\n files: [{\n file_name: '',\n file_id: 0\n }]\n }]\n }\n\n render() {\n const {datum} = this.props\n return (\n <div className='datum-catalog'>\n <p className='prompt'>课程资料请到PC端播放页下载</p>\n <Accordion>\n {\n datum && datum.length && datum.map((item, index) => {\n return (\n <Accordion.Panel header={item.dir_name} key={index}>\n {\n item.files.map(item => {\n return (\n <div key={item.file_id} className='file-name'>\n {item.file_name}\n </div>\n )\n })\n }\n </Accordion.Panel>\n )\n })\n }\n </Accordion>\n </div>\n );\n }\n}\n\nexport default DatumCatalog;","import React, { Component } from 'react'\nimport HeaderBar from '@/common/HeaderBar'\nimport './video.scss'\nimport { NavLink, Route, Redirect, Switch } from 'react-router-dom'\nimport { http, api, getParam } from '@/utils'\nimport Recommendation from './recommendation'\nimport VideoCatalog from './video-catalog'\nimport DatumCatalog from './datum-catalog'\nimport { Toast } from 'antd-mobile'\nimport videojs from 'video.js'\nimport 'video.js/dist/video-js.min.css'\nimport { Modal } from \"antd-mobile\"\nimport { Loading } from '@/common'\nimport { connect } from \"react-redux\"\nimport jsCookie from 'js-cookie'\nimport io from 'socket.io-client'\n\nlet alert = Modal.alert\n\nfunction ProgressShareModal(props) {\n return (\n props.isShow &&\n <div className='progress-share-modal-wrapper'>\n <div className=\"progress-share-modal\">\n <div className=\"title\">每日打卡</div>\n <ul className=\"progress-container\">\n <li>\n <div className=\"title\">累计学习</div>\n <div className=\"number\"><span className='num'>{props.data.learn_day_count}</span>天</div>\n </li>\n <li>\n <div className=\"title\">行动力超过</div>\n <div className=\"number\"><span className='num'>{parseFloat(props.data.action_power)}</span>%\n </div>\n </li>\n </ul>\n <div className=\"share-container\">\n <div className=\"title\">分享到</div>\n <ul>\n <li className='share-icon'>\n <div className=\"icon\"><i className='iconfont iconweixinzhifu'></i></div>\n <div className='text'>微信好友</div>\n </li>\n <li className='share-icon'>\n <div className=\"icon\"><i className='iconfont iconpengyouquaniconx'></i></div>\n <div className='text'>朋友圈</div>\n </li>\n </ul>\n </div>\n <i className=\"iconfont iconiconfront-2 close\" onClick={props.closeShareModal}/>\n </div>\n </div>\n )\n}\n\n\nclass Video extends Component {\n\n video //video element\n player //video player instance\n\n courseID\n\n ws //websocket instance\n timer\n token\n count\n watchSec\n previousPlaybackRate = 1\n currentPlaybackRate = 1\n reconnect = true\n\n recordSocket\n recordTimer\n\n\n state = {\n title: '',\n courseId: null,\n videoList: [],\n datum: [],\n currentVideoSrc: '',\n activeIndex: 0,\n isAuth: true,\n course: null,\n salePrice: null,\n vCourseId: null,\n isLoading: true,\n isShowShareModal: false,\n shareData: {}\n }\n\n\n componentDidMount() {\n this.courseID = getParam('id')\n this.setState({\n courseId: this.courseID\n })\n this.token = jsCookie.get('token')\n this.getVideoList()\n this.getDatumCatalog()\n this.setupRecord()\n }\n\n\n setupRecord = () => {\n this.recordSocket = io(API.record)\n this.recordSocket.on('seek', time => {\n this.player.currentTime(time)\n })\n\n this.recordTimer = setInterval(() => {\n this.sendRecord()\n }, 5000)\n }\n\n sendRecord = () => {\n if (this.recordSocket) {\n this.recordSocket.emit('addRecord', this.recordUserInfo())\n }\n }\n\n recordUserInfo = () => {\n let {uid} = this.props.user.data\n return {\n uid,\n course_id: this.courseID,\n video_id: this.state.videoList[this.state.activeIndex]['id'],\n video_time: parseInt(this.player.currentTime()),\n plat: 5\n }\n }\n\n setupWS = () => {\n this.ws = new WebSocket('ws://process-test.julyedu.com:9502');\n this.ws.addEventListener('error', () => {\n this.ws = null\n /*setTimeout(() => {\n this.setupWS();\n }, 1000)*/\n })\n this.ws.addEventListener('close', () => {\n if (this.reconnect) {\n this.ws = null\n setTimeout(() => {\n this.setupWS();\n }, 1000)\n }\n clearInterval(this.timer)\n })\n this.ws.addEventListener('message', e => {\n const data = JSON.parse(e.data);\n data.code == 4040 && (this.reconnect = false)\n })\n }\n\n sendMessage = message => {\n this.ws.send(JSON.stringify(message))\n }\n\n //视频结束请求接口\n getShareProgressInfo = () => {\n http.get(`${API['base-api']}/m/aist/share_data/${this.courseID}/${this.state.videoList[this.state.activeIndex]['id']}`)\n .then(res => {\n const {data} = res\n if (data.errno == 200) {\n this.setState({shareData: data.data, isShowShareModal: true})\n }\n })\n }\n\n //告诉服务端切换视频\n countSchedule = () => {\n this.sendMessage({\n mtype: 'count_schedule',\n uid: this.props.user.data.uid,\n token: this.token,\n platform: 5\n })\n }\n\n sendWatchTime = (sec, rate) => {\n const {videoList, activeIndex, vCourseId} = this.state\n\n this.sendMessage({\n mtype: 'watch_time',\n rate,\n time: sec,\n video_id: videoList[activeIndex]['id'],\n course_id: this.courseID,\n v_course_id: vCourseId,\n uid: this.props.user.data.uid,\n token: this.token,\n platform: 5\n })\n }\n\n setupTimer = () => {\n this.count = 0\n this.watchSec = 0\n clearInterval(this.timer)\n this.timer = setInterval(() => {\n if (this.player && this.player.player()) {\n if (this.count === 5) {\n this.sendWatchTime(this.watchSec, this.currentPlaybackRate)\n this.count = this.watchSec = 0\n } else {\n !this.player.paused() && this.watchSec++\n this.count++\n }\n }\n }, 1000)\n\n }\n\n initializePlayer = () => {\n window.HELP_IMPROVE_VIDEOJS = false;\n this.player = videojs(this.video, {\n controls: true,\n preload: 'auto',\n bigPlayButton: true,\n textTrackDisplay: false,\n posterImage: false,\n errorDisplay: false,\n playbackRates: ['0.75', '1', '1.5', '2'],\n controlBar: {\n pictureInPictureToggle: false\n }\n })\n this.player.on('ready', () => {\n this.recordSocket.emit('load', this.recordUserInfo())\n })\n this.player.on('ratechange', () => {\n this.currentPlaybackRate = this.player.playbackRate()\n this.sendWatchTime(this.watchSec, this.previousPlaybackRate)\n this.count = this.watchSec = 0\n this.previousPlaybackRate = this.currentPlaybackRate\n })\n this.player.on('ended', () => {\n this.sendWatchTime(this.watchSec, this.currentPlaybackRate)\n this.getShareProgressInfo()\n clearInterval(this.timer)\n })\n this.player.on('seeked', () => {\n this.sendRecord()\n })\n }\n\n sendLastRecord = () => {\n http.post(`${API.home}/m/course/record_last_video`, {\n v_course_id: this.state.course['v_course_id'],\n video_id: this.state.videoList[this.state.activeIndex].id\n })\n }\n\n componentWillUnmount() {\n this.player && this.player.dispose()\n\n clearInterval(this.timer)\n this.ws && this.ws.close()\n this.ws = null\n\n clearInterval(this.recordTimer)\n this.recordSocket && this.recordSocket.close()\n this.recordSocket = null\n }\n\n selectVideo = index => {\n if (this.hasAuth()) {\n if (index === this.state.activeIndex) {\n return\n }\n this.setState({\n activeIndex: index\n },\n () => {\n this.setPlayerSrc(this.state.videoList[index]['play_url'])\n this.sendLastRecord()\n this.playVideo()\n }\n )\n clearInterval(this.timer)\n if (this.ws) {\n this.countSchedule()\n this.setupTimer()\n }\n\n }\n this.setState({\n activeIndex: index\n })\n }\n\n\n getVideoList = () => {\n http.get(`${API.home}/m/course/play/${this.courseID}`)\n .then(res => {\n const data = res.data\n if (data.code === 200) {\n\n this.setState(\n state => ({\n videoList: data.data['lessons'],\n currentVideoSrc: data.data['lessons'][state.activeIndex]['play_url'],\n course: data.data.course,\n courseId: data.data.course['course_id'],\n vCourseId: data.data.course['v_course_id'],\n title: data.data.course['course_title'],\n isLoading: false\n }),\n () => {\n if (this.state.course.is_aist) {\n this.setupWS()\n this.setupTimer()\n }\n if (this.lessonAvailable()) {\n if (this.hasAuth(this.state.activeIndex)) {\n Promise.resolve().then(() => {\n\n let {videoList, course} = this.state\n let videoIndex = videoList.findIndex(item => item.id == course.last_video_id)\n this.setState({\n activeIndex: videoIndex < 0 ? 0 : videoIndex\n })\n\n this.initializePlayer()\n this.playWithAuth()\n })\n } else {\n this.getCoursePrice();\n }\n } else {\n alert('暂无视频', '', [{\n text: 'OK',\n onPress: () => {\n this.props.history.push('/')\n }\n }])\n }\n }\n )\n } else {\n Toast.info(data.msg)\n }\n })\n }\n\n setPlayerSrc = src => {\n this.player.src({\n src,\n type: 'application/x-mpegURL'\n })\n }\n\n playVideo = () => {\n this.player.play()\n }\n\n\n getDatumCatalog() {\n http.get(`${API.home}/m/course/data/${this.courseID}`)\n .then(res => {\n const data = res.data\n if (data.code === 200) {\n\n this.setState({\n datum: data.data\n })\n\n } else {\n Toast.info(data.msg)\n }\n })\n }\n\n lessonAvailable = () => {\n const {videoList, activeIndex} = this.state\n return videoList[activeIndex]['video_size'] !== 0\n }\n\n getCoursePrice = () => {\n http.get(`${API.home}/sys/course/price/${this.state.courseId}`)\n .then(res => {\n const {data} = res\n if (data.code === 200) {\n this.setState({\n salePrice: data.data['sale_price']\n })\n }\n })\n }\n\n playWithAuth = () => {\n const {videoList, activeIndex} = this.state\n\n if (this.hasAuth()) {\n this.setPlayerSrc(videoList[activeIndex]['play_url'])\n }\n }\n\n hasAuth = () => {\n const {course, videoList, activeIndex} = this.state\n let lesson = videoList[activeIndex]\n if (!lesson['is_free']) {\n if (course['is_audition']) {\n this.setState({\n isAuth: true\n })\n return true\n } else {\n if (lesson['video_auth']) {\n this.setState({\n isAuth: true\n })\n return true\n }\n this.setState({\n isAuth: false\n })\n return false\n }\n\n }\n this.setState({\n isAuth: true\n })\n return true\n }\n\n\n render() {\n let {match, location} = this.props\n const {videoList, activeIndex, isAuth, salePrice} = this.state\n return (\n <div className='play'>\n <HeaderBar title={this.state.title} arrow={true}/>\n <Loading isLoading={this.state.isLoading}>\n <div className=\"video\">\n <video className={'video-js'} ref={el => this.video = el}>\n <source src={'/'} type='application/x-mpegURL'/>\n </video>\n {\n !isAuth && (\n <div className=\"purchase-box\">\n <div className='hint'>您尚未购买该课时,请购买后学习。</div>\n <div className='btns'>\n <button type='button' className='purchase-class'>¥{salePrice} 购买课程</button>\n <button type='button'\n className='purchase-episode'>¥{videoList.length && videoList[activeIndex]['class_price']} 购买单集\n </button>\n </div>\n </div>\n )\n }\n </div>\n <div className='tab'>\n <div>\n <NavLink to={`${match.url}/video`}\n replace\n activeClassName='active'\n >视频</NavLink>\n </div>\n <div>\n <NavLink to={`${match.url}/datum`}\n replace\n activeClassName='active'\n >资料</NavLink>\n </div>\n </div>\n </Loading>\n <Switch>\n <Redirect exact from={'/play'} to={{\n pathname: '/play/video',\n search: location.search\n }}/>\n <Route path={`${match.path}/video`} render={props => {\n return <VideoCatalog\n activeIndex={this.state.activeIndex}\n selectVideo={this.selectVideo}\n videoCatalog={this.state.videoList}\n {...props}/>\n }}/>\n <Route path={`${match.path}/datum`} render={props => {\n return <DatumCatalog {...props} datum={this.state.datum}/>\n }}/>\n </Switch>\n <Route render={props => {\n return this.state.vCourseId ? <Recommendation {...props} vCourseId={this.state.vCourseId}/>\n : null\n }}/>\n <ProgressShareModal isShow={this.state.isShowShareModal}\n closeShareModal={() => this.setState({isShowShareModal: false})}\n data={this.state.shareData}\n />\n </div>\n );\n }\n}\n\n\nexport default connect(\n state => ({user: state.user}),\n null\n)(Video);"],"sourceRoot":""}
\ No newline at end of file
{"version":3,"sources":["common/v-list-base/index.js","components/video/recommendation/index.js","components/video/video-catalog/index.js","components/video/datum-catalog/index.js","components/video/index.js"],"names":["VList","props","react__WEBPACK_IMPORTED_MODULE_0___default","a","createElement","className","onClick","handleClick","bind","id","status","src","img","alt","info","tab","Bottom","_ref","item","react_default","price1","price0","Recommendation","state","num","list","courseId","getRecommendation","http","get","concat","API","home","_this","vCourseId","then","res","data","code","setState","toast_default","msg","history","push","this","_this2","map","Info","course_title","simpledescription","recommendation_Bottom","v_list_base","key","course_id","image_name","PureComponent","VideoCatalog","i","selectVideo","videoCatalog","index","classnames","active","activeIndex","name","duration","video_auth","practice","qid","title","is_tested","Component","DatumCatalog","datum","accordion_default","length","Panel","header","dir_name","files","file_id","file_name","defaultProps","alert","modal_default","ProgressShareModal","isShow","learn_day_count","parseFloat","action_power","closeShareModal","Video","previousPlaybackRate","currentPlaybackRate","reconnect","videoList","currentVideoSrc","isAuth","course","salePrice","isLoading","isShowShareModal","shareData","setupRecord","recordSocket","io","record","on","time","player","currentTime","recordTimer","setInterval","sendRecord","emit","recordUserInfo","uid","user","courseID","video_id","video_time","parseInt","plat","setupWS","ws","WebSocket","addEventListener","clearInterval","timer","e","JSON","parse","sendMessage","message","send","stringify","getShareProgressInfo","errno","countSchedule","mtype","token","platform","sendWatchTime","sec","rate","_this$state","v_course_id","setupTimer","count","watchSec","paused","initializePlayer","window","HELP_IMPROVE_VIDEOJS","videojs","video","controls","preload","bigPlayButton","textTrackDisplay","posterImage","errorDisplay","playbackRates","controlBar","pictureInPictureToggle","playbackRate","sendLastRecord","post","console","log","hasAuth","setPlayerSrc","playVideo","getVideoList","is_aist","lessonAvailable","Promise","resolve","_this$state2","videoIndex","findIndex","last_video_id","playWithAuth","getCoursePrice","text","onPress","type","play","_this$state3","_this$state4","_this$state5","lesson","getParam","jsCookie","getDatumCatalog","dispose","close","_this3","_this$props","match","location","_this$state6","HeaderBar","arrow","common","ref","el","react_router_dom","to","url","replace","activeClassName","react_router","exact","from","pathname","search","path","render","video_video_catalog","Object","assign","video_datum_catalog","video_recommendation","connect"],"mappings":"sHAkBeA,IAfD,SAACC,GACX,OACIC,EAAAC,EAAAC,cAAA,MAAIC,UAAU,mBAAmBC,QAASL,EAAMM,YAAYC,YAAWP,EAAMQ,KACzEP,EAAAC,EAAAC,cAAA,OAAKC,UAAU,WACXH,EAAAC,EAAAC,cAAA,OAAKC,UAAU,SACVJ,EAAMS,OACPR,EAAAC,EAAAC,cAAA,OAAKO,IAAKV,EAAMW,IAAKC,IAAI,MAE5BZ,EAAMa,MAEVb,EAAMc,0WCLbC,EAAS,SAAAC,GAAY,IAAVC,EAAUD,EAAVC,KACb,OACIC,EAAAhB,EAAAC,cAAA,OAAKC,UAAU,UACXc,EAAAhB,EAAAC,cAAA,QAAMC,UAAU,SAAhB,OAA0Ba,EAAKE,QAC/BD,EAAAhB,EAAAC,cAAA,QAAMC,UAAU,eAAhB,OAAgCa,EAAKG,UA0ElCC,6MAlEXC,MAAQ,CACJC,IAAK,GACLC,KAAM,GACNC,SAAU,QAQdC,kBAAoB,WAChBC,IAAKC,IAAL,GAAAC,OAAYC,IAAIC,KAAhB,6BAAAF,OAAgDG,EAAKhC,MAAMiC,UAA3D,SAAAJ,OAA4EG,EAAKV,MAAMC,MAClFW,KAAK,SAAAC,GACF,IAAMC,EAAOD,EAAIC,KACA,MAAdA,EAAKC,KAEJL,EAAKM,SAAS,CACVd,KAAMY,EAAKA,OAIfG,EAAArC,EAAMW,KAAKuB,EAAKI,UAMhClC,YAAc,SAAAE,GACVwB,EAAKhC,MAAMyC,QAAQC,KAAnB,cAAAb,OAAsCrB,wFArBtCmC,KAAKjB,qDAwBA,IAAAkB,EAAAD,KACL,OACIzB,EAAAhB,EAAAC,cAAA,OAAKC,UAAU,kBACXc,EAAAhB,EAAAC,cAAA,OAAKC,UAAW,SAAhB,4BACAc,EAAAhB,EAAAC,cAAA,UAEQwC,KAAKrB,MAAME,KAAKqB,IAAI,SAAA5B,GAChB,IAAM6B,EACF5B,EAAAhB,EAAAC,cAAA,OAAKC,UAAU,QACXc,EAAAhB,EAAAC,cAAA,KAAGC,UAAU,SAASa,EAAK8B,cAC3B7B,EAAAhB,EAAAC,cAAA,KAAGC,UAAU,OAAOa,EAAK+B,mBACzB9B,EAAAhB,EAAAC,cAAC8C,EAAD,CACIhC,KAAMA,KAKlB,OACIC,EAAAhB,EAAAC,cAAC+C,EAAA,EAAD,CACIC,IAAKlC,EAAKmC,UACVzC,IAAKM,EAAKoC,WACV/C,YAAasC,EAAKtC,YAClBO,KAAMiC,EACNtC,GAAIS,EAAKmC,uBAxDhBE,2CC6BdC,6MAzCXjD,YAAc,SAACkD,GACXxB,EAAKhC,MAAMyD,YAAYD,4EAGlB,IAAAZ,EAAAD,KACL,OACIzB,EAAAhB,EAAAC,cAAA,OAAKC,UAAU,iBACXc,EAAAhB,EAAAC,cAAA,UAEQwC,KAAK3C,MAAM0D,aAAab,IAAI,SAAC5B,EAAM0C,GAC/B,OACIzC,EAAAhB,EAAAC,cAAA,MAAIgD,IAAKlC,EAAKT,GACVJ,UAAWwD,IAAW,CAACC,OAAQjB,EAAK5C,MAAM8D,cAAgBH,KAE1DzC,EAAAhB,EAAAC,cAAA,OAAKC,UAAU,cAAcC,QAASuC,EAAKtC,YAAYC,KAAKqC,EAAMe,IAC9DzC,EAAAhB,EAAAC,cAAA,QAAMC,UAAU,SAASa,EAAK8C,MAC9B7C,EAAAhB,EAAAC,cAAA,QAAMC,UAAU,YAAYa,EAAK+C,UACjC9C,EAAAhB,EAAAC,cAAA,KAAGC,UAAWwD,IAAU,WACpB,CAAqB,IAApB3C,EAAKgD,WACA,mBACA,0BAIThD,EAAKiD,UAAYjD,EAAKiD,SAASC,IAAOjD,EAAAhB,EAAAC,cAAA,OAAKC,UAAU,YAAf,iCACzBa,EAAKiD,SAASE,MACpBlD,EAAAhB,EAAAC,cAAA,KAAGC,UAAWwD,IAAW,WAAY3C,EAAKiD,SAASG,UAAY,kBAAoB,uBAGrF,iBA/BnBC,wCCArBC,2LAYO,IACEC,EAAS7B,KAAK3C,MAAdwE,MACP,OACItD,EAAAhB,EAAAC,cAAA,OAAKC,UAAU,iBACXc,EAAAhB,EAAAC,cAAA,KAAGC,UAAU,UAAb,8EACAc,EAAAhB,EAAAC,cAAAsE,EAAAvE,EAAA,KAEQsE,GAASA,EAAME,QAAUF,EAAM3B,IAAI,SAAC5B,EAAM0C,GACtC,OACIzC,EAAAhB,EAAAC,cAAAsE,EAAAvE,EAAWyE,MAAX,CAAiBC,OAAQ3D,EAAK4D,SAAU1B,IAAKQ,GAErC1C,EAAK6D,MAAMjC,IAAI,SAAA5B,GACX,OACIC,EAAAhB,EAAAC,cAAA,OAAKgD,IAAKlC,EAAK8D,QAAS3E,UAAU,aAC7Ba,EAAK+D,yBA1B/BV,cAArBC,EAEKU,aAAe,CAClBT,MAAO,CAAC,CACJK,SAAU,GACVC,MAAO,CAAC,CACJE,UAAW,GACXD,QAAS,OAkCVR,6EC7BXW,EAAQC,EAAAjF,EAAMgF,MAElB,SAASE,EAAmBpF,GACxB,OACIA,EAAMqF,QACNnE,EAAAhB,EAAAC,cAAA,OAAKC,UAAU,gCACXc,EAAAhB,EAAAC,cAAA,OAAKC,UAAU,wBACXc,EAAAhB,EAAAC,cAAA,OAAKC,UAAU,SAAf,4BACAc,EAAAhB,EAAAC,cAAA,MAAIC,UAAU,sBACVc,EAAAhB,EAAAC,cAAA,UACIe,EAAAhB,EAAAC,cAAA,OAAKC,UAAU,SAAf,4BACAc,EAAAhB,EAAAC,cAAA,OAAKC,UAAU,UAASc,EAAAhB,EAAAC,cAAA,QAAMC,UAAU,OAAOJ,EAAMoC,KAAKkD,iBAA1D,WAEJpE,EAAAhB,EAAAC,cAAA,UACIe,EAAAhB,EAAAC,cAAA,OAAKC,UAAU,SAAf,kCACAc,EAAAhB,EAAAC,cAAA,OAAKC,UAAU,UAASc,EAAAhB,EAAAC,cAAA,QAAMC,UAAU,OAAOmF,WAAWvF,EAAMoC,KAAKoD,eAArE,OAIRtE,EAAAhB,EAAAC,cAAA,OAAKC,UAAU,mBACXc,EAAAhB,EAAAC,cAAA,OAAKC,UAAU,SAAf,sBACAc,EAAAhB,EAAAC,cAAA,UACIe,EAAAhB,EAAAC,cAAA,MAAIC,UAAU,cACVc,EAAAhB,EAAAC,cAAA,OAAKC,UAAU,QAAOc,EAAAhB,EAAAC,cAAA,KAAGC,UAAU,8BACnCc,EAAAhB,EAAAC,cAAA,OAAKC,UAAU,QAAf,6BAEJc,EAAAhB,EAAAC,cAAA,MAAIC,UAAU,cACVc,EAAAhB,EAAAC,cAAA,OAAKC,UAAU,QAAOc,EAAAhB,EAAAC,cAAA,KAAGC,UAAU,mCACnCc,EAAAhB,EAAAC,cAAA,OAAKC,UAAU,QAAf,yBAIZc,EAAAhB,EAAAC,cAAA,KAAGC,UAAU,iCAAiCC,QAASL,EAAMyF,wBAOvEC,6MAYFC,qBAAuB,IACvBC,oBAAsB,IACtBC,WAAY,IAMZvE,MAAQ,CACJ8C,MAAO,GACP3C,SAAU,KACVqE,UAAW,GACXtB,MAAO,GACPuB,gBAAiB,GACjBjC,YAAa,EACbkC,QAAQ,EACRC,OAAQ,KACRC,UAAW,KACXjE,UAAW,KACXkE,WAAW,EACXC,kBAAkB,EAClBC,UAAW,MAgBfC,YAAc,WACVtE,EAAKuE,aAAeC,IAAG1E,IAAI2E,QAC3BzE,EAAKuE,aAAaG,GAAG,OAAQ,SAAAC,GACzB3E,EAAK4E,OAAOC,YAAYF,KAG5B3E,EAAK8E,YAAcC,YAAY,WAC3B/E,EAAKgF,cACN,QAGPA,WAAa,WACLhF,EAAKuE,cACLvE,EAAKuE,aAAaU,KAAK,YAAajF,EAAKkF,qBAIjDA,eAAiB,WAEb,MAAO,CACHC,IAFQnF,EAAKhC,MAAMoH,KAAKhF,KAAvB+E,IAGD/D,UAAWpB,EAAKqF,SAChBC,SAAUtF,EAAKV,MAAMwE,UAAU9D,EAAKV,MAAMwC,aAAatD,GACvD+G,WAAYC,SAASxF,EAAK4E,OAAOC,eACjCY,KAAM,MAIdC,QAAU,WACN1F,EAAK2F,GAAK,IAAIC,UAAU,sCACxB5F,EAAK2F,GAAGE,iBAAiB,QAAS,WAC9B7F,EAAK2F,GAAK,OAKd3F,EAAK2F,GAAGE,iBAAiB,QAAS,WAC1B7F,EAAK6D,YACL7D,EAAK2F,GAAK,MAKdG,cAAc9F,EAAK+F,SAEvB/F,EAAK2F,GAAGE,iBAAiB,UAAW,SAAAG,GAEnB,MADAC,KAAKC,MAAMF,EAAE5F,MACrBC,OAAiBL,EAAK6D,WAAY,QAI/CsC,YAAc,SAAAC,GACVpG,EAAK2F,GAAGU,KAAKJ,KAAKK,UAAUF,OAIhCG,qBAAuB,WACnB5G,IAAKC,IAAL,GAAAC,OAAYC,IAAI,YAAhB,uBAAAD,OAAiDG,EAAKqF,SAAtD,KAAAxF,OAAkEG,EAAKV,MAAMwE,UAAU9D,EAAKV,MAAMwC,aAAhC,KAC7D5B,KAAK,SAAAC,GAAO,IACFC,EAAQD,EAARC,KACW,KAAdA,EAAKoG,OACLxG,EAAKM,SAAS,CAAC+D,UAAWjE,EAAKA,KAAMgE,kBAAkB,SAMvEqC,cAAgB,WACZzG,EAAKmG,YAAY,CACbO,MAAO,iBACPvB,IAAKnF,EAAKhC,MAAMoH,KAAKhF,KAAK+E,IAC1BwB,MAAO3G,EAAK2G,MACZC,SAAU,OAIlBC,cAAgB,SAACC,EAAKC,GAAS,IAAAC,EACiBhH,EAAKV,MAA1CwE,EADoBkD,EACpBlD,UAAWhC,EADSkF,EACTlF,YAAa7B,EADJ+G,EACI/G,UAE/BD,EAAKmG,YAAY,CACbO,MAAO,aACPK,OACApC,KAAMmC,EACNxB,SAAUxB,EAAUhC,GAAV,GACVV,UAAWpB,EAAKqF,SAChB4B,YAAahH,EACbkF,IAAKnF,EAAKhC,MAAMoH,KAAKhF,KAAK+E,IAC1BwB,MAAO3G,EAAK2G,MACZC,SAAU,OAIlBM,WAAa,WACTlH,EAAKmH,MAAQ,EACbnH,EAAKoH,SAAW,EAChBtB,cAAc9F,EAAK+F,OACnB/F,EAAK+F,MAAQhB,YAAY,WACjB/E,EAAK4E,QAAU5E,EAAK4E,OAAOA,WACR,IAAf5E,EAAKmH,OACLnH,EAAK6G,cAAc7G,EAAKoH,SAAUpH,EAAK4D,qBACvC5D,EAAKmH,MAAQnH,EAAKoH,SAAW,KAE5BpH,EAAK4E,OAAOyC,UAAYrH,EAAKoH,WAC9BpH,EAAKmH,WAGd,QAIPG,iBAAmB,WACfC,OAAOC,sBAAuB,EAC9BxH,EAAK4E,OAAS6C,YAAQzH,EAAK0H,MAAO,CAC9BC,UAAU,EACVC,QAAS,OACTC,eAAe,EACfC,kBAAkB,EAClBC,aAAa,EACbC,cAAc,EACdC,cAAe,CAAC,OAAQ,IAAK,MAAO,KACpCC,WAAY,CACRC,wBAAwB,KAGhCnI,EAAK4E,OAAOF,GAAG,QAAS,WACpB1E,EAAKuE,aAAaU,KAAK,OAAQjF,EAAKkF,oBAExClF,EAAK4E,OAAOF,GAAG,aAAc,WACzB1E,EAAK4D,oBAAsB5D,EAAK4E,OAAOwD,eACvCpI,EAAK6G,cAAc7G,EAAKoH,SAAUpH,EAAK2D,sBACvC3D,EAAKmH,MAAQnH,EAAKoH,SAAW,EAC7BpH,EAAK2D,qBAAuB3D,EAAK4D,sBAErC5D,EAAK4E,OAAOF,GAAG,QAAS,WACpB1E,EAAK6G,cAAc7G,EAAKoH,SAAUpH,EAAK4D,qBACvC5D,EAAKuG,uBACLT,cAAc9F,EAAK+F,SAEvB/F,EAAK4E,OAAOF,GAAG,SAAU,WACrB1E,EAAKgF,kBAIbqD,eAAiB,WACb1I,IAAK2I,KAAL,GAAAzI,OAAaC,IAAIC,KAAjB,+BAAoD,CAChDkH,YAAajH,EAAKV,MAAM2E,OAAX,YACbqB,SAAUtF,EAAKV,MAAMwE,UAAU9D,EAAKV,MAAMwC,aAAatD,KAEtD0B,KAAK,SAAAC,GACFoI,QAAQC,IAAIrI,QAgBxBsB,YAAc,SAAAE,GACV,GAAI3B,EAAKyI,UAAW,CAChB,GAAI9G,IAAU3B,EAAKV,MAAMwC,YACrB,OAEJ9B,EAAKM,SAAS,CACNwB,YAAaH,GAEjB,WACI3B,EAAK0I,aAAa1I,EAAKV,MAAMwE,UAAUnC,GAArB,UAClB3B,EAAKqI,iBACLrI,EAAK2I,cAGb7C,cAAc9F,EAAK+F,OACf/F,EAAK2F,KACL3F,EAAKyG,gBACLzG,EAAKkH,cAIblH,EAAKM,SAAS,CACVwB,YAAaH,OAKrBiH,aAAe,WACXjJ,IAAKC,IAAL,GAAAC,OAAYC,IAAIC,KAAhB,mBAAAF,OAAsCG,EAAKqF,WACtCnF,KAAK,SAAAC,GACF,IAAMC,EAAOD,EAAIC,KACC,MAAdA,EAAKC,KAELL,EAAKM,SACD,SAAAhB,GAAK,MAAK,CACNwE,UAAW1D,EAAKA,KAAL,QACX2D,gBAAiB3D,EAAKA,KAAL,QAAqBd,EAAMwC,aAA3B,SACjBmC,OAAQ7D,EAAKA,KAAK6D,OAClBxE,SAAUW,EAAKA,KAAK6D,OAAV,UACVhE,UAAWG,EAAKA,KAAK6D,OAAV,YACX7B,MAAOhC,EAAKA,KAAK6D,OAAV,aACPE,WAAW,IAEf,WACQnE,EAAKV,MAAM2E,OAAO4E,UAClB7I,EAAK0F,UACL1F,EAAKkH,cAELlH,EAAK8I,kBACD9I,EAAKyI,QAAQzI,EAAKV,MAAMwC,aACxBiH,QAAQC,UAAU9I,KAAK,WAAM,IAAA+I,EAECjJ,EAAKV,MAA1BwE,EAFoBmF,EAEpBnF,UAAWG,EAFSgF,EAEThF,OACZiF,EAAapF,EAAUqF,UAAU,SAAAlK,GAAI,OAAIA,EAAKT,IAAMyF,EAAOmF,gBAC/DpJ,EAAKM,SAAS,CACVwB,YAAaoH,EAAa,EAAI,EAAIA,IAGtClJ,EAAKsH,mBACLtH,EAAKqJ,iBAGTrJ,EAAKsJ,iBAGTpG,EAAM,2BAAQ,GAAI,CAAC,CACfqG,KAAM,KACNC,QAAS,WACLxJ,EAAKhC,MAAMyC,QAAQC,KAAK,WAO5CH,EAAArC,EAAMW,KAAKuB,EAAKI,UAKhCkI,aAAe,SAAAhK,GACXsB,EAAK4E,OAAOlG,IAAI,CACZA,MACA+K,KAAM,6BAIdd,UAAY,WACR3I,EAAK4E,OAAO8E,UAoBhBZ,gBAAkB,WAAM,IAAAa,EACa3J,EAAKV,MACtC,OAAgD,IAF5BqK,EACb7F,UADa6F,EACF7H,aACX,cAGXwH,eAAiB,WACb3J,IAAKC,IAAL,GAAAC,OAAYC,IAAIC,KAAhB,sBAAAF,OAAyCG,EAAKV,MAAMG,WAC/CS,KAAK,SAAAC,GAAO,IACFC,EAAQD,EAARC,KACW,MAAdA,EAAKC,MACLL,EAAKM,SAAS,CACV4D,UAAW9D,EAAKA,KAAL,kBAM/BiJ,aAAe,WAAM,IAAAO,EACgB5J,EAAKV,MAA/BwE,EADU8F,EACV9F,UAAWhC,EADD8H,EACC9H,YAEd9B,EAAKyI,WACLzI,EAAK0I,aAAa5E,EAAUhC,GAAV,aAI1B2G,QAAU,WAAM,IAAAoB,EAC6B7J,EAAKV,MAAvC2E,EADK4F,EACL5F,OAAQH,EADH+F,EACG/F,UAAWhC,EADd+H,EACc/H,YACtBgI,EAAShG,EAAUhC,GAEvB,OADAyG,QAAQC,IAAI1G,GACPgI,EAAM,SAoBX9J,EAAKM,SAAS,CACV0D,QAAQ,KAEL,GAtBCC,EAAM,aACNjE,EAAKM,SAAS,CACV0D,QAAQ,KAEL,GAEH8F,EAAM,YACN9J,EAAKM,SAAS,CACV0D,QAAQ,KAEL,IAEXhE,EAAKM,SAAS,CACV0D,QAAQ,KAEL,uFAzUfrD,KAAK0E,SAAW0E,YAAS,MACzBpJ,KAAKL,SAAS,CACVb,SAAUkB,KAAK0E,WAEnB1E,KAAKgG,MAAQqD,IAASpK,IAAI,SAC1Be,KAAKiI,eACLjI,KAAKsJ,kBACLtJ,KAAK2D,6DA8JL3D,KAAKiE,QAAUjE,KAAKiE,OAAOsF,UAE3BpE,cAAcnF,KAAKoF,OACnBpF,KAAKgF,IAAMhF,KAAKgF,GAAGwE,QACnBxJ,KAAKgF,GAAK,KAEVG,cAAcnF,KAAKmE,aACnBnE,KAAK4D,cAAgB5D,KAAK4D,aAAa4F,QACvCxJ,KAAK4D,aAAe,+CA+FN,IAAA3D,EAAAD,KACdhB,IAAKC,IAAL,GAAAC,OAAYC,IAAIC,KAAhB,mBAAAF,OAAsCc,KAAK0E,WACtCnF,KAAK,SAAAC,GACF,IAAMC,EAAOD,EAAIC,KACC,MAAdA,EAAKC,KAELO,EAAKN,SAAS,CACVkC,MAAOpC,EAAKA,OAIhBG,EAAArC,EAAMW,KAAKuB,EAAKI,wCA6DvB,IAAA4J,EAAAzJ,KAAA0J,EACmB1J,KAAK3C,MAAxBsM,EADAD,EACAC,MAAOC,EADPF,EACOE,SADPC,EAE+C7J,KAAKrB,MAAlDwE,EAFF0G,EAEE1G,UAAWhC,EAFb0I,EAEa1I,YAAakC,EAF1BwG,EAE0BxG,OAAQE,EAFlCsG,EAEkCtG,UACvC,OACIhF,EAAAhB,EAAAC,cAAA,OAAKC,UAAU,QACXc,EAAAhB,EAAAC,cAACsM,EAAA,EAAD,CAAWrI,MAAOzB,KAAKrB,MAAM8C,MAAOsI,OAAO,IAC3CxL,EAAAhB,EAAAC,cAACwM,EAAA,EAAD,CAASxG,UAAWxD,KAAKrB,MAAM6E,WAC3BjF,EAAAhB,EAAAC,cAAA,OAAKC,UAAU,SACXc,EAAAhB,EAAAC,cAAA,SAAOC,UAAW,WAAYwM,IAAK,SAAAC,GAAE,OAAIT,EAAK1C,MAAQmD,IAClD3L,EAAAhB,EAAAC,cAAA,UAAQO,IAAK,IAAK+K,KAAK,4BAGtBzF,GACG9E,EAAAhB,EAAAC,cAAA,OAAKC,UAAU,gBACXc,EAAAhB,EAAAC,cAAA,OAAKC,UAAU,QAAf,oGACAc,EAAAhB,EAAAC,cAAA,OAAKC,UAAU,QACXc,EAAAhB,EAAAC,cAAA,UAAQsL,KAAK,SAASrL,UAAU,kBAAhC,OAAmD8F,EAAnD,6BACAhF,EAAAhB,EAAAC,cAAA,UAAQsL,KAAK,SACLrL,UAAU,oBADlB,OACuC0F,EAAUpB,QAAUoB,EAAUhC,GAAV,YAD3D,gCAQpB5C,EAAAhB,EAAAC,cAAA,OAAKC,UAAU,OACXc,EAAAhB,EAAAC,cAAA,WACIe,EAAAhB,EAAAC,cAAC2M,EAAA,EAAD,CAASC,GAAE,GAAAlL,OAAKyK,EAAMU,IAAX,UACFC,SAAO,EACPC,gBAAgB,UAFzB,iBAKJhM,EAAAhB,EAAAC,cAAA,WACIe,EAAAhB,EAAAC,cAAC2M,EAAA,EAAD,CAASC,GAAE,GAAAlL,OAAKyK,EAAMU,IAAX,UACFC,SAAO,EACPC,gBAAgB,UAFzB,mBAOZhM,EAAAhB,EAAAC,cAACgN,EAAA,EAAD,KACIjM,EAAAhB,EAAAC,cAACgN,EAAA,EAAD,CAAUC,OAAK,EAACC,KAAM,QAASN,GAAI,CAC/BO,SAAU,cACVC,OAAQhB,EAASgB,UAErBrM,EAAAhB,EAAAC,cAACgN,EAAA,EAAD,CAAOK,KAAI,GAAA3L,OAAKyK,EAAMkB,KAAX,UAAyBC,OAAQ,SAAAzN,GACxC,OAAOkB,EAAAhB,EAAAC,cAACuN,EAADC,OAAAC,OAAA,CACH9J,YAAasI,EAAK9K,MAAMwC,YACxBL,YAAa2I,EAAK3I,YAClBC,aAAc0I,EAAK9K,MAAMwE,WACrB9F,OAEZkB,EAAAhB,EAAAC,cAACgN,EAAA,EAAD,CAAOK,KAAI,GAAA3L,OAAKyK,EAAMkB,KAAX,UAAyBC,OAAQ,SAAAzN,GACxC,OAAOkB,EAAAhB,EAAAC,cAAC0N,EAADF,OAAAC,OAAA,GAAkB5N,EAAlB,CAAyBwE,MAAO4H,EAAK9K,MAAMkD,aAG1DtD,EAAAhB,EAAAC,cAACgN,EAAA,EAAD,CAAOM,OAAQ,SAAAzN,GACX,OAAOoM,EAAK9K,MAAMW,UAAYf,EAAAhB,EAAAC,cAAC2N,EAADH,OAAAC,OAAA,GAAoB5N,EAApB,CAA2BiC,UAAWmK,EAAK9K,MAAMW,aACzE,QAEVf,EAAAhB,EAAAC,cAACiF,EAAD,CAAoBC,OAAQ1C,KAAKrB,MAAM8E,iBACnBX,gBAAiB,kBAAM2G,EAAK9J,SAAS,CAAC8D,kBAAkB,KACxDhE,KAAMO,KAAKrB,MAAM+E,oBAxbjC/B,aAgcLyJ,sBACX,SAAAzM,GAAK,MAAK,CAAC8F,KAAM9F,EAAM8F,OACvB,KAFW2G,CAGbrI","file":"static/js/video.3310d41d.chunk.js","sourcesContent":["import React from 'react';\nimport './index.scss'\n\nconst VList = (props) => {\n return (\n <li className='v-list-base-item' onClick={props.handleClick.bind(this, props.id)}>\n <div className=\"content\">\n <div className=\"cover\">\n {props.status}\n <img src={props.img} alt=\"\"/>\n </div>\n {props.info}\n </div>\n {props.tab}\n </li>\n );\n};\n\nexport default VList;","import React, { PureComponent } from 'react';\nimport './recommendation.scss'\nimport { http } from '@/utils'\nimport { Toast } from \"antd-mobile\";\nimport VList from '@/common/v-list-base';\n\n\n\nconst Bottom = ({item}) => {\n return (\n <div className='bottom'>\n <span className='price'>¥{item.price1}</span>\n <span className='stale-price'>¥{item.price0}</span>\n </div>\n )\n}\n\n\n\nclass Recommendation extends PureComponent {\n state = {\n num: 10,\n list: [],\n courseId: null\n }\n\n\n componentDidMount() {\n this.getRecommendation()\n }\n\n getRecommendation = () => {\n http.get(`${API.home}/m/play/recommend_course/${this.props.vCourseId}?num=${this.state.num}`)\n .then(res => {\n const data = res.data\n if(data.code === 200){\n\n this.setState({\n list: data.data\n })\n\n }else {\n Toast.info(data.msg)\n }\n })\n }\n\n\n handleClick = id => {\n this.props.history.push(`/detail?id=${id}`)\n }\n\n render() {\n return (\n <div className='recommendation'>\n <div className={'title'}>相关推荐</div>\n <ul>\n {\n this.state.list.map(item => {\n const Info = (\n <div className=\"info\">\n <p className='title'>{item.course_title}</p>\n <p className='des'>{item.simpledescription}</p>\n <Bottom\n item={item}\n />\n </div>\n )\n\n return (\n <VList\n key={item.course_id}\n img={item.image_name}\n handleClick={this.handleClick}\n info={Info}\n id={item.course_id}\n />\n )\n })\n }\n </ul>\n </div>\n );\n }\n}\n\nexport default Recommendation;","import React, { Component } from 'react'\nimport './video-catalog.scss'\nimport classnames from 'classnames'\n\n\nclass VideoCatalog extends Component {\n\n handleClick = (i) => {\n this.props.selectVideo(i)\n }\n\n render() {\n return (\n <div className='video-catalog'>\n <ul>\n {\n this.props.videoCatalog.map((item, index) => {\n return (\n <li key={item.id}\n className={classnames({active: this.props.activeIndex === index})}\n >\n <div className=\"video-title\" onClick={this.handleClick.bind(this, index)}>\n <span className=\"title\">{item.name}</span>\n <span className='duration'>{item.duration}</span>\n <i className={classnames(`iconfont`,\n [item.video_auth === 0\n ? 'iconiconfront-74'\n : 'iconplay_hovericon'],\n )}/>\n </div>\n {\n (item.practice && item.practice.qid) ? <div className=\"exercise\">\n 课后练习:{item.practice.title}\n <i className={classnames('iconfont', item.practice.is_tested ? 'iconiconfront-3' : 'iconiconfront-74')}/>\n {/*<i className='iconfont iconiconfront-74'/>*/}\n </div>\n : null\n }\n </li>\n )\n })\n }\n </ul>\n </div>\n );\n }\n}\n\nexport default VideoCatalog;","import React, { Component } from 'react';\nimport './datum-catalog.scss'\nimport { Accordion } from \"antd-mobile\";\n\n\nclass DatumCatalog extends Component {\n\n static defaultProps = {\n datum: [{\n dir_name: '',\n files: [{\n file_name: '',\n file_id: 0\n }]\n }]\n }\n\n render() {\n const {datum} = this.props\n return (\n <div className='datum-catalog'>\n <p className='prompt'>课程资料请到PC端播放页下载</p>\n <Accordion>\n {\n datum && datum.length && datum.map((item, index) => {\n return (\n <Accordion.Panel header={item.dir_name} key={index}>\n {\n item.files.map(item => {\n return (\n <div key={item.file_id} className='file-name'>\n {item.file_name}\n </div>\n )\n })\n }\n </Accordion.Panel>\n )\n })\n }\n </Accordion>\n </div>\n );\n }\n}\n\nexport default DatumCatalog;","import React, { Component } from 'react'\nimport HeaderBar from '@/common/HeaderBar'\nimport './video.scss'\nimport { NavLink, Route, Redirect, Switch } from 'react-router-dom'\nimport { http, api, getParam } from '@/utils'\nimport Recommendation from './recommendation'\nimport VideoCatalog from './video-catalog'\nimport DatumCatalog from './datum-catalog'\nimport { Toast } from 'antd-mobile'\nimport videojs from 'video.js'\nimport 'video.js/dist/video-js.min.css'\nimport { Modal } from \"antd-mobile\"\nimport { Loading } from '@/common'\nimport { connect } from \"react-redux\"\nimport jsCookie from 'js-cookie'\nimport io from 'socket.io-client'\n\nlet alert = Modal.alert\n\nfunction ProgressShareModal(props) {\n return (\n props.isShow &&\n <div className='progress-share-modal-wrapper'>\n <div className=\"progress-share-modal\">\n <div className=\"title\">每日打卡</div>\n <ul className=\"progress-container\">\n <li>\n <div className=\"title\">累计学习</div>\n <div className=\"number\"><span className='num'>{props.data.learn_day_count}</span>天</div>\n </li>\n <li>\n <div className=\"title\">行动力超过</div>\n <div className=\"number\"><span className='num'>{parseFloat(props.data.action_power)}</span>%\n </div>\n </li>\n </ul>\n <div className=\"share-container\">\n <div className=\"title\">分享到</div>\n <ul>\n <li className='share-icon'>\n <div className=\"icon\"><i className='iconfont iconweixinzhifu'></i></div>\n <div className='text'>微信好友</div>\n </li>\n <li className='share-icon'>\n <div className=\"icon\"><i className='iconfont iconpengyouquaniconx'></i></div>\n <div className='text'>朋友圈</div>\n </li>\n </ul>\n </div>\n <i className=\"iconfont iconiconfront-2 close\" onClick={props.closeShareModal}/>\n </div>\n </div>\n )\n}\n\n\nclass Video extends Component {\n\n video //video element\n player //video player instance\n\n courseID\n\n ws //websocket instance\n timer\n token\n count\n watchSec\n previousPlaybackRate = 1\n currentPlaybackRate = 1\n reconnect = true\n\n recordSocket\n recordTimer\n\n\n state = {\n title: '',\n courseId: null,\n videoList: [],\n datum: [],\n currentVideoSrc: '',\n activeIndex: 0,\n isAuth: true,\n course: null,\n salePrice: null,\n vCourseId: null,\n isLoading: true,\n isShowShareModal: false,\n shareData: {}\n }\n\n\n componentDidMount() {\n this.courseID = getParam('id')\n this.setState({\n courseId: this.courseID\n })\n this.token = jsCookie.get('token')\n this.getVideoList()\n this.getDatumCatalog()\n this.setupRecord()\n }\n\n\n setupRecord = () => {\n this.recordSocket = io(API.record)\n this.recordSocket.on('seek', time => {\n this.player.currentTime(time)\n })\n\n this.recordTimer = setInterval(() => {\n this.sendRecord()\n }, 5000)\n }\n\n sendRecord = () => {\n if (this.recordSocket) {\n this.recordSocket.emit('addRecord', this.recordUserInfo())\n }\n }\n\n recordUserInfo = () => {\n let {uid} = this.props.user.data\n return {\n uid,\n course_id: this.courseID,\n video_id: this.state.videoList[this.state.activeIndex].id,\n video_time: parseInt(this.player.currentTime()),\n plat: 5\n }\n }\n\n setupWS = () => {\n this.ws = new WebSocket('ws://process-test.julyedu.com:9502');\n this.ws.addEventListener('error', () => {\n this.ws = null\n /*setTimeout(() => {\n this.setupWS();\n }, 1000)*/\n })\n this.ws.addEventListener('close', () => {\n if (this.reconnect) {\n this.ws = null\n /*setTimeout(() => {\n this.setupWS();\n }, 1000)*/\n }\n clearInterval(this.timer)\n })\n this.ws.addEventListener('message', e => {\n const data = JSON.parse(e.data);\n data.code == 4040 && (this.reconnect = false)\n })\n }\n\n sendMessage = message => {\n this.ws.send(JSON.stringify(message))\n }\n\n //视频结束请求接口\n getShareProgressInfo = () => {\n http.get(`${API['base-api']}/m/aist/share_data/${this.courseID}/${this.state.videoList[this.state.activeIndex]['id']}`)\n .then(res => {\n const {data} = res\n if (data.errno == 200) {\n this.setState({shareData: data.data, isShowShareModal: true})\n }\n })\n }\n\n //告诉服务端切换视频\n countSchedule = () => {\n this.sendMessage({\n mtype: 'count_schedule',\n uid: this.props.user.data.uid,\n token: this.token,\n platform: 5\n })\n }\n\n sendWatchTime = (sec, rate) => {\n const {videoList, activeIndex, vCourseId} = this.state\n\n this.sendMessage({\n mtype: 'watch_time',\n rate,\n time: sec,\n video_id: videoList[activeIndex]['id'],\n course_id: this.courseID,\n v_course_id: vCourseId,\n uid: this.props.user.data.uid,\n token: this.token,\n platform: 5\n })\n }\n\n setupTimer = () => {\n this.count = 0\n this.watchSec = 0\n clearInterval(this.timer)\n this.timer = setInterval(() => {\n if (this.player && this.player.player()) {\n if (this.count === 5) {\n this.sendWatchTime(this.watchSec, this.currentPlaybackRate)\n this.count = this.watchSec = 0\n } else {\n !this.player.paused() && this.watchSec++\n this.count++\n }\n }\n }, 1000)\n\n }\n\n initializePlayer = () => {\n window.HELP_IMPROVE_VIDEOJS = false;\n this.player = videojs(this.video, {\n controls: true,\n preload: 'auto',\n bigPlayButton: true,\n textTrackDisplay: false,\n posterImage: false,\n errorDisplay: false,\n playbackRates: ['0.75', '1', '1.5', '2'],\n controlBar: {\n pictureInPictureToggle: false\n }\n })\n this.player.on('ready', () => {\n this.recordSocket.emit('load', this.recordUserInfo())\n })\n this.player.on('ratechange', () => {\n this.currentPlaybackRate = this.player.playbackRate()\n this.sendWatchTime(this.watchSec, this.previousPlaybackRate)\n this.count = this.watchSec = 0\n this.previousPlaybackRate = this.currentPlaybackRate\n })\n this.player.on('ended', () => {\n this.sendWatchTime(this.watchSec, this.currentPlaybackRate)\n this.getShareProgressInfo()\n clearInterval(this.timer)\n })\n this.player.on('seeked', () => {\n this.sendRecord()\n })\n }\n\n sendLastRecord = () => {\n http.post(`${API.home}/m/course/record_last_video`, {\n v_course_id: this.state.course['v_course_id'],\n video_id: this.state.videoList[this.state.activeIndex].id\n })\n .then(res => {\n console.log(res);\n })\n }\n\n componentWillUnmount() {\n this.player && this.player.dispose()\n\n clearInterval(this.timer)\n this.ws && this.ws.close()\n this.ws = null\n\n clearInterval(this.recordTimer)\n this.recordSocket && this.recordSocket.close()\n this.recordSocket = null\n }\n\n selectVideo = index => {\n if (this.hasAuth()) {\n if (index === this.state.activeIndex) {\n return\n }\n this.setState({\n activeIndex: index\n },\n () => {\n this.setPlayerSrc(this.state.videoList[index]['play_url'])\n this.sendLastRecord()\n this.playVideo()\n }\n )\n clearInterval(this.timer)\n if (this.ws) {\n this.countSchedule()\n this.setupTimer()\n }\n\n }\n this.setState({\n activeIndex: index\n })\n }\n\n\n getVideoList = () => {\n http.get(`${API.home}/m/course/play/${this.courseID}`)\n .then(res => {\n const data = res.data\n if (data.code === 200) {\n\n this.setState(\n state => ({\n videoList: data.data['lessons'],\n currentVideoSrc: data.data['lessons'][state.activeIndex]['play_url'],\n course: data.data.course,\n courseId: data.data.course['course_id'],\n vCourseId: data.data.course['v_course_id'],\n title: data.data.course['course_title'],\n isLoading: false\n }),\n () => {\n if (this.state.course.is_aist) {\n this.setupWS()\n this.setupTimer()\n }\n if (this.lessonAvailable()) {\n if (this.hasAuth(this.state.activeIndex)) {\n Promise.resolve().then(() => {\n\n let {videoList, course} = this.state\n let videoIndex = videoList.findIndex(item => item.id == course.last_video_id)\n this.setState({\n activeIndex: videoIndex < 0 ? 0 : videoIndex\n })\n\n this.initializePlayer()\n this.playWithAuth()\n })\n } else {\n this.getCoursePrice();\n }\n } else {\n alert('暂无视频', '', [{\n text: 'OK',\n onPress: () => {\n this.props.history.push('/')\n }\n }])\n }\n }\n )\n } else {\n Toast.info(data.msg)\n }\n })\n }\n\n setPlayerSrc = src => {\n this.player.src({\n src,\n type: 'application/x-mpegURL'\n })\n }\n\n playVideo = () => {\n this.player.play()\n }\n\n\n getDatumCatalog() {\n http.get(`${API.home}/m/course/data/${this.courseID}`)\n .then(res => {\n const data = res.data\n if (data.code === 200) {\n\n this.setState({\n datum: data.data\n })\n\n } else {\n Toast.info(data.msg)\n }\n })\n }\n\n lessonAvailable = () => {\n const {videoList, activeIndex} = this.state\n return videoList[activeIndex]['video_size'] !== 0\n }\n\n getCoursePrice = () => {\n http.get(`${API.home}/sys/course/price/${this.state.courseId}`)\n .then(res => {\n const {data} = res\n if (data.code === 200) {\n this.setState({\n salePrice: data.data['sale_price']\n })\n }\n })\n }\n\n playWithAuth = () => {\n const {videoList, activeIndex} = this.state\n\n if (this.hasAuth()) {\n this.setPlayerSrc(videoList[activeIndex]['play_url'])\n }\n }\n\n hasAuth = () => {\n const {course, videoList, activeIndex} = this.state\n let lesson = videoList[activeIndex]\n console.log(activeIndex);\n if (!lesson['is_free']) {\n if (course['is_audition']) {\n this.setState({\n isAuth: true\n })\n return true\n } else {\n if (lesson['video_auth']) {\n this.setState({\n isAuth: true\n })\n return true\n }\n this.setState({\n isAuth: false\n })\n return false\n }\n\n }\n this.setState({\n isAuth: true\n })\n return true\n }\n\n\n render() {\n let {match, location} = this.props\n const {videoList, activeIndex, isAuth, salePrice} = this.state\n return (\n <div className='play'>\n <HeaderBar title={this.state.title} arrow={true}/>\n <Loading isLoading={this.state.isLoading}>\n <div className=\"video\">\n <video className={'video-js'} ref={el => this.video = el}>\n <source src={'/'} type='application/x-mpegURL'/>\n </video>\n {\n !isAuth && (\n <div className=\"purchase-box\">\n <div className='hint'>您尚未购买该课时,请购买后学习。</div>\n <div className='btns'>\n <button type='button' className='purchase-class'>¥{salePrice} 购买课程</button>\n <button type='button'\n className='purchase-episode'>¥{videoList.length && videoList[activeIndex]['class_price']} 购买单集\n </button>\n </div>\n </div>\n )\n }\n </div>\n <div className='tab'>\n <div>\n <NavLink to={`${match.url}/video`}\n replace\n activeClassName='active'\n >视频</NavLink>\n </div>\n <div>\n <NavLink to={`${match.url}/datum`}\n replace\n activeClassName='active'\n >资料</NavLink>\n </div>\n </div>\n </Loading>\n <Switch>\n <Redirect exact from={'/play'} to={{\n pathname: '/play/video',\n search: location.search\n }}/>\n <Route path={`${match.path}/video`} render={props => {\n return <VideoCatalog\n activeIndex={this.state.activeIndex}\n selectVideo={this.selectVideo}\n videoCatalog={this.state.videoList}\n {...props}/>\n }}/>\n <Route path={`${match.path}/datum`} render={props => {\n return <DatumCatalog {...props} datum={this.state.datum}/>\n }}/>\n </Switch>\n <Route render={props => {\n return this.state.vCourseId ? <Recommendation {...props} vCourseId={this.state.vCourseId}/>\n : null\n }}/>\n <ProgressShareModal isShow={this.state.isShowShareModal}\n closeShareModal={() => this.setState({isShowShareModal: false})}\n data={this.state.shareData}\n />\n </div>\n );\n }\n}\n\n\nexport default connect(\n state => ({user: state.user}),\n null\n)(Video);"],"sourceRoot":""}
\ No newline at end of file
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 to comment