Commit 9b5257be by xuzhenghua

pull

parent 6bd2899e
{
"mrstatic/js/0.4dbdfd0f.chunk.js": "/mrstatic/js/0.4dbdfd0f.chunk.js",
"mrstatic/js/0.4dbdfd0f.chunk.js.map": "/mrstatic/js/0.4dbdfd0f.chunk.js.map",
"mrstatic/js/1.d63dc8e3.chunk.js": "/mrstatic/js/1.d63dc8e3.chunk.js",
"mrstatic/js/1.d63dc8e3.chunk.js.map": "/mrstatic/js/1.d63dc8e3.chunk.js.map",
"mrstatic/css/2.bf839917.chunk.css": "/mrstatic/css/2.bf839917.chunk.css",
"mrstatic/js/2.4d303739.chunk.js": "/mrstatic/js/2.4d303739.chunk.js",
"mrstatic/js/2.4d303739.chunk.js.map": "/mrstatic/js/2.4d303739.chunk.js.map",
"Activity.css": "/mrstatic/css/Activity.4c724d3c.chunk.css",
"Activity.js": "/mrstatic/js/Activity.ca1ed8bf.chunk.js",
"Activity.js.map": "/mrstatic/js/Activity.ca1ed8bf.chunk.js.map",
"BargainMiddlePage.css": "/mrstatic/css/BargainMiddlePage.eb686c74.chunk.css",
"BargainMiddlePage.js": "/mrstatic/js/BargainMiddlePage.9545e164.chunk.js",
"BargainMiddlePage.js.map": "/mrstatic/js/BargainMiddlePage.9545e164.chunk.js.map",
"Classify.css": "/mrstatic/css/Classify.fb4bedde.chunk.css",
"Classify.js": "/mrstatic/js/Classify.6919bf9b.chunk.js",
"Classify.js.map": "/mrstatic/js/Classify.6919bf9b.chunk.js.map",
"Country.css": "/mrstatic/css/Country.2d34330b.chunk.css",
"Country.js": "/mrstatic/js/Country.46fcd3d4.chunk.js",
"Country.js.map": "/mrstatic/js/Country.46fcd3d4.chunk.js.map",
"CourseList.css": "/mrstatic/css/CourseList.afc8902e.chunk.css",
"CourseList.js": "/mrstatic/js/CourseList.1899ecb1.chunk.js",
"CourseList.js.map": "/mrstatic/js/CourseList.1899ecb1.chunk.js.map",
"DrawDocument.css": "/mrstatic/css/DrawDocument.aeb3f822.chunk.css",
"DrawDocument.js": "/mrstatic/js/DrawDocument.3a038ad9.chunk.js",
"DrawDocument.js.map": "/mrstatic/js/DrawDocument.3a038ad9.chunk.js.map",
"Examination.css": "/mrstatic/css/Examination.7bb0622b.chunk.css",
"Examination.js": "/mrstatic/js/Examination.108e1fa6.chunk.js",
"Examination.js.map": "/mrstatic/js/Examination.108e1fa6.chunk.js.map",
"Invite.css": "/mrstatic/css/Invite.4c724d3c.chunk.css",
"Invite.js": "/mrstatic/js/Invite.3b43ff53.chunk.js",
"Invite.js.map": "/mrstatic/js/Invite.3b43ff53.chunk.js.map",
"MyEdit.js": "/mrstatic/js/MyEdit.efd9361c.chunk.js",
"MyEdit.js.map": "/mrstatic/js/MyEdit.efd9361c.chunk.js.map",
"Order.css": "/mrstatic/css/Order.8c058a7a.chunk.css",
"Order.js": "/mrstatic/js/Order.4735b5eb.chunk.js",
"Order.js.map": "/mrstatic/js/Order.4735b5eb.chunk.js.map",
"Orderinfo.js": "/mrstatic/js/Orderinfo.51e600e0.chunk.js",
"Orderinfo.js.map": "/mrstatic/js/Orderinfo.51e600e0.chunk.js.map",
"PayOrder.css": "/mrstatic/css/PayOrder.7eb7d317.chunk.css",
"PayOrder.js": "/mrstatic/js/PayOrder.3a57ea1e.chunk.js",
"PayOrder.js.map": "/mrstatic/js/PayOrder.3a57ea1e.chunk.js.map",
"Preferential.css": "/mrstatic/css/Preferential.12a8297c.chunk.css",
"Preferential.js": "/mrstatic/js/Preferential.fced82c4.chunk.js",
"Preferential.js.map": "/mrstatic/js/Preferential.fced82c4.chunk.js.map",
"SearchResult.css": "/mrstatic/css/SearchResult.cdf852c1.chunk.css",
"SearchResult.js": "/mrstatic/js/SearchResult.e3243c31.chunk.js",
"SearchResult.js.map": "/mrstatic/js/SearchResult.e3243c31.chunk.js.map",
"ShareCourse.css": "/mrstatic/css/ShareCourse.8046fb41.chunk.css",
"ShareCourse.js": "/mrstatic/js/ShareCourse.1c71fb3a.chunk.js",
"ShareCourse.js.map": "/mrstatic/js/ShareCourse.1c71fb3a.chunk.js.map",
"ShopCart.css": "/mrstatic/css/ShopCart.92ab48a3.chunk.css",
"ShopCart.js": "/mrstatic/js/ShopCart.9f776b5f.chunk.js",
"ShopCart.js.map": "/mrstatic/js/ShopCart.9f776b5f.chunk.js.map",
"aist-share.css": "/mrstatic/css/aist-share.40873df0.chunk.css",
"aist-share.js": "/mrstatic/js/aist-share.56f16245.chunk.js",
"aist-share.js.map": "/mrstatic/js/aist-share.56f16245.chunk.js.map",
"blessing-preheat.css": "/mrstatic/css/blessing-preheat.c60bb0ed.chunk.css",
"blessing-preheat.js": "/mrstatic/js/blessing-preheat.2e2030df.chunk.js",
"blessing-preheat.js.map": "/mrstatic/js/blessing-preheat.2e2030df.chunk.js.map",
"blessing-rank.css": "/mrstatic/css/blessing-rank.91e559d5.chunk.css",
"blessing-rank.js": "/mrstatic/js/blessing-rank.91701b45.chunk.js",
"blessing-rank.js.map": "/mrstatic/js/blessing-rank.91701b45.chunk.js.map",
"coupons.css": "/mrstatic/css/coupons.466858c7.chunk.css",
"coupons.js": "/mrstatic/js/coupons.4b04e949.chunk.js",
"coupons.js.map": "/mrstatic/js/coupons.4b04e949.chunk.js.map",
"deposit-order.css": "/mrstatic/css/deposit-order.5ea077aa.chunk.css",
"deposit-order.js": "/mrstatic/js/deposit-order.1b0c0a63.chunk.js",
"deposit-order.js.map": "/mrstatic/js/deposit-order.1b0c0a63.chunk.js.map",
"deposit-pay-order.css": "/mrstatic/css/deposit-pay-order.09ce6fd5.chunk.css",
"deposit-pay-order.js": "/mrstatic/js/deposit-pay-order.1e4b7947.chunk.js",
"deposit-pay-order.js.map": "/mrstatic/js/deposit-pay-order.1e4b7947.chunk.js.map",
"detail.css": "/mrstatic/css/detail.824e900a.chunk.css",
"detail.js": "/mrstatic/js/detail.98658cb5.chunk.js",
"detail.js.map": "/mrstatic/js/detail.98658cb5.chunk.js.map",
"main.css": "/mrstatic/css/main.c6d5d3ee.chunk.css",
"main.js": "/mrstatic/js/main.8f96fb43.chunk.js",
"main.js.map": "/mrstatic/js/main.8f96fb43.chunk.js.map",
"myorders.css": "/mrstatic/css/myorders.494a90ad.chunk.css",
"myorders.js": "/mrstatic/js/myorders.4374e735.chunk.js",
"myorders.js.map": "/mrstatic/js/myorders.4374e735.chunk.js.map",
"prize-winner-list.css": "/mrstatic/css/prize-winner-list.7ff5ff63.chunk.css",
"prize-winner-list.js": "/mrstatic/js/prize-winner-list.5510b46c.chunk.js",
"prize-winner-list.js.map": "/mrstatic/js/prize-winner-list.5510b46c.chunk.js.map",
"purchased.css": "/mrstatic/css/purchased.bb758677.chunk.css",
"purchased.js": "/mrstatic/js/purchased.e26b2648.chunk.js",
"purchased.js.map": "/mrstatic/js/purchased.e26b2648.chunk.js.map",
"runtime~main.js": "/mrstatic/js/runtime~main.77e46eef.js",
"runtime~main.js.map": "/mrstatic/js/runtime~main.77e46eef.js.map",
"search.css": "/mrstatic/css/search.5716d9b3.chunk.css",
"search.js": "/mrstatic/js/search.aca64fd4.chunk.js",
"search.js.map": "/mrstatic/js/search.aca64fd4.chunk.js.map",
"shareposter.css": "/mrstatic/css/shareposter.76774ba4.chunk.css",
"shareposter.js": "/mrstatic/js/shareposter.30deb4e3.chunk.js",
"shareposter.js.map": "/mrstatic/js/shareposter.30deb4e3.chunk.js.map",
"study.css": "/mrstatic/css/study.bf6b9b43.chunk.css",
"study.js": "/mrstatic/js/study.2d027846.chunk.js",
"study.js.map": "/mrstatic/js/study.2d027846.chunk.js.map",
"togroup.css": "/mrstatic/css/togroup.f08bc5f3.chunk.css",
"togroup.js": "/mrstatic/js/togroup.4969be24.chunk.js",
"togroup.js.map": "/mrstatic/js/togroup.4969be24.chunk.js.map",
"video.css": "/mrstatic/css/video.1c1131c9.chunk.css",
"video.js": "/mrstatic/js/video.f61eb1df.chunk.js",
"video.js.map": "/mrstatic/js/video.f61eb1df.chunk.js.map",
"mrstatic/css/36.2c78a65e.chunk.css": "/mrstatic/css/36.2c78a65e.chunk.css",
"mrstatic/js/36.f8702685.chunk.js": "/mrstatic/js/36.f8702685.chunk.js",
"mrstatic/js/36.f8702685.chunk.js.map": "/mrstatic/js/36.f8702685.chunk.js.map",
"mrstatic/css/37.2fd45d08.chunk.css": "/mrstatic/css/37.2fd45d08.chunk.css",
"mrstatic/js/37.7e87e0bf.chunk.js": "/mrstatic/js/37.7e87e0bf.chunk.js",
"mrstatic/js/37.7e87e0bf.chunk.js.map": "/mrstatic/js/37.7e87e0bf.chunk.js.map",
"mrstatic/css/38.bff100af.chunk.css": "/mrstatic/css/38.bff100af.chunk.css",
"mrstatic/js/38.621c7517.chunk.js": "/mrstatic/js/38.621c7517.chunk.js",
"mrstatic/js/38.621c7517.chunk.js.map": "/mrstatic/js/38.621c7517.chunk.js.map",
"mrstatic/css/39.820320a6.chunk.css": "/mrstatic/css/39.820320a6.chunk.css",
"mrstatic/js/39.be78c7de.chunk.js": "/mrstatic/js/39.be78c7de.chunk.js",
"mrstatic/js/39.be78c7de.chunk.js.map": "/mrstatic/js/39.be78c7de.chunk.js.map",
"mrstatic/css/40.35e22f8c.chunk.css": "/mrstatic/css/40.35e22f8c.chunk.css",
"mrstatic/js/40.85e468c7.chunk.js": "/mrstatic/js/40.85e468c7.chunk.js",
"mrstatic/js/40.85e468c7.chunk.js.map": "/mrstatic/js/40.85e468c7.chunk.js.map",
"mrstatic/css/41.befec011.chunk.css": "/mrstatic/css/41.befec011.chunk.css",
"mrstatic/js/41.e84e4ab3.chunk.js": "/mrstatic/js/41.e84e4ab3.chunk.js",
"mrstatic/js/41.e84e4ab3.chunk.js.map": "/mrstatic/js/41.e84e4ab3.chunk.js.map",
"mrstatic/css/42.b02d1de6.chunk.css": "/mrstatic/css/42.b02d1de6.chunk.css",
"mrstatic/js/42.c7abb0fd.chunk.js": "/mrstatic/js/42.c7abb0fd.chunk.js",
"mrstatic/js/42.c7abb0fd.chunk.js.map": "/mrstatic/js/42.c7abb0fd.chunk.js.map",
"mrstatic/js/0.302e54ec.chunk.js": "/mrstatic/js/0.302e54ec.chunk.js",
"mrstatic/js/0.302e54ec.chunk.js.map": "/mrstatic/js/0.302e54ec.chunk.js.map",
"mrstatic/js/1.f577d128.chunk.js": "/mrstatic/js/1.f577d128.chunk.js",
"mrstatic/js/1.f577d128.chunk.js.map": "/mrstatic/js/1.f577d128.chunk.js.map",
"mrstatic/css/2.5ed15c7e.chunk.css": "/mrstatic/css/2.5ed15c7e.chunk.css",
"mrstatic/js/2.a75153cd.chunk.js": "/mrstatic/js/2.a75153cd.chunk.js",
"mrstatic/js/2.a75153cd.chunk.js.map": "/mrstatic/js/2.a75153cd.chunk.js.map",
"Activity.css": "/mrstatic/css/Activity.a6e11bf3.chunk.css",
"Activity.js": "/mrstatic/js/Activity.da6bbbd2.chunk.js",
"Activity.js.map": "/mrstatic/js/Activity.da6bbbd2.chunk.js.map",
"BargainMiddlePage.css": "/mrstatic/css/BargainMiddlePage.fc53c3d0.chunk.css",
"BargainMiddlePage.js": "/mrstatic/js/BargainMiddlePage.222a37d6.chunk.js",
"BargainMiddlePage.js.map": "/mrstatic/js/BargainMiddlePage.222a37d6.chunk.js.map",
"Classify.css": "/mrstatic/css/Classify.f2f19957.chunk.css",
"Classify.js": "/mrstatic/js/Classify.867735ac.chunk.js",
"Classify.js.map": "/mrstatic/js/Classify.867735ac.chunk.js.map",
"Country.css": "/mrstatic/css/Country.16a64650.chunk.css",
"Country.js": "/mrstatic/js/Country.13e44b90.chunk.js",
"Country.js.map": "/mrstatic/js/Country.13e44b90.chunk.js.map",
"CourseList.css": "/mrstatic/css/CourseList.85889ffd.chunk.css",
"CourseList.js": "/mrstatic/js/CourseList.75f9c7b0.chunk.js",
"CourseList.js.map": "/mrstatic/js/CourseList.75f9c7b0.chunk.js.map",
"DrawDocument.css": "/mrstatic/css/DrawDocument.2e7d81ca.chunk.css",
"DrawDocument.js": "/mrstatic/js/DrawDocument.108294ef.chunk.js",
"DrawDocument.js.map": "/mrstatic/js/DrawDocument.108294ef.chunk.js.map",
"Examination.css": "/mrstatic/css/Examination.f2cc3163.chunk.css",
"Examination.js": "/mrstatic/js/Examination.ceb02c60.chunk.js",
"Examination.js.map": "/mrstatic/js/Examination.ceb02c60.chunk.js.map",
"Invite.css": "/mrstatic/css/Invite.a6e11bf3.chunk.css",
"Invite.js": "/mrstatic/js/Invite.2804ec50.chunk.js",
"Invite.js.map": "/mrstatic/js/Invite.2804ec50.chunk.js.map",
"MyEdit.js": "/mrstatic/js/MyEdit.5137f9e7.chunk.js",
"MyEdit.js.map": "/mrstatic/js/MyEdit.5137f9e7.chunk.js.map",
"Order.css": "/mrstatic/css/Order.35f475a1.chunk.css",
"Order.js": "/mrstatic/js/Order.9d06dcff.chunk.js",
"Order.js.map": "/mrstatic/js/Order.9d06dcff.chunk.js.map",
"Orderinfo.js": "/mrstatic/js/Orderinfo.2906f519.chunk.js",
"Orderinfo.js.map": "/mrstatic/js/Orderinfo.2906f519.chunk.js.map",
"PayOrder.css": "/mrstatic/css/PayOrder.e5315535.chunk.css",
"PayOrder.js": "/mrstatic/js/PayOrder.f09c24ca.chunk.js",
"PayOrder.js.map": "/mrstatic/js/PayOrder.f09c24ca.chunk.js.map",
"Preferential.css": "/mrstatic/css/Preferential.b279d085.chunk.css",
"Preferential.js": "/mrstatic/js/Preferential.f2754036.chunk.js",
"Preferential.js.map": "/mrstatic/js/Preferential.f2754036.chunk.js.map",
"SearchResult.css": "/mrstatic/css/SearchResult.bb7c3056.chunk.css",
"SearchResult.js": "/mrstatic/js/SearchResult.0e236b47.chunk.js",
"SearchResult.js.map": "/mrstatic/js/SearchResult.0e236b47.chunk.js.map",
"ShareCourse.css": "/mrstatic/css/ShareCourse.278ad3b1.chunk.css",
"ShareCourse.js": "/mrstatic/js/ShareCourse.5ec989b2.chunk.js",
"ShareCourse.js.map": "/mrstatic/js/ShareCourse.5ec989b2.chunk.js.map",
"ShopCart.css": "/mrstatic/css/ShopCart.3a4dbb7a.chunk.css",
"ShopCart.js": "/mrstatic/js/ShopCart.9cbc88cd.chunk.js",
"ShopCart.js.map": "/mrstatic/js/ShopCart.9cbc88cd.chunk.js.map",
"aist-share.css": "/mrstatic/css/aist-share.ca49c1cb.chunk.css",
"aist-share.js": "/mrstatic/js/aist-share.4ad1de1e.chunk.js",
"aist-share.js.map": "/mrstatic/js/aist-share.4ad1de1e.chunk.js.map",
"blessing-getPrize.css": "/mrstatic/css/blessing-getPrize.cf6662a9.chunk.css",
"blessing-getPrize.js": "/mrstatic/js/blessing-getPrize.9bc17c30.chunk.js",
"blessing-getPrize.js.map": "/mrstatic/js/blessing-getPrize.9bc17c30.chunk.js.map",
"blessing-preheat.css": "/mrstatic/css/blessing-preheat.c3ff2bad.chunk.css",
"blessing-preheat.js": "/mrstatic/js/blessing-preheat.670503d0.chunk.js",
"blessing-preheat.js.map": "/mrstatic/js/blessing-preheat.670503d0.chunk.js.map",
"blessing-rank.css": "/mrstatic/css/blessing-rank.b92d0394.chunk.css",
"blessing-rank.js": "/mrstatic/js/blessing-rank.5cc69985.chunk.js",
"blessing-rank.js.map": "/mrstatic/js/blessing-rank.5cc69985.chunk.js.map",
"coupons.css": "/mrstatic/css/coupons.ff6280ad.chunk.css",
"coupons.js": "/mrstatic/js/coupons.0da4bf8b.chunk.js",
"coupons.js.map": "/mrstatic/js/coupons.0da4bf8b.chunk.js.map",
"deposit-order.css": "/mrstatic/css/deposit-order.6f3a01ca.chunk.css",
"deposit-order.js": "/mrstatic/js/deposit-order.37518824.chunk.js",
"deposit-order.js.map": "/mrstatic/js/deposit-order.37518824.chunk.js.map",
"deposit-pay-order.css": "/mrstatic/css/deposit-pay-order.039d87dd.chunk.css",
"deposit-pay-order.js": "/mrstatic/js/deposit-pay-order.581a33c4.chunk.js",
"deposit-pay-order.js.map": "/mrstatic/js/deposit-pay-order.581a33c4.chunk.js.map",
"detail.css": "/mrstatic/css/detail.e318ce59.chunk.css",
"detail.js": "/mrstatic/js/detail.a9e721c3.chunk.js",
"detail.js.map": "/mrstatic/js/detail.a9e721c3.chunk.js.map",
"main.css": "/mrstatic/css/main.058e6130.chunk.css",
"main.js": "/mrstatic/js/main.050fb664.chunk.js",
"main.js.map": "/mrstatic/js/main.050fb664.chunk.js.map",
"myorders.css": "/mrstatic/css/myorders.a5a13d80.chunk.css",
"myorders.js": "/mrstatic/js/myorders.ce8733b3.chunk.js",
"myorders.js.map": "/mrstatic/js/myorders.ce8733b3.chunk.js.map",
"prize-winner-list.css": "/mrstatic/css/prize-winner-list.9573ef29.chunk.css",
"prize-winner-list.js": "/mrstatic/js/prize-winner-list.a12c08ad.chunk.js",
"prize-winner-list.js.map": "/mrstatic/js/prize-winner-list.a12c08ad.chunk.js.map",
"purchased.css": "/mrstatic/css/purchased.dd7556e0.chunk.css",
"purchased.js": "/mrstatic/js/purchased.6ee9010b.chunk.js",
"purchased.js.map": "/mrstatic/js/purchased.6ee9010b.chunk.js.map",
"runtime~main.js": "/mrstatic/js/runtime~main.d7975e9e.js",
"runtime~main.js.map": "/mrstatic/js/runtime~main.d7975e9e.js.map",
"search.css": "/mrstatic/css/search.fab97849.chunk.css",
"search.js": "/mrstatic/js/search.bfac27c7.chunk.js",
"search.js.map": "/mrstatic/js/search.bfac27c7.chunk.js.map",
"shareposter.css": "/mrstatic/css/shareposter.f09a5959.chunk.css",
"shareposter.js": "/mrstatic/js/shareposter.8dfa7a7e.chunk.js",
"shareposter.js.map": "/mrstatic/js/shareposter.8dfa7a7e.chunk.js.map",
"study.css": "/mrstatic/css/study.b002c899.chunk.css",
"study.js": "/mrstatic/js/study.afca37ad.chunk.js",
"study.js.map": "/mrstatic/js/study.afca37ad.chunk.js.map",
"togroup.css": "/mrstatic/css/togroup.49988cae.chunk.css",
"togroup.js": "/mrstatic/js/togroup.6f025f11.chunk.js",
"togroup.js.map": "/mrstatic/js/togroup.6f025f11.chunk.js.map",
"video.css": "/mrstatic/css/video.1f56370b.chunk.css",
"video.js": "/mrstatic/js/video.35d1c097.chunk.js",
"video.js.map": "/mrstatic/js/video.35d1c097.chunk.js.map",
"mrstatic/css/37.aebbab68.chunk.css": "/mrstatic/css/37.aebbab68.chunk.css",
"mrstatic/js/37.68b4e3e3.chunk.js": "/mrstatic/js/37.68b4e3e3.chunk.js",
"mrstatic/js/37.68b4e3e3.chunk.js.map": "/mrstatic/js/37.68b4e3e3.chunk.js.map",
"mrstatic/css/38.50547718.chunk.css": "/mrstatic/css/38.50547718.chunk.css",
"mrstatic/js/38.5791d700.chunk.js": "/mrstatic/js/38.5791d700.chunk.js",
"mrstatic/js/38.5791d700.chunk.js.map": "/mrstatic/js/38.5791d700.chunk.js.map",
"mrstatic/css/39.2471f477.chunk.css": "/mrstatic/css/39.2471f477.chunk.css",
"mrstatic/js/39.8387daa8.chunk.js": "/mrstatic/js/39.8387daa8.chunk.js",
"mrstatic/js/39.8387daa8.chunk.js.map": "/mrstatic/js/39.8387daa8.chunk.js.map",
"mrstatic/css/40.0bb224f2.chunk.css": "/mrstatic/css/40.0bb224f2.chunk.css",
"mrstatic/js/40.5d966c8e.chunk.js": "/mrstatic/js/40.5d966c8e.chunk.js",
"mrstatic/js/40.5d966c8e.chunk.js.map": "/mrstatic/js/40.5d966c8e.chunk.js.map",
"mrstatic/css/41.ecbb6f9a.chunk.css": "/mrstatic/css/41.ecbb6f9a.chunk.css",
"mrstatic/js/41.1588e165.chunk.js": "/mrstatic/js/41.1588e165.chunk.js",
"mrstatic/js/41.1588e165.chunk.js.map": "/mrstatic/js/41.1588e165.chunk.js.map",
"mrstatic/css/42.18c88f1f.chunk.css": "/mrstatic/css/42.18c88f1f.chunk.css",
"mrstatic/js/42.fa1a0064.chunk.js": "/mrstatic/js/42.fa1a0064.chunk.js",
"mrstatic/js/42.fa1a0064.chunk.js.map": "/mrstatic/js/42.fa1a0064.chunk.js.map",
"mrstatic/css/43.eb90513f.chunk.css": "/mrstatic/css/43.eb90513f.chunk.css",
"mrstatic/js/43.494daca6.chunk.js": "/mrstatic/js/43.494daca6.chunk.js",
"mrstatic/js/43.494daca6.chunk.js.map": "/mrstatic/js/43.494daca6.chunk.js.map",
"index.html": "/index.html",
"mrstatic/css/2.bf839917.chunk.css.map": "/mrstatic/css/2.bf839917.chunk.css.map",
"mrstatic/css/36.2c78a65e.chunk.css.map": "/mrstatic/css/36.2c78a65e.chunk.css.map",
"mrstatic/css/37.2fd45d08.chunk.css.map": "/mrstatic/css/37.2fd45d08.chunk.css.map",
"mrstatic/css/38.bff100af.chunk.css.map": "/mrstatic/css/38.bff100af.chunk.css.map",
"mrstatic/css/39.820320a6.chunk.css.map": "/mrstatic/css/39.820320a6.chunk.css.map",
"mrstatic/css/40.35e22f8c.chunk.css.map": "/mrstatic/css/40.35e22f8c.chunk.css.map",
"mrstatic/css/41.befec011.chunk.css.map": "/mrstatic/css/41.befec011.chunk.css.map",
"mrstatic/css/42.b02d1de6.chunk.css.map": "/mrstatic/css/42.b02d1de6.chunk.css.map",
"mrstatic/css/Activity.4c724d3c.chunk.css.map": "/mrstatic/css/Activity.4c724d3c.chunk.css.map",
"mrstatic/css/BargainMiddlePage.eb686c74.chunk.css.map": "/mrstatic/css/BargainMiddlePage.eb686c74.chunk.css.map",
"mrstatic/css/Classify.fb4bedde.chunk.css.map": "/mrstatic/css/Classify.fb4bedde.chunk.css.map",
"mrstatic/css/Country.2d34330b.chunk.css.map": "/mrstatic/css/Country.2d34330b.chunk.css.map",
"mrstatic/css/CourseList.afc8902e.chunk.css.map": "/mrstatic/css/CourseList.afc8902e.chunk.css.map",
"mrstatic/css/DrawDocument.aeb3f822.chunk.css.map": "/mrstatic/css/DrawDocument.aeb3f822.chunk.css.map",
"mrstatic/css/Examination.7bb0622b.chunk.css.map": "/mrstatic/css/Examination.7bb0622b.chunk.css.map",
"mrstatic/css/Invite.4c724d3c.chunk.css.map": "/mrstatic/css/Invite.4c724d3c.chunk.css.map",
"mrstatic/css/Order.8c058a7a.chunk.css.map": "/mrstatic/css/Order.8c058a7a.chunk.css.map",
"mrstatic/css/PayOrder.7eb7d317.chunk.css.map": "/mrstatic/css/PayOrder.7eb7d317.chunk.css.map",
"mrstatic/css/Preferential.12a8297c.chunk.css.map": "/mrstatic/css/Preferential.12a8297c.chunk.css.map",
"mrstatic/css/SearchResult.cdf852c1.chunk.css.map": "/mrstatic/css/SearchResult.cdf852c1.chunk.css.map",
"mrstatic/css/ShareCourse.8046fb41.chunk.css.map": "/mrstatic/css/ShareCourse.8046fb41.chunk.css.map",
"mrstatic/css/ShopCart.92ab48a3.chunk.css.map": "/mrstatic/css/ShopCart.92ab48a3.chunk.css.map",
"mrstatic/css/aist-share.40873df0.chunk.css.map": "/mrstatic/css/aist-share.40873df0.chunk.css.map",
"mrstatic/css/blessing-preheat.c60bb0ed.chunk.css.map": "/mrstatic/css/blessing-preheat.c60bb0ed.chunk.css.map",
"mrstatic/css/blessing-rank.91e559d5.chunk.css.map": "/mrstatic/css/blessing-rank.91e559d5.chunk.css.map",
"mrstatic/css/coupons.466858c7.chunk.css.map": "/mrstatic/css/coupons.466858c7.chunk.css.map",
"mrstatic/css/deposit-order.5ea077aa.chunk.css.map": "/mrstatic/css/deposit-order.5ea077aa.chunk.css.map",
"mrstatic/css/deposit-pay-order.09ce6fd5.chunk.css.map": "/mrstatic/css/deposit-pay-order.09ce6fd5.chunk.css.map",
"mrstatic/css/detail.824e900a.chunk.css.map": "/mrstatic/css/detail.824e900a.chunk.css.map",
"mrstatic/css/main.c6d5d3ee.chunk.css.map": "/mrstatic/css/main.c6d5d3ee.chunk.css.map",
"mrstatic/css/myorders.494a90ad.chunk.css.map": "/mrstatic/css/myorders.494a90ad.chunk.css.map",
"mrstatic/css/prize-winner-list.7ff5ff63.chunk.css.map": "/mrstatic/css/prize-winner-list.7ff5ff63.chunk.css.map",
"mrstatic/css/purchased.bb758677.chunk.css.map": "/mrstatic/css/purchased.bb758677.chunk.css.map",
"mrstatic/css/search.5716d9b3.chunk.css.map": "/mrstatic/css/search.5716d9b3.chunk.css.map",
"mrstatic/css/shareposter.76774ba4.chunk.css.map": "/mrstatic/css/shareposter.76774ba4.chunk.css.map",
"mrstatic/css/study.bf6b9b43.chunk.css.map": "/mrstatic/css/study.bf6b9b43.chunk.css.map",
"mrstatic/css/togroup.f08bc5f3.chunk.css.map": "/mrstatic/css/togroup.f08bc5f3.chunk.css.map",
"mrstatic/css/video.1c1131c9.chunk.css.map": "/mrstatic/css/video.1c1131c9.chunk.css.map",
"mrstatic/css/2.5ed15c7e.chunk.css.map": "/mrstatic/css/2.5ed15c7e.chunk.css.map",
"mrstatic/css/37.aebbab68.chunk.css.map": "/mrstatic/css/37.aebbab68.chunk.css.map",
"mrstatic/css/38.50547718.chunk.css.map": "/mrstatic/css/38.50547718.chunk.css.map",
"mrstatic/css/39.2471f477.chunk.css.map": "/mrstatic/css/39.2471f477.chunk.css.map",
"mrstatic/css/40.0bb224f2.chunk.css.map": "/mrstatic/css/40.0bb224f2.chunk.css.map",
"mrstatic/css/41.ecbb6f9a.chunk.css.map": "/mrstatic/css/41.ecbb6f9a.chunk.css.map",
"mrstatic/css/42.18c88f1f.chunk.css.map": "/mrstatic/css/42.18c88f1f.chunk.css.map",
"mrstatic/css/43.eb90513f.chunk.css.map": "/mrstatic/css/43.eb90513f.chunk.css.map",
"mrstatic/css/Activity.a6e11bf3.chunk.css.map": "/mrstatic/css/Activity.a6e11bf3.chunk.css.map",
"mrstatic/css/BargainMiddlePage.fc53c3d0.chunk.css.map": "/mrstatic/css/BargainMiddlePage.fc53c3d0.chunk.css.map",
"mrstatic/css/Classify.f2f19957.chunk.css.map": "/mrstatic/css/Classify.f2f19957.chunk.css.map",
"mrstatic/css/Country.16a64650.chunk.css.map": "/mrstatic/css/Country.16a64650.chunk.css.map",
"mrstatic/css/CourseList.85889ffd.chunk.css.map": "/mrstatic/css/CourseList.85889ffd.chunk.css.map",
"mrstatic/css/DrawDocument.2e7d81ca.chunk.css.map": "/mrstatic/css/DrawDocument.2e7d81ca.chunk.css.map",
"mrstatic/css/Examination.f2cc3163.chunk.css.map": "/mrstatic/css/Examination.f2cc3163.chunk.css.map",
"mrstatic/css/Invite.a6e11bf3.chunk.css.map": "/mrstatic/css/Invite.a6e11bf3.chunk.css.map",
"mrstatic/css/Order.35f475a1.chunk.css.map": "/mrstatic/css/Order.35f475a1.chunk.css.map",
"mrstatic/css/PayOrder.e5315535.chunk.css.map": "/mrstatic/css/PayOrder.e5315535.chunk.css.map",
"mrstatic/css/Preferential.b279d085.chunk.css.map": "/mrstatic/css/Preferential.b279d085.chunk.css.map",
"mrstatic/css/SearchResult.bb7c3056.chunk.css.map": "/mrstatic/css/SearchResult.bb7c3056.chunk.css.map",
"mrstatic/css/ShareCourse.278ad3b1.chunk.css.map": "/mrstatic/css/ShareCourse.278ad3b1.chunk.css.map",
"mrstatic/css/ShopCart.3a4dbb7a.chunk.css.map": "/mrstatic/css/ShopCart.3a4dbb7a.chunk.css.map",
"mrstatic/css/aist-share.ca49c1cb.chunk.css.map": "/mrstatic/css/aist-share.ca49c1cb.chunk.css.map",
"mrstatic/css/blessing-getPrize.cf6662a9.chunk.css.map": "/mrstatic/css/blessing-getPrize.cf6662a9.chunk.css.map",
"mrstatic/css/blessing-preheat.c3ff2bad.chunk.css.map": "/mrstatic/css/blessing-preheat.c3ff2bad.chunk.css.map",
"mrstatic/css/blessing-rank.b92d0394.chunk.css.map": "/mrstatic/css/blessing-rank.b92d0394.chunk.css.map",
"mrstatic/css/coupons.ff6280ad.chunk.css.map": "/mrstatic/css/coupons.ff6280ad.chunk.css.map",
"mrstatic/css/deposit-order.6f3a01ca.chunk.css.map": "/mrstatic/css/deposit-order.6f3a01ca.chunk.css.map",
"mrstatic/css/deposit-pay-order.039d87dd.chunk.css.map": "/mrstatic/css/deposit-pay-order.039d87dd.chunk.css.map",
"mrstatic/css/detail.e318ce59.chunk.css.map": "/mrstatic/css/detail.e318ce59.chunk.css.map",
"mrstatic/css/main.058e6130.chunk.css.map": "/mrstatic/css/main.058e6130.chunk.css.map",
"mrstatic/css/myorders.a5a13d80.chunk.css.map": "/mrstatic/css/myorders.a5a13d80.chunk.css.map",
"mrstatic/css/prize-winner-list.9573ef29.chunk.css.map": "/mrstatic/css/prize-winner-list.9573ef29.chunk.css.map",
"mrstatic/css/purchased.dd7556e0.chunk.css.map": "/mrstatic/css/purchased.dd7556e0.chunk.css.map",
"mrstatic/css/search.fab97849.chunk.css.map": "/mrstatic/css/search.fab97849.chunk.css.map",
"mrstatic/css/shareposter.f09a5959.chunk.css.map": "/mrstatic/css/shareposter.f09a5959.chunk.css.map",
"mrstatic/css/study.b002c899.chunk.css.map": "/mrstatic/css/study.b002c899.chunk.css.map",
"mrstatic/css/togroup.49988cae.chunk.css.map": "/mrstatic/css/togroup.49988cae.chunk.css.map",
"mrstatic/css/video.1f56370b.chunk.css.map": "/mrstatic/css/video.1f56370b.chunk.css.map",
"mrstatic/media/index.scss": "/mrstatic/media/redb_sp_bj@2x.6902434f.png",
"mrstatic/media/iconfont.css": "/mrstatic/media/iconfont.e0655d4d.woff",
"mrstatic/media/kanjia_cg_icon.png": "/mrstatic/media/kanjia_cg_icon.81a489ac.png",
"mrstatic/media/video.scss": "/mrstatic/media/progress-share-bg.80011994.png",
"precache-manifest.0c6a4068dad710bf120fb4432c488d7e.js": "/precache-manifest.0c6a4068dad710bf120fb4432c488d7e.js",
"precache-manifest.77acc686b9ed655a6c00d43d85474d5d.js": "/precache-manifest.77acc686b9ed655a6c00d43d85474d5d.js",
"service-worker.js": "/service-worker.js"
}
\ 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="/mrstatic/css/36.2c78a65e.chunk.css" rel="stylesheet"><link href="/mrstatic/css/main.c6d5d3ee.chunk.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"></div><script src="/api.js"></script><script>!function(d){function e(e){for(var r,t,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)&&(d[r]=a[r]);for(p&&p(e);c.length;)c.shift()();return s.push.apply(s,o||[]),f()}function f(){for(var e,r=0;r<s.length;r++){for(var t=s[r],n=!0,a=1;a<t.length;a++){var o=t[a];0!==l[o]&&(n=!1)}n&&(s.splice(r--,1),e=b(b.s=t[0]))}return e}var t={},u={30:0},l={30:0},s=[];function b(e){if(t[e])return t[e].exports;var r=t[e]={i:e,l:!1,exports:{}};return d[e].call(r.exports,r,r.exports,b),r.l=!0,r.exports}b.e=function(s){var e=[];u[s]?e.push(u[s]):0!==u[s]&&{2:1,3:1,4:1,5:1,6:1,7:1,8:1,9:1,10:1,12:1,14:1,15:1,16:1,17:1,18:1,19:1,20:1,21:1,22:1,23:1,24:1,25:1,27:1,28:1,29:1,31:1,32:1,33:1,34:1,35:1,37:1,38:1,39:1,40:1,41:1,42:1}[s]&&e.push(u[s]=new Promise(function(e,n){for(var r="mrstatic/css/"+({3:"Activity",4:"BargainMiddlePage",5:"Classify",6:"Country",7:"CourseList",8:"DrawDocument",9:"Examination",10:"Invite",11:"MyEdit",12:"Order",13:"Orderinfo",14:"PayOrder",15:"Preferential",16:"SearchResult",17:"ShareCourse",18:"ShopCart",19:"aist-share",20:"blessing-preheat",21:"blessing-rank",22:"coupons",23:"deposit-order",24:"deposit-pay-order",25:"detail",27:"myorders",28:"prize-winner-list",29:"purchased",31:"search",32:"shareposter",33:"study",34:"togroup",35:"video"}[s]||s)+"."+{0:"31d6cfe0",1:"31d6cfe0",2:"bf839917",3:"4c724d3c",4:"eb686c74",5:"fb4bedde",6:"2d34330b",7:"afc8902e",8:"aeb3f822",9:"7bb0622b",10:"4c724d3c",11:"31d6cfe0",12:"8c058a7a",13:"31d6cfe0",14:"7eb7d317",15:"12a8297c",16:"cdf852c1",17:"8046fb41",18:"92ab48a3",19:"40873df0",20:"c60bb0ed",21:"91e559d5",22:"466858c7",23:"5ea077aa",24:"09ce6fd5",25:"824e900a",27:"494a90ad",28:"7ff5ff63",29:"bb758677",31:"5716d9b3",32:"76774ba4",33:"bf6b9b43",34:"f08bc5f3",35:"1c1131c9",37:"2fd45d08",38:"bff100af",39:"820320a6",40:"35e22f8c",41:"befec011",42:"b02d1de6"}[s]+".chunk.css",a=b.p+r,t=document.getElementsByTagName("link"),o=0;o<t.length;o++){var i=(d=t[o]).getAttribute("data-href")||d.getAttribute("href");if("stylesheet"===d.rel&&(i===r||i===a))return e()}var c=document.getElementsByTagName("style");for(o=0;o<c.length;o++){var d;if((i=(d=c[o]).getAttribute("data-href"))===r||i===a)return e()}var f=document.createElement("link");f.rel="stylesheet",f.type="text/css",f.onload=e,f.onerror=function(e){var r=e&&e.target&&e.target.src||a,t=new Error("Loading CSS chunk "+s+" failed.\n("+r+")");t.request=r,delete u[s],f.parentNode.removeChild(f),n(t)},f.href=a,document.getElementsByTagName("head")[0].appendChild(f)}).then(function(){u[s]=0}));var t=l[s];if(0!==t)if(t)e.push(t[2]);else{var r=new Promise(function(e,r){t=l[s]=[e,r]});e.push(t[2]=r);var n,o=document.createElement("script");o.charset="utf-8",o.timeout=120,b.nc&&o.setAttribute("nonce",b.nc),o.src=b.p+"mrstatic/js/"+({3:"Activity",4:"BargainMiddlePage",5:"Classify",6:"Country",7:"CourseList",8:"DrawDocument",9:"Examination",10:"Invite",11:"MyEdit",12:"Order",13:"Orderinfo",14:"PayOrder",15:"Preferential",16:"SearchResult",17:"ShareCourse",18:"ShopCart",19:"aist-share",20:"blessing-preheat",21:"blessing-rank",22:"coupons",23:"deposit-order",24:"deposit-pay-order",25:"detail",27:"myorders",28:"prize-winner-list",29:"purchased",31:"search",32:"shareposter",33:"study",34:"togroup",35:"video"}[s]||s)+"."+{0:"4dbdfd0f",1:"d63dc8e3",2:"4d303739",3:"ca1ed8bf",4:"9545e164",5:"6919bf9b",6:"46fcd3d4",7:"1899ecb1",8:"3a038ad9",9:"108e1fa6",10:"3b43ff53",11:"efd9361c",12:"4735b5eb",13:"51e600e0",14:"3a57ea1e",15:"fced82c4",16:"e3243c31",17:"1c71fb3a",18:"9f776b5f",19:"56f16245",20:"2e2030df",21:"91701b45",22:"4b04e949",23:"1b0c0a63",24:"1e4b7947",25:"98658cb5",27:"4374e735",28:"5510b46c",29:"e26b2648",31:"aca64fd4",32:"30deb4e3",33:"2d027846",34:"4969be24",35:"f61eb1df",37:"7e87e0bf",38:"621c7517",39:"be78c7de",40:"85e468c7",41:"e84e4ab3",42:"c7abb0fd"}[s]+".chunk.js",n=function(e){o.onerror=o.onload=null,clearTimeout(i);var r=l[s];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 "+s+" failed.\n("+t+": "+n+")");a.type=t,a.request=n,r[1](a)}l[s]=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=d,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;f()}([])</script><script src="/mrstatic/js/36.f8702685.chunk.js"></script><script src="/mrstatic/js/main.8f96fb43.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="/mrstatic/css/37.aebbab68.chunk.css" rel="stylesheet"><link href="/mrstatic/css/main.058e6130.chunk.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"></div><script src="/api.js"></script><script>!function(d){function e(e){for(var r,t,a=e[0],n=e[1],o=e[2],c=0,i=[];c<a.length;c++)t=a[c],l[t]&&i.push(l[t][0]),l[t]=0;for(r in n)Object.prototype.hasOwnProperty.call(n,r)&&(d[r]=n[r]);for(b&&b(e);i.length;)i.shift()();return s.push.apply(s,o||[]),f()}function f(){for(var e,r=0;r<s.length;r++){for(var t=s[r],a=!0,n=1;n<t.length;n++){var o=t[n];0!==l[o]&&(a=!1)}a&&(s.splice(r--,1),e=p(p.s=t[0]))}return e}var t={},u={31:0},l={31:0},s=[];function p(e){if(t[e])return t[e].exports;var r=t[e]={i:e,l:!1,exports:{}};return d[e].call(r.exports,r,r.exports,p),r.l=!0,r.exports}p.e=function(s){var e=[];u[s]?e.push(u[s]):0!==u[s]&&{2:1,3:1,4:1,5:1,6:1,7:1,8:1,9:1,10:1,12:1,14:1,15:1,16:1,17:1,18:1,19:1,20:1,21:1,22:1,23:1,24:1,25:1,26:1,28:1,29:1,30:1,32:1,33:1,34:1,35:1,36:1,38:1,39:1,40:1,41:1,42:1,43:1}[s]&&e.push(u[s]=new Promise(function(e,a){for(var r="mrstatic/css/"+({3:"Activity",4:"BargainMiddlePage",5:"Classify",6:"Country",7:"CourseList",8:"DrawDocument",9:"Examination",10:"Invite",11:"MyEdit",12:"Order",13:"Orderinfo",14:"PayOrder",15:"Preferential",16:"SearchResult",17:"ShareCourse",18:"ShopCart",19:"aist-share",20:"blessing-getPrize",21:"blessing-preheat",22:"blessing-rank",23:"coupons",24:"deposit-order",25:"deposit-pay-order",26:"detail",28:"myorders",29:"prize-winner-list",30:"purchased",32:"search",33:"shareposter",34:"study",35:"togroup",36:"video"}[s]||s)+"."+{0:"31d6cfe0",1:"31d6cfe0",2:"5ed15c7e",3:"a6e11bf3",4:"fc53c3d0",5:"f2f19957",6:"16a64650",7:"85889ffd",8:"2e7d81ca",9:"f2cc3163",10:"a6e11bf3",11:"31d6cfe0",12:"35f475a1",13:"31d6cfe0",14:"e5315535",15:"b279d085",16:"bb7c3056",17:"278ad3b1",18:"3a4dbb7a",19:"ca49c1cb",20:"cf6662a9",21:"c3ff2bad",22:"b92d0394",23:"ff6280ad",24:"6f3a01ca",25:"039d87dd",26:"e318ce59",28:"a5a13d80",29:"9573ef29",30:"dd7556e0",32:"fab97849",33:"f09a5959",34:"b002c899",35:"49988cae",36:"1f56370b",38:"50547718",39:"2471f477",40:"0bb224f2",41:"ecbb6f9a",42:"18c88f1f",43:"eb90513f"}[s]+".chunk.css",n=p.p+r,t=document.getElementsByTagName("link"),o=0;o<t.length;o++){var c=(d=t[o]).getAttribute("data-href")||d.getAttribute("href");if("stylesheet"===d.rel&&(c===r||c===n))return e()}var i=document.getElementsByTagName("style");for(o=0;o<i.length;o++){var d;if((c=(d=i[o]).getAttribute("data-href"))===r||c===n)return e()}var f=document.createElement("link");f.rel="stylesheet",f.type="text/css",f.onload=e,f.onerror=function(e){var r=e&&e.target&&e.target.src||n,t=new Error("Loading CSS chunk "+s+" failed.\n("+r+")");t.request=r,delete u[s],f.parentNode.removeChild(f),a(t)},f.href=n,document.getElementsByTagName("head")[0].appendChild(f)}).then(function(){u[s]=0}));var t=l[s];if(0!==t)if(t)e.push(t[2]);else{var r=new Promise(function(e,r){t=l[s]=[e,r]});e.push(t[2]=r);var a,o=document.createElement("script");o.charset="utf-8",o.timeout=120,p.nc&&o.setAttribute("nonce",p.nc),o.src=p.p+"mrstatic/js/"+({3:"Activity",4:"BargainMiddlePage",5:"Classify",6:"Country",7:"CourseList",8:"DrawDocument",9:"Examination",10:"Invite",11:"MyEdit",12:"Order",13:"Orderinfo",14:"PayOrder",15:"Preferential",16:"SearchResult",17:"ShareCourse",18:"ShopCart",19:"aist-share",20:"blessing-getPrize",21:"blessing-preheat",22:"blessing-rank",23:"coupons",24:"deposit-order",25:"deposit-pay-order",26:"detail",28:"myorders",29:"prize-winner-list",30:"purchased",32:"search",33:"shareposter",34:"study",35:"togroup",36:"video"}[s]||s)+"."+{0:"302e54ec",1:"f577d128",2:"a75153cd",3:"da6bbbd2",4:"222a37d6",5:"867735ac",6:"13e44b90",7:"75f9c7b0",8:"108294ef",9:"ceb02c60",10:"2804ec50",11:"5137f9e7",12:"9d06dcff",13:"2906f519",14:"f09c24ca",15:"f2754036",16:"0e236b47",17:"5ec989b2",18:"9cbc88cd",19:"4ad1de1e",20:"9bc17c30",21:"670503d0",22:"5cc69985",23:"0da4bf8b",24:"37518824",25:"581a33c4",26:"a9e721c3",28:"ce8733b3",29:"a12c08ad",30:"6ee9010b",32:"bfac27c7",33:"8dfa7a7e",34:"afca37ad",35:"6f025f11",36:"35d1c097",38:"5791d700",39:"8387daa8",40:"5d966c8e",41:"1588e165",42:"fa1a0064",43:"494daca6"}[s]+".chunk.js",a=function(e){o.onerror=o.onload=null,clearTimeout(c);var r=l[s];if(0!==r){if(r){var t=e&&("load"===e.type?"missing":e.type),a=e&&e.target&&e.target.src,n=new Error("Loading chunk "+s+" failed.\n("+t+": "+a+")");n.type=t,n.request=a,r[1](n)}l[s]=void 0}};var c=setTimeout(function(){a({type:"timeout",target:o})},12e4);o.onerror=o.onload=a,document.head.appendChild(o)}return Promise.all(e)},p.m=d,p.c=t,p.d=function(e,r,t){p.o(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:t})},p.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},p.t=function(r,e){if(1&e&&(r=p(r)),8&e)return r;if(4&e&&"object"==typeof r&&r&&r.__esModule)return r;var t=Object.create(null);if(p.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:r}),2&e&&"string"!=typeof r)for(var a in r)p.d(t,a,function(e){return r[e]}.bind(null,a));return t},p.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return p.d(r,"a",r),r},p.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},p.p="/",p.oe=function(e){throw console.error(e),e};var r=window.webpackJsonp=window.webpackJsonp||[],a=r.push.bind(r);r.push=e,r=r.slice();for(var n=0;n<r.length;n++)e(r[n]);var b=a;f()}([])</script><script src="/mrstatic/js/37.68b4e3e3.chunk.js"></script><script src="/mrstatic/js/main.050fb664.chunk.js"></script></body></html>
\ No newline at end of file
self.__precacheManifest = [
{
"revision": "702fa7c93615922a135a",
"url": "/mrstatic/css/detail.e318ce59.chunk.css"
},
{
"revision": "8204b716277c773fe15e",
"url": "/mrstatic/js/0.302e54ec.chunk.js"
},
{
"revision": "8edaf2ff2566ed17e2dd22cf4f8ad7ae",
"url": "/mrstatic/media/redb_chai_bj@2x.8edaf2ff.png"
},
{
"revision": "201329709182322e68dd",
"url": "/mrstatic/js/2.a75153cd.chunk.js"
},
{
"revision": "c79abf5cb7ae8a82009cf68fe44d1078",
"url": "/mrstatic/media/redb_money_bj@2x.c79abf5c.png"
},
{
"revision": "a177b1be9a7eb6e59669",
"url": "/mrstatic/js/Activity.da6bbbd2.chunk.js"
},
{
"revision": "6902434f8f18a23319d57d0ac8aaea8c",
"url": "/mrstatic/media/redb_sp_bj@2x.6902434f.png"
},
{
"revision": "8672468120f747bc6632",
"url": "/mrstatic/js/BargainMiddlePage.222a37d6.chunk.js"
},
{
"revision": "79139f6aad350256e151f9f73c226348",
"url": "/mrstatic/media/hb_bj.79139f6a.png"
},
{
"revision": "e6d4c37466a42eb06eaf",
"url": "/mrstatic/js/Classify.867735ac.chunk.js"
},
{
"revision": "80011994e30adf599e5f47fcc81bc06d",
"url": "/mrstatic/media/progress-share-bg.80011994.png"
},
{
"revision": "d87a17ee493f05f24b09",
"url": "/mrstatic/js/Country.13e44b90.chunk.js"
},
{
"revision": "d76ebce726bdf3459fa14e96d84c5b9a",
"url": "/mrstatic/media/formal-banner.d76ebce7.png"
},
{
"revision": "1d829b09e79953b11f3d",
"url": "/mrstatic/js/CourseList.75f9c7b0.chunk.js"
},
{
"revision": "9ab091267ae7c83bd30d0f5ad018a8c9",
"url": "/mrstatic/media/dalibao_bj.9ab09126.png"
},
{
"revision": "f4600e2434961900a070",
"url": "/mrstatic/js/DrawDocument.108294ef.chunk.js"
},
{
"revision": "81a489ac63f2f2df5ab412e0782bd54c",
"url": "/mrstatic/media/kanjia_cg_icon.81a489ac.png"
},
{
"revision": "04c31cc2f1a15398c056",
"url": "/mrstatic/js/Examination.ceb02c60.chunk.js"
},
{
"revision": "b9b072e1116fd1830cc8f425dc163a6b",
"url": "/mrstatic/media/iconfont.b9b072e1.svg"
},
{
"revision": "ffb8781c1c1bcd94c705",
"url": "/mrstatic/js/Invite.2804ec50.chunk.js"
},
{
"revision": "d4a5f0e711b8ce22629a",
"url": "/mrstatic/js/MyEdit.5137f9e7.chunk.js"
},
{
"revision": "7aa984cefad739ea18edb76c541aa1fd",
"url": "/mrstatic/media/iconfont.7aa984ce.eot"
},
{
"revision": "d151b1cc0c6f74e43d13",
"url": "/mrstatic/js/Order.9d06dcff.chunk.js"
},
{
"revision": "1227921bea17aec4aa37",
"url": "/mrstatic/js/Orderinfo.2906f519.chunk.js"
},
{
"revision": "258b4b114d3d9be3018cd113b2470a13",
"url": "/mrstatic/media/iconfont.258b4b11.ttf"
},
{
"revision": "730ffb502aedf42b2edc",
"url": "/mrstatic/js/PayOrder.f09c24ca.chunk.js"
},
{
"revision": "e0655d4da66dce391e6b5227b400e037",
"url": "/mrstatic/media/iconfont.e0655d4d.woff"
},
{
"revision": "233b8213ab43f230966c",
"url": "/mrstatic/js/Preferential.f2754036.chunk.js"
},
{
"revision": "93a17e7d05bde390b02c",
"url": "/mrstatic/js/43.494daca6.chunk.js"
},
{
"revision": "80d172281237dabe0caa",
"url": "/mrstatic/js/SearchResult.0e236b47.chunk.js"
},
{
"revision": "05f1f2a362cba4d6737a",
"url": "/mrstatic/js/42.fa1a0064.chunk.js"
},
{
"revision": "4162fd1382112962a392",
"url": "/mrstatic/js/ShareCourse.5ec989b2.chunk.js"
},
{
"revision": "e00196283bc8fe9d3e68",
"url": "/mrstatic/js/41.1588e165.chunk.js"
},
{
"revision": "0925f28a7e08abbee084",
"url": "/mrstatic/js/ShopCart.9cbc88cd.chunk.js"
},
{
"revision": "c3c1ba75b6d5894d3fd7",
"url": "/mrstatic/js/40.5d966c8e.chunk.js"
},
{
"revision": "0482b9c551bae4d4010c",
"url": "/mrstatic/js/aist-share.4ad1de1e.chunk.js"
},
{
"revision": "0d8790787861856dd6b7",
"url": "/mrstatic/js/39.8387daa8.chunk.js"
},
{
"revision": "ca85e49d7e33c1915ba6",
"url": "/mrstatic/js/blessing-getPrize.9bc17c30.chunk.js"
},
{
"revision": "18c20d28ac9be37233b6",
"url": "/mrstatic/js/38.5791d700.chunk.js"
},
{
"revision": "5e14d7a5b948df36cdc5",
"url": "/mrstatic/js/blessing-preheat.670503d0.chunk.js"
},
{
"revision": "160a7eaadde129ca7246",
"url": "/mrstatic/js/37.68b4e3e3.chunk.js"
},
{
"revision": "a258c7c6cb5141569045",
"url": "/mrstatic/js/blessing-rank.5cc69985.chunk.js"
},
{
"revision": "19c438bb966d77a59762",
"url": "/mrstatic/js/video.35d1c097.chunk.js"
},
{
"revision": "fdc3d8276de7e90fb44f",
"url": "/mrstatic/js/coupons.0da4bf8b.chunk.js"
},
{
"revision": "d66d376c96dbe86c404d",
"url": "/mrstatic/js/togroup.6f025f11.chunk.js"
},
{
"revision": "93ca875c9bfffa86c3ad",
"url": "/mrstatic/js/deposit-order.37518824.chunk.js"
},
{
"revision": "f938ca9f1627036e2850",
"url": "/mrstatic/js/study.afca37ad.chunk.js"
},
{
"revision": "bab1e96c4cf6a7029250",
"url": "/mrstatic/js/deposit-pay-order.581a33c4.chunk.js"
},
{
"revision": "3198bfd4e4a076538130",
"url": "/mrstatic/js/1.f577d128.chunk.js"
},
{
"revision": "702fa7c93615922a135a",
"url": "/mrstatic/js/detail.a9e721c3.chunk.js"
},
{
"revision": "414775e0c03099a7b6b8",
"url": "/mrstatic/js/shareposter.8dfa7a7e.chunk.js"
},
{
"revision": "2173be982320322f5072",
"url": "/mrstatic/js/main.050fb664.chunk.js"
},
{
"revision": "b09c9e458427b3971446",
"url": "/mrstatic/js/search.bfac27c7.chunk.js"
},
{
"revision": "e1be7dafa7d7ffb3aecf",
"url": "/mrstatic/js/myorders.ce8733b3.chunk.js"
},
{
"revision": "e51554f569a9e6658cd6",
"url": "/mrstatic/js/runtime~main.d7975e9e.js"
},
{
"revision": "5589cba7dc22563d0e88",
"url": "/mrstatic/js/prize-winner-list.a12c08ad.chunk.js"
},
{
"revision": "64e8d33a86ec6d387e56",
"url": "/mrstatic/js/purchased.6ee9010b.chunk.js"
},
{
"revision": "0482b9c551bae4d4010c",
"url": "/mrstatic/css/aist-share.ca49c1cb.chunk.css"
},
{
"revision": "64e8d33a86ec6d387e56",
"url": "/mrstatic/css/purchased.dd7556e0.chunk.css"
},
{
"revision": "b09c9e458427b3971446",
"url": "/mrstatic/css/search.fab97849.chunk.css"
},
{
"revision": "19c438bb966d77a59762",
"url": "/mrstatic/css/video.1f56370b.chunk.css"
},
{
"revision": "414775e0c03099a7b6b8",
"url": "/mrstatic/css/shareposter.f09a5959.chunk.css"
},
{
"revision": "d66d376c96dbe86c404d",
"url": "/mrstatic/css/togroup.49988cae.chunk.css"
},
{
"revision": "f938ca9f1627036e2850",
"url": "/mrstatic/css/study.b002c899.chunk.css"
},
{
"revision": "4162fd1382112962a392",
"url": "/mrstatic/css/ShareCourse.278ad3b1.chunk.css"
},
{
"revision": "bab1e96c4cf6a7029250",
"url": "/mrstatic/css/deposit-pay-order.039d87dd.chunk.css"
},
{
"revision": "2173be982320322f5072",
"url": "/mrstatic/css/main.058e6130.chunk.css"
},
{
"revision": "e1be7dafa7d7ffb3aecf",
"url": "/mrstatic/css/myorders.a5a13d80.chunk.css"
},
{
"revision": "5589cba7dc22563d0e88",
"url": "/mrstatic/css/prize-winner-list.9573ef29.chunk.css"
},
{
"revision": "80d172281237dabe0caa",
"url": "/mrstatic/css/SearchResult.bb7c3056.chunk.css"
},
{
"revision": "160a7eaadde129ca7246",
"url": "/mrstatic/css/37.aebbab68.chunk.css"
},
{
"revision": "18c20d28ac9be37233b6",
"url": "/mrstatic/css/38.50547718.chunk.css"
},
{
"revision": "5e14d7a5b948df36cdc5",
"url": "/mrstatic/css/blessing-preheat.c3ff2bad.chunk.css"
},
{
"revision": "0d8790787861856dd6b7",
"url": "/mrstatic/css/39.2471f477.chunk.css"
},
{
"revision": "ca85e49d7e33c1915ba6",
"url": "/mrstatic/css/blessing-getPrize.cf6662a9.chunk.css"
},
{
"revision": "c3c1ba75b6d5894d3fd7",
"url": "/mrstatic/css/40.0bb224f2.chunk.css"
},
{
"revision": "fdc3d8276de7e90fb44f",
"url": "/mrstatic/css/coupons.ff6280ad.chunk.css"
},
{
"revision": "e00196283bc8fe9d3e68",
"url": "/mrstatic/css/41.ecbb6f9a.chunk.css"
},
{
"revision": "0925f28a7e08abbee084",
"url": "/mrstatic/css/ShopCart.3a4dbb7a.chunk.css"
},
{
"revision": "05f1f2a362cba4d6737a",
"url": "/mrstatic/css/42.18c88f1f.chunk.css"
},
{
"revision": "93ca875c9bfffa86c3ad",
"url": "/mrstatic/css/deposit-order.6f3a01ca.chunk.css"
},
{
"revision": "93a17e7d05bde390b02c",
"url": "/mrstatic/css/43.eb90513f.chunk.css"
},
{
"revision": "a258c7c6cb5141569045",
"url": "/mrstatic/css/blessing-rank.b92d0394.chunk.css"
},
{
"revision": "233b8213ab43f230966c",
"url": "/mrstatic/css/Preferential.b279d085.chunk.css"
},
{
"revision": "730ffb502aedf42b2edc",
"url": "/mrstatic/css/PayOrder.e5315535.chunk.css"
},
{
"revision": "d151b1cc0c6f74e43d13",
"url": "/mrstatic/css/Order.35f475a1.chunk.css"
},
{
"revision": "ffb8781c1c1bcd94c705",
"url": "/mrstatic/css/Invite.a6e11bf3.chunk.css"
},
{
"revision": "04c31cc2f1a15398c056",
"url": "/mrstatic/css/Examination.f2cc3163.chunk.css"
},
{
"revision": "f4600e2434961900a070",
"url": "/mrstatic/css/DrawDocument.2e7d81ca.chunk.css"
},
{
"revision": "1d829b09e79953b11f3d",
"url": "/mrstatic/css/CourseList.85889ffd.chunk.css"
},
{
"revision": "d87a17ee493f05f24b09",
"url": "/mrstatic/css/Country.16a64650.chunk.css"
},
{
"revision": "e6d4c37466a42eb06eaf",
"url": "/mrstatic/css/Classify.f2f19957.chunk.css"
},
{
"revision": "8672468120f747bc6632",
"url": "/mrstatic/css/BargainMiddlePage.fc53c3d0.chunk.css"
},
{
"revision": "a177b1be9a7eb6e59669",
"url": "/mrstatic/css/Activity.a6e11bf3.chunk.css"
},
{
"revision": "201329709182322e68dd",
"url": "/mrstatic/css/2.5ed15c7e.chunk.css"
},
{
"revision": "297457c115c877df32640dfd38a80147",
"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.0c6a4068dad710bf120fb4432c488d7e.js"
"/precache-manifest.77acc686b9ed655a6c00d43d85474d5d.js"
);
workbox.clientsClaim();
......
......@@ -28,6 +28,14 @@ const formatWebpackMessages = require('react-dev-utils/formatWebpackMessages');
const printHostingInstructions = require('react-dev-utils/printHostingInstructions');
const FileSizeReporter = require('react-dev-utils/FileSizeReporter');
const printBuildError = require('react-dev-utils/printBuildError');
const childProcess = require('child_process')
const deploymentBranches = ['master', 'pre', 'dev'];
const version = childProcess.execSync('git symbolic-ref --short -q HEAD', {'encoding': 'utf8'})
if(!deploymentBranches.includes(version.trim())){
console.log(chalk.yellow(`当前不在上线分支,请切换至上线分支(${deploymentBranches.join('/')})打包\n`))
return
}
const measureFileSizesBeforeBuild =
FileSizeReporter.measureFileSizesBeforeBuild;
......
......@@ -6,7 +6,7 @@
.banner__con {
width: 100%;
height: 170px;
background: url('./images/banner.png') center center no-repeat;
background: url('./images/formal-banner.png') center center no-repeat;
background-size: 100% 100%;
}
.content__con {
......@@ -233,7 +233,7 @@
margin-left: 0;
}
}
.user_avatar {
width: 22px;
......
......@@ -189,7 +189,7 @@ class Invite extends Component {
<div className="box__out">
<div className="box__middle">
<div className="box__inner">
<p>当前中奖热力:</p>
<p>当前中奖概率:</p>
<p className="hot__value">{hotValue}</p>
<div className="hot__progress">
<div className="progress__bar">
......
#prize-winner-list {
height: 100%;
background: #5327fa;
padding-bottom: 10px;
.banner {
width: 100%;
......@@ -31,7 +31,6 @@
ul {
width: 355px;
height: 316px;
margin: 0 auto;
background: rgba(57, 0, 201, 1);
border: 1px solid rgba(89, 112, 255, 1);
......
import React, { Component } from 'react';
import './index.scss';
import ListHeader from './../blessingPreheat/listHeader/index'
import { http, getParam } from '@/utils';
import { Toast } from 'antd-mobile';
import AddressPopup from './../blessingPreheat/addressPopup/index'
import { Popup } from '@/common'
import { connect } from 'react-redux'
import jsCookie from 'js-cookie'
@connect(({user}) => (
{
uid: user.data.uid || ''
}
))
class BlessingGetPrize extends Component {
popupInstance = null
constructor(props) {
super(props);
this.state = {
date: '',
next_date: '',
name: '',
is_winning: "", //是否中奖
is_virtual: 1, // 实物奖品 虚拟奖品
prize_data: [],
address: false,
}
}
componentDidMount () {
const _this = this;
setTimeout(function(){
const {history, uid} = _this.props;
if(!uid) {
history.push('/passport');
}else{
http.get(`${API.home}/sys/lottery_result?id=${getParam('id')}`).then(res => {
const {code, msg, data} = res.data;
if(code === 200) {
_this.setState({
...data.info,
prize_data: data.prize_data.slice(0, 6),
})
} else {
Toast.info(msg);
}
});
}
}, 300);
}
showAddress = (bool) => {
const {history, uid} = this.props;
const {name} = this.state;
if (bool && !uid) {
history.push('/passport')
} else {
if (bool && !this.popupInstance) {
this.popupInstance = Popup({
title: '恭喜您',
content: <AddressPopup tip='填写您的联系方式' prize={name} handleToHide={() => this.showAddress(false)}/>
})
} else {
this.popupInstance.close()
this.popupInstance = null
}
}
}
render() {
const {date, next_date, name, is_winning, is_virtual, prize_data, address} = this.state;
return (
<div className="blessing_get_prize">
<div className='is__get_prize'>
<div className="get_piriz__info">
<div className='result'>{date}中奖结果</div>
{
is_winning === 0 && (
<div className='no_prize'>很遗憾,你未中奖~</div>
)
}
{
is_winning === 1 && is_virtual === 0 && (
<div className='real__prize'>
<div>恭喜你,已抽中{name}奖品</div>
<span onClick={()=> this.showAddress(true)} className='address'>填写收货地址</span>
</div>
)
}
{
is_winning === 1 && is_virtual === 1 && (
<div className='virtual '>
<div>恭喜你抽中{name}</div>
<div>奖品已存放到你的账户</div>
</div>
)
}
</div>
</div>
{
prize_data && prize_data.length > 0 && <>
<div className='current_stage'>
{next_date}
</div>
<ListHeader text="抽奖已开启" styles={{margin: '16px 0 18px'}}/>
<div className='prize_list_container'>
{
prize_data.length > 0 && prize_data.map((item, index) => {
return (<div className='prize__item' key={index}>
<img className='prize__image' src={item.img}></img>
<div className='name__num'>
<span>{item.name}</span>
<span>{`*${item.num}`}</span>
</div>
</div>)
})
}
</div>
<a href='/blessingPreheat' className='join__button'>
立即参与抽奖
</a>
<div className='prize__tip'>
<div className='line'></div>
<span>中奖小tips</span>
<div className='line'></div>
</div>
<div className='blessing__des'>积攒的福气值越高,中奖概率越大哦</div>
<a className='to__preheat' href='/invite'>积攒更多福气值</a>
</>
}
{
(!prize_data || prize_data.length === 0) && (
<div className="active_over_container">
<img src='https://julyedu-cdn.oss-cn-beijing.aliyuncs.com/active19_1111/m/acitve__over.png' alt=''/>
<p>七月在线双十一抽奖活动已结束, 感谢你的参与!</p>
</div>
)
}
</div>
)
}
}
export default BlessingGetPrize
\ No newline at end of file
.blessing_get_prize {
width: 100vw;
height: 100vh;
overflow: auto;
background-color: #4B00F3;
padding-bottom: 58px;
.is__get_prize {
width: 100%;
height: 140px;
background: url('https://julyedu-cdn.oss-cn-beijing.aliyuncs.com/active19_1111/m/quan2x.png') center center no-repeat;
background-size: 100% 100%;
margin-top: 10px;
position: relative;
.get_piriz__info {
width: 100%;
height: 100%;
position: absolute;
left: 0;
top: 0;
display: flex;
flex-direction: column;
justify-content: flex-start;
align-items: center;
.result {
height:16px;
line-height: 16px;
font-size:16px;
font-weight:400;
color:rgba(76,33,239,1);
margin-top: 30px;
}
.virtual {
font-size:16px;
font-weight:500;
color:rgba(76,33,239,1);
line-height:20px;
margin-top: 10px;
div {
width: 100%;
text-align: center;
text-align-last: center;
margin-top: 4px;
}
}
.no_prize {
font-size:16px;
font-weight:500;
color:rgba(76,33,239,1);
width: 100%;
text-align: center;
text-align-last: center;
margin-top: 18px;
}
.real__prize {
font-size:16px;
font-weight:500;
color:rgba(76,33,239,1);
width: 100%;
margin-top: 16px;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
div {
line-height: 20px;
width: 80%;
text-align: center;
text-align-last: center;
}
.address {
font-size:12px;
font-weight:400;
text-decoration:underline;
color:rgba(76,33,239,1);
margin-top: 6px;
}
}
}
}
.current_stage {
width:100%;
font-size:16px;
font-weight:500;
color:rgba(255,255,255,1);
text-align: center;
text-align-last: center;
margin-top: 36px;
}
.prize_list_container {
width: 100%;
height:250px;
background:rgba(53,0,162,1);
box-shadow:0px 3px 6px 0px rgba(0, 0, 0, 0.1);
display: flex;
flex-direction: row;
justify-content: flex-start;
align-items: flex-start;
flex-wrap: wrap;
padding: 16px;
.prize__item {
width: 106px;
display: flex;
flex-direction: column;
justify-content: flex-start;
align-items: center;
margin-right: 10px;
&:nth-child(3n) {
margin-right: 0;
}
.prize__image {
width: 106px;
height: 82px;
}
.name__num {
display: flex;
flex-direction: row;
justify-content: space-around;
align-items: center;
font-size:12px;
font-weight:400;
color:rgba(255,255,255,1);
margin-top: 6px;
span {
&:first-child {
width: 70px;
flex: 0 0 auto;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
&:last-child {
width: 36px;
flex: 0 0 auto;
}
}
}
}
}
.join__button {
display: block;
width:340px;
height:50px;
background:linear-gradient(90deg,rgba(255,105,5,1) 0%,rgba(255,180,5,1) 100%);
font-size:18px;
font-weight:500;
color:rgba(255,255,255,1);
border-radius:5px;
margin: 20px auto 32px;
line-height: 50px;
text-align: center;
text-align-last: center;
}
.prize__tip {
display: flex;
flex-direction: row;
justify-content: center;
align-items: center;
font-size:14px;
font-weight:400;
color:rgba(255,255,255,1);
margin-bottom: 12px;
.line {
width: 128px;
height: 1px;
background: #fff;
}
span {
margin: 0 8px;
}
}
.blessing__des {
font-size:12px;
font-weight:300;
color:rgba(255,255,255, .6);
text-align: center;
margin-bottom: 16px;
}
.to__preheat {
display: inline-block;
width: 100%;
font-size:14px;
font-weight:300;
text-decoration:underline;
color:rgba(255,255,255, .6);
text-align: center;
}
.active_over_container {
display: flex;
flex-direction: column;
justify-content: flex-start;
align-items: center;
margin-top: 70px;
img {
width: 170px;
height: 134px;
}
p {
width:238px;
height:39px;
font-size:16px;
font-weight:400;
color:rgba(255,255,255,1);
line-height:24px;
text-align: center;
text-align-last: center;
margin-top: 20px;
}
}
}
.address__prize {
font-size: 16px;
width: 100%;
text-align: center;
text-align-last: center;
color: #525C65;
line-height: 16px;
margin-top: 16px;
}
\ No newline at end of file
......@@ -54,6 +54,7 @@ class AddressPopup extends Component {
render() {
const { isLoading, addressInfo } = this.state;
const {tip, prize} = this.props;
return (
<>
{
......@@ -84,7 +85,14 @@ class AddressPopup extends Component {
}}
render={({errors}) => (
<Form className="address-form">
<p className="address-form__desc">请及时填写收货信息,获得实物奖品后将第一时间为您邮寄</p>
{
prize ? (
<p className='address__prize'>您抽中了{prize}<span style={{'color': '#FF4000'}}>实物奖品</span></p>
) : (null)
}
{
tip ? (<p className="address-form__desc">{tip}</p>) : (<p className="address-form__desc">请及时填写收货信息,获得实物奖品后将第一时间为您邮寄</p>)
}
<Field
name="name"
render={({ field }) => (
......
......@@ -97,10 +97,10 @@ class Banner extends Component {
render() {
const { toSection, navs, index } = this.props;
const { toSection, navs, index, isFormal } = this.props;
return (
<div id={'main-banner'}>
<div className="banner"></div>
<div className={`banner ${isFormal ? 'formal_banner' : ''}`}></div>
<nav id={'main-nav'}>
<ul>
{
......
#main-banner{
overflow: auto;
margin-bottom: 70px;
.banner{
width: 375px;
height: 183px;
background: url("https://julyedu-cdn.oss-cn-beijing.aliyuncs.com/active19_1111/m/banner.png") no-repeat;
background-size: contain;
}
.formal_banner {
background: url("https://julyedu-cdn.oss-cn-beijing.aliyuncs.com/active19_1111/m/formal_banner.png") no-repeat;
background-size: contain;
}
#main-nav{
position: absolute;
top: 183px;
......
......@@ -141,6 +141,7 @@ class CollectBlessing extends Component {
Toast.info('今日已分享,记得明天来~', 2, null, false);
}else {
handleToShowShare();
this.shareTimer && clearInterval(this.shareTimer);
this.shareTimer = setInterval(() => {
this.setState(
{
......@@ -148,6 +149,9 @@ class CollectBlessing extends Component {
},
() => {
if (seconds === 0) {
this.setState({
seconds: 5
});
typeof cb === 'function' && cb();
clearInterval(this.shareTimer);
}
......
......@@ -82,7 +82,7 @@
.collect-blessing__share-button {
display: block;
width: 20px;
height: 11px;
height: 14px;
border-style: none;
background-color: transparent;
background-size: auto 100%;
......@@ -90,15 +90,17 @@
background-position: center;
&[data-type="qq"] {
background-image: url('https://julyedu-cdn.oss-cn-beijing.aliyuncs.com/active19_1111/m/qq-icon.png');
background-image: url('https://julyedu-cdn.oss-cn-beijing.aliyuncs.com/active19_1111/qq.png');
}
&[data-type="wechat"] {
background-image: url('https://julyedu-cdn.oss-cn-beijing.aliyuncs.com/active19_1111/m/wechat-icon.png');
height: 16px;
background-image: url('https://julyedu-cdn.oss-cn-beijing.aliyuncs.com/active19_1111/wechat.png');
}
&[data-type="weibo"] {
background-image: url('https://julyedu-cdn.oss-cn-beijing.aliyuncs.com/active19_1111/icon-weibo.png');
height: 17px;
background-image: url('https://julyedu-cdn.oss-cn-beijing.aliyuncs.com/active19_1111/weibo.png');
}
}
......@@ -198,7 +200,7 @@
line-height: 1;
&:last-child {
margin-bottom: 0;
margin-bottom: 0;
}
span {
font: size 12px;
......
......@@ -9,7 +9,7 @@
width: 100%;
height: 100%;
background-color: rgba(0, 0, 0, .5);
z-index: 2;
z-index: 11;
.iconfont {
margin: 16px 0 0;
......
import React, { Component } from 'react'
import { http } from "@/utils"
import { Toast, Tabs } from 'antd-mobile'
import './index.scss'
import 'swiper/dist/css/swiper.min.css'
import { Link, withRouter } from 'react-router-dom'
import classnames from 'classnames'
import Swiper from 'swiper'
import { Popup } from "@common/index"
import QRCode from 'qrcode'
import { connect } from 'react-redux'
@connect(state => ({user: state.user}))
class FormalDraw extends Component {
swiper = null
popupInstance = null
subscribePopupInstance = null
state = {
prizes: [],
currentDisplayPrizes: [],
tabs: [],
today: '',
initialPageIndex: 0,
list: [],
activeTimeRangeIndex: 0,
userValue: {},
}
componentDidMount() {
http.get(`${API.home}/sys/activity/prize_data`)
.then(res => {
const {data, code, msg} = res.data
if (code == 200) {
const {today} = data.value
const oneDay = data.list.filter(item => item.date === data.value.today)
const activeIndex = oneDay[0]['son'].findIndex(item => item.status == 3)
this.setState({
tabs: data.list.map(item => ({title: item.date})),
today,
initialPageIndex: data.list.findIndex(item => item.date == today) || 0,
list: data.list,
userValue: data.value,
activeTimeRangeIndex: activeIndex < 0 ? 0 : activeIndex
}, () => {
this.initializeSwiper()
})
} else {
Toast.info(msg, 2, null, false)
}
})
}
initializeSwiper = () => {
new Swiper(this.swiper, {
slidesPerView: 'auto',
scrollbar: {
el: '.swiper-scrollbar',
draggable: true
}
})
}
changeTab = (tab) => {
const {list} = this.state
const data = list.filter(item => item.date === tab.title)
let index = data[0]['son'].findIndex(item => item.status == 3)
this.setState({
today: tab.title,
activeTimeRangeIndex: index < 0 ? 0 : index
}, () => {
this.initializeSwiper()
})
}
draw = id => {
let {surplus, is_prize, hot_value} = this.state.userValue
if (hot_value < 50) {
Toast.info('你的福气值未达到参与抽奖所需福气值分数,快去积攒福气值吧', 2, null, false)
} else if (is_prize == 1) {
Toast.info('你已参与当前时段抽奖', 2, () => {
this.requestDraw(id, true)
}, false)
} else if (surplus < 1) {
Toast.info('你的抽奖次数已用光,快去积攒福气值可获得更多抽奖机会', 2, null, false)
} else {
this.requestDraw(id)
}
}
requestDraw = (id, isDrawn) => {
let {surplus} = this.state.userValue
http.post(`${API.home}/sys/activity/prize`, {
id
}).then(res => {
const {code, msg, data} = res.data
if (code == 200) {
var _czc = _czc || []
_czc.push(["_trackEvent", '点击抽奖', 'm端双十一正式活动-点击抽奖'])
QRCode.toDataURL(data.url, (err, url) => {
this.popupInstance = Popup({
title: '你已成功参与本时段抽奖',
className: 'join-lottery',
content: (
<>
<div className="text">
<div className="code">抽奖码为:{data.code}</div>
<div className="time">本时段的中奖结果将在{data.date}公布</div>
<div className="hint">你可关注‘七月在线’服务号第一时间获得中奖信息。</div>
<img src={url} className='qr-code' alt=""/>
</div>
<button onClick={() => {
this.popupInstance.close()
}}>知道了
</button>
</>
)
})
this.setState({
userValue: {...this.state.userValue, ...{surplus: isDrawn ? surplus : --surplus}, ...{is_prize: 1}}
})
})
} else {
Toast.info(msg, 2, null, false)
}
})
}
lotteryFunc = (status, id) => {
const {hasError} = this.props.user
if (hasError && status != 4) {
this.props.toLogin()
return
}
if (status == 3) {
this.draw(id)
} else if (status == 2) {
this.subscribe(id)
} else if (status == 4) {
location.href = `/prize-winner-list?tid=${id}`
}
}
subscribe = (id) => {
var _czc = _czc || []
_czc.push(["_trackEvent", '预约抽奖', 'm端双十一正式页-立即预约'])
if (this.subscribePopupInstance) {
return
}
http.get(`${API["base-api"]}/sys/activity/create_pre_qrcode`,{params:{id}})
.then(res => {
const {code, data, msg} = res.data
if (code == 200) {
this.subscribePopupInstance = QRCode.toDataURL(data.url, (err, url) => {
Popup({
title: '微信扫码“七月在线”服务号即可预约',
className: 'subscribe',
content: <img src={url} alt="" className="qr-code"/>,
close: () => new Promise(resolve => {
this.subscribePopupInstance = null
resolve()
})
})
})
} else {
Toast.info(msg, 2, null, false)
}
})
}
render() {
const {tabs, today, initialPageIndex, list, activeTimeRangeIndex, userValue} = this.state
const {hasError} = this.props.user
const isLogin = !hasError
const schedule = userValue.schedule <= 2 ? 2 : userValue.schedule
return (
list.length > 0 ?
<div id={'formal-draw'}>
{
list.length &&
<Tabs
tabs={tabs}
initialPage={initialPageIndex}
tabBarBackgroundColor={'transparent'}
tabBarActiveTextColor={'#5600DF'}
tabBarInactiveTextColor={'#FFF604'}
tabBarUnderlineStyle={{display: 'none'}}
onTabClick={this.changeTab}
swipeable={false}
>
{
list.map((listItem, index) => {
return (
<div className={`content ${(isLogin && today === userValue.today) ? 'current' : ''}`} key={index}>
{
(isLogin && (today === userValue.today))
?
<div className="prize_number_con">
当日剩余抽奖次数:
<span className={'prize__number'}>{userValue.surplus}</span>
</div>
: ""
}
<div className="title">
<img src="https://julyedu-cdn.oss-cn-beijing.aliyuncs.com/active19_1111/title-decorate-left.png"
alt=""/>
{
isLogin
?
<div className="hot-value">中奖概率值:<span className={'grade'}>{userValue['hot_value']}</span>
</div>
: <div className="hot-value">中奖概率值:<Link to={'/passport'}>登录</Link></div>
}
<img
src="https://julyedu-cdn.oss-cn-beijing.aliyuncs.com/active19_1111/title-decorate-right.png"
alt=""/>
</div>
{
isLogin ?
<div className="progress-bar">
<img className={'locator'}
src="https://julyedu-cdn.oss-cn-beijing.aliyuncs.com/active19_1111/locator.png"
alt=""
style={{
left: `${schedule - (11 / 330 - (6 / 330)) * 100}%`
}}
/>
<div className="progress" style={{
width: `${schedule}%`
}}></div>
</div>
: null
}
<ul className="time-ranges">
{
listItem.son && listItem.son.map((item, i) => {
let statusContent
switch (item.status) {
case 5:
statusContent = '已预约'
break
case 4:
statusContent = (
<>
<span>已结束</span>
<Link to={`/prize-winner-list?tid=${item.id}`}>查看中奖名单</Link>
</>
)
break
case 3:
statusContent = (
<>
<div>立即抽奖</div>
<div>{item.num}人正在参与</div>
</>
)
break
case 2:
statusContent = '立即预约'
break
default:
statusContent = '即将开启'
}
return (
<li key={i}
className={classnames(`status-${item.status}`, {active: activeTimeRangeIndex === i})}>
<div className={'status-bar'} onClick={() => {
this.setState({activeTimeRangeIndex: i}, () => {
this.initializeSwiper()
})
}}>
<img className={'icon-clock'}
src={
item.status == 3
? 'https://julyedu-cdn.oss-cn-beijing.aliyuncs.com/active19_1111/m/m-icon-clock-purple.png'
: "https://julyedu-cdn.oss-cn-beijing.aliyuncs.com/active19_1111/m/m-icon-clock.png"
}
alt=""/>
<div className="time">
<span>{item.time}</span>
</div>
<div className="status"
onClick={this.lotteryFunc.bind(this, item.status, item.id)}>{statusContent}</div>
</div>
{
activeTimeRangeIndex === i &&
listItem.date === today &&
<div className="swiper-container" ref={el => this.swiper = el}>
<ul className={'prizes swiper-wrapper'}>
{
item.data.map((prize, index) => {
return (
<li key={index} className={'swiper-slide'}>
{
prize.level === 1 &&
item.status === 3 &&
<div className="tip">
10000人释放
</div>
}
<img src={prize.img} alt=""/>
<div className='prize-name'>
<div>{prize.name}</div>
<div>*{prize.num}</div>
</div>
</li>
)
})
}
<li className='swiper-scrollbar'></li>
</ul>
</div>
}
</li>
)
})
}
</ul>
</div>
)
})
}
</Tabs>
}
</div>
: null
)
}
}
export default withRouter(FormalDraw)
#formal-draw {
position: relative;
width: 355px;
background: rgba(57, 0, 201, 1);
border: 1px solid rgba(89, 112, 255, 1);
border-radius: 5px;
margin: 0 auto;
&::before {
content: '';
display: block;
width: 233px;
height: 90px;
position: absolute;
top: 0;
left: 0;
background: url("https://julyedu-cdn.oss-cn-beijing.aliyuncs.com/active19_1111/body-top-bg.png") no-repeat;
background-size: contain;
}
&::after {
content: '';
display: block;
position: absolute;
bottom: 0;
right: 0;
width: 250px;
height: 57px;
background: url("https://julyedu-cdn.oss-cn-beijing.aliyuncs.com/active19_1111/body-bottom-bg.png") no-repeat;
background-size: contain;
}
.am-tabs {
position: relative;
z-index: 10;
width: 330px;
margin: 0 auto;
color: #fff;
& .am-tabs-default-bar-tab:nth-of-type(3) {
&::after {
display: none;
}
}
&.am-tabs-horizontal {
.am-tabs-pane-wrap {
&-inactive {
padding: 0 1px;
}
}
}
.am-tabs-tab-bar-wrap {
height: 33px;
border: 1px solid rgba(255, 246, 4, 1);
border-radius: 0 0 6px 6px;
}
.am-tabs-default-bar-tab {
height: auto;
line-height: 1;
&::after {
content: '';
display: block;
position: absolute;
right: 0;
left: unset;
top: 50%;
margin-top: -7px;
width: 1px;
height: 14px;
background: #FFF604;
transform: none;
}
}
.am-tabs-default-bar-tab-active {
background: #FFF604;
border-radius: 0 0 5px 5px;
}
}
.content {
position: relative;
.title {
display: flex;
justify-content: center;
align-items: center;
text-align: center;
font-size: 16px;
color: #FFF3F0;
margin: 20px 0 28px;
line-height: 1;
.hot-value {
margin: 0 12px;
a {
display: inline-block;
width: 34px;
height: 18px;
padding: 0;
background: linear-gradient(0deg, rgba(255, 132, 0, 1), rgba(255, 67, 2, 1));
border-radius: 3px;
font-size: 11px;
color: #fff;
font-weight: 400;
color: rgba(255, 255, 255, 1);
border: none;
-webkit-appearance: none;
outline: none;
line-height: 18px;
}
}
.grade {
color: #FFF604;
}
img {
width: 24px;
height: 11px;
}
}
.prize_number_con {
width:280px;
height:30px;
background:rgba(255,255,255,1);
border-radius:15px;
font-size:14px;
font-weight:400;
color:rgba(83,39,250,1);
text-align: center;
text-align-last: center;
line-height: 30px;
position: absolute;
left: 50%;
transform: translateX(-50%);
top: 18px;
}
}
.current {
padding-top: 50px;
}
.progress-bar {
position: relative;
width: 330px;
height: 5px;
background: linear-gradient(-90deg, rgba(211, 211, 210, 1) 0%, rgba(255, 255, 255, 1) 100%);
border-radius: 2px;
margin-bottom: 20px;
.progress {
width: 0;
height: 5px;
background: linear-gradient(270deg, rgba(255, 76, 5, 1) 0%, rgba(255, 215, 108, 1) 100%);
border-radius: 2px;
}
.locator {
position: absolute;
top: -16px;
left: 0;
width: 11px;
height: 14px;
}
}
.time-ranges {
overflow: hidden;
& > li {
&::after {
content: '';
display: block;
height: 10px;
background: url("https://julyedu-cdn.oss-cn-beijing.aliyuncs.com/active19_1111/m/formal-draw-divider.png") no-repeat;
background-size: contain;
margin: 10px 0;
}
}
& > li:last-child {
margin-bottom: 30px;
&::after {
display: none;
}
}
}
.status-bar {
position: relative;
display: flex;
width: 330px;
height: 44px;
text-align: center;
border-radius: 2px;
background: #fff;
.time {
position: relative;
width: 220px;
color: #999;
font-size: 18px;
padding-left: 45px;
line-height: 44px;
text-align: left;
}
.status {
position: relative;
width: 110px;
color: #fff;
font-size: 12px;
border-radius: 0 2px 2px 0;
&::after {
content: '';
position: absolute;
bottom: -5px;
left: 50%;
display: none;
color: transparent;
margin-left: -6px;
border-style: solid;
border-width: 5px 6px 0;
border-top-color: #CCC;
}
}
.icon-clock {
position: absolute;
top: 50%;
left: 20px;
margin-top: -9px;
width: 16px;
height: 18px;
z-index: 10;
}
}
.status-4 {
.status {
display: flex;
flex-flow: column;
justify-content: center;
align-items: center;
background: linear-gradient(-90deg, rgba(204, 204, 204, 1) 0%, rgba(221, 221, 221, 1) 100%);
a {
font-size: 10px;
color: #5327FA;
text-decoration: underline;
}
}
&.active {
.status::after {
display: block;
border-top-color: #DDDDDD;
}
}
}
.status-3 {
.time {
color: #5327FA;
}
.status {
display: flex;
justify-content: center;
flex-direction: column;
background: linear-gradient(to right, #ff3b05 0%, #ff6905 100%);
}
&.active {
.status::after {
display: block;
border-top-color: #ff6905;
}
}
}
.status-1, .status-2, .status-5 {
.status {
background: linear-gradient(-90deg, rgba(7, 240, 255, 1) 0%, rgba(0, 153, 255, 1) 100%);
font-size: 15px;
color: #fff;
text-align: center;
line-height: 44px;
}
&.active .status {
&::after {
display: block;
border-top-color: #07F0FF;
}
}
}
.prizes {
margin-top: 15px;
li {
position: relative;
width: 100px;
margin-right: 6px;
.tip {
position: absolute;
top: -32px;
left: 50%;
z-index: 10;
margin-left: -50px;
padding: 5px 8px;
white-space: nowrap;
background: rgba(255, 246, 4, 1);
border-radius: 2px;
font-size: 11px;
color: #3900C9;
transform: scale(.8);
&::after {
position: absolute;
left: 50%;
bottom: -3px;
margin-left: -6px;
content: '';
display: block;
border-style: solid;
border-width: 4px 6px 0;
border-color: transparent;
border-top-color: rgba(255, 246, 4, 1);
}
}
}
img {
width: 100px;
height: 78px;
background: rgba(255, 255, 255, 1);
border: 2px solid;
border-image: linear-gradient(-40deg, rgba(255, 75, 240, 1), rgba(120, 0, 255, 1)) 10 10;
border-radius: 4px;
}
.prize-name {
width: 99px;
& > div:first-child {
width: 100%;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
& > div:last-child {
text-align: center;
}
}
}
.swiper-container {
overflow: visible;
}
}
.closable-popup-mask {
.popup-container.join-lottery {
background: #5327FA;
text-align: center;
.title {
color: #fff;
margin-bottom: 15px;
}
.text {
width: 275px;
height: 248px;
padding: 36px 30px 0;
margin-bottom: 10px;
text-align: center;
background: url("https://julyedu-cdn.oss-cn-beijing.aliyuncs.com/active19_1111/m/join-lottery-bg.png");
background-size: contain;
font-size: 14px;
.code {
color: #FF0000;
margin-bottom: 8px;
}
.time, .hint {
font-size: 12px;
color: #525C65;
}
.time {
margin-bottom: 20px;
}
.hint {
color: rgba(82, 92, 101, .8);
margin-bottom: 10px;
text-align: left;
}
.qr-code {
width: 90px;
height: 90px;
margin-top: 0;
}
}
button {
width: 133px;
height: 30px;
background: #fff;
border-radius: 15px;
font-size: 14px;
color: #5327FA;
-webkit-appearance: none;
outline: none;
border: none;
}
}
}
.closable-popup-mask {
.subscribe {
height: 215px;
padding-bottom: 30px;
.title {
margin-bottom: 20px;
}
.content {
text-align: center;
.qr-code {
width: 120px;
height: 120px;
}
}
}
}
......@@ -24,10 +24,13 @@ import { setCurrentUser, startFetchUser } from "@/store/userAction"
import { addDays } from "date-fns"
import { compose } from "redux"
import { connect } from "react-redux"
import FormalDraw from "./formal-draw"
class BlessingPreheat extends Component {
recordInstance = null
constructor(props) {
super(props)
this.navTop = 183
......@@ -79,11 +82,39 @@ class BlessingPreheat extends Component {
id: 'live'
},
],
formalNavs: [
{
text: '幸运大抽奖',
id: 'lucky-draw'
},
{
text: '积福气',
id: 'lucky-value'
},
{
text: '精品特惠',
id: 'best-courses'
},
{
text: 'AI测试',
id: 'ai-test'
},
{
text: '大咖直播',
id: 'live'
},
],
index: 0,
userHasError: props.user.hasError,
isApp: false,
isClose: false,
testSum: 0,
address: {
name: '',
phone: '',
address: ''
},
addressPopupVisible: false
}
}
......@@ -123,6 +154,14 @@ class BlessingPreheat extends Component {
}
componentWillUpdate() {
const {isFormal} = this.state;
if(isFormal === 1) {
document.title = `11.11-11.13 AI充电节,为AI出击!重磅好课1折秒,海量奖品来就送-七月在线`
}else{
document.title = `11.11-11.13 AI充电节,预热来袭!积福气享1折秒课,海量奖品来就送-七月在线`
}
}
// 获取app登录数据
loginInfo = (result) => {
......@@ -215,10 +254,10 @@ class BlessingPreheat extends Component {
}
initNav = (isFormal) => {
const {navs} = this.state
const {formalNavs} = this.state
if (isFormal) {
this.setState({
navs: navs.filter(item => item.id !== 'deposit')
navs: formalNavs
})
}
}
......@@ -267,7 +306,7 @@ class BlessingPreheat extends Component {
handleToSign = () => {
const { userInfo } = this.state;
const {userInfo} = this.state
http.post(`${API.home}/sys/add/blessing`, {
type: 1 // 1:签到;3:分享;4:浏览课程;
}).then(res => {
......@@ -278,7 +317,7 @@ class BlessingPreheat extends Component {
userInfo: Object.assign({}, userInfo, {
blessingVal: userInfo.blessingVal + 5
})
});
})
Toast.info('+5点福气值~', 2, null, false)
}
......@@ -300,15 +339,15 @@ class BlessingPreheat extends Component {
if (isLogin && !isLoginnew) {
this.toLogin()
} else {
if(key === 'shareMark') {
if (key === 'shareMark') {
this.setState({
isClose: false
});
})
setTimeout(() => {
this.setState({
isClose: true
});
}, 5000);
})
}, 5000)
}
let obj = {}
obj[key] = true
......@@ -320,7 +359,7 @@ class BlessingPreheat extends Component {
handleToShowNotice = () => {
http.get(`${API['base-api']}/sys/activity/create_blessing_qrcode`).then(res => {
const {errno, data, msg} = res.data;
const {errno, data, msg} = res.data
if (errno === 200) {
QRCode.toDataURL(data.url, {
width: 120,
......@@ -338,8 +377,8 @@ class BlessingPreheat extends Component {
})
} else if (errno === 4030 || errno === 4040) {
this.toLogin()
}else {
Toast.info(msg, 2, null, false);
} else {
Toast.info(msg, 2, null, false)
}
})
}
......@@ -410,6 +449,106 @@ class BlessingPreheat extends Component {
}
}
getMyPrizeRecord = () => {
const isLoginnew = !this.props.user.hasError
const {history} = this.props
if (!isLoginnew) {
history.push('/passport')
}else{
http.get(`${API.home}/sys/activity/my_lotteries`)
.then(res => {
const {code, data, msg} = res.data
if (code == 200) {
this.recordInstance = Popup({
title: '我的中奖纪录',
className: 'prize-record-popup',
content: (
<div className={'record-container'}>
<div className="list-title">
<div>时间</div>
<div>奖品名称</div>
</div>
<ul>
{
Array.isArray(data)
? data.map((item, index) => {
return (
<li key={index}>
<div className="time">{item.time}</div>
<div className="name"
onClick={this.showAddressPopup.bind(this, item['is_virtual'], item.prize)}>{item.prize}</div>
</li>
)
})
: <li style={{justifyContent: 'center'}}>暂无中奖纪录</li>
}
</ul>
</div>
)
})
} else {
Toast.info(msg, 2, null, false)
}
})
}
}
submitAddress = debounce(() => {
http.post(`${API.home}/sys/collect_info`, {
...this.state.address
})
.then(res => {
const {data, code, msg} = res.data
if (code == 200) {
this.setState({
addressPopupVisible: false
})
} else {
Toast.info(msg, 2, null, false)
}
})
}, 500)
setAddressState = e => {
const value = e.target.value
const name = e.target.name
this.setState({
address: {
...this.state.address, ...{
[name]: value
}
}
})
}
showAddressPopup = (isVirtual, prize) => {
if (isVirtual) {
Toast.info(`恭喜你抽中${prize},奖品已存放到你的账户`, 2, null, false)
return
}
http.get(`${API.home}/sys/user_address_info`)
.then(res => {
const {data, code, msg} = res.data
if (code == 200) {
this.recordInstance && this.recordInstance.close()
this.setState({
address: {
...this.state.address, ...{
name: data.name,
phone: Number(data.phone),
address: data.address
}
},
addressPopupVisible: true
})
} else {
Toast.info(msg, 2, null, false)
}
})
}
render() {
const {
navs,
......@@ -423,8 +562,10 @@ class BlessingPreheat extends Component {
index,
isApp,
isClose,
testSum
} = this.state;
testSum,
address,
addressPopupVisible,
} = this.state
const {history} = this.props
const isLogin = !this.props.user.hasError
return (
......@@ -435,8 +576,23 @@ class BlessingPreheat extends Component {
toSection={this.toSection}
index={index}
/>
{/* 抽奖--正式 */}
{
isFormal === 1 &&
<>
<ListHeader id={'lucky-draw'} text="幸运大抽奖" styles={{margin: '30px 0 10px'}}/>
<div className="formal-draw-btns">
<button className="luck-draw__button" onClick={() => this.handleToShow('isRule')}>活动规则></button>
<button className='prize-record' onClick={this.getMyPrizeRecord}>中奖记录></button>
</div>
<FormalDraw toLogin={this.toLogin}/>
</>
}
{/* 积福气 */}
<ListHeader id={'lucky-value'} text="积福气,享受更多福利" styles={{margin: '60px 0 15px'}}/>
<ListHeader id={'lucky-value'} text="积福气,享受更多福利" styles={{margin: '30px 0 15px'}}/>
<Link className="luck-draw__button" to="/blessingRank">福气排行榜></Link>
......@@ -453,10 +609,16 @@ class BlessingPreheat extends Component {
/>
{/* 幸运大抽奖--预热 */}
<ListHeader id={'lucky-draw'} text="幸运大抽奖" styles={{margin: '30px 0 10px'}}/>
<p className="luck-draw__tip">- 将于111110点开启 -</p>
<button className="luck-draw__button" onClick={() => this.handleToShow('isRule')}>活动规则></button>
<LuckDraw/>
{
isFormal === 0 &&
<>
<ListHeader id={'lucky-draw'} text="幸运大抽奖" styles={{margin: '30px 0 10px'}}/>
<p className="luck-draw__tip">- 将于111110点开启 -</p>
<button className="luck-draw__button" onClick={() => this.handleToShow('isRule')}>活动规则></button>
<LuckDraw/>
</>
}
{/*定金--只在预热期间显示*/}
{
......@@ -488,7 +650,7 @@ class BlessingPreheat extends Component {
}
{
showRecordList &&
<RecordPopup
<RecordPopup
history={this.props.history}
handleToHide={() => this.handleToHide('showRecordList')}
/>
......@@ -497,35 +659,6 @@ class BlessingPreheat extends Component {
shareMark &&
<SharePopup isClose={isClose} toClose={() => this.handleToHide('shareMark')}/>
}
{/*
<Popup visible={this.state.joinLotteryVisible}
title={'你已成功参与本时段抽奖'}
className={'join-lottery'}
>
<div className="text">
<div className="code">抽奖码为:99999999</div>
<div className="time">本时段的中奖结果将在xx:xx公布</div>
<div className="hint">你可关注‘七月在线’服务号第一时间获得中奖信息。</div>
<img src="https://julyedu-cdn.oss-cn-beijing.aliyuncs.com/tinypng-common/right_weixin.png"
className='qr-code' alt=""/>
</div>
<button onClick={() => {
this.setState({joinLottery: false})
}}>知道了
</button>
</Popup>
<Popup title={'微信扫码分享到微信朋友圈'}
visible={this.state.timelineShareVisible}
className={'timeline-share'}
>
<img src="https://julyedu-cdn.oss-cn-beijing.aliyuncs.com/tinypng-common/right_weixin.png" alt=""
className="qr-code"/>
</Popup>*/}
<ListHeader id={'ai-test'} text="全国AI工程师水平测试" styles={{margin: '30px 0 15px'}}/>
<div className="test__record" onClick={() => this.handleToShow('showRecordList', true)}>
......@@ -541,7 +674,52 @@ class BlessingPreheat extends Component {
<RankList></RankList>
<Live isFormal={isFormal} isLogin={isLogin}></Live>
<Live isFormal={isFormal} isLogin={isLogin}/>
{
addressPopupVisible &&
<div className="address-mask">
<div className="address-popup">
<div className="title">收货信息</div>
<div className="address-info-container">
<div className="tip">请及时填写收货信息,获得实物奖品后将第一时间为您邮寄</div>
<input type="text"
placeholder={'收件人'}
name={'name'}
onChange={e => {
this.setAddressState(e)
}}
value={address.name}
/>
<input type="tel"
placeholder={'联系方式'}
name={'tel'}
onChange={e => {
this.setAddressState(e)
}}
value={address.phone}
/>
<input type="text"
placeholder={'收货地址'}
name={'address'}
onChange={e => {
this.setAddressState(e)
}}
value={address.address}
/>
<button type='button'
className={(address.name != '' && address.phone != '' && address.address != '') ? 'active' : ''}
onClick={this.submitAddress}
>提交
</button>
<i className={'iconfont iconiconfront-2'} onClick={() => {
this.setState({
addressPopupVisible: false
})
}}/>
</div>
</div>
</div>
}
</div>
)
}
......
......@@ -2,100 +2,28 @@
background: #5327FA;
}
.timeline-share{
height: 215px;
padding-bottom: 30px;
.title{
margin-bottom: 20px;
}
.content{
text-align: center;
.qr-code{
width: 120px;
height: 120px;
}
}
}
.test__record {
width: 106px;
height: 26px;
border:1px solid rgba(255,246,4,1);
border-radius:13px;
font-size:14px;
font-weight:400;
color:rgba(255,246,4,1);
border: 1px solid rgba(255, 246, 4, 1);
border-radius: 13px;
font-size: 14px;
font-weight: 400;
color: rgba(255, 246, 4, 1);
margin: 10px auto 14px;
display: flex;
justify-content: center;
align-items: center;
}
.sort__rules {
font-size:12px;
font-weight:400;
color:rgba(255,255,255,1);
font-size: 12px;
font-weight: 400;
color: rgba(255, 255, 255, 1);
text-align: center;
text-align-last: center;
}
.join-lottery {
background: #5327FA;
text-align: center;
.title {
color: #fff;
margin-bottom: 15px;
}
.text {
width: 275px;
height: 248px;
padding: 36px 30px 0;
margin-bottom: 10px;
text-align: center;
background: url("https://julyedu-cdn.oss-cn-beijing.aliyuncs.com/active19_1111/m/join-lottery-bg.png");
background-size: contain;
font-size: 14px;
.code {
color: #FF0000;
margin-bottom: 8px;
}
.time, .hint {
font-size: 12px;
color: #525C65;
}
.time {
margin-bottom: 20px;
}
.hint{
color: rgba(82, 92, 101, .8);
margin-bottom: 10px;
text-align: left;
}
.qr-code {
width: 90px;
height: 90px;
}
}
button {
width: 133px;
height: 30px;
background: #fff;
border-radius: 15px;
font-size: 14px;
color: #5327FA;
-webkit-appearance: none;
outline: none;
border: none;
}
}
.invite-popup {
.content {
display: flex;
......@@ -131,7 +59,7 @@
text-align: center;
}
.luck-draw__button {
.luck-draw__button, .prize-record {
display: block;
width: 106px;
height: 26px;
......@@ -149,3 +77,158 @@
outline: none;
}
.formal-draw-btns {
display: flex;
justify-content: center;
margin: 15px 0;
button {
margin: 0;
}
& button:first-child {
margin-right: 27px;
}
}
.prize-record-popup {
.title {
margin-bottom: 11px;
}
.record-container {
width: 250px;
.list-title {
display: flex;
border-radius: 2px 2px 0 0;
div {
width: 50%;
height: 33px;
line-height: 33px;
background: #edeeef;
text-align: center;
font-size: 12px;
color: #525C65;
}
}
ul {
border: 1px solid #CFDBE5;
border-bottom: 0;
li {
border-bottom: 1px solid #CFDBE5;
display: flex;
height: 33px;
line-height: 33px;
font-size: 12px;
& > div {
width: 50%;
text-align: center;
}
.time {
color: #525C65;
}
.name {
color: #09f;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
text-decoration: underline;
}
}
}
}
}
.address-mask {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(0, 0, 0, .6);
z-index: 100;
.address-popup {
position: absolute;
top: 179px;
left: 50%;
margin-left: -150px;
width: 300px;
height: 309px;
padding: 18px 25px;
background: #fff;
border-radius: 5px;
font-size: 12px;
.address-info-container {
position: relative;
padding-bottom: 24px;
text-align: center;
}
.title {
font-size: 16px;
color: #525C65;
text-align: center;
margin-bottom: 11px;
}
.tip {
color: #999;
margin-bottom: 15px;
}
input {
width: 250px;
height: 40px;
border: 1px solid rgba(221, 221, 221, 1);
-webkit-appearance: none;
outline: none;
margin-bottom: 10px;
padding-left: 10px;
&::placeholder {
color: #999;
}
}
button {
width: 141px;
height: 33px;
margin-top: 13px;
text-align: center;
line-height: 33px;
background: #ccced0;
color: #fff;
-webkit-appearance: none;
outline: none;
border: none;
border-radius: 16px;
font-size: 15px;
&.active{
background: #09f;
}
}
}
.iconfont{
position: absolute;
bottom: -50px;
left: 50%;
transform: translateX(-50%);
font-size: 33px;
color: #fff;
}
}
......@@ -46,6 +46,16 @@ class Live extends Component {
})
}
toLogin = () => {
const {history} = this.props
if (!getParam('version')) {
history.push('/passport')
} else {
SendMessageToApp("toLogin")
}
}
toLiveRoom = id => {
const {history, isLogin} = this.props
var _czc = _czc || []
......@@ -78,9 +88,9 @@ class Live extends Component {
}
makeSubscribe = id => {
const {user, history} = this.props
const {user} = this.props
if (user.hasError) {
history.push('/passport/login')
this.toLogin()
}
var name = '直播间id=' + id
......@@ -114,14 +124,15 @@ class Live extends Component {
})
}
})
} else {
} else if(data.errno == 4030 || data.errno == 4040){
}else {
Toast.info(data.msg, 2, null, false)
}
})
}
render() {
const {tabs, lives, today} = this.state
const {tabs, lives, todayIndex} = this.state
return (
<div id={'live'}>
<div className="title">
......@@ -131,14 +142,14 @@ class Live extends Component {
</div>
<div className="live-container">
{
today !== '' &&
todayIndex !== '' &&
<Tabs
tabs={tabs}
tabBarBackgroundColor={'transparent'}
tabBarActiveTextColor={'#5600DF'}
tabBarInactiveTextColor={'#FFF604'}
tabBarUnderlineStyle={{display: 'none'}}
initialPage={today}
initialPage={todayIndex}
swipeable={false}
>
{
......
......@@ -72,7 +72,7 @@ class BlessingRank extends Component {
<dl className="rank__table-header">
<dd className="rank__table-column">排名</dd>
<dd className="rank__table-column">用户</dd>
<dd className="rank__table-column">成绩</dd>
<dd className="rank__table-column">分数</dd>
<dd className="rank__table-column">奖品</dd>
</dl>
{
......
......@@ -30,7 +30,8 @@ class Passport extends Component {
const {location} = props
const {pathname, search, hash} = location
const from = location.state && location.state.from || {pathname: pathname, search: search, hash: hash}
this.redirectURL = window.location.origin + from.pathname + from.search + from.hash
const referrer = document.referrer
this.redirectURL = referrer ? referrer : window.location.origin + from.pathname + from.search + from.hash
this.state = {
loginWays: [
{
......
......@@ -32,7 +32,8 @@ class Login extends Component {
search: window.location.search,
hash: ''
};
const redirectURI = window.location.origin + from.pathname + from.search + from.hash;
const referrer = document.referrer
const redirectURI = referrer ? referrer : window.location.origin + from.pathname + from.search + from.hash;
switch (method) {
case '账号登录':
......
......@@ -182,6 +182,10 @@ export default [
component: loadable(() => import(/* webpackChunkName: 'blessing-preheat' */'@/components/blessingPreheat/index'))
},
{
path: '/blessingGetPrize',
component: loadable(() => import(/* webpackChunkName: 'blessing-getPrize' */'@/components/blessingGetPrize/index'))
},
{
path: '/prize-winner-list',
component: loadable(() => import(/* webpackChunkName: 'prize-winner-list' */'@/components/activity/prize-winner-list'))
},
......
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