Commit b7919efb by xuzhenghua

bug

parent 25938f72
{
"BargainMiddlePage.css": "/static/css/BargainMiddlePage.6d24aba4.chunk.css",
"BargainMiddlePage.js": "/static/js/BargainMiddlePage.2137765b.chunk.js",
"BargainMiddlePage.js.map": "/static/js/BargainMiddlePage.2137765b.chunk.js.map",
"Classify.css": "/static/css/Classify.b13bb9a5.chunk.css",
"Classify.js": "/static/js/Classify.18894bc2.chunk.js",
"Classify.js.map": "/static/js/Classify.18894bc2.chunk.js.map",
"CourseList.css": "/static/css/CourseList.49ca5e9b.chunk.css",
"CourseList.js": "/static/js/CourseList.3f68eae8.chunk.js",
"CourseList.js.map": "/static/js/CourseList.3f68eae8.chunk.js.map",
"DrawDocument.css": "/static/css/DrawDocument.aeb3f822.chunk.css",
"DrawDocument.js": "/static/js/DrawDocument.7fd9d55d.chunk.js",
"DrawDocument.js.map": "/static/js/DrawDocument.7fd9d55d.chunk.js.map",
"Examination.css": "/static/css/Examination.7bb0622b.chunk.css",
"Examination.js": "/static/js/Examination.681b3739.chunk.js",
"Examination.js.map": "/static/js/Examination.681b3739.chunk.js.map",
"MyEdit.js": "/static/js/MyEdit.539ac99a.chunk.js",
"MyEdit.js.map": "/static/js/MyEdit.539ac99a.chunk.js.map",
"Order.css": "/static/css/Order.c0945477.chunk.css",
"Order.js": "/static/js/Order.4b65d01b.chunk.js",
"Order.js.map": "/static/js/Order.4b65d01b.chunk.js.map",
"Orderinfo.js": "/static/js/Orderinfo.7c4e2304.chunk.js",
"Orderinfo.js.map": "/static/js/Orderinfo.7c4e2304.chunk.js.map",
"PayOrder.css": "/static/css/PayOrder.7eb7d317.chunk.css",
"PayOrder.js": "/static/js/PayOrder.5675e80b.chunk.js",
"PayOrder.js.map": "/static/js/PayOrder.5675e80b.chunk.js.map",
"Preferential.css": "/static/css/Preferential.a285bc5d.chunk.css",
"Preferential.js": "/static/js/Preferential.b29b960e.chunk.js",
"Preferential.js.map": "/static/js/Preferential.b29b960e.chunk.js.map",
"SearchResult.css": "/static/css/SearchResult.b10912cf.chunk.css",
"SearchResult.js": "/static/js/SearchResult.7e04325a.chunk.js",
"SearchResult.js.map": "/static/js/SearchResult.7e04325a.chunk.js.map",
"ShopCart.css": "/static/css/ShopCart.92ab48a3.chunk.css",
"ShopCart.js": "/static/js/ShopCart.64dc22e9.chunk.js",
"ShopCart.js.map": "/static/js/ShopCart.64dc22e9.chunk.js.map",
"aist-share.css": "/static/css/aist-share.a97e13d0.chunk.css",
"aist-share.js": "/static/js/aist-share.966b948f.chunk.js",
"aist-share.js.map": "/static/js/aist-share.966b948f.chunk.js.map",
"coupons.css": "/static/css/coupons.f2c7a13b.chunk.css",
"coupons.js": "/static/js/coupons.72b220db.chunk.js",
"coupons.js.map": "/static/js/coupons.72b220db.chunk.js.map",
"detail.css": "/static/css/detail.86066899.chunk.css",
"detail.js": "/static/js/detail.c1881240.chunk.js",
"detail.js.map": "/static/js/detail.c1881240.chunk.js.map",
"main.css": "/static/css/main.792d1aeb.chunk.css",
"main.js": "/static/js/main.495a608e.chunk.js",
"main.js.map": "/static/js/main.495a608e.chunk.js.map",
"myorders.css": "/static/css/myorders.67814bde.chunk.css",
"myorders.js": "/static/js/myorders.0ab23f3d.chunk.js",
"myorders.js.map": "/static/js/myorders.0ab23f3d.chunk.js.map",
"purchased.css": "/static/css/purchased.19e06a3f.chunk.css",
"purchased.js": "/static/js/purchased.175c167a.chunk.js",
"purchased.js.map": "/static/js/purchased.175c167a.chunk.js.map",
"runtime~main.js": "/static/js/runtime~main.4ae3216c.js",
"runtime~main.js.map": "/static/js/runtime~main.4ae3216c.js.map",
"search.css": "/static/css/search.0f0e9639.chunk.css",
"search.js": "/static/js/search.865ccd81.chunk.js",
"search.js.map": "/static/js/search.865ccd81.chunk.js.map",
"shareposter.css": "/static/css/shareposter.9e774e45.chunk.css",
"shareposter.js": "/static/js/shareposter.2842f7fe.chunk.js",
"shareposter.js.map": "/static/js/shareposter.2842f7fe.chunk.js.map",
"study.css": "/static/css/study.fec862ed.chunk.css",
"study.js": "/static/js/study.7b23d1e0.chunk.js",
"study.js.map": "/static/js/study.7b23d1e0.chunk.js.map",
"togroup.css": "/static/css/togroup.f08bc5f3.chunk.css",
"togroup.js": "/static/js/togroup.7ef56b86.chunk.js",
"togroup.js.map": "/static/js/togroup.7ef56b86.chunk.js.map",
"video.css": "/static/css/video.8c5a5b8c.chunk.css",
"video.js": "/static/js/video.5608b62d.chunk.js",
"video.js.map": "/static/js/video.5608b62d.chunk.js.map",
"static/css/24.965d713a.chunk.css": "/static/css/24.965d713a.chunk.css",
"static/js/24.468d80a9.chunk.js": "/static/js/24.468d80a9.chunk.js",
"static/js/24.468d80a9.chunk.js.map": "/static/js/24.468d80a9.chunk.js.map",
"static/js/25.403aae65.chunk.js": "/static/js/25.403aae65.chunk.js",
"static/js/25.403aae65.chunk.js.map": "/static/js/25.403aae65.chunk.js.map",
"static/css/26.73976871.chunk.css": "/static/css/26.73976871.chunk.css",
"static/js/26.f842ed87.chunk.js": "/static/js/26.f842ed87.chunk.js",
"static/js/26.f842ed87.chunk.js.map": "/static/js/26.f842ed87.chunk.js.map",
"static/js/27.33496196.chunk.js": "/static/js/27.33496196.chunk.js",
"static/js/27.33496196.chunk.js.map": "/static/js/27.33496196.chunk.js.map",
"static/css/28.42a89c77.chunk.css": "/static/css/28.42a89c77.chunk.css",
"static/js/28.ab85697f.chunk.js": "/static/js/28.ab85697f.chunk.js",
"static/js/28.ab85697f.chunk.js.map": "/static/js/28.ab85697f.chunk.js.map",
"static/css/29.bf839917.chunk.css": "/static/css/29.bf839917.chunk.css",
"static/js/29.52529984.chunk.js": "/static/js/29.52529984.chunk.js",
"static/js/29.52529984.chunk.js.map": "/static/js/29.52529984.chunk.js.map",
"static/css/30.35e22f8c.chunk.css": "/static/css/30.35e22f8c.chunk.css",
"static/js/30.3e2101f4.chunk.js": "/static/js/30.3e2101f4.chunk.js",
"static/js/30.3e2101f4.chunk.js.map": "/static/js/30.3e2101f4.chunk.js.map",
"static/css/31.57d8b033.chunk.css": "/static/css/31.57d8b033.chunk.css",
"static/js/31.1bf13040.chunk.js": "/static/js/31.1bf13040.chunk.js",
"static/js/31.1bf13040.chunk.js.map": "/static/js/31.1bf13040.chunk.js.map",
"BargainMiddlePage.css": "/static/css/BargainMiddlePage.e979bb6e.chunk.css",
"BargainMiddlePage.js": "/static/js/BargainMiddlePage.2ebc4f3d.chunk.js",
"BargainMiddlePage.js.map": "/static/js/BargainMiddlePage.2ebc4f3d.chunk.js.map",
"Classify.css": "/static/css/Classify.c8113023.chunk.css",
"Classify.js": "/static/js/Classify.749fe5f6.chunk.js",
"Classify.js.map": "/static/js/Classify.749fe5f6.chunk.js.map",
"CourseList.css": "/static/css/CourseList.c5876381.chunk.css",
"CourseList.js": "/static/js/CourseList.d47fef34.chunk.js",
"CourseList.js.map": "/static/js/CourseList.d47fef34.chunk.js.map",
"DrawDocument.css": "/static/css/DrawDocument.2e7d81ca.chunk.css",
"DrawDocument.js": "/static/js/DrawDocument.39af102b.chunk.js",
"DrawDocument.js.map": "/static/js/DrawDocument.39af102b.chunk.js.map",
"Examination.css": "/static/css/Examination.f2cc3163.chunk.css",
"Examination.js": "/static/js/Examination.fc6423bb.chunk.js",
"Examination.js.map": "/static/js/Examination.fc6423bb.chunk.js.map",
"MyEdit.js": "/static/js/MyEdit.d0b19073.chunk.js",
"MyEdit.js.map": "/static/js/MyEdit.d0b19073.chunk.js.map",
"Order.css": "/static/css/Order.8bb031ea.chunk.css",
"Order.js": "/static/js/Order.223ff497.chunk.js",
"Order.js.map": "/static/js/Order.223ff497.chunk.js.map",
"Orderinfo.js": "/static/js/Orderinfo.93f1f54f.chunk.js",
"Orderinfo.js.map": "/static/js/Orderinfo.93f1f54f.chunk.js.map",
"PayOrder.css": "/static/css/PayOrder.e5315535.chunk.css",
"PayOrder.js": "/static/js/PayOrder.3da3f74a.chunk.js",
"PayOrder.js.map": "/static/js/PayOrder.3da3f74a.chunk.js.map",
"Preferential.css": "/static/css/Preferential.7456653e.chunk.css",
"Preferential.js": "/static/js/Preferential.2858f20b.chunk.js",
"Preferential.js.map": "/static/js/Preferential.2858f20b.chunk.js.map",
"SearchResult.css": "/static/css/SearchResult.b69c9a27.chunk.css",
"SearchResult.js": "/static/js/SearchResult.92e26ce6.chunk.js",
"SearchResult.js.map": "/static/js/SearchResult.92e26ce6.chunk.js.map",
"ShopCart.css": "/static/css/ShopCart.3a4dbb7a.chunk.css",
"ShopCart.js": "/static/js/ShopCart.02f02571.chunk.js",
"ShopCart.js.map": "/static/js/ShopCart.02f02571.chunk.js.map",
"aist-share.css": "/static/css/aist-share.bef8c404.chunk.css",
"aist-share.js": "/static/js/aist-share.f41ca3e6.chunk.js",
"aist-share.js.map": "/static/js/aist-share.f41ca3e6.chunk.js.map",
"coupons.css": "/static/css/coupons.9ece7350.chunk.css",
"coupons.js": "/static/js/coupons.719ba7ec.chunk.js",
"coupons.js.map": "/static/js/coupons.719ba7ec.chunk.js.map",
"detail.css": "/static/css/detail.089b65d2.chunk.css",
"detail.js": "/static/js/detail.5d65bb98.chunk.js",
"detail.js.map": "/static/js/detail.5d65bb98.chunk.js.map",
"main.css": "/static/css/main.c008e594.chunk.css",
"main.js": "/static/js/main.cdab969f.chunk.js",
"main.js.map": "/static/js/main.cdab969f.chunk.js.map",
"myorders.css": "/static/css/myorders.3ae12dec.chunk.css",
"myorders.js": "/static/js/myorders.f0a72e79.chunk.js",
"myorders.js.map": "/static/js/myorders.f0a72e79.chunk.js.map",
"purchased.css": "/static/css/purchased.1daf107b.chunk.css",
"purchased.js": "/static/js/purchased.b4a99115.chunk.js",
"purchased.js.map": "/static/js/purchased.b4a99115.chunk.js.map",
"runtime~main.js": "/static/js/runtime~main.97f061bb.js",
"runtime~main.js.map": "/static/js/runtime~main.97f061bb.js.map",
"search.css": "/static/css/search.b9dfce93.chunk.css",
"search.js": "/static/js/search.56731f85.chunk.js",
"search.js.map": "/static/js/search.56731f85.chunk.js.map",
"shareposter.css": "/static/css/shareposter.3c7cba2d.chunk.css",
"shareposter.js": "/static/js/shareposter.3edafb76.chunk.js",
"shareposter.js.map": "/static/js/shareposter.3edafb76.chunk.js.map",
"study.css": "/static/css/study.ac267001.chunk.css",
"study.js": "/static/js/study.570af356.chunk.js",
"study.js.map": "/static/js/study.570af356.chunk.js.map",
"togroup.css": "/static/css/togroup.49988cae.chunk.css",
"togroup.js": "/static/js/togroup.352df40d.chunk.js",
"togroup.js.map": "/static/js/togroup.352df40d.chunk.js.map",
"video.css": "/static/css/video.35136da8.chunk.css",
"video.js": "/static/js/video.5e8ccab0.chunk.js",
"video.js.map": "/static/js/video.5e8ccab0.chunk.js.map",
"static/css/24.257b0329.chunk.css": "/static/css/24.257b0329.chunk.css",
"static/js/24.cb73f517.chunk.js": "/static/js/24.cb73f517.chunk.js",
"static/js/24.cb73f517.chunk.js.map": "/static/js/24.cb73f517.chunk.js.map",
"static/js/25.dc48eee8.chunk.js": "/static/js/25.dc48eee8.chunk.js",
"static/js/25.dc48eee8.chunk.js.map": "/static/js/25.dc48eee8.chunk.js.map",
"static/css/26.1b3a6258.chunk.css": "/static/css/26.1b3a6258.chunk.css",
"static/js/26.75bd453a.chunk.js": "/static/js/26.75bd453a.chunk.js",
"static/js/26.75bd453a.chunk.js.map": "/static/js/26.75bd453a.chunk.js.map",
"static/js/27.451e15ff.chunk.js": "/static/js/27.451e15ff.chunk.js",
"static/js/27.451e15ff.chunk.js.map": "/static/js/27.451e15ff.chunk.js.map",
"static/css/28.694b4628.chunk.css": "/static/css/28.694b4628.chunk.css",
"static/js/28.6db31585.chunk.js": "/static/js/28.6db31585.chunk.js",
"static/js/28.6db31585.chunk.js.map": "/static/js/28.6db31585.chunk.js.map",
"static/css/29.5ed15c7e.chunk.css": "/static/css/29.5ed15c7e.chunk.css",
"static/js/29.8d0f5030.chunk.js": "/static/js/29.8d0f5030.chunk.js",
"static/js/29.8d0f5030.chunk.js.map": "/static/js/29.8d0f5030.chunk.js.map",
"static/css/30.ecbb6f9a.chunk.css": "/static/css/30.ecbb6f9a.chunk.css",
"static/js/30.4c226ed3.chunk.js": "/static/js/30.4c226ed3.chunk.js",
"static/js/30.4c226ed3.chunk.js.map": "/static/js/30.4c226ed3.chunk.js.map",
"static/css/31.bc06dce4.chunk.css": "/static/css/31.bc06dce4.chunk.css",
"static/js/31.a98afee5.chunk.js": "/static/js/31.a98afee5.chunk.js",
"static/js/31.a98afee5.chunk.js.map": "/static/js/31.a98afee5.chunk.js.map",
"index.html": "/index.html",
"precache-manifest.73cc4eabeac54e267964a5a7b74e3b7c.js": "/precache-manifest.73cc4eabeac54e267964a5a7b74e3b7c.js",
"precache-manifest.69cf0469395a840afe68a9cf8b14f389.js": "/precache-manifest.69cf0469395a840afe68a9cf8b14f389.js",
"service-worker.js": "/service-worker.js",
"static/css/24.965d713a.chunk.css.map": "/static/css/24.965d713a.chunk.css.map",
"static/css/26.73976871.chunk.css.map": "/static/css/26.73976871.chunk.css.map",
"static/css/28.42a89c77.chunk.css.map": "/static/css/28.42a89c77.chunk.css.map",
"static/css/29.bf839917.chunk.css.map": "/static/css/29.bf839917.chunk.css.map",
"static/css/30.35e22f8c.chunk.css.map": "/static/css/30.35e22f8c.chunk.css.map",
"static/css/31.57d8b033.chunk.css.map": "/static/css/31.57d8b033.chunk.css.map",
"static/css/BargainMiddlePage.6d24aba4.chunk.css.map": "/static/css/BargainMiddlePage.6d24aba4.chunk.css.map",
"static/css/Classify.b13bb9a5.chunk.css.map": "/static/css/Classify.b13bb9a5.chunk.css.map",
"static/css/CourseList.49ca5e9b.chunk.css.map": "/static/css/CourseList.49ca5e9b.chunk.css.map",
"static/css/DrawDocument.aeb3f822.chunk.css.map": "/static/css/DrawDocument.aeb3f822.chunk.css.map",
"static/css/Examination.7bb0622b.chunk.css.map": "/static/css/Examination.7bb0622b.chunk.css.map",
"static/css/Order.c0945477.chunk.css.map": "/static/css/Order.c0945477.chunk.css.map",
"static/css/PayOrder.7eb7d317.chunk.css.map": "/static/css/PayOrder.7eb7d317.chunk.css.map",
"static/css/Preferential.a285bc5d.chunk.css.map": "/static/css/Preferential.a285bc5d.chunk.css.map",
"static/css/SearchResult.b10912cf.chunk.css.map": "/static/css/SearchResult.b10912cf.chunk.css.map",
"static/css/ShopCart.92ab48a3.chunk.css.map": "/static/css/ShopCart.92ab48a3.chunk.css.map",
"static/css/aist-share.a97e13d0.chunk.css.map": "/static/css/aist-share.a97e13d0.chunk.css.map",
"static/css/coupons.f2c7a13b.chunk.css.map": "/static/css/coupons.f2c7a13b.chunk.css.map",
"static/css/detail.86066899.chunk.css.map": "/static/css/detail.86066899.chunk.css.map",
"static/css/main.792d1aeb.chunk.css.map": "/static/css/main.792d1aeb.chunk.css.map",
"static/css/myorders.67814bde.chunk.css.map": "/static/css/myorders.67814bde.chunk.css.map",
"static/css/purchased.19e06a3f.chunk.css.map": "/static/css/purchased.19e06a3f.chunk.css.map",
"static/css/search.0f0e9639.chunk.css.map": "/static/css/search.0f0e9639.chunk.css.map",
"static/css/shareposter.9e774e45.chunk.css.map": "/static/css/shareposter.9e774e45.chunk.css.map",
"static/css/study.fec862ed.chunk.css.map": "/static/css/study.fec862ed.chunk.css.map",
"static/css/togroup.f08bc5f3.chunk.css.map": "/static/css/togroup.f08bc5f3.chunk.css.map",
"static/css/video.8c5a5b8c.chunk.css.map": "/static/css/video.8c5a5b8c.chunk.css.map",
"static/css/24.257b0329.chunk.css.map": "/static/css/24.257b0329.chunk.css.map",
"static/css/26.1b3a6258.chunk.css.map": "/static/css/26.1b3a6258.chunk.css.map",
"static/css/28.694b4628.chunk.css.map": "/static/css/28.694b4628.chunk.css.map",
"static/css/29.5ed15c7e.chunk.css.map": "/static/css/29.5ed15c7e.chunk.css.map",
"static/css/30.ecbb6f9a.chunk.css.map": "/static/css/30.ecbb6f9a.chunk.css.map",
"static/css/31.bc06dce4.chunk.css.map": "/static/css/31.bc06dce4.chunk.css.map",
"static/css/BargainMiddlePage.e979bb6e.chunk.css.map": "/static/css/BargainMiddlePage.e979bb6e.chunk.css.map",
"static/css/Classify.c8113023.chunk.css.map": "/static/css/Classify.c8113023.chunk.css.map",
"static/css/CourseList.c5876381.chunk.css.map": "/static/css/CourseList.c5876381.chunk.css.map",
"static/css/DrawDocument.2e7d81ca.chunk.css.map": "/static/css/DrawDocument.2e7d81ca.chunk.css.map",
"static/css/Examination.f2cc3163.chunk.css.map": "/static/css/Examination.f2cc3163.chunk.css.map",
"static/css/Order.8bb031ea.chunk.css.map": "/static/css/Order.8bb031ea.chunk.css.map",
"static/css/PayOrder.e5315535.chunk.css.map": "/static/css/PayOrder.e5315535.chunk.css.map",
"static/css/Preferential.7456653e.chunk.css.map": "/static/css/Preferential.7456653e.chunk.css.map",
"static/css/SearchResult.b69c9a27.chunk.css.map": "/static/css/SearchResult.b69c9a27.chunk.css.map",
"static/css/ShopCart.3a4dbb7a.chunk.css.map": "/static/css/ShopCart.3a4dbb7a.chunk.css.map",
"static/css/aist-share.bef8c404.chunk.css.map": "/static/css/aist-share.bef8c404.chunk.css.map",
"static/css/coupons.9ece7350.chunk.css.map": "/static/css/coupons.9ece7350.chunk.css.map",
"static/css/detail.089b65d2.chunk.css.map": "/static/css/detail.089b65d2.chunk.css.map",
"static/css/main.c008e594.chunk.css.map": "/static/css/main.c008e594.chunk.css.map",
"static/css/myorders.3ae12dec.chunk.css.map": "/static/css/myorders.3ae12dec.chunk.css.map",
"static/css/purchased.1daf107b.chunk.css.map": "/static/css/purchased.1daf107b.chunk.css.map",
"static/css/search.b9dfce93.chunk.css.map": "/static/css/search.b9dfce93.chunk.css.map",
"static/css/shareposter.3c7cba2d.chunk.css.map": "/static/css/shareposter.3c7cba2d.chunk.css.map",
"static/css/study.ac267001.chunk.css.map": "/static/css/study.ac267001.chunk.css.map",
"static/css/togroup.49988cae.chunk.css.map": "/static/css/togroup.49988cae.chunk.css.map",
"static/css/video.35136da8.chunk.css.map": "/static/css/video.35136da8.chunk.css.map",
"static/media/iconfont.css": "/static/media/iconfont.f983caa7.svg",
"static/media/kanjia_cg_icon.png": "/static/media/kanjia_cg_icon.81a489ac.png",
"static/media/video.scss": "/static/media/progress-share-bg.80011994.png"
......
<!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.965d713a.chunk.css" rel="stylesheet"><link href="/static/css/main.792d1aeb.chunk.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"></div><script src="/api.js"></script><script>!function(u){function e(e){for(var r,t,n=e[0],a=e[1],o=e[2],i=0,c=[];i<n.length;i++)t=n[i],l[t]&&c.push(l[t][0]),l[t]=0;for(r in a)Object.prototype.hasOwnProperty.call(a,r)&&(u[r]=a[r]);for(p&&p(e);c.length;)c.shift()();return f.push.apply(f,o||[]),d()}function d(){for(var e,r=0;r<f.length;r++){for(var t=f[r],n=!0,a=1;a<t.length;a++){var o=t[a];0!==l[o]&&(n=!1)}n&&(f.splice(r--,1),e=b(b.s=t[0]))}return e}var t={},s={18:0},l={18:0},f=[];function b(e){if(t[e])return t[e].exports;var r=t[e]={i:e,l:!1,exports:{}};return u[e].call(r.exports,r,r.exports,b),r.l=!0,r.exports}b.e=function(f){var e=[];s[f]?e.push(s[f]):0!==s[f]&&{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}[f]&&e.push(s[f]=new Promise(function(e,n){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"}[f]||f)+"."+{0:"6d24aba4",1:"b13bb9a5",2:"49ca5e9b",3:"aeb3f822",4:"7bb0622b",5:"31d6cfe0",6:"c0945477",7:"31d6cfe0",8:"7eb7d317",9:"a285bc5d",10:"b10912cf",11:"92ab48a3",12:"a97e13d0",13:"f2c7a13b",14:"86066899",16:"67814bde",17:"19e06a3f",19:"0f0e9639",20:"9e774e45",21:"fec862ed",22:"f08bc5f3",23:"8c5a5b8c",25:"31d6cfe0",26:"73976871",27:"31d6cfe0",28:"42a89c77",29:"bf839917",30:"35e22f8c",31:"57d8b033"}[f]+".chunk.css",a=b.p+r,t=document.getElementsByTagName("link"),o=0;o<t.length;o++){var i=(u=t[o]).getAttribute("data-href")||u.getAttribute("href");if("stylesheet"===u.rel&&(i===r||i===a))return e()}var c=document.getElementsByTagName("style");for(o=0;o<c.length;o++){var u;if((i=(u=c[o]).getAttribute("data-href"))===r||i===a)return e()}var d=document.createElement("link");d.rel="stylesheet",d.type="text/css",d.onload=e,d.onerror=function(e){var r=e&&e.target&&e.target.src||a,t=new Error("Loading CSS chunk "+f+" failed.\n("+r+")");t.request=r,delete s[f],d.parentNode.removeChild(d),n(t)},d.href=a,document.getElementsByTagName("head")[0].appendChild(d)}).then(function(){s[f]=0}));var t=l[f];if(0!==t)if(t)e.push(t[2]);else{var r=new Promise(function(e,r){t=l[f]=[e,r]});e.push(t[2]=r);var n,o=document.createElement("script");o.charset="utf-8",o.timeout=120,b.nc&&o.setAttribute("nonce",b.nc),o.src=b.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"}[f]||f)+"."+{0:"2137765b",1:"18894bc2",2:"3f68eae8",3:"7fd9d55d",4:"681b3739",5:"539ac99a",6:"4b65d01b",7:"7c4e2304",8:"5675e80b",9:"b29b960e",10:"7e04325a",11:"64dc22e9",12:"966b948f",13:"72b220db",14:"c1881240",16:"0ab23f3d",17:"175c167a",19:"865ccd81",20:"2842f7fe",21:"7b23d1e0",22:"7ef56b86",23:"5608b62d",25:"403aae65",26:"f842ed87",27:"33496196",28:"ab85697f",29:"52529984",30:"3e2101f4",31:"1bf13040"}[f]+".chunk.js",n=function(e){o.onerror=o.onload=null,clearTimeout(i);var r=l[f];if(0!==r){if(r){var t=e&&("load"===e.type?"missing":e.type),n=e&&e.target&&e.target.src,a=new Error("Loading chunk "+f+" failed.\n("+t+": "+n+")");a.type=t,a.request=n,r[1](a)}l[f]=void 0}};var i=setTimeout(function(){n({type:"timeout",target:o})},12e4);o.onerror=o.onload=n,document.head.appendChild(o)}return Promise.all(e)},b.m=u,b.c=t,b.d=function(e,r,t){b.o(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:t})},b.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},b.t=function(r,e){if(1&e&&(r=b(r)),8&e)return r;if(4&e&&"object"==typeof r&&r&&r.__esModule)return r;var t=Object.create(null);if(b.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:r}),2&e&&"string"!=typeof r)for(var n in r)b.d(t,n,function(e){return r[e]}.bind(null,n));return t},b.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return b.d(r,"a",r),r},b.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},b.p="/",b.oe=function(e){throw console.error(e),e};var r=window.webpackJsonp=window.webpackJsonp||[],n=r.push.bind(r);r.push=e,r=r.slice();for(var a=0;a<r.length;a++)e(r[a]);var p=n;d()}([])</script><script src="/static/js/24.468d80a9.chunk.js"></script><script src="/static/js/main.495a608e.chunk.js"></script></body></html>
\ No newline at end of file
<!doctype html><html lang="en"><head><meta charset="utf-8"/><link rel="shortcut icon" href="/favicon.ico"/><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no,user-scalable=no"/><meta name="theme-color" content="#000000"/><link rel="manifest" href="/manifest.json"/><title>七月在线 - 国内领先的人工智能教育平台</title><link href="/static/css/24.257b0329.chunk.css" rel="stylesheet"><link href="/static/css/main.c008e594.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,n=e[0],a=e[1],o=e[2],c=0,i=[];c<n.length;c++)t=n[c],l[t]&&i.push(l[t][0]),l[t]=0;for(r in a)Object.prototype.hasOwnProperty.call(a,r)&&(f[r]=a[r]);for(b&&b(e);i.length;)i.shift()();return u.push.apply(u,o||[]),d()}function d(){for(var e,r=0;r<u.length;r++){for(var t=u[r],n=!0,a=1;a<t.length;a++){var o=t[a];0!==l[o]&&(n=!1)}n&&(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,n){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:"e979bb6e",1:"c8113023",2:"c5876381",3:"2e7d81ca",4:"f2cc3163",5:"31d6cfe0",6:"8bb031ea",7:"31d6cfe0",8:"e5315535",9:"7456653e",10:"b69c9a27",11:"3a4dbb7a",12:"bef8c404",13:"9ece7350",14:"089b65d2",16:"3ae12dec",17:"1daf107b",19:"b9dfce93",20:"3c7cba2d",21:"ac267001",22:"49988cae",23:"35136da8",25:"31d6cfe0",26:"1b3a6258",27:"31d6cfe0",28:"694b4628",29:"5ed15c7e",30:"ecbb6f9a",31:"bc06dce4"}[u]+".chunk.css",a=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===a))return e()}var i=document.getElementsByTagName("style");for(o=0;o<i.length;o++){var f;if((c=(f=i[o]).getAttribute("data-href"))===r||c===a)return e()}var d=document.createElement("link");d.rel="stylesheet",d.type="text/css",d.onload=e,d.onerror=function(e){var r=e&&e.target&&e.target.src||a,t=new Error("Loading CSS chunk "+u+" failed.\n("+r+")");t.request=r,delete s[u],d.parentNode.removeChild(d),n(t)},d.href=a,document.getElementsByTagName("head")[0].appendChild(d)}).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 n,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:"2ebc4f3d",1:"749fe5f6",2:"d47fef34",3:"39af102b",4:"fc6423bb",5:"d0b19073",6:"223ff497",7:"93f1f54f",8:"3da3f74a",9:"2858f20b",10:"92e26ce6",11:"02f02571",12:"f41ca3e6",13:"719ba7ec",14:"5d65bb98",16:"f0a72e79",17:"b4a99115",19:"56731f85",20:"3edafb76",21:"570af356",22:"352df40d",23:"5e8ccab0",25:"dc48eee8",26:"75bd453a",27:"451e15ff",28:"6db31585",29:"8d0f5030",30:"4c226ed3",31:"a98afee5"}[u]+".chunk.js",n=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),n=e&&e.target&&e.target.src,a=new Error("Loading chunk "+u+" failed.\n("+t+": "+n+")");a.type=t,a.request=n,r[1](a)}l[u]=void 0}};var c=setTimeout(function(){n({type:"timeout",target:o})},12e4);o.onerror=o.onload=n,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 n in r)p.d(t,n,function(e){return r[e]}.bind(null,n));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||[],n=r.push.bind(r);r.push=e,r=r.slice();for(var a=0;a<r.length;a++)e(r[a]);var b=n;d()}([])</script><script src="/static/js/24.cb73f517.chunk.js"></script><script src="/static/js/main.cdab969f.chunk.js"></script></body></html>
\ No newline at end of file
self.__precacheManifest = [
{
"revision": "b132b6bccd243a35818d",
"url": "/static/js/purchased.b4a99115.chunk.js"
},
{
"revision": "f8dd12b31edf9bfeb67a",
"url": "/static/css/BargainMiddlePage.e979bb6e.chunk.css"
},
{
"revision": "676c9301d25292e2c052",
"url": "/static/css/Classify.c8113023.chunk.css"
},
{
"revision": "676c9301d25292e2c052",
"url": "/static/js/Classify.749fe5f6.chunk.js"
},
{
"revision": "5f4c95fca1e117c9e207",
"url": "/static/css/CourseList.c5876381.chunk.css"
},
{
"revision": "5f4c95fca1e117c9e207",
"url": "/static/js/CourseList.d47fef34.chunk.js"
},
{
"revision": "3536f30ae26d12283255",
"url": "/static/css/DrawDocument.2e7d81ca.chunk.css"
},
{
"revision": "3536f30ae26d12283255",
"url": "/static/js/DrawDocument.39af102b.chunk.js"
},
{
"revision": "4a11e07b9a727b017b1e",
"url": "/static/css/Examination.f2cc3163.chunk.css"
},
{
"revision": "4a11e07b9a727b017b1e",
"url": "/static/js/Examination.fc6423bb.chunk.js"
},
{
"revision": "28db6059d4aaeab3fa8a",
"url": "/static/js/MyEdit.d0b19073.chunk.js"
},
{
"revision": "a15998ac11ee01575da3",
"url": "/static/css/Order.8bb031ea.chunk.css"
},
{
"revision": "a15998ac11ee01575da3",
"url": "/static/js/Order.223ff497.chunk.js"
},
{
"revision": "79ff6ddac2659cbafdba",
"url": "/static/js/Orderinfo.93f1f54f.chunk.js"
},
{
"revision": "c419c78df13d6b2aff5c",
"url": "/static/css/PayOrder.e5315535.chunk.css"
},
{
"revision": "c419c78df13d6b2aff5c",
"url": "/static/js/PayOrder.3da3f74a.chunk.js"
},
{
"revision": "e2f5998fe921b6803c97",
"url": "/static/css/Preferential.7456653e.chunk.css"
},
{
"revision": "e2f5998fe921b6803c97",
"url": "/static/js/Preferential.2858f20b.chunk.js"
},
{
"revision": "104ce11497ad0a0b6dc3",
"url": "/static/css/SearchResult.b69c9a27.chunk.css"
},
{
"revision": "104ce11497ad0a0b6dc3",
"url": "/static/js/SearchResult.92e26ce6.chunk.js"
},
{
"revision": "3a4a42c8f7b060bb1689",
"url": "/static/css/ShopCart.3a4dbb7a.chunk.css"
},
{
"revision": "3a4a42c8f7b060bb1689",
"url": "/static/js/ShopCart.02f02571.chunk.js"
},
{
"revision": "b204be02682877f2c265",
"url": "/static/css/aist-share.bef8c404.chunk.css"
},
{
"revision": "b204be02682877f2c265",
"url": "/static/js/aist-share.f41ca3e6.chunk.js"
},
{
"revision": "92a7c6baeaf88724eecd",
"url": "/static/css/coupons.9ece7350.chunk.css"
},
{
"revision": "92a7c6baeaf88724eecd",
"url": "/static/js/coupons.719ba7ec.chunk.js"
},
{
"revision": "7af9018de40584f2fa87",
"url": "/static/css/detail.089b65d2.chunk.css"
},
{
"revision": "7af9018de40584f2fa87",
"url": "/static/js/detail.5d65bb98.chunk.js"
},
{
"revision": "1c9c2775c9d4985fee42",
"url": "/static/css/main.c008e594.chunk.css"
},
{
"revision": "1c9c2775c9d4985fee42",
"url": "/static/js/main.cdab969f.chunk.js"
},
{
"revision": "804ad89d86ad495d89b9",
"url": "/static/css/myorders.3ae12dec.chunk.css"
},
{
"revision": "804ad89d86ad495d89b9",
"url": "/static/js/myorders.f0a72e79.chunk.js"
},
{
"revision": "b132b6bccd243a35818d",
"url": "/static/css/purchased.1daf107b.chunk.css"
},
{
"revision": "f8dd12b31edf9bfeb67a",
"url": "/static/js/BargainMiddlePage.2ebc4f3d.chunk.js"
},
{
"revision": "ee5c1905002a73ae1e7a",
"url": "/static/js/runtime~main.97f061bb.js"
},
{
"revision": "4c92b5aeac0139b4a08a",
"url": "/static/css/search.b9dfce93.chunk.css"
},
{
"revision": "4c92b5aeac0139b4a08a",
"url": "/static/js/search.56731f85.chunk.js"
},
{
"revision": "b18d5c0a4abd2ba354ed",
"url": "/static/css/shareposter.3c7cba2d.chunk.css"
},
{
"revision": "b18d5c0a4abd2ba354ed",
"url": "/static/js/shareposter.3edafb76.chunk.js"
},
{
"revision": "02397f5420ad9c656802",
"url": "/static/css/study.ac267001.chunk.css"
},
{
"revision": "02397f5420ad9c656802",
"url": "/static/js/study.570af356.chunk.js"
},
{
"revision": "c3b5a42e85ab77b4d4c6",
"url": "/static/css/togroup.49988cae.chunk.css"
},
{
"revision": "c3b5a42e85ab77b4d4c6",
"url": "/static/js/togroup.352df40d.chunk.js"
},
{
"revision": "3c419fe6612d382d70ff",
"url": "/static/css/video.35136da8.chunk.css"
},
{
"revision": "3c419fe6612d382d70ff",
"url": "/static/js/video.5e8ccab0.chunk.js"
},
{
"revision": "80011994e30adf599e5f47fcc81bc06d",
"url": "/static/media/progress-share-bg.80011994.png"
},
{
"revision": "a70e8fed61e69e9c9019",
"url": "/static/js/24.cb73f517.chunk.js"
},
{
"revision": "c2692b9ec65a7d644968",
"url": "/static/js/25.dc48eee8.chunk.js"
},
{
"revision": "81a489ac63f2f2df5ab412e0782bd54c",
"url": "/static/media/kanjia_cg_icon.81a489ac.png"
},
{
"revision": "d6c75fa71f34b8ec92f9",
"url": "/static/js/26.75bd453a.chunk.js"
},
{
"revision": "70bfbce71cee63bf63ce",
"url": "/static/js/27.451e15ff.chunk.js"
},
{
"revision": "f983caa7c06f105373e7e1aec42da261",
"url": "/static/media/iconfont.f983caa7.svg"
},
{
"revision": "88ee21ff981b7093f68b",
"url": "/static/js/28.6db31585.chunk.js"
},
{
"revision": "cd1c41437a2e35a283e4b16b620a8c9e",
"url": "/static/media/iconfont.cd1c4143.eot"
},
{
"revision": "3df38dc7a54f39248999",
"url": "/static/js/29.8d0f5030.chunk.js"
},
{
"revision": "145742789ab409c81f28938b15b5dee7",
"url": "/static/media/iconfont.14574278.ttf"
},
{
"revision": "a88224351f48eb4dbc88",
"url": "/static/js/30.4c226ed3.chunk.js"
},
{
"revision": "7b542c778563daa7cc420d21ed1601b3",
"url": "/static/media/iconfont.7b542c77.woff"
},
{
"revision": "a33df006d7247324f487",
"url": "/static/js/31.a98afee5.chunk.js"
},
{
"revision": "a33df006d7247324f487",
"url": "/static/css/31.bc06dce4.chunk.css"
},
{
"revision": "a88224351f48eb4dbc88",
"url": "/static/css/30.ecbb6f9a.chunk.css"
},
{
"revision": "3df38dc7a54f39248999",
"url": "/static/css/29.5ed15c7e.chunk.css"
},
{
"revision": "88ee21ff981b7093f68b",
"url": "/static/css/28.694b4628.chunk.css"
},
{
"revision": "d6c75fa71f34b8ec92f9",
"url": "/static/css/26.1b3a6258.chunk.css"
},
{
"revision": "a70e8fed61e69e9c9019",
"url": "/static/css/24.257b0329.chunk.css"
},
{
"revision": "b4efdc32f2ef8a8b5edd75c341ec8bea",
"url": "/index.html"
}
];
\ No newline at end of file
self.__precacheManifest = [
{
"revision": "e6e7df3cef8b43e70518",
"url": "/static/js/purchased.175c167a.chunk.js"
},
{
"revision": "40e72ca80fc8edb2c442",
"url": "/static/css/BargainMiddlePage.6d24aba4.chunk.css"
},
{
"revision": "168394c95f594b0140b5",
"url": "/static/css/Classify.b13bb9a5.chunk.css"
},
{
"revision": "168394c95f594b0140b5",
"url": "/static/js/Classify.18894bc2.chunk.js"
},
{
"revision": "fa30d371b54ccddef290",
"url": "/static/css/CourseList.49ca5e9b.chunk.css"
},
{
"revision": "fa30d371b54ccddef290",
"url": "/static/js/CourseList.3f68eae8.chunk.js"
},
{
"revision": "2a34a8f4ca1effab3622",
"url": "/static/css/DrawDocument.aeb3f822.chunk.css"
},
{
"revision": "2a34a8f4ca1effab3622",
"url": "/static/js/DrawDocument.7fd9d55d.chunk.js"
},
{
"revision": "3d862d898d465a7341f6",
"url": "/static/css/Examination.7bb0622b.chunk.css"
},
{
"revision": "3d862d898d465a7341f6",
"url": "/static/js/Examination.681b3739.chunk.js"
},
{
"revision": "ffebe892c93d41c54cb7",
"url": "/static/js/MyEdit.539ac99a.chunk.js"
},
{
"revision": "a1d5c86143b19c704fb6",
"url": "/static/css/Order.c0945477.chunk.css"
},
{
"revision": "a1d5c86143b19c704fb6",
"url": "/static/js/Order.4b65d01b.chunk.js"
},
{
"revision": "8b4b8f37fc9f072019b1",
"url": "/static/js/Orderinfo.7c4e2304.chunk.js"
},
{
"revision": "6ce01a91c5ee2dddb1bc",
"url": "/static/css/PayOrder.7eb7d317.chunk.css"
},
{
"revision": "6ce01a91c5ee2dddb1bc",
"url": "/static/js/PayOrder.5675e80b.chunk.js"
},
{
"revision": "4e106dff3e36a539b58b",
"url": "/static/css/Preferential.a285bc5d.chunk.css"
},
{
"revision": "4e106dff3e36a539b58b",
"url": "/static/js/Preferential.b29b960e.chunk.js"
},
{
"revision": "2d8fe1910303d0a2185a",
"url": "/static/css/SearchResult.b10912cf.chunk.css"
},
{
"revision": "2d8fe1910303d0a2185a",
"url": "/static/js/SearchResult.7e04325a.chunk.js"
},
{
"revision": "7720fd8df2b4bee35fcb",
"url": "/static/css/ShopCart.92ab48a3.chunk.css"
},
{
"revision": "7720fd8df2b4bee35fcb",
"url": "/static/js/ShopCart.64dc22e9.chunk.js"
},
{
"revision": "a2577ac9940b16b159e8",
"url": "/static/css/aist-share.a97e13d0.chunk.css"
},
{
"revision": "a2577ac9940b16b159e8",
"url": "/static/js/aist-share.966b948f.chunk.js"
},
{
"revision": "258db4eb2f82f9ef57c1",
"url": "/static/css/coupons.f2c7a13b.chunk.css"
},
{
"revision": "258db4eb2f82f9ef57c1",
"url": "/static/js/coupons.72b220db.chunk.js"
},
{
"revision": "37781649cdb6a23f22bc",
"url": "/static/css/detail.86066899.chunk.css"
},
{
"revision": "37781649cdb6a23f22bc",
"url": "/static/js/detail.c1881240.chunk.js"
},
{
"revision": "b2886cc0c6c295f57190",
"url": "/static/css/main.792d1aeb.chunk.css"
},
{
"revision": "b2886cc0c6c295f57190",
"url": "/static/js/main.495a608e.chunk.js"
},
{
"revision": "046d6fec138271cce2b4",
"url": "/static/css/myorders.67814bde.chunk.css"
},
{
"revision": "046d6fec138271cce2b4",
"url": "/static/js/myorders.0ab23f3d.chunk.js"
},
{
"revision": "e6e7df3cef8b43e70518",
"url": "/static/css/purchased.19e06a3f.chunk.css"
},
{
"revision": "40e72ca80fc8edb2c442",
"url": "/static/js/BargainMiddlePage.2137765b.chunk.js"
},
{
"revision": "0c4f6705ab33b561ba0a",
"url": "/static/js/runtime~main.4ae3216c.js"
},
{
"revision": "70c180e7e7d67f89dc7e",
"url": "/static/css/search.0f0e9639.chunk.css"
},
{
"revision": "70c180e7e7d67f89dc7e",
"url": "/static/js/search.865ccd81.chunk.js"
},
{
"revision": "62a56af7f3b8d6693f46",
"url": "/static/css/shareposter.9e774e45.chunk.css"
},
{
"revision": "62a56af7f3b8d6693f46",
"url": "/static/js/shareposter.2842f7fe.chunk.js"
},
{
"revision": "50c19e85642e18768983",
"url": "/static/css/study.fec862ed.chunk.css"
},
{
"revision": "50c19e85642e18768983",
"url": "/static/js/study.7b23d1e0.chunk.js"
},
{
"revision": "6d6fc1f9d379a60a29f9",
"url": "/static/css/togroup.f08bc5f3.chunk.css"
},
{
"revision": "6d6fc1f9d379a60a29f9",
"url": "/static/js/togroup.7ef56b86.chunk.js"
},
{
"revision": "d7402d028af655b77785",
"url": "/static/css/video.8c5a5b8c.chunk.css"
},
{
"revision": "d7402d028af655b77785",
"url": "/static/js/video.5608b62d.chunk.js"
},
{
"revision": "80011994e30adf599e5f47fcc81bc06d",
"url": "/static/media/progress-share-bg.80011994.png"
},
{
"revision": "d8aa9c2e61990dcc8f77",
"url": "/static/js/24.468d80a9.chunk.js"
},
{
"revision": "c36733f1a53eb4beb646",
"url": "/static/js/25.403aae65.chunk.js"
},
{
"revision": "81a489ac63f2f2df5ab412e0782bd54c",
"url": "/static/media/kanjia_cg_icon.81a489ac.png"
},
{
"revision": "27a708318078e1b354e8",
"url": "/static/js/26.f842ed87.chunk.js"
},
{
"revision": "2725cf82a2822752e44f",
"url": "/static/js/27.33496196.chunk.js"
},
{
"revision": "f983caa7c06f105373e7e1aec42da261",
"url": "/static/media/iconfont.f983caa7.svg"
},
{
"revision": "10c55d4d70c2fce60ccb",
"url": "/static/js/28.ab85697f.chunk.js"
},
{
"revision": "145742789ab409c81f28938b15b5dee7",
"url": "/static/media/iconfont.14574278.ttf"
},
{
"revision": "0ddb8222b83ddc441ccb",
"url": "/static/js/29.52529984.chunk.js"
},
{
"revision": "cd1c41437a2e35a283e4b16b620a8c9e",
"url": "/static/media/iconfont.cd1c4143.eot"
},
{
"revision": "e0787ad15d0a12c4d4fc",
"url": "/static/js/30.3e2101f4.chunk.js"
},
{
"revision": "7b542c778563daa7cc420d21ed1601b3",
"url": "/static/media/iconfont.7b542c77.woff"
},
{
"revision": "621924f12c94584bb3e7",
"url": "/static/js/31.1bf13040.chunk.js"
},
{
"revision": "621924f12c94584bb3e7",
"url": "/static/css/31.57d8b033.chunk.css"
},
{
"revision": "e0787ad15d0a12c4d4fc",
"url": "/static/css/30.35e22f8c.chunk.css"
},
{
"revision": "0ddb8222b83ddc441ccb",
"url": "/static/css/29.bf839917.chunk.css"
},
{
"revision": "10c55d4d70c2fce60ccb",
"url": "/static/css/28.42a89c77.chunk.css"
},
{
"revision": "27a708318078e1b354e8",
"url": "/static/css/26.73976871.chunk.css"
},
{
"revision": "d8aa9c2e61990dcc8f77",
"url": "/static/css/24.965d713a.chunk.css"
},
{
"revision": "2daebf207ca7cb045b9b4fe4df93fd00",
"url": "/index.html"
}
];
\ No newline at end of file
......@@ -14,7 +14,7 @@
importScripts("https://storage.googleapis.com/workbox-cdn/releases/3.6.3/workbox-sw.js");
importScripts(
"/precache-manifest.73cc4eabeac54e267964a5a7b74e3b7c.js"
"/precache-manifest.69cf0469395a840afe68a9cf8b14f389.js"
);
workbox.clientsClaim();
......
import React from 'react';
import { NavLink } from 'react-router-dom'
import { NavLink, withRouter } from 'react-router-dom'
import './index.scss';
const navLinkConfig = [
......@@ -7,29 +7,33 @@ const navLinkConfig = [
to: '/',
exact: true,
icon: 'iconshouye-xianxing',
activeIcon: 'iconshouye1',
text: '首页'
},
{
to: '/classify',
exact: false,
icon: 'iconfenlei-xianxing',
activeIcon: 'iconfenlei-chunse',
text: '分类'
},
{
to: '/study',
exact: false,
icon: 'iconxuexi-xianxing',
activeIcon: 'iconxuexi-chunse',
text: '学习'
},
{
to: '/my',
exact: false,
icon: 'iconwode-xianxing',
activeIcon: 'iconwode-chunse',
text: '我的'
}
]
const NavBar = React.memo(() => {
const NavBar = React.memo(({location}) => {
return (
<div className="nav-bar">
{
......@@ -42,7 +46,7 @@ const NavBar = React.memo(() => {
key={icon}
{...rest}
>
<i className={`iconfont ${icon}`}/>
<i className={`iconfont ${location.pathname.startsWith(item.to) ? item.activeIcon : item.icon}`}/>
<span>{text}</span>
</NavLink>
)
......@@ -52,4 +56,4 @@ const NavBar = React.memo(() => {
)
})
export default NavBar
\ No newline at end of file
export default withRouter(NavBar)
\ No newline at end of file
......@@ -109,11 +109,11 @@ class Index extends Component {
}
toCourseDetail = (id) => {
const {dispatch, history} = this.props;
dispatch(getCourses(id, () => {
const { dispatch, history } = this.props;
// dispatch(getCourses(id, () => {
history.push(`/detail?id=${id}`);
return false;
}));
// }));
}
render() {
......
......@@ -307,10 +307,10 @@
.bargain {
width: 165px;
height: 30px;
background: $bg_FADD29;
background: $bg_077FD0;
border-radius: 2px;
border: none;
color: $color_FF4000;
color: $white;
-webkit-appearance: none;
display: inline-block;
text-align: center;
......
......@@ -285,10 +285,10 @@ class BargainMiddlePage extends Component {
toCourseDetail = (id) => {
const { dispatch, history } = this.props;
dispatch(getCourses(id, () => {
// dispatch(getCourses(id, () => {
history.push(`/detail?id=${id}`);
return false;
}));
// }));
}
render() {
......@@ -447,7 +447,7 @@ class BargainMiddlePage extends Component {
}
</ul>
</div>
<Link to={'/preferential'} className={'preferential'}>查看更多精品课程 >></Link>
<Link to={'/classify'} className={'preferential'}>查看更多精品课程 >></Link>
{/*更多好友砍价*/}
......
......@@ -107,9 +107,9 @@ class Classify extends Component {
toCourseDetail = (id) => {
const { dispatch, history } = this.props;
dispatch(getCourses(id, () => {
// dispatch(getCourses(id, () => {
history.push(`/detail?id=${id}`)
}));
// }));
}
toClassify=()=>{
......
......@@ -54,10 +54,10 @@ class Classify extends Component {
toCourseDetail = (id) => {
const { dispatch, history } = this.props;
dispatch(getCourses(id, () => {
// dispatch(getCourses(id, () => {
history.push(`/detail?id=${id}`);
return false;
}));
// }));
}
render() {
......
......@@ -149,10 +149,10 @@ class UseCoupon extends PureComponent {
if (coupon['ctype'] === 1) {
history.push(`/classify`)
} else {
dispatch(getCourses(coupon['limit_course'], () => {
// dispatch(getCourses(coupon['limit_course'], () => {
history.push(`/detail?id=${coupon['limit_course']}`);
return false;
}));
// }));
}
} else {
......
......@@ -21,7 +21,8 @@ export const fetchCoursesListIfNeeded = () => (dispatch, getState) => {
}
export const getCourses = (id, cb) => dispatch => {
const courseId = id? id : getParam('id');
return http.get(`${API.home}/m/course/detail/${courseId}`,).then((res) => {
const url = getParam('dist_code')? `${API.home}/m/course/detail/${courseId}/${getParam('dist_code')}` : `${API.home}/m/course/detail/${courseId}`;
return http.get(url).then((res) => {
if (res.data.code === 200) {
dispatch(receiveCourseDetail({
...res.data.data
......
......@@ -23,7 +23,8 @@ class Bargain extends Component {
limitPeople: '',
status: '',
bargainCode: '',
time: ''
time: '',
barInfo: {}
}
}
......@@ -58,9 +59,10 @@ class Bargain extends Component {
http.post(`${API.home}/m/bargain/courseDetail`, data).then((res) => {
if (res.data.code === 200) {
this.setState({
info: res.data.data,
limitPeople: res.data.data.limit_people,
bargainCode: res.data.data.bargain_code
barInfo: res.data.data,
// info: res.data.data,
// limitPeople: res.data.data.limit_people,
// bargainCode: res.data.data.bargain_code
})
if (res.data.data.bargain_status === 0) {
this.getBargainRankList(getParam('id'), 0)
......@@ -120,7 +122,8 @@ class Bargain extends Component {
}
// 继续砍价
continueBargain = () => {
const code = this.state.bargainCode
const { barInfo = {} } = this.state;
const code = barInfo.bargain_code;
this.props.history.push(`/bargain-middle-page?id=${getParam('id')}&bargaincode=${code}&is_originator=1`)
}
......@@ -177,6 +180,7 @@ class Bargain extends Component {
}
render() {
const { list, outList, barInfo } = this.state;
const {user} = this.props
const uid = user && user.data && user.data.uid
return (
......@@ -184,14 +188,14 @@ class Bargain extends Component {
{/*bargain_status 砍价状态 0-砍价中,1砍价结束,待支付,2砍价过期(没有砍价记录没有砍价信息),3已购买*/}
{
(this.state.info.bargain_status === 2 || !uid) &&
<BargainIntro limitPeople={this.state.limitPeople} iWantBargain={this.iWantBargain}/>
(barInfo.bargain_status === 2 || !uid) &&
<BargainIntro limitPeople={barInfo.limitPeople} iWantBargain={this.iWantBargain}/>
}
{
(this.state.info.bargain_status === 0 || this.state.info.bargain_status === 1) &&
(barInfo.bargain_status === 0 || barInfo.bargain_status === 1) &&
<BargainStatus
info={this.state.info}
outList={this.state.outList}
info={barInfo}
outList={outList}
getMore={this.getMore}
toArtifact={this.toArtifact}
useArtifact={this.useArtifact}
......@@ -232,8 +236,13 @@ class Bargain extends Component {
{/*更多好友砍价*/}
<Ranking list={this.state.list} icon={this.state.kanjiaIcon} limitPeople={this.state.limitPeople}
isShowMore={this.state.isShowMore} boxHide={this.boxHide}></Ranking>
<Ranking
list={list}
icon={this.state.kanjiaIcon}
limitPeople={barInfo.limitPeople}
isShowMore={this.state.isShowMore}
boxHide={this.boxHide}
/>
</div>
)
......
......@@ -6,7 +6,6 @@ import { getCourses } from "@/components/detail/actions"
import { connect } from "react-redux"
import './index.scss'
import Overlay from '../overlay'
import axios from "axios";
class BtnStatus extends Component {
......@@ -18,7 +17,7 @@ class BtnStatus extends Component {
group_status: 3,
in_cart: false,
countdown: 0,
// barInfo: ''
barInfo: {}
}
}
......@@ -40,38 +39,44 @@ class BtnStatus extends Component {
// }
componentWillReceiveProps(nextProps) {
const { data = {}} = nextProps;
if(data.is_bargain) {
this.getBargainInfo();
}
// if(nextProps.data && nextProps.data.is_bargain) {
// this.getBargainInfo()
// }
this.setState({
...nextProps.data.course_info,
courseInfo: data,
countdown: nextProps.countdown,
});
}
// 加入购物车 type:1 加入购物车,2加入购物车并跳转到购物车页面去支付
toCart = (type) => {
const { history, addCourseToCart } = this.props;
let data = {
course_id: getParam('id')
};
http.post(`${API.home}/m/cart/add`, data).then((res) => {
if (res.data.code === 200) {
if (type === 1) {
Toast.info('已加入购物车', 2)
// this.props.getCourses()
// document.location.reload()
addCourseToCart();
} else {
history.replace('/shopcart');ß
}
} else if (res.data.code === 15001) {
history.replace('/shopcart');
} else {
Toast.info(res.data.msg, 2);
}
})
};
// // 加入购物车 type:1 加入购物车,2加入购物车并跳转到购物车页面去支付
// toCart = (type) => {
// const { history, addCourseToCart } = this.props;
// let data = {
// course_id: getParam('id')
// };
// http.post(`${API.home}/m/cart/add`, data).then((res) => {
// if (res.data.code === 200) {
// if (type === 1) {
// Toast.info('已加入购物车', 2)
// // this.props.getCourses()
// // document.location.reload()
// addCourseToCart();
// } else {
// history.replace('/shopcart');ß
// }
// } else if (res.data.code === 15001) {
// history.replace('/shopcart');
// } else if (res.data.code === 4030) {
// history.replace('/passport');
// } else {
// Toast.info(res.data.msg, 2);
// }
// })
// };
// 返现课程的立即购买
signUpNow = () => {
if(this.props.user.hasError) {
......@@ -110,7 +115,8 @@ class BtnStatus extends Component {
};
// 直接购买
tobuy = () => {
const {user, barInfo} = this.props
const {user} = this.props;
const {barInfo} = this.state;
const uid = user && user.data && user.data.uid
if (!uid) {
this.props.history.push('/passport/login')
......@@ -198,7 +204,7 @@ class BtnStatus extends Component {
parent_uid: 0 // 被助力人id 【自己本人操作传0】
}
http.post(`${API.home}/m/bargain/toBargain`, data).then((res) => {
const {data: {data, code, msg}} = res;
const {data, code, msg} = res.data;
if (code === 200) {
history.push(`/bargain-middle-page?id=${course_id}&bargaincode=${data.bargain_code}&is_originator=1`)
} else {
......@@ -228,10 +234,12 @@ class BtnStatus extends Component {
}
render() {
console.log(this.state);
// data 课程信息;barInfo 砍价信息
const { data: info = {}, barInfo = {}, user = {} } = this.props;
const { countdown } = this.state;
const { user = {}, toCart } = this.props;
const { countdown ,barInfo, courseInfo: info = {}} = this.state;
const uid = user.data && user.data.uid;
console.log(info.in_cart);
return (
<div>
{/*正常购买*/}
......@@ -248,7 +256,7 @@ class BtnStatus extends Component {
}
{
!info.in_cart &&
<button className='btn btn-s bg-FCCD05' onClick={e => this.toCart(1)}>加入购物车</button>
<button className='btn btn-s bg-FCCD05' onClick={e => toCart(1)}>加入购物车</button>
}
<span className='btn btn-s bg-FD7700' onClick={e => this.simpleCourse()}>立即报名</span>
......
......@@ -37,10 +37,9 @@ class Group extends Component {
}
toPay = (pdd_order_id) => {
const courseInfo = this.props.courseInfo.courseInfo.course_info;
const {courseInfo, history} = this.props;
if (courseInfo.group_status === 3) {
this.props.history.push(`/order?id=${getParam('id')}`, {group: 1})
history.push(`/order?id=${getParam('id')}`, {group: 1});
} else {
this.setState({
isShowMore: false,
......@@ -76,8 +75,9 @@ class Group extends Component {
}
componentDidMount() {
if (this.props.courseInfo && this.props.courseInfo.courseInfo && this.props.courseInfo.courseInfo.course_info && this.props.courseInfo.courseInfo.course_info.pdd_group_info) {
let now_groupon_list = this.props.courseInfo.courseInfo.course_info.pdd_group_info.now_groupon_list;
const { courseInfo={} } = this.props;
if (courseInfo.pdd_group_info) {
let now_groupon_list = courseInfo.pdd_group_info.now_groupon_list;
if (now_groupon_list && now_groupon_list.length > 0) {
// setInterval(() => {
now_groupon_list.map(item => {
......@@ -111,12 +111,16 @@ class Group extends Component {
}
render() {
const { courseInfo } = this.props;
const { alreadyIn, countdown, now_groupon_list } = this.state;
let groupInfo = '', groupon_member = '', group_status = -1, groupSuccessMbc = null;
if (this.props.courseInfo && this.props.courseInfo.courseInfo && this.props.courseInfo.courseInfo.course_info) {
groupInfo = this.props.courseInfo.courseInfo.course_info.pdd_group_info;
let groupInfo = '',
groupon_member = '',
group_status = -1,
groupSuccessMbc = null;
if (courseInfo) {
groupInfo = courseInfo.pdd_group_info;
groupon_member = groupInfo.groupon_member;
group_status = this.props.courseInfo.courseInfo.course_info.group_status;
group_status = courseInfo.group_status;
}
if (group_status === 4) {
if (groupon_member.member) {
......@@ -249,7 +253,9 @@ class Group extends Component {
}
}
export default connect(
state => ({ courseInfo: state }),
null
)(Group)
// export default connect(
// state => ({ courseInfo: state }),
// null
// )(Group)
export default Group;
......@@ -159,6 +159,7 @@
.group-status {
line-height: 60px;
font-size: 12px;
color: $color_666;
position: absolute;
right: 66px;
......
......@@ -35,7 +35,7 @@ class ToGroup extends Component {
title: `【仅剩${number}个名额】我${pdd_price}元拼了《${data.course_title}》`,
desc: data.course_title, // 分享描述
// 直接进入课程详情页,isIn: 1
link: location.origin + `/detail?id=${data.course_id}&isIn=1`, // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
link: location.origin + `/detail?id=${data.course_id}`, // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
imgUrl: data.image_name, // 分享图标
};
http.post(`${API['base-api']}/m/sale/signature`).then(res => {
......@@ -124,10 +124,10 @@ class ToGroup extends Component {
toCourseDetail = (id) => {
const { dispatch, history } = this.props;
dispatch(getCourses(id, () => {
// dispatch(getCourses(id, () => {
history.push(`/detail?id=${id}`, {href: '/classify'});
return false;
}));
// }));
}
render() {
......
......@@ -17,6 +17,8 @@ import {compose, bindActionCreators} from "redux";
class Detail extends Component {
courseId
constructor(props) {
super(props)
this.state = {
......@@ -29,20 +31,26 @@ class Detail extends Component {
barInfo: '',
share: false,
countdown: '00:00:00',
outList: [],
list: [],
course: {}
}
}
componentDidMount() {
// 直接进入课程详情页,isIn: 1
if(getParam('isIn')) {
this.props.getCourses();
}
const { courseInfo } = this.props;
if(courseInfo.course_info.is_bargain) {
this.getBargainInfo();
this.fetchCourseInfo();
}
if (courseInfo.course_info) {
let course_info = courseInfo.course_info;
fetchCourseInfo = () => {
const id = getParam('id');
http.get(`${API.home}/m/course/detail/${id}`).then((res) => {
const {data, code} = res.data;
if (code === 200) {
this.setState({
course: data
});
if (data.course_info) {
let course_info = data.course_info;
if (course_info.group_status === 3 || course_info.group_status === 4) {
let endTime = course_info.pdd_group_info.groupon_member.end_time;
let date = endTime * 1000,
......@@ -60,6 +68,10 @@ class Detail extends Component {
}, 1000)
}
}
}
});
}
// 点击子组件试听按钮
......@@ -88,32 +100,60 @@ class Detail extends Component {
}
}
componentWillReceiveProps(nextProps) {
let _this = this;
if (nextProps.courseInfo.course_info) {
let courseInfo = nextProps.courseInfo.course_info;
if (courseInfo.group_status === 3 || courseInfo.group_status === 4) {
let endTime = courseInfo.pdd_group_info.groupon_member.end_time;
let date = endTime * 1000,
hours = 0,
minutes = 0,
seconds = 0;
setInterval(() => {
date -= 1000
hours = `${parseInt(date / (60 * 60 * 1000))}`.padStart(2, 0);
minutes = `${parseInt((date - hours * 3600000) / 60000)}`.padStart(2, 0);
seconds = `${parseInt((date - hours * 3600000 - minutes * 60000) / 1000)}`.padStart(2, 0);
_this.setState({
countdown: `${hours}:${minutes}:${seconds}`
});
}, 1000)
}
// componentWillReceiveProps(nextProps) {
// let _this = this;
// if (nextProps.courseInfo.course_info) {
// let courseInfo = nextProps.courseInfo.course_info;
// if (courseInfo.group_status === 3 || courseInfo.group_status === 4) {
// let endTime = courseInfo.pdd_group_info.groupon_member.end_time;
// let date = endTime * 1000,
// hours = 0,
// minutes = 0,
// seconds = 0;
// setInterval(() => {
// date -= 1000
// hours = `${parseInt(date / (60 * 60 * 1000))}`.padStart(2, 0);
// minutes = `${parseInt((date - hours * 3600000) / 60000)}`.padStart(2, 0);
// seconds = `${parseInt((date - hours * 3600000 - minutes * 60000) / 1000)}`.padStart(2, 0);
// _this.setState({
// countdown: `${hours}:${minutes}:${seconds}`
// });
// }, 1000)
// }
// }
// }
// 加入购物车 type:1 加入购物车,2加入购物车并跳转到购物车页面去支付
toCart = (type) => {
const { history, addCourseToCart } = this.props;
let data = {
course_id: getParam('id')
};
http.post(`${API.home}/m/cart/add`, data).then((res) => {
if (res.data.code === 200) {
if (type === 1) {
Toast.info('已加入购物车', 2)
// this.props.getCourses()
// document.location.reload()
addCourseToCart();
this.fetchCourseInfo();
} else {
history.replace('/shopcart');ß
}
} else if (res.data.code === 15001) {
history.replace('/shopcart');
} else if (res.data.code === 4030) {
history.replace('/passport');
} else {
Toast.info(res.data.msg, 2);
}
})
};
invitedFriends = () => {
const {course_title, image_name, course_id, pdd_group_info, pdd_group_info: {groupon_member, groupon_member: {number}, price}} = this.props.courseInfo.course_info;
const {course_title, image_name, course_id, pdd_group_info, pdd_group_info: {groupon_member, groupon_member: {number}, price}} = this.state.course.course_info;
if (browser.isWeixin) {
console.log(0);
let share = this.state.share;
this.setState({
share: !share,
......@@ -124,7 +164,7 @@ class Detail extends Component {
link: location.origin + `/detail??id=${course_id}`, // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
imgUrl: image_name, // 分享图标
};
console.log(shareData);
http.post(`${API['base-api']}/m/sale/signature`).then(res => {
const {nonce_str, signature, timestamp} = res.data;
wx.config({
......@@ -166,86 +206,82 @@ class Detail extends Component {
}
}
//获取砍价信息
getBargainInfo = () => {
let data = {
courseId: getParam('id')
}
http.post(`${API.home}/m/bargain/courseDetail`, data).then((res) => {
if (res.data.code === 200) {
this.setState({
barInfo: res.data.data
})
} else {
Toast.info(res.data.msg, 2)
}
})
}
// 自组件传给父组件的boxHide
boxHide = (val) => {
this.setState({auditionBox: val, singleBox: val})
}
render() {
const { course: { course_info={} }, barInfo } = this.state;
console.log(course_info);
let courseInfo = '',
service = '',
number = 0,
endTime = 0;
if (this.props.courseInfo.course_info) {
courseInfo = this.props.courseInfo.course_info;
service = courseInfo.service;
if (courseInfo.group_status === 3 || courseInfo.group_status === 4) {
number = courseInfo.pdd_group_info.groupon_member.number;
}
}
const {share, countdown} = this.state;
// if (this.props.courseInfo.course_info) {
// courseInfo = this.props.courseInfo.course_info;
// service = courseInfo.service;
// if (courseInfo.group_status === 3 || courseInfo.group_status === 4) {
// number = courseInfo.pdd_group_info.groupon_member.number;
// }
// }
const {share, countdown, list, outList} = this.state;
const href = this.props.location && this.props.location.state? this.props.location.state.href : undefined;
return (
<div className='detail-box'>
<HeaderBar title='课程详情' arrow={true} cart={true} toHref={href}></HeaderBar>
<CallApp className='toapp'></CallApp>
<HeaderBar
title='课程详情'
arrow={true}
cart={true}
toHref={href}
/>
<CallApp className='toapp' />
{/*弹幕*/}
<Carouselw></Carouselw>
<Carouselw />
{/*课程*/}
<div className='course-content'>
<div className='cover'>
<img src={courseInfo.image_name}
alt=""/>
<img src={course_info.image_name} alt="" />
{
(courseInfo.is_aist &&
<span className='return_cash'></span>
)
course_info.is_aist &&
<span className='return_cash' />
}
</div>
<div className="info">
<p className='title'>{courseInfo.course_title}</p>
<p className='contact text-overflow-2'>{courseInfo.simpledescription}</p>
<p className='title'>{course_info.course_title}</p>
<p className='contact text-overflow-2'>{course_info.simpledescription}</p>
<div className='des'>
{courseInfo.is_baoming === 0 && <p className="course-price">
<span className="new">¥{courseInfo.price1}</span>
<span className="old">¥{courseInfo.price0}</span>
{
course_info.is_baoming === 0 &&
<p className="course-price">
<span className="new">¥{course_info.price1}</span>
<span className="old">¥{course_info.price0}</span>
</p>
}
{courseInfo.is_baoming === 1 &&
{
course_info.is_baoming === 1 &&
<span className="isbuy">已购买</span>
}
</div>
</div>
</div>
{/*正常课程已购买时显示*/}
{
courseInfo.is_baoming === 1 &&
course_info.is_baoming === 1 &&
<div className='group'>
上课QQ群:{courseInfo.course_qq},加群请备注您的学号:{courseInfo.uid}
上课QQ群:{course_info.course_qq},加群请备注您的学号:{course_info.uid}
</div>
}
{/*vip课程显示*/}
{
courseInfo.vip_range &&
course_info.vip_range &&
<div className="vip">
<p>已开通年会员:{courseInfo.vip_range}</p>
<p>年会员QQ群:{courseInfo.course_qq},加群请备注您的学号:{courseInfo.uid}</p>
<p>已开通年会员:{course_info.vip_range}</p>
<p>年会员QQ群:{course_info.course_qq},加群请备注您的学号:{course_info.uid}</p>
</div>
}
......@@ -254,7 +290,7 @@ class Detail extends Component {
<label>服务承诺</label>
<p>
{
service && service.length > 0 && service.map((item, index) => {
course_info.service && course_info.service.length > 0 && course_info.service.map((item, index) => {
return (
<span key={index}> {item} </span>
)
......@@ -263,44 +299,64 @@ class Detail extends Component {
</p>
</div>
{/*试听*/}
{/*试听弹窗*/}
<Audition auditionBox={this.state.auditionBox} boxHide={this.boxHide}/>
{/*单集购买*/}
<Single singleBox={this.state.singleBox} boxHide={this.boxHide} data={this.state.singMess}
{/*单集购买弹窗*/}
<Single
singleBox={this.state.singleBox}
boxHide={this.boxHide}
data={this.state.singMess}
videoId={this.state.singMess.video_id}
title={courseInfo.course_title}/>
title={course_info.course_title}
/>
{/*分享赚钱*/}
{
courseInfo.is_dist &&
<ShareRank courseInfo={courseInfo}/>
course_info.is_dist &&
<ShareRank courseInfo={course_info} />
}
{/*拼团*/}
{/**
* 拼团
* is_aist: 是否AI特训营
* group_status: 团状态,3:课程有小团 用户没参加小团;4:用户参加了小团
*/}
{
(!courseInfo.is_aist && (courseInfo.group_status === 3 || courseInfo.group_status === 4)) &&
<Group history={this.props.history} countdown={countdown} invitedFriends={this.invitedFriends}/>
!course_info.is_aist && (course_info.group_status === 3 || course_info.group_status === 4) &&
<Group
courseInfo={course_info}
history={this.props.history}
countdown={countdown}
invitedFriends={this.invitedFriends}
/>
}
{/*砍价*/}
{
courseInfo.is_baoming === 0 && (!courseInfo.is_aist) && this.props.courseInfo.course_info && this.props.courseInfo.course_info.is_bargain &&
<Bargain/>
course_info.is_baoming === 0 && (!course_info.is_aist) && course_info.is_bargain &&
<Bargain />
}
{/*课程介绍、大纲*/}
<OutLine data={this.props.courseInfo} toAudition={this.toAudition} toSingleset={this.toSingleset}/>
<OutLine
data={course_info}
toAudition={this.toAudition}
toSingleset={this.toSingleset}
/>
{/*课程按钮*/}
<BtnStatus countdown={countdown}
data={this.props.courseInfo.course_info}
{
course_info &&
<BtnStatus
countdown={countdown}
data={course_info}
user={this.props.user}
barInfo={this.state.barInfo}
invitedFriends={this.invitedFriends}
addCourseToCart={this.props.addCourseToCart}
history={this.props.history}></BtnStatus>
// addCourseToCart={this.props.addCourseToCart}
toCart={this.toCart}
history={this.props.history}
/>}
{
share ? (
......@@ -325,8 +381,7 @@ class Detail extends Component {
const mapStateToProps = (state) => {
return {
courseInfo: state.courseInfo,
// courseInfo: state.courseInfo,
user: {
...state.user
}
......
......@@ -45,8 +45,8 @@ class OutLine extends Component {
{title: '大纲'}
];
let introduce = ''
if (this.props.data.course_info) {
introduce = this.props.data.course_info
if (this.props.data) {
introduce = this.props.data
}
return (
<div className='course-detail'>
......
......@@ -18,7 +18,6 @@ class ShareRank extends Component {
}
componentDidMount() {
console.log(this.props);
this.getRankList()
this.getCode()
}
......@@ -87,10 +86,11 @@ class ShareRank extends Component {
}
render() {
let info = ''
if (this.props.courseInfo && this.props.courseInfo.courseInfo && this.props.courseInfo.courseInfo.course_info) {
info = this.props.courseInfo.courseInfo.course_info
}
const { courseInfo: info = '' } = this.props;
// let info = ''
// if (this.props.courseInfo && this.props.courseInfo.courseInfo && this.props.courseInfo.courseInfo.course_info) {
// info = this.props.courseInfo.courseInfo.course_info
// }
return (
<div className='share-ranking'>
<Flex className='share-container' justify='between'>
......@@ -157,7 +157,7 @@ class ShareRank extends Component {
export default compose(
connect(
state => ({
courseInfo: state,
// courseInfo: state,
user: state.user
}),
null
......
......@@ -30,10 +30,10 @@ class My extends PureComponent {
toCourseDetail = (id) => {
const { dispatch, history } = this.props;
dispatch(getCourses(id, () => {
// dispatch(getCourses(id, () => {
history.push(`/detail?id=${id}`);
return false;
}));
// }));
}
render() {
......
......@@ -75,10 +75,10 @@ class MyOrders extends Component {
toCourseDetail = (id) => {
const { dispatch, history } = this.props;
dispatch(getCourses(id, () => {
// dispatch(getCourses(id, () => {
history.push(`/detail?id=${id}`);
return false;
}));
// }));
}
......
......@@ -373,9 +373,9 @@ class Order extends Component {
toCourseDetail = (id) => {
const { dispatch, history } = this.props;
dispatch(getCourses(id, () => {
// dispatch(getCourses(id, () => {
history.push(`/detail?id=${id}`)
}));
// }));
}
render() {
......
......@@ -80,9 +80,9 @@ class Preferential extends Component {
toCourseDetail = (id) => {
const { dispatch, history } = this.props;
dispatch(getCourses(id, () => {
// dispatch(getCourses(id, () => {
history.push(`/detail?id=${id}`)
}));
// }));
}
render() {
......
......@@ -37,9 +37,9 @@ class Purchased extends Component {
toCourseDetail = (id) => {
const { dispatch, history } = this.props;
dispatch(getCourses(id, () => {
// dispatch(getCourses(id, () => {
history.push(`/detail?id=${id}`)
}));
// }));
}
......
......@@ -188,9 +188,9 @@ class _Scholarship extends Component {
toCourseDetail = (id) => {
const { dispatch, history } = this.props;
dispatch(getCourses(id, () => {
// dispatch(getCourses(id, () => {
history.push(`/detail?id=${id}`)
}));
// }));
}
render() {
......
......@@ -35,9 +35,9 @@ class Recommendation extends Component {
toCourseDetail = (id) => {
const { dispatch, history } = this.props;
dispatch(getCourses(id, () => {
// dispatch(getCourses(id, () => {
history.push(`/detail?id=${id}`)
}));
// }));
}
render() {
......
......@@ -57,9 +57,9 @@ class SearchResult extends PureComponent {
toCourseDetail = (id) => {
const { dispatch, history } = this.props;
dispatch(getCourses(id, () => {
// dispatch(getCourses(id, () => {
history.push(`/detail?id=${id}`)
}));
// }));
}
render() {
......
......@@ -56,7 +56,7 @@ class SharePoster extends Component {
let qrCodeWidth = (imgList[index].qr_code_width * $width) // 二维码宽度
let qrCodeHeight = (imgList[index].qr_code_height * $height) - avatarHeight / 2 // 二维码高度
let qrCodeLink = `/detail/${getParam('courseId')}/${getParam('dist_code')}`
let qrCodeLink = `https://m.julyedu.com/detail?id=${getParam('courseId')}&dist_code${getParam('dist_code')}`
var canvas = document.getElementById("canvas"),
context = canvas.getContext("2d");
......@@ -156,7 +156,7 @@ class SharePoster extends Component {
// 获取二维码
getCodeWe() {
let _this = this
let qrCodeLink = `http://m.julyedu.com/detail/${getParam('courseId')}/${getParam('dist_code')}`
let qrCodeLink = `https://m.julyedu.com/detail?id=${getParam('courseId')}&dist_code=${getParam('dist_code')}`
return new Promise(resolve => {
QRCode.toDataURL(qrCodeLink, {}, function (err, url) {
_this.setState({
......
......@@ -168,9 +168,9 @@ class Cart extends Component {
toCourseDetail = (id) => {
console.log(id);
const { dispatch, history } = this.props;
dispatch(getCourses(id, () => {
// dispatch(getCourses(id, () => {
history.push(`/detail?id=${id}`)
}));
// }));
}
......
......@@ -46,9 +46,9 @@ class Recommendation extends PureComponent {
toCourseDetail = (id) => {
const { dispatch, history } = this.props;
dispatch(getCourses(id, () => {
// dispatch(getCourses(id, () => {
history.push(`/detail?id=${id}`)
}));
// }));
}
render() {
......
......@@ -42,6 +42,7 @@
background: #F5FBFF;
margin-bottom: 15px;
line-height: 35px;
font-size: $font_12;
color: #000;
border-top: 1px solid transparent;
......
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