Commit 19cf9d87 by xuzhenghua

bug

parents cf5daff0 e143f410
...@@ -17,8 +17,8 @@ ...@@ -17,8 +17,8 @@
"MyEdit.js": "/static/js/MyEdit.e7408258.chunk.js", "MyEdit.js": "/static/js/MyEdit.e7408258.chunk.js",
"MyEdit.js.map": "/static/js/MyEdit.e7408258.chunk.js.map", "MyEdit.js.map": "/static/js/MyEdit.e7408258.chunk.js.map",
"Order.css": "/static/css/Order.061a2017.chunk.css", "Order.css": "/static/css/Order.061a2017.chunk.css",
"Order.js": "/static/js/Order.a3016da1.chunk.js", "Order.js": "/static/js/Order.b9d3d946.chunk.js",
"Order.js.map": "/static/js/Order.a3016da1.chunk.js.map", "Order.js.map": "/static/js/Order.b9d3d946.chunk.js.map",
"Orderinfo.js": "/static/js/Orderinfo.c503b1f0.chunk.js", "Orderinfo.js": "/static/js/Orderinfo.c503b1f0.chunk.js",
"Orderinfo.js.map": "/static/js/Orderinfo.c503b1f0.chunk.js.map", "Orderinfo.js.map": "/static/js/Orderinfo.c503b1f0.chunk.js.map",
"PayOrder.css": "/static/css/PayOrder.a9111f28.chunk.css", "PayOrder.css": "/static/css/PayOrder.a9111f28.chunk.css",
...@@ -51,8 +51,8 @@ ...@@ -51,8 +51,8 @@
"purchased.css": "/static/css/purchased.fb5cdbc2.chunk.css", "purchased.css": "/static/css/purchased.fb5cdbc2.chunk.css",
"purchased.js": "/static/js/purchased.96de9074.chunk.js", "purchased.js": "/static/js/purchased.96de9074.chunk.js",
"purchased.js.map": "/static/js/purchased.96de9074.chunk.js.map", "purchased.js.map": "/static/js/purchased.96de9074.chunk.js.map",
"runtime~main.js": "/static/js/runtime~main.7dae6868.js", "runtime~main.js": "/static/js/runtime~main.46df84a2.js",
"runtime~main.js.map": "/static/js/runtime~main.7dae6868.js.map", "runtime~main.js.map": "/static/js/runtime~main.46df84a2.js.map",
"search.css": "/static/css/search.ed8f7a59.chunk.css", "search.css": "/static/css/search.ed8f7a59.chunk.css",
"search.js": "/static/js/search.d9684d99.chunk.js", "search.js": "/static/js/search.d9684d99.chunk.js",
"search.js.map": "/static/js/search.d9684d99.chunk.js.map", "search.js.map": "/static/js/search.d9684d99.chunk.js.map",
...@@ -66,8 +66,8 @@ ...@@ -66,8 +66,8 @@
"togroup.js": "/static/js/togroup.a6717ccf.chunk.js", "togroup.js": "/static/js/togroup.a6717ccf.chunk.js",
"togroup.js.map": "/static/js/togroup.a6717ccf.chunk.js.map", "togroup.js.map": "/static/js/togroup.a6717ccf.chunk.js.map",
"video.css": "/static/css/video.2b2824ba.chunk.css", "video.css": "/static/css/video.2b2824ba.chunk.css",
"video.js": "/static/js/video.0535da32.chunk.js", "video.js": "/static/js/video.7782b1ca.chunk.js",
"video.js.map": "/static/js/video.0535da32.chunk.js.map", "video.js.map": "/static/js/video.7782b1ca.chunk.js.map",
"static/css/24.4abd5c22.chunk.css": "/static/css/24.4abd5c22.chunk.css", "static/css/24.4abd5c22.chunk.css": "/static/css/24.4abd5c22.chunk.css",
"static/js/24.67004523.chunk.js": "/static/js/24.67004523.chunk.js", "static/js/24.67004523.chunk.js": "/static/js/24.67004523.chunk.js",
"static/js/24.67004523.chunk.js.map": "/static/js/24.67004523.chunk.js.map", "static/js/24.67004523.chunk.js.map": "/static/js/24.67004523.chunk.js.map",
...@@ -91,7 +91,7 @@ ...@@ -91,7 +91,7 @@
"static/js/31.804baf53.chunk.js": "/static/js/31.804baf53.chunk.js", "static/js/31.804baf53.chunk.js": "/static/js/31.804baf53.chunk.js",
"static/js/31.804baf53.chunk.js.map": "/static/js/31.804baf53.chunk.js.map", "static/js/31.804baf53.chunk.js.map": "/static/js/31.804baf53.chunk.js.map",
"index.html": "/index.html", "index.html": "/index.html",
"precache-manifest.598d4f9a21c04382f4006facc51e0bfb.js": "/precache-manifest.598d4f9a21c04382f4006facc51e0bfb.js", "precache-manifest.39ecfe1b8e5174d82d00a86574410687.js": "/precache-manifest.39ecfe1b8e5174d82d00a86574410687.js",
"service-worker.js": "/service-worker.js", "service-worker.js": "/service-worker.js",
"static/css/24.4abd5c22.chunk.css.map": "/static/css/24.4abd5c22.chunk.css.map", "static/css/24.4abd5c22.chunk.css.map": "/static/css/24.4abd5c22.chunk.css.map",
"static/css/26.73976871.chunk.css.map": "/static/css/26.73976871.chunk.css.map", "static/css/26.73976871.chunk.css.map": "/static/css/26.73976871.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>七月在线 - 国内领先的人工智能教育平台</title><link href="/static/css/24.4abd5c22.chunk.css" rel="stylesheet"><link href="/static/css/main.47a6e046.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(f){function e(e){for(var r,t,a=e[0],n=e[1],o=e[2],c=0,d=[];c<a.length;c++)t=a[c],l[t]&&d.push(l[t][0]),l[t]=0;for(r in n)Object.prototype.hasOwnProperty.call(n,r)&&(f[r]=n[r]);for(h&&h(e);d.length;)d.shift()();return u.push.apply(u,o||[]),i()}function i(){for(var e,r=0;r<u.length;r++){for(var t=u[r],a=!0,n=1;n<t.length;n++){var o=t[n];0!==l[o]&&(a=!1)}a&&(u.splice(r--,1),e=p(p.s=t[0]))}return e}var t={},s={18:0},l={18:0},u=[];function p(e){if(t[e])return t[e].exports;var r=t[e]={i:e,l:!1,exports:{}};return f[e].call(r.exports,r,r.exports,p),r.l=!0,r.exports}p.e=function(u){var e=[];s[u]?e.push(s[u]):0!==s[u]&&{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,26:1,28:1,29:1,30:1,31:1}[u]&&e.push(s[u]=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"}[u]||u)+"."+{0:"6d24aba4",1:"5ed0fc89",2:"5ce769bd",3:"aeb3f822",4:"280c19c2",5:"31d6cfe0",6:"061a2017",7:"31d6cfe0",8:"a9111f28",9:"99c1fc9f",10:"b968f5d5",11:"8f4c32db",12:"a97e13d0",13:"f2c7a13b",14:"ce10de93",16:"789a128d",17:"fb5cdbc2",19:"ed8f7a59",20:"175bee2a",21:"8867122f",22:"f08bc5f3",23:"2b2824ba",25:"31d6cfe0",26:"73976871",27:"31d6cfe0",28:"42a89c77",29:"bf839917",30:"35e22f8c",31:"57d8b033"}[u]+".chunk.css",n=p.p+r,t=document.getElementsByTagName("link"),o=0;o<t.length;o++){var c=(f=t[o]).getAttribute("data-href")||f.getAttribute("href");if("stylesheet"===f.rel&&(c===r||c===n))return e()}var d=document.getElementsByTagName("style");for(o=0;o<d.length;o++){var f;if((c=(f=d[o]).getAttribute("data-href"))===r||c===n)return e()}var i=document.createElement("link");i.rel="stylesheet",i.type="text/css",i.onload=e,i.onerror=function(e){var r=e&&e.target&&e.target.src||n,t=new Error("Loading CSS chunk "+u+" failed.\n("+r+")");t.request=r,delete s[u],i.parentNode.removeChild(i),a(t)},i.href=n,document.getElementsByTagName("head")[0].appendChild(i)}).then(function(){s[u]=0}));var t=l[u];if(0!==t)if(t)e.push(t[2]);else{var r=new Promise(function(e,r){t=l[u]=[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"}[u]||u)+"."+{0:"5ad51000",1:"da3edf64",2:"da982f82",3:"b6b14ec2",4:"954a0197",5:"e7408258",6:"a3016da1",7:"c503b1f0",8:"c84e2bbe",9:"5d20f031",10:"e678ace6",11:"4f1c3903",12:"6ae202e2",13:"0ff2580f",14:"35f0eebd",16:"3a9f8bf2",17:"96de9074",19:"d9684d99",20:"c5ea327d",21:"3ca271e7",22:"a6717ccf",23:"0535da32",25:"66a6cdfb",26:"ad7bb673",27:"48079d34",28:"dc773ffa",29:"76256aca",30:"db405cf8",31:"804baf53"}[u]+".chunk.js",a=function(e){o.onerror=o.onload=null,clearTimeout(c);var r=l[u];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 "+u+" failed.\n("+t+": "+a+")");n.type=t,n.request=a,r[1](n)}l[u]=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=f,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;i()}([])</script><script src="/static/js/24.67004523.chunk.js"></script><script src="/static/js/main.f0ac2fa0.chunk.js"></script></body></html> <!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>七月在线 - 国内领先的人工智能教育平台</title><link href="/static/css/24.4abd5c22.chunk.css" rel="stylesheet"><link href="/static/css/main.47a6e046.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(f){function e(e){for(var r,t,a=e[0],n=e[1],o=e[2],c=0,d=[];c<a.length;c++)t=a[c],l[t]&&d.push(l[t][0]),l[t]=0;for(r in n)Object.prototype.hasOwnProperty.call(n,r)&&(f[r]=n[r]);for(b&&b(e);d.length;)d.shift()();return u.push.apply(u,o||[]),i()}function i(){for(var e,r=0;r<u.length;r++){for(var t=u[r],a=!0,n=1;n<t.length;n++){var o=t[n];0!==l[o]&&(a=!1)}a&&(u.splice(r--,1),e=p(p.s=t[0]))}return e}var t={},s={18:0},l={18:0},u=[];function p(e){if(t[e])return t[e].exports;var r=t[e]={i:e,l:!1,exports:{}};return f[e].call(r.exports,r,r.exports,p),r.l=!0,r.exports}p.e=function(u){var e=[];s[u]?e.push(s[u]):0!==s[u]&&{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,26:1,28:1,29:1,30:1,31:1}[u]&&e.push(s[u]=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"}[u]||u)+"."+{0:"6d24aba4",1:"5ed0fc89",2:"5ce769bd",3:"aeb3f822",4:"280c19c2",5:"31d6cfe0",6:"061a2017",7:"31d6cfe0",8:"a9111f28",9:"99c1fc9f",10:"b968f5d5",11:"8f4c32db",12:"a97e13d0",13:"f2c7a13b",14:"ce10de93",16:"789a128d",17:"fb5cdbc2",19:"ed8f7a59",20:"175bee2a",21:"8867122f",22:"f08bc5f3",23:"2b2824ba",25:"31d6cfe0",26:"73976871",27:"31d6cfe0",28:"42a89c77",29:"bf839917",30:"35e22f8c",31:"57d8b033"}[u]+".chunk.css",n=p.p+r,t=document.getElementsByTagName("link"),o=0;o<t.length;o++){var c=(f=t[o]).getAttribute("data-href")||f.getAttribute("href");if("stylesheet"===f.rel&&(c===r||c===n))return e()}var d=document.getElementsByTagName("style");for(o=0;o<d.length;o++){var f;if((c=(f=d[o]).getAttribute("data-href"))===r||c===n)return e()}var i=document.createElement("link");i.rel="stylesheet",i.type="text/css",i.onload=e,i.onerror=function(e){var r=e&&e.target&&e.target.src||n,t=new Error("Loading CSS chunk "+u+" failed.\n("+r+")");t.request=r,delete s[u],i.parentNode.removeChild(i),a(t)},i.href=n,document.getElementsByTagName("head")[0].appendChild(i)}).then(function(){s[u]=0}));var t=l[u];if(0!==t)if(t)e.push(t[2]);else{var r=new Promise(function(e,r){t=l[u]=[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"}[u]||u)+"."+{0:"5ad51000",1:"da3edf64",2:"da982f82",3:"b6b14ec2",4:"954a0197",5:"e7408258",6:"b9d3d946",7:"c503b1f0",8:"c84e2bbe",9:"5d20f031",10:"e678ace6",11:"4f1c3903",12:"6ae202e2",13:"0ff2580f",14:"35f0eebd",16:"3a9f8bf2",17:"96de9074",19:"d9684d99",20:"c5ea327d",21:"3ca271e7",22:"a6717ccf",23:"7782b1ca",25:"66a6cdfb",26:"ad7bb673",27:"48079d34",28:"dc773ffa",29:"76256aca",30:"db405cf8",31:"804baf53"}[u]+".chunk.js",a=function(e){o.onerror=o.onload=null,clearTimeout(c);var r=l[u];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 "+u+" failed.\n("+t+": "+a+")");n.type=t,n.request=a,r[1](n)}l[u]=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=f,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 b=a;i()}([])</script><script src="/static/js/24.67004523.chunk.js"></script><script src="/static/js/main.f0ac2fa0.chunk.js"></script></body></html>
\ No newline at end of file \ No newline at end of file
...@@ -44,12 +44,12 @@ self.__precacheManifest = [ ...@@ -44,12 +44,12 @@ self.__precacheManifest = [
"url": "/static/js/MyEdit.e7408258.chunk.js" "url": "/static/js/MyEdit.e7408258.chunk.js"
}, },
{ {
"revision": "5f92c4a49432492f54d0", "revision": "6dd5fb394193eb8a7200",
"url": "/static/css/Order.061a2017.chunk.css" "url": "/static/css/Order.061a2017.chunk.css"
}, },
{ {
"revision": "5f92c4a49432492f54d0", "revision": "6dd5fb394193eb8a7200",
"url": "/static/js/Order.a3016da1.chunk.js" "url": "/static/js/Order.b9d3d946.chunk.js"
}, },
{ {
"revision": "064f52af07df35b72c76", "revision": "064f52af07df35b72c76",
...@@ -136,8 +136,8 @@ self.__precacheManifest = [ ...@@ -136,8 +136,8 @@ self.__precacheManifest = [
"url": "/static/js/BargainMiddlePage.5ad51000.chunk.js" "url": "/static/js/BargainMiddlePage.5ad51000.chunk.js"
}, },
{ {
"revision": "ea768ad21ee65b6e17a4", "revision": "d5de5c1a1d5767a15942",
"url": "/static/js/runtime~main.7dae6868.js" "url": "/static/js/runtime~main.46df84a2.js"
}, },
{ {
"revision": "3edc9e3770cae738e0d9", "revision": "3edc9e3770cae738e0d9",
...@@ -172,12 +172,12 @@ self.__precacheManifest = [ ...@@ -172,12 +172,12 @@ self.__precacheManifest = [
"url": "/static/js/togroup.a6717ccf.chunk.js" "url": "/static/js/togroup.a6717ccf.chunk.js"
}, },
{ {
"revision": "127640c64bda7233a9ab", "revision": "87b4deac38f8009b6923",
"url": "/static/css/video.2b2824ba.chunk.css" "url": "/static/css/video.2b2824ba.chunk.css"
}, },
{ {
"revision": "127640c64bda7233a9ab", "revision": "87b4deac38f8009b6923",
"url": "/static/js/video.0535da32.chunk.js" "url": "/static/js/video.7782b1ca.chunk.js"
}, },
{ {
"revision": "80011994e30adf599e5f47fcc81bc06d", "revision": "80011994e30adf599e5f47fcc81bc06d",
...@@ -260,7 +260,7 @@ self.__precacheManifest = [ ...@@ -260,7 +260,7 @@ self.__precacheManifest = [
"url": "/static/css/24.4abd5c22.chunk.css" "url": "/static/css/24.4abd5c22.chunk.css"
}, },
{ {
"revision": "04c24767d1cc3e2167e08653fa53b292", "revision": "e982faac9f9e13435ed78e37f63f9a1a",
"url": "/index.html" "url": "/index.html"
} }
]; ];
\ No newline at end of file
...@@ -14,7 +14,7 @@ ...@@ -14,7 +14,7 @@
importScripts("https://storage.googleapis.com/workbox-cdn/releases/3.6.3/workbox-sw.js"); importScripts("https://storage.googleapis.com/workbox-cdn/releases/3.6.3/workbox-sw.js");
importScripts( importScripts(
"/precache-manifest.598d4f9a21c04382f4006facc51e0bfb.js" "/precache-manifest.39ecfe1b8e5174d82d00a86574410687.js"
); );
workbox.clientsClaim(); workbox.clientsClaim();
......
(window.webpackJsonp=window.webpackJsonp||[]).push([[6],{1143:function(e,t,a){},1161:function(e,t,a){"use strict";a.r(t);a(153);var o=a(74),c=a.n(o),r=a(24),n=(a(44),a(14)),s=a.n(n),i=a(7),l=a(8),d=a(11),p=a(9),m=a(10),u=(a(88),a(26)),f=a.n(u),h=(a(114),a(46)),b=a.n(h),g=a(0),E=a.n(g),v=a(30),y=a(16),x=a(4),N=a(40),O=(a(1143),b.a.Item);function j(e){console.log(e);var t=e.list;return E.a.createElement("div",null,t.map(function(t,a){t.is_coupon;var o=t.course_id,c=t.image_name,r=t.price1,n=t.price0,s=t.simpledescription,i=t.course_title,l=t.coupon_num,d=t.coupon_desc,p=E.a.createElement("span",{className:"order-newprice"},"\xa5",r);e.locationState&&e.locationState.group&&(p=E.a.createElement("span",{className:"order-newprice"},"\xa5",e.groupPrice));var m=E.a.createElement("div",{className:"order-info"},E.a.createElement(y.b,{to:"/detail?id=".concat(o)},E.a.createElement("p",{className:"order-title",style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}},i)),E.a.createElement("p",{className:"order-content",style:{WebkitBoxOrient:"vertical",WebkitLineClamp:"2",wordBreak:"break-all",overflow:"hidden",textOverflow:"ellipsis",display:"-webkit-box"}},s),E.a.createElement("p",{className:"order-des"},p,E.a.createElement("span",{className:"order-price"},"\xa5",n)));return E.a.createElement(v.g,Object.assign({},t,{src:c,id:o,key:a,info:m,isaist:e.isaist}),e.locationState&&(e.locationState.type||e.locationState.simple)?E.a.createElement("div",{className:"order-prefer"},E.a.createElement(b.a,{key:a},E.a.createElement(O,{arrow:"horizontal",onClick:function(){}},E.a.createElement(y.b,{to:{pathname:"/coupons",search:"?id=".concat(o),state:{from:"/order"}}},E.a.createElement(f.a,{justify:"between"},E.a.createElement("span",{style:{color:"#333",fontSize:"15px"}},"\u4f18\u60e0\u5238"),E.a.createElement("span",{style:{fontSize:"14px",color:"#999999"}},d||(0===l?"\u65e0":"".concat(l,"\u5f20\u53ef\u7528")))))))):null)}))}var S=function(e){function t(e){var a;return Object(i.a)(this,t),(a=Object(d.a)(this,Object(p.a)(t).call(this,e))).submitOrder=function(){if(0!==a.state.orderList.length)if(a.state.perfect||s.a.info("\u8bf7\u5b8c\u5584\u62a5\u540d\u4fe1\u606f\uff01"),a.props.location.state&&1===a.props.location.state.group)x.c.post("".concat(API["base-api"],"/pdd/m"),{course_id:Object(x.b)("id")}).then(function(e){console.log(e.data.data),200===e.data.errno?(sessionStorage.removeItem("orderUseCacheObj"),a.props.history.replace("/payorder?oid=".concat(e.data.data.oid))):s.a.info(e.data.msg,2)});else{var e="".concat(API["base-api"],"/m/v34/cart/order?ischeck=").concat(a.state.useBalance);a.props.location.state&&1===a.props.location.state.type&&(e+="&type=1"),x.c.get(e).then(function(e){console.log(e),0===e.data.errno?(sessionStorage.removeItem("orderUseCacheObj"),a.props.history.replace("/payorder?oid=".concat(e.data.data.order_id))):s.a.info(e.data.msg,2)})}else s.a.info("\u6ca1\u6709\u8981\u63d0\u4ea4\u7684\u8ba2\u5355\uff01")},a.useBalance=function(){var e=a.state.useBalance;a.setState({useBalance:!e}),e?sessionStorage.removeItem("orderUseCacheObj"):(a.cacheObj=Object(r.a)({},a.state),sessionStorage.setItem("orderUseCacheObj",JSON.stringify(a.state))),a.computedMoney(e)},a.computedMoney=function(e){var t=parseFloat(a.cacheObj.total),o=parseFloat(a.cacheObj.user_account),c=a.state.discount;e?a.setState({offset:a.cacheObj.offset,total:a.cacheObj.total,discount:a.cacheObj.discount}):t>o?a.setState({offset:o.toFixed(2),total:(t-o).toFixed(2),discount:(o+parseFloat(c)).toFixed(2)}):a.setState({offset:t.toFixed(2),total:0,discount:(t+parseFloat(c)).toFixed(2)})},a.computedMoneyByCache=function(){var e=parseFloat(a.cacheObj.total),t=parseFloat(a.cacheObj.user_account),o=parseFloat(a.cacheObj.discount);e>t?a.setState({offset:t.toFixed(2),total:(e-t).toFixed(2),discount:(o+t).toFixed(2)}):a.setState({offset:e.toFixed(2),total:0,discount:e.toFixed(2)})},a.showInfo=function(){a.setState(function(e){return{info:!e.info}})},a.publicGetData=function(e){var t=e.data.data,o=t.course,c=t.total,r=t.user_account,n=t.user_info,s=t.discount;a.props.location.state&&1===a.props.location.state.group&&(c=a.groupPrice),a.cacheObj={perfect:n,orderList:o,user_account:r,total:c,discount:s},a.setState({perfect:n,orderList:o,user_account:r,total:c,discount:s})},a.publicLocalStorage=function(){"PUSH"===a.props.history.action?sessionStorage.removeItem("orderUseCacheObj"):null!==sessionStorage.getItem("orderUseCacheObj")&&(a.setState({useBalance:!0}),a.computedMoneyByCache())},a.state={perfect:a.props.location.state,user_account:0,total:0,discount:0,useBalance:!1,orderList:[],info:!1,offset:0},a}return Object(m.a)(t,e),Object(l.a)(t,[{key:"componentDidMount",value:function(){var e=this;console.log(this.props.location.state),this.props.location.state&&1===this.props.location.state.type?x.c.get("".concat(API.home,"/m/order/preorder?type=1")).then(function(t){200===t.data.errno?(e.publicGetData(t),e.publicLocalStorage()):s.a.info(t.data.msg,2)}):!this.props.location.state||1!==this.props.location.state.simple&&1!==this.props.location.state.bargain?this.props.location.state&&1===this.props.location.state.group?Promise.all([x.c.get("".concat(API.home,"/m/del_cart_order/").concat(Object(x.b)("id"))),x.c.get("".concat(API.home,"/m/order/preorder")),x.c.get("".concat(API.home,"/m/course/detail/").concat(Object(x.b)("id")))]).then(function(t){console.log(t);var a=t[1],o=t[2];console.log(a.data),console.log(o.data),200===a.data.code&&200===o.data.code?(e.groupPrice=o.data.data.course_info.pdd_group_info.price,0===a.data.data.course.length&&a.data.data.course.push(o.data.data.course_info),e.publicGetData(a),e.publicLocalStorage()):s.a.info(a.data.msg,2)}):x.c.get("".concat(API.home,"/m/order/preorder")).then(function(t){console.log("\u4e3a\u4e86\u9a8c\u8bc1\u4ec0\u4e48\u6761\u4ef6\u4e0b\u4f1a\u8d70\u8fd9\u6bb5\u4ee3\u7801"),200===t.data.errno?(e.publicGetData(t),e.publicLocalStorage()):s.a.info(t.data.msg,2)}):x.c.get("".concat(API.home,"/m/order/preorder")).then(function(t){200===t.data.errno?(e.publicGetData(t),e.publicLocalStorage()):s.a.info(t.data.msg,2)})}},{key:"render",value:function(){var e=this.state,t=e.perfect,a=e.orderList,o=e.user_account,n=e.total,s=e.discount,i=e.useBalance,l=e.info,d=e.offset;return E.a.createElement("div",{className:"order-wrapper"},E.a.createElement(f.a,null,E.a.createElement(f.a.Item,null,E.a.createElement(v.e,{title:"\u8bfe\u7a0b\u62a5\u540d",arrow:!0}),!this.state.perfect&&E.a.createElement(y.b,{to:{pathname:"/orderinfo",state:{type:this.props.location.state?this.props.location.state.type:null,id:Object(x.b)("id")}},className:"order-information"},E.a.createElement("i",{className:"iconfont iconiconfront-6 order-addsize"}),E.a.createElement("div",{className:"order-infotext"},"\u5b8c\u5584\u62a5\u540d\u4fe1\u606f"),E.a.createElement("i",{className:"iconfont iconiconfront-70 order-next"})),this.state.perfect&&E.a.createElement("div",{className:"order-information2"},E.a.createElement(c.a,null,E.a.createElement(y.b,{to:{pathname:"/orderinfo",state:Object(r.a)({},this.state.perfect,this.props.location.state,{id:Object(x.b)("id")})}},E.a.createElement(f.a,{align:"center",justify:"between",style:{height:"80px"}},E.a.createElement("i",{className:"iconfont iconiconfront-20 user-icon"}),E.a.createElement(f.a,{direction:"column",justify:"between",align:"start",className:"order-cell"},E.a.createElement("div",{className:"name"},"\u59d3\u540d\uff1a".concat(t.real_name)),E.a.createElement("div",null,"\u7535\u8bdd\uff1a".concat(t.cellphone))),E.a.createElement(f.a,{align:"start",className:"order-cell"},E.a.createElement("div",null,"QQ\uff1a".concat(t.qq))))))),E.a.createElement("div",{className:"order-list"},E.a.createElement(j,{list:a,compute:this.computedMoney,courseId:Object(x.b)("id"),locationState:this.props.location.state,groupPrice:this.groupPrice})),E.a.createElement("div",{className:"order-balance"},E.a.createElement(b.a,null,E.a.createElement(O,{className:"order-prefer-text"},E.a.createElement(f.a,{justify:"between"},E.a.createElement(f.a,{align:"center"},E.a.createElement("span",null,"\u4f59\u989d\u62b5\u6263"),E.a.createElement("span",{className:"order-balanceprice"}," (\u4f59\u989d: ",E.a.createElement("i",{className:"order-money"},"".concat(o,"\u5143")),")"),E.a.createElement("i",{className:"iconfont iconiconfront-22 question-mark",onClick:this.showInfo})),E.a.createElement(f.a,null,i?E.a.createElement(E.a.Fragment,null,E.a.createElement("span",{style:{color:"#FF2121",fontSize:"15px",marginRight:"6px"}},"-".concat(d)),E.a.createElement("i",{className:"iconfont icondanseshixintubiao-5 balance-used",onClick:Object(N.throttle)(this.useBalance,600)})):E.a.createElement("i",{className:"circle-icon",onClick:Object(N.throttle)(this.useBalance,600)})))))),E.a.createElement("div",{className:"order-bar"},E.a.createElement("div",{className:"order-course"},E.a.createElement("span",{className:"order-course-text"},"".concat(a.length,"\u95e8\u8bfe\u7a0b"))),E.a.createElement("div",{className:"order-bar-text"},E.a.createElement("div",{className:"order-amount"},E.a.createElement("span",{className:"order-amount-title"},"\u5408\u8ba1:"),E.a.createElement("span",{className:"order-amount-price"},"\uffe5".concat(n))),E.a.createElement("div",{className:"order-preprice"},E.a.createElement("span",{className:"order-preprice-title"},"\u5df2\u4f18\u60e0:"),E.a.createElement("span",{className:"order-preprice-price"},"\xa5".concat(s)))),t?E.a.createElement("button",{type:"button",className:"order-button has-info"},E.a.createElement("span",{className:"order-button-text",onClick:this.submitOrder},"\u63d0\u4ea4\u8ba2\u5355")):E.a.createElement("button",{type:"button",className:"order-button"},E.a.createElement("span",{className:"order-button-text",onClick:this.submitOrder},"\u63d0\u4ea4\u8ba2\u5355"))))),l?E.a.createElement("div",{style:{position:"fixed",top:0,left:0,width:"100%",height:"100%",backgroundColor:"rgba(0, 0, 0, 0.8)",zIndex:"99"}},E.a.createElement("div",{style:{padding:"20px",backgroundColor:"#FFF",width:"300px",height:"170px",margin:"0 auto",position:"absolute",left:"50%",top:"50%",transform:"translate(-50%, -50%)"}},E.a.createElement(f.a,{direction:"column",justify:"between",align:"center",style:{height:"100%"}},E.a.createElement("p",{style:{fontSize:"16px",color:"#333333"}},"\u4f59\u989d\u62b5\u6263\u8bf4\u660e"),E.a.createElement("p",{style:{lineHeight:"20px",fontSize:"13px",color:"#666666"}},"\u5206\u9500\u8bfe\u7a0b\u6216\u8005\u53c2\u4e0e\u4e03\u6708\u5728\u7ebf\u7684\u76f8\u5173\u6d3b\u52a8\uff0c\u53ef\u83b7\u5f97\u8d44\u91d1\u5956\u52b1\u3002\u8d26\u6237\u8d44\u91d1\u53ef\u76f4\u63a5\u63d0\u73b0\uff0c\u4e5f\u53ef\u62b5\u6263\u8bfe\u7a0b\u8d39\u7528\u3002"),E.a.createElement("div",{onClick:this.showInfo,style:{width:"260px",height:"30px",lineHeight:"30px",textAlign:"center",borderRadius:"3px",border:"1px solid #0099FF",color:"#0099FF",fontSize:"15px"}},"\u77e5\u9053\u4e86")))):null)}}]),t}(g.Component);t.default=S}}]);
//# sourceMappingURL=Order.a3016da1.chunk.js.map
\ No newline at end of file
{"version":3,"sources":["components/order/index.js"],"names":["Item","antd_mobile_lib_list__WEBPACK_IMPORTED_MODULE_13___default","a","OrderList","props","console","log","listData","list","react__WEBPACK_IMPORTED_MODULE_14___default","createElement","map","item","index","is_coupon","course_id","image_name","price1","price0","simpledescription","course_title","coupon_num","coupon_desc","NewPrice","className","locationState","group","groupPrice","Info","react_router_dom__WEBPACK_IMPORTED_MODULE_16__","to","concat","style","overflow","textOverflow","whiteSpace","WebkitBoxOrient","WebkitLineClamp","wordBreak","display","_common_index__WEBPACK_IMPORTED_MODULE_15__","Object","assign","src","id","key","info","isaist","type","simple","arrow","onClick","pathname","search","state","from","antd_mobile_lib_flex__WEBPACK_IMPORTED_MODULE_11___default","justify","color","fontSize","Order","_this","_Users_xzh_dnmp_www_mr_julyedu_node_modules_babel_preset_react_app_node_modules_babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_5__","this","_Users_xzh_dnmp_www_mr_julyedu_node_modules_babel_preset_react_app_node_modules_babel_runtime_helpers_esm_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_7__","_Users_xzh_dnmp_www_mr_julyedu_node_modules_babel_preset_react_app_node_modules_babel_runtime_helpers_esm_getPrototypeOf__WEBPACK_IMPORTED_MODULE_8__","call","submitOrder","orderList","length","perfect","antd_mobile_lib_toast__WEBPACK_IMPORTED_MODULE_4___default","location","http","post","API","getParam","then","res","data","errno","sessionStorage","removeItem","history","replace","oid","msg","url","useBalance","get","order_id","useBalanceFlag","setState","cacheObj","_Users_xzh_dnmp_www_mr_julyedu_node_modules_babel_preset_react_app_node_modules_babel_runtime_helpers_esm_objectSpread__WEBPACK_IMPORTED_MODULE_2__","setItem","JSON","stringify","computedMoney","totalSale","parseFloat","total","userAccount","user_account","discount","offset","toFixed","computedMoneyByCache","showInfo","prevState","publicGetData","_res$data$data","course","user_info","publicLocalStorage","action","getItem","_this2","home","bargain","Promise","all","resList","courseInfo","orderInfo","code","course_info","pdd_group_info","price","push","_this$state","title","antd_mobile_lib_wing_blank__WEBPACK_IMPORTED_MODULE_1___default","align","height","direction","real_name","cellphone","qq","compute","courseId","Fragment","marginRight","throttle","position","top","left","width","backgroundColor","zIndex","padding","margin","transform","lineHeight","textAlign","borderRadius","border","Component"],"mappings":"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","file":"static/js/Order.a3016da1.chunk.js","sourcesContent":["import React, { Component } from 'react';\nimport { Flex, NavBar, List, WingBlank, Toast } from 'antd-mobile';\nimport { OrderItem } from '@/common/index';\nimport { Link } from 'react-router-dom';\nimport { http, getParam } from \"@/utils\";\nimport { throttle } from 'lodash';\nimport {HeaderBar} from '../../common';\n\nimport \"./order.scss\"\n\nconst Item = List.Item;\n\nfunction OrderList(props) {\n console.log(props);\n const listData = props.list;\n return (\n <div>\n {\n listData.map((item, index) => {\n const { is_coupon, course_id, image_name, price1, price0, simpledescription, course_title, coupon_num, coupon_desc} = item;\n let NewPrice = (<span className='order-newprice'>¥{price1}</span>);\n if(props.locationState && props.locationState.group) {\n NewPrice = (<span className='order-newprice'>¥{props.groupPrice}</span>);\n }\n const Info = (\n <div className=\"order-info\">\n <Link to={`/detail?id=${course_id}`}><p className='order-title' style={{ overflow: 'hidden', textOverflow: 'ellipsis', whiteSpace: 'nowrap' }}>{course_title}</p></Link>\n <p className='order-content' style={{ WebkitBoxOrient: 'vertical', WebkitLineClamp: '2', wordBreak: 'break-all', overflow: 'hidden', textOverflow: 'ellipsis', display: '-webkit-box' }}>{simpledescription}</p>\n <p className='order-des'>\n {/*// 这里根据类型判断 来显示什么价格 拼团还是砍价 还是特训营*/ }\n {/*{*/}\n {/* props.courseId === undefined ? (<span className='order-newprice'>¥{price1}</span>) : (<span className='order-newprice'>¥{price0}</span>)*/}\n {/*}*/}\n {NewPrice}\n <span className='order-price'>¥{price0}</span>\n </p>\n </div>\n );\n\n return (\n <OrderItem {...item} src={image_name} id={course_id} key={index} info={Info} isaist={props.isaist}>\n {\n (props.locationState && (props.locationState.type || props.locationState.simple)) ? (\n <div className=\"order-prefer\">\n <List key={index}>\n <Item\n arrow=\"horizontal\"\n onClick={() => { }}\n >\n <Link to={{\n pathname: `/coupons`,\n search: `?id=${course_id}`,\n state: {\n from: '/order'\n }}}>\n {/* <Link to='coupons' query={{id: course_id}} state={{from: '/order'}}> */}\n <Flex justify='between'>\n <span style={{ color: '#333', fontSize: '15px' }}>优惠券</span>\n <span style={{ fontSize: '14px', color: '#999999' }}>{!coupon_desc ? (coupon_num === 0 ? '无' : `${coupon_num}张可用`) : (coupon_desc)}</span>\n </Flex>\n </Link>\n </Item>\n </List>\n </div>\n ) : null\n }\n\n </OrderItem>\n )\n })\n }\n </div>\n );\n}\n\nclass Order extends Component {\n constructor(props) {\n super(props);\n this.state = {\n perfect: this.props.location.state,\n user_account: 0.00, // 账户余额\n total: 0.00, // 需要支付总金额\n discount: 0.00, //\n useBalance: false,\n orderList: [],\n info: false,\n offset: 0,\n };\n }\n // 提交订单\n submitOrder = () => {\n if (this.state.orderList.length === 0) {\n Toast.info('没有要提交的订单!');\n return;\n }\n if (!this.state.perfect) {\n Toast.info('请完善报名信息!');\n }\n if(this.props.location.state && this.props.location.state.group === 1) {\n http.post(`${API['base-api']}/pdd/m`, {course_id: getParam(\"id\")}).then(res => {\n console.log(res.data.data);\n if(res.data.errno === 200) {\n sessionStorage.removeItem('orderUseCacheObj');\n this.props.history.replace(`/payorder?oid=${res.data.data.oid}`);\n }else {\n Toast.info(res.data.msg, 2);\n return;\n }\n });\n }else{\n let url = `${API['base-api']}/m/v34/cart/order?ischeck=${this.state.useBalance}`;\n if(this.props.location.state && this.props.location.state.type === 1) {\n url += '&type=1'\n }\n http.get(url).then(res => {\n console.log(res);\n if(res.data.errno !== 0) {\n Toast.info(res.data.msg, 2);\n return;\n }\n sessionStorage.removeItem('orderUseCacheObj');\n this.props.history.replace(`/payorder?oid=${res.data.data.order_id}`);\n });\n }\n\n }\n // 勾选取消勾选 是否使用余额\n useBalance = () => {\n let useBalanceFlag = this.state.useBalance;\n this.setState({\n useBalance: !useBalanceFlag\n });\n if (!useBalanceFlag) {\n this.cacheObj = {\n ...this.state\n };\n sessionStorage.setItem('orderUseCacheObj', JSON.stringify(this.state));\n }else{\n sessionStorage.removeItem('orderUseCacheObj');\n }\n this.computedMoney(useBalanceFlag);\n }\n // 勾选取消勾选时:计算金额、优惠金额、优惠券等\n computedMoney = (useBalanceFlag) => {\n let totalSale = parseFloat(this.cacheObj.total),\n userAccount = parseFloat(this.cacheObj.user_account);\n const { discount } = this.state;\n if (!useBalanceFlag) {\n if (totalSale > userAccount) {\n this.setState({\n offset: userAccount.toFixed(2),\n total: (totalSale - userAccount).toFixed(2),\n discount: (userAccount + parseFloat(discount)).toFixed(2),\n });\n } else {\n this.setState({\n offset: totalSale.toFixed(2),\n total: 0,\n discount: (totalSale + parseFloat(discount)).toFixed(2),\n });\n }\n } else {\n this.setState({\n offset: this.cacheObj.offset,\n total: this.cacheObj.total,\n discount: this.cacheObj.discount,\n });\n }\n };\n // 选择优惠券返回时根据是否勾选计算\n computedMoneyByCache = () => {\n let totalSale = parseFloat(this.cacheObj.total),\n userAccount = parseFloat(this.cacheObj.user_account),\n discount = parseFloat(this.cacheObj.discount);\n if(totalSale > userAccount) {\n this.setState({\n offset: userAccount.toFixed(2),\n total: (totalSale - userAccount).toFixed(2),\n discount: (discount + userAccount).toFixed(2),\n });\n }else{\n this.setState({\n offset: totalSale.toFixed(2),\n total: 0,\n discount: totalSale.toFixed(2),\n });\n }\n };\n // 展示余额抵扣规则\n showInfo = () => {\n this.setState((prevState) => ({\n info: !prevState.info\n }));\n };\n // 公共方法 存储数据\n publicGetData = (res) => {\n let { course, total, user_account, user_info, discount } = res.data.data;\n if(this.props.location.state && this.props.location.state.group === 1) {\n total = this.groupPrice;\n }\n this.cacheObj = {\n perfect: user_info,\n orderList: course,\n user_account,\n total,\n discount,\n };\n this.setState({\n perfect: user_info,\n orderList: course,\n user_account,\n total,\n discount,\n });\n };\n // 公共方法 本地存储\n publicLocalStorage = () => {\n if(this.props.history.action === 'PUSH') {\n sessionStorage.removeItem('orderUseCacheObj');\n } else{\n const cacheObj = sessionStorage.getItem('orderUseCacheObj');\n if(cacheObj !== null) {\n this.setState({\n useBalance: true\n });\n this.computedMoneyByCache();\n }\n }\n };\n componentDidMount() {\n let _this = this;\n console.log(this.props.location.state);\n\n // type: 1,返现课程,simple: 1,正常购买\n if(this.props.location.state && this.props.location.state.type === 1) {\n http.get(`${API.home}/m/order/preorder?type=1`).then((res) => {\n if(res.data.errno === 200) {\n this.publicGetData(res);\n this.publicLocalStorage();\n }else{\n Toast.info(res.data.msg, 2);\n }\n })\n } else if (this.props.location.state && (this.props.location.state.simple === 1 || this.props.location.state.bargain === 1)) {\n // 普通课程立即报名 不带 type = 1\n http.get(`${API.home}/m/order/preorder`).then(res => {\n if(res.data.errno === 200) {\n this.publicGetData(res);\n this.publicLocalStorage();\n }else{\n Toast.info(res.data.msg, 2);\n }\n });\n } else if (this.props.location.state && this.props.location.state.group === 1){\n // 获取一键开团的课程\n Promise.all([http.get(`${API.home}/m/del_cart_order/${getParam('id')}`),http.get(`${API.home}/m/order/preorder`), http.get(`${API.home}/m/course/detail/${getParam('id')}`)]).then(resList => {\n console.log(resList);\n let courseInfo = resList[1],\n orderInfo = resList[2];\n console.log(courseInfo.data);\n console.log(orderInfo.data);\n if(courseInfo.data.code === 200) {\n\n }else{\n Toast.info(courseInfo.data.msg, 2);\n return;\n }\n if(orderInfo.data.code === 200) {\n\n }else{\n Toast.info(courseInfo.data.msg, 2);\n return;\n }\n this.groupPrice = orderInfo.data.data.course_info.pdd_group_info.price;\n if(courseInfo.data.data.course.length === 0) {\n courseInfo.data.data.course.push(orderInfo.data.data.course_info)\n }\n this.publicGetData(courseInfo);\n this.publicLocalStorage();\n });\n }\n else{\n http.get(`${API.home}/m/order/preorder`).then((res) => {\n console.log('为了验证什么条件下会走这段代码');\n if (res.data.errno !== 200) {\n Toast.info(res.data.msg, 2);\n return;\n }\n\n this.publicGetData(res);\n this.publicLocalStorage();\n })\n }\n // else {\n // if(getParam('id')) {\n // Promise.all([http.get(`${API.home}/m/del_cart_order/${getParam('id')}`), http.get(`${API.home}/m/order/preorder`)]).then(res => {\n // console.log(res);\n // let preorder = res[1],\n // orderList = preorder.data.data.course;\n // if(preorder.data.errno !== 200) {\n // Toast.info(preorder.data.msg, 2);\n // return;\n // }\n //\n // this.publicGetData(preorder);\n // this.publicLocalStorage();\n // })\n // }else{\n // http.get(`${API.home}/m/order/preorder`).then((res) => {\n // console.log('为了验证什么条件下会走这段代码');\n // if (res.data.errno !== 200) {\n // Toast.info(res.data.msg, 2);\n // return;\n // }\n //\n // this.publicGetData(res);\n // this.publicLocalStorage();\n // })\n // }\n // }\n };\n render() {\n const {\n perfect,\n orderList,\n user_account,\n total,\n discount,\n useBalance,\n info,\n offset,\n } = this.state;\n\n return (\n <div className=\"order-wrapper\">\n <Flex>\n <Flex.Item>\n <HeaderBar title='课程报名' arrow={true} />\n {\n !this.state.perfect &&\n <Link to={{\n pathname: '/orderinfo',\n state: {type: this.props.location.state ? this.props.location.state.type : null, id: getParam('id')}\n }}\n className=\"order-information\">\n <i className=\"iconfont iconiconfront-6 order-addsize\" />\n <div className=\"order-infotext\">完善报名信息</div>\n <i className=\"iconfont iconiconfront-70 order-next\" />\n </Link>\n }\n {\n this.state.perfect &&\n <div className=\"order-information2\">\n <WingBlank>\n <Link to={{\n pathname: '/orderinfo',\n state: {\n ...this.state.perfect,\n ...this.props.location.state,\n id: getParam('id')\n }\n }\n } >\n <Flex align='center' justify='between' style={{ height: '80px' }}>\n <i className=\"iconfont iconiconfront-20 user-icon\"></i>\n\n <Flex direction='column' justify='between' align='start' className=\"order-cell\">\n <div className=\"name\">{`姓名:${perfect.real_name}`}</div>\n <div>{`电话:${perfect.cellphone}`}</div>\n </Flex>\n\n <Flex align='start' className=\"order-cell\">\n <div>{`QQ:${perfect.qq}`}</div>\n </Flex>\n\n </Flex>\n </Link>\n </WingBlank>\n </div>\n }\n <div className=\"order-list\">\n <OrderList list={orderList} compute={this.computedMoney} courseId={getParam('id')} locationState={this.props.location.state} groupPrice={this.groupPrice}/>\n </div>\n <div className=\"order-balance\">\n <List>\n <Item\n className=\"order-prefer-text\"\n >\n <Flex justify='between'>\n <Flex align='center'>\n <span>余额抵扣</span>\n <span className=\"order-balanceprice\"> (余额: <i className=\"order-money\">{`${user_account}元`}</i>)</span>\n <i className=\"iconfont iconiconfront-22 question-mark\" onClick={this.showInfo}></i>\n </Flex>\n\n <Flex>\n {\n useBalance ? (\n <>\n <span style={{ color: '#FF2121', fontSize: '15px', marginRight: \"6px\" }}>{`-${offset}`}</span>\n <i className={`iconfont icondanseshixintubiao-5 balance-used`} onClick={throttle(this.useBalance, 600)}></i>\n </>\n ) : (\n <i className='circle-icon' onClick={throttle(this.useBalance, 600)}></i>\n )\n }\n </Flex>\n </Flex>\n </Item>\n </List>\n </div>\n <div className=\"order-bar\">\n <div className=\"order-course\">\n <span className=\"order-course-text\">{`${orderList.length}门课程`}</span>\n </div>\n <div className=\"order-bar-text\">\n <div className=\"order-amount\">\n <span className=\"order-amount-title\">合计:</span>\n <span className=\"order-amount-price\">{`¥${total}`}</span>\n </div>\n <div className=\"order-preprice\">\n <span className=\"order-preprice-title\">已优惠:</span>\n <span className=\"order-preprice-price\">{`¥${discount}`}</span>\n </div>\n </div>\n {\n perfect ? (\n\n <button type=\"button\" className=\"order-button has-info\">\n <span className=\"order-button-text\" onClick={this.submitOrder}>提交订单</span>\n </button>\n ) : (\n\n <button type=\"button\" className=\"order-button\">\n <span className=\"order-button-text\" onClick={this.submitOrder}>提交订单</span>\n </button>\n )\n }\n </div>\n </Flex.Item>\n </Flex>\n {\n info ? (\n <div style={{ position: 'fixed', top: 0, left: 0, width: '100%', height: '100%', backgroundColor: 'rgba(0, 0, 0, 0.8)', zIndex: '99' }}>\n <div style={{ padding: '20px', backgroundColor: '#FFF', width: '300px', height: '170px', margin: '0 auto', position: 'absolute', left: '50%', top: '50%', transform: 'translate(-50%, -50%)' }}>\n <Flex direction='column' justify='between' align='center' style={{ height: '100%' }}>\n <p style={{ fontSize: '16px', color: '#333333' }}>余额抵扣说明</p>\n <p style={{ lineHeight: '20px', fontSize: '13px', color: '#666666' }}>分销课程或者参与七月在线的相关活动,可获得资金奖励。账户资金可直接提现,也可抵扣课程费用。</p>\n <div onClick={this.showInfo} style={{ width: '260px', height: '30px', lineHeight: '30px', textAlign: 'center', borderRadius: '3px', border: '1px solid #0099FF', color: '#0099FF', fontSize: '15px' }}>知道了</div>\n </Flex>\n </div>\n </div>\n ) : null\n }\n </div>\n\n )\n }\n\n}\n\nexport default Order;"],"sourceRoot":""}
\ No newline at end of file
(window.webpackJsonp=window.webpackJsonp||[]).push([[6],{1143:function(e,t,a){},1161:function(e,t,a){"use strict";a.r(t);a(153);var o=a(74),r=a.n(o),c=a(24),n=(a(44),a(14)),s=a.n(n),i=a(7),l=a(8),d=a(11),p=a(9),m=a(10),u=(a(88),a(26)),f=a.n(u),h=(a(114),a(46)),b=a.n(h),g=a(0),E=a.n(g),y=a(30),v=a(16),x=a(4),N=a(40),O=(a(1143),b.a.Item);function j(e){console.log(e);var t=e.list;return E.a.createElement("div",null,t.map(function(t,a){t.is_coupon;var o=t.course_id,r=t.image_name,c=t.price1,n=t.price0,s=t.simpledescription,i=t.course_title,l=t.coupon_num,d=t.coupon_desc,p=E.a.createElement("span",{className:"order-newprice"},"\xa5",c);e.locationState&&e.locationState.group&&(p=E.a.createElement("span",{className:"order-newprice"},"\xa5",e.groupPrice));var m=E.a.createElement("div",{className:"order-info"},E.a.createElement(v.b,{to:"/detail?id=".concat(o)},E.a.createElement("p",{className:"order-title",style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}},i)),E.a.createElement("p",{className:"order-content",style:{WebkitBoxOrient:"vertical",WebkitLineClamp:"2",wordBreak:"break-all",overflow:"hidden",textOverflow:"ellipsis",display:"-webkit-box"}},s),E.a.createElement("p",{className:"order-des"},p,E.a.createElement("span",{className:"order-price"},"\xa5",n)));return E.a.createElement(y.g,Object.assign({},t,{src:r,id:o,key:a,info:m,isaist:e.isaist}),e.locationState&&(e.locationState.type||e.locationState.simple)?E.a.createElement("div",{className:"order-prefer"},E.a.createElement(b.a,{key:a},E.a.createElement(O,{arrow:"horizontal",onClick:function(){}},E.a.createElement(v.b,{to:{pathname:"/coupons",search:"?id=".concat(o),state:{from:"/order"}}},E.a.createElement(f.a,{justify:"between"},E.a.createElement("span",{style:{color:"#333",fontSize:"15px"}},"\u4f18\u60e0\u5238"),E.a.createElement("span",{style:{fontSize:"14px",color:"#999999"}},d||(0===l?"\u65e0":"".concat(l,"\u5f20\u53ef\u7528")))))))):null)}))}var S=function(e){function t(e){var a;return Object(i.a)(this,t),(a=Object(d.a)(this,Object(p.a)(t).call(this,e))).submitOrder=function(){a.state.total;if(0!==a.state.orderList.length)if(a.state.perfect||s.a.info("\u8bf7\u5b8c\u5584\u62a5\u540d\u4fe1\u606f\uff01"),a.props.location.state&&1===a.props.location.state.group)x.c.post("".concat(API["base-api"],"/pdd/m"),{course_id:Object(x.b)("id")}).then(function(e){200===e.data.errno?(sessionStorage.removeItem("orderUseCacheObj"),1!==e.data.data.is_free?a.props.history.replace("/payorder?oid=".concat(e.data.data.oid)):a.props.history.push("/togroup?id=".concat(e.data.data.order_id))):s.a.info(e.data.msg,2)});else{var e="".concat(API["base-api"],"/m/v34/cart/order?ischeck=").concat(a.state.useBalance);a.props.location.state&&1===a.props.location.state.type&&(e+="&type=1"),x.c.get(e).then(function(e){0===e.data.errno?(sessionStorage.removeItem("orderUseCacheObj"),1!==e.data.data.is_free?a.props.history.replace("/payorder?oid=".concat(e.data.data.order_id)):a.props.history.replace("/purchased")):s.a.info(e.data.msg,2)})}else s.a.info("\u6ca1\u6709\u8981\u63d0\u4ea4\u7684\u8ba2\u5355\uff01")},a.useBalance=function(){var e=a.state.useBalance;a.setState({useBalance:!e}),e?sessionStorage.removeItem("orderUseCacheObj"):(a.cacheObj=Object(c.a)({},a.state),sessionStorage.setItem("orderUseCacheObj",JSON.stringify(a.state))),a.computedMoney(e)},a.computedMoney=function(e){var t=parseFloat(a.cacheObj.total),o=parseFloat(a.cacheObj.user_account),r=a.state.discount;e?a.setState({offset:a.cacheObj.offset,total:a.cacheObj.total,discount:a.cacheObj.discount}):t>o?a.setState({offset:o.toFixed(2),total:(t-o).toFixed(2),discount:(o+parseFloat(r)).toFixed(2)}):a.setState({offset:t.toFixed(2),total:0,discount:(t+parseFloat(r)).toFixed(2)})},a.computedMoneyByCache=function(){var e=parseFloat(a.cacheObj.total),t=parseFloat(a.cacheObj.user_account),o=parseFloat(a.cacheObj.discount);e>t?a.setState({offset:t.toFixed(2),total:(e-t).toFixed(2),discount:(o+t).toFixed(2)}):a.setState({offset:e.toFixed(2),total:0,discount:e.toFixed(2)})},a.showInfo=function(){a.setState(function(e){return{info:!e.info}})},a.publicGetData=function(e){var t=e.data.data,o=t.course,r=t.total,c=t.user_account,n=t.user_info,s=t.discount;a.props.location.state&&1===a.props.location.state.group&&(r=a.groupPrice),a.cacheObj={perfect:n,orderList:o,user_account:c,total:r,discount:s},a.setState({perfect:n,orderList:o,user_account:c,total:r,discount:s})},a.publicLocalStorage=function(){"PUSH"===a.props.history.action?sessionStorage.removeItem("orderUseCacheObj"):null!==sessionStorage.getItem("orderUseCacheObj")&&(a.setState({useBalance:!0}),a.computedMoneyByCache())},a.state={perfect:a.props.location.state,user_account:0,total:0,discount:0,useBalance:!1,orderList:[],info:!1,offset:0},a}return Object(m.a)(t,e),Object(l.a)(t,[{key:"componentDidMount",value:function(){var e=this;console.log(this.props.location.state),this.props.location.state&&1===this.props.location.state.type?x.c.get("".concat(API.home,"/m/order/preorder?type=1")).then(function(t){200===t.data.errno?(e.publicGetData(t),e.publicLocalStorage()):s.a.info(t.data.msg,2)}):!this.props.location.state||1!==this.props.location.state.simple&&1!==this.props.location.state.bargain?this.props.location.state&&1===this.props.location.state.group?Promise.all([x.c.get("".concat(API.home,"/m/del_cart_order/").concat(Object(x.b)("id"))),x.c.get("".concat(API.home,"/m/order/preorder")),x.c.get("".concat(API.home,"/m/course/detail/").concat(Object(x.b)("id")))]).then(function(t){console.log(t);var a=t[1],o=t[2];console.log(a.data),console.log(o.data),200===a.data.code&&200===o.data.code?(e.groupPrice=o.data.data.course_info.pdd_group_info.price,0===a.data.data.course.length&&a.data.data.course.push(o.data.data.course_info),e.publicGetData(a),e.publicLocalStorage()):s.a.info(a.data.msg,2)}):x.c.get("".concat(API.home,"/m/order/preorder")).then(function(t){console.log("\u4e3a\u4e86\u9a8c\u8bc1\u4ec0\u4e48\u6761\u4ef6\u4e0b\u4f1a\u8d70\u8fd9\u6bb5\u4ee3\u7801"),200===t.data.errno?(e.publicGetData(t),e.publicLocalStorage()):s.a.info(t.data.msg,2)}):x.c.get("".concat(API.home,"/m/order/preorder")).then(function(t){200===t.data.errno?(e.publicGetData(t),e.publicLocalStorage()):s.a.info(t.data.msg,2)})}},{key:"render",value:function(){var e=this.state,t=e.perfect,a=e.orderList,o=e.user_account,n=e.total,s=e.discount,i=e.useBalance,l=e.info,d=e.offset;return E.a.createElement("div",{className:"order-wrapper"},E.a.createElement(f.a,null,E.a.createElement(f.a.Item,null,E.a.createElement(y.e,{title:"\u8bfe\u7a0b\u62a5\u540d",arrow:!0}),!this.state.perfect&&E.a.createElement(v.b,{to:{pathname:"/orderinfo",state:{type:this.props.location.state?this.props.location.state.type:null,id:Object(x.b)("id")}},className:"order-information"},E.a.createElement("i",{className:"iconfont iconiconfront-6 order-addsize"}),E.a.createElement("div",{className:"order-infotext"},"\u5b8c\u5584\u62a5\u540d\u4fe1\u606f"),E.a.createElement("i",{className:"iconfont iconiconfront-70 order-next"})),this.state.perfect&&E.a.createElement("div",{className:"order-information2"},E.a.createElement(r.a,null,E.a.createElement(v.b,{to:{pathname:"/orderinfo",state:Object(c.a)({},this.state.perfect,this.props.location.state,{id:Object(x.b)("id")})}},E.a.createElement(f.a,{align:"center",justify:"between",style:{height:"80px"}},E.a.createElement("i",{className:"iconfont iconiconfront-20 user-icon"}),E.a.createElement(f.a,{direction:"column",justify:"between",align:"start",className:"order-cell"},E.a.createElement("div",{className:"name"},"\u59d3\u540d\uff1a".concat(t.real_name)),E.a.createElement("div",null,"\u7535\u8bdd\uff1a".concat(t.cellphone))),E.a.createElement(f.a,{align:"start",className:"order-cell"},E.a.createElement("div",null,"QQ\uff1a".concat(t.qq))))))),E.a.createElement("div",{className:"order-list"},E.a.createElement(j,{list:a,compute:this.computedMoney,courseId:Object(x.b)("id"),locationState:this.props.location.state,groupPrice:this.groupPrice})),E.a.createElement("div",{className:"order-balance"},E.a.createElement(b.a,null,E.a.createElement(O,{className:"order-prefer-text"},E.a.createElement(f.a,{justify:"between"},E.a.createElement(f.a,{align:"center"},E.a.createElement("span",null,"\u4f59\u989d\u62b5\u6263"),E.a.createElement("span",{className:"order-balanceprice"}," (\u4f59\u989d: ",E.a.createElement("i",{className:"order-money"},"".concat(o,"\u5143")),")"),E.a.createElement("i",{className:"iconfont iconiconfront-22 question-mark",onClick:this.showInfo})),E.a.createElement(f.a,null,i?E.a.createElement(E.a.Fragment,null,E.a.createElement("span",{style:{color:"#FF2121",fontSize:"15px",marginRight:"6px"}},"-".concat(d)),E.a.createElement("i",{className:"iconfont icondanseshixintubiao-5 balance-used",onClick:Object(N.throttle)(this.useBalance,600)})):E.a.createElement("i",{className:"circle-icon",onClick:Object(N.throttle)(this.useBalance,600)})))))),E.a.createElement("div",{className:"order-bar"},E.a.createElement("div",{className:"order-course"},E.a.createElement("span",{className:"order-course-text"},"".concat(a.length,"\u95e8\u8bfe\u7a0b"))),E.a.createElement("div",{className:"order-bar-text"},E.a.createElement("div",{className:"order-amount"},E.a.createElement("span",{className:"order-amount-title"},"\u5408\u8ba1:"),E.a.createElement("span",{className:"order-amount-price"},"\uffe5".concat(n))),E.a.createElement("div",{className:"order-preprice"},E.a.createElement("span",{className:"order-preprice-title"},"\u5df2\u4f18\u60e0:"),E.a.createElement("span",{className:"order-preprice-price"},"\xa5".concat(s)))),t?E.a.createElement("button",{type:"button",className:"order-button has-info"},E.a.createElement("span",{className:"order-button-text",onClick:this.submitOrder},"\u63d0\u4ea4\u8ba2\u5355")):E.a.createElement("button",{type:"button",className:"order-button"},E.a.createElement("span",{className:"order-button-text",onClick:this.submitOrder},"\u63d0\u4ea4\u8ba2\u5355"))))),l?E.a.createElement("div",{style:{position:"fixed",top:0,left:0,width:"100%",height:"100%",backgroundColor:"rgba(0, 0, 0, 0.8)",zIndex:"99"}},E.a.createElement("div",{style:{padding:"20px",backgroundColor:"#FFF",width:"300px",height:"170px",margin:"0 auto",position:"absolute",left:"50%",top:"50%",transform:"translate(-50%, -50%)"}},E.a.createElement(f.a,{direction:"column",justify:"between",align:"center",style:{height:"100%"}},E.a.createElement("p",{style:{fontSize:"16px",color:"#333333"}},"\u4f59\u989d\u62b5\u6263\u8bf4\u660e"),E.a.createElement("p",{style:{lineHeight:"20px",fontSize:"13px",color:"#666666"}},"\u5206\u9500\u8bfe\u7a0b\u6216\u8005\u53c2\u4e0e\u4e03\u6708\u5728\u7ebf\u7684\u76f8\u5173\u6d3b\u52a8\uff0c\u53ef\u83b7\u5f97\u8d44\u91d1\u5956\u52b1\u3002\u8d26\u6237\u8d44\u91d1\u53ef\u76f4\u63a5\u63d0\u73b0\uff0c\u4e5f\u53ef\u62b5\u6263\u8bfe\u7a0b\u8d39\u7528\u3002"),E.a.createElement("div",{onClick:this.showInfo,style:{width:"260px",height:"30px",lineHeight:"30px",textAlign:"center",borderRadius:"3px",border:"1px solid #0099FF",color:"#0099FF",fontSize:"15px"}},"\u77e5\u9053\u4e86")))):null)}}]),t}(g.Component);t.default=S}}]);
//# sourceMappingURL=Order.b9d3d946.chunk.js.map
\ No newline at end of file
{"version":3,"sources":["components/order/index.js"],"names":["Item","antd_mobile_lib_list__WEBPACK_IMPORTED_MODULE_13___default","a","OrderList","props","console","log","listData","list","react__WEBPACK_IMPORTED_MODULE_14___default","createElement","map","item","index","is_coupon","course_id","image_name","price1","price0","simpledescription","course_title","coupon_num","coupon_desc","NewPrice","className","locationState","group","groupPrice","Info","react_router_dom__WEBPACK_IMPORTED_MODULE_16__","to","concat","style","overflow","textOverflow","whiteSpace","WebkitBoxOrient","WebkitLineClamp","wordBreak","display","_common_index__WEBPACK_IMPORTED_MODULE_15__","Object","assign","src","id","key","info","isaist","type","simple","arrow","onClick","pathname","search","state","from","antd_mobile_lib_flex__WEBPACK_IMPORTED_MODULE_11___default","justify","color","fontSize","Order","_this","_Users_xzh_dnmp_www_mr_julyedu_node_modules_babel_preset_react_app_node_modules_babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_5__","this","_Users_xzh_dnmp_www_mr_julyedu_node_modules_babel_preset_react_app_node_modules_babel_runtime_helpers_esm_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_7__","_Users_xzh_dnmp_www_mr_julyedu_node_modules_babel_preset_react_app_node_modules_babel_runtime_helpers_esm_getPrototypeOf__WEBPACK_IMPORTED_MODULE_8__","call","submitOrder","total","orderList","length","perfect","antd_mobile_lib_toast__WEBPACK_IMPORTED_MODULE_4___default","location","http","post","API","getParam","then","res","data","errno","sessionStorage","removeItem","is_free","history","replace","oid","push","order_id","msg","url","useBalance","get","useBalanceFlag","setState","cacheObj","_Users_xzh_dnmp_www_mr_julyedu_node_modules_babel_preset_react_app_node_modules_babel_runtime_helpers_esm_objectSpread__WEBPACK_IMPORTED_MODULE_2__","setItem","JSON","stringify","computedMoney","totalSale","parseFloat","userAccount","user_account","discount","offset","toFixed","computedMoneyByCache","showInfo","prevState","publicGetData","_res$data$data","course","user_info","publicLocalStorage","action","getItem","_this2","home","bargain","Promise","all","resList","courseInfo","orderInfo","code","course_info","pdd_group_info","price","_this$state","title","antd_mobile_lib_wing_blank__WEBPACK_IMPORTED_MODULE_1___default","align","height","direction","real_name","cellphone","qq","compute","courseId","Fragment","marginRight","throttle","position","top","left","width","backgroundColor","zIndex","padding","margin","transform","lineHeight","textAlign","borderRadius","border","Component"],"mappings":"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","file":"static/js/Order.b9d3d946.chunk.js","sourcesContent":["import React, { Component } from 'react';\nimport { Flex, NavBar, List, WingBlank, Toast } from 'antd-mobile';\nimport { OrderItem } from '@/common/index';\nimport { Link } from 'react-router-dom';\nimport { http, getParam } from \"@/utils\";\nimport { throttle } from 'lodash';\nimport {HeaderBar} from '../../common';\n\nimport \"./order.scss\"\n\nconst Item = List.Item;\n\nfunction OrderList(props) {\n console.log(props);\n const listData = props.list;\n return (\n <div>\n {\n listData.map((item, index) => {\n const { is_coupon, course_id, image_name, price1, price0, simpledescription, course_title, coupon_num, coupon_desc} = item;\n let NewPrice = (<span className='order-newprice'>¥{price1}</span>);\n if(props.locationState && props.locationState.group) {\n NewPrice = (<span className='order-newprice'>¥{props.groupPrice}</span>);\n }\n const Info = (\n <div className=\"order-info\">\n <Link to={`/detail?id=${course_id}`}><p className='order-title' style={{ overflow: 'hidden', textOverflow: 'ellipsis', whiteSpace: 'nowrap' }}>{course_title}</p></Link>\n <p className='order-content' style={{ WebkitBoxOrient: 'vertical', WebkitLineClamp: '2', wordBreak: 'break-all', overflow: 'hidden', textOverflow: 'ellipsis', display: '-webkit-box' }}>{simpledescription}</p>\n <p className='order-des'>\n {/*// 这里根据类型判断 来显示什么价格 拼团还是砍价 还是特训营*/ }\n {/*{*/}\n {/* props.courseId === undefined ? (<span className='order-newprice'>¥{price1}</span>) : (<span className='order-newprice'>¥{price0}</span>)*/}\n {/*}*/}\n {NewPrice}\n <span className='order-price'>¥{price0}</span>\n </p>\n </div>\n );\n\n return (\n <OrderItem {...item} src={image_name} id={course_id} key={index} info={Info} isaist={props.isaist}>\n {\n (props.locationState && (props.locationState.type || props.locationState.simple)) ? (\n <div className=\"order-prefer\">\n <List key={index}>\n <Item\n arrow=\"horizontal\"\n onClick={() => { }}\n >\n <Link to={{\n pathname: `/coupons`,\n search: `?id=${course_id}`,\n state: {\n from: '/order'\n }}}>\n {/* <Link to='coupons' query={{id: course_id}} state={{from: '/order'}}> */}\n <Flex justify='between'>\n <span style={{ color: '#333', fontSize: '15px' }}>优惠券</span>\n <span style={{ fontSize: '14px', color: '#999999' }}>{!coupon_desc ? (coupon_num === 0 ? '无' : `${coupon_num}张可用`) : (coupon_desc)}</span>\n </Flex>\n </Link>\n </Item>\n </List>\n </div>\n ) : null\n }\n\n </OrderItem>\n )\n })\n }\n </div>\n );\n}\n\nclass Order extends Component {\n constructor(props) {\n super(props);\n this.state = {\n perfect: this.props.location.state,\n user_account: 0.00, // 账户余额\n total: 0.00, // 需要支付总金额\n discount: 0.00, //\n useBalance: false,\n orderList: [],\n info: false,\n offset: 0,\n };\n }\n // 提交订单\n submitOrder = () => {\n const {total} = this.state;\n if (this.state.orderList.length === 0) {\n Toast.info('没有要提交的订单!');\n return;\n }\n if (!this.state.perfect) {\n Toast.info('请完善报名信息!');\n }\n if(this.props.location.state && this.props.location.state.group === 1) {\n http.post(`${API['base-api']}/pdd/m`, {course_id: getParam(\"id\")}).then(res => {\n if(res.data.errno === 200) {\n sessionStorage.removeItem('orderUseCacheObj');\n if (res.data.data.is_free === 1) {\n this.props.history.push(`/togroup?id=${res.data.data.order_id}`);\n return;\n }\n this.props.history.replace(`/payorder?oid=${res.data.data.oid}`);\n }else {\n Toast.info(res.data.msg, 2);\n return;\n }\n });\n }else{\n let url = `${API['base-api']}/m/v34/cart/order?ischeck=${this.state.useBalance}`;\n if(this.props.location.state && this.props.location.state.type === 1) {\n url += '&type=1'\n }\n http.get(url).then(res => {\n if(res.data.errno !== 0) {\n Toast.info(res.data.msg, 2);\n return;\n }\n sessionStorage.removeItem('orderUseCacheObj');\n if (res.data.data.is_free === 1) {\n this.props.history.replace(`/purchased`);\n return;\n }\n this.props.history.replace(`/payorder?oid=${res.data.data.order_id}`);\n });\n }\n\n }\n // 勾选取消勾选 是否使用余额\n useBalance = () => {\n let useBalanceFlag = this.state.useBalance;\n this.setState({\n useBalance: !useBalanceFlag\n });\n if (!useBalanceFlag) {\n this.cacheObj = {\n ...this.state\n };\n sessionStorage.setItem('orderUseCacheObj', JSON.stringify(this.state));\n }else{\n sessionStorage.removeItem('orderUseCacheObj');\n }\n this.computedMoney(useBalanceFlag);\n }\n // 勾选取消勾选时:计算金额、优惠金额、优惠券等\n computedMoney = (useBalanceFlag) => {\n let totalSale = parseFloat(this.cacheObj.total),\n userAccount = parseFloat(this.cacheObj.user_account);\n const { discount } = this.state;\n if (!useBalanceFlag) {\n if (totalSale > userAccount) {\n this.setState({\n offset: userAccount.toFixed(2),\n total: (totalSale - userAccount).toFixed(2),\n discount: (userAccount + parseFloat(discount)).toFixed(2),\n });\n } else {\n this.setState({\n offset: totalSale.toFixed(2),\n total: 0,\n discount: (totalSale + parseFloat(discount)).toFixed(2),\n });\n }\n } else {\n this.setState({\n offset: this.cacheObj.offset,\n total: this.cacheObj.total,\n discount: this.cacheObj.discount,\n });\n }\n };\n // 选择优惠券返回时根据是否勾选计算\n computedMoneyByCache = () => {\n let totalSale = parseFloat(this.cacheObj.total),\n userAccount = parseFloat(this.cacheObj.user_account),\n discount = parseFloat(this.cacheObj.discount);\n if(totalSale > userAccount) {\n this.setState({\n offset: userAccount.toFixed(2),\n total: (totalSale - userAccount).toFixed(2),\n discount: (discount + userAccount).toFixed(2),\n });\n }else{\n this.setState({\n offset: totalSale.toFixed(2),\n total: 0,\n discount: totalSale.toFixed(2),\n });\n }\n };\n // 展示余额抵扣规则\n showInfo = () => {\n this.setState((prevState) => ({\n info: !prevState.info\n }));\n };\n // 公共方法 存储数据\n publicGetData = (res) => {\n let { course, total, user_account, user_info, discount } = res.data.data;\n if(this.props.location.state && this.props.location.state.group === 1) {\n total = this.groupPrice;\n }\n this.cacheObj = {\n perfect: user_info,\n orderList: course,\n user_account,\n total,\n discount,\n };\n this.setState({\n perfect: user_info,\n orderList: course,\n user_account,\n total,\n discount,\n });\n };\n // 公共方法 本地存储\n publicLocalStorage = () => {\n if(this.props.history.action === 'PUSH') {\n sessionStorage.removeItem('orderUseCacheObj');\n } else{\n const cacheObj = sessionStorage.getItem('orderUseCacheObj');\n if(cacheObj !== null) {\n this.setState({\n useBalance: true\n });\n this.computedMoneyByCache();\n }\n }\n };\n componentDidMount() {\n let _this = this;\n console.log(this.props.location.state);\n\n // type: 1,返现课程,simple: 1,正常购买\n if(this.props.location.state && this.props.location.state.type === 1) {\n http.get(`${API.home}/m/order/preorder?type=1`).then((res) => {\n if(res.data.errno === 200) {\n this.publicGetData(res);\n this.publicLocalStorage();\n }else{\n Toast.info(res.data.msg, 2);\n }\n })\n } else if (this.props.location.state && (this.props.location.state.simple === 1 || this.props.location.state.bargain === 1)) {\n // 普通课程立即报名 不带 type = 1\n http.get(`${API.home}/m/order/preorder`).then(res => {\n if(res.data.errno === 200) {\n this.publicGetData(res);\n this.publicLocalStorage();\n }else{\n Toast.info(res.data.msg, 2);\n }\n });\n } else if (this.props.location.state && this.props.location.state.group === 1){\n // 获取一键开团的课程\n Promise.all([http.get(`${API.home}/m/del_cart_order/${getParam('id')}`),http.get(`${API.home}/m/order/preorder`), http.get(`${API.home}/m/course/detail/${getParam('id')}`)]).then(resList => {\n console.log(resList);\n let courseInfo = resList[1],\n orderInfo = resList[2];\n console.log(courseInfo.data);\n console.log(orderInfo.data);\n if(courseInfo.data.code === 200) {\n\n }else{\n Toast.info(courseInfo.data.msg, 2);\n return;\n }\n if(orderInfo.data.code === 200) {\n\n }else{\n Toast.info(courseInfo.data.msg, 2);\n return;\n }\n this.groupPrice = orderInfo.data.data.course_info.pdd_group_info.price;\n if(courseInfo.data.data.course.length === 0) {\n courseInfo.data.data.course.push(orderInfo.data.data.course_info)\n }\n this.publicGetData(courseInfo);\n this.publicLocalStorage();\n });\n }\n else{\n http.get(`${API.home}/m/order/preorder`).then((res) => {\n console.log('为了验证什么条件下会走这段代码');\n if (res.data.errno !== 200) {\n Toast.info(res.data.msg, 2);\n return;\n }\n\n this.publicGetData(res);\n this.publicLocalStorage();\n })\n }\n // else {\n // if(getParam('id')) {\n // Promise.all([http.get(`${API.home}/m/del_cart_order/${getParam('id')}`), http.get(`${API.home}/m/order/preorder`)]).then(res => {\n // console.log(res);\n // let preorder = res[1],\n // orderList = preorder.data.data.course;\n // if(preorder.data.errno !== 200) {\n // Toast.info(preorder.data.msg, 2);\n // return;\n // }\n //\n // this.publicGetData(preorder);\n // this.publicLocalStorage();\n // })\n // }else{\n // http.get(`${API.home}/m/order/preorder`).then((res) => {\n // console.log('为了验证什么条件下会走这段代码');\n // if (res.data.errno !== 200) {\n // Toast.info(res.data.msg, 2);\n // return;\n // }\n //\n // this.publicGetData(res);\n // this.publicLocalStorage();\n // })\n // }\n // }\n };\n render() {\n const {\n perfect,\n orderList,\n user_account,\n total,\n discount,\n useBalance,\n info,\n offset,\n } = this.state;\n\n return (\n <div className=\"order-wrapper\">\n <Flex>\n <Flex.Item>\n <HeaderBar title='课程报名' arrow={true} />\n {\n !this.state.perfect &&\n <Link to={{\n pathname: '/orderinfo',\n state: {type: this.props.location.state ? this.props.location.state.type : null, id: getParam('id')}\n }}\n className=\"order-information\">\n <i className=\"iconfont iconiconfront-6 order-addsize\" />\n <div className=\"order-infotext\">完善报名信息</div>\n <i className=\"iconfont iconiconfront-70 order-next\" />\n </Link>\n }\n {\n this.state.perfect &&\n <div className=\"order-information2\">\n <WingBlank>\n <Link to={{\n pathname: '/orderinfo',\n state: {\n ...this.state.perfect,\n ...this.props.location.state,\n id: getParam('id')\n }\n }\n } >\n <Flex align='center' justify='between' style={{ height: '80px' }}>\n <i className=\"iconfont iconiconfront-20 user-icon\"></i>\n\n <Flex direction='column' justify='between' align='start' className=\"order-cell\">\n <div className=\"name\">{`姓名:${perfect.real_name}`}</div>\n <div>{`电话:${perfect.cellphone}`}</div>\n </Flex>\n\n <Flex align='start' className=\"order-cell\">\n <div>{`QQ:${perfect.qq}`}</div>\n </Flex>\n\n </Flex>\n </Link>\n </WingBlank>\n </div>\n }\n <div className=\"order-list\">\n <OrderList list={orderList} compute={this.computedMoney} courseId={getParam('id')} locationState={this.props.location.state} groupPrice={this.groupPrice}/>\n </div>\n <div className=\"order-balance\">\n <List>\n <Item\n className=\"order-prefer-text\"\n >\n <Flex justify='between'>\n <Flex align='center'>\n <span>余额抵扣</span>\n <span className=\"order-balanceprice\"> (余额: <i className=\"order-money\">{`${user_account}元`}</i>)</span>\n <i className=\"iconfont iconiconfront-22 question-mark\" onClick={this.showInfo}></i>\n </Flex>\n\n <Flex>\n {\n useBalance ? (\n <>\n <span style={{ color: '#FF2121', fontSize: '15px', marginRight: \"6px\" }}>{`-${offset}`}</span>\n <i className={`iconfont icondanseshixintubiao-5 balance-used`} onClick={throttle(this.useBalance, 600)}></i>\n </>\n ) : (\n <i className='circle-icon' onClick={throttle(this.useBalance, 600)}></i>\n )\n }\n </Flex>\n </Flex>\n </Item>\n </List>\n </div>\n <div className=\"order-bar\">\n <div className=\"order-course\">\n <span className=\"order-course-text\">{`${orderList.length}门课程`}</span>\n </div>\n <div className=\"order-bar-text\">\n <div className=\"order-amount\">\n <span className=\"order-amount-title\">合计:</span>\n <span className=\"order-amount-price\">{`¥${total}`}</span>\n </div>\n <div className=\"order-preprice\">\n <span className=\"order-preprice-title\">已优惠:</span>\n <span className=\"order-preprice-price\">{`¥${discount}`}</span>\n </div>\n </div>\n {\n perfect ? (\n\n <button type=\"button\" className=\"order-button has-info\">\n <span className=\"order-button-text\" onClick={this.submitOrder}>提交订单</span>\n </button>\n ) : (\n\n <button type=\"button\" className=\"order-button\">\n <span className=\"order-button-text\" onClick={this.submitOrder}>提交订单</span>\n </button>\n )\n }\n </div>\n </Flex.Item>\n </Flex>\n {\n info ? (\n <div style={{ position: 'fixed', top: 0, left: 0, width: '100%', height: '100%', backgroundColor: 'rgba(0, 0, 0, 0.8)', zIndex: '99' }}>\n <div style={{ padding: '20px', backgroundColor: '#FFF', width: '300px', height: '170px', margin: '0 auto', position: 'absolute', left: '50%', top: '50%', transform: 'translate(-50%, -50%)' }}>\n <Flex direction='column' justify='between' align='center' style={{ height: '100%' }}>\n <p style={{ fontSize: '16px', color: '#333333' }}>余额抵扣说明</p>\n <p style={{ lineHeight: '20px', fontSize: '13px', color: '#666666' }}>分销课程或者参与七月在线的相关活动,可获得资金奖励。账户资金可直接提现,也可抵扣课程费用。</p>\n <div onClick={this.showInfo} style={{ width: '260px', height: '30px', lineHeight: '30px', textAlign: 'center', borderRadius: '3px', border: '1px solid #0099FF', color: '#0099FF', fontSize: '15px' }}>知道了</div>\n </Flex>\n </div>\n </div>\n ) : null\n }\n </div>\n\n )\n }\n\n}\n\nexport default Order;"],"sourceRoot":""}
\ No newline at end of file
!function(e){function r(r){for(var n,a,f=r[0],d=r[1],i=r[2],u=0,l=[];u<f.length;u++)a=f[u],o[a]&&l.push(o[a][0]),o[a]=0;for(n in d)Object.prototype.hasOwnProperty.call(d,n)&&(e[n]=d[n]);for(s&&s(r);l.length;)l.shift()();return c.push.apply(c,i||[]),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 d=t[a];0!==o[d]&&(n=!1)}n&&(c.splice(r--,1),e=f(f.s=t[0]))}return e}var n={},a={18:0},o={18:0},c=[];function f(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,f),t.l=!0,t.exports}f.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,26:1,28:1,29:1,30:1,31: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:"6d24aba4",1:"5ed0fc89",2:"5ce769bd",3:"aeb3f822",4:"280c19c2",5:"31d6cfe0",6:"061a2017",7:"31d6cfe0",8:"a9111f28",9:"99c1fc9f",10:"b968f5d5",11:"8f4c32db",12:"a97e13d0",13:"f2c7a13b",14:"ce10de93",16:"789a128d",17:"fb5cdbc2",19:"ed8f7a59",20:"175bee2a",21:"8867122f",22:"f08bc5f3",23:"2b2824ba",25:"31d6cfe0",26:"73976871",27:"31d6cfe0",28:"42a89c77",29:"bf839917",30:"35e22f8c",31:"57d8b033"}[e]+".chunk.css",o=f.p+n,c=document.getElementsByTagName("link"),d=0;d<c.length;d++){var i=(s=c[d]).getAttribute("data-href")||s.getAttribute("href");if("stylesheet"===s.rel&&(i===n||i===o))return r()}var u=document.getElementsByTagName("style");for(d=0;d<u.length;d++){var s;if((i=(s=u[d]).getAttribute("data-href"))===n||i===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,d=document.createElement("script");d.charset="utf-8",d.timeout=120,f.nc&&d.setAttribute("nonce",f.nc),d.src=function(e){return f.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:"5ad51000",1:"da3edf64",2:"da982f82",3:"b6b14ec2",4:"954a0197",5:"e7408258",6:"a3016da1",7:"c503b1f0",8:"c84e2bbe",9:"5d20f031",10:"e678ace6",11:"4f1c3903",12:"6ae202e2",13:"0ff2580f",14:"35f0eebd",16:"3a9f8bf2",17:"96de9074",19:"d9684d99",20:"c5ea327d",21:"3ca271e7",22:"a6717ccf",23:"0535da32",25:"66a6cdfb",26:"ad7bb673",27:"48079d34",28:"dc773ffa",29:"76256aca",30:"db405cf8",31:"804baf53"}[e]+".chunk.js"}(e),c=function(r){d.onerror=d.onload=null,clearTimeout(i);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 i=setTimeout(function(){c({type:"timeout",target:d})},12e4);d.onerror=d.onload=c,document.head.appendChild(d)}return Promise.all(r)},f.m=e,f.c=n,f.d=function(e,r,t){f.o(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:t})},f.r=function(e){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},f.t=function(e,r){if(1&r&&(e=f(e)),8&r)return e;if(4&r&&"object"===typeof e&&e&&e.__esModule)return e;var t=Object.create(null);if(f.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:e}),2&r&&"string"!=typeof e)for(var n in e)f.d(t,n,function(r){return e[r]}.bind(null,n));return t},f.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return f.d(r,"a",r),r},f.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},f.p="/",f.oe=function(e){throw console.error(e),e};var d=window.webpackJsonp=window.webpackJsonp||[],i=d.push.bind(d);d.push=r,d=d.slice();for(var u=0;u<d.length;u++)r(d[u]);var s=i;t()}([]); !function(e){function r(r){for(var n,a,f=r[0],d=r[1],i=r[2],u=0,l=[];u<f.length;u++)a=f[u],o[a]&&l.push(o[a][0]),o[a]=0;for(n in d)Object.prototype.hasOwnProperty.call(d,n)&&(e[n]=d[n]);for(s&&s(r);l.length;)l.shift()();return c.push.apply(c,i||[]),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 d=t[a];0!==o[d]&&(n=!1)}n&&(c.splice(r--,1),e=f(f.s=t[0]))}return e}var n={},a={18:0},o={18:0},c=[];function f(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,f),t.l=!0,t.exports}f.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,26:1,28:1,29:1,30:1,31: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:"6d24aba4",1:"5ed0fc89",2:"5ce769bd",3:"aeb3f822",4:"280c19c2",5:"31d6cfe0",6:"061a2017",7:"31d6cfe0",8:"a9111f28",9:"99c1fc9f",10:"b968f5d5",11:"8f4c32db",12:"a97e13d0",13:"f2c7a13b",14:"ce10de93",16:"789a128d",17:"fb5cdbc2",19:"ed8f7a59",20:"175bee2a",21:"8867122f",22:"f08bc5f3",23:"2b2824ba",25:"31d6cfe0",26:"73976871",27:"31d6cfe0",28:"42a89c77",29:"bf839917",30:"35e22f8c",31:"57d8b033"}[e]+".chunk.css",o=f.p+n,c=document.getElementsByTagName("link"),d=0;d<c.length;d++){var i=(s=c[d]).getAttribute("data-href")||s.getAttribute("href");if("stylesheet"===s.rel&&(i===n||i===o))return r()}var u=document.getElementsByTagName("style");for(d=0;d<u.length;d++){var s;if((i=(s=u[d]).getAttribute("data-href"))===n||i===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,d=document.createElement("script");d.charset="utf-8",d.timeout=120,f.nc&&d.setAttribute("nonce",f.nc),d.src=function(e){return f.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:"5ad51000",1:"da3edf64",2:"da982f82",3:"b6b14ec2",4:"954a0197",5:"e7408258",6:"b9d3d946",7:"c503b1f0",8:"c84e2bbe",9:"5d20f031",10:"e678ace6",11:"4f1c3903",12:"6ae202e2",13:"0ff2580f",14:"35f0eebd",16:"3a9f8bf2",17:"96de9074",19:"d9684d99",20:"c5ea327d",21:"3ca271e7",22:"a6717ccf",23:"7782b1ca",25:"66a6cdfb",26:"ad7bb673",27:"48079d34",28:"dc773ffa",29:"76256aca",30:"db405cf8",31:"804baf53"}[e]+".chunk.js"}(e),c=function(r){d.onerror=d.onload=null,clearTimeout(i);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 i=setTimeout(function(){c({type:"timeout",target:d})},12e4);d.onerror=d.onload=c,document.head.appendChild(d)}return Promise.all(r)},f.m=e,f.c=n,f.d=function(e,r,t){f.o(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:t})},f.r=function(e){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},f.t=function(e,r){if(1&r&&(e=f(e)),8&r)return e;if(4&r&&"object"===typeof e&&e&&e.__esModule)return e;var t=Object.create(null);if(f.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:e}),2&r&&"string"!=typeof e)for(var n in e)f.d(t,n,function(r){return e[r]}.bind(null,n));return t},f.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return f.d(r,"a",r),r},f.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},f.p="/",f.oe=function(e){throw console.error(e),e};var d=window.webpackJsonp=window.webpackJsonp||[],i=d.push.bind(d);d.push=r,d=d.slice();for(var u=0;u<d.length;u++)r(d[u]);var s=i;t()}([]);
//# sourceMappingURL=runtime~main.7dae6868.js.map //# sourceMappingURL=runtime~main.46df84a2.js.map
\ No newline at end of file \ 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","26","28","29","30","31","Promise","resolve","reject","href","5","7","25","27","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.7dae6868.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\":\"5ad51000\",\"1\":\"da3edf64\",\"2\":\"da982f82\",\"3\":\"b6b14ec2\",\"4\":\"954a0197\",\"5\":\"e7408258\",\"6\":\"a3016da1\",\"7\":\"c503b1f0\",\"8\":\"c84e2bbe\",\"9\":\"5d20f031\",\"10\":\"e678ace6\",\"11\":\"4f1c3903\",\"12\":\"6ae202e2\",\"13\":\"0ff2580f\",\"14\":\"35f0eebd\",\"16\":\"3a9f8bf2\",\"17\":\"96de9074\",\"19\":\"d9684d99\",\"20\":\"c5ea327d\",\"21\":\"3ca271e7\",\"22\":\"a6717ccf\",\"23\":\"0535da32\",\"25\":\"66a6cdfb\",\"26\":\"ad7bb673\",\"27\":\"48079d34\",\"28\":\"dc773ffa\",\"29\":\"76256aca\",\"30\":\"db405cf8\",\"31\":\"804baf53\"}[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,\"26\":1,\"28\":1,\"29\":1,\"30\":1,\"31\":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\":\"6d24aba4\",\"1\":\"5ed0fc89\",\"2\":\"5ce769bd\",\"3\":\"aeb3f822\",\"4\":\"280c19c2\",\"5\":\"31d6cfe0\",\"6\":\"061a2017\",\"7\":\"31d6cfe0\",\"8\":\"a9111f28\",\"9\":\"99c1fc9f\",\"10\":\"b968f5d5\",\"11\":\"8f4c32db\",\"12\":\"a97e13d0\",\"13\":\"f2c7a13b\",\"14\":\"ce10de93\",\"16\":\"789a128d\",\"17\":\"fb5cdbc2\",\"19\":\"ed8f7a59\",\"20\":\"175bee2a\",\"21\":\"8867122f\",\"22\":\"f08bc5f3\",\"23\":\"2b2824ba\",\"25\":\"31d6cfe0\",\"26\":\"73976871\",\"27\":\"31d6cfe0\",\"28\":\"42a89c77\",\"29\":\"bf839917\",\"30\":\"35e22f8c\",\"31\":\"57d8b033\"}[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":""} {"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","26","28","29","30","31","Promise","resolve","reject","href","5","7","25","27","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.46df84a2.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\":\"5ad51000\",\"1\":\"da3edf64\",\"2\":\"da982f82\",\"3\":\"b6b14ec2\",\"4\":\"954a0197\",\"5\":\"e7408258\",\"6\":\"b9d3d946\",\"7\":\"c503b1f0\",\"8\":\"c84e2bbe\",\"9\":\"5d20f031\",\"10\":\"e678ace6\",\"11\":\"4f1c3903\",\"12\":\"6ae202e2\",\"13\":\"0ff2580f\",\"14\":\"35f0eebd\",\"16\":\"3a9f8bf2\",\"17\":\"96de9074\",\"19\":\"d9684d99\",\"20\":\"c5ea327d\",\"21\":\"3ca271e7\",\"22\":\"a6717ccf\",\"23\":\"7782b1ca\",\"25\":\"66a6cdfb\",\"26\":\"ad7bb673\",\"27\":\"48079d34\",\"28\":\"dc773ffa\",\"29\":\"76256aca\",\"30\":\"db405cf8\",\"31\":\"804baf53\"}[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,\"26\":1,\"28\":1,\"29\":1,\"30\":1,\"31\":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\":\"6d24aba4\",\"1\":\"5ed0fc89\",\"2\":\"5ce769bd\",\"3\":\"aeb3f822\",\"4\":\"280c19c2\",\"5\":\"31d6cfe0\",\"6\":\"061a2017\",\"7\":\"31d6cfe0\",\"8\":\"a9111f28\",\"9\":\"99c1fc9f\",\"10\":\"b968f5d5\",\"11\":\"8f4c32db\",\"12\":\"a97e13d0\",\"13\":\"f2c7a13b\",\"14\":\"ce10de93\",\"16\":\"789a128d\",\"17\":\"fb5cdbc2\",\"19\":\"ed8f7a59\",\"20\":\"175bee2a\",\"21\":\"8867122f\",\"22\":\"f08bc5f3\",\"23\":\"2b2824ba\",\"25\":\"31d6cfe0\",\"26\":\"73976871\",\"27\":\"31d6cfe0\",\"28\":\"42a89c77\",\"29\":\"bf839917\",\"30\":\"35e22f8c\",\"31\":\"57d8b033\"}[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 \ No newline at end of file
{"version":3,"sources":["components/video/recommendation/index.js","components/video/video-catalog/index.js","components/video/datum-catalog/index.js","components/video/index.js","common/v-list-base/index.js","components/detail/single/index.js"],"names":["Bottom","_ref","item","react_default","a","createElement","className","price1","price0","Recommendation","state","num","list","courseId","getRecommendation","http","get","concat","API","home","_this","props","vCourseId","then","res","data","code","setState","toast_default","info","msg","handleClick","id","history","push","this","_this2","map","Info","course_title","simpledescription","recommendation_Bottom","v_list_base","key","course_id","img","image_name","PureComponent","VideoCatalog","i","selectVideo","videoCatalog","index","classnames","active","activeIndex","onClick","bind","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","singleBox","singMess","tobuy","getParam","errno","simple","toSingleset","console","log","boxHide","val","setupRecord","recordSocket","io","record","transports","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","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","src","type","play","_this$state3","_this$state4","_this$state5","lesson","jsCookie","getDatumCatalog","dispose","close","_this3","_this$props","match","location","_this$state6","HeaderBar","arrow","common","ref","el","react_router_dom","to","url","replace","activeClassName","single","videoId","course_tile","react_router","exact","from","pathname","search","path","render","video_video_catalog","Object","assign","video_datum_catalog","video_recommendation","connect","VList","react__WEBPACK_IMPORTED_MODULE_0___default","status","alt","tab","Single","_Users_xzh_dnmp_www_mr_julyedu_node_modules_babel_preset_react_app_node_modules_babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_2__","_Users_xzh_dnmp_www_mr_julyedu_node_modules_babel_preset_react_app_node_modules_babel_runtime_helpers_esm_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4__","_Users_xzh_dnmp_www_mr_julyedu_node_modules_babel_preset_react_app_node_modules_babel_runtime_helpers_esm_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5__","call","check","payType","toBuy","orderId","order_id","alipayPay","weixinPay","antd_mobile_lib_toast__WEBPACK_IMPORTED_MODULE_1___default","browser","isWeixin","href","encodeURIComponent","toLowerCase","onBridgeReady","WeixinJSBridge","invoke","appId","timeStamp","nonceStr","package","signType","paySign","err_msg","payCallback","isweixinPay","weixin_code","undefined","document","attachEvent","nowPrice","now_price","laterPrice","three_day_later_price","toBuyAll","zerobuyReceive","success","colse","zerogroupBuy","getOrderId","groupOrderId","getOrderStatus","getTime","pdd_order_id","endTime","end_time","toGroup","hour","min","date","now","Date","s","differenceInSeconds","m","differenceInMinutes","h","differenceInHours","react__WEBPACK_IMPORTED_MODULE_7___default","class_price","onclick","react_router_dom__WEBPACK_IMPORTED_MODULE_10__","avatar","String","padStart","compose","withRouter"],"mappings":"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","file":"static/js/video.0535da32.chunk.js","sourcesContent":["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'\nimport Single from \"@/components/detail/single\";\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 singleBox: false,\n singMess: '',\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 tobuy=()=>{\n http.get(`${API['base-api']}/m/cart/addtopreorder/[${getParam('id')}]`).then((res) => {\n if (res.data.errno === 0) {\n this.props.history.push(`/order?id=${getParam('id')}`, {simple: 1})\n } else {\n Toast.info(res.data.msg, 2);\n }\n })\n }\n // 购买单集\n toSingleset = (item) => {\n console.log(item)\n this.setState({\n singleBox: true,\n singMess: item\n })\n }\n\n // 自组件传给父组件的boxHide\n boxHide = (val) => {\n this.setState({singleBox: val})\n }\n\n\n setupRecord = () => {\n this.recordSocket = io(API.record,{\n transports: ['websocket']\n })\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 && this.player) {\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/${getParam('id')}`)\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'\n onClick={this.tobuy}\n className='purchase-class'>¥{salePrice} 购买课程</button>\n <button type='button'\n onClick={this.toSingleset.bind(this,videoList[activeIndex])}\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\n {/*单集购买*/}\n <Single singleBox={this.state.singleBox} boxHide={this.boxHide} data={this.state.singMess} videoId={this.state.singMess.id}\n title={this.state.singMess.course_tile}/>\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\n </div>\n );\n }\n}\n\n\nexport default connect(\n state => ({user: state.user}),\n null\n)(Video);","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, {Component} from 'react'\nimport './index.scss'\nimport {api, getParam, http, browser} from \"@/utils\";\nimport {Toast} from 'antd-mobile';\nimport {Link, withRouter} from \"react-router-dom\";\nimport {compose} from \"redux\";\nimport {connect} from \"react-redux\";\nimport {differenceInHours, differenceInMinutes, differenceInSeconds} from \"date-fns\";\n\n\nclass Single extends Component {\n constructor(props) {\n super(props)\n this.state = {\n status: 1,\n orderId: '',\n nowPrice: '',\n laterPrice: '',\n hour: '',\n min: '',\n sec: '',\n endTime: '',\n groupOrderId: '',\n payType: '0', // 1支付宝 0微信\n }\n }\n\n componentDidMount() {\n if (getParam('is_class') === 1 || getParam('weixinpay')) {\n this.payCallback()\n }\n if (browser.isWeixin) {\n this.isweixinPay()\n }\n }\n\n // 选择支付方式\n check = (type) => {\n this.setState({\n payType: type\n })\n }\n\n // 确定购买\n toBuy = () => {\n http.get(`${API.home}/sys/createClassOrder/${this.props.videoId}`).then((res) => {\n if (res.data.code === 200) {\n this.setState({\n orderId: res.data.data.order_id\n })\n this.state.payType === '1' ? this.alipayPay(this.state.orderId) : this.weixinPay(this.state.orderId)\n } else {\n Toast.info(res.data.msg, 2)\n }\n })\n }\n // 微信支付\n weixinPay = (orderId) => {\n // 微信内部-支付\n if (browser.isWeixin) {\n window.location.href = \"https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx23dac6775ac82877&redirect_uri=\" + encodeURIComponent(window.location.href + \"&aa=bb\").toLowerCase() + \"&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect\";\n } else {\n // 微信外部-支付\n http.get(`${API['base-api']}/pay/wxpay/wap_charge/oid/${orderId}`).then((res) => {\n if (res.data.errno === 0) {\n window.location.href = res.data.data.url + \"&redirect_url=\" + encodeURIComponent(window.location.href + \"&weixinpay=1\").toLowerCase();\n } else {\n Toast.info(res.data.msg, 2)\n }\n })\n }\n }\n // 支付宝支付\n alipayPay = (orderId) => {\n http.get(`${API['base-api']}/pay/alipay/wap_charge/oid/${orderId}`).then((res) => {\n if (res.data.errno === 0) {\n window.location = res.data.data.url;\n } else {\n Toast.info(res.data.msg, 2)\n }\n })\n }\n onBridgeReady = (data) => {\n WeixinJSBridge.invoke(\n 'getBrandWCPayRequest', {\n \"appId\": data.appId, //公众号名称,由商户传入\n \"timeStamp\": data.timeStamp, //时间戳,自1970年以来的秒数\n \"nonceStr\": data.nonceStr, //随机串\n \"package\": data.package,\n \"signType\": data.signType, //微信签名方式:\n \"paySign\": data.paySign //微信签名\n },\n function (res) {\n if (res.err_msg == \"get_brand_wcpay_request:ok\") {\n this.payCallback()\n } else {\n alert('支付失败')\n }\n }\n )\n }\n // 微信内部支付\n isweixinPay = () => {\n let weixin_code = getParam('code')\n if (weixin_code) {\n if (getParam('oid') === undefined) {\n return\n } else {\n http.get(`${API['base-api']}/pay/wxpay/pub_charge/oid/${getParam('oid')}/code/${weixin_code}`).then((res) => {\n if (res.data.errno === 0) {\n const data = res.data.data\n this.onBridgeReady(data)\n if (typeof WeixinJSBridge == \"undefined\") {\n if (document.addEventListener) {\n document.addEventListener('WeixinJSBridgeReady', this.onBridgeReady, false)\n } else if (document.attachEvent) {\n document.attachEvent('WeixinJSBridgeReady', this.onBridgeReady)\n document.attachEvent('onWeixinJSBridgeReady', this.onBridgeReady)\n }\n } else {\n this.onBridgeReady()\n }\n } else {\n Toast.info(res.data.msg, 2)\n }\n })\n }\n }\n }\n\n // 支付完成之后获取状态\n payCallback = () => {\n http.get(`${API.home}/sys/orderStatus/${getParam('oid')}`).then((res) => {\n if (res.data.data.errno == '200') {\n // 正常购买单集成功\n this.setState({\n status: 6\n })\n } else if (res.data.data.errno == '201') {\n // 0元参团\n this.setState({\n status: 4\n })\n } else if (res.data.data.errno == '202') {\n // 0元购\n this.setState({\n status: 3\n })\n } else if (res.data.data.errno == '203') {\n // 三天内特价\n this.setState({\n nowPrice: res.data.data.data.now_price,\n laterPrice: res.data.data.data.three_day_later_price,\n status: 2\n })\n } else {\n Toast.info(res.data.data.msg, 2)\n }\n })\n }\n\n\n // 特价购买全集\n toBuyAll = () => {\n\n }\n // 0元购买全集\n zerobuyReceive = () => {\n Toast.success('购买全集成功', 3)\n this.colse()\n }\n // 0元参团\n zerogroupBuy = () => {\n this.getOrderId()\n }\n\n // 获取订单号-0元参团\n getOrderId = () => {\n let data = {\n course_id: getParam('id')\n }\n http.post(`${API['base-api']}/pdd/sys`, data).then((res) => {\n if (res.data.errno === 0) {\n this.setState({\n groupOrderId: res.data.data.order_id\n })\n this.getOrderStatus(res.data.data.order_id)\n } else {\n Toast.info(res.data.msg, 2)\n }\n })\n }\n\n // 获取订单状态-0元参团\n getOrderStatus = (id) => {\n http.get(`${API.home}/m/pdd/order_status/${id}`).then((res) => {\n if (res.data.code === 200) {\n this.getTime(res.data.data.pdd_order_id)\n } else {\n Toast.info(res.data.msg, 2)\n }\n })\n }\n // 获取倒计时-0元参团\n getTime = (id) => {\n http.get(`${API.home}/m/pdd_order_end_time/${id}`).then((res) => {\n if (res.data.code === 200) {\n this.setState({\n endTime: res.data.data.end_time,\n status: 7\n })\n } else {\n Toast.info(res.data.msg, 2)\n }\n })\n }\n\n // 邀请好友参团\n toGroup = () => {\n this.props.history.push(`/togroup?id=${this.state.groupOrderId}`)\n }\n\n // 关闭弹窗\n colse = () => {\n this.props.boxHide(false);\n this.setState({\n status: 1\n })\n }\n\n render() {\n if (this.state.endTime) {\n let date = this.state.endTime * 1000\n let now = Date.now()\n setInterval(() => {\n date -= 1000\n let s = differenceInSeconds(new Date(date), now) % 60,\n m = differenceInMinutes(new Date(date), now) % 60,\n h = differenceInHours(new Date(date), now) % 24\n this.setState({\n hour: h,\n min: m,\n sec: s,\n })\n }, 1000)\n }\n\n return (\n <div>\n {\n this.props.singleBox &&\n <div className='popup-box'>\n {\n this.state.status === 1 &&\n <div className='content singleset-payment'>\n <div className='price-box'>\n <span>实付款:</span>\n <p>{this.props.data.class_price}元</p>\n </div>\n <div className='course-info'>\n <p className='text-overflow-1'><span>课程:</span>\n {this.props.title}\n </p>\n <p className='text-overflow-1'><span>课时:</span>\n {this.props.data.name}\n </p>\n </div>\n <div className='payment-type'>\n <label>支付方式:</label>\n {\n !browser.isWeixin &&\n <p onClick={this.check.bind(this, '1')}>\n <i className='iconfont iconzhifubaox-'></i>\n <span>支付宝</span>\n <i className={`iconfont icondanseshixintubiao-5 redio ${this.state.payType === '1' ? 'redioed' : ''}`}></i>\n </p>\n }\n\n <p onClick={this.check.bind(this, '0')}>\n <i className='iconfont iconweixinzhifu buy'></i>\n <span>微信支付</span>\n <i className={`iconfont icondanseshixintubiao-5 redio ${this.state.payType === '0' ? 'redioed' : ''}`}></i>\n </p>\n </div>\n <div className='btn btn-18B4ED' onClick={this.toBuy}>确认购买</div>\n </div>\n }\n {\n this.state.status === 2 &&\n <div className='content payment-success'>\n <div className=\"header\">\n <i className='iconfont icondanseshixintubiao-5'></i>\n <span>购买成功</span>\n </div>\n <div className=\"dec\">· 3天内购买全集,可直接抵扣该集费用,{this.state.nowPrice}元购买。</div>\n <div className=\"dec\">· 超过3天,按照未够集数/全部集数等比例计费,{this.state.laterPrice}元购买全集。</div>\n <div className='btn btn-18B4ED'>开始学习</div>\n <div className='btn btn-FF4000' onclick={this.toBuyAll()}>¥{this.state.nowPrice}购买全集\n </div>\n </div>\n }\n {\n this.state.status === 3 &&\n <div className='content zero'>\n <div className=\"header\">\n <i className='iconfont icondanseshixintubiao-5'></i>\n <span>购买成功</span>\n </div>\n <div className=\"dec\">· 恭喜您获得0元拼团购买剩余课时的机会。</div>\n <div className='btn btn-FF4000' onClick={this.zerogroupBuy}>0元参团</div>\n </div>\n }\n {\n this.state.status === 4 &&\n <div className='content zero'>\n <div className=\"header\">\n <i className='iconfont icondanseshixintubiao-5'></i>\n <span>购买成功</span>\n </div>\n <div className=\"dec\">· 恭喜您获得0元购买剩余课时的机会。</div>\n <div className='btn btn-FF4000' onClick={this.zerobuyReceive}>0元购</div>\n </div>\n }\n {\n this.state.status === 6 &&\n <div className='content zero'>\n <div className=\"header\">\n <i className='iconfont icondanseshixintubiao-5'></i>\n <span>购买成功</span>\n </div>\n <Link to={`/play?id=${getParam('id')}`} className='btn btn-18B4ED'>去学习</Link>\n </div>\n }\n {\n this.state.status === 7 &&\n <div className='content group'>\n <div className=\"header\">\n <i className='iconfont icondanseshixintubiao-5'></i>\n <span>参团成功</span>\n </div>\n <div className='group-img'>\n <img src={this.props.user.data.avatar} alt=\"\"/>\n <img\n src=\"https://julyedu-cdn.oss-cn-beijing.aliyuncs.com/images/weekend/train7/ellipsis.png\"\n alt=\"\"/>\n <img\n src=\"https://julyedu-cdn.oss-cn-beijing.aliyuncs.com/images/weekend/train7/ellipsis.png\"\n alt=\"\"/>\n\n </div>\n <div className='btn-l btn-FF4000' onClick={this.toGroup}>\n 剩余{String(this.state.hour).padStart(2, 0)}:{String(this.state.min).padStart(2, 0)}:{String(this.state.sec).padStart(2, 0)}\n 邀请好友参团\n </div>\n </div>\n }\n <i onClick={this.colse} className={'iconfont iconiconfront-2 close'}></i>\n </div>\n }\n </div>\n\n );\n }\n\n}\n\nexport default compose(\n connect(\n state => ({user: state.user}),\n null\n ),\n withRouter\n)(Single)\n"],"sourceRoot":""}
\ No newline at end of file
(window.webpackJsonp=window.webpackJsonp||[]).push([[23],{1171:function(e,t,a){"use strict";a.r(t);a(44);var n=a(14),c=a.n(n),i=a(7),s=a(8),r=a(11),o=a(9),l=a(10),d=(a(253),a(98)),u=a.n(d),m=a(0),p=a.n(m),h=a(161),v=(a(780),a(16)),f=a(52),y=a(4),E=(a(781),a(641)),b=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))},g=function(e){function t(){var e,a;Object(i.a)(this,t);for(var n=arguments.length,s=new Array(n),l=0;l<n;l++)s[l]=arguments[l];return(a=Object(r.a)(this,(e=Object(o.a)(t)).call.apply(e,[this].concat(s)))).state={num:10,list:[],courseId:null},a.getRecommendation=function(){y.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(s.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(b,{item:t}));return p.a.createElement(E.a,{key:t.course_id,img:t.image_name,handleClick:e.handleClick,info:a,id:t.course_id})})))}}]),t}(m.PureComponent),N=(a(782),a(15)),S=a.n(N),I=function(e){function t(){var e,a;Object(i.a)(this,t);for(var n=arguments.length,c=new Array(n),s=0;s<n;s++)c[s]=arguments[s];return(a=Object(r.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(s.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),w=(a(783),a(785)),_=a.n(w),k=(a(786),function(e){function t(){return Object(i.a)(this,t),Object(r.a)(this,Object(o.a)(t).apply(this,arguments))}return Object(l.a)(t,e),Object(s.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(_.a,null,e&&e.length&&e.map(function(e,t){return p.a.createElement(_.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));k.defaultProps={datum:[{dir_name:"",files:[{file_name:"",file_id:0}]}]};var x=k,O=a(1149),P=(a(832),a(30)),j=a(20),C=a(43),R=a.n(C),A=a(833),L=a.n(A),B=a(654),T=u.a.alert;function D(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 W=function(e){function t(){var e,a;Object(i.a)(this,t);for(var n=arguments.length,s=new Array(n),l=0;l<n;l++)s[l]=arguments[l];return(a=Object(r.a)(this,(e=Object(o.a)(t)).call.apply(e,[this].concat(s)))).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:{},singleBox:!1,singMess:""},a.tobuy=function(){y.c.get("".concat(API["base-api"],"/m/cart/addtopreorder/[").concat(Object(y.b)("id"),"]")).then(function(e){0===e.data.errno?a.props.history.push("/order?id=".concat(Object(y.b)("id")),{simple:1}):c.a.info(e.data.msg,2)})},a.toSingleset=function(e){console.log(e),a.setState({singleBox:!0,singMess:e})},a.boxHide=function(e){a.setState({singleBox:e})},a.setupRecord=function(){a.recordSocket=L()(API.record,{transports:["websocket"]}),a.recordSocket.on("seek",function(e){a.player.currentTime(e)}),a.recordTimer=setInterval(function(){a.sendRecord()},5e3)},a.sendRecord=function(){a.recordSocket&&a.player&&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(){y.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,i=n.activeIndex,s=n.vCourseId;a.sendMessage({mtype:"watch_time",rate:t,time:e,video_id:c[i].id,course_id:a.courseID,v_course_id:s,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(){y.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(){y.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():T("\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(){y.c.get("".concat(API.home,"/sys/course/price/").concat(Object(y.b)("id"))).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(s.a)(t,[{key:"componentDidMount",value:function(){this.courseID=Object(y.b)("id"),this.setState({courseId:this.courseID}),this.token=R.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;y.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,i=c.videoList,s=c.activeIndex,r=c.isAuth,o=c.salePrice;return p.a.createElement("div",{className:"play"},p.a.createElement(h.a,{title:this.state.title,arrow:!0}),p.a.createElement(P.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"})),!r&&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",onClick:this.tobuy,className:"purchase-class"},"\xa5",o," \u8d2d\u4e70\u8bfe\u7a0b"),p.a.createElement("button",{type:"button",onClick:this.toSingleset.bind(this,i[s]),className:"purchase-episode"},"\xa5",i.length&&i[s].class_price," \u8d2d\u4e70\u5355\u96c6")))),p.a.createElement("div",{className:"tab"},p.a.createElement("div",null,p.a.createElement(v.c,{to:"".concat(a.url,"/video"),replace:!0,activeClassName:"active"},"\u89c6\u9891")),p.a.createElement("div",null,p.a.createElement(v.c,{to:"".concat(a.url,"/datum"),replace:!0,activeClassName:"active"},"\u8d44\u6599"))),p.a.createElement(B.a,{singleBox:this.state.singleBox,boxHide:this.boxHide,data:this.state.singMess,videoId:this.state.singMess.id,title:this.state.singMess.course_tile})),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(I,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(x,Object.assign({},t,{datum:e.state.datum}))}})),p.a.createElement(f.b,{render:function(t){return e.state.vCourseId?p.a.createElement(g,Object.assign({},t,{vCourseId:e.state.vCourseId})):null}}),p.a.createElement(D,{isShow:this.state.isShowShareModal,closeShareModal:function(){return e.setState({isShowShareModal:!1})},data:this.state.shareData}))}}]),t}(m.Component);t.default=Object(j.b)(function(e){return{user:e.user}},null)(W)},641:function(e,t,a){"use strict";var n=a(0),c=a.n(n);a(642);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)}},642:function(e,t,a){},654:function(e,t,a){"use strict";a(44);var n=a(14),c=a.n(n),i=a(7),s=a(8),r=a(11),o=a(9),l=a(10),d=a(0),u=a.n(d),m=(a(655),a(4)),p=a(16),h=a(52),v=a(23),f=a(20),y=a(154),E=function(e){function t(e){var a;return Object(i.a)(this,t),(a=Object(r.a)(this,Object(o.a)(t).call(this,e))).check=function(e){a.setState({payType:e})},a.toBuy=function(){m.c.get("".concat(API.home,"/sys/createClassOrder/").concat(a.props.videoId)).then(function(e){200===e.data.code?(a.setState({orderId:e.data.data.order_id}),"1"===a.state.payType?a.alipayPay(a.state.orderId):a.weixinPay(a.state.orderId)):c.a.info(e.data.msg,2)})},a.weixinPay=function(e){m.a.isWeixin?window.location.href="https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx23dac6775ac82877&redirect_uri="+encodeURIComponent(window.location.href+"&aa=bb").toLowerCase()+"&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect":m.c.get("".concat(API["base-api"],"/pay/wxpay/wap_charge/oid/").concat(e)).then(function(e){0===e.data.errno?window.location.href=e.data.data.url+"&redirect_url="+encodeURIComponent(window.location.href+"&weixinpay=1").toLowerCase():c.a.info(e.data.msg,2)})},a.alipayPay=function(e){m.c.get("".concat(API["base-api"],"/pay/alipay/wap_charge/oid/").concat(e)).then(function(e){0===e.data.errno?window.location=e.data.data.url:c.a.info(e.data.msg,2)})},a.onBridgeReady=function(e){WeixinJSBridge.invoke("getBrandWCPayRequest",{appId:e.appId,timeStamp:e.timeStamp,nonceStr:e.nonceStr,package:e.package,signType:e.signType,paySign:e.paySign},function(e){"get_brand_wcpay_request:ok"==e.err_msg?this.payCallback():alert("\u652f\u4ed8\u5931\u8d25")})},a.isweixinPay=function(){var e=Object(m.b)("code");if(e){if(void 0===Object(m.b)("oid"))return;m.c.get("".concat(API["base-api"],"/pay/wxpay/pub_charge/oid/").concat(Object(m.b)("oid"),"/code/").concat(e)).then(function(e){if(0===e.data.errno){var t=e.data.data;a.onBridgeReady(t),"undefined"==typeof WeixinJSBridge?document.addEventListener?document.addEventListener("WeixinJSBridgeReady",a.onBridgeReady,!1):document.attachEvent&&(document.attachEvent("WeixinJSBridgeReady",a.onBridgeReady),document.attachEvent("onWeixinJSBridgeReady",a.onBridgeReady)):a.onBridgeReady()}else c.a.info(e.data.msg,2)})}},a.payCallback=function(){m.c.get("".concat(API.home,"/sys/orderStatus/").concat(Object(m.b)("oid"))).then(function(e){"200"==e.data.data.errno?a.setState({status:6}):"201"==e.data.data.errno?a.setState({status:4}):"202"==e.data.data.errno?a.setState({status:3}):"203"==e.data.data.errno?a.setState({nowPrice:e.data.data.data.now_price,laterPrice:e.data.data.data.three_day_later_price,status:2}):c.a.info(e.data.data.msg,2)})},a.toBuyAll=function(){},a.zerobuyReceive=function(){c.a.success("\u8d2d\u4e70\u5168\u96c6\u6210\u529f",3),a.colse()},a.zerogroupBuy=function(){a.getOrderId()},a.getOrderId=function(){var e={course_id:Object(m.b)("id")};m.c.post("".concat(API["base-api"],"/pdd/sys"),e).then(function(e){0===e.data.errno?(a.setState({groupOrderId:e.data.data.order_id}),a.getOrderStatus(e.data.data.order_id)):c.a.info(e.data.msg,2)})},a.getOrderStatus=function(e){m.c.get("".concat(API.home,"/m/pdd/order_status/").concat(e)).then(function(e){200===e.data.code?a.getTime(e.data.data.pdd_order_id):c.a.info(e.data.msg,2)})},a.getTime=function(e){m.c.get("".concat(API.home,"/m/pdd_order_end_time/").concat(e)).then(function(e){200===e.data.code?a.setState({endTime:e.data.data.end_time,status:7}):c.a.info(e.data.msg,2)})},a.toGroup=function(){a.props.history.push("/togroup?id=".concat(a.state.groupOrderId))},a.colse=function(){a.props.boxHide(!1),a.setState({status:1})},a.state={status:1,orderId:"",nowPrice:"",laterPrice:"",hour:"",min:"",sec:"",endTime:"",groupOrderId:"",payType:"0"},a}return Object(l.a)(t,e),Object(s.a)(t,[{key:"componentDidMount",value:function(){(1===Object(m.b)("is_class")||Object(m.b)("weixinpay"))&&this.payCallback(),m.a.isWeixin&&this.isweixinPay()}},{key:"render",value:function(){var e=this;if(this.state.endTime){var t=1e3*this.state.endTime,a=Date.now();setInterval(function(){t-=1e3;var n=Object(y.differenceInSeconds)(new Date(t),a)%60,c=Object(y.differenceInMinutes)(new Date(t),a)%60,i=Object(y.differenceInHours)(new Date(t),a)%24;e.setState({hour:i,min:c,sec:n})},1e3)}return u.a.createElement("div",null,this.props.singleBox&&u.a.createElement("div",{className:"popup-box"},1===this.state.status&&u.a.createElement("div",{className:"content singleset-payment"},u.a.createElement("div",{className:"price-box"},u.a.createElement("span",null,"\u5b9e\u4ed8\u6b3e\uff1a"),u.a.createElement("p",null,this.props.data.class_price,"\u5143")),u.a.createElement("div",{className:"course-info"},u.a.createElement("p",{className:"text-overflow-1"},u.a.createElement("span",null,"\u8bfe\u7a0b\uff1a"),this.props.title),u.a.createElement("p",{className:"text-overflow-1"},u.a.createElement("span",null,"\u8bfe\u65f6\uff1a"),this.props.data.name)),u.a.createElement("div",{className:"payment-type"},u.a.createElement("label",null,"\u652f\u4ed8\u65b9\u5f0f\uff1a"),!m.a.isWeixin&&u.a.createElement("p",{onClick:this.check.bind(this,"1")},u.a.createElement("i",{className:"iconfont iconzhifubaox-"}),u.a.createElement("span",null,"\u652f\u4ed8\u5b9d"),u.a.createElement("i",{className:"iconfont icondanseshixintubiao-5 redio ".concat("1"===this.state.payType?"redioed":"")})),u.a.createElement("p",{onClick:this.check.bind(this,"0")},u.a.createElement("i",{className:"iconfont iconweixinzhifu buy"}),u.a.createElement("span",null,"\u5fae\u4fe1\u652f\u4ed8"),u.a.createElement("i",{className:"iconfont icondanseshixintubiao-5 redio ".concat("0"===this.state.payType?"redioed":"")}))),u.a.createElement("div",{className:"btn btn-18B4ED",onClick:this.toBuy},"\u786e\u8ba4\u8d2d\u4e70")),2===this.state.status&&u.a.createElement("div",{className:"content payment-success"},u.a.createElement("div",{className:"header"},u.a.createElement("i",{className:"iconfont icondanseshixintubiao-5"}),u.a.createElement("span",null,"\u8d2d\u4e70\u6210\u529f")),u.a.createElement("div",{className:"dec"},"\xb7 3\u5929\u5185\u8d2d\u4e70\u5168\u96c6\uff0c\u53ef\u76f4\u63a5\u62b5\u6263\u8be5\u96c6\u8d39\u7528\uff0c",this.state.nowPrice,"\u5143\u8d2d\u4e70\u3002"),u.a.createElement("div",{className:"dec"},"\xb7 \u8d85\u8fc73\u5929\uff0c\u6309\u7167\u672a\u591f\u96c6\u6570/\u5168\u90e8\u96c6\u6570\u7b49\u6bd4\u4f8b\u8ba1\u8d39\uff0c",this.state.laterPrice,"\u5143\u8d2d\u4e70\u5168\u96c6\u3002"),u.a.createElement("div",{className:"btn btn-18B4ED"},"\u5f00\u59cb\u5b66\u4e60"),u.a.createElement("div",{className:"btn btn-FF4000",onclick:this.toBuyAll()},"\uffe5",this.state.nowPrice,"\u8d2d\u4e70\u5168\u96c6")),3===this.state.status&&u.a.createElement("div",{className:"content zero"},u.a.createElement("div",{className:"header"},u.a.createElement("i",{className:"iconfont icondanseshixintubiao-5"}),u.a.createElement("span",null,"\u8d2d\u4e70\u6210\u529f")),u.a.createElement("div",{className:"dec"},"\xb7 \u606d\u559c\u60a8\u83b7\u5f970\u5143\u62fc\u56e2\u8d2d\u4e70\u5269\u4f59\u8bfe\u65f6\u7684\u673a\u4f1a\u3002"),u.a.createElement("div",{className:"btn btn-FF4000",onClick:this.zerogroupBuy},"0\u5143\u53c2\u56e2")),4===this.state.status&&u.a.createElement("div",{className:"content zero"},u.a.createElement("div",{className:"header"},u.a.createElement("i",{className:"iconfont icondanseshixintubiao-5"}),u.a.createElement("span",null,"\u8d2d\u4e70\u6210\u529f")),u.a.createElement("div",{className:"dec"},"\xb7 \u606d\u559c\u60a8\u83b7\u5f970\u5143\u8d2d\u4e70\u5269\u4f59\u8bfe\u65f6\u7684\u673a\u4f1a\u3002"),u.a.createElement("div",{className:"btn btn-FF4000",onClick:this.zerobuyReceive},"0\u5143\u8d2d")),6===this.state.status&&u.a.createElement("div",{className:"content zero"},u.a.createElement("div",{className:"header"},u.a.createElement("i",{className:"iconfont icondanseshixintubiao-5"}),u.a.createElement("span",null,"\u8d2d\u4e70\u6210\u529f")),u.a.createElement(p.b,{to:"/play?id=".concat(Object(m.b)("id")),className:"btn btn-18B4ED"},"\u53bb\u5b66\u4e60")),7===this.state.status&&u.a.createElement("div",{className:"content group"},u.a.createElement("div",{className:"header"},u.a.createElement("i",{className:"iconfont icondanseshixintubiao-5"}),u.a.createElement("span",null,"\u53c2\u56e2\u6210\u529f")),u.a.createElement("div",{className:"group-img"},u.a.createElement("img",{src:this.props.user.data.avatar,alt:""}),u.a.createElement("img",{src:"https://julyedu-cdn.oss-cn-beijing.aliyuncs.com/images/weekend/train7/ellipsis.png",alt:""}),u.a.createElement("img",{src:"https://julyedu-cdn.oss-cn-beijing.aliyuncs.com/images/weekend/train7/ellipsis.png",alt:""})),u.a.createElement("div",{className:"btn-l btn-FF4000",onClick:this.toGroup},"\u5269\u4f59",String(this.state.hour).padStart(2,0),"\uff1a",String(this.state.min).padStart(2,0),"\uff1a",String(this.state.sec).padStart(2,0),"\u9080\u8bf7\u597d\u53cb\u53c2\u56e2")),u.a.createElement("i",{onClick:this.colse,className:"iconfont iconiconfront-2 close"})))}}]),t}(d.Component);t.a=Object(v.d)(Object(f.b)(function(e){return{user:e.user}},null),h.g)(E)},655:function(e,t,a){},780:function(e,t,a){},781:function(e,t,a){},782:function(e,t,a){},786:function(e,t,a){},788:function(e,t){},856:function(e,t){}}]); (window.webpackJsonp=window.webpackJsonp||[]).push([[23],{1171:function(e,t,a){"use strict";a.r(t);a(44);var n=a(14),c=a.n(n),i=a(7),s=a(8),r=a(11),o=a(9),l=a(10),d=(a(253),a(98)),u=a.n(d),m=a(0),p=a.n(m),h=a(161),v=(a(780),a(16)),f=a(52),y=a(4),E=(a(781),a(641)),b=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))},g=function(e){function t(){var e,a;Object(i.a)(this,t);for(var n=arguments.length,s=new Array(n),l=0;l<n;l++)s[l]=arguments[l];return(a=Object(r.a)(this,(e=Object(o.a)(t)).call.apply(e,[this].concat(s)))).state={num:10,list:[],courseId:null},a.getRecommendation=function(){y.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(s.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(b,{item:t}));return p.a.createElement(E.a,{key:t.course_id,img:t.image_name,handleClick:e.handleClick,info:a,id:t.course_id})})))}}]),t}(m.PureComponent),N=(a(782),a(15)),S=a.n(N),I=function(e){function t(){var e,a;Object(i.a)(this,t);for(var n=arguments.length,c=new Array(n),s=0;s<n;s++)c[s]=arguments[s];return(a=Object(r.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(s.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),w=(a(783),a(785)),_=a.n(w),k=(a(786),function(e){function t(){return Object(i.a)(this,t),Object(r.a)(this,Object(o.a)(t).apply(this,arguments))}return Object(l.a)(t,e),Object(s.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(_.a,null,e&&e.length&&e.map(function(e,t){return p.a.createElement(_.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));k.defaultProps={datum:[{dir_name:"",files:[{file_name:"",file_id:0}]}]};var x=k,O=a(1149),P=(a(832),a(30)),j=a(20),C=a(43),R=a.n(C),A=a(833),L=a.n(A),B=a(654),T=u.a.alert;function D(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 W=function(e){function t(){var e,a;Object(i.a)(this,t);for(var n=arguments.length,s=new Array(n),l=0;l<n;l++)s[l]=arguments[l];return(a=Object(r.a)(this,(e=Object(o.a)(t)).call.apply(e,[this].concat(s)))).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:{},singleBox:!1,singMess:""},a.tobuy=function(){y.c.get("".concat(API["base-api"],"/m/cart/addtopreorder/[").concat(Object(y.b)("id"),"]")).then(function(e){0===e.data.errno?a.props.history.push("/order?id=".concat(Object(y.b)("id")),{simple:1}):c.a.info(e.data.msg,2)})},a.toSingleset=function(e){console.log(e),a.setState({singleBox:!0,singMess:e})},a.boxHide=function(e){a.setState({singleBox:e})},a.setupRecord=function(){a.recordSocket=L()(API.record,{transports:["websocket"]}),a.recordSocket.on("seek",function(e){a.player.currentTime(e)}),a.recordTimer=setInterval(function(){a.sendRecord()},5e3)},a.sendRecord=function(){a.recordSocket&&a.player&&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(){y.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,i=n.activeIndex,s=n.vCourseId;a.sendMessage({mtype:"watch_time",rate:t,time:e,video_id:c[i].id,course_id:a.courseID,v_course_id:s,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(){y.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(){y.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():T("\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(){y.c.get("".concat(API.home,"/sys/course/price/").concat(Object(y.b)("id"))).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(s.a)(t,[{key:"componentDidMount",value:function(){this.courseID=Object(y.b)("id"),this.setState({courseId:this.courseID}),this.token=R.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;y.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,i=c.videoList,s=c.activeIndex,r=c.isAuth,o=c.salePrice;return p.a.createElement("div",{className:"play"},p.a.createElement(h.a,{title:this.state.title,arrow:!0}),p.a.createElement(P.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"})),!r&&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",onClick:this.tobuy,className:"purchase-class"},"\xa5",o," \u8d2d\u4e70\u8bfe\u7a0b"),p.a.createElement("button",{type:"button",onClick:this.toSingleset.bind(this,i[s]),className:"purchase-episode"},"\xa5",i.length&&i[s].class_price," \u8d2d\u4e70\u5355\u96c6")))),p.a.createElement("div",{className:"tab"},p.a.createElement("div",null,p.a.createElement(v.c,{to:{pathname:"".concat(a.url,"/video"),search:"?id=".concat(this.courseID)},replace:!0,activeClassName:"active"},"\u89c6\u9891")),p.a.createElement("div",null,p.a.createElement(v.c,{to:{pathname:"".concat(a.url,"/datum"),search:"?id=".concat(this.courseID)},replace:!0,activeClassName:"active"},"\u8d44\u6599"))),p.a.createElement(B.a,{singleBox:this.state.singleBox,boxHide:this.boxHide,data:this.state.singMess,videoId:this.state.singMess.id,title:this.state.singMess.course_tile})),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(I,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(x,Object.assign({},t,{datum:e.state.datum}))}})),p.a.createElement(f.b,{render:function(t){return e.state.vCourseId?p.a.createElement(g,Object.assign({},t,{vCourseId:e.state.vCourseId})):null}}),p.a.createElement(D,{isShow:this.state.isShowShareModal,closeShareModal:function(){return e.setState({isShowShareModal:!1})},data:this.state.shareData}))}}]),t}(m.Component);t.default=Object(j.b)(function(e){return{user:e.user}},null)(W)},641:function(e,t,a){"use strict";var n=a(0),c=a.n(n);a(642);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)}},642:function(e,t,a){},654:function(e,t,a){"use strict";a(44);var n=a(14),c=a.n(n),i=a(7),s=a(8),r=a(11),o=a(9),l=a(10),d=a(0),u=a.n(d),m=(a(655),a(4)),p=a(16),h=a(52),v=a(23),f=a(20),y=a(154),E=function(e){function t(e){var a;return Object(i.a)(this,t),(a=Object(r.a)(this,Object(o.a)(t).call(this,e))).check=function(e){a.setState({payType:e})},a.toBuy=function(){m.c.get("".concat(API.home,"/sys/createClassOrder/").concat(a.props.videoId)).then(function(e){200===e.data.code?(a.setState({orderId:e.data.data.order_id}),"1"===a.state.payType?a.alipayPay(a.state.orderId):a.weixinPay(a.state.orderId)):c.a.info(e.data.msg,2)})},a.weixinPay=function(e){m.a.isWeixin?window.location.href="https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx23dac6775ac82877&redirect_uri="+encodeURIComponent(window.location.href+"&aa=bb").toLowerCase()+"&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect":m.c.get("".concat(API["base-api"],"/pay/wxpay/wap_charge/oid/").concat(e)).then(function(e){0===e.data.errno?window.location.href=e.data.data.url+"&redirect_url="+encodeURIComponent(window.location.href+"&weixinpay=1").toLowerCase():c.a.info(e.data.msg,2)})},a.alipayPay=function(e){m.c.get("".concat(API["base-api"],"/pay/alipay/wap_charge/oid/").concat(e)).then(function(e){0===e.data.errno?window.location=e.data.data.url:c.a.info(e.data.msg,2)})},a.onBridgeReady=function(e){WeixinJSBridge.invoke("getBrandWCPayRequest",{appId:e.appId,timeStamp:e.timeStamp,nonceStr:e.nonceStr,package:e.package,signType:e.signType,paySign:e.paySign},function(e){"get_brand_wcpay_request:ok"==e.err_msg?this.payCallback():alert("\u652f\u4ed8\u5931\u8d25")})},a.isweixinPay=function(){var e=Object(m.b)("code");if(e){if(void 0===Object(m.b)("oid"))return;m.c.get("".concat(API["base-api"],"/pay/wxpay/pub_charge/oid/").concat(Object(m.b)("oid"),"/code/").concat(e)).then(function(e){if(0===e.data.errno){var t=e.data.data;a.onBridgeReady(t),"undefined"==typeof WeixinJSBridge?document.addEventListener?document.addEventListener("WeixinJSBridgeReady",a.onBridgeReady,!1):document.attachEvent&&(document.attachEvent("WeixinJSBridgeReady",a.onBridgeReady),document.attachEvent("onWeixinJSBridgeReady",a.onBridgeReady)):a.onBridgeReady()}else c.a.info(e.data.msg,2)})}},a.payCallback=function(){m.c.get("".concat(API.home,"/sys/orderStatus/").concat(Object(m.b)("oid"))).then(function(e){"200"==e.data.data.errno?a.setState({status:6}):"201"==e.data.data.errno?a.setState({status:4}):"202"==e.data.data.errno?a.setState({status:3}):"203"==e.data.data.errno?a.setState({nowPrice:e.data.data.data.now_price,laterPrice:e.data.data.data.three_day_later_price,status:2}):c.a.info(e.data.data.msg,2)})},a.toBuyAll=function(){},a.zerobuyReceive=function(){c.a.success("\u8d2d\u4e70\u5168\u96c6\u6210\u529f",3),a.colse()},a.zerogroupBuy=function(){a.getOrderId()},a.getOrderId=function(){var e={course_id:Object(m.b)("id")};m.c.post("".concat(API["base-api"],"/pdd/sys"),e).then(function(e){0===e.data.errno?(a.setState({groupOrderId:e.data.data.order_id}),a.getOrderStatus(e.data.data.order_id)):c.a.info(e.data.msg,2)})},a.getOrderStatus=function(e){m.c.get("".concat(API.home,"/m/pdd/order_status/").concat(e)).then(function(e){200===e.data.code?a.getTime(e.data.data.pdd_order_id):c.a.info(e.data.msg,2)})},a.getTime=function(e){m.c.get("".concat(API.home,"/m/pdd_order_end_time/").concat(e)).then(function(e){200===e.data.code?a.setState({endTime:e.data.data.end_time,status:7}):c.a.info(e.data.msg,2)})},a.toGroup=function(){a.props.history.push("/togroup?id=".concat(a.state.groupOrderId))},a.colse=function(){a.props.boxHide(!1),a.setState({status:1})},a.state={status:1,orderId:"",nowPrice:"",laterPrice:"",hour:"",min:"",sec:"",endTime:"",groupOrderId:"",payType:"0"},a}return Object(l.a)(t,e),Object(s.a)(t,[{key:"componentDidMount",value:function(){(1===Object(m.b)("is_class")||Object(m.b)("weixinpay"))&&this.payCallback(),m.a.isWeixin&&this.isweixinPay()}},{key:"render",value:function(){var e=this;if(this.state.endTime){var t=1e3*this.state.endTime,a=Date.now();setInterval(function(){t-=1e3;var n=Object(y.differenceInSeconds)(new Date(t),a)%60,c=Object(y.differenceInMinutes)(new Date(t),a)%60,i=Object(y.differenceInHours)(new Date(t),a)%24;e.setState({hour:i,min:c,sec:n})},1e3)}return u.a.createElement("div",null,this.props.singleBox&&u.a.createElement("div",{className:"popup-box"},1===this.state.status&&u.a.createElement("div",{className:"content singleset-payment"},u.a.createElement("div",{className:"price-box"},u.a.createElement("span",null,"\u5b9e\u4ed8\u6b3e\uff1a"),u.a.createElement("p",null,this.props.data.class_price,"\u5143")),u.a.createElement("div",{className:"course-info"},u.a.createElement("p",{className:"text-overflow-1"},u.a.createElement("span",null,"\u8bfe\u7a0b\uff1a"),this.props.title),u.a.createElement("p",{className:"text-overflow-1"},u.a.createElement("span",null,"\u8bfe\u65f6\uff1a"),this.props.data.name)),u.a.createElement("div",{className:"payment-type"},u.a.createElement("label",null,"\u652f\u4ed8\u65b9\u5f0f\uff1a"),!m.a.isWeixin&&u.a.createElement("p",{onClick:this.check.bind(this,"1")},u.a.createElement("i",{className:"iconfont iconzhifubaox-"}),u.a.createElement("span",null,"\u652f\u4ed8\u5b9d"),u.a.createElement("i",{className:"iconfont icondanseshixintubiao-5 redio ".concat("1"===this.state.payType?"redioed":"")})),u.a.createElement("p",{onClick:this.check.bind(this,"0")},u.a.createElement("i",{className:"iconfont iconweixinzhifu buy"}),u.a.createElement("span",null,"\u5fae\u4fe1\u652f\u4ed8"),u.a.createElement("i",{className:"iconfont icondanseshixintubiao-5 redio ".concat("0"===this.state.payType?"redioed":"")}))),u.a.createElement("div",{className:"btn btn-18B4ED",onClick:this.toBuy},"\u786e\u8ba4\u8d2d\u4e70")),2===this.state.status&&u.a.createElement("div",{className:"content payment-success"},u.a.createElement("div",{className:"header"},u.a.createElement("i",{className:"iconfont icondanseshixintubiao-5"}),u.a.createElement("span",null,"\u8d2d\u4e70\u6210\u529f")),u.a.createElement("div",{className:"dec"},"\xb7 3\u5929\u5185\u8d2d\u4e70\u5168\u96c6\uff0c\u53ef\u76f4\u63a5\u62b5\u6263\u8be5\u96c6\u8d39\u7528\uff0c",this.state.nowPrice,"\u5143\u8d2d\u4e70\u3002"),u.a.createElement("div",{className:"dec"},"\xb7 \u8d85\u8fc73\u5929\uff0c\u6309\u7167\u672a\u591f\u96c6\u6570/\u5168\u90e8\u96c6\u6570\u7b49\u6bd4\u4f8b\u8ba1\u8d39\uff0c",this.state.laterPrice,"\u5143\u8d2d\u4e70\u5168\u96c6\u3002"),u.a.createElement("div",{className:"btn btn-18B4ED"},"\u5f00\u59cb\u5b66\u4e60"),u.a.createElement("div",{className:"btn btn-FF4000",onclick:this.toBuyAll()},"\uffe5",this.state.nowPrice,"\u8d2d\u4e70\u5168\u96c6")),3===this.state.status&&u.a.createElement("div",{className:"content zero"},u.a.createElement("div",{className:"header"},u.a.createElement("i",{className:"iconfont icondanseshixintubiao-5"}),u.a.createElement("span",null,"\u8d2d\u4e70\u6210\u529f")),u.a.createElement("div",{className:"dec"},"\xb7 \u606d\u559c\u60a8\u83b7\u5f970\u5143\u62fc\u56e2\u8d2d\u4e70\u5269\u4f59\u8bfe\u65f6\u7684\u673a\u4f1a\u3002"),u.a.createElement("div",{className:"btn btn-FF4000",onClick:this.zerogroupBuy},"0\u5143\u53c2\u56e2")),4===this.state.status&&u.a.createElement("div",{className:"content zero"},u.a.createElement("div",{className:"header"},u.a.createElement("i",{className:"iconfont icondanseshixintubiao-5"}),u.a.createElement("span",null,"\u8d2d\u4e70\u6210\u529f")),u.a.createElement("div",{className:"dec"},"\xb7 \u606d\u559c\u60a8\u83b7\u5f970\u5143\u8d2d\u4e70\u5269\u4f59\u8bfe\u65f6\u7684\u673a\u4f1a\u3002"),u.a.createElement("div",{className:"btn btn-FF4000",onClick:this.zerobuyReceive},"0\u5143\u8d2d")),6===this.state.status&&u.a.createElement("div",{className:"content zero"},u.a.createElement("div",{className:"header"},u.a.createElement("i",{className:"iconfont icondanseshixintubiao-5"}),u.a.createElement("span",null,"\u8d2d\u4e70\u6210\u529f")),u.a.createElement(p.b,{to:"/play?id=".concat(Object(m.b)("id")),className:"btn btn-18B4ED"},"\u53bb\u5b66\u4e60")),7===this.state.status&&u.a.createElement("div",{className:"content group"},u.a.createElement("div",{className:"header"},u.a.createElement("i",{className:"iconfont icondanseshixintubiao-5"}),u.a.createElement("span",null,"\u53c2\u56e2\u6210\u529f")),u.a.createElement("div",{className:"group-img"},u.a.createElement("img",{src:this.props.user.data.avatar,alt:""}),u.a.createElement("img",{src:"https://julyedu-cdn.oss-cn-beijing.aliyuncs.com/images/weekend/train7/ellipsis.png",alt:""}),u.a.createElement("img",{src:"https://julyedu-cdn.oss-cn-beijing.aliyuncs.com/images/weekend/train7/ellipsis.png",alt:""})),u.a.createElement("div",{className:"btn-l btn-FF4000",onClick:this.toGroup},"\u5269\u4f59",String(this.state.hour).padStart(2,0),"\uff1a",String(this.state.min).padStart(2,0),"\uff1a",String(this.state.sec).padStart(2,0),"\u9080\u8bf7\u597d\u53cb\u53c2\u56e2")),u.a.createElement("i",{onClick:this.colse,className:"iconfont iconiconfront-2 close"})))}}]),t}(d.Component);t.a=Object(v.d)(Object(f.b)(function(e){return{user:e.user}},null),h.g)(E)},655:function(e,t,a){},780:function(e,t,a){},781:function(e,t,a){},782:function(e,t,a){},786:function(e,t,a){},788:function(e,t){},856:function(e,t){}}]);
//# sourceMappingURL=video.0535da32.chunk.js.map //# sourceMappingURL=video.7782b1ca.chunk.js.map
\ No newline at end of file \ No newline at end of file
{"version":3,"sources":["components/video/recommendation/index.js","components/video/video-catalog/index.js","components/video/datum-catalog/index.js","components/video/index.js","common/v-list-base/index.js","components/detail/single/index.js"],"names":["Bottom","_ref","item","react_default","a","createElement","className","price1","price0","Recommendation","state","num","list","courseId","getRecommendation","http","get","concat","API","home","_this","props","vCourseId","then","res","data","code","setState","toast_default","info","msg","handleClick","id","history","push","this","_this2","map","Info","course_title","simpledescription","recommendation_Bottom","v_list_base","key","course_id","img","image_name","PureComponent","VideoCatalog","i","selectVideo","videoCatalog","index","classnames","active","activeIndex","onClick","bind","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","singleBox","singMess","tobuy","getParam","errno","simple","toSingleset","console","log","boxHide","val","setupRecord","recordSocket","io","record","transports","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","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","src","type","play","_this$state3","_this$state4","_this$state5","lesson","jsCookie","getDatumCatalog","dispose","close","_this3","_this$props","match","location","_this$state6","HeaderBar","arrow","common","ref","el","react_router_dom","to","pathname","url","search","replace","activeClassName","single","videoId","course_tile","react_router","exact","from","path","render","video_video_catalog","Object","assign","video_datum_catalog","video_recommendation","connect","VList","react__WEBPACK_IMPORTED_MODULE_0___default","status","alt","tab","Single","_Users_xzh_dnmp_www_mr_julyedu_node_modules_babel_preset_react_app_node_modules_babel_runtime_helpers_esm_classCallCheck__WEBPACK_IMPORTED_MODULE_2__","_Users_xzh_dnmp_www_mr_julyedu_node_modules_babel_preset_react_app_node_modules_babel_runtime_helpers_esm_possibleConstructorReturn__WEBPACK_IMPORTED_MODULE_4__","_Users_xzh_dnmp_www_mr_julyedu_node_modules_babel_preset_react_app_node_modules_babel_runtime_helpers_esm_getPrototypeOf__WEBPACK_IMPORTED_MODULE_5__","call","check","payType","toBuy","orderId","order_id","alipayPay","weixinPay","antd_mobile_lib_toast__WEBPACK_IMPORTED_MODULE_1___default","browser","isWeixin","href","encodeURIComponent","toLowerCase","onBridgeReady","WeixinJSBridge","invoke","appId","timeStamp","nonceStr","package","signType","paySign","err_msg","payCallback","isweixinPay","weixin_code","undefined","document","attachEvent","nowPrice","now_price","laterPrice","three_day_later_price","toBuyAll","zerobuyReceive","success","colse","zerogroupBuy","getOrderId","groupOrderId","getOrderStatus","getTime","pdd_order_id","endTime","end_time","toGroup","hour","min","date","now","Date","s","differenceInSeconds","m","differenceInMinutes","h","differenceInHours","react__WEBPACK_IMPORTED_MODULE_7___default","class_price","onclick","react_router_dom__WEBPACK_IMPORTED_MODULE_10__","avatar","String","padStart","compose","withRouter"],"mappings":"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","file":"static/js/video.7782b1ca.chunk.js","sourcesContent":["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'\nimport Single from \"@/components/detail/single\";\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 singleBox: false,\n singMess: '',\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 tobuy=()=>{\n http.get(`${API['base-api']}/m/cart/addtopreorder/[${getParam('id')}]`).then((res) => {\n if (res.data.errno === 0) {\n this.props.history.push(`/order?id=${getParam('id')}`, {simple: 1})\n } else {\n Toast.info(res.data.msg, 2);\n }\n })\n }\n // 购买单集\n toSingleset = (item) => {\n console.log(item)\n this.setState({\n singleBox: true,\n singMess: item\n })\n }\n\n // 自组件传给父组件的boxHide\n boxHide = (val) => {\n this.setState({singleBox: val})\n }\n\n\n setupRecord = () => {\n this.recordSocket = io(API.record,{\n transports: ['websocket']\n })\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 && this.player) {\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/${getParam('id')}`)\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'\n onClick={this.tobuy}\n className='purchase-class'>¥{salePrice} 购买课程</button>\n <button type='button'\n onClick={this.toSingleset.bind(this,videoList[activeIndex])}\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={{pathname: `${match.url}/video`, search: `?id=${this.courseID}`}}\n replace\n activeClassName='active'\n >视频</NavLink>\n </div>\n <div>\n <NavLink to={{pathname: `${match.url}/datum`, search: `?id=${this.courseID}`}}\n replace\n activeClassName='active'\n >资料</NavLink>\n </div>\n </div>\n\n {/*单集购买*/}\n <Single singleBox={this.state.singleBox} boxHide={this.boxHide} data={this.state.singMess} videoId={this.state.singMess.id}\n title={this.state.singMess.course_tile}/>\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\n </div>\n );\n }\n}\n\n\nexport default connect(\n state => ({user: state.user}),\n null\n)(Video);","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, {Component} from 'react'\nimport './index.scss'\nimport {api, getParam, http, browser} from \"@/utils\";\nimport {Toast} from 'antd-mobile';\nimport {Link, withRouter} from \"react-router-dom\";\nimport {compose} from \"redux\";\nimport {connect} from \"react-redux\";\nimport {differenceInHours, differenceInMinutes, differenceInSeconds} from \"date-fns\";\n\n\nclass Single extends Component {\n constructor(props) {\n super(props)\n this.state = {\n status: 1,\n orderId: '',\n nowPrice: '',\n laterPrice: '',\n hour: '',\n min: '',\n sec: '',\n endTime: '',\n groupOrderId: '',\n payType: '0', // 1支付宝 0微信\n }\n }\n\n componentDidMount() {\n if (getParam('is_class') === 1 || getParam('weixinpay')) {\n this.payCallback()\n }\n if (browser.isWeixin) {\n this.isweixinPay()\n }\n }\n\n // 选择支付方式\n check = (type) => {\n this.setState({\n payType: type\n })\n }\n\n // 确定购买\n toBuy = () => {\n http.get(`${API.home}/sys/createClassOrder/${this.props.videoId}`).then((res) => {\n if (res.data.code === 200) {\n this.setState({\n orderId: res.data.data.order_id\n })\n this.state.payType === '1' ? this.alipayPay(this.state.orderId) : this.weixinPay(this.state.orderId)\n } else {\n Toast.info(res.data.msg, 2)\n }\n })\n }\n // 微信支付\n weixinPay = (orderId) => {\n // 微信内部-支付\n if (browser.isWeixin) {\n window.location.href = \"https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx23dac6775ac82877&redirect_uri=\" + encodeURIComponent(window.location.href + \"&aa=bb\").toLowerCase() + \"&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect\";\n } else {\n // 微信外部-支付\n http.get(`${API['base-api']}/pay/wxpay/wap_charge/oid/${orderId}`).then((res) => {\n if (res.data.errno === 0) {\n window.location.href = res.data.data.url + \"&redirect_url=\" + encodeURIComponent(window.location.href + \"&weixinpay=1\").toLowerCase();\n } else {\n Toast.info(res.data.msg, 2)\n }\n })\n }\n }\n // 支付宝支付\n alipayPay = (orderId) => {\n http.get(`${API['base-api']}/pay/alipay/wap_charge/oid/${orderId}`).then((res) => {\n if (res.data.errno === 0) {\n window.location = res.data.data.url;\n } else {\n Toast.info(res.data.msg, 2)\n }\n })\n }\n onBridgeReady = (data) => {\n WeixinJSBridge.invoke(\n 'getBrandWCPayRequest', {\n \"appId\": data.appId, //公众号名称,由商户传入\n \"timeStamp\": data.timeStamp, //时间戳,自1970年以来的秒数\n \"nonceStr\": data.nonceStr, //随机串\n \"package\": data.package,\n \"signType\": data.signType, //微信签名方式:\n \"paySign\": data.paySign //微信签名\n },\n function (res) {\n if (res.err_msg == \"get_brand_wcpay_request:ok\") {\n this.payCallback()\n } else {\n alert('支付失败')\n }\n }\n )\n }\n // 微信内部支付\n isweixinPay = () => {\n let weixin_code = getParam('code')\n if (weixin_code) {\n if (getParam('oid') === undefined) {\n return\n } else {\n http.get(`${API['base-api']}/pay/wxpay/pub_charge/oid/${getParam('oid')}/code/${weixin_code}`).then((res) => {\n if (res.data.errno === 0) {\n const data = res.data.data\n this.onBridgeReady(data)\n if (typeof WeixinJSBridge == \"undefined\") {\n if (document.addEventListener) {\n document.addEventListener('WeixinJSBridgeReady', this.onBridgeReady, false)\n } else if (document.attachEvent) {\n document.attachEvent('WeixinJSBridgeReady', this.onBridgeReady)\n document.attachEvent('onWeixinJSBridgeReady', this.onBridgeReady)\n }\n } else {\n this.onBridgeReady()\n }\n } else {\n Toast.info(res.data.msg, 2)\n }\n })\n }\n }\n }\n\n // 支付完成之后获取状态\n payCallback = () => {\n http.get(`${API.home}/sys/orderStatus/${getParam('oid')}`).then((res) => {\n if (res.data.data.errno == '200') {\n // 正常购买单集成功\n this.setState({\n status: 6\n })\n } else if (res.data.data.errno == '201') {\n // 0元参团\n this.setState({\n status: 4\n })\n } else if (res.data.data.errno == '202') {\n // 0元购\n this.setState({\n status: 3\n })\n } else if (res.data.data.errno == '203') {\n // 三天内特价\n this.setState({\n nowPrice: res.data.data.data.now_price,\n laterPrice: res.data.data.data.three_day_later_price,\n status: 2\n })\n } else {\n Toast.info(res.data.data.msg, 2)\n }\n })\n }\n\n\n // 特价购买全集\n toBuyAll = () => {\n\n }\n // 0元购买全集\n zerobuyReceive = () => {\n Toast.success('购买全集成功', 3)\n this.colse()\n }\n // 0元参团\n zerogroupBuy = () => {\n this.getOrderId()\n }\n\n // 获取订单号-0元参团\n getOrderId = () => {\n let data = {\n course_id: getParam('id')\n }\n http.post(`${API['base-api']}/pdd/sys`, data).then((res) => {\n if (res.data.errno === 0) {\n this.setState({\n groupOrderId: res.data.data.order_id\n })\n this.getOrderStatus(res.data.data.order_id)\n } else {\n Toast.info(res.data.msg, 2)\n }\n })\n }\n\n // 获取订单状态-0元参团\n getOrderStatus = (id) => {\n http.get(`${API.home}/m/pdd/order_status/${id}`).then((res) => {\n if (res.data.code === 200) {\n this.getTime(res.data.data.pdd_order_id)\n } else {\n Toast.info(res.data.msg, 2)\n }\n })\n }\n // 获取倒计时-0元参团\n getTime = (id) => {\n http.get(`${API.home}/m/pdd_order_end_time/${id}`).then((res) => {\n if (res.data.code === 200) {\n this.setState({\n endTime: res.data.data.end_time,\n status: 7\n })\n } else {\n Toast.info(res.data.msg, 2)\n }\n })\n }\n\n // 邀请好友参团\n toGroup = () => {\n this.props.history.push(`/togroup?id=${this.state.groupOrderId}`)\n }\n\n // 关闭弹窗\n colse = () => {\n this.props.boxHide(false);\n this.setState({\n status: 1\n })\n }\n\n render() {\n if (this.state.endTime) {\n let date = this.state.endTime * 1000\n let now = Date.now()\n setInterval(() => {\n date -= 1000\n let s = differenceInSeconds(new Date(date), now) % 60,\n m = differenceInMinutes(new Date(date), now) % 60,\n h = differenceInHours(new Date(date), now) % 24\n this.setState({\n hour: h,\n min: m,\n sec: s,\n })\n }, 1000)\n }\n\n return (\n <div>\n {\n this.props.singleBox &&\n <div className='popup-box'>\n {\n this.state.status === 1 &&\n <div className='content singleset-payment'>\n <div className='price-box'>\n <span>实付款:</span>\n <p>{this.props.data.class_price}元</p>\n </div>\n <div className='course-info'>\n <p className='text-overflow-1'><span>课程:</span>\n {this.props.title}\n </p>\n <p className='text-overflow-1'><span>课时:</span>\n {this.props.data.name}\n </p>\n </div>\n <div className='payment-type'>\n <label>支付方式:</label>\n {\n !browser.isWeixin &&\n <p onClick={this.check.bind(this, '1')}>\n <i className='iconfont iconzhifubaox-'></i>\n <span>支付宝</span>\n <i className={`iconfont icondanseshixintubiao-5 redio ${this.state.payType === '1' ? 'redioed' : ''}`}></i>\n </p>\n }\n\n <p onClick={this.check.bind(this, '0')}>\n <i className='iconfont iconweixinzhifu buy'></i>\n <span>微信支付</span>\n <i className={`iconfont icondanseshixintubiao-5 redio ${this.state.payType === '0' ? 'redioed' : ''}`}></i>\n </p>\n </div>\n <div className='btn btn-18B4ED' onClick={this.toBuy}>确认购买</div>\n </div>\n }\n {\n this.state.status === 2 &&\n <div className='content payment-success'>\n <div className=\"header\">\n <i className='iconfont icondanseshixintubiao-5'></i>\n <span>购买成功</span>\n </div>\n <div className=\"dec\">· 3天内购买全集,可直接抵扣该集费用,{this.state.nowPrice}元购买。</div>\n <div className=\"dec\">· 超过3天,按照未够集数/全部集数等比例计费,{this.state.laterPrice}元购买全集。</div>\n <div className='btn btn-18B4ED'>开始学习</div>\n <div className='btn btn-FF4000' onclick={this.toBuyAll()}>¥{this.state.nowPrice}购买全集\n </div>\n </div>\n }\n {\n this.state.status === 3 &&\n <div className='content zero'>\n <div className=\"header\">\n <i className='iconfont icondanseshixintubiao-5'></i>\n <span>购买成功</span>\n </div>\n <div className=\"dec\">· 恭喜您获得0元拼团购买剩余课时的机会。</div>\n <div className='btn btn-FF4000' onClick={this.zerogroupBuy}>0元参团</div>\n </div>\n }\n {\n this.state.status === 4 &&\n <div className='content zero'>\n <div className=\"header\">\n <i className='iconfont icondanseshixintubiao-5'></i>\n <span>购买成功</span>\n </div>\n <div className=\"dec\">· 恭喜您获得0元购买剩余课时的机会。</div>\n <div className='btn btn-FF4000' onClick={this.zerobuyReceive}>0元购</div>\n </div>\n }\n {\n this.state.status === 6 &&\n <div className='content zero'>\n <div className=\"header\">\n <i className='iconfont icondanseshixintubiao-5'></i>\n <span>购买成功</span>\n </div>\n <Link to={`/play?id=${getParam('id')}`} className='btn btn-18B4ED'>去学习</Link>\n </div>\n }\n {\n this.state.status === 7 &&\n <div className='content group'>\n <div className=\"header\">\n <i className='iconfont icondanseshixintubiao-5'></i>\n <span>参团成功</span>\n </div>\n <div className='group-img'>\n <img src={this.props.user.data.avatar} alt=\"\"/>\n <img\n src=\"https://julyedu-cdn.oss-cn-beijing.aliyuncs.com/images/weekend/train7/ellipsis.png\"\n alt=\"\"/>\n <img\n src=\"https://julyedu-cdn.oss-cn-beijing.aliyuncs.com/images/weekend/train7/ellipsis.png\"\n alt=\"\"/>\n\n </div>\n <div className='btn-l btn-FF4000' onClick={this.toGroup}>\n 剩余{String(this.state.hour).padStart(2, 0)}:{String(this.state.min).padStart(2, 0)}:{String(this.state.sec).padStart(2, 0)}\n 邀请好友参团\n </div>\n </div>\n }\n <i onClick={this.colse} className={'iconfont iconiconfront-2 close'}></i>\n </div>\n }\n </div>\n\n );\n }\n\n}\n\nexport default compose(\n connect(\n state => ({user: state.user}),\n null\n ),\n withRouter\n)(Single)\n"],"sourceRoot":""}
\ No newline at end of file
...@@ -89,6 +89,7 @@ class Order extends Component { ...@@ -89,6 +89,7 @@ class Order extends Component {
} }
// 提交订单 // 提交订单
submitOrder = () => { submitOrder = () => {
const {total} = this.state;
if (this.state.orderList.length === 0) { if (this.state.orderList.length === 0) {
Toast.info('没有要提交的订单!'); Toast.info('没有要提交的订单!');
return; return;
...@@ -98,9 +99,12 @@ class Order extends Component { ...@@ -98,9 +99,12 @@ class Order extends Component {
} }
if(this.props.location.state && this.props.location.state.group === 1) { if(this.props.location.state && this.props.location.state.group === 1) {
http.post(`${API['base-api']}/pdd/m`, {course_id: getParam("id")}).then(res => { http.post(`${API['base-api']}/pdd/m`, {course_id: getParam("id")}).then(res => {
console.log(res.data.data);
if(res.data.errno === 200) { if(res.data.errno === 200) {
sessionStorage.removeItem('orderUseCacheObj'); sessionStorage.removeItem('orderUseCacheObj');
if (res.data.data.is_free === 1) {
this.props.history.push(`/togroup?id=${res.data.data.order_id}`);
return;
}
this.props.history.replace(`/payorder?oid=${res.data.data.oid}`); this.props.history.replace(`/payorder?oid=${res.data.data.oid}`);
}else { }else {
Toast.info(res.data.msg, 2); Toast.info(res.data.msg, 2);
...@@ -113,12 +117,15 @@ class Order extends Component { ...@@ -113,12 +117,15 @@ class Order extends Component {
url += '&type=1' url += '&type=1'
} }
http.get(url).then(res => { http.get(url).then(res => {
console.log(res);
if(res.data.errno !== 0) { if(res.data.errno !== 0) {
Toast.info(res.data.msg, 2); Toast.info(res.data.msg, 2);
return; return;
} }
sessionStorage.removeItem('orderUseCacheObj'); sessionStorage.removeItem('orderUseCacheObj');
if (res.data.data.is_free === 1) {
this.props.history.replace(`/purchased`);
return;
}
this.props.history.replace(`/payorder?oid=${res.data.data.order_id}`); this.props.history.replace(`/payorder?oid=${res.data.data.order_id}`);
}); });
} }
......
...@@ -487,13 +487,13 @@ class Video extends Component { ...@@ -487,13 +487,13 @@ class Video extends Component {
</div> </div>
<div className='tab'> <div className='tab'>
<div> <div>
<NavLink to={`${match.url}/video`} <NavLink to={{pathname: `${match.url}/video`, search: `?id=${this.courseID}`}}
replace replace
activeClassName='active' activeClassName='active'
>视频</NavLink> >视频</NavLink>
</div> </div>
<div> <div>
<NavLink to={`${match.url}/datum`} <NavLink to={{pathname: `${match.url}/datum`, search: `?id=${this.courseID}`}}
replace replace
activeClassName='active' activeClassName='active'
>资料</NavLink> >资料</NavLink>
......
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