├── .gitignore ├── LICENSE ├── README.md ├── doc ├── nginx │ ├── admin.conf │ ├── edu.conf │ └── teacher.conf ├── 前端后台管理系统 │ └── xueden-cloud-edu-admin │ │ ├── css │ │ ├── app.09dca2ae.css │ │ ├── chunk-07bca000.43e8c784.css │ │ ├── chunk-133f8338.ddd14869.css │ │ ├── chunk-14810c45.830a594f.css │ │ ├── chunk-182de44a.e98482d9.css │ │ ├── chunk-1a73066c.61403218.css │ │ ├── chunk-2234fef7.d86cd62d.css │ │ ├── chunk-264377c5.4747f80b.css │ │ ├── chunk-2798692e.982760c8.css │ │ ├── chunk-3fa2143c.f4a2c0c5.css │ │ ├── chunk-43dde0c8.cef63137.css │ │ ├── chunk-460c528e.5cf2eb81.css │ │ ├── chunk-4a644654.6e30dc44.css │ │ ├── chunk-52bdf396.f365b91b.css │ │ ├── chunk-5375d6b5.32e17b29.css │ │ ├── chunk-5a6dface.95f95b9c.css │ │ ├── chunk-5dec22c4.54405143.css │ │ ├── chunk-5e9e432a.422b1d88.css │ │ ├── chunk-607e1540.1f4242a6.css │ │ ├── chunk-63fb4f50.71e3bd96.css │ │ ├── chunk-64284902.74aabc1c.css │ │ ├── chunk-656fa14b.70303a75.css │ │ ├── chunk-6610c965.e8265c3c.css │ │ ├── chunk-702ff4d4.6e30dc44.css │ │ ├── chunk-7437450e.10eb8cfc.css │ │ ├── chunk-745c4089.eb107ab5.css │ │ ├── chunk-775655f0.38e5afc7.css │ │ ├── chunk-77e2587c.f1f9c1b3.css │ │ ├── chunk-7ed469f7.42d6bf17.css │ │ ├── chunk-834dd6ce.0ae2a6be.css │ │ ├── chunk-8e1c7356.861ccd7d.css │ │ ├── chunk-92adf284.f2c2d7b1.css │ │ ├── chunk-b2a51b1e.e8265c3c.css │ │ ├── chunk-bf89aaa4.eabaa9a6.css │ │ ├── chunk-c42d4f82.da84f3ab.css │ │ ├── chunk-c479c0ca.21a0ba3f.css │ │ ├── chunk-d0cc896c.2919cc93.css │ │ ├── chunk-e056c190.8d0d9159.css │ │ ├── chunk-f60b3d72.08e361da.css │ │ └── chunk-vendors.24bf1742.css │ │ ├── favicon.ico │ │ ├── fonts │ │ ├── element-icons.535877f5.woff │ │ └── element-icons.732389de.ttf │ │ ├── img │ │ ├── bg-smooth.1d1806df.jpg │ │ └── logo.7e4f5e27.png │ │ ├── index.html │ │ └── js │ │ ├── app.e498c09a.js │ │ ├── chunk-078252e7.63a7221b.js │ │ ├── chunk-07bca000.80ce9de6.js │ │ ├── chunk-12632d27.c58a8e93.js │ │ ├── chunk-133f8338.13eb5578.js │ │ ├── chunk-1382ce1e.8cb9bb3a.js │ │ ├── chunk-14810c45.cc9c547f.js │ │ ├── chunk-14b71b92.786f27cf.js │ │ ├── chunk-177d9fac.6dc5971e.js │ │ ├── chunk-182de44a.45f10b5a.js │ │ ├── chunk-1a73066c.012f451b.js │ │ ├── chunk-1ab4da0b.792f64ee.js │ │ ├── chunk-1e9617f6.b2bdb6dd.js │ │ ├── chunk-2234fef7.1a5100c0.js │ │ ├── chunk-244fdf40.973c4855.js │ │ ├── chunk-256211ba.da2ca441.js │ │ ├── chunk-264377c5.98e19983.js │ │ ├── chunk-2798692e.ddabb23b.js │ │ ├── chunk-2d0a3fee.22befa06.js │ │ ├── chunk-2d0a4972.a123f8e8.js │ │ ├── chunk-2d0ab821.d4c6344f.js │ │ ├── chunk-2d0b1db8.0d6ce394.js │ │ ├── chunk-2d0b26e8.3953c6e4.js │ │ ├── chunk-2d0b5d08.733e709a.js │ │ ├── chunk-2d0b8e3a.e21f18c2.js │ │ ├── chunk-2d0b8ed3.8fe047f6.js │ │ ├── chunk-2d0ba4d6.034b7536.js │ │ ├── chunk-2d0bd90f.cdba9fbc.js │ │ ├── chunk-2d0c0652.f04e4f28.js │ │ ├── chunk-2d0c4d6b.eab4917a.js │ │ ├── chunk-2d0c550f.6601ad8c.js │ │ ├── chunk-2d0c57c3.af781cb1.js │ │ ├── chunk-2d0c7a89.2231ba5e.js │ │ ├── chunk-2d0c8276.723605d9.js │ │ ├── chunk-2d0c82c4.39724830.js │ │ ├── chunk-2d0c8978.b3f0d00c.js │ │ ├── chunk-2d0c9206.06e21001.js │ │ ├── chunk-2d0c95b9.0688d727.js │ │ ├── chunk-2d0cb71e.ff382f53.js │ │ ├── chunk-2d0cbea3.bf9162fe.js │ │ ├── chunk-2d0cbec1.d2257762.js │ │ ├── chunk-2d0cfe28.488ceba2.js │ │ ├── chunk-2d0d3e23.6e6da70b.js │ │ ├── chunk-2d0d6ef7.1a30bc6d.js │ │ ├── chunk-2d0d8366.6a27867f.js │ │ ├── chunk-2d0db226.d46de77b.js │ │ ├── chunk-2d0dd7a1.72ce540a.js │ │ ├── chunk-2d0dddfe.cff6e0d6.js │ │ ├── chunk-2d0e22f7.3a906ba1.js │ │ ├── chunk-2d0e28c3.d4cf4641.js │ │ ├── chunk-2d0e4f94.ec3e2d53.js │ │ ├── chunk-2d0e55e1.0a5f5ce6.js │ │ ├── chunk-2d0e95b3.a4fb594a.js │ │ ├── chunk-2d0e9bee.be56a093.js │ │ ├── chunk-2d0efc9d.1556fe49.js │ │ ├── chunk-2d207d82.e33ddedd.js │ │ ├── chunk-2d2080c9.828f14ef.js │ │ ├── chunk-2d20901b.a3f1f2f0.js │ │ ├── chunk-2d20fe5a.bdc3e98b.js │ │ ├── chunk-2d213b08.2d2076ee.js │ │ ├── chunk-2d218436.b49d8f4e.js │ │ ├── chunk-2d21a3a5.c55e3a4d.js │ │ ├── chunk-2d21ad1c.b62f54de.js │ │ ├── chunk-2d21b869.7590cf6a.js │ │ ├── chunk-2d21d54d.59369fb5.js │ │ ├── chunk-2d21e6e8.65b3dd58.js │ │ ├── chunk-2d22275c.ce95b399.js │ │ ├── chunk-2d22638b.ba53f9e3.js │ │ ├── chunk-2d229093.d428eaff.js │ │ ├── chunk-2d229b7a.219780c6.js │ │ ├── chunk-2d22ba0e.544b0a90.js │ │ ├── chunk-2d22bf72.aa2795cc.js │ │ ├── chunk-2d22c11e.fc3df1bd.js │ │ ├── chunk-2d22c2e2.9e2247ec.js │ │ ├── chunk-2d22cc87.736a0699.js │ │ ├── chunk-2d22d433.3de9fb00.js │ │ ├── chunk-2d2304e4.aeeca2d8.js │ │ ├── chunk-372e6861.2e459356.js │ │ ├── chunk-3ac2c4c4.8ae6a855.js │ │ ├── chunk-3fa2143c.2e157f73.js │ │ ├── chunk-43dde0c8.5c1c0a0a.js │ │ ├── chunk-460c528e.c5e9b514.js │ │ ├── chunk-4855b539.1373af7e.js │ │ ├── chunk-4a644654.20931e4f.js │ │ ├── chunk-500fb6d0.4965dd81.js │ │ ├── chunk-52bdf396.6b72c5fe.js │ │ ├── chunk-5375d6b5.e0247dd6.js │ │ ├── chunk-54f85716.9fe94d3d.js │ │ ├── chunk-5a6dface.05889b79.js │ │ ├── chunk-5dec22c4.76a62870.js │ │ ├── chunk-5e9e432a.848cc80d.js │ │ ├── chunk-5f22b4c4.4f15a550.js │ │ ├── chunk-607e1540.f4b46c5c.js │ │ ├── chunk-63fb4f50.78cb3919.js │ │ ├── chunk-64284902.59f0fecb.js │ │ ├── chunk-656fa14b.842fda10.js │ │ ├── chunk-6610c965.d42bdda1.js │ │ ├── chunk-67a85b8d.e8e7ee03.js │ │ ├── chunk-68cd69fe.e2f19452.js │ │ ├── chunk-6adcd484.53778077.js │ │ ├── chunk-6f7137dc.e5efd0dd.js │ │ ├── chunk-702ff4d4.dc9af472.js │ │ ├── chunk-7437450e.5d00524d.js │ │ ├── chunk-745c4089.fd3f70fa.js │ │ ├── chunk-77237d83.5c1326b0.js │ │ ├── chunk-773e122f.9f26ca2b.js │ │ ├── chunk-775655f0.fe405529.js │ │ ├── chunk-77e2587c.2b4f0f49.js │ │ ├── chunk-794149e8.2986a9d7.js │ │ ├── chunk-7ed469f7.dac1dc10.js │ │ ├── chunk-7f24c078.c58d4b52.js │ │ ├── chunk-834dd6ce.140a14bc.js │ │ ├── chunk-8e1c7356.c912caa8.js │ │ ├── chunk-92251ad4.19f50b74.js │ │ ├── chunk-92adf284.30158000.js │ │ ├── chunk-9ff6f03c.a582e2bc.js │ │ ├── chunk-a7f45f56.0d6e6563.js │ │ ├── chunk-b2a51b1e.49075576.js │ │ ├── chunk-bf89aaa4.46b8c006.js │ │ ├── chunk-c1e06d68.df19e689.js │ │ ├── chunk-c42d4f82.b34c5a4c.js │ │ ├── chunk-c479c0ca.3aa1dc02.js │ │ ├── chunk-d0cc896c.1e0f3567.js │ │ ├── chunk-e056c190.eb0df91d.js │ │ ├── chunk-e19cdcac.80783001.js │ │ ├── chunk-f60b3d72.f0581826.js │ │ └── chunk-vendors.7c624a47.js ├── 前端讲师平台 │ └── xueden-edu-teacher-pro │ │ ├── edu-teacher │ │ ├── css │ │ │ ├── .gz │ │ │ ├── 10.172de88c.css │ │ │ ├── 11.a6b7698f.css │ │ │ ├── 14.43e39e3e.css │ │ │ ├── 15.f590130b.css │ │ │ ├── 2.e9308cd6.css │ │ │ ├── 7.e9fdd9e7.css │ │ │ ├── app.e8d94234.css │ │ │ ├── chunk-element.aef67138.css │ │ │ └── chunk-libs.902ebb66.css │ │ ├── fonts │ │ │ ├── element-icons.535877f5.woff │ │ │ └── element-icons.732389de.ttf │ │ ├── img │ │ │ ├── 404.a57b6f31.png │ │ │ ├── 404_cloud.0f4bc32b.png │ │ │ ├── login-bg.0899ffa6.jpg │ │ │ ├── logo.7e4f5e27.png │ │ │ └── success.5344f959.png │ │ └── js │ │ │ ├── .gz │ │ │ ├── 1.4a377ecd.js │ │ │ ├── 10.5bc02a57.js │ │ │ ├── 11.466855c4.js │ │ │ ├── 12.4cbe10b7.js │ │ │ ├── 13.ede93f3a.js │ │ │ ├── 14.8f83924d.js │ │ │ ├── 15.1dcf5a5e.js │ │ │ ├── 16.5502413c.js │ │ │ ├── 17.fcb5d0ca.js │ │ │ ├── 2.c9f059c1.js │ │ │ ├── 6.4869d41d.js │ │ │ ├── 7.e30d69a6.js │ │ │ ├── 8.96090d72.js │ │ │ ├── 8.96090d72.js.LICENSE.txt │ │ │ ├── 9.63f96336.js │ │ │ ├── 9.63f96336.js.LICENSE.txt │ │ │ ├── app.d142b729.js │ │ │ ├── chunk-element.c8180296.js │ │ │ ├── chunk-element.c8180296.js.LICENSE.txt │ │ │ ├── chunk-libs.d351e971.js │ │ │ └── chunk-libs.d351e971.js.LICENSE.txt │ │ ├── favicon.ico │ │ ├── index.html │ │ └── logo.png ├── 前端门户网站 │ └── xueden-cloud-edu-vue-portal │ │ ├── favicon.ico │ │ ├── index.html │ │ └── static │ │ ├── css │ │ ├── chunk-17b6ca1c.e7784500.css │ │ ├── chunk-239de5fa.0a6bb45e.css │ │ ├── chunk-23fe4d98.142ea4b3.css │ │ ├── chunk-2b677ceb.5013a2a1.css │ │ ├── chunk-4aa2c92c.10fd7b3d.css │ │ ├── chunk-4d7d9e6f.66e39468.css │ │ ├── chunk-4f451181.d89eeac3.css │ │ ├── chunk-54e65d12.6543776e.css │ │ ├── chunk-561705dd.fc9b470b.css │ │ ├── chunk-5f3b8532.6543776e.css │ │ ├── chunk-64999c0e.ead1f4a9.css │ │ ├── chunk-8dc88c32.69f2e108.css │ │ ├── chunk-95bd9908.71b2fde8.css │ │ ├── chunk-dc6a6eb2.0dec0cf9.css │ │ └── chunk-vendors.767f701c.css │ │ ├── fonts │ │ ├── element-icons.535877f5.woff │ │ └── element-icons.732389de.ttf │ │ ├── img │ │ ├── alipaylogo.a2b643ed.png │ │ ├── center_bg.37ad7aaa.png │ │ ├── d_bg.49a0195e.png │ │ ├── d_bg2.00e39d11.png │ │ ├── details_banner.363a142a.png │ │ ├── list_banner.8b77796f.png │ │ ├── list_bg.11718f49.png │ │ ├── logo.7e4f5e27.png │ │ ├── myqq.ac1db295.jpg │ │ ├── video_bg.906601d0.png │ │ └── wxpaylogo.7663fd15.png │ │ └── js │ │ ├── app.370376ab.js │ │ ├── chunk-17b6ca1c.6c4c1c9f.js │ │ ├── chunk-19210000.189107e3.js │ │ ├── chunk-239de5fa.118261a1.js │ │ ├── chunk-23fe4d98.e3951b65.js │ │ ├── chunk-2b677ceb.76a8a041.js │ │ ├── chunk-4aa2c92c.9b642109.js │ │ ├── chunk-4d7d9e6f.cb2741d9.js │ │ ├── chunk-4f451181.6bc10f1d.js │ │ ├── chunk-54e65d12.61877a12.js │ │ ├── chunk-561705dd.dfe88a7e.js │ │ ├── chunk-5f3b8532.45597033.js │ │ ├── chunk-64999c0e.b4342aa7.js │ │ ├── chunk-8dc88c32.5dd0bf94.js │ │ ├── chunk-95bd9908.1a253f92.js │ │ ├── chunk-dc6a6eb2.c0b2787f.js │ │ └── chunk-vendors.cd53ac87.js └── 数据库脚本 │ ├── moyu_cloud_edu.sql │ ├── moyu_cloud_vue3.sql │ └── nacos_xueden.sql ├── docker-compose.yml ├── docker环境搭建.md ├── images ├── 1-1.jpg ├── 1-2.jpg ├── 1-3.jpg ├── 1329491-20180301101804629-1054069840-1635641102445.png ├── 1329491-20180301101804629-1054069840.png ├── 1329491-20180301101828137-2115610170-1635641167031.png ├── 1329491-20180301101828137-2115610170-1635641235406.png ├── 1329491-20180301101828137-2115610170.png ├── 1329491-20180301101926085-1579993277-1635641258260.png ├── 1329491-20180301101926085-1579993277.png ├── 2-1.jpg ├── 2-2.jpg ├── 2-3.jpg ├── 2-4.jpg ├── 2-5.jpg ├── 3-1.jpg ├── 3-2.jpg ├── 3-3.jpg ├── 3-4.jpg ├── 3-5.jpg ├── 3-6.jpg ├── 3-7.jpg ├── 4-1.jpg ├── 4-2.jpg ├── 4-3.jpg ├── 4-4.jpg ├── 4-5.jpg ├── 4-6.jpg ├── image-20211101132225460.png ├── image-20211101132608141.png ├── image-20211101165005447.png ├── image-20211101165340550.png ├── image-20211101170546696.png ├── image-20211101200500651.png ├── image-20211101200635313.png ├── image-20211101200737174.png ├── image-20211101203746134.png ├── image-20211101203900908.png ├── image-20211101204846642.png ├── image-20211102182456846.png ├── image-20211102182544912.png ├── image-20211102182600009.png ├── logo.7e4f5e27.png ├── v1.jpg ├── v2-1635593960636.jpg ├── v2.jpg ├── v3-1635593969463.jpg ├── v3.jpg ├── wx.jpg └── zfb.jpg ├── moyu-api ├── moyu-api-edu │ ├── pom.xml │ └── src │ │ └── main │ │ └── java │ │ └── cn │ │ └── xueden │ │ └── edu │ │ └── api │ │ ├── RemoteMemberService.java │ │ └── factory │ │ └── RemoteMemberFallbackFactory.java ├── moyu-api-system │ ├── pom.xml │ └── src │ │ └── main │ │ └── java │ │ └── cn │ │ └── xueden │ │ └── system │ │ └── api │ │ ├── RemoteLogService.java │ │ ├── RemoteUserService.java │ │ ├── factory │ │ ├── RemoteLogFallbackFactory.java │ │ └── RemoteUserFallbackFactory.java │ │ └── model │ │ └── LoginUser.java └── pom.xml ├── moyu-auth ├── Dockerfile ├── pom.xml └── src │ └── main │ ├── java │ └── cn │ │ └── xueden │ │ └── auth │ │ ├── MoYuAuthApplication.java │ │ ├── controller │ │ └── TokenController.java │ │ ├── form │ │ ├── LoginBody.java │ │ └── LoginMemberBody.java │ │ └── service │ │ ├── EduMemberLoginService.java │ │ └── SysLoginService.java │ └── resources │ ├── banner.txt │ └── bootstrap.yml ├── moyu-common ├── moyu-common-alipay │ ├── pom.xml │ └── src │ │ └── main │ │ ├── java │ │ └── cn │ │ │ └── xueden │ │ │ └── alipay │ │ │ ├── config │ │ │ ├── AliPayConfig.java │ │ │ └── InitConfig.java │ │ │ ├── service │ │ │ └── AliPayService.java │ │ │ └── utils │ │ │ └── StringUtils.java │ │ └── resources │ │ └── META-INF │ │ └── spring.factories ├── moyu-common-alivod │ ├── pom.xml │ └── src │ │ └── main │ │ ├── java │ │ └── cn │ │ │ └── xueden │ │ │ ├── alivod │ │ │ ├── PutObjectProgressListener.java │ │ │ └── utils │ │ │ │ ├── AliyunVODSDKUtils.java │ │ │ │ └── ConstantPropertiesUtil.java │ │ │ ├── bss │ │ │ ├── AliQueryBill.java │ │ │ └── AliQueryOrders.java │ │ │ └── sms │ │ │ └── SendSms.java │ │ └── resources │ │ └── META-INF │ │ └── spring.factories ├── moyu-common-core │ ├── pom.xml │ └── src │ │ └── main │ │ └── java │ │ └── cn │ │ └── xueden │ │ └── common │ │ └── core │ │ ├── constant │ │ ├── CacheConstants.java │ │ ├── Constants.java │ │ ├── HttpStatus.java │ │ ├── ServiceNameConstants.java │ │ └── UserConstants.java │ │ ├── domain │ │ └── R.java │ │ ├── edu │ │ ├── domain │ │ │ ├── EduBanner.java │ │ │ ├── EduCashOutDetails.java │ │ │ ├── EduChapter.java │ │ │ ├── EduCourse.java │ │ │ ├── EduDailyReport.java │ │ │ ├── EduDealMoney.java │ │ │ ├── EduEnvironmenParam.java │ │ │ ├── EduIncomeDetails.java │ │ │ ├── EduKeyword.java │ │ │ ├── EduMember.java │ │ │ ├── EduMemberBuyCourse.java │ │ │ ├── EduMemberBuyVip.java │ │ │ ├── EduSubject.java │ │ │ ├── EduTeacher.java │ │ │ ├── EduVideo.java │ │ │ ├── EduVideoMember.java │ │ │ ├── EduVipType.java │ │ │ └── EduVipTypeSubject.java │ │ ├── dto │ │ │ └── CategoryDto.java │ │ ├── enums │ │ │ └── PayStatus.java │ │ └── vo │ │ │ ├── EduCashOutDetailsVO.java │ │ │ ├── EduChapterTreeNodeVO.java │ │ │ ├── EduChapterVO.java │ │ │ ├── EduCourseVO.java │ │ │ ├── EduIncomeDetailsVO.java │ │ │ ├── EduMemberBuyCourseVO.java │ │ │ ├── EduMemberVO.java │ │ │ ├── EduSubjectTreeNodeVO.java │ │ │ ├── EduSubjectVO.java │ │ │ ├── EduTeacherVO.java │ │ │ ├── EduVideoMemberVO.java │ │ │ ├── EduVideoVO.java │ │ │ ├── EduVipTypeSubjectVO.java │ │ │ ├── EduVipTypeVO.java │ │ │ ├── MyCourseVO.java │ │ │ ├── PageVO.java │ │ │ ├── PassWordVO.java │ │ │ ├── RegisterMemberVO.java │ │ │ └── SubjectTransferItemVO.java │ │ ├── enums │ │ └── UserStatus.java │ │ ├── exception │ │ ├── BaseException.java │ │ ├── CaptchaException.java │ │ ├── CustomException.java │ │ ├── DemoModeException.java │ │ ├── PreAuthorizeException.java │ │ └── UtilException.java │ │ ├── text │ │ ├── Convert.java │ │ └── UUID.java │ │ ├── utils │ │ ├── AddressUtil.java │ │ ├── Digests.java │ │ ├── EduChapterTreeBuilder.java │ │ ├── EduSubjectTreeBuilder.java │ │ ├── Encodes.java │ │ ├── GeetestLib.java │ │ ├── IPUtil.java │ │ ├── IdUtils.java │ │ ├── JWTUtils.java │ │ ├── LayerData.java │ │ ├── ListPageUtils.java │ │ ├── RestResponse.java │ │ ├── ServletUtils.java │ │ ├── StringUtils.java │ │ ├── ToolUtil.java │ │ ├── XudenStringUtils.java │ │ └── sign │ │ │ └── Base64.java │ │ └── web │ │ └── domain │ │ ├── AjaxResult.java │ │ ├── BaseEntity.java │ │ ├── DataEntity.java │ │ ├── SysLog.java │ │ ├── SysMenu.java │ │ ├── SysRole.java │ │ ├── SysUser.java │ │ └── TreeEntity.java ├── moyu-common-elasticsearch │ ├── pom.xml │ └── src │ │ └── main │ │ └── java │ │ └── cn │ │ └── xueden │ │ └── search │ │ └── domain │ │ └── CourseESItem.java ├── moyu-common-log │ ├── pom.xml │ └── src │ │ └── main │ │ ├── java │ │ └── cn │ │ │ └── xueden │ │ │ └── common │ │ │ └── log │ │ │ ├── annotation │ │ │ ├── XudenOtherSystemLog.java │ │ │ └── XudenSysLog.java │ │ │ └── aspect │ │ │ ├── OtherWebLogAspect.java │ │ │ └── WebLogAspect.java │ │ └── resources │ │ └── META-INF │ │ └── spring.factories ├── moyu-common-mybatis-plus │ ├── pom.xml │ └── src │ │ └── main │ │ ├── java │ │ └── cn │ │ │ └── xueden │ │ │ └── mybatis │ │ │ └── config │ │ │ ├── MybatisPlusConfig.java │ │ │ ├── SpringUtil.java │ │ │ └── SysMetaObjectHandler.java │ │ └── resources │ │ └── META-INF │ │ └── spring.factories ├── moyu-common-redis │ ├── pom.xml │ └── src │ │ └── main │ │ ├── java │ │ └── cn │ │ │ └── xueden │ │ │ └── common │ │ │ └── redis │ │ │ ├── configure │ │ │ ├── FastJson2JsonRedisSerializer.java │ │ │ └── RedisConfig.java │ │ │ ├── service │ │ │ └── RedisService.java │ │ │ └── utils │ │ │ └── CacheUtils.java │ │ └── resources │ │ └── META-INF │ │ └── spring.factories ├── moyu-common-security │ ├── pom.xml │ └── src │ │ └── main │ │ ├── java │ │ └── cn │ │ │ └── xueden │ │ │ └── common │ │ │ └── security │ │ │ ├── annotation │ │ │ ├── EnableCustomConfig.java │ │ │ ├── EnableMoYuFeignClients.java │ │ │ └── PreAuthorize.java │ │ │ ├── aspect │ │ │ └── PreAuthorizeAspect.java │ │ │ ├── config │ │ │ └── ApplicationConfig.java │ │ │ ├── handler │ │ │ └── GlobalExceptionHandler.java │ │ │ ├── service │ │ │ └── TokenService.java │ │ │ └── utils │ │ │ └── SecurityUtils.java │ │ └── resources │ │ └── META-INF │ │ └── spring.factories ├── moyu-common-swagger │ ├── pom.xml │ └── src │ │ └── main │ │ └── java │ │ └── cn │ │ └── xueden │ │ └── common │ │ └── swagger │ │ ├── annotation │ │ └── EnableCustomSwagger2.java │ │ └── config │ │ ├── SwaggerAutoConfiguration.java │ │ └── SwaggerProperties.java ├── moyu-common-wechatpay │ ├── pom.xml │ └── src │ │ └── main │ │ ├── java │ │ └── cn │ │ │ └── xueden │ │ │ └── wechat │ │ │ ├── config │ │ │ └── WechatConfig.java │ │ │ ├── dto │ │ │ ├── AmountDto.java │ │ │ └── WxOrderDto.java │ │ │ ├── service │ │ │ └── WxPayService.java │ │ │ └── utils │ │ │ └── WxPayUtil.java │ │ └── resources │ │ └── META-INF │ │ └── spring.factories └── pom.xml ├── moyu-gateway ├── Dockerfile ├── pom.xml └── src │ └── main │ ├── java │ └── cn │ │ └── xueden │ │ └── gateway │ │ ├── MoYuGatewayApplication.java │ │ ├── config │ │ ├── CaptchaConfig.java │ │ ├── GatewayConfig.java │ │ ├── GeetestConfig.java │ │ ├── GeetestLib.java │ │ ├── KaptchaTextCreator.java │ │ ├── RouterFunctionConfiguration.java │ │ └── properties │ │ │ └── IgnoreWhiteProperties.java │ │ ├── filter │ │ ├── AuthFilter.java │ │ ├── CacheRequestFilter.java │ │ └── ValidateCodeFilter.java │ │ ├── handler │ │ ├── GeetestHandler.java │ │ ├── SentinelFallbackHandler.java │ │ └── ValidateCodeHandler.java │ │ ├── response │ │ └── ErrorResponse.java │ │ └── service │ │ ├── IValidateCodeService.java │ │ ├── TestService.java │ │ └── impl │ │ └── ValidateCodeServiceImpl.java │ └── resources │ ├── banner.txt │ └── bootstrap.yml ├── moyu-modules ├── moyu-edu │ ├── Dockerfile │ ├── pom.xml │ └── src │ │ └── main │ │ ├── java │ │ └── cn │ │ │ └── xueden │ │ │ └── edu │ │ │ ├── MoYuEduApplication.java │ │ │ ├── alivod │ │ │ └── AliVodCategoryService.java │ │ │ ├── config │ │ │ ├── GeetestConfig.java │ │ │ └── WebSocketConfig.java │ │ │ ├── controller │ │ │ ├── EduChapterController.java │ │ │ ├── EduCourseController.java │ │ │ ├── EduEnvironmenParamController.java │ │ │ ├── EduMemberController.java │ │ │ ├── EduSubjectController.java │ │ │ ├── EduTeacherController.java │ │ │ ├── EduVideoController.java │ │ │ ├── EduVipTypeController.java │ │ │ ├── FileUploadController.java │ │ │ ├── VodController.java │ │ │ ├── front │ │ │ │ ├── EduDetailsController.java │ │ │ │ ├── EduIndexController.java │ │ │ │ ├── EduKeywordController.java │ │ │ │ ├── EduListController.java │ │ │ │ ├── EduMemberCenterController.java │ │ │ │ ├── EduPayController.java │ │ │ │ ├── EduPlayVideoController.java │ │ │ │ ├── EduSearchController.java │ │ │ │ └── RegisterMemberController.java │ │ │ └── teacher │ │ │ │ ├── EduTeacherCashOutDetailsController.java │ │ │ │ ├── EduTeacherCouseController.java │ │ │ │ ├── EduTeacherIncomeDetailsController.java │ │ │ │ └── EduTeacherIndexController.java │ │ │ ├── converter │ │ │ ├── EduChapterConverter.java │ │ │ ├── EduCourseConverter.java │ │ │ ├── EduIncomeDetailsConverter.java │ │ │ ├── EduMemberBuyCourseConverter.java │ │ │ ├── EduMemberConverter.java │ │ │ ├── EduSubjectConverter.java │ │ │ ├── EduVideoConverter.java │ │ │ ├── EduVideoMemberConverter.java │ │ │ └── EduVipTypeConverter.java │ │ │ ├── dao │ │ │ ├── EduBannerDao.java │ │ │ ├── EduCashOutDetailsDao.java │ │ │ ├── EduChapterDao.java │ │ │ ├── EduCourseDao.java │ │ │ ├── EduCourseElasticsearchDao.java │ │ │ ├── EduDailyReportDao.java │ │ │ ├── EduDealMoneyDao.java │ │ │ ├── EduEnvironmenParamDao.java │ │ │ ├── EduIncomeDetailsDao.java │ │ │ ├── EduKeywordDao.java │ │ │ ├── EduMemberBuyCourseDao.java │ │ │ ├── EduMemberBuyVipDao.java │ │ │ ├── EduMemberDao.java │ │ │ ├── EduSubjectDao.java │ │ │ ├── EduTeacherDao.java │ │ │ ├── EduVideoDao.java │ │ │ ├── EduVideoMemberDao.java │ │ │ ├── EduVipTypeDao.java │ │ │ └── EduVipTypeSubjectDao.java │ │ │ ├── dto │ │ │ ├── GeetestDto.java │ │ │ ├── PayTypeDto.java │ │ │ ├── WxCiphertextDto.java │ │ │ ├── WxResourceDto.java │ │ │ └── WxResultDto.java │ │ │ ├── service │ │ │ ├── IEduBannerService.java │ │ │ ├── IEduCashOutDetailsService.java │ │ │ ├── IEduChapterService.java │ │ │ ├── IEduCourseService.java │ │ │ ├── IEduDailyReportService.java │ │ │ ├── IEduDealMoneyService.java │ │ │ ├── IEduEnvironmenParamService.java │ │ │ ├── IEduIncomeDetailsService.java │ │ │ ├── IEduKeywordService.java │ │ │ ├── IEduMemberBuyCourseService.java │ │ │ ├── IEduMemberBuyVipService.java │ │ │ ├── IEduMemberService.java │ │ │ ├── IEduSearchService.java │ │ │ ├── IEduSubjectService.java │ │ │ ├── IEduTeacherService.java │ │ │ ├── IEduVideoMemberService.java │ │ │ ├── IEduVideoService.java │ │ │ ├── IEduVipTypeService.java │ │ │ ├── IEduVipTypeSubjectService.java │ │ │ ├── IStatisticsService.java │ │ │ ├── IVodService.java │ │ │ └── impl │ │ │ │ ├── EduBannerServiceImpl.java │ │ │ │ ├── EduCashOutDetailsServiceImpl.java │ │ │ │ ├── EduChapterServiceImpl.java │ │ │ │ ├── EduCourseServiceImpl.java │ │ │ │ ├── EduDailyReportServiceImpl.java │ │ │ │ ├── EduDealMoneyServiceImpl.java │ │ │ │ ├── EduEnvironmenParamServiceImpl.java │ │ │ │ ├── EduIncomeDetailsServiceImpl.java │ │ │ │ ├── EduKeywordServiceImpl.java │ │ │ │ ├── EduMemberBuyCourseServiceImpl.java │ │ │ │ ├── EduMemberBuyVipServiceImpl.java │ │ │ │ ├── EduMemberServiceImpl.java │ │ │ │ ├── EduSearchServiceImpl.java │ │ │ │ ├── EduSubjectServiceImpl.java │ │ │ │ ├── EduTeacherServiceImpl.java │ │ │ │ ├── EduVideoMemberServiceImpl.java │ │ │ │ ├── EduVideoServiceImpl.java │ │ │ │ ├── EduVipTypeServiceImpl.java │ │ │ │ ├── EduVipTypeSubjectServiceImpl.java │ │ │ │ ├── StatisticsServiceImpl.java │ │ │ │ └── VodServiceImpl.java │ │ │ ├── task │ │ │ └── DailyScheduledTask.java │ │ │ └── websocket │ │ │ └── WebSocketServer.java │ │ └── resources │ │ ├── banner.txt │ │ ├── bootstrap.yml │ │ └── ip2region │ │ └── ip2region.db ├── moyu-system │ ├── Dockerfile │ ├── pom.xml │ └── src │ │ └── main │ │ ├── java │ │ └── cn │ │ │ └── xueden │ │ │ └── system │ │ │ ├── MoYuSystemApplication.java │ │ │ ├── controller │ │ │ ├── BaseController.java │ │ │ ├── LogController.java │ │ │ ├── MenuController.java │ │ │ ├── RoleController.java │ │ │ └── UserConteroller.java │ │ │ ├── dao │ │ │ ├── LogDao.java │ │ │ ├── MenuDao.java │ │ │ ├── RoleDao.java │ │ │ └── UserDao.java │ │ │ ├── entity │ │ │ ├── Log.java │ │ │ └── vo │ │ │ │ ├── ShowMenu.java │ │ │ │ ├── TreeMenu.java │ │ │ │ └── ZtreeVO.java │ │ │ └── service │ │ │ ├── LogService.java │ │ │ ├── MenuService.java │ │ │ ├── RoleService.java │ │ │ ├── UserService.java │ │ │ └── impl │ │ │ ├── LogServiceImpl.java │ │ │ ├── MenuServiceImpl.java │ │ │ ├── RoleServiceImpl.java │ │ │ └── UserServiceImpl.java │ │ └── resources │ │ ├── banner.txt │ │ ├── bootstrap.yml │ │ ├── ip2region │ │ └── ip2region.db │ │ ├── log │ │ └── logback.xml │ │ └── mapper │ │ ├── LogMapper.xml │ │ ├── MenuMapper.xml │ │ ├── RoleMapper.xml │ │ └── UserMapper.xml └── pom.xml ├── pom.xml ├── 开发手册.md └── 微服务docker部署手册.md /.gitignore: -------------------------------------------------------------------------------- 1 | target/ 2 | pom.xml.tag 3 | pom.xml.releaseBackup 4 | pom.xml.versionsBackup 5 | pom.xml.next 6 | release.properties 7 | dependency-reduced-pom.xml 8 | buildNumber.properties 9 | .mvn/timing.properties 10 | # https://github.com/takari/maven-wrapper#usage-without-binary-jar 11 | .mvn/wrapper/maven-wrapper.jar 12 | ### IntelliJ IDEA ### 13 | .idea 14 | *.iws 15 | *.iml 16 | *.ipr 17 | ###################################################################### 18 | # Others 19 | *.log 20 | *.xml.versionsBackup 21 | 22 | !*/build/*.java 23 | !*/build/*.html 24 | !*/build/*.xml -------------------------------------------------------------------------------- /doc/前端后台管理系统/xueden-cloud-edu-admin/css/chunk-07bca000.43e8c784.css: -------------------------------------------------------------------------------- 1 | .main-conent-screen[data-v-3d5f0381]{display:flex;flex-direction:column;height:calc(100% - 98px);border-radius:4px;background-color:#fff}.main-conent-screen .screen-header[data-v-3d5f0381]{padding:20px;min-height:33px}.main-conent-screen .screen-footer[data-v-3d5f0381]{padding:20px;min-height:32px;text-align:right}.main-conent-screen .screen-conent[data-v-3d5f0381]{flex:1;padding:0 20px;overflow:hidden}.main-conent-screen .screen-padding[data-v-3d5f0381]{padding-top:20px}[data-v-e662cfc2] .el-input-number .el-input__inner{text-align:left}.content[data-v-6cb3dcae]{padding:20px;position:absolute;top:56px;left:0;right:0;bottom:55px;overflow:auto} -------------------------------------------------------------------------------- /doc/前端后台管理系统/xueden-cloud-edu-admin/css/chunk-133f8338.ddd14869.css: -------------------------------------------------------------------------------- 1 | .homeBoxCard[data-v-72b9a3c3]{margin-bottom:24px}.homeBoxCard[data-v-72b9a3c3] .el-card__header{padding-left:12px;padding-right:12px}.homeBoxCard[data-v-72b9a3c3] .el-card__body{padding:12px;font-size:14px;line-height:1.5715}.homeBoxCard[data-v-72b9a3c3] .el-divider{margin:8px 0}.homeBoxCard .num[data-v-72b9a3c3]{font-size:30px;color:#515a6e}.homeBoxCard .height40[data-v-72b9a3c3]{height:40px} -------------------------------------------------------------------------------- /doc/前端后台管理系统/xueden-cloud-edu-admin/css/chunk-14810c45.830a594f.css: -------------------------------------------------------------------------------- 1 | .main-conent-screen[data-v-3d5f0381]{display:flex;flex-direction:column;height:calc(100% - 98px);border-radius:4px;background-color:#fff}.main-conent-screen .screen-header[data-v-3d5f0381]{padding:20px;min-height:33px}.main-conent-screen .screen-footer[data-v-3d5f0381]{padding:20px;min-height:32px;text-align:right}.main-conent-screen .screen-conent[data-v-3d5f0381]{flex:1;padding:0 20px;overflow:hidden}.main-conent-screen .screen-padding[data-v-3d5f0381]{padding-top:20px}.content[data-v-2cf5d7b1]{padding:20px;position:absolute;top:56px;left:0;right:0;bottom:55px;overflow:auto} -------------------------------------------------------------------------------- /doc/前端后台管理系统/xueden-cloud-edu-admin/css/chunk-182de44a.e98482d9.css: -------------------------------------------------------------------------------- 1 | .content[data-v-62232b2a]{padding:20px;position:absolute;top:56px;left:0;right:0;bottom:55px;overflow:auto} -------------------------------------------------------------------------------- /doc/前端后台管理系统/xueden-cloud-edu-admin/css/chunk-1a73066c.61403218.css: -------------------------------------------------------------------------------- 1 | .avatar-uploader .el-upload[data-v-61e23c11]{border:1px dashed #d9d9d9;border-radius:6px;cursor:pointer;position:relative;overflow:hidden}.avatar-uploader .el-upload[data-v-61e23c11]:hover{border-color:#409eff}.avatar-uploader-icon[data-v-61e23c11]{font-size:28px;color:#8c939d;width:178px;height:178px;line-height:178px;text-align:center}.avatar[data-v-61e23c11]{width:178px;height:178px;display:block} -------------------------------------------------------------------------------- /doc/前端后台管理系统/xueden-cloud-edu-admin/css/chunk-2234fef7.d86cd62d.css: -------------------------------------------------------------------------------- 1 | .main-conent-screen[data-v-3d5f0381]{display:flex;flex-direction:column;height:calc(100% - 98px);border-radius:4px;background-color:#fff}.main-conent-screen .screen-header[data-v-3d5f0381]{padding:20px;min-height:33px}.main-conent-screen .screen-footer[data-v-3d5f0381]{padding:20px;min-height:32px;text-align:right}.main-conent-screen .screen-conent[data-v-3d5f0381]{flex:1;padding:0 20px;overflow:hidden}.main-conent-screen .screen-padding[data-v-3d5f0381]{padding-top:20px}.content[data-v-62232b2a]{padding:20px;position:absolute;top:56px;left:0;right:0;bottom:55px;overflow:auto}.avatar[data-v-c7967f00]{width:32px;height:32px;overflow:hidden;border-radius:50%;-webkit-border-radius:50%;-moz-border-radius:50%} -------------------------------------------------------------------------------- /doc/前端后台管理系统/xueden-cloud-edu-admin/css/chunk-264377c5.4747f80b.css: -------------------------------------------------------------------------------- 1 | .form-basic-width100.el-input__inner{width:100%} -------------------------------------------------------------------------------- /doc/前端后台管理系统/xueden-cloud-edu-admin/css/chunk-2798692e.982760c8.css: -------------------------------------------------------------------------------- 1 | .document-editor[data-v-0f9088c6]{border:1px solid var(--ck-color-base-border);border-radius:var(--ck-border-radius);display:flex;flex-flow:column nowrap}.document-editor[data-v-0f9088c6] .ck.ck-toolbar{z-index:1;box-shadow:0 0 5px rgba(0,0,0,.2);border-bottom:1px solid var(--ck-color-toolbar-border);border:0;border-radius:0}.document-editor[data-v-0f9088c6] .ck-content{min-height:300px;line-height:normal} -------------------------------------------------------------------------------- /doc/前端后台管理系统/xueden-cloud-edu-admin/css/chunk-3fa2143c.f4a2c0c5.css: -------------------------------------------------------------------------------- 1 | .main-conent-screen[data-v-3d5f0381]{display:flex;flex-direction:column;height:calc(100% - 98px);border-radius:4px;background-color:#fff}.main-conent-screen .screen-header[data-v-3d5f0381]{padding:20px;min-height:33px}.main-conent-screen .screen-footer[data-v-3d5f0381]{padding:20px;min-height:32px;text-align:right}.main-conent-screen .screen-conent[data-v-3d5f0381]{flex:1;padding:0 20px;overflow:hidden}.main-conent-screen .screen-padding[data-v-3d5f0381]{padding-top:20px}.content[data-v-793b470a]{padding:20px;position:absolute;top:56px;left:0;right:0;bottom:55px;overflow:auto} -------------------------------------------------------------------------------- /doc/前端后台管理系统/xueden-cloud-edu-admin/css/chunk-43dde0c8.cef63137.css: -------------------------------------------------------------------------------- 1 | .main-conent-screen[data-v-3d5f0381]{display:flex;flex-direction:column;height:calc(100% - 98px);border-radius:4px;background-color:#fff}.main-conent-screen .screen-header[data-v-3d5f0381]{padding:20px;min-height:33px}.main-conent-screen .screen-footer[data-v-3d5f0381]{padding:20px;min-height:32px;text-align:right}.main-conent-screen .screen-conent[data-v-3d5f0381]{flex:1;padding:0 20px;overflow:hidden}.main-conent-screen .screen-padding[data-v-3d5f0381]{padding-top:20px}.content[data-v-b368c214]{padding:20px;position:absolute;top:56px;left:0;right:0;bottom:55px;overflow:auto} -------------------------------------------------------------------------------- /doc/前端后台管理系统/xueden-cloud-edu-admin/css/chunk-460c528e.5cf2eb81.css: -------------------------------------------------------------------------------- 1 | .status[data-v-31509e91]{padding-left:20px}.status[data-v-31509e91] .el-badge__content.is-fixed.is-dot{top:12px;left:-8px} -------------------------------------------------------------------------------- /doc/前端后台管理系统/xueden-cloud-edu-admin/css/chunk-4a644654.6e30dc44.css: -------------------------------------------------------------------------------- 1 | .icon-body[data-v-442be226]{width:100%;padding:10px}.icon-body .icon-list[data-v-442be226]{height:200px;overflow-y:scroll}.icon-body .icon-list div[data-v-442be226]{height:30px;line-height:30px;margin-bottom:-5px;cursor:pointer;width:33%;float:left}.icon-body .icon-list span[data-v-442be226]{display:inline-block;vertical-align:-.15em;fill:currentColor;overflow:hidden;font-size:14px;padding-left:6px} -------------------------------------------------------------------------------- /doc/前端后台管理系统/xueden-cloud-edu-admin/css/chunk-52bdf396.f365b91b.css: -------------------------------------------------------------------------------- 1 | .homeBoxCard[data-v-e56ab0f2]{margin-bottom:24px}.homeBoxCard[data-v-e56ab0f2] .el-card__header{padding-left:12px;padding-right:12px}.homeBoxCard[data-v-e56ab0f2] .el-card__body{padding:12px;font-size:14px;line-height:1.5715}.homeBoxCard[data-v-e56ab0f2] .el-divider{margin:8px 0}.homeBoxCard .num[data-v-e56ab0f2]{font-size:30px;color:#515a6e}.homeBoxCard .height40[data-v-e56ab0f2]{height:40px}.homeBoxCard .UserText[data-v-e56ab0f2]{padding-top:20px}.homeBoxCard .color19be6b[data-v-e56ab0f2]{color:#19be6b}.homeBoxCard .colored4014[data-v-e56ab0f2]{color:#ed4014} -------------------------------------------------------------------------------- /doc/前端后台管理系统/xueden-cloud-edu-admin/css/chunk-5375d6b5.32e17b29.css: -------------------------------------------------------------------------------- 1 | .avatar-uploader .el-upload[data-v-f5c032fa]{border:1px dashed #d9d9d9;border-radius:6px;cursor:pointer;position:relative;overflow:hidden}.avatar-uploader .el-upload[data-v-f5c032fa]:hover{border-color:#409eff}.avatar-uploader-icon[data-v-f5c032fa]{font-size:28px;color:#8c939d;width:178px;height:178px;line-height:178px;text-align:center}.avatar[data-v-f5c032fa]{width:178px;height:178px;display:block} -------------------------------------------------------------------------------- /doc/前端后台管理系统/xueden-cloud-edu-admin/css/chunk-5a6dface.95f95b9c.css: -------------------------------------------------------------------------------- 1 | .homeBoxCard[data-v-321cb074]{margin-bottom:24px}.homeBoxCard[data-v-321cb074] .el-card__header{padding-left:12px;padding-right:12px}.homeBoxCard[data-v-321cb074] .el-card__body{padding:12px;font-size:14px;line-height:1.5715}.homeBoxCard[data-v-321cb074] .el-divider{margin:8px 0}.homeBoxCard .num[data-v-321cb074]{font-size:30px;color:#515a6e}.homeBoxCard .height440[data-v-321cb074]{height:440px} -------------------------------------------------------------------------------- /doc/前端后台管理系统/xueden-cloud-edu-admin/css/chunk-5dec22c4.54405143.css: -------------------------------------------------------------------------------- 1 | .content[data-v-6cb3dcae]{padding:20px;position:absolute;top:56px;left:0;right:0;bottom:55px;overflow:auto} -------------------------------------------------------------------------------- /doc/前端后台管理系统/xueden-cloud-edu-admin/css/chunk-5e9e432a.422b1d88.css: -------------------------------------------------------------------------------- 1 | .content[data-v-b1897434]{padding:20px;position:absolute;top:56px;left:0;right:0;bottom:55px;overflow:auto} -------------------------------------------------------------------------------- /doc/前端后台管理系统/xueden-cloud-edu-admin/css/chunk-607e1540.1f4242a6.css: -------------------------------------------------------------------------------- 1 | .main[data-v-0b22bba4]{flex:none;width:248px;padding:36px;margin:0 auto;border-radius:4px;background-color:hsla(0,0%,100%,.2)}.main .title[data-v-0b22bba4]{font-size:28px;margin-top:0;margin-bottom:30px;text-align:center;color:#fff}.main .submit[data-v-0b22bba4]{width:100%} -------------------------------------------------------------------------------- /doc/前端后台管理系统/xueden-cloud-edu-admin/css/chunk-63fb4f50.71e3bd96.css: -------------------------------------------------------------------------------- 1 | .content[data-v-b368c214]{padding:20px;position:absolute;top:56px;left:0;right:0;bottom:55px;overflow:auto} -------------------------------------------------------------------------------- /doc/前端后台管理系统/xueden-cloud-edu-admin/css/chunk-64284902.74aabc1c.css: -------------------------------------------------------------------------------- 1 | .content[data-v-2cf5d7b1]{padding:20px;position:absolute;top:56px;left:0;right:0;bottom:55px;overflow:auto} -------------------------------------------------------------------------------- /doc/前端后台管理系统/xueden-cloud-edu-admin/css/chunk-6610c965.e8265c3c.css: -------------------------------------------------------------------------------- 1 | .main-conent-screen[data-v-3d5f0381]{display:flex;flex-direction:column;height:calc(100% - 98px);border-radius:4px;background-color:#fff}.main-conent-screen .screen-header[data-v-3d5f0381]{padding:20px;min-height:33px}.main-conent-screen .screen-footer[data-v-3d5f0381]{padding:20px;min-height:32px;text-align:right}.main-conent-screen .screen-conent[data-v-3d5f0381]{flex:1;padding:0 20px;overflow:hidden}.main-conent-screen .screen-padding[data-v-3d5f0381]{padding-top:20px} -------------------------------------------------------------------------------- /doc/前端后台管理系统/xueden-cloud-edu-admin/css/chunk-702ff4d4.6e30dc44.css: -------------------------------------------------------------------------------- 1 | .icon-body[data-v-442be226]{width:100%;padding:10px}.icon-body .icon-list[data-v-442be226]{height:200px;overflow-y:scroll}.icon-body .icon-list div[data-v-442be226]{height:30px;line-height:30px;margin-bottom:-5px;cursor:pointer;width:33%;float:left}.icon-body .icon-list span[data-v-442be226]{display:inline-block;vertical-align:-.15em;fill:currentColor;overflow:hidden;font-size:14px;padding-left:6px} -------------------------------------------------------------------------------- /doc/前端后台管理系统/xueden-cloud-edu-admin/css/chunk-7437450e.10eb8cfc.css: -------------------------------------------------------------------------------- 1 | .list[data-v-a3260c0c]{padding:10px 20px;width:100px;height:100px;float:left;text-align:center;font-size:30px;overflow:hidden}.list span[data-v-a3260c0c]{display:block;font-size:16px;margin-top:10px} -------------------------------------------------------------------------------- /doc/前端后台管理系统/xueden-cloud-edu-admin/css/chunk-745c4089.eb107ab5.css: -------------------------------------------------------------------------------- 1 | .main-conent-detail[data-v-c742c6f2]{box-sizing:border-box}.main-conent-detail .main-conent-detail-title[data-v-c742c6f2]{margin-bottom:16px;color:#303133;font-size:16px;font-weight:700}.main-conent-detail .main-conent-detail-content[data-v-c742c6f2],.main-conent-detail .main-conent-detail-lable[data-v-c742c6f2]{display:table-cell;padding-bottom:16px;line-height:20px;font-size:14px}.main-conent-detail .main-conent-detail-lable[data-v-c742c6f2]{white-space:nowrap}.main-conent-detail .main-conent-detail-content[data-v-c742c6f2]{width:100%;word-wrap:break-word;word-break:break-all}.status[data-v-c742c6f2]{padding-left:20px}.status[data-v-c742c6f2] .el-badge__content.is-fixed.is-dot{top:12px;left:-8px} -------------------------------------------------------------------------------- /doc/前端后台管理系统/xueden-cloud-edu-admin/css/chunk-77e2587c.f1f9c1b3.css: -------------------------------------------------------------------------------- 1 | .demo-table-expand[data-v-3dfddf9a]{font-size:0}.demo-table-expand label[data-v-3dfddf9a]{width:70px;color:#99a9bf}.demo-table-expand .el-form-item[data-v-3dfddf9a]{margin-right:0;margin-bottom:0;width:100%}.demo-table-expand .el-form-item__content[data-v-3dfddf9a]{font-size:12px}.demo-table-expand .el-form-item__label[data-v-3dfddf9a]{font-weight:700!important} -------------------------------------------------------------------------------- /doc/前端后台管理系统/xueden-cloud-edu-admin/css/chunk-7ed469f7.42d6bf17.css: -------------------------------------------------------------------------------- 1 | .content[data-v-3c315f06]{padding:20px;position:absolute;top:56px;left:0;right:0;bottom:55px;overflow:auto} -------------------------------------------------------------------------------- /doc/前端后台管理系统/xueden-cloud-edu-admin/css/chunk-834dd6ce.0ae2a6be.css: -------------------------------------------------------------------------------- 1 | .homeBoxCard[data-v-4b0654fc]{margin-bottom:24px}.homeBoxCard[data-v-4b0654fc] .el-card__header{padding-left:12px;padding-right:12px}.homeBoxCard[data-v-4b0654fc] .el-card__body{padding:12px;font-size:14px;line-height:1.5715}.homeBoxCard[data-v-4b0654fc] .el-divider{margin:8px 0}.homeBoxCard .num[data-v-4b0654fc]{font-size:30px;color:#515a6e}.homeBoxCard .height40[data-v-4b0654fc]{height:40px} -------------------------------------------------------------------------------- /doc/前端后台管理系统/xueden-cloud-edu-admin/css/chunk-8e1c7356.861ccd7d.css: -------------------------------------------------------------------------------- 1 | .content[data-v-793b470a]{padding:20px;position:absolute;top:56px;left:0;right:0;bottom:55px;overflow:auto} -------------------------------------------------------------------------------- /doc/前端后台管理系统/xueden-cloud-edu-admin/css/chunk-92adf284.f2c2d7b1.css: -------------------------------------------------------------------------------- 1 | .homeBoxCard[data-v-7790454f]{margin-bottom:24px}.homeBoxCard[data-v-7790454f] .el-card__header{padding-left:12px;padding-right:12px}.homeBoxCard[data-v-7790454f] .el-card__body{padding:12px;font-size:14px;line-height:1.5715}.homeBoxCard[data-v-7790454f] .el-divider{margin:8px 0}.homeBoxCard .num[data-v-7790454f]{font-size:30px;color:#515a6e}.homeBoxCard .height40[data-v-7790454f]{height:40px} -------------------------------------------------------------------------------- /doc/前端后台管理系统/xueden-cloud-edu-admin/css/chunk-b2a51b1e.e8265c3c.css: -------------------------------------------------------------------------------- 1 | .main-conent-screen[data-v-3d5f0381]{display:flex;flex-direction:column;height:calc(100% - 98px);border-radius:4px;background-color:#fff}.main-conent-screen .screen-header[data-v-3d5f0381]{padding:20px;min-height:33px}.main-conent-screen .screen-footer[data-v-3d5f0381]{padding:20px;min-height:32px;text-align:right}.main-conent-screen .screen-conent[data-v-3d5f0381]{flex:1;padding:0 20px;overflow:hidden}.main-conent-screen .screen-padding[data-v-3d5f0381]{padding-top:20px} -------------------------------------------------------------------------------- /doc/前端后台管理系统/xueden-cloud-edu-admin/css/chunk-bf89aaa4.eabaa9a6.css: -------------------------------------------------------------------------------- 1 | .main-conent-detail-content[data-v-21dec710],.main-conent-detail-lable[data-v-21dec710]{display:table-cell;padding-bottom:16px;line-height:20px;font-size:14px}.main-conent-detail-lable[data-v-21dec710]{white-space:nowrap}.main-conent-detail-content[data-v-21dec710]{width:100%;word-wrap:break-word;word-break:break-all}.status[data-v-21dec710]{padding-left:20px}.status[data-v-21dec710] .el-badge__content.is-fixed.is-dot{top:12px;left:-8px} -------------------------------------------------------------------------------- /doc/前端后台管理系统/xueden-cloud-edu-admin/css/chunk-c42d4f82.da84f3ab.css: -------------------------------------------------------------------------------- 1 | .icon-body[data-v-442be226]{width:100%;padding:10px}.icon-body .icon-list[data-v-442be226]{height:200px;overflow-y:scroll}.icon-body .icon-list div[data-v-442be226]{height:30px;line-height:30px;margin-bottom:-5px;cursor:pointer;width:33%;float:left}.icon-body .icon-list span[data-v-442be226]{display:inline-block;vertical-align:-.15em;fill:currentColor;overflow:hidden;font-size:14px;padding-left:6px}[data-v-e662cfc2] .el-input-number .el-input__inner{text-align:left} -------------------------------------------------------------------------------- /doc/前端后台管理系统/xueden-cloud-edu-admin/css/chunk-d0cc896c.2919cc93.css: -------------------------------------------------------------------------------- 1 | .main[data-v-1f9501f2]{flex:none;width:248px;padding:36px;margin:0 auto;border-radius:4px;background-color:hsla(0,0%,100%,.2)}.main .title[data-v-1f9501f2]{font-size:28px;margin-top:0;margin-bottom:30px;text-align:center;color:#986a46}.main .submit[data-v-1f9501f2]{width:100%}.main .login-code[data-v-1f9501f2]{width:44%;display:inline-block;height:45px;float:right}.main .login-code img[data-v-1f9501f2]{cursor:pointer;vertical-align:middle;border:1px solid #e6e6e6;height:36px;width:100%} -------------------------------------------------------------------------------- /doc/前端后台管理系统/xueden-cloud-edu-admin/css/chunk-e056c190.8d0d9159.css: -------------------------------------------------------------------------------- 1 | .homeBoxCard[data-v-165aea54]{margin-bottom:24px}.homeBoxCard[data-v-165aea54] .el-card__header{padding-left:12px;padding-right:12px}.homeBoxCard[data-v-165aea54] .el-card__body{padding:12px;font-size:14px;line-height:1.5715}.homeBoxCard[data-v-165aea54] .el-divider{margin:8px 0}.homeBoxCard .num[data-v-165aea54]{font-size:30px;color:#515a6e}.homeBoxCard .height40[data-v-165aea54]{height:40px} -------------------------------------------------------------------------------- /doc/前端后台管理系统/xueden-cloud-edu-admin/css/chunk-f60b3d72.08e361da.css: -------------------------------------------------------------------------------- 1 | .content[data-v-8a7c2936]{padding:20px;position:absolute;top:56px;left:0;right:0;bottom:55px;overflow:auto} -------------------------------------------------------------------------------- /doc/前端后台管理系统/xueden-cloud-edu-admin/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seasonl2014/xueden-cloud-edu/04ad2b92f042fdd954dc653d6fae5a3eaac71e68/doc/前端后台管理系统/xueden-cloud-edu-admin/favicon.ico -------------------------------------------------------------------------------- /doc/前端后台管理系统/xueden-cloud-edu-admin/fonts/element-icons.535877f5.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seasonl2014/xueden-cloud-edu/04ad2b92f042fdd954dc653d6fae5a3eaac71e68/doc/前端后台管理系统/xueden-cloud-edu-admin/fonts/element-icons.535877f5.woff -------------------------------------------------------------------------------- /doc/前端后台管理系统/xueden-cloud-edu-admin/fonts/element-icons.732389de.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seasonl2014/xueden-cloud-edu/04ad2b92f042fdd954dc653d6fae5a3eaac71e68/doc/前端后台管理系统/xueden-cloud-edu-admin/fonts/element-icons.732389de.ttf -------------------------------------------------------------------------------- /doc/前端后台管理系统/xueden-cloud-edu-admin/img/bg-smooth.1d1806df.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seasonl2014/xueden-cloud-edu/04ad2b92f042fdd954dc653d6fae5a3eaac71e68/doc/前端后台管理系统/xueden-cloud-edu-admin/img/bg-smooth.1d1806df.jpg -------------------------------------------------------------------------------- /doc/前端后台管理系统/xueden-cloud-edu-admin/img/logo.7e4f5e27.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seasonl2014/xueden-cloud-edu/04ad2b92f042fdd954dc653d6fae5a3eaac71e68/doc/前端后台管理系统/xueden-cloud-edu-admin/img/logo.7e4f5e27.png -------------------------------------------------------------------------------- /doc/前端后台管理系统/xueden-cloud-edu-admin/js/chunk-2d0a3fee.22befa06.js: -------------------------------------------------------------------------------- 1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d0a3fee"],{"050c":function(e,d){throw new Error("Module build failed (from ./node_modules/ts-loader/index.js):\nError: Debug Failure. Output generation failed\n at Object.transpileModule (G:\\cloudbeike\\vue-github2021\\xueden-cloud-edu-vue3-admin\\node_modules\\typescript\\lib\\typescript.js:123670:29)\n at getTranspilationEmit (G:\\cloudbeike\\vue-github2021\\xueden-cloud-edu-vue3-admin\\node_modules\\ts-loader\\dist\\index.js:318:74)\n at successLoader (G:\\cloudbeike\\vue-github2021\\xueden-cloud-edu-vue3-admin\\node_modules\\ts-loader\\dist\\index.js:66:15)\n at Object.loader (G:\\cloudbeike\\vue-github2021\\xueden-cloud-edu-vue3-admin\\node_modules\\ts-loader\\dist\\index.js:22:12)")}}]); -------------------------------------------------------------------------------- /doc/前端后台管理系统/xueden-cloud-edu-admin/js/chunk-2d0b1db8.0d6ce394.js: -------------------------------------------------------------------------------- 1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d0b1db8"],{2246:function(e,d){throw new Error("Module build failed (from ./node_modules/thread-loader/dist/cjs.js):\nThread Loader (Worker 0)\nDebug Failure. Output generation failed\n at PoolWorker.fromErrorObj (G:\\cloudbeike\\vue-github2021\\xueden-cloud-edu-vue3-admin\\node_modules\\thread-loader\\dist\\WorkerPool.js:262:12)\n at G:\\cloudbeike\\vue-github2021\\xueden-cloud-edu-vue3-admin\\node_modules\\thread-loader\\dist\\WorkerPool.js:204:29\n at mapSeries (G:\\cloudbeike\\vue-github2021\\xueden-cloud-edu-vue3-admin\\node_modules\\neo-async\\async.js:3625:14)\n at Object.transpileModule (G:\\cloudbeike\\vue-github2021\\xueden-cloud-edu-vue3-admin\\node_modules\\typescript\\lib\\typescript.js:123670:29)\n at getTranspilationEmit (G:\\cloudbeike\\vue-github2021\\xueden-cloud-edu-vue3-admin\\node_modules\\ts-loader\\dist\\index.js:318:74)\n at successLoader (G:\\cloudbeike\\vue-github2021\\xueden-cloud-edu-vue3-admin\\node_modules\\ts-loader\\dist\\index.js:66:15)\n at Object.loader (G:\\cloudbeike\\vue-github2021\\xueden-cloud-edu-vue3-admin\\node_modules\\ts-loader\\dist\\index.js:22:12)")}}]); -------------------------------------------------------------------------------- /doc/前端后台管理系统/xueden-cloud-edu-admin/js/chunk-2d0b26e8.3953c6e4.js: -------------------------------------------------------------------------------- 1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d0b26e8"],{"23a2":function(e,d){throw new Error("Module build failed (from ./node_modules/ts-loader/index.js):\nError: Debug Failure. Output generation failed\n at Object.transpileModule (G:\\cloudbeike\\vue-github2021\\xueden-cloud-edu-vue3-admin\\node_modules\\typescript\\lib\\typescript.js:123670:29)\n at getTranspilationEmit (G:\\cloudbeike\\vue-github2021\\xueden-cloud-edu-vue3-admin\\node_modules\\ts-loader\\dist\\index.js:318:74)\n at successLoader (G:\\cloudbeike\\vue-github2021\\xueden-cloud-edu-vue3-admin\\node_modules\\ts-loader\\dist\\index.js:66:15)\n at Object.loader (G:\\cloudbeike\\vue-github2021\\xueden-cloud-edu-vue3-admin\\node_modules\\ts-loader\\dist\\index.js:22:12)")}}]); -------------------------------------------------------------------------------- /doc/前端后台管理系统/xueden-cloud-edu-admin/js/chunk-2d0b5d08.733e709a.js: -------------------------------------------------------------------------------- 1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d0b5d08"],{"1b01":function(e,t,n){"use strict";n.r(t);var o=n("7a23");function l(e,t,n,l,a,u){var c=Object(o["resolveComponent"])("el-option"),r=Object(o["resolveComponent"])("el-select");return Object(o["openBlock"])(),Object(o["createBlock"])(r,{modelValue:e.value,"onUpdate:modelValue":t[1]||(t[1]=function(t){return e.value=t}),clearable:""},{default:Object(o["withCtx"])((function(){return[Object(o["createVNode"])(c,{label:"头部",value:"header"}),Object(o["createVNode"])(c,{label:"底部",value:"footer"})]})),_:1},8,["modelValue"])}var a=Object(o["defineComponent"])({name:"TypeSelect",props:{modelValue:{type:String,default:""}},setup:function(e,t){var n=t.emit,l=Object(o["computed"])({get:function(){return e.modelValue},set:function(e){n("update:modelValue",e||"")}});return{value:l}}});a.render=l;t["default"]=a}}]); -------------------------------------------------------------------------------- /doc/前端后台管理系统/xueden-cloud-edu-admin/js/chunk-2d0b8ed3.8fe047f6.js: -------------------------------------------------------------------------------- 1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d0b8ed3"],{3187:function(e,t,c){"use strict";c.r(t);var n=c("7a23"),o={class:"indexlayout-main-conent"},a=Object(n["createTextVNode"])(" 此页面只有 test 与 admin 账号可以查看。 ");function r(e,t){var c=Object(n["resolveComponent"])("el-card");return Object(n["openBlock"])(),Object(n["createBlock"])("div",o,[Object(n["createVNode"])(c,{shadow:"never",class:"cus-card"},{default:Object(n["withCtx"])((function(){return[a]})),_:1})])}const d={};d.render=r;t["default"]=d}}]); -------------------------------------------------------------------------------- /doc/前端后台管理系统/xueden-cloud-edu-admin/js/chunk-2d0ba4d6.034b7536.js: -------------------------------------------------------------------------------- 1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d0ba4d6"],{3740:function(e,t,n){"use strict";n.r(t);var o=n("7a23");function l(e,t,n,l,a,u){var c=Object(o["resolveComponent"])("el-option"),r=Object(o["resolveComponent"])("el-select");return Object(o["openBlock"])(),Object(o["createBlock"])(r,{modelValue:e.value,"onUpdate:modelValue":t[1]||(t[1]=function(t){return e.value=t}),clearable:""},{default:Object(o["withCtx"])((function(){return[Object(o["createVNode"])(c,{label:"头部",value:"header"}),Object(o["createVNode"])(c,{label:"底部",value:"footer"})]})),_:1},8,["modelValue"])}var a=Object(o["defineComponent"])({name:"TypeSelect",props:{modelValue:{type:String,default:""}},setup:function(e,t){var n=t.emit,l=Object(o["computed"])({get:function(){return e.modelValue},set:function(e){n("update:modelValue",e||"")}});return{value:l}}});a.render=l;t["default"]=a}}]); -------------------------------------------------------------------------------- /doc/前端后台管理系统/xueden-cloud-edu-admin/js/chunk-2d0bd90f.cdba9fbc.js: -------------------------------------------------------------------------------- 1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d0bd90f"],{"2d18":function(e,d){throw new Error("Module build failed (from ./node_modules/ts-loader/index.js):\nError: Debug Failure. Output generation failed\n at Object.transpileModule (G:\\cloudbeike\\vue-github2021\\xueden-cloud-edu-vue3-admin\\node_modules\\typescript\\lib\\typescript.js:123670:29)\n at getTranspilationEmit (G:\\cloudbeike\\vue-github2021\\xueden-cloud-edu-vue3-admin\\node_modules\\ts-loader\\dist\\index.js:318:74)\n at successLoader (G:\\cloudbeike\\vue-github2021\\xueden-cloud-edu-vue3-admin\\node_modules\\ts-loader\\dist\\index.js:66:15)\n at Object.loader (G:\\cloudbeike\\vue-github2021\\xueden-cloud-edu-vue3-admin\\node_modules\\ts-loader\\dist\\index.js:22:12)")}}]); -------------------------------------------------------------------------------- /doc/前端后台管理系统/xueden-cloud-edu-admin/js/chunk-2d0c0652.f04e4f28.js: -------------------------------------------------------------------------------- 1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d0c0652"],{4231:function(e,d){throw new Error("Module build failed (from ./node_modules/thread-loader/dist/cjs.js):\nThread Loader (Worker 0)\nDebug Failure. Output generation failed\n at PoolWorker.fromErrorObj (G:\\cloudbeike\\vue-github2021\\xueden-cloud-edu-vue3-admin\\node_modules\\thread-loader\\dist\\WorkerPool.js:262:12)\n at G:\\cloudbeike\\vue-github2021\\xueden-cloud-edu-vue3-admin\\node_modules\\thread-loader\\dist\\WorkerPool.js:204:29\n at mapSeries (G:\\cloudbeike\\vue-github2021\\xueden-cloud-edu-vue3-admin\\node_modules\\neo-async\\async.js:3625:14)\n at Object.transpileModule (G:\\cloudbeike\\vue-github2021\\xueden-cloud-edu-vue3-admin\\node_modules\\typescript\\lib\\typescript.js:123670:29)\n at getTranspilationEmit (G:\\cloudbeike\\vue-github2021\\xueden-cloud-edu-vue3-admin\\node_modules\\ts-loader\\dist\\index.js:318:74)\n at successLoader (G:\\cloudbeike\\vue-github2021\\xueden-cloud-edu-vue3-admin\\node_modules\\ts-loader\\dist\\index.js:66:15)\n at Object.loader (G:\\cloudbeike\\vue-github2021\\xueden-cloud-edu-vue3-admin\\node_modules\\ts-loader\\dist\\index.js:22:12)")}}]); -------------------------------------------------------------------------------- /doc/前端后台管理系统/xueden-cloud-edu-admin/js/chunk-2d0c550f.6601ad8c.js: -------------------------------------------------------------------------------- 1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d0c550f"],{"3f28":function(e,t,n){"use strict";n.r(t);var c=n("7a23"),o={class:"indexlayout-main-conent"},r=Object(c["createTextVNode"])(" Editor: "),a=Object(c["createTextVNode"])(" Content: ");function d(e,t,n,d,i,u){var l=Object(c["resolveComponent"])("CKEditor"),s=Object(c["resolveComponent"])("el-card");return Object(c["openBlock"])(),Object(c["createBlock"])("div",o,[Object(c["createVNode"])(s,{shadow:"never",class:"cus-card"},{header:Object(c["withCtx"])((function(){return[r]})),default:Object(c["withCtx"])((function(){return[Object(c["createVNode"])(l,{modelValue:e.val,"onUpdate:modelValue":t[1]||(t[1]=function(t){return e.val=t})},null,8,["modelValue"])]})),_:1}),Object(c["createVNode"])(s,{shadow:"never",class:"cus-card",style:{"margin-top":"10px"}},{header:Object(c["withCtx"])((function(){return[a]})),default:Object(c["withCtx"])((function(){return[Object(c["createVNode"])("div",{innerHTML:e.val},null,8,["innerHTML"])]})),_:1})])}var i=n("3280"),u=Object(c["defineComponent"])({name:"ComponentEditorCKE",components:{CKEditor:i["a"]},setup:function(){var e=Object(c["ref"])("

This is Editor

");return{val:e}}});u.render=d;t["default"]=u}}]); -------------------------------------------------------------------------------- /doc/前端后台管理系统/xueden-cloud-edu-admin/js/chunk-2d0c7a89.2231ba5e.js: -------------------------------------------------------------------------------- 1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d0c7a89"],{"520f":function(e,t,n){"use strict";n.r(t);var o=n("7a23");function l(e,t,n,l,a,u){var c=Object(o["resolveComponent"])("el-option"),r=Object(o["resolveComponent"])("el-select");return Object(o["openBlock"])(),Object(o["createBlock"])(r,{modelValue:e.value,"onUpdate:modelValue":t[1]||(t[1]=function(t){return e.value=t}),clearable:""},{default:Object(o["withCtx"])((function(){return[Object(o["createVNode"])(c,{label:"头部",value:"header"}),Object(o["createVNode"])(c,{label:"底部",value:"footer"})]})),_:1},8,["modelValue"])}var a=Object(o["defineComponent"])({name:"TypeSelect",props:{modelValue:{type:String,default:""}},setup:function(e,t){var n=t.emit,l=Object(o["computed"])({get:function(){return e.modelValue},set:function(e){n("update:modelValue",e||"")}});return{value:l}}});a.render=l;t["default"]=a}}]); -------------------------------------------------------------------------------- /doc/前端后台管理系统/xueden-cloud-edu-admin/js/chunk-2d0c8276.723605d9.js: -------------------------------------------------------------------------------- 1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d0c8276"],{5456:function(e,d){throw new Error("Module build failed (from ./node_modules/thread-loader/dist/cjs.js):\nThread Loader (Worker 0)\nDebug Failure. Output generation failed\n at PoolWorker.fromErrorObj (G:\\cloudbeike\\vue-github2021\\xueden-cloud-edu-vue3-admin\\node_modules\\thread-loader\\dist\\WorkerPool.js:262:12)\n at G:\\cloudbeike\\vue-github2021\\xueden-cloud-edu-vue3-admin\\node_modules\\thread-loader\\dist\\WorkerPool.js:204:29\n at mapSeries (G:\\cloudbeike\\vue-github2021\\xueden-cloud-edu-vue3-admin\\node_modules\\neo-async\\async.js:3625:14)\n at Object.transpileModule (G:\\cloudbeike\\vue-github2021\\xueden-cloud-edu-vue3-admin\\node_modules\\typescript\\lib\\typescript.js:123670:29)\n at getTranspilationEmit (G:\\cloudbeike\\vue-github2021\\xueden-cloud-edu-vue3-admin\\node_modules\\ts-loader\\dist\\index.js:318:74)\n at successLoader (G:\\cloudbeike\\vue-github2021\\xueden-cloud-edu-vue3-admin\\node_modules\\ts-loader\\dist\\index.js:66:15)\n at Object.loader (G:\\cloudbeike\\vue-github2021\\xueden-cloud-edu-vue3-admin\\node_modules\\ts-loader\\dist\\index.js:22:12)")}}]); -------------------------------------------------------------------------------- /doc/前端后台管理系统/xueden-cloud-edu-admin/js/chunk-2d0c82c4.39724830.js: -------------------------------------------------------------------------------- 1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d0c82c4"],{"546e":function(e,d){throw new Error("Module build failed (from ./node_modules/thread-loader/dist/cjs.js):\nThread Loader (Worker 2)\nDebug Failure. Output generation failed\n at PoolWorker.fromErrorObj (G:\\cloudbeike\\vue-github2021\\xueden-cloud-edu-vue3-admin\\node_modules\\thread-loader\\dist\\WorkerPool.js:262:12)\n at G:\\cloudbeike\\vue-github2021\\xueden-cloud-edu-vue3-admin\\node_modules\\thread-loader\\dist\\WorkerPool.js:204:29\n at mapSeries (G:\\cloudbeike\\vue-github2021\\xueden-cloud-edu-vue3-admin\\node_modules\\neo-async\\async.js:3625:14)\n at Object.transpileModule (G:\\cloudbeike\\vue-github2021\\xueden-cloud-edu-vue3-admin\\node_modules\\typescript\\lib\\typescript.js:123670:29)\n at getTranspilationEmit (G:\\cloudbeike\\vue-github2021\\xueden-cloud-edu-vue3-admin\\node_modules\\ts-loader\\dist\\index.js:318:74)\n at successLoader (G:\\cloudbeike\\vue-github2021\\xueden-cloud-edu-vue3-admin\\node_modules\\ts-loader\\dist\\index.js:66:15)\n at Object.loader (G:\\cloudbeike\\vue-github2021\\xueden-cloud-edu-vue3-admin\\node_modules\\ts-loader\\dist\\index.js:22:12)")}}]); -------------------------------------------------------------------------------- /doc/前端后台管理系统/xueden-cloud-edu-admin/js/chunk-2d0c9206.06e21001.js: -------------------------------------------------------------------------------- 1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d0c9206"],{"588e":function(e,t,n){"use strict";n.r(t);var o=n("7a23");function l(e,t,n,l,a,u){var c=Object(o["resolveComponent"])("el-option"),r=Object(o["resolveComponent"])("el-select");return Object(o["openBlock"])(),Object(o["createBlock"])(r,{modelValue:e.value,"onUpdate:modelValue":t[1]||(t[1]=function(t){return e.value=t}),clearable:""},{default:Object(o["withCtx"])((function(){return[Object(o["createVNode"])(c,{label:"头部",value:"header"}),Object(o["createVNode"])(c,{label:"底部",value:"footer"})]})),_:1},8,["modelValue"])}var a=Object(o["defineComponent"])({name:"TypeSelect",props:{modelValue:{type:String,default:""}},setup:function(e,t){var n=t.emit,l=Object(o["computed"])({get:function(){return e.modelValue},set:function(e){n("update:modelValue",e||"")}});return{value:l}}});a.render=l;t["default"]=a}}]); -------------------------------------------------------------------------------- /doc/前端后台管理系统/xueden-cloud-edu-admin/js/chunk-2d0cb71e.ff382f53.js: -------------------------------------------------------------------------------- 1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d0cb71e"],{"4a61":function(e,d){throw new Error("Module build failed (from ./node_modules/thread-loader/dist/cjs.js):\nThread Loader (Worker 1)\nDebug Failure. Output generation failed\n at PoolWorker.fromErrorObj (G:\\cloudbeike\\vue-github2021\\xueden-cloud-edu-vue3-admin\\node_modules\\thread-loader\\dist\\WorkerPool.js:262:12)\n at G:\\cloudbeike\\vue-github2021\\xueden-cloud-edu-vue3-admin\\node_modules\\thread-loader\\dist\\WorkerPool.js:204:29\n at mapSeries (G:\\cloudbeike\\vue-github2021\\xueden-cloud-edu-vue3-admin\\node_modules\\neo-async\\async.js:3625:14)\n at Object.transpileModule (G:\\cloudbeike\\vue-github2021\\xueden-cloud-edu-vue3-admin\\node_modules\\typescript\\lib\\typescript.js:123670:29)\n at getTranspilationEmit (G:\\cloudbeike\\vue-github2021\\xueden-cloud-edu-vue3-admin\\node_modules\\ts-loader\\dist\\index.js:318:74)\n at successLoader (G:\\cloudbeike\\vue-github2021\\xueden-cloud-edu-vue3-admin\\node_modules\\ts-loader\\dist\\index.js:66:15)\n at Object.loader (G:\\cloudbeike\\vue-github2021\\xueden-cloud-edu-vue3-admin\\node_modules\\ts-loader\\dist\\index.js:22:12)")}}]); -------------------------------------------------------------------------------- /doc/前端后台管理系统/xueden-cloud-edu-admin/js/chunk-2d0cbea3.bf9162fe.js: -------------------------------------------------------------------------------- 1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d0cbea3"],{"4c64":function(e,t,n){"use strict";n.r(t);var o=n("7a23");function l(e,t,n,l,a,u){var c=Object(o["resolveComponent"])("el-option"),r=Object(o["resolveComponent"])("el-select");return Object(o["openBlock"])(),Object(o["createBlock"])(r,{modelValue:e.value,"onUpdate:modelValue":t[1]||(t[1]=function(t){return e.value=t}),clearable:""},{default:Object(o["withCtx"])((function(){return[Object(o["createVNode"])(c,{label:"头部",value:"header"}),Object(o["createVNode"])(c,{label:"底部",value:"footer"})]})),_:1},8,["modelValue"])}var a=Object(o["defineComponent"])({name:"TypeSelect",props:{modelValue:{type:String,default:""}},setup:function(e,t){var n=t.emit,l=Object(o["computed"])({get:function(){return e.modelValue},set:function(e){n("update:modelValue",e||"")}});return{value:l}}});a.render=l;t["default"]=a}}]); -------------------------------------------------------------------------------- /doc/前端后台管理系统/xueden-cloud-edu-admin/js/chunk-2d0cbec1.d2257762.js: -------------------------------------------------------------------------------- 1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d0cbec1"],{"4c73":function(e,d){throw new Error("Module build failed (from ./node_modules/thread-loader/dist/cjs.js):\nThread Loader (Worker 0)\nDebug Failure. Output generation failed\n at PoolWorker.fromErrorObj (G:\\cloudbeike\\vue-github2021\\xueden-cloud-edu-vue3-admin\\node_modules\\thread-loader\\dist\\WorkerPool.js:262:12)\n at G:\\cloudbeike\\vue-github2021\\xueden-cloud-edu-vue3-admin\\node_modules\\thread-loader\\dist\\WorkerPool.js:204:29\n at mapSeries (G:\\cloudbeike\\vue-github2021\\xueden-cloud-edu-vue3-admin\\node_modules\\neo-async\\async.js:3625:14)\n at Object.transpileModule (G:\\cloudbeike\\vue-github2021\\xueden-cloud-edu-vue3-admin\\node_modules\\typescript\\lib\\typescript.js:123670:29)\n at getTranspilationEmit (G:\\cloudbeike\\vue-github2021\\xueden-cloud-edu-vue3-admin\\node_modules\\ts-loader\\dist\\index.js:318:74)\n at successLoader (G:\\cloudbeike\\vue-github2021\\xueden-cloud-edu-vue3-admin\\node_modules\\ts-loader\\dist\\index.js:66:15)\n at Object.loader (G:\\cloudbeike\\vue-github2021\\xueden-cloud-edu-vue3-admin\\node_modules\\ts-loader\\dist\\index.js:22:12)")}}]); -------------------------------------------------------------------------------- /doc/前端后台管理系统/xueden-cloud-edu-admin/js/chunk-2d0cfe28.488ceba2.js: -------------------------------------------------------------------------------- 1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d0cfe28"],{"662d":function(e,d){throw new Error("Module build failed (from ./node_modules/thread-loader/dist/cjs.js):\nThread Loader (Worker 2)\nDebug Failure. Output generation failed\n at PoolWorker.fromErrorObj (G:\\cloudbeike\\vue-github2021\\xueden-cloud-edu-vue3-admin\\node_modules\\thread-loader\\dist\\WorkerPool.js:262:12)\n at G:\\cloudbeike\\vue-github2021\\xueden-cloud-edu-vue3-admin\\node_modules\\thread-loader\\dist\\WorkerPool.js:204:29\n at mapSeries (G:\\cloudbeike\\vue-github2021\\xueden-cloud-edu-vue3-admin\\node_modules\\neo-async\\async.js:3625:14)\n at Object.transpileModule (G:\\cloudbeike\\vue-github2021\\xueden-cloud-edu-vue3-admin\\node_modules\\typescript\\lib\\typescript.js:123670:29)\n at getTranspilationEmit (G:\\cloudbeike\\vue-github2021\\xueden-cloud-edu-vue3-admin\\node_modules\\ts-loader\\dist\\index.js:318:74)\n at successLoader (G:\\cloudbeike\\vue-github2021\\xueden-cloud-edu-vue3-admin\\node_modules\\ts-loader\\dist\\index.js:66:15)\n at Object.loader (G:\\cloudbeike\\vue-github2021\\xueden-cloud-edu-vue3-admin\\node_modules\\ts-loader\\dist\\index.js:22:12)")}}]); -------------------------------------------------------------------------------- /doc/前端后台管理系统/xueden-cloud-edu-admin/js/chunk-2d0d3e23.6e6da70b.js: -------------------------------------------------------------------------------- 1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d0d3e23"],{"5f51":function(e,d){throw new Error("Module build failed (from ./node_modules/thread-loader/dist/cjs.js):\nThread Loader (Worker 0)\nDebug Failure. Output generation failed\n at PoolWorker.fromErrorObj (G:\\cloudbeike\\vue-github2021\\xueden-cloud-edu-vue3-admin\\node_modules\\thread-loader\\dist\\WorkerPool.js:262:12)\n at G:\\cloudbeike\\vue-github2021\\xueden-cloud-edu-vue3-admin\\node_modules\\thread-loader\\dist\\WorkerPool.js:204:29\n at mapSeries (G:\\cloudbeike\\vue-github2021\\xueden-cloud-edu-vue3-admin\\node_modules\\neo-async\\async.js:3625:14)\n at Object.transpileModule (G:\\cloudbeike\\vue-github2021\\xueden-cloud-edu-vue3-admin\\node_modules\\typescript\\lib\\typescript.js:123670:29)\n at getTranspilationEmit (G:\\cloudbeike\\vue-github2021\\xueden-cloud-edu-vue3-admin\\node_modules\\ts-loader\\dist\\index.js:318:74)\n at successLoader (G:\\cloudbeike\\vue-github2021\\xueden-cloud-edu-vue3-admin\\node_modules\\ts-loader\\dist\\index.js:66:15)\n at Object.loader (G:\\cloudbeike\\vue-github2021\\xueden-cloud-edu-vue3-admin\\node_modules\\ts-loader\\dist\\index.js:22:12)")}}]); -------------------------------------------------------------------------------- /doc/前端后台管理系统/xueden-cloud-edu-admin/js/chunk-2d0d6ef7.1a30bc6d.js: -------------------------------------------------------------------------------- 1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d0d6ef7"],{7558:function(e,t,c){"use strict";c.r(t);var n=c("7a23"),o={class:"indexlayout-main-conent"},r=Object(n["createVNode"])("i",{class:"el-icon-top",style:{fontSize:"35px",color:"#FF0000"}},null,-1);function a(e,t,c,a,s,u){var d=Object(n["resolveComponent"])("el-card");return Object(n["openBlock"])(),Object(n["createBlock"])("div",o,[Object(n["createVNode"])(d,{shadow:"never",class:"cus-card"},{default:Object(n["withCtx"])((function(){return[r,Object(n["createTextVNode"])(" "+Object(n["toDisplayString"])(e.t("page.custom-breadcrumbs.msg")),1)]})),_:1})])}var s=c("47e2"),u=Object(n["defineComponent"])({setup:function(){var e=Object(s["b"])(),t=e.t;return{t:t}}});u.render=a;t["default"]=u}}]); -------------------------------------------------------------------------------- /doc/前端后台管理系统/xueden-cloud-edu-admin/js/chunk-2d0db226.d46de77b.js: -------------------------------------------------------------------------------- 1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d0db226"],{"6f22":function(e,d){throw new Error("Module build failed (from ./node_modules/ts-loader/index.js):\nError: Debug Failure. Output generation failed\n at Object.transpileModule (G:\\cloudbeike\\vue-github2021\\xueden-cloud-edu-vue3-admin\\node_modules\\typescript\\lib\\typescript.js:123670:29)\n at getTranspilationEmit (G:\\cloudbeike\\vue-github2021\\xueden-cloud-edu-vue3-admin\\node_modules\\ts-loader\\dist\\index.js:318:74)\n at successLoader (G:\\cloudbeike\\vue-github2021\\xueden-cloud-edu-vue3-admin\\node_modules\\ts-loader\\dist\\index.js:66:15)\n at Object.loader (G:\\cloudbeike\\vue-github2021\\xueden-cloud-edu-vue3-admin\\node_modules\\ts-loader\\dist\\index.js:22:12)")}}]); -------------------------------------------------------------------------------- /doc/前端后台管理系统/xueden-cloud-edu-admin/js/chunk-2d0dd7a1.72ce540a.js: -------------------------------------------------------------------------------- 1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d0dd7a1"],{"820a":function(e,d){throw new Error("Module build failed (from ./node_modules/thread-loader/dist/cjs.js):\nThread Loader (Worker 1)\nDebug Failure. Output generation failed\n at PoolWorker.fromErrorObj (G:\\cloudbeike\\vue-github2021\\xueden-cloud-edu-vue3-admin\\node_modules\\thread-loader\\dist\\WorkerPool.js:262:12)\n at G:\\cloudbeike\\vue-github2021\\xueden-cloud-edu-vue3-admin\\node_modules\\thread-loader\\dist\\WorkerPool.js:204:29\n at mapSeries (G:\\cloudbeike\\vue-github2021\\xueden-cloud-edu-vue3-admin\\node_modules\\neo-async\\async.js:3625:14)\n at Object.transpileModule (G:\\cloudbeike\\vue-github2021\\xueden-cloud-edu-vue3-admin\\node_modules\\typescript\\lib\\typescript.js:123670:29)\n at getTranspilationEmit (G:\\cloudbeike\\vue-github2021\\xueden-cloud-edu-vue3-admin\\node_modules\\ts-loader\\dist\\index.js:318:74)\n at successLoader (G:\\cloudbeike\\vue-github2021\\xueden-cloud-edu-vue3-admin\\node_modules\\ts-loader\\dist\\index.js:66:15)\n at Object.loader (G:\\cloudbeike\\vue-github2021\\xueden-cloud-edu-vue3-admin\\node_modules\\ts-loader\\dist\\index.js:22:12)")}}]); -------------------------------------------------------------------------------- /doc/前端后台管理系统/xueden-cloud-edu-admin/js/chunk-2d0dddfe.cff6e0d6.js: -------------------------------------------------------------------------------- 1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d0dddfe"],{"82f4":function(e,d){throw new Error("Module build failed (from ./node_modules/thread-loader/dist/cjs.js):\nThread Loader (Worker 2)\nDebug Failure. Output generation failed\n at PoolWorker.fromErrorObj (G:\\cloudbeike\\vue-github2021\\xueden-cloud-edu-vue3-admin\\node_modules\\thread-loader\\dist\\WorkerPool.js:262:12)\n at G:\\cloudbeike\\vue-github2021\\xueden-cloud-edu-vue3-admin\\node_modules\\thread-loader\\dist\\WorkerPool.js:204:29\n at mapSeries (G:\\cloudbeike\\vue-github2021\\xueden-cloud-edu-vue3-admin\\node_modules\\neo-async\\async.js:3625:14)\n at Object.transpileModule (G:\\cloudbeike\\vue-github2021\\xueden-cloud-edu-vue3-admin\\node_modules\\typescript\\lib\\typescript.js:123670:29)\n at getTranspilationEmit (G:\\cloudbeike\\vue-github2021\\xueden-cloud-edu-vue3-admin\\node_modules\\ts-loader\\dist\\index.js:318:74)\n at successLoader (G:\\cloudbeike\\vue-github2021\\xueden-cloud-edu-vue3-admin\\node_modules\\ts-loader\\dist\\index.js:66:15)\n at Object.loader (G:\\cloudbeike\\vue-github2021\\xueden-cloud-edu-vue3-admin\\node_modules\\ts-loader\\dist\\index.js:22:12)")}}]); -------------------------------------------------------------------------------- /doc/前端后台管理系统/xueden-cloud-edu-admin/js/chunk-2d0e4f94.ec3e2d53.js: -------------------------------------------------------------------------------- 1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d0e4f94"],{9304:function(e,d){throw new Error("Module build failed (from ./node_modules/thread-loader/dist/cjs.js):\nThread Loader (Worker 0)\nDebug Failure. Output generation failed\n at PoolWorker.fromErrorObj (G:\\cloudbeike\\vue-github2021\\xueden-cloud-edu-vue3-admin\\node_modules\\thread-loader\\dist\\WorkerPool.js:262:12)\n at G:\\cloudbeike\\vue-github2021\\xueden-cloud-edu-vue3-admin\\node_modules\\thread-loader\\dist\\WorkerPool.js:204:29\n at mapSeries (G:\\cloudbeike\\vue-github2021\\xueden-cloud-edu-vue3-admin\\node_modules\\neo-async\\async.js:3625:14)\n at Object.transpileModule (G:\\cloudbeike\\vue-github2021\\xueden-cloud-edu-vue3-admin\\node_modules\\typescript\\lib\\typescript.js:123670:29)\n at getTranspilationEmit (G:\\cloudbeike\\vue-github2021\\xueden-cloud-edu-vue3-admin\\node_modules\\ts-loader\\dist\\index.js:318:74)\n at successLoader (G:\\cloudbeike\\vue-github2021\\xueden-cloud-edu-vue3-admin\\node_modules\\ts-loader\\dist\\index.js:66:15)\n at Object.loader (G:\\cloudbeike\\vue-github2021\\xueden-cloud-edu-vue3-admin\\node_modules\\ts-loader\\dist\\index.js:22:12)")}}]); -------------------------------------------------------------------------------- /doc/前端后台管理系统/xueden-cloud-edu-admin/js/chunk-2d0e55e1.0a5f5ce6.js: -------------------------------------------------------------------------------- 1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d0e55e1"],{"93d5":function(e,d){throw new Error("Module build failed (from ./node_modules/thread-loader/dist/cjs.js):\nThread Loader (Worker 1)\nDebug Failure. Output generation failed\n at PoolWorker.fromErrorObj (G:\\cloudbeike\\vue-github2021\\xueden-cloud-edu-vue3-admin\\node_modules\\thread-loader\\dist\\WorkerPool.js:262:12)\n at G:\\cloudbeike\\vue-github2021\\xueden-cloud-edu-vue3-admin\\node_modules\\thread-loader\\dist\\WorkerPool.js:204:29\n at mapSeries (G:\\cloudbeike\\vue-github2021\\xueden-cloud-edu-vue3-admin\\node_modules\\neo-async\\async.js:3625:14)\n at Object.transpileModule (G:\\cloudbeike\\vue-github2021\\xueden-cloud-edu-vue3-admin\\node_modules\\typescript\\lib\\typescript.js:123670:29)\n at getTranspilationEmit (G:\\cloudbeike\\vue-github2021\\xueden-cloud-edu-vue3-admin\\node_modules\\ts-loader\\dist\\index.js:318:74)\n at successLoader (G:\\cloudbeike\\vue-github2021\\xueden-cloud-edu-vue3-admin\\node_modules\\ts-loader\\dist\\index.js:66:15)\n at Object.loader (G:\\cloudbeike\\vue-github2021\\xueden-cloud-edu-vue3-admin\\node_modules\\ts-loader\\dist\\index.js:22:12)")}}]); -------------------------------------------------------------------------------- /doc/前端后台管理系统/xueden-cloud-edu-admin/js/chunk-2d0e9bee.be56a093.js: -------------------------------------------------------------------------------- 1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d0e9bee"],{"8f9c":function(e,t,n){"use strict";n.r(t);var o=n("7a23");function l(e,t,n,l,a,u){var c=Object(o["resolveComponent"])("el-option"),r=Object(o["resolveComponent"])("el-select");return Object(o["openBlock"])(),Object(o["createBlock"])(r,{modelValue:e.value,"onUpdate:modelValue":t[1]||(t[1]=function(t){return e.value=t}),clearable:""},{default:Object(o["withCtx"])((function(){return[Object(o["createVNode"])(c,{label:"头部",value:"header"}),Object(o["createVNode"])(c,{label:"底部",value:"footer"})]})),_:1},8,["modelValue"])}var a=Object(o["defineComponent"])({name:"TypeSelect",props:{modelValue:{type:String,default:""}},setup:function(e,t){var n=t.emit,l=Object(o["computed"])({get:function(){return e.modelValue},set:function(e){n("update:modelValue",e||"")}});return{value:l}}});a.render=l;t["default"]=a}}]); -------------------------------------------------------------------------------- /doc/前端后台管理系统/xueden-cloud-edu-admin/js/chunk-2d0efc9d.1556fe49.js: -------------------------------------------------------------------------------- 1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d0efc9d"],{"9a32":function(e,d){throw new Error("Module build failed (from ./node_modules/thread-loader/dist/cjs.js):\nThread Loader (Worker 2)\nDebug Failure. Output generation failed\n at PoolWorker.fromErrorObj (G:\\cloudbeike\\vue-github2021\\xueden-cloud-edu-vue3-admin\\node_modules\\thread-loader\\dist\\WorkerPool.js:262:12)\n at G:\\cloudbeike\\vue-github2021\\xueden-cloud-edu-vue3-admin\\node_modules\\thread-loader\\dist\\WorkerPool.js:204:29\n at mapSeries (G:\\cloudbeike\\vue-github2021\\xueden-cloud-edu-vue3-admin\\node_modules\\neo-async\\async.js:3625:14)\n at Object.transpileModule (G:\\cloudbeike\\vue-github2021\\xueden-cloud-edu-vue3-admin\\node_modules\\typescript\\lib\\typescript.js:123670:29)\n at getTranspilationEmit (G:\\cloudbeike\\vue-github2021\\xueden-cloud-edu-vue3-admin\\node_modules\\ts-loader\\dist\\index.js:318:74)\n at successLoader (G:\\cloudbeike\\vue-github2021\\xueden-cloud-edu-vue3-admin\\node_modules\\ts-loader\\dist\\index.js:66:15)\n at Object.loader (G:\\cloudbeike\\vue-github2021\\xueden-cloud-edu-vue3-admin\\node_modules\\ts-loader\\dist\\index.js:22:12)")}}]); -------------------------------------------------------------------------------- /doc/前端后台管理系统/xueden-cloud-edu-admin/js/chunk-2d2080c9.828f14ef.js: -------------------------------------------------------------------------------- 1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d2080c9"],{a2ac:function(e,d){throw new Error("Module build failed (from ./node_modules/thread-loader/dist/cjs.js):\nThread Loader (Worker 0)\nDebug Failure. Output generation failed\n at PoolWorker.fromErrorObj (G:\\cloudbeike\\vue-github2021\\xueden-cloud-edu-vue3-admin\\node_modules\\thread-loader\\dist\\WorkerPool.js:262:12)\n at G:\\cloudbeike\\vue-github2021\\xueden-cloud-edu-vue3-admin\\node_modules\\thread-loader\\dist\\WorkerPool.js:204:29\n at mapSeries (G:\\cloudbeike\\vue-github2021\\xueden-cloud-edu-vue3-admin\\node_modules\\neo-async\\async.js:3625:14)\n at Object.transpileModule (G:\\cloudbeike\\vue-github2021\\xueden-cloud-edu-vue3-admin\\node_modules\\typescript\\lib\\typescript.js:123670:29)\n at getTranspilationEmit (G:\\cloudbeike\\vue-github2021\\xueden-cloud-edu-vue3-admin\\node_modules\\ts-loader\\dist\\index.js:318:74)\n at successLoader (G:\\cloudbeike\\vue-github2021\\xueden-cloud-edu-vue3-admin\\node_modules\\ts-loader\\dist\\index.js:66:15)\n at Object.loader (G:\\cloudbeike\\vue-github2021\\xueden-cloud-edu-vue3-admin\\node_modules\\ts-loader\\dist\\index.js:22:12)")}}]); -------------------------------------------------------------------------------- /doc/前端后台管理系统/xueden-cloud-edu-admin/js/chunk-2d20901b.a3f1f2f0.js: -------------------------------------------------------------------------------- 1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d20901b"],{a6e5:function(e,t,n){"use strict";n.r(t);var o=n("7a23");function l(e,t,n,l,a,u){var c=Object(o["resolveComponent"])("el-option"),r=Object(o["resolveComponent"])("el-select");return Object(o["openBlock"])(),Object(o["createBlock"])(r,{modelValue:e.value,"onUpdate:modelValue":t[1]||(t[1]=function(t){return e.value=t}),clearable:""},{default:Object(o["withCtx"])((function(){return[Object(o["createVNode"])(c,{label:"头部",value:"header"}),Object(o["createVNode"])(c,{label:"底部",value:"footer"})]})),_:1},8,["modelValue"])}var a=Object(o["defineComponent"])({name:"TypeSelect",props:{modelValue:{type:String,default:""}},setup:function(e,t){var n=t.emit,l=Object(o["computed"])({get:function(){return e.modelValue},set:function(e){n("update:modelValue",e||"")}});return{value:l}}});a.render=l;t["default"]=a}}]); -------------------------------------------------------------------------------- /doc/前端后台管理系统/xueden-cloud-edu-admin/js/chunk-2d20fe5a.bdc3e98b.js: -------------------------------------------------------------------------------- 1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d20fe5a"],{b61a:function(e,n,o){"use strict";o.r(n);var t=o("7a23");function a(e,n,o,a,c,p){var r=Object(t["resolveComponent"])("spin");return Object(t["openBlock"])(),Object(t["createBlock"])(r,{style:{height:"150px"}})}var c=o("f92e"),p=Object(t["defineComponent"])({name:"PageLoading",components:{Spin:c["a"]}});p.render=a;n["default"]=p}}]); -------------------------------------------------------------------------------- /doc/前端后台管理系统/xueden-cloud-edu-admin/js/chunk-2d213b08.2d2076ee.js: -------------------------------------------------------------------------------- 1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d213b08"],{ae6d:function(e,d){throw new Error("Module build failed (from ./node_modules/thread-loader/dist/cjs.js):\nThread Loader (Worker 0)\nDebug Failure. Output generation failed\n at PoolWorker.fromErrorObj (G:\\cloudbeike\\vue-github2021\\xueden-cloud-edu-vue3-admin\\node_modules\\thread-loader\\dist\\WorkerPool.js:262:12)\n at G:\\cloudbeike\\vue-github2021\\xueden-cloud-edu-vue3-admin\\node_modules\\thread-loader\\dist\\WorkerPool.js:204:29\n at mapSeries (G:\\cloudbeike\\vue-github2021\\xueden-cloud-edu-vue3-admin\\node_modules\\neo-async\\async.js:3625:14)\n at Object.transpileModule (G:\\cloudbeike\\vue-github2021\\xueden-cloud-edu-vue3-admin\\node_modules\\typescript\\lib\\typescript.js:123670:29)\n at getTranspilationEmit (G:\\cloudbeike\\vue-github2021\\xueden-cloud-edu-vue3-admin\\node_modules\\ts-loader\\dist\\index.js:318:74)\n at successLoader (G:\\cloudbeike\\vue-github2021\\xueden-cloud-edu-vue3-admin\\node_modules\\ts-loader\\dist\\index.js:66:15)\n at Object.loader (G:\\cloudbeike\\vue-github2021\\xueden-cloud-edu-vue3-admin\\node_modules\\ts-loader\\dist\\index.js:22:12)")}}]); -------------------------------------------------------------------------------- /doc/前端后台管理系统/xueden-cloud-edu-admin/js/chunk-2d21a3a5.c55e3a4d.js: -------------------------------------------------------------------------------- 1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d21a3a5"],{bb2a:function(e,t,n){"use strict";n.r(t);var o=n("7a23");function a(e,t,n,a,l,u){var c=Object(o["resolveComponent"])("el-option"),r=Object(o["resolveComponent"])("el-select");return Object(o["openBlock"])(),Object(o["createBlock"])(r,{modelValue:e.value,"onUpdate:modelValue":t[1]||(t[1]=function(t){return e.value=t}),clearable:""},{default:Object(o["withCtx"])((function(){return[Object(o["createVNode"])(c,{label:"头部",value:"header"}),Object(o["createVNode"])(c,{label:"底部",value:"footer"})]})),_:1},8,["modelValue"])}var l=Object(o["defineComponent"])({name:"TypeSelect",props:{modelValue:{type:String,default:""}},setup:function(e,t){var n=t.emit,a=Object(o["computed"])({get:function(){return e.modelValue},set:function(e){n("update:modelValue",e||"")}});return{value:a}}});l.render=a;t["default"]=l}}]); -------------------------------------------------------------------------------- /doc/前端后台管理系统/xueden-cloud-edu-admin/js/chunk-2d21ad1c.b62f54de.js: -------------------------------------------------------------------------------- 1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d21ad1c"],{bcaf:function(e,d){throw new Error("Module build failed (from ./node_modules/thread-loader/dist/cjs.js):\nThread Loader (Worker 0)\nDebug Failure. Output generation failed\n at PoolWorker.fromErrorObj (G:\\cloudbeike\\vue-github2021\\xueden-cloud-edu-vue3-admin\\node_modules\\thread-loader\\dist\\WorkerPool.js:262:12)\n at G:\\cloudbeike\\vue-github2021\\xueden-cloud-edu-vue3-admin\\node_modules\\thread-loader\\dist\\WorkerPool.js:204:29\n at mapSeries (G:\\cloudbeike\\vue-github2021\\xueden-cloud-edu-vue3-admin\\node_modules\\neo-async\\async.js:3625:14)\n at Object.transpileModule (G:\\cloudbeike\\vue-github2021\\xueden-cloud-edu-vue3-admin\\node_modules\\typescript\\lib\\typescript.js:123670:29)\n at getTranspilationEmit (G:\\cloudbeike\\vue-github2021\\xueden-cloud-edu-vue3-admin\\node_modules\\ts-loader\\dist\\index.js:318:74)\n at successLoader (G:\\cloudbeike\\vue-github2021\\xueden-cloud-edu-vue3-admin\\node_modules\\ts-loader\\dist\\index.js:66:15)\n at Object.loader (G:\\cloudbeike\\vue-github2021\\xueden-cloud-edu-vue3-admin\\node_modules\\ts-loader\\dist\\index.js:22:12)")}}]); -------------------------------------------------------------------------------- /doc/前端后台管理系统/xueden-cloud-edu-admin/js/chunk-2d21b869.7590cf6a.js: -------------------------------------------------------------------------------- 1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d21b869"],{bfc2:function(e,d){throw new Error("Module build failed (from ./node_modules/ts-loader/index.js):\nError: Debug Failure. Output generation failed\n at Object.transpileModule (G:\\cloudbeike\\vue-github2021\\xueden-cloud-edu-vue3-admin\\node_modules\\typescript\\lib\\typescript.js:123670:29)\n at getTranspilationEmit (G:\\cloudbeike\\vue-github2021\\xueden-cloud-edu-vue3-admin\\node_modules\\ts-loader\\dist\\index.js:318:74)\n at successLoader (G:\\cloudbeike\\vue-github2021\\xueden-cloud-edu-vue3-admin\\node_modules\\ts-loader\\dist\\index.js:66:15)\n at Object.loader (G:\\cloudbeike\\vue-github2021\\xueden-cloud-edu-vue3-admin\\node_modules\\ts-loader\\dist\\index.js:22:12)")}}]); -------------------------------------------------------------------------------- /doc/前端后台管理系统/xueden-cloud-edu-admin/js/chunk-2d21e6e8.65b3dd58.js: -------------------------------------------------------------------------------- 1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d21e6e8"],{d611:function(e,t,n){"use strict";n.r(t);var o=n("7a23");function l(e,t,n,l,a,u){var c=Object(o["resolveComponent"])("el-option"),r=Object(o["resolveComponent"])("el-select");return Object(o["openBlock"])(),Object(o["createBlock"])(r,{modelValue:e.value,"onUpdate:modelValue":t[1]||(t[1]=function(t){return e.value=t}),clearable:""},{default:Object(o["withCtx"])((function(){return[Object(o["createVNode"])(c,{label:"头部",value:"header"}),Object(o["createVNode"])(c,{label:"底部",value:"footer"})]})),_:1},8,["modelValue"])}var a=Object(o["defineComponent"])({name:"TypeSelect",props:{modelValue:{type:String,default:""}},setup:function(e,t){var n=t.emit,l=Object(o["computed"])({get:function(){return e.modelValue},set:function(e){n("update:modelValue",e||"")}});return{value:l}}});a.render=l;t["default"]=a}}]); -------------------------------------------------------------------------------- /doc/前端后台管理系统/xueden-cloud-edu-admin/js/chunk-2d22275c.ce95b399.js: -------------------------------------------------------------------------------- 1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d22275c"],{cf69:function(e,d){throw new Error("Module build failed (from ./node_modules/ts-loader/index.js):\nError: Debug Failure. Output generation failed\n at Object.transpileModule (G:\\cloudbeike\\vue-github2021\\xueden-cloud-edu-vue3-admin\\node_modules\\typescript\\lib\\typescript.js:123670:29)\n at getTranspilationEmit (G:\\cloudbeike\\vue-github2021\\xueden-cloud-edu-vue3-admin\\node_modules\\ts-loader\\dist\\index.js:318:74)\n at successLoader (G:\\cloudbeike\\vue-github2021\\xueden-cloud-edu-vue3-admin\\node_modules\\ts-loader\\dist\\index.js:66:15)\n at Object.loader (G:\\cloudbeike\\vue-github2021\\xueden-cloud-edu-vue3-admin\\node_modules\\ts-loader\\dist\\index.js:22:12)")}}]); -------------------------------------------------------------------------------- /doc/前端后台管理系统/xueden-cloud-edu-admin/js/chunk-2d229093.d428eaff.js: -------------------------------------------------------------------------------- 1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d229093"],{dc75:function(e,t,o){"use strict";o.r(t);var n=o("7a23"),c=Object(n["createTextVNode"])(" Back Home ");function r(e,t,o,r,u,a){var i=Object(n["resolveComponent"])("el-button"),s=Object(n["resolveComponent"])("router-link"),b=Object(n["resolveComponent"])("result");return Object(n["openBlock"])(),Object(n["createBlock"])(b,{status:"404",title:"404",subtitle:"Sorry, the page you visited does not exist."},{extra:Object(n["withCtx"])((function(){return[Object(n["createVNode"])(s,{to:"/"},{default:Object(n["withCtx"])((function(){return[Object(n["createVNode"])(i,{type:"primary"},{default:Object(n["withCtx"])((function(){return[c]})),_:1})]})),_:1})]})),_:1})}var u=o("7a13"),a=Object(n["defineComponent"])({name:"NotFound",components:{Result:u["a"]}});a.render=r;t["default"]=a}}]); -------------------------------------------------------------------------------- /doc/前端后台管理系统/xueden-cloud-edu-admin/js/chunk-2d22bf72.aa2795cc.js: -------------------------------------------------------------------------------- 1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d22bf72"],{f0e7:function(e,c,t){"use strict";t.r(c);var n=t("7a23"),o={class:"indexlayout-main-conent"},a=Object(n["createTextVNode"])(" 此页面只有 user 与 admin 账号可以查看。 ");function r(e,c){var t=Object(n["resolveComponent"])("el-card");return Object(n["openBlock"])(),Object(n["createBlock"])("div",o,[Object(n["createVNode"])(t,{shadow:"never",class:"cus-card"},{default:Object(n["withCtx"])((function(){return[a]})),_:1})])}const d={};d.render=r;c["default"]=d}}]); -------------------------------------------------------------------------------- /doc/前端后台管理系统/xueden-cloud-edu-admin/js/chunk-2d22c2e2.9e2247ec.js: -------------------------------------------------------------------------------- 1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d22c2e2"],{f1ab:function(e,t,n){"use strict";n.r(t);var o=n("7a23");function l(e,t,n,l,a,u){var c=Object(o["resolveComponent"])("el-option"),r=Object(o["resolveComponent"])("el-select");return Object(o["openBlock"])(),Object(o["createBlock"])(r,{modelValue:e.value,"onUpdate:modelValue":t[1]||(t[1]=function(t){return e.value=t}),clearable:""},{default:Object(o["withCtx"])((function(){return[Object(o["createVNode"])(c,{label:"头部",value:"header"}),Object(o["createVNode"])(c,{label:"底部",value:"footer"})]})),_:1},8,["modelValue"])}var a=Object(o["defineComponent"])({name:"TypeSelect",props:{modelValue:{type:String,default:""}},setup:function(e,t){var n=t.emit,l=Object(o["computed"])({get:function(){return e.modelValue},set:function(e){n("update:modelValue",e||"")}});return{value:l}}});a.render=l;t["default"]=a}}]); -------------------------------------------------------------------------------- /doc/前端后台管理系统/xueden-cloud-edu-admin/js/chunk-2d22cc87.736a0699.js: -------------------------------------------------------------------------------- 1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d22cc87"],{f568:function(e,t,n){"use strict";n.r(t);var o=n("7a23");function l(e,t,n,l,a,u){var c=Object(o["resolveComponent"])("el-option"),r=Object(o["resolveComponent"])("el-select");return Object(o["openBlock"])(),Object(o["createBlock"])(r,{modelValue:e.value,"onUpdate:modelValue":t[1]||(t[1]=function(t){return e.value=t}),clearable:""},{default:Object(o["withCtx"])((function(){return[Object(o["createVNode"])(c,{label:"头部",value:"header"}),Object(o["createVNode"])(c,{label:"底部",value:"footer"})]})),_:1},8,["modelValue"])}var a=Object(o["defineComponent"])({name:"TypeSelect",props:{modelValue:{type:String,default:""}},setup:function(e,t){var n=t.emit,l=Object(o["computed"])({get:function(){return e.modelValue},set:function(e){n("update:modelValue",e||"")}});return{value:l}}});a.render=l;t["default"]=a}}]); -------------------------------------------------------------------------------- /doc/前端后台管理系统/xueden-cloud-edu-admin/js/chunk-2d2304e4.aeeca2d8.js: -------------------------------------------------------------------------------- 1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d2304e4"],{ec5e:function(e,t,l){"use strict";l.r(t);var n=l("7a23");function a(e,t,l,a,o,c){var u=Object(n["resolveComponent"])("el-option"),r=Object(n["resolveComponent"])("el-select");return Object(n["openBlock"])(),Object(n["createBlock"])(r,{modelValue:e.value,"onUpdate:modelValue":t[1]||(t[1]=function(t){return e.value=t}),clearable:""},{default:Object(n["withCtx"])((function(){return[Object(n["createVNode"])(u,{label:"请选择",value:"",disabled:""}),(Object(n["openBlock"])(!0),Object(n["createBlock"])(n["Fragment"],null,Object(n["renderList"])(e.options,(function(e){return Object(n["openBlock"])(),Object(n["createBlock"])(u,{key:e.value,label:e.label,value:e.value},null,8,["label","value"])})),128))]})),_:1},8,["modelValue"])}var o=l("5530"),c=Object(n["defineComponent"])({name:"TypeSelect",props:{modelValue:{type:String,default:""}},setup:function(e,t){var l=t.emit,a=Object(n["reactive"])({options:[{value:"POST",label:"POST"},{value:"GET",label:"GET"}]}),c=Object(n["computed"])({get:function(){return e.modelValue},set:function(e){l("update:modelValue",e||"")}});return Object(o["a"])(Object(o["a"])({},Object(n["toRefs"])(a)),{},{value:c})}});c.render=a;t["default"]=c}}]); -------------------------------------------------------------------------------- /doc/前端后台管理系统/xueden-cloud-edu-admin/js/chunk-77237d83.5c1326b0.js: -------------------------------------------------------------------------------- 1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-77237d83"],{cffb8:function(e,n,c){"use strict";c.r(n);var o=c("7a23");function t(e,n){var c=Object(o["resolveComponent"])("router-view");return Object(o["openBlock"])(),Object(o["createBlock"])(c)}const r={};r.render=t;n["default"]=r}}]); -------------------------------------------------------------------------------- /doc/前端后台管理系统/xueden-cloud-edu-admin/js/chunk-773e122f.9f26ca2b.js: -------------------------------------------------------------------------------- 1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-773e122f"],{ed88d:function(e,o,n){"use strict";n.r(o);var t=n("7a23"),c=Object(t["withScopeId"])("data-v-5315db86");Object(t["pushScopeId"])("data-v-5315db86");var d={class:"indexlayout-main-conent"},a=Object(t["createVNode"])("div",{class:"prism-player",id:"J_prismPlayer"},null,-1);Object(t["popScopeId"])();var i=c((function(e,o,n,c,i,p){return Object(t["openBlock"])(),Object(t["createBlock"])("div",d,[a])})),p=Object(t["defineComponent"])({setup:function(){Object(t["onMounted"])((function(){new window.Aliplayer({id:"J_prismPlayer",width:"100%",autoplay:!0,source:"http://imgoss.goodym.cn/goodymimgupload/201903/1551922178521.mp4"},(function(){console.log("播放器创建好了。")}))}))}});p.render=i,p.__scopeId="data-v-5315db86";o["default"]=p}}]); -------------------------------------------------------------------------------- /doc/前端讲师平台/xueden-edu-teacher-pro/edu-teacher/css/.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seasonl2014/xueden-cloud-edu/04ad2b92f042fdd954dc653d6fae5a3eaac71e68/doc/前端讲师平台/xueden-edu-teacher-pro/edu-teacher/css/.gz -------------------------------------------------------------------------------- /doc/前端讲师平台/xueden-edu-teacher-pro/edu-teacher/css/11.a6b7698f.css: -------------------------------------------------------------------------------- 1 | [data-v-9b77cf3e]:export{menuText:#bfcbd9;menuActiveText:#fff;menuActiveBg:#2d8cf0;menuBg:#001529;subMenuBg:#1f2d3d;subMenuHover:#2d8cf0;menuWidth:200px;menuMinWidth:64px}.qrcode__wrap[data-v-9b77cf3e]{display:inline-block;position:relative}.qrcode__wrap .disabled__wrap[data-v-9b77cf3e]{position:absolute;width:100%;height:100%;background:hsla(0,0%,100%,.95);top:0;left:0;display:flex;align-items:center;justify-content:center;cursor:pointer}.qrcode__wrap .disabled__wrap>div[data-v-9b77cf3e]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-weight:700}.qrcode__wrap .disabled__wrap>div i[data-v-9b77cf3e]{font-size:30px;margin-bottom:10px} -------------------------------------------------------------------------------- /doc/前端讲师平台/xueden-edu-teacher-pro/edu-teacher/css/14.43e39e3e.css: -------------------------------------------------------------------------------- 1 | [data-v-2e2b1a15]:export{menuText:#bfcbd9;menuActiveText:#fff;menuActiveBg:#2d8cf0;menuBg:#001529;subMenuBg:#1f2d3d;subMenuHover:#2d8cf0;menuWidth:200px;menuMinWidth:64px}.login-wrap[data-v-2e2b1a15]{width:100%;height:100%;background-image:url(../../edu-teacher/img/login-bg.0899ffa6.jpg);background-size:cover;background-position:50%;position:relative}.login-wrap .box-card[data-v-2e2b1a15]{width:400px}.login-wrap .box-card .login--header[data-v-2e2b1a15]{font-size:24px;font-weight:600}.login-wrap .box-card .svg-container[data-v-2e2b1a15]{color:#889aa4;vertical-align:middle;width:30px;display:inline-block}.login-wrap .box-card .form--input[data-v-2e2b1a15]{width:100%}.login-wrap .box-card .form--input[data-v-2e2b1a15] .el-input__inner{padding-left:40px}.login-wrap .box-card .login--button[data-v-2e2b1a15]{width:100%}.login-wrap .login-con[data-v-2e2b1a15]{position:absolute;right:160px;top:50%;transform:translateY(-60%)} -------------------------------------------------------------------------------- /doc/前端讲师平台/xueden-edu-teacher-pro/edu-teacher/css/2.e9308cd6.css: -------------------------------------------------------------------------------- 1 | .hljs{display:block;overflow-x:auto;padding:.5em;background:#23241f}.hljs,.hljs-subst,.hljs-tag{color:#f8f8f2}.hljs-emphasis,.hljs-strong{color:#a8a8a2}.hljs-bullet,.hljs-link,.hljs-literal,.hljs-number,.hljs-quote,.hljs-regexp{color:#ae81ff}.hljs-code,.hljs-section,.hljs-selector-class,.hljs-title{color:#a6e22e}.hljs-strong{font-weight:700}.hljs-emphasis{font-style:italic}.hljs-attr,.hljs-keyword,.hljs-name,.hljs-selector-tag{color:#f92672}.hljs-attribute,.hljs-symbol{color:#66d9ef}.hljs-class .hljs-title,.hljs-params{color:#f8f8f2}.hljs-addition,.hljs-built_in,.hljs-builtin-name,.hljs-selector-attr,.hljs-selector-id,.hljs-selector-pseudo,.hljs-string,.hljs-template-variable,.hljs-type,.hljs-variable{color:#e6db74}.hljs-comment,.hljs-deletion,.hljs-meta{color:#75715e} -------------------------------------------------------------------------------- /doc/前端讲师平台/xueden-edu-teacher-pro/edu-teacher/css/chunk-libs.902ebb66.css: -------------------------------------------------------------------------------- 1 | #nprogress{pointer-events:none}#nprogress .bar{background:#29d;position:fixed;z-index:1031;top:0;left:0;width:100%;height:2px}#nprogress .peg{display:block;position:absolute;right:0;width:100px;height:100%;box-shadow:0 0 10px #29d,0 0 5px #29d;opacity:1;transform:rotate(3deg) translateY(-4px)}#nprogress .spinner{display:block;position:fixed;z-index:1031;top:15px;right:15px}#nprogress .spinner-icon{width:18px;height:18px;box-sizing:border-box;border:2px solid transparent;border-top-color:#29d;border-left-color:#29d;border-radius:50%;-webkit-animation:nprogress-spinner .4s linear infinite;animation:nprogress-spinner .4s linear infinite}.nprogress-custom-parent{overflow:hidden;position:relative}.nprogress-custom-parent #nprogress .bar,.nprogress-custom-parent #nprogress .spinner{position:absolute}@-webkit-keyframes nprogress-spinner{0%{-webkit-transform:rotate(0deg)}to{-webkit-transform:rotate(1turn)}}@keyframes nprogress-spinner{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}} -------------------------------------------------------------------------------- /doc/前端讲师平台/xueden-edu-teacher-pro/edu-teacher/fonts/element-icons.535877f5.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seasonl2014/xueden-cloud-edu/04ad2b92f042fdd954dc653d6fae5a3eaac71e68/doc/前端讲师平台/xueden-edu-teacher-pro/edu-teacher/fonts/element-icons.535877f5.woff -------------------------------------------------------------------------------- /doc/前端讲师平台/xueden-edu-teacher-pro/edu-teacher/fonts/element-icons.732389de.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seasonl2014/xueden-cloud-edu/04ad2b92f042fdd954dc653d6fae5a3eaac71e68/doc/前端讲师平台/xueden-edu-teacher-pro/edu-teacher/fonts/element-icons.732389de.ttf -------------------------------------------------------------------------------- /doc/前端讲师平台/xueden-edu-teacher-pro/edu-teacher/img/404.a57b6f31.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seasonl2014/xueden-cloud-edu/04ad2b92f042fdd954dc653d6fae5a3eaac71e68/doc/前端讲师平台/xueden-edu-teacher-pro/edu-teacher/img/404.a57b6f31.png -------------------------------------------------------------------------------- /doc/前端讲师平台/xueden-edu-teacher-pro/edu-teacher/img/404_cloud.0f4bc32b.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seasonl2014/xueden-cloud-edu/04ad2b92f042fdd954dc653d6fae5a3eaac71e68/doc/前端讲师平台/xueden-edu-teacher-pro/edu-teacher/img/404_cloud.0f4bc32b.png -------------------------------------------------------------------------------- /doc/前端讲师平台/xueden-edu-teacher-pro/edu-teacher/img/login-bg.0899ffa6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seasonl2014/xueden-cloud-edu/04ad2b92f042fdd954dc653d6fae5a3eaac71e68/doc/前端讲师平台/xueden-edu-teacher-pro/edu-teacher/img/login-bg.0899ffa6.jpg -------------------------------------------------------------------------------- /doc/前端讲师平台/xueden-edu-teacher-pro/edu-teacher/img/logo.7e4f5e27.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seasonl2014/xueden-cloud-edu/04ad2b92f042fdd954dc653d6fae5a3eaac71e68/doc/前端讲师平台/xueden-edu-teacher-pro/edu-teacher/img/logo.7e4f5e27.png -------------------------------------------------------------------------------- /doc/前端讲师平台/xueden-edu-teacher-pro/edu-teacher/img/success.5344f959.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seasonl2014/xueden-cloud-edu/04ad2b92f042fdd954dc653d6fae5a3eaac71e68/doc/前端讲师平台/xueden-edu-teacher-pro/edu-teacher/img/success.5344f959.png -------------------------------------------------------------------------------- /doc/前端讲师平台/xueden-edu-teacher-pro/edu-teacher/js/.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seasonl2014/xueden-cloud-edu/04ad2b92f042fdd954dc653d6fae5a3eaac71e68/doc/前端讲师平台/xueden-edu-teacher-pro/edu-teacher/js/.gz -------------------------------------------------------------------------------- /doc/前端讲师平台/xueden-edu-teacher-pro/edu-teacher/js/16.5502413c.js: -------------------------------------------------------------------------------- 1 | (window.webpackJsonp=window.webpackJsonp||[]).push([[16],{"861f":function(e,r,t){"use strict";t.r(r);var n=t("7a23");t("a15b"),t("ac1f"),t("5319");var c=t("6c02"),a=Object(n.defineComponent)({setup:function(){var e=Object(c.c)(),r=e.currentRoute,t=e.replace,a=Object(n.unref)(r),o=a.params,i=a.query,u=o.path;return t({path:"/"+(Array.isArray(u)?u.join("/"):u),query:i}),{}}});a.render=function(e,r,t,c,a,o){return Object(n.openBlock)(),Object(n.createBlock)("div")},r.default=a},a15b:function(e,r,t){"use strict";var n=t("23e7"),c=t("44ad"),a=t("fc6a"),o=t("a640"),i=[].join,u=c!=Object,p=o("join",",");n({target:"Array",proto:!0,forced:u||!p},{join:function(e){return i.call(a(this),void 0===e?",":e)}})}}]); -------------------------------------------------------------------------------- /doc/前端讲师平台/xueden-edu-teacher-pro/edu-teacher/js/17.fcb5d0ca.js: -------------------------------------------------------------------------------- 1 | (window.webpackJsonp=window.webpackJsonp||[]).push([[17],{"0951":function(e,c,t){"use strict";t.r(c);var d=t("7a23"),n=Object(d.withScopeId)("data-v-35fd94fd");Object(d.pushScopeId)("data-v-35fd94fd");var a={align:"center"};Object(d.popScopeId)();var o=n((function(e,c,n,o,p,r){return Object(d.openBlock)(),Object(d.createBlock)("div",a,[Object(d.createVNode)("img",{src:t("d284")},null,8,["src"])])})),p=Object(d.defineComponent)({name:"Paysuccess"});p.render=o,p.__scopeId="data-v-35fd94fd",c.default=p},d284:function(e,c,t){e.exports=t.p+"edu-teacher/img/success.5344f959.png"}}]); -------------------------------------------------------------------------------- /doc/前端讲师平台/xueden-edu-teacher-pro/edu-teacher/js/8.96090d72.js.LICENSE.txt: -------------------------------------------------------------------------------- 1 | /*! 2 | * The buffer module from node.js, for the browser. 3 | * 4 | * @author Feross Aboukhadijeh 5 | * @license MIT 6 | */ 7 | 8 | /*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */ 9 | -------------------------------------------------------------------------------- /doc/前端讲师平台/xueden-edu-teacher-pro/edu-teacher/js/9.63f96336.js.LICENSE.txt: -------------------------------------------------------------------------------- 1 | /*! 2 | * screenfull 3 | * v5.0.2 - 2020-02-13 4 | * (c) Sindre Sorhus; MIT License 5 | */ 6 | -------------------------------------------------------------------------------- /doc/前端讲师平台/xueden-edu-teacher-pro/edu-teacher/js/chunk-element.c8180296.js.LICENSE.txt: -------------------------------------------------------------------------------- 1 | /*! ***************************************************************************** 2 | Copyright (c) Microsoft Corporation. 3 | 4 | Permission to use, copy, modify, and/or distribute this software for any 5 | purpose with or without fee is hereby granted. 6 | 7 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH 8 | REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY 9 | AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, 10 | INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM 11 | LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR 12 | OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR 13 | PERFORMANCE OF THIS SOFTWARE. 14 | ***************************************************************************** */ 15 | -------------------------------------------------------------------------------- /doc/前端讲师平台/xueden-edu-teacher-pro/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seasonl2014/xueden-cloud-edu/04ad2b92f042fdd954dc653d6fae5a3eaac71e68/doc/前端讲师平台/xueden-edu-teacher-pro/favicon.ico -------------------------------------------------------------------------------- /doc/前端讲师平台/xueden-edu-teacher-pro/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seasonl2014/xueden-cloud-edu/04ad2b92f042fdd954dc653d6fae5a3eaac71e68/doc/前端讲师平台/xueden-edu-teacher-pro/logo.png -------------------------------------------------------------------------------- /doc/前端门户网站/xueden-cloud-edu-vue-portal/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seasonl2014/xueden-cloud-edu/04ad2b92f042fdd954dc653d6fae5a3eaac71e68/doc/前端门户网站/xueden-cloud-edu-vue-portal/favicon.ico -------------------------------------------------------------------------------- /doc/前端门户网站/xueden-cloud-edu-vue-portal/static/css/chunk-54e65d12.6543776e.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seasonl2014/xueden-cloud-edu/04ad2b92f042fdd954dc653d6fae5a3eaac71e68/doc/前端门户网站/xueden-cloud-edu-vue-portal/static/css/chunk-54e65d12.6543776e.css -------------------------------------------------------------------------------- /doc/前端门户网站/xueden-cloud-edu-vue-portal/static/css/chunk-5f3b8532.6543776e.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seasonl2014/xueden-cloud-edu/04ad2b92f042fdd954dc653d6fae5a3eaac71e68/doc/前端门户网站/xueden-cloud-edu-vue-portal/static/css/chunk-5f3b8532.6543776e.css -------------------------------------------------------------------------------- /doc/前端门户网站/xueden-cloud-edu-vue-portal/static/fonts/element-icons.535877f5.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seasonl2014/xueden-cloud-edu/04ad2b92f042fdd954dc653d6fae5a3eaac71e68/doc/前端门户网站/xueden-cloud-edu-vue-portal/static/fonts/element-icons.535877f5.woff -------------------------------------------------------------------------------- /doc/前端门户网站/xueden-cloud-edu-vue-portal/static/fonts/element-icons.732389de.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seasonl2014/xueden-cloud-edu/04ad2b92f042fdd954dc653d6fae5a3eaac71e68/doc/前端门户网站/xueden-cloud-edu-vue-portal/static/fonts/element-icons.732389de.ttf -------------------------------------------------------------------------------- /doc/前端门户网站/xueden-cloud-edu-vue-portal/static/img/alipaylogo.a2b643ed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seasonl2014/xueden-cloud-edu/04ad2b92f042fdd954dc653d6fae5a3eaac71e68/doc/前端门户网站/xueden-cloud-edu-vue-portal/static/img/alipaylogo.a2b643ed.png -------------------------------------------------------------------------------- /doc/前端门户网站/xueden-cloud-edu-vue-portal/static/img/center_bg.37ad7aaa.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seasonl2014/xueden-cloud-edu/04ad2b92f042fdd954dc653d6fae5a3eaac71e68/doc/前端门户网站/xueden-cloud-edu-vue-portal/static/img/center_bg.37ad7aaa.png -------------------------------------------------------------------------------- /doc/前端门户网站/xueden-cloud-edu-vue-portal/static/img/d_bg.49a0195e.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seasonl2014/xueden-cloud-edu/04ad2b92f042fdd954dc653d6fae5a3eaac71e68/doc/前端门户网站/xueden-cloud-edu-vue-portal/static/img/d_bg.49a0195e.png -------------------------------------------------------------------------------- /doc/前端门户网站/xueden-cloud-edu-vue-portal/static/img/d_bg2.00e39d11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seasonl2014/xueden-cloud-edu/04ad2b92f042fdd954dc653d6fae5a3eaac71e68/doc/前端门户网站/xueden-cloud-edu-vue-portal/static/img/d_bg2.00e39d11.png -------------------------------------------------------------------------------- /doc/前端门户网站/xueden-cloud-edu-vue-portal/static/img/details_banner.363a142a.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seasonl2014/xueden-cloud-edu/04ad2b92f042fdd954dc653d6fae5a3eaac71e68/doc/前端门户网站/xueden-cloud-edu-vue-portal/static/img/details_banner.363a142a.png -------------------------------------------------------------------------------- /doc/前端门户网站/xueden-cloud-edu-vue-portal/static/img/list_banner.8b77796f.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seasonl2014/xueden-cloud-edu/04ad2b92f042fdd954dc653d6fae5a3eaac71e68/doc/前端门户网站/xueden-cloud-edu-vue-portal/static/img/list_banner.8b77796f.png -------------------------------------------------------------------------------- /doc/前端门户网站/xueden-cloud-edu-vue-portal/static/img/list_bg.11718f49.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seasonl2014/xueden-cloud-edu/04ad2b92f042fdd954dc653d6fae5a3eaac71e68/doc/前端门户网站/xueden-cloud-edu-vue-portal/static/img/list_bg.11718f49.png -------------------------------------------------------------------------------- /doc/前端门户网站/xueden-cloud-edu-vue-portal/static/img/logo.7e4f5e27.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seasonl2014/xueden-cloud-edu/04ad2b92f042fdd954dc653d6fae5a3eaac71e68/doc/前端门户网站/xueden-cloud-edu-vue-portal/static/img/logo.7e4f5e27.png -------------------------------------------------------------------------------- /doc/前端门户网站/xueden-cloud-edu-vue-portal/static/img/myqq.ac1db295.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seasonl2014/xueden-cloud-edu/04ad2b92f042fdd954dc653d6fae5a3eaac71e68/doc/前端门户网站/xueden-cloud-edu-vue-portal/static/img/myqq.ac1db295.jpg -------------------------------------------------------------------------------- /doc/前端门户网站/xueden-cloud-edu-vue-portal/static/img/video_bg.906601d0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seasonl2014/xueden-cloud-edu/04ad2b92f042fdd954dc653d6fae5a3eaac71e68/doc/前端门户网站/xueden-cloud-edu-vue-portal/static/img/video_bg.906601d0.png -------------------------------------------------------------------------------- /doc/前端门户网站/xueden-cloud-edu-vue-portal/static/img/wxpaylogo.7663fd15.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seasonl2014/xueden-cloud-edu/04ad2b92f042fdd954dc653d6fae5a3eaac71e68/doc/前端门户网站/xueden-cloud-edu-vue-portal/static/img/wxpaylogo.7663fd15.png -------------------------------------------------------------------------------- /images/1-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seasonl2014/xueden-cloud-edu/04ad2b92f042fdd954dc653d6fae5a3eaac71e68/images/1-1.jpg -------------------------------------------------------------------------------- /images/1-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seasonl2014/xueden-cloud-edu/04ad2b92f042fdd954dc653d6fae5a3eaac71e68/images/1-2.jpg -------------------------------------------------------------------------------- /images/1-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seasonl2014/xueden-cloud-edu/04ad2b92f042fdd954dc653d6fae5a3eaac71e68/images/1-3.jpg -------------------------------------------------------------------------------- /images/1329491-20180301101804629-1054069840-1635641102445.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seasonl2014/xueden-cloud-edu/04ad2b92f042fdd954dc653d6fae5a3eaac71e68/images/1329491-20180301101804629-1054069840-1635641102445.png -------------------------------------------------------------------------------- /images/1329491-20180301101804629-1054069840.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seasonl2014/xueden-cloud-edu/04ad2b92f042fdd954dc653d6fae5a3eaac71e68/images/1329491-20180301101804629-1054069840.png -------------------------------------------------------------------------------- /images/1329491-20180301101828137-2115610170-1635641167031.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seasonl2014/xueden-cloud-edu/04ad2b92f042fdd954dc653d6fae5a3eaac71e68/images/1329491-20180301101828137-2115610170-1635641167031.png -------------------------------------------------------------------------------- /images/1329491-20180301101828137-2115610170-1635641235406.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seasonl2014/xueden-cloud-edu/04ad2b92f042fdd954dc653d6fae5a3eaac71e68/images/1329491-20180301101828137-2115610170-1635641235406.png -------------------------------------------------------------------------------- /images/1329491-20180301101828137-2115610170.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seasonl2014/xueden-cloud-edu/04ad2b92f042fdd954dc653d6fae5a3eaac71e68/images/1329491-20180301101828137-2115610170.png -------------------------------------------------------------------------------- /images/1329491-20180301101926085-1579993277-1635641258260.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seasonl2014/xueden-cloud-edu/04ad2b92f042fdd954dc653d6fae5a3eaac71e68/images/1329491-20180301101926085-1579993277-1635641258260.png -------------------------------------------------------------------------------- /images/1329491-20180301101926085-1579993277.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seasonl2014/xueden-cloud-edu/04ad2b92f042fdd954dc653d6fae5a3eaac71e68/images/1329491-20180301101926085-1579993277.png -------------------------------------------------------------------------------- /images/2-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seasonl2014/xueden-cloud-edu/04ad2b92f042fdd954dc653d6fae5a3eaac71e68/images/2-1.jpg -------------------------------------------------------------------------------- /images/2-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seasonl2014/xueden-cloud-edu/04ad2b92f042fdd954dc653d6fae5a3eaac71e68/images/2-2.jpg -------------------------------------------------------------------------------- /images/2-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seasonl2014/xueden-cloud-edu/04ad2b92f042fdd954dc653d6fae5a3eaac71e68/images/2-3.jpg -------------------------------------------------------------------------------- /images/2-4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seasonl2014/xueden-cloud-edu/04ad2b92f042fdd954dc653d6fae5a3eaac71e68/images/2-4.jpg -------------------------------------------------------------------------------- /images/2-5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seasonl2014/xueden-cloud-edu/04ad2b92f042fdd954dc653d6fae5a3eaac71e68/images/2-5.jpg -------------------------------------------------------------------------------- /images/3-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seasonl2014/xueden-cloud-edu/04ad2b92f042fdd954dc653d6fae5a3eaac71e68/images/3-1.jpg -------------------------------------------------------------------------------- /images/3-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seasonl2014/xueden-cloud-edu/04ad2b92f042fdd954dc653d6fae5a3eaac71e68/images/3-2.jpg -------------------------------------------------------------------------------- /images/3-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seasonl2014/xueden-cloud-edu/04ad2b92f042fdd954dc653d6fae5a3eaac71e68/images/3-3.jpg -------------------------------------------------------------------------------- /images/3-4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seasonl2014/xueden-cloud-edu/04ad2b92f042fdd954dc653d6fae5a3eaac71e68/images/3-4.jpg -------------------------------------------------------------------------------- /images/3-5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seasonl2014/xueden-cloud-edu/04ad2b92f042fdd954dc653d6fae5a3eaac71e68/images/3-5.jpg -------------------------------------------------------------------------------- /images/3-6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seasonl2014/xueden-cloud-edu/04ad2b92f042fdd954dc653d6fae5a3eaac71e68/images/3-6.jpg -------------------------------------------------------------------------------- /images/3-7.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seasonl2014/xueden-cloud-edu/04ad2b92f042fdd954dc653d6fae5a3eaac71e68/images/3-7.jpg -------------------------------------------------------------------------------- /images/4-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seasonl2014/xueden-cloud-edu/04ad2b92f042fdd954dc653d6fae5a3eaac71e68/images/4-1.jpg -------------------------------------------------------------------------------- /images/4-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seasonl2014/xueden-cloud-edu/04ad2b92f042fdd954dc653d6fae5a3eaac71e68/images/4-2.jpg -------------------------------------------------------------------------------- /images/4-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seasonl2014/xueden-cloud-edu/04ad2b92f042fdd954dc653d6fae5a3eaac71e68/images/4-3.jpg -------------------------------------------------------------------------------- /images/4-4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seasonl2014/xueden-cloud-edu/04ad2b92f042fdd954dc653d6fae5a3eaac71e68/images/4-4.jpg -------------------------------------------------------------------------------- /images/4-5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seasonl2014/xueden-cloud-edu/04ad2b92f042fdd954dc653d6fae5a3eaac71e68/images/4-5.jpg -------------------------------------------------------------------------------- /images/4-6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seasonl2014/xueden-cloud-edu/04ad2b92f042fdd954dc653d6fae5a3eaac71e68/images/4-6.jpg -------------------------------------------------------------------------------- /images/image-20211101132225460.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seasonl2014/xueden-cloud-edu/04ad2b92f042fdd954dc653d6fae5a3eaac71e68/images/image-20211101132225460.png -------------------------------------------------------------------------------- /images/image-20211101132608141.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seasonl2014/xueden-cloud-edu/04ad2b92f042fdd954dc653d6fae5a3eaac71e68/images/image-20211101132608141.png -------------------------------------------------------------------------------- /images/image-20211101165005447.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seasonl2014/xueden-cloud-edu/04ad2b92f042fdd954dc653d6fae5a3eaac71e68/images/image-20211101165005447.png -------------------------------------------------------------------------------- /images/image-20211101165340550.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seasonl2014/xueden-cloud-edu/04ad2b92f042fdd954dc653d6fae5a3eaac71e68/images/image-20211101165340550.png -------------------------------------------------------------------------------- /images/image-20211101170546696.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seasonl2014/xueden-cloud-edu/04ad2b92f042fdd954dc653d6fae5a3eaac71e68/images/image-20211101170546696.png -------------------------------------------------------------------------------- /images/image-20211101200500651.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seasonl2014/xueden-cloud-edu/04ad2b92f042fdd954dc653d6fae5a3eaac71e68/images/image-20211101200500651.png -------------------------------------------------------------------------------- /images/image-20211101200635313.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seasonl2014/xueden-cloud-edu/04ad2b92f042fdd954dc653d6fae5a3eaac71e68/images/image-20211101200635313.png -------------------------------------------------------------------------------- /images/image-20211101200737174.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seasonl2014/xueden-cloud-edu/04ad2b92f042fdd954dc653d6fae5a3eaac71e68/images/image-20211101200737174.png -------------------------------------------------------------------------------- /images/image-20211101203746134.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seasonl2014/xueden-cloud-edu/04ad2b92f042fdd954dc653d6fae5a3eaac71e68/images/image-20211101203746134.png -------------------------------------------------------------------------------- /images/image-20211101203900908.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seasonl2014/xueden-cloud-edu/04ad2b92f042fdd954dc653d6fae5a3eaac71e68/images/image-20211101203900908.png -------------------------------------------------------------------------------- /images/image-20211101204846642.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seasonl2014/xueden-cloud-edu/04ad2b92f042fdd954dc653d6fae5a3eaac71e68/images/image-20211101204846642.png -------------------------------------------------------------------------------- /images/image-20211102182456846.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seasonl2014/xueden-cloud-edu/04ad2b92f042fdd954dc653d6fae5a3eaac71e68/images/image-20211102182456846.png -------------------------------------------------------------------------------- /images/image-20211102182544912.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seasonl2014/xueden-cloud-edu/04ad2b92f042fdd954dc653d6fae5a3eaac71e68/images/image-20211102182544912.png -------------------------------------------------------------------------------- /images/image-20211102182600009.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seasonl2014/xueden-cloud-edu/04ad2b92f042fdd954dc653d6fae5a3eaac71e68/images/image-20211102182600009.png -------------------------------------------------------------------------------- /images/logo.7e4f5e27.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seasonl2014/xueden-cloud-edu/04ad2b92f042fdd954dc653d6fae5a3eaac71e68/images/logo.7e4f5e27.png -------------------------------------------------------------------------------- /images/v1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seasonl2014/xueden-cloud-edu/04ad2b92f042fdd954dc653d6fae5a3eaac71e68/images/v1.jpg -------------------------------------------------------------------------------- /images/v2-1635593960636.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seasonl2014/xueden-cloud-edu/04ad2b92f042fdd954dc653d6fae5a3eaac71e68/images/v2-1635593960636.jpg -------------------------------------------------------------------------------- /images/v2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seasonl2014/xueden-cloud-edu/04ad2b92f042fdd954dc653d6fae5a3eaac71e68/images/v2.jpg -------------------------------------------------------------------------------- /images/v3-1635593969463.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seasonl2014/xueden-cloud-edu/04ad2b92f042fdd954dc653d6fae5a3eaac71e68/images/v3-1635593969463.jpg -------------------------------------------------------------------------------- /images/v3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seasonl2014/xueden-cloud-edu/04ad2b92f042fdd954dc653d6fae5a3eaac71e68/images/v3.jpg -------------------------------------------------------------------------------- /images/wx.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seasonl2014/xueden-cloud-edu/04ad2b92f042fdd954dc653d6fae5a3eaac71e68/images/wx.jpg -------------------------------------------------------------------------------- /images/zfb.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seasonl2014/xueden-cloud-edu/04ad2b92f042fdd954dc653d6fae5a3eaac71e68/images/zfb.jpg -------------------------------------------------------------------------------- /moyu-api/moyu-api-edu/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | moyu-api 7 | cn.xueden 8 | 1.0.0 9 | 10 | 4.0.0 11 | 12 | moyu-api-edu 13 | 14 | moyu-api-edu 15 | 教育微服务接口 16 | 17 | 18 | 19 | 20 | cn.xueden 21 | moyu-common-core 22 | 23 | 24 | 25 | 26 | 27 | 28 | org.springframework.boot 29 | spring-boot-maven-plugin 30 | 31 | 32 | 33 | 34 | 35 | 36 | -------------------------------------------------------------------------------- /moyu-api/moyu-api-edu/src/main/java/cn/xueden/edu/api/RemoteMemberService.java: -------------------------------------------------------------------------------- 1 | package cn.xueden.edu.api; 2 | 3 | import cn.xueden.common.core.constant.ServiceNameConstants; 4 | import cn.xueden.common.core.domain.R; 5 | 6 | import cn.xueden.common.core.edu.vo.EduMemberVO; 7 | import cn.xueden.edu.api.factory.RemoteMemberFallbackFactory; 8 | import org.springframework.cloud.openfeign.FeignClient; 9 | import org.springframework.web.bind.annotation.GetMapping; 10 | import org.springframework.web.bind.annotation.PathVariable; 11 | 12 | /**功能描述:教育平台服务接口 13 | * @Auther:梁志杰 14 | * @Date:2021/1/30 15 | * @Description:cn.xueden.edu.api 16 | * @version:1.0 17 | */ 18 | @FeignClient(contextId = "remoteMemberService", value = ServiceNameConstants.EDU_SERVICE, fallbackFactory = RemoteMemberFallbackFactory.class) 19 | public interface RemoteMemberService { 20 | 21 | /** 22 | * 通过手机号查询用户信息 23 | * 24 | * @param mobile 手机号 25 | * @return 结果 26 | */ 27 | @GetMapping(value = "/edu/member/info/{mobile}") 28 | public R getMemberInfo(@PathVariable("mobile") String mobile); 29 | } 30 | -------------------------------------------------------------------------------- /moyu-api/moyu-api-edu/src/main/java/cn/xueden/edu/api/factory/RemoteMemberFallbackFactory.java: -------------------------------------------------------------------------------- 1 | package cn.xueden.edu.api.factory; 2 | 3 | import cn.xueden.common.core.domain.R; 4 | import cn.xueden.common.core.edu.vo.EduMemberVO; 5 | import cn.xueden.edu.api.RemoteMemberService; 6 | import feign.hystrix.FallbackFactory; 7 | import org.slf4j.Logger; 8 | import org.slf4j.LoggerFactory; 9 | 10 | /** 11 | * @Auther:梁志杰 12 | * @Date:2021/1/30 13 | * @Description:cn.xueden.edu.api.factory 14 | * @version:1.0 15 | */ 16 | public class RemoteMemberFallbackFactory implements FallbackFactory { 17 | private static final Logger log = LoggerFactory.getLogger(RemoteMemberFallbackFactory.class); 18 | 19 | @Override 20 | public RemoteMemberService create(Throwable throwable) 21 | { 22 | log.error("用户服务调用失败:{}", throwable.getMessage()); 23 | return new RemoteMemberService() 24 | { 25 | @Override 26 | public R getMemberInfo(String mobile) 27 | { 28 | return R.fail("获取会员失败:" + throwable.getMessage()); 29 | } 30 | }; 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /moyu-api/moyu-api-system/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | moyu-api 7 | cn.xueden 8 | 1.0.0 9 | 10 | 4.0.0 11 | 12 | moyu-api-system 13 | 14 | moyu-api-system 15 | 系统管理微服务接口 16 | 17 | 18 | 19 | 20 | cn.xueden 21 | moyu-common-core 22 | 23 | 24 | 25 | 26 | 27 | 28 | org.springframework.boot 29 | spring-boot-maven-plugin 30 | 31 | 32 | 33 | 34 | 35 | 36 | -------------------------------------------------------------------------------- /moyu-api/moyu-api-system/src/main/java/cn/xueden/system/api/RemoteUserService.java: -------------------------------------------------------------------------------- 1 | package cn.xueden.system.api; 2 | 3 | import cn.xueden.common.core.constant.ServiceNameConstants; 4 | import cn.xueden.common.core.domain.R; 5 | import cn.xueden.system.api.factory.RemoteUserFallbackFactory; 6 | import cn.xueden.system.api.model.LoginUser; 7 | import org.springframework.cloud.openfeign.FeignClient; 8 | import org.springframework.web.bind.annotation.GetMapping; 9 | import org.springframework.web.bind.annotation.PathVariable; 10 | 11 | /**功能描述:用户服务 12 | * @Auther:梁志杰 13 | * @Date:2020/9/25 14 | * @Description:cn.xueden.system.api 15 | * @version:1.0 16 | */ 17 | @FeignClient(contextId = "remoteUserService", value = ServiceNameConstants.SYSTEM_SERVICE, fallbackFactory = RemoteUserFallbackFactory.class) 18 | public interface RemoteUserService { 19 | /** 20 | * 通过用户名查询用户信息 21 | * 22 | * @param username 用户名 23 | * @return 结果 24 | */ 25 | @GetMapping(value = "/system/user/info/{username}") 26 | public R getUserInfo(@PathVariable("username") String username); 27 | } 28 | -------------------------------------------------------------------------------- /moyu-api/moyu-api-system/src/main/java/cn/xueden/system/api/factory/RemoteUserFallbackFactory.java: -------------------------------------------------------------------------------- 1 | package cn.xueden.system.api.factory; 2 | 3 | import cn.xueden.common.core.domain.R; 4 | import cn.xueden.system.api.RemoteUserService; 5 | import cn.xueden.system.api.model.LoginUser; 6 | import feign.hystrix.FallbackFactory; 7 | import org.slf4j.Logger; 8 | import org.slf4j.LoggerFactory; 9 | 10 | /**功能描述:用户服务降级处理 11 | * @Auther:梁志杰 12 | * @Date:2020/9/25 13 | * @Description:cn.xueden.system.api.factory 14 | * @version:1.0 15 | */ 16 | public class RemoteUserFallbackFactory implements FallbackFactory { 17 | private static final Logger log = LoggerFactory.getLogger(RemoteUserFallbackFactory.class); 18 | 19 | @Override 20 | public RemoteUserService create(Throwable throwable) 21 | { 22 | log.error("用户服务调用失败:{}", throwable.getMessage()); 23 | return new RemoteUserService() 24 | { 25 | @Override 26 | public R getUserInfo(String username) 27 | { 28 | return R.fail("获取用户失败:" + throwable.getMessage()); 29 | } 30 | }; 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /moyu-api/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | moyu-cloud 7 | cn.xueden 8 | 1.0.0 9 | 10 | 4.0.0 11 | 12 | moyu-api 13 | pom 14 | 15 | moyu-api 16 | 接口模块 17 | 18 | moyu-api-system 19 | moyu-api-edu 20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /moyu-auth/Dockerfile: -------------------------------------------------------------------------------- 1 | #获取base image 2 | FROM adoptopenjdk/openjdk8:latest 3 | MAINTAINER moyu 11184629@qq.com 4 | 5 | #类似于linux copy指令 6 | COPY moyu-auth-1.0.0.jar /opt/app/layuicloud/ 7 | #对外端口 8 | EXPOSE 8000 9 | #执行命令 java -jar /opt/app/layuicloud/moyu-auth-1.0.0.jar 10 | ENTRYPOINT ["java","-Xmx256m", "-jar", "/opt/app/layuicloud/moyu-auth-1.0.0.jar","--spring.profiles.active=dev","-c"] 11 | -------------------------------------------------------------------------------- /moyu-auth/src/main/java/cn/xueden/auth/MoYuAuthApplication.java: -------------------------------------------------------------------------------- 1 | package cn.xueden.auth; 2 | 3 | import cn.xueden.common.security.annotation.EnableMoYuFeignClients; 4 | import org.springframework.beans.factory.annotation.Value; 5 | import org.springframework.boot.SpringApplication; 6 | import org.springframework.boot.autoconfigure.SpringBootApplication; 7 | import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration; 8 | import org.springframework.cloud.client.SpringCloudApplication; 9 | import org.springframework.cloud.context.config.annotation.RefreshScope; 10 | import org.springframework.web.bind.annotation.RequestMapping; 11 | import org.springframework.web.bind.annotation.RestController; 12 | 13 | /** 14 | * 认证授权中心 15 | * 16 | */ 17 | @EnableMoYuFeignClients 18 | @SpringBootApplication(exclude = {DataSourceAutoConfiguration.class }) 19 | @RestController 20 | @RefreshScope 21 | public class MoYuAuthApplication 22 | { 23 | public static void main( String[] args ) 24 | { 25 | SpringApplication.run(MoYuAuthApplication.class, args); 26 | } 27 | 28 | /* @Value("${nacos.config}") 29 | private String config; 30 | 31 | @RequestMapping("/getValue") 32 | public String getValue() { 33 | return config; 34 | }*/ 35 | } 36 | -------------------------------------------------------------------------------- /moyu-auth/src/main/java/cn/xueden/auth/form/LoginMemberBody.java: -------------------------------------------------------------------------------- 1 | package cn.xueden.auth.form; 2 | 3 | import lombok.Data; 4 | 5 | /** 6 | * @Auther:梁志杰 7 | * @Date:2021/1/30 8 | * @Description:cn.xueden.auth.form 9 | * @version:1.0 10 | */ 11 | @Data 12 | public class LoginMemberBody { 13 | 14 | /** 15 | * 手机号 16 | */ 17 | private String mobile; 18 | 19 | /** 20 | * 用户密码 21 | */ 22 | private String password; 23 | 24 | /** 25 | * 验证码 26 | */ 27 | private String code; 28 | 29 | /** 30 | * 唯一标识 31 | */ 32 | private String uuid = ""; 33 | } 34 | -------------------------------------------------------------------------------- /moyu-auth/src/main/resources/banner.txt: -------------------------------------------------------------------------------- 1 | _ _ 2 | _ __ ___ ___ _ _ _ _ __ _ _ _| |_| |__ 3 | | '_ ` _ \ / _ \| | | | | | |_____ / _` | | | | __| '_ \ 4 | | | | | | | (_) | |_| | |_| |_____| (_| | |_| | |_| | | | 5 | |_| |_| |_|\___/ \__, |\__,_| \__,_|\__,_|\__|_| |_| 6 | |___/ 7 | Spring Boot Version: ${spring-boot.version} 8 | Spring Application Name: ${spring.application.name} -------------------------------------------------------------------------------- /moyu-auth/src/main/resources/bootstrap.yml: -------------------------------------------------------------------------------- 1 | server: 2 | port: 8000 3 | 4 | # Spring 5 | spring: 6 | application: 7 | # 应用名称 8 | name: moyu-auth 9 | profiles: 10 | # 环境配置 11 | active: dev 12 | main: 13 | allow-bean-definition-overriding: true 14 | cloud: 15 | nacos: 16 | discovery: 17 | # 服务注册地址 18 | server-addr: nacos:8848 19 | config: 20 | # 配置中心地址 21 | server-addr: nacos:8848 22 | # 配置文件格式 23 | file-extension: yml 24 | # 共享配置 25 | shared-dataids: application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} 26 | #本地 默认为Public命名空间,可以省略不写,新建的命名空间,需要使用命名空间ID, 不能使用名称 27 | namespace: 5c3c4829-f937-4d50-aec1-95f0afc1ef73 28 | #指定配置群组 --如果是Public命名空间 则可以省略群组配置 29 | group: AUTH_GROUP 30 | -------------------------------------------------------------------------------- /moyu-common/moyu-common-alipay/src/main/java/cn/xueden/alipay/utils/StringUtils.java: -------------------------------------------------------------------------------- 1 | package cn.xueden.alipay.utils; 2 | 3 | import java.io.BufferedReader; 4 | import java.io.File; 5 | import java.io.FileReader; 6 | 7 | /** 8 | * @Auther:梁志杰 9 | * @Date:2021/5/22 10 | * @Description:cn.xueden.alipay.utils 11 | * @version:1.0 12 | */ 13 | public class StringUtils { 14 | // 读取文件 15 | public static String readFileOfTxt(File file) { 16 | String result = ""; 17 | try{ 18 | BufferedReader br = new BufferedReader(new FileReader(file));//构造一个BufferedReader类来读取文件 19 | String s = null; 20 | while((s = br.readLine())!=null){//使用readLine方法,一次读一行 21 | result = result +s; 22 | } 23 | br.close(); 24 | }catch(Exception e){ 25 | e.printStackTrace(); 26 | } 27 | return result; 28 | 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /moyu-common/moyu-common-alipay/src/main/resources/META-INF/spring.factories: -------------------------------------------------------------------------------- 1 | org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ 2 | cn.xueden.alipay.config.AliPayConfig,\ 3 | cn.xueden.alipay.service.AliPayService,\ 4 | cn.xueden.alipay.config.InitConfig 5 | 6 | 7 | -------------------------------------------------------------------------------- /moyu-common/moyu-common-alivod/src/main/java/cn/xueden/alivod/utils/AliyunVODSDKUtils.java: -------------------------------------------------------------------------------- 1 | package cn.xueden.alivod.utils; 2 | 3 | import com.aliyuncs.DefaultAcsClient; 4 | import com.aliyuncs.exceptions.ClientException; 5 | import com.aliyuncs.profile.DefaultProfile; 6 | 7 | /**阿里云视频点播sdk初始化操作 8 | * @Auther:梁志杰 9 | * @Date:2021/1/20 10 | * @Description:cn.xueden.alivod.utils 11 | * @version:1.0 12 | */ 13 | public class AliyunVODSDKUtils { 14 | public static DefaultAcsClient initVodClient(String accessKeyId, String accessKeySecret) throws ClientException { 15 | String regionId = "cn-shanghai"; // 点播服务接入区域上海 16 | DefaultProfile profile = DefaultProfile.getProfile(regionId, accessKeyId, accessKeySecret); 17 | 18 | DefaultAcsClient client = new DefaultAcsClient(profile); 19 | return client; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /moyu-common/moyu-common-alivod/src/main/resources/META-INF/spring.factories: -------------------------------------------------------------------------------- 1 | org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ 2 | cn.xueden.alivod.utils.ConstantPropertiesUtil 3 | 4 | 5 | -------------------------------------------------------------------------------- /moyu-common/moyu-common-core/src/main/java/cn/xueden/common/core/constant/CacheConstants.java: -------------------------------------------------------------------------------- 1 | package cn.xueden.common.core.constant; 2 | 3 | /**功能描述:缓存的key 常量 4 | * @Auther:梁志杰 5 | * @Date:2020/9/24 6 | * @Description:cn.xueden.common.core.constant 7 | * @version:1.0 8 | */ 9 | public class CacheConstants { 10 | 11 | /** 12 | * 令牌自定义标识 13 | */ 14 | public static final String HEADER = "Authorization"; 15 | 16 | /** 17 | * 令牌前缀 18 | */ 19 | public static final String TOKEN_PREFIX = "Bearer "; 20 | 21 | /** 22 | * 权限缓存前缀 23 | */ 24 | public final static String LOGIN_TOKEN_KEY = "login_tokens:"; 25 | 26 | /** 27 | * 用户ID字段 28 | */ 29 | public static final String DETAILS_USER_ID = "user_id"; 30 | 31 | /** 32 | * 用户名字段 33 | */ 34 | public static final String DETAILS_USERNAME = "username"; 35 | } 36 | -------------------------------------------------------------------------------- /moyu-common/moyu-common-core/src/main/java/cn/xueden/common/core/constant/ServiceNameConstants.java: -------------------------------------------------------------------------------- 1 | package cn.xueden.common.core.constant; 2 | 3 | /**功能描述:微服务名称 4 | * @Auther:梁志杰 5 | * @Date:2020/9/25 6 | * @Description:cn.xueden.common.core.constant 7 | * @version:1.0 8 | */ 9 | public class ServiceNameConstants { 10 | 11 | /** 12 | * 认证服务的serviceid 13 | */ 14 | public static final String AUTH_SERVICE = "moyu-auth"; 15 | 16 | /** 17 | * 系统模块的serviceid 18 | */ 19 | public static final String SYSTEM_SERVICE = "moyu-system"; 20 | 21 | /** 22 | * 教育模块的serviceid 23 | */ 24 | public static final String EDU_SERVICE = "moyu-edu"; 25 | } 26 | -------------------------------------------------------------------------------- /moyu-common/moyu-common-core/src/main/java/cn/xueden/common/core/constant/UserConstants.java: -------------------------------------------------------------------------------- 1 | package cn.xueden.common.core.constant; 2 | 3 | /**功能描述:用户常量信息 4 | * @Auther:梁志杰 5 | * @Date:2020/9/25 6 | * @Description:cn.xueden.common.core.constant 7 | * @version:1.0 8 | */ 9 | public class UserConstants { 10 | 11 | /** 12 | * 用户名长度限制 13 | */ 14 | public static final int MOBILE_MIN_LENGTH = 11; 15 | 16 | /** 17 | * 用户名长度限制 18 | */ 19 | public static final int USERNAME_MIN_LENGTH = 2; 20 | 21 | public static final int USERNAME_MAX_LENGTH = 20; 22 | 23 | /** 24 | * 密码长度限制 25 | */ 26 | public static final int PASSWORD_MIN_LENGTH = 5; 27 | 28 | public static final int PASSWORD_MAX_LENGTH = 20; 29 | } 30 | -------------------------------------------------------------------------------- /moyu-common/moyu-common-core/src/main/java/cn/xueden/common/core/edu/domain/EduBanner.java: -------------------------------------------------------------------------------- 1 | package cn.xueden.common.core.edu.domain; 2 | 3 | import cn.xueden.common.core.web.domain.DataEntity; 4 | import com.baomidou.mybatisplus.annotation.TableName; 5 | import io.swagger.annotations.ApiModelProperty; 6 | import lombok.Data; 7 | 8 | /**功能描述:首页幻灯片实体类 9 | * @Auther:梁志杰 10 | * @Date:2021/2/19 11 | * @Description:cn.xueden.common.core.edu.domain 12 | * @version:1.0 13 | */ 14 | @Data 15 | @TableName("edu_banner") 16 | public class EduBanner extends DataEntity { 17 | 18 | @ApiModelProperty(value = "链接地址") 19 | private String url; 20 | 21 | @ApiModelProperty(value = "标题") 22 | private String title; 23 | 24 | @ApiModelProperty(value = "封面") 25 | private String img; 26 | 27 | @ApiModelProperty(value = "等级排序") 28 | private Integer level; 29 | } 30 | -------------------------------------------------------------------------------- /moyu-common/moyu-common-core/src/main/java/cn/xueden/common/core/edu/domain/EduCashOutDetails.java: -------------------------------------------------------------------------------- 1 | package cn.xueden.common.core.edu.domain; 2 | 3 | import cn.xueden.common.core.web.domain.DataEntity; 4 | import com.baomidou.mybatisplus.annotation.TableName; 5 | import io.swagger.annotations.ApiModelProperty; 6 | import lombok.Data; 7 | 8 | /**功能描述:讲师提现明细实体类 9 | * @Auther:梁志杰 10 | * @Date:2021/5/26 11 | * @Description:cn.xueden.common.core.edu.domain 12 | * @version:1.0 13 | */ 14 | @Data 15 | @TableName("edu_cashout_details") 16 | public class EduCashOutDetails extends DataEntity { 17 | 18 | @ApiModelProperty(value = "课程讲师ID") 19 | private Long teacherId; 20 | 21 | @ApiModelProperty(value = "提款账号") 22 | private String bankCard; 23 | 24 | @ApiModelProperty(value = "开户人") 25 | private String name; 26 | 27 | @ApiModelProperty(value = "提现金额") 28 | private Double cashOut; 29 | 30 | @ApiModelProperty(value = "状态,0待审核 1 付款完成") 31 | private Integer status; 32 | 33 | 34 | 35 | } 36 | -------------------------------------------------------------------------------- /moyu-common/moyu-common-core/src/main/java/cn/xueden/common/core/edu/domain/EduChapter.java: -------------------------------------------------------------------------------- 1 | package cn.xueden.common.core.edu.domain; 2 | 3 | import cn.xueden.common.core.web.domain.DataEntity; 4 | 5 | import com.baomidou.mybatisplus.annotation.TableName; 6 | import io.swagger.annotations.ApiModelProperty; 7 | import lombok.Data; 8 | 9 | import java.util.Date; 10 | 11 | /**功能描述:课程大章实体类 12 | * @Auther:梁志杰 13 | * @Date:2021/1/24 14 | * @Description:cn.xueden.common.core.edu.domain 15 | * @version:1.0 16 | */ 17 | @Data 18 | @TableName("edu_chapter") 19 | public class EduChapter extends DataEntity { 20 | 21 | @ApiModelProperty(value = "课程ID") 22 | private Long courseId; 23 | 24 | @ApiModelProperty(value = "章节名称") 25 | private String title; 26 | 27 | @ApiModelProperty(value = "章节时长") 28 | private Float duration; 29 | 30 | @ApiModelProperty(value = "显示排序") 31 | private Integer sort; 32 | 33 | } 34 | -------------------------------------------------------------------------------- /moyu-common/moyu-common-core/src/main/java/cn/xueden/common/core/edu/domain/EduEnvironmenParam.java: -------------------------------------------------------------------------------- 1 | package cn.xueden.common.core.edu.domain; 2 | 3 | import cn.xueden.common.core.web.domain.DataEntity; 4 | import com.baomidou.mybatisplus.annotation.TableName; 5 | import io.swagger.annotations.ApiModelProperty; 6 | import lombok.Data; 7 | 8 | /**功能描述:开发环境实体类 9 | * @Auther:梁志杰 10 | * @Date:2021/2/11 11 | * @Description:cn.xueden.common.core.edu.domain 12 | * @version:1.0 13 | */ 14 | @Data 15 | @TableName("edu_environmen_param") 16 | public class EduEnvironmenParam extends DataEntity { 17 | 18 | @ApiModelProperty(value = "课程ID") 19 | private Long courseId; 20 | 21 | @ApiModelProperty(value = "参数名称") 22 | private String name; 23 | 24 | @ApiModelProperty(value = "参数值") 25 | private String value; 26 | 27 | } 28 | -------------------------------------------------------------------------------- /moyu-common/moyu-common-core/src/main/java/cn/xueden/common/core/edu/domain/EduIncomeDetails.java: -------------------------------------------------------------------------------- 1 | package cn.xueden.common.core.edu.domain; 2 | 3 | import cn.xueden.common.core.web.domain.DataEntity; 4 | import com.baomidou.mybatisplus.annotation.TableName; 5 | import io.swagger.annotations.ApiModelProperty; 6 | import lombok.Data; 7 | 8 | import java.math.BigDecimal; 9 | 10 | /**功能描述:讲师收入明细实体类 11 | * @Auther:梁志杰 12 | * @Date:2021/5/26 13 | * @Description:cn.xueden.common.core.edu.domain 14 | * @version:1.0 15 | */ 16 | @Data 17 | @TableName("edu_income_details") 18 | public class EduIncomeDetails extends DataEntity { 19 | @ApiModelProperty(value = "会员ID") 20 | private Long memberId; 21 | 22 | @ApiModelProperty(value = "课程讲师ID") 23 | private Long teacherId; 24 | 25 | @ApiModelProperty(value = "订单编号") 26 | private String orderNo; 27 | 28 | @ApiModelProperty(value = "课程ID") 29 | private Long courseId; 30 | 31 | @ApiModelProperty(value = "课程销售价格") 32 | private Double price; 33 | 34 | @ApiModelProperty(value = "课程收益") 35 | private Double income; 36 | 37 | 38 | 39 | } 40 | -------------------------------------------------------------------------------- /moyu-common/moyu-common-core/src/main/java/cn/xueden/common/core/edu/domain/EduKeyword.java: -------------------------------------------------------------------------------- 1 | package cn.xueden.common.core.edu.domain; 2 | 3 | import cn.xueden.common.core.web.domain.DataEntity; 4 | import com.baomidou.mybatisplus.annotation.TableName; 5 | import io.swagger.annotations.ApiModelProperty; 6 | import lombok.Data; 7 | 8 | /**功能描述:关键词实体类 9 | * @Auther:梁志杰 10 | * @Date:2021/2/17 11 | * @Description:cn.xueden.common.core.edu.domain 12 | * @version:1.0 13 | */ 14 | @Data 15 | @TableName("edu_keyword") 16 | public class EduKeyword extends DataEntity { 17 | 18 | @ApiModelProperty(value = "关键词") 19 | private String name; 20 | 21 | @ApiModelProperty(value = "搜索次数") 22 | private Integer num; 23 | } 24 | -------------------------------------------------------------------------------- /moyu-common/moyu-common-core/src/main/java/cn/xueden/common/core/edu/domain/EduSubject.java: -------------------------------------------------------------------------------- 1 | package cn.xueden.common.core.edu.domain; 2 | 3 | import cn.xueden.common.core.web.domain.DataEntity; 4 | import com.baomidou.mybatisplus.annotation.TableName; 5 | import lombok.Data; 6 | 7 | import java.util.Date; 8 | 9 | /**功能描述:课程分类实体类 10 | * @Auther:梁志杰 11 | * @Date:2021/1/19 12 | * @Description:cn.xueden.common.core.edu.domain 13 | * @version:1.0 14 | */ 15 | @Data 16 | @TableName("edu_subject") 17 | public class EduSubject extends DataEntity { 18 | 19 | 20 | private String name; 21 | 22 | private Long cateId;// 对应阿里云视频点播分类 23 | 24 | private Integer sort; 25 | 26 | private Date createDate; 27 | 28 | private Date updateDate; 29 | 30 | private Long parentId; 31 | } 32 | -------------------------------------------------------------------------------- /moyu-common/moyu-common-core/src/main/java/cn/xueden/common/core/edu/domain/EduVipType.java: -------------------------------------------------------------------------------- 1 | package cn.xueden.common.core.edu.domain; 2 | 3 | import cn.xueden.common.core.web.domain.DataEntity; 4 | 5 | import com.baomidou.mybatisplus.annotation.TableName; 6 | import io.swagger.annotations.ApiModelProperty; 7 | import lombok.Data; 8 | 9 | import java.util.Date; 10 | 11 | /**功能描述:会员类型实体类 12 | * @Auther:梁志杰 13 | * @Date:2021/1/31 14 | * @Description:cn.xueden.common.core.edu.domain 15 | * @version:1.0 16 | */ 17 | @Data 18 | @TableName("edu_vip_type") 19 | public class EduVipType extends DataEntity { 20 | 21 | @ApiModelProperty(value = "类型名称") 22 | private String name; 23 | 24 | @ApiModelProperty(value = "会员价格") 25 | private Double vipMoney; 26 | 27 | } -------------------------------------------------------------------------------- /moyu-common/moyu-common-core/src/main/java/cn/xueden/common/core/edu/domain/EduVipTypeSubject.java: -------------------------------------------------------------------------------- 1 | package cn.xueden.common.core.edu.domain; 2 | 3 | import cn.xueden.common.core.web.domain.DataEntity; 4 | 5 | import com.baomidou.mybatisplus.annotation.TableName; 6 | import io.swagger.annotations.ApiModelProperty; 7 | import lombok.Data; 8 | 9 | import java.util.Date; 10 | 11 | /**功能描述:会员类别和栏目关系实体类 12 | * @Auther:梁志杰 13 | * @Date:2021/1/31 14 | * @Description:cn.xueden.common.core.edu.domain 15 | * @version:1.0 16 | */ 17 | @Data 18 | @TableName("edu_vip_type_subject") 19 | public class EduVipTypeSubject extends DataEntity { 20 | 21 | @ApiModelProperty(value = "会员类别ID") 22 | private Long vipId; 23 | 24 | @ApiModelProperty(value = "课程类别ID") 25 | private Long subjectId; 26 | 27 | } 28 | -------------------------------------------------------------------------------- /moyu-common/moyu-common-core/src/main/java/cn/xueden/common/core/edu/dto/CategoryDto.java: -------------------------------------------------------------------------------- 1 | package cn.xueden.common.core.edu.dto; 2 | 3 | import lombok.Data; 4 | 5 | /**视频分类dto 6 | * @Auther:梁志杰 7 | * @Date:2021/1/20 8 | * @Description:cn.xueden.common.core.edu.dto 9 | * @version:1.0 10 | */ 11 | @Data 12 | public class CategoryDto { 13 | /** 14 | * 父级Id 15 | */ 16 | private Long parentId; 17 | 18 | /** 19 | * 分类Id 20 | */ 21 | private Long cateId; 22 | 23 | /** 24 | * 分类名称 25 | */ 26 | private String cateName; 27 | 28 | /** 29 | * 分类级别 30 | */ 31 | private Long level; 32 | } 33 | -------------------------------------------------------------------------------- /moyu-common/moyu-common-core/src/main/java/cn/xueden/common/core/edu/enums/PayStatus.java: -------------------------------------------------------------------------------- 1 | package cn.xueden.common.core.edu.enums; 2 | 3 | /**功能描述:订单状态 4 | * @Auther:梁志杰 5 | * @Date:2021/2/18 6 | * @Description:cn.xueden.common.core.edu.enums 7 | * @version:1.0 8 | */ 9 | public enum PayStatus { 10 | NO_PAY("0", "未付款"), 11 | YES_PAY("1", "已付款"), 12 | REFUND_PAY("2", "已退款"); 13 | 14 | private final String code; 15 | 16 | private final String info; 17 | 18 | PayStatus(String code, String info) { 19 | this.code = code; 20 | this.info = info; 21 | } 22 | 23 | public String getCode() { 24 | return code; 25 | } 26 | 27 | public String getInfo() { 28 | return info; 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /moyu-common/moyu-common-core/src/main/java/cn/xueden/common/core/edu/vo/EduCashOutDetailsVO.java: -------------------------------------------------------------------------------- 1 | package cn.xueden.common.core.edu.vo; 2 | 3 | import lombok.Data; 4 | 5 | /**功能描述:讲师提现视图对象 6 | * @Auther:梁志杰 7 | * @Date:2021/5/28 8 | * @Description:cn.xueden.common.core.edu.vo 9 | * @version:1.0 10 | */ 11 | @Data 12 | public class EduCashOutDetailsVO { 13 | 14 | private Long teacherId; 15 | 16 | private String bankCard; 17 | 18 | private Integer status; 19 | 20 | } 21 | -------------------------------------------------------------------------------- /moyu-common/moyu-common-core/src/main/java/cn/xueden/common/core/edu/vo/EduChapterVO.java: -------------------------------------------------------------------------------- 1 | package cn.xueden.common.core.edu.vo; 2 | 3 | import cn.xueden.common.core.edu.domain.EduVideo; 4 | import lombok.Data; 5 | 6 | import java.util.Date; 7 | import java.util.List; 8 | 9 | /**功能描述:章节视图对象 10 | * @Auther:梁志杰 11 | * @Date:2021/1/24 12 | * @Description:cn.xueden.common.core.edu.vo 13 | * @version:1.0 14 | */ 15 | @Data 16 | public class EduChapterVO { 17 | private Long id; 18 | 19 | private Long courseId; 20 | 21 | private String title; 22 | 23 | private String remarks; 24 | 25 | private Float duration; 26 | 27 | private Integer sort; 28 | 29 | private Date createDate; 30 | 31 | private Date updateDate; 32 | 33 | private List children; 34 | } 35 | 36 | -------------------------------------------------------------------------------- /moyu-common/moyu-common-core/src/main/java/cn/xueden/common/core/edu/vo/EduIncomeDetailsVO.java: -------------------------------------------------------------------------------- 1 | package cn.xueden.common.core.edu.vo; 2 | 3 | import io.swagger.annotations.ApiModelProperty; 4 | import lombok.Data; 5 | 6 | import java.math.BigDecimal; 7 | import java.util.Date; 8 | 9 | /**功能描述:讲师收益视图对象 10 | * @Auther:梁志杰 11 | * @Date:2021/5/26 12 | * @Description:cn.xueden.common.core.edu.vo 13 | * @version:1.0 14 | */ 15 | @Data 16 | public class EduIncomeDetailsVO { 17 | 18 | 19 | // 会员ID 20 | private Long memberId; 21 | 22 | // 会员名称 23 | private String memberName; 24 | 25 | // 讲师ID 26 | private Long teacherId; 27 | 28 | // 订单编号 29 | private String orderNo; 30 | 31 | // 课程ID 32 | private Long courseId; 33 | 34 | // 课程名称 35 | private String courseName; 36 | 37 | // 课程价格 38 | private Double price; 39 | 40 | // 课程收益 41 | private Double income; 42 | 43 | // 交易日期 44 | protected Date createDate; 45 | } 46 | -------------------------------------------------------------------------------- /moyu-common/moyu-common-core/src/main/java/cn/xueden/common/core/edu/vo/EduMemberBuyCourseVO.java: -------------------------------------------------------------------------------- 1 | package cn.xueden.common.core.edu.vo; 2 | 3 | import cn.xueden.common.core.edu.domain.EduCourse; 4 | import io.swagger.annotations.ApiModelProperty; 5 | import lombok.Data; 6 | 7 | import java.math.BigDecimal; 8 | 9 | /** 10 | * @Auther:梁志杰 11 | * @Date:2021/2/18 12 | * @Description:cn.xueden.common.core.edu.vo 13 | * @version:1.0 14 | */ 15 | @Data 16 | public class EduMemberBuyCourseVO { 17 | 18 | private String orderNo; 19 | 20 | private Long courseId; 21 | 22 | private Long memberId; 23 | 24 | private BigDecimal price; 25 | 26 | private Long buyType; 27 | 28 | private Integer isPayment; 29 | 30 | private String payChannel; 31 | 32 | private String country; 33 | 34 | private String area; 35 | 36 | private String province; 37 | 38 | private String city; 39 | 40 | private String isp; 41 | 42 | // 课程对象信息 43 | private EduCourse eduCourse; 44 | } 45 | -------------------------------------------------------------------------------- /moyu-common/moyu-common-core/src/main/java/cn/xueden/common/core/edu/vo/EduMemberVO.java: -------------------------------------------------------------------------------- 1 | package cn.xueden.common.core.edu.vo; 2 | 3 | import lombok.Data; 4 | 5 | import java.util.Date; 6 | 7 | /**功能描述:会员实体对象 8 | * @Auther:梁志杰 9 | * @Date:2021/1/30 10 | * @Description:cn.xueden.common.core.edu.vo 11 | * @version:1.0 12 | */ 13 | @Data 14 | public class EduMemberVO { 15 | 16 | private Long id; 17 | 18 | private Long userid; 19 | 20 | private String username; 21 | 22 | private String openid; 23 | 24 | private String mobile; 25 | 26 | private String password; 27 | 28 | private String nickname; 29 | 30 | private String email; 31 | 32 | private Integer sex; 33 | 34 | private String avatar; 35 | 36 | private String sign; 37 | 38 | private int isTeacher; 39 | 40 | private Long teacherId; 41 | 42 | private Long vipId; 43 | 44 | private String vipType; 45 | 46 | private String token; 47 | 48 | /** 49 | * 登陆时间 50 | */ 51 | private Long loginTime; 52 | 53 | /** 54 | * 过期时间 55 | */ 56 | private Long expireTime; 57 | 58 | /** 59 | * 验证码 60 | */ 61 | private String code; 62 | } 63 | -------------------------------------------------------------------------------- /moyu-common/moyu-common-core/src/main/java/cn/xueden/common/core/edu/vo/EduTeacherVO.java: -------------------------------------------------------------------------------- 1 | package cn.xueden.common.core.edu.vo; 2 | 3 | import lombok.Data; 4 | 5 | import java.util.Date; 6 | 7 | /**功能描述:讲师视图对象类 8 | * @Auther:梁志杰 9 | * @Date:2021/1/22 10 | * @Description:cn.xueden.common.core.edu.vo 11 | * @version:1.0 12 | */ 13 | @Data 14 | public class EduTeacherVO { 15 | 16 | // 讲师ID 17 | private Long id; 18 | 19 | // 讲师姓名 20 | private String name; 21 | 22 | // 讲师资历,一句话说明讲师 23 | private String intro; 24 | 25 | // 讲师简介 26 | private String remarks; 27 | 28 | // 讲师头像 29 | private String avatar; 30 | 31 | // 头衔 1高级讲师 2首席讲师 32 | private Integer level; 33 | 34 | // 排序 35 | private Integer sort; 36 | 37 | // 创建时间 38 | private Date createDate; 39 | 40 | // 修改时间 41 | private Date updateDate; 42 | } 43 | -------------------------------------------------------------------------------- /moyu-common/moyu-common-core/src/main/java/cn/xueden/common/core/edu/vo/EduVideoMemberVO.java: -------------------------------------------------------------------------------- 1 | package cn.xueden.common.core.edu.vo; 2 | 3 | import cn.xueden.common.core.edu.domain.EduVideo; 4 | import lombok.Data; 5 | 6 | /**功能描述:视频观看记录视图类 7 | * @Auther:梁志杰 8 | * @Date:2021/2/18 9 | * @Description:cn.xueden.common.core.edu.vo 10 | * @version:1.0 11 | */ 12 | @Data 13 | public class EduVideoMemberVO { 14 | 15 | private Long playCount; 16 | 17 | private Float duration; 18 | 19 | private EduVideo eduVideo; 20 | } 21 | -------------------------------------------------------------------------------- /moyu-common/moyu-common-core/src/main/java/cn/xueden/common/core/edu/vo/EduVideoVO.java: -------------------------------------------------------------------------------- 1 | package cn.xueden.common.core.edu.vo; 2 | 3 | import com.fasterxml.jackson.annotation.JsonFormat; 4 | import lombok.Data; 5 | 6 | import java.util.Date; 7 | 8 | /**功能描述:课程小节视图类 9 | * @Auther:梁志杰 10 | * @Date:2021/1/30 11 | * @Description:cn.xueden.common.core.edu.vo 12 | * @version:1.0 13 | */ 14 | @Data 15 | public class EduVideoVO { 16 | private Long id; 17 | 18 | private Long courseId; 19 | 20 | private Long chapterId; 21 | 22 | private String title; 23 | 24 | private Integer sort; 25 | 26 | private Long playCount; 27 | 28 | private Integer isFree; 29 | 30 | private String videoSourceId; 31 | 32 | private Float duration; 33 | 34 | private Integer previewDuration; // 预览时长 35 | 36 | private String status; 37 | 38 | private Long size; 39 | 40 | private Long version; 41 | 42 | @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") 43 | private Date createDate; 44 | 45 | @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") 46 | private Date updateDate; 47 | 48 | private String videoOriginalName; 49 | 50 | private Integer displayAds; // 是否显示广告,0表示显示,1表示不显示 51 | } 52 | -------------------------------------------------------------------------------- /moyu-common/moyu-common-core/src/main/java/cn/xueden/common/core/edu/vo/EduVipTypeSubjectVO.java: -------------------------------------------------------------------------------- 1 | package cn.xueden.common.core.edu.vo; 2 | 3 | import lombok.Data; 4 | 5 | /**功能描述:会员权益视图对象 6 | * @Auther:梁志杰 7 | * @Date:2021/1/31 8 | * @Description:cn.xueden.common.core.edu.vo 9 | * @version:1.0 10 | */ 11 | @Data 12 | public class EduVipTypeSubjectVO { 13 | private Long id; 14 | 15 | private Long vipId; // 会员类型ID 16 | 17 | private String vipName;// 会员类型名称 18 | 19 | private Long subjectId; // 课程栏目ID 20 | 21 | private String subjectName;// 课程栏目名称 22 | } 23 | -------------------------------------------------------------------------------- /moyu-common/moyu-common-core/src/main/java/cn/xueden/common/core/edu/vo/EduVipTypeVO.java: -------------------------------------------------------------------------------- 1 | package cn.xueden.common.core.edu.vo; 2 | 3 | import cn.xueden.common.core.edu.domain.EduSubject; 4 | import com.fasterxml.jackson.annotation.JsonFormat; 5 | import lombok.Data; 6 | 7 | import java.io.Serializable; 8 | import java.util.Date; 9 | import java.util.List; 10 | import java.util.Set; 11 | 12 | /**功能描述:会员类型视图对象类 13 | * @Auther:梁志杰 14 | * @Date:2021/1/31 15 | * @Description:cn.xueden.common.core.edu.vo 16 | * @version:1.0 17 | */ 18 | @Data 19 | public class EduVipTypeVO implements Serializable { 20 | 21 | private static final long serialVersionUID = 1L; 22 | 23 | private Long id; 24 | 25 | private String name; 26 | 27 | private Double vipMoney; 28 | 29 | private int memberTotal; 30 | 31 | @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") 32 | private Date createDate; 33 | 34 | @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") 35 | private Date updateDate; 36 | 37 | // 会员类型已有权益 38 | private Set courseTypeSets; 39 | 40 | // 课程类别列表数据 41 | private List courseTypeList; 42 | } 43 | -------------------------------------------------------------------------------- /moyu-common/moyu-common-core/src/main/java/cn/xueden/common/core/edu/vo/MyCourseVO.java: -------------------------------------------------------------------------------- 1 | package cn.xueden.common.core.edu.vo; 2 | 3 | import lombok.Data; 4 | 5 | /**功能描述:我的课程视图对象 6 | * @Auther:梁志杰 7 | * @Date:2021/2/18 8 | * @Description:cn.xueden.common.core.edu.vo 9 | * @version:1.0 10 | */ 11 | @Data 12 | public class MyCourseVO { 13 | 14 | // 当前页 15 | private Integer pageNo; 16 | 17 | //每页显示记录 18 | private Integer pageSize; 19 | 20 | } 21 | -------------------------------------------------------------------------------- /moyu-common/moyu-common-core/src/main/java/cn/xueden/common/core/edu/vo/PageVO.java: -------------------------------------------------------------------------------- 1 | package cn.xueden.common.core.edu.vo; 2 | 3 | import com.baomidou.mybatisplus.core.metadata.IPage; 4 | import lombok.Data; 5 | 6 | import java.io.Serializable; 7 | import java.util.ArrayList; 8 | import java.util.List; 9 | 10 | /**功能描述:页面视图对象 11 | * @Auther:梁志杰 12 | * @Date:2021/1/19 13 | * @Description:cn.xueden.common.core.edu.vo 14 | * @version:1.0 15 | */ 16 | @Data 17 | public class PageVO implements Serializable { 18 | 19 | private static final long serialVersionUID = 9115570069735566900L; 20 | private long total; 21 | 22 | public PageVO() { 23 | } 24 | 25 | private List rows = new ArrayList<>(); 26 | 27 | public PageVO(long total, List rows) { 28 | this.total = total; 29 | this.rows = rows; 30 | } 31 | 32 | 33 | } 34 | -------------------------------------------------------------------------------- /moyu-common/moyu-common-core/src/main/java/cn/xueden/common/core/edu/vo/PassWordVO.java: -------------------------------------------------------------------------------- 1 | package cn.xueden.common.core.edu.vo; 2 | 3 | import lombok.Data; 4 | 5 | /**功能描述:密码实体对象 6 | * @Auther:梁志杰 7 | * @Date:2021/2/19 8 | * @Description:cn.xueden.common.core.edu.vo 9 | * @version:1.0 10 | */ 11 | @Data 12 | public class PassWordVO { 13 | 14 | // 手机号 15 | private String mobile; 16 | 17 | // 验证码 18 | private String code; 19 | 20 | // 原密码 21 | private String passWord; 22 | 23 | // 新密码 24 | private String newPassWord; 25 | 26 | // 确认新密码 27 | private String resNewPassWord; 28 | } 29 | -------------------------------------------------------------------------------- /moyu-common/moyu-common-core/src/main/java/cn/xueden/common/core/edu/vo/RegisterMemberVO.java: -------------------------------------------------------------------------------- 1 | package cn.xueden.common.core.edu.vo; 2 | 3 | import lombok.Data; 4 | 5 | /** 6 | * @Auther:梁志杰 7 | * @Date:2021/2/17 8 | * @Description:cn.xueden.common.core.edu.vo 9 | * @version:1.0 10 | */ 11 | @Data 12 | public class RegisterMemberVO { 13 | 14 | // 手机号 15 | private String mobile; 16 | 17 | // 注册密码 18 | private String password; 19 | 20 | // 确认密码 21 | private String rePassword; 22 | 23 | // 验证码 24 | private String code; 25 | 26 | } 27 | -------------------------------------------------------------------------------- /moyu-common/moyu-common-core/src/main/java/cn/xueden/common/core/edu/vo/SubjectTransferItemVO.java: -------------------------------------------------------------------------------- 1 | package cn.xueden.common.core.edu.vo; 2 | 3 | 4 | import lombok.Data; 5 | 6 | 7 | 8 | /**功能描述:转成前端需要的课程IDItem 9 | * @Auther:梁志杰 10 | * @Date:2021/1/20 11 | * @Description:cn.xueden.common.core.edu.vo 12 | * @version:1.0 13 | */ 14 | @Data 15 | public class SubjectTransferItemVO { 16 | private Long key; 17 | 18 | private String label; 19 | 20 | private boolean disabled; 21 | } 22 | -------------------------------------------------------------------------------- /moyu-common/moyu-common-core/src/main/java/cn/xueden/common/core/enums/UserStatus.java: -------------------------------------------------------------------------------- 1 | package cn.xueden.common.core.enums; 2 | 3 | /**功能描述:用户状态 4 | * @Auther:梁志杰 5 | * @Date:2020/9/25 6 | * @Description:cn.xueden.common.core.enums 7 | * @version:1.0 8 | */ 9 | public enum UserStatus { 10 | OK("0", "正常"), DISABLE("1", "停用"), DELETED("2", "删除"); 11 | 12 | private final String code; 13 | private final String info; 14 | 15 | UserStatus(String code, String info) 16 | { 17 | this.code = code; 18 | this.info = info; 19 | } 20 | 21 | public String getCode() 22 | { 23 | return code; 24 | } 25 | 26 | public String getInfo() 27 | { 28 | return info; 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /moyu-common/moyu-common-core/src/main/java/cn/xueden/common/core/exception/CaptchaException.java: -------------------------------------------------------------------------------- 1 | package cn.xueden.common.core.exception; 2 | 3 | /**功能描述:验证码错误异常类 4 | * @Auther:梁志杰 5 | * @Date:2020/9/25 6 | * @Description:cn.xueden.common.core.exception 7 | * @version:1.0 8 | */ 9 | public class CaptchaException extends RuntimeException{ 10 | 11 | private static final long serialVersionUID = 1L; 12 | 13 | public CaptchaException(String msg) 14 | { 15 | super(msg); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /moyu-common/moyu-common-core/src/main/java/cn/xueden/common/core/exception/CustomException.java: -------------------------------------------------------------------------------- 1 | package cn.xueden.common.core.exception; 2 | 3 | /**功能描述:自定义异常 4 | * @Auther:梁志杰 5 | * @Date:2020/9/24 6 | * @Description:cn.xueden.common.core.exception 7 | * @version:1.0 8 | */ 9 | public class CustomException extends RuntimeException{ 10 | private static final long serialVersionUID = 1L; 11 | 12 | private Integer code; 13 | 14 | private String message; 15 | 16 | public CustomException(String message) 17 | { 18 | this.message = message; 19 | } 20 | 21 | public CustomException(String message, Integer code) 22 | { 23 | this.message = message; 24 | this.code = code; 25 | } 26 | 27 | public CustomException(String message, Throwable e) 28 | { 29 | super(message, e); 30 | this.message = message; 31 | } 32 | 33 | @Override 34 | public String getMessage() 35 | { 36 | return message; 37 | } 38 | 39 | public Integer getCode() 40 | { 41 | return code; 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /moyu-common/moyu-common-core/src/main/java/cn/xueden/common/core/exception/DemoModeException.java: -------------------------------------------------------------------------------- 1 | package cn.xueden.common.core.exception; 2 | 3 | /**功能描述:演示模式异常 4 | * @Auther:梁志杰 5 | * @Date:2020/9/24 6 | * @Description:cn.xueden.common.core.exception 7 | * @version:1.0 8 | */ 9 | public class DemoModeException extends RuntimeException{ 10 | private static final long serialVersionUID = 1L; 11 | 12 | public DemoModeException() 13 | { 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /moyu-common/moyu-common-core/src/main/java/cn/xueden/common/core/exception/PreAuthorizeException.java: -------------------------------------------------------------------------------- 1 | package cn.xueden.common.core.exception; 2 | 3 | /**功能描述:权限异常 4 | * @Auther:梁志杰 5 | * @Date:2020/9/24 6 | * @Description:cn.xueden.common.core.exception 7 | * @version:1.0 8 | */ 9 | public class PreAuthorizeException extends RuntimeException{ 10 | 11 | private static final long serialVersionUID = 1L; 12 | 13 | public PreAuthorizeException() 14 | { 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /moyu-common/moyu-common-core/src/main/java/cn/xueden/common/core/exception/UtilException.java: -------------------------------------------------------------------------------- 1 | package cn.xueden.common.core.exception; 2 | 3 | /**功能描述:工具类异常 4 | * @Auther:梁志杰 5 | * @Date:2020/9/24 6 | * @Description:cn.xueden.common.core.exception 7 | * @version:1.0 8 | */ 9 | public class UtilException extends RuntimeException{ 10 | private static final long serialVersionUID = 8247610319171014183L; 11 | 12 | public UtilException(Throwable e) 13 | { 14 | super(e.getMessage(), e); 15 | } 16 | 17 | public UtilException(String message) 18 | { 19 | super(message); 20 | } 21 | 22 | public UtilException(String message, Throwable throwable) 23 | { 24 | super(message, throwable); 25 | } 26 | 27 | /** 28 | * 将CheckedException转换为UncheckedException. 29 | */ 30 | public static RuntimeException unchecked(Exception e) { 31 | if (e instanceof RuntimeException) { 32 | return (RuntimeException) e; 33 | } else { 34 | return new RuntimeException(e); 35 | } 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /moyu-common/moyu-common-elasticsearch/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | moyu-common 7 | cn.xueden 8 | 1.0.0 9 | 10 | 4.0.0 11 | 12 | moyu-common-elasticsearch 13 | 14 | moyu-common-elasticsearch 15 | 搜索模块 16 | 17 | 18 | 19 | 20 | 21 | org.springframework.boot 22 | spring-boot-starter-data-elasticsearch 23 | 24 | 25 | 26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /moyu-common/moyu-common-log/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | moyu-common 7 | cn.xueden 8 | 1.0.0 9 | 10 | 4.0.0 11 | 12 | moyu-common-log 13 | 14 | moyu-common-log 15 | 日志记录模块 16 | 17 | 18 | 19 | cn.xueden 20 | moyu-common-security 21 | 22 | 23 | 24 | 32 | 33 | 34 | 35 | -------------------------------------------------------------------------------- /moyu-common/moyu-common-log/src/main/java/cn/xueden/common/log/annotation/XudenOtherSystemLog.java: -------------------------------------------------------------------------------- 1 | package cn.xueden.common.log.annotation; 2 | 3 | import java.lang.annotation.*; 4 | 5 | /**功能描述:其他系统日志注解 6 | * @Auther:http://www.xueden.cn 7 | * @Date:2021/1/21 8 | * @Description:cn.xueden.annotation 9 | * @version:1.0 10 | */ 11 | @Target(ElementType.METHOD) 12 | @Retention(RetentionPolicy.RUNTIME) 13 | @Documented 14 | public @interface XudenOtherSystemLog { 15 | 16 | String value() default ""; 17 | } 18 | -------------------------------------------------------------------------------- /moyu-common/moyu-common-log/src/main/java/cn/xueden/common/log/annotation/XudenSysLog.java: -------------------------------------------------------------------------------- 1 | package cn.xueden.common.log.annotation; 2 | 3 | import java.lang.annotation.*; 4 | 5 | /**功能描述:系统日志注解 6 | * @Auther:http://www.xueden.cn 7 | * @Date:2020/3/6 8 | * @Description:cn.xueden.annotation 9 | * @version:1.0 10 | */ 11 | @Target(ElementType.METHOD) 12 | @Retention(RetentionPolicy.RUNTIME) 13 | @Documented 14 | public @interface XudenSysLog { 15 | 16 | String value() default ""; 17 | } 18 | -------------------------------------------------------------------------------- /moyu-common/moyu-common-log/src/main/resources/META-INF/spring.factories: -------------------------------------------------------------------------------- 1 | org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ 2 | cn.xueden.common.log.aspect.OtherWebLogAspect,\ 3 | cn.xueden.common.log.aspect.WebLogAspect 4 | -------------------------------------------------------------------------------- /moyu-common/moyu-common-mybatis-plus/src/main/resources/META-INF/spring.factories: -------------------------------------------------------------------------------- 1 | org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ 2 | cn.xueden.mybatis.config.MybatisPlusConfig,\ 3 | cn.xueden.mybatis.config.SysMetaObjectHandler,\ 4 | cn.xueden.mybatis.config.SpringUtil 5 | -------------------------------------------------------------------------------- /moyu-common/moyu-common-redis/src/main/resources/META-INF/spring.factories: -------------------------------------------------------------------------------- 1 | org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ 2 | cn.xueden.common.redis.configure.RedisConfig,\ 3 | cn.xueden.common.redis.service.RedisService 4 | 5 | 6 | -------------------------------------------------------------------------------- /moyu-common/moyu-common-security/src/main/java/cn/xueden/common/security/annotation/EnableCustomConfig.java: -------------------------------------------------------------------------------- 1 | package cn.xueden.common.security.annotation; 2 | 3 | import cn.xueden.common.security.config.ApplicationConfig; 4 | import org.mybatis.spring.annotation.MapperScan; 5 | import org.springframework.context.annotation.EnableAspectJAutoProxy; 6 | import org.springframework.context.annotation.Import; 7 | import org.springframework.scheduling.annotation.EnableAsync; 8 | 9 | import java.lang.annotation.*; 10 | 11 | /**功能描述:自定义注解 12 | * @Auther:梁志杰 13 | * @Date:2020/9/24 14 | * @Description:cn.xueden.common.security.annotation 15 | * @version:1.0 16 | */ 17 | @Target(ElementType.TYPE) 18 | @Retention(RetentionPolicy.RUNTIME) 19 | @Documented 20 | @Inherited 21 | // 表示通过aop框架暴露该代理对象,AopContext能够访问 22 | @EnableAspectJAutoProxy(exposeProxy = true) 23 | // 指定要扫描的Mapper类的包的路径 24 | @MapperScan("cn.xueden.*.dao") 25 | // 开启线程异步执行 26 | @EnableAsync 27 | // 自动加载类 28 | @Import({ApplicationConfig.class}) 29 | public @interface EnableCustomConfig { 30 | } 31 | -------------------------------------------------------------------------------- /moyu-common/moyu-common-security/src/main/java/cn/xueden/common/security/annotation/EnableMoYuFeignClients.java: -------------------------------------------------------------------------------- 1 | package cn.xueden.common.security.annotation; 2 | 3 | import org.springframework.cloud.openfeign.EnableFeignClients; 4 | 5 | import java.lang.annotation.*; 6 | 7 | /**功能描述:自定义feign注解 8 | * 添加basePackages路径 9 | * @Auther:梁志杰 10 | * @Date:2020/9/24 11 | * @Description:cn.xueden.common.security.annotation 12 | * @version:1.0 13 | */ 14 | @Target(ElementType.TYPE) 15 | @Retention(RetentionPolicy.RUNTIME) 16 | @Documented 17 | @EnableFeignClients 18 | public @interface EnableMoYuFeignClients { 19 | 20 | String[] value() default {}; 21 | 22 | String[] basePackages() default { "cn.xueden" }; 23 | 24 | Class[] basePackageClasses() default {}; 25 | 26 | Class[] defaultConfiguration() default {}; 27 | 28 | Class[] clients() default {}; 29 | } 30 | -------------------------------------------------------------------------------- /moyu-common/moyu-common-security/src/main/java/cn/xueden/common/security/annotation/PreAuthorize.java: -------------------------------------------------------------------------------- 1 | package cn.xueden.common.security.annotation; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | /**功能描述:权限注解 9 | * @Auther:梁志杰 10 | * @Date:2020/9/24 11 | * @Description:cn.xueden.common.security.annotation 12 | * @version:1.0 13 | */ 14 | @Target({ ElementType.TYPE, ElementType.METHOD }) 15 | @Retention(RetentionPolicy.RUNTIME) 16 | public @interface PreAuthorize { 17 | 18 | /** 19 | * 验证用户是否具备某权限 20 | */ 21 | public String hasPermi() default ""; 22 | 23 | /** 24 | * 验证用户是否不具备某权限,与 hasPermi逻辑相反 25 | */ 26 | public String lacksPermi() default ""; 27 | 28 | /** 29 | * 验证用户是否具有以下任意一个权限 30 | */ 31 | public String[] hasAnyPermi() default {}; 32 | 33 | /** 34 | * 判断用户是否拥有某个角色 35 | */ 36 | public String hasRole() default ""; 37 | 38 | /** 39 | * 验证用户是否不具备某角色,与 isRole逻辑相反 40 | */ 41 | public String lacksRole() default ""; 42 | 43 | /** 44 | * 验证用户是否具有以下任意一个角色 45 | */ 46 | public String[] hasAnyRoles() default {}; 47 | 48 | } 49 | -------------------------------------------------------------------------------- /moyu-common/moyu-common-security/src/main/java/cn/xueden/common/security/config/ApplicationConfig.java: -------------------------------------------------------------------------------- 1 | package cn.xueden.common.security.config; 2 | 3 | import org.springframework.boot.autoconfigure.jackson.Jackson2ObjectMapperBuilderCustomizer; 4 | import org.springframework.context.annotation.Bean; 5 | 6 | import java.util.TimeZone; 7 | 8 | /**功能描述:系统配置 9 | * @Auther:梁志杰 10 | * @Date:2020/9/24 11 | * @Description:cn.xueden.common.security.config 12 | * @version:1.0 13 | */ 14 | public class ApplicationConfig { 15 | 16 | /** 17 | * 时区配置 18 | */ 19 | @Bean 20 | public Jackson2ObjectMapperBuilderCustomizer jacksonObjectMapperCustomization() 21 | { 22 | return jacksonObjectMapperBuilder -> jacksonObjectMapperBuilder.timeZone(TimeZone.getDefault()); 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /moyu-common/moyu-common-security/src/main/resources/META-INF/spring.factories: -------------------------------------------------------------------------------- 1 | org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ 2 | cn.xueden.common.security.service.TokenService,\ 3 | cn.xueden.common.security.aspect.PreAuthorizeAspect,\ 4 | cn.xueden.common.security.handler.GlobalExceptionHandler 5 | -------------------------------------------------------------------------------- /moyu-common/moyu-common-swagger/src/main/java/cn/xueden/common/swagger/annotation/EnableCustomSwagger2.java: -------------------------------------------------------------------------------- 1 | package cn.xueden.common.swagger.annotation; 2 | 3 | import cn.xueden.common.swagger.config.SwaggerAutoConfiguration; 4 | import org.springframework.context.annotation.Import; 5 | 6 | import java.lang.annotation.*; 7 | 8 | /**功能描述:自定义注解 9 | * @Auther:梁志杰 10 | * @Date:2020/9/25 11 | * @Description:cn.xueden.common.swagger.annotation 12 | * @version:1.0 13 | */ 14 | @Target({ ElementType.TYPE }) 15 | @Retention(RetentionPolicy.RUNTIME) 16 | @Documented 17 | @Inherited 18 | @Import({ SwaggerAutoConfiguration.class }) 19 | public @interface EnableCustomSwagger2 { 20 | } 21 | -------------------------------------------------------------------------------- /moyu-common/moyu-common-wechatpay/src/main/java/cn/xueden/wechat/dto/AmountDto.java: -------------------------------------------------------------------------------- 1 | package cn.xueden.wechat.dto; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Data; 5 | import lombok.NoArgsConstructor; 6 | 7 | /** 8 | * @Auther:梁志杰 9 | * @Date:2021/5/21 10 | * @Description:cn.xueden.wechat.dto 11 | * @version:1.0 12 | */ 13 | @Data 14 | @NoArgsConstructor 15 | @AllArgsConstructor 16 | public class AmountDto { 17 | 18 | /** 19 | * 订单总金额,单位为分 20 | */ 21 | private Integer total; 22 | 23 | /** 24 | * 货币类型,CNY:人民币 25 | */ 26 | private String currency; 27 | } 28 | -------------------------------------------------------------------------------- /moyu-common/moyu-common-wechatpay/src/main/java/cn/xueden/wechat/dto/WxOrderDto.java: -------------------------------------------------------------------------------- 1 | package cn.xueden.wechat.dto; 2 | 3 | import lombok.Data; 4 | 5 | /**功能描述:微信支付下单请求参数 6 | * @Auther:梁志杰 7 | * @Date:2021/5/21 8 | * @Description:cn.xueden.wechat.dto 9 | * @version:1.0 10 | */ 11 | @Data 12 | public class WxOrderDto { 13 | 14 | /** 15 | * 应用ID, 由微信生成的应用ID,全局唯一 16 | */ 17 | private String appid; 18 | 19 | /** 20 | * 直连商户号 21 | */ 22 | private String mchid; 23 | 24 | /** 25 | * 商品描述 26 | */ 27 | private String description; 28 | 29 | /** 30 | * 商户订单号 31 | */ 32 | private String out_trade_no; 33 | 34 | /** 35 | * 通知地址 36 | */ 37 | private String notify_url; 38 | 39 | /** 40 | * 金额 41 | */ 42 | private AmountDto amount; 43 | } 44 | -------------------------------------------------------------------------------- /moyu-common/moyu-common-wechatpay/src/main/resources/META-INF/spring.factories: -------------------------------------------------------------------------------- 1 | org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ 2 | cn.xueden.wechat.config.WechatConfig,\ 3 | cn.xueden.wechat.service.WxPayService 4 | 5 | 6 | -------------------------------------------------------------------------------- /moyu-common/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | moyu-cloud 7 | cn.xueden 8 | 1.0.0 9 | 10 | 4.0.0 11 | 12 | moyu-common 13 | pom 14 | 15 | moyu-common 16 | 通用模块 17 | 18 | moyu-common-redis 19 | moyu-common-log 20 | moyu-common-security 21 | moyu-common-core 22 | moyu-common-swagger 23 | moyu-common-mybatis-plus 24 | moyu-common-alivod 25 | moyu-common-wechatpay 26 | moyu-common-elasticsearch 27 | moyu-common-alipay 28 | 29 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /moyu-gateway/Dockerfile: -------------------------------------------------------------------------------- 1 | #获取base image 2 | FROM adoptopenjdk/openjdk8:latest 3 | MAINTAINER goodym 11184629@qq.com 4 | 5 | #类似于linux copy指令 6 | COPY moyu-gateway-1.0.0.jar /opt/app/layuicloud/ 7 | #对外端口 8 | EXPOSE 7000 9 | #执行命令 java -jar /opt/app/layuicloud/moyu-gateway-1.0.0.jar 10 | ENTRYPOINT ["java","-Xmx256m", "-jar", "/opt/app/layuicloud/moyu-gateway-1.0.0.jar","--spring.profiles.active=dev","-c"] 11 | -------------------------------------------------------------------------------- /moyu-gateway/src/main/java/cn/xueden/gateway/config/GeetestConfig.java: -------------------------------------------------------------------------------- 1 | package cn.xueden.gateway.config; 2 | 3 | /** 4 | * GeetestWeb配置文件 5 | * 6 | * 7 | */ 8 | public class GeetestConfig { 9 | 10 | // 填入自己的captcha_id和private_key 11 | private static final String geetest_id = "6f6cc91f5a4d9d588a00b815b27856fe"; 12 | private static final String geetest_key = "10672f2c061d2c2564aa45632cf0d4f3"; 13 | private static final boolean newfailback = true; 14 | 15 | public static final String getGeetest_id() { 16 | return geetest_id; 17 | } 18 | 19 | public static final String getGeetest_key() { 20 | return geetest_key; 21 | } 22 | 23 | public static final boolean isnewfailback() { 24 | return newfailback; 25 | } 26 | 27 | } 28 | -------------------------------------------------------------------------------- /moyu-gateway/src/main/java/cn/xueden/gateway/config/properties/IgnoreWhiteProperties.java: -------------------------------------------------------------------------------- 1 | package cn.xueden.gateway.config.properties; 2 | 3 | import org.springframework.boot.context.properties.ConfigurationProperties; 4 | import org.springframework.cloud.context.config.annotation.RefreshScope; 5 | import org.springframework.context.annotation.Configuration; 6 | 7 | import java.util.ArrayList; 8 | import java.util.List; 9 | 10 | /**功能描述:放行白名单配置 11 | * @Auther:梁志杰 12 | * @Date:2020/9/24 13 | * @Description:cn.xueden.gateway.config.properties 14 | * @version:1.0 15 | */ 16 | @Configuration 17 | @RefreshScope 18 | @ConfigurationProperties(prefix = "ignore") 19 | public class IgnoreWhiteProperties { 20 | 21 | /** 22 | * 放行白名单配置,网关不校验此处的白名单 23 | */ 24 | private List whites = new ArrayList<>(); 25 | 26 | public List getWhites() 27 | { 28 | return whites; 29 | } 30 | 31 | public void setWhites(List whites) 32 | { 33 | this.whites = whites; 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /moyu-gateway/src/main/java/cn/xueden/gateway/response/ErrorResponse.java: -------------------------------------------------------------------------------- 1 | package cn.xueden.gateway.response; 2 | 3 | import lombok.Getter; 4 | import org.springframework.http.HttpStatus; 5 | 6 | import java.time.LocalDateTime; 7 | 8 | /** 9 | * @Auther:梁志杰 10 | * @Date:2021/10/30 11 | * @Description:cn.xueden.gateway.response 12 | * @version:1.0 13 | */ 14 | @Getter 15 | public class ErrorResponse { 16 | 17 | private LocalDateTime timestamp; 18 | 19 | private int status; 20 | 21 | private String error; 22 | 23 | private String message; 24 | 25 | public ErrorResponse(HttpStatus httpStatus, String errCode, String message) { 26 | this.timestamp = LocalDateTime.now(); 27 | this.status = httpStatus.value(); 28 | this.error = errCode; 29 | this.message = message; 30 | } 31 | 32 | public ErrorResponse(String errCode, String message) { 33 | this.timestamp = LocalDateTime.now(); 34 | this.error = errCode; 35 | this.message = message; 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /moyu-gateway/src/main/java/cn/xueden/gateway/service/IValidateCodeService.java: -------------------------------------------------------------------------------- 1 | package cn.xueden.gateway.service; 2 | 3 | import cn.xueden.common.core.exception.CaptchaException; 4 | import cn.xueden.common.core.web.domain.AjaxResult; 5 | 6 | import java.io.IOException; 7 | 8 | /**功能描述:验证码处理接口 9 | * @Auther:梁志杰 10 | * @Date:2020/9/25 11 | * @Description:cn.xueden.gateway.service 12 | * @version:1.0 13 | */ 14 | public interface IValidateCodeService { 15 | 16 | /** 17 | * 生成验证码 18 | */ 19 | public AjaxResult createCapcha() throws IOException, CaptchaException; 20 | 21 | /** 22 | * 校验验证码 23 | */ 24 | public void checkCapcha(String key, String value) throws CaptchaException; 25 | 26 | } 27 | -------------------------------------------------------------------------------- /moyu-gateway/src/main/java/cn/xueden/gateway/service/TestService.java: -------------------------------------------------------------------------------- 1 | package cn.xueden.gateway.service; 2 | 3 | import com.alibaba.csp.sentinel.annotation.SentinelResource; 4 | import org.springframework.stereotype.Service; 5 | 6 | /** 7 | * @Auther:梁志杰 8 | * @Date:2020/12/11 9 | * @Description:cn.xueden.gateway.service 10 | * @version:1.0 11 | */ 12 | @Service 13 | public class TestService { 14 | @SentinelResource(value = "sayHello") 15 | public String sayHello(String name) { 16 | return "Hello, " + name; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /moyu-gateway/src/main/resources/banner.txt: -------------------------------------------------------------------------------- 1 | _ 2 | _ __ ___ ___ _ _ _ _ __ _ __ _| |_ _____ ____ _ _ _ 3 | | '_ ` _ \ / _ \| | | | | | |_____ / _` |/ _` | __/ _ \ \ /\ / / _` | | | | 4 | | | | | | | (_) | |_| | |_| |_____| (_| | (_| | || __/\ V V / (_| | |_| | 5 | |_| |_| |_|\___/ \__, |\__,_| \__, |\__,_|\__\___| \_/\_/ \__,_|\__, | 6 | |___/ |___/ |___/ 7 | Spring Boot Version: ${spring-boot.version} 8 | Spring Application Name: ${spring.application.name} -------------------------------------------------------------------------------- /moyu-modules/moyu-edu/Dockerfile: -------------------------------------------------------------------------------- 1 | #获取base image 2 | FROM adoptopenjdk/openjdk8:latest 3 | MAINTAINER moyu 11184629@qq.com 4 | 5 | #类似于linux copy指令 6 | COPY moyu-edu-1.0.0.jar /opt/app/layuicloud/ 7 | #对外端口 8 | EXPOSE 6000 9 | #执行命令 java -jar /opt/app/layuicloud/moyu-edu-1.0.0.jar 10 | ENTRYPOINT ["java","-Xmx256m", "-jar", "/opt/app/layuicloud/moyu-edu-1.0.0.jar","--spring.profiles.active=dev","-c"] 11 | -------------------------------------------------------------------------------- /moyu-modules/moyu-edu/src/main/java/cn/xueden/edu/MoYuEduApplication.java: -------------------------------------------------------------------------------- 1 | package cn.xueden.edu; 2 | 3 | import cn.xueden.common.security.annotation.EnableCustomConfig; 4 | import cn.xueden.common.security.annotation.EnableMoYuFeignClients; 5 | import cn.xueden.common.swagger.annotation.EnableCustomSwagger2; 6 | import org.springframework.boot.SpringApplication; 7 | import org.springframework.cloud.client.SpringCloudApplication; 8 | import org.springframework.scheduling.annotation.EnableAsync; 9 | 10 | /** 11 | * 在线教育模块 12 | * 13 | */ 14 | @EnableCustomConfig 15 | @EnableMoYuFeignClients 16 | @EnableCustomSwagger2 17 | @SpringCloudApplication 18 | @EnableAsync 19 | public class MoYuEduApplication 20 | { 21 | public static void main( String[] args ) 22 | { 23 | SpringApplication.run(MoYuEduApplication.class, args); 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /moyu-modules/moyu-edu/src/main/java/cn/xueden/edu/config/GeetestConfig.java: -------------------------------------------------------------------------------- 1 | package cn.xueden.edu.config; 2 | 3 | import lombok.Data; 4 | import org.springframework.boot.context.properties.ConfigurationProperties; 5 | import org.springframework.context.annotation.Configuration; 6 | 7 | /** 8 | * GeetestWeb配置文件 9 | * 10 | * 11 | */ 12 | @Configuration 13 | @ConfigurationProperties(prefix = "xueden.geetest") 14 | @Data 15 | public class GeetestConfig { 16 | 17 | // 填入自己的captcha_id和private_key 18 | private String geetest_id ; 19 | 20 | private String geetest_key ; 21 | 22 | private boolean newfailback = true; 23 | 24 | 25 | 26 | } 27 | -------------------------------------------------------------------------------- /moyu-modules/moyu-edu/src/main/java/cn/xueden/edu/config/WebSocketConfig.java: -------------------------------------------------------------------------------- 1 | package cn.xueden.edu.config; 2 | 3 | import org.springframework.context.annotation.Bean; 4 | import org.springframework.context.annotation.Configuration; 5 | import org.springframework.web.socket.server.standard.ServerEndpointExporter; 6 | 7 | /** 8 | * @Auther:梁志杰 9 | * @Date:2021/2/10 10 | * @Description:cn.xueden.edu.config 11 | * @version:1.0 12 | */ 13 | @Configuration 14 | public class WebSocketConfig { 15 | @Bean 16 | public ServerEndpointExporter serverEndpointExporter() { 17 | return new ServerEndpointExporter(); 18 | } 19 | 20 | } 21 | -------------------------------------------------------------------------------- /moyu-modules/moyu-edu/src/main/java/cn/xueden/edu/controller/EduEnvironmenParamController.java: -------------------------------------------------------------------------------- 1 | package cn.xueden.edu.controller; 2 | 3 | import io.swagger.annotations.Api; 4 | import org.springframework.web.bind.annotation.RequestMapping; 5 | import org.springframework.web.bind.annotation.RestController; 6 | 7 | /**功能描述:开发环境控制层 8 | * @Auther:梁志杰 9 | * @Date:2021/2/11 10 | * @Description:cn.xueden.edu.controller 11 | * @version:1.0 12 | */ 13 | @Api(tags = "开发环境控制层接口") 14 | @RestController 15 | @RequestMapping("/edu/environment") 16 | public class EduEnvironmenParamController { 17 | } 18 | -------------------------------------------------------------------------------- /moyu-modules/moyu-edu/src/main/java/cn/xueden/edu/converter/EduVideoConverter.java: -------------------------------------------------------------------------------- 1 | package cn.xueden.edu.converter; 2 | 3 | import cn.xueden.common.core.edu.domain.EduVideo; 4 | import cn.xueden.common.core.edu.vo.EduVideoVO; 5 | import org.springframework.beans.BeanUtils; 6 | 7 | /**功能描述:课时转换类 8 | * @Auther:梁志杰 9 | * @Date:2021/1/30 10 | * @Description:cn.xueden.edu.converter 11 | * @version:1.0 12 | */ 13 | public class EduVideoConverter { 14 | /** 15 | * 转vo 16 | * @param eduVideo 17 | * @return 18 | */ 19 | public static EduVideoVO converterToEduChapterVO(EduVideo eduVideo) { 20 | EduVideoVO eduVideoVO = new EduVideoVO(); 21 | BeanUtils.copyProperties(eduVideo,eduVideoVO); 22 | return eduVideoVO; 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /moyu-modules/moyu-edu/src/main/java/cn/xueden/edu/dao/EduBannerDao.java: -------------------------------------------------------------------------------- 1 | package cn.xueden.edu.dao; 2 | 3 | import cn.xueden.common.core.edu.domain.EduBanner; 4 | import com.baomidou.mybatisplus.core.mapper.BaseMapper; 5 | import org.springframework.stereotype.Repository; 6 | 7 | /**功能描述:首页幻灯片持久层 8 | * @Auther:梁志杰 9 | * @Date:2021/2/19 10 | * @Description:cn.xueden.edu.dao 11 | * @version:1.0 12 | */ 13 | @Repository 14 | public interface EduBannerDao extends BaseMapper { 15 | } 16 | -------------------------------------------------------------------------------- /moyu-modules/moyu-edu/src/main/java/cn/xueden/edu/dao/EduCashOutDetailsDao.java: -------------------------------------------------------------------------------- 1 | package cn.xueden.edu.dao; 2 | 3 | 4 | import cn.xueden.common.core.edu.domain.EduCashOutDetails; 5 | import com.baomidou.mybatisplus.core.mapper.BaseMapper; 6 | import org.springframework.stereotype.Repository; 7 | 8 | /**功能描述:讲师提现记录持久层 9 | * @Auther:梁志杰 10 | * @Date:2021/5/28 11 | * @Description:cn.xueden.edu.dao 12 | * @version:1.0 13 | */ 14 | @Repository 15 | public interface EduCashOutDetailsDao extends BaseMapper { 16 | } 17 | -------------------------------------------------------------------------------- /moyu-modules/moyu-edu/src/main/java/cn/xueden/edu/dao/EduChapterDao.java: -------------------------------------------------------------------------------- 1 | package cn.xueden.edu.dao; 2 | 3 | import cn.xueden.common.core.edu.domain.EduChapter; 4 | /*import com.baomidou.mybatisplus.mapper.BaseMapper;*/ 5 | import com.baomidou.mybatisplus.core.mapper.BaseMapper; 6 | import org.springframework.stereotype.Repository; 7 | 8 | /** 9 | * @Auther:梁志杰 10 | * @Date:2021/1/24 11 | * @Description:cn.xueden.edu.dao 12 | * @version:1.0 13 | */ 14 | @Repository 15 | public interface EduChapterDao extends BaseMapper { 16 | } 17 | -------------------------------------------------------------------------------- /moyu-modules/moyu-edu/src/main/java/cn/xueden/edu/dao/EduCourseDao.java: -------------------------------------------------------------------------------- 1 | package cn.xueden.edu.dao; 2 | 3 | import cn.xueden.common.core.edu.domain.EduCourse; 4 | /*import com.baomidou.mybatisplus.mapper.BaseMapper;*/ 5 | import com.baomidou.mybatisplus.core.mapper.BaseMapper; 6 | import org.springframework.stereotype.Repository; 7 | 8 | /** 9 | * @Auther:梁志杰 10 | * @Date:2021/1/22 11 | * @Description:cn.xueden.edu.dao 12 | * @version:1.0 13 | */ 14 | @Repository 15 | public interface EduCourseDao extends BaseMapper { 16 | } 17 | -------------------------------------------------------------------------------- /moyu-modules/moyu-edu/src/main/java/cn/xueden/edu/dao/EduCourseElasticsearchDao.java: -------------------------------------------------------------------------------- 1 | package cn.xueden.edu.dao; 2 | 3 | import cn.xueden.search.domain.CourseESItem; 4 | import org.springframework.data.elasticsearch.repository.ElasticsearchRepository; 5 | 6 | /**功能描述:Elasticsearch持久层 7 | * @Auther:梁志杰 8 | * @Date:2021/2/15 9 | * @Description:cn.xueden.edu.dao 10 | * @version:1.0 11 | */ 12 | 13 | public interface EduCourseElasticsearchDao extends ElasticsearchRepository { 14 | } 15 | -------------------------------------------------------------------------------- /moyu-modules/moyu-edu/src/main/java/cn/xueden/edu/dao/EduDailyReportDao.java: -------------------------------------------------------------------------------- 1 | package cn.xueden.edu.dao; 2 | 3 | 4 | import cn.xueden.common.core.edu.domain.EduDailyReport; 5 | import com.baomidou.mybatisplus.core.mapper.BaseMapper; 6 | import org.springframework.stereotype.Repository; 7 | 8 | /**功能描述:每日统计持久层 9 | * @Auther:梁志杰 10 | * @Date:2021/5/27 11 | * @Description:cn.xueden.edu.dao 12 | * @version:1.0 13 | */ 14 | @Repository 15 | public interface EduDailyReportDao extends BaseMapper { 16 | } 17 | -------------------------------------------------------------------------------- /moyu-modules/moyu-edu/src/main/java/cn/xueden/edu/dao/EduDealMoneyDao.java: -------------------------------------------------------------------------------- 1 | package cn.xueden.edu.dao; 2 | 3 | import cn.xueden.common.core.edu.domain.EduDealMoney; 4 | import com.baomidou.mybatisplus.core.mapper.BaseMapper; 5 | import org.springframework.stereotype.Repository; 6 | 7 | /** 8 | * @Auther:梁志杰 9 | * @Date:2021/2/9 10 | * @Description:cn.xueden.edu.dao 11 | * @version:1.0 12 | */ 13 | @Repository 14 | public interface EduDealMoneyDao extends BaseMapper { 15 | } 16 | -------------------------------------------------------------------------------- /moyu-modules/moyu-edu/src/main/java/cn/xueden/edu/dao/EduEnvironmenParamDao.java: -------------------------------------------------------------------------------- 1 | package cn.xueden.edu.dao; 2 | 3 | import cn.xueden.common.core.edu.domain.EduEnvironmenParam; 4 | import com.baomidou.mybatisplus.core.mapper.BaseMapper; 5 | import org.springframework.stereotype.Repository; 6 | 7 | /**功能描述:开发环境模块持久层 8 | * @Auther:梁志杰 9 | * @Date:2021/2/11 10 | * @Description:cn.xueden.edu.dao 11 | * @version:1.0 12 | */ 13 | @Repository 14 | public interface EduEnvironmenParamDao extends BaseMapper { 15 | } 16 | -------------------------------------------------------------------------------- /moyu-modules/moyu-edu/src/main/java/cn/xueden/edu/dao/EduIncomeDetailsDao.java: -------------------------------------------------------------------------------- 1 | package cn.xueden.edu.dao; 2 | 3 | 4 | import cn.xueden.common.core.edu.domain.EduIncomeDetails; 5 | import com.baomidou.mybatisplus.core.mapper.BaseMapper; 6 | import org.springframework.stereotype.Repository; 7 | 8 | /**功能描述:讲师收益持久层 9 | * @Auther:梁志杰 10 | * @Date:2021/5/26 11 | * @Description:cn.xueden.edu.dao 12 | * @version:1.0 13 | */ 14 | @Repository 15 | public interface EduIncomeDetailsDao extends BaseMapper { 16 | } 17 | -------------------------------------------------------------------------------- /moyu-modules/moyu-edu/src/main/java/cn/xueden/edu/dao/EduKeywordDao.java: -------------------------------------------------------------------------------- 1 | package cn.xueden.edu.dao; 2 | 3 | import cn.xueden.common.core.edu.domain.EduKeyword; 4 | import com.baomidou.mybatisplus.core.mapper.BaseMapper; 5 | import org.springframework.stereotype.Repository; 6 | 7 | /**功能描述:关键词模块持久层 8 | * @Auther:梁志杰 9 | * @Date:2021/2/17 10 | * @Description:cn.xueden.edu.dao 11 | * @version:1.0 12 | */ 13 | @Repository 14 | public interface EduKeywordDao extends BaseMapper { 15 | } 16 | -------------------------------------------------------------------------------- /moyu-modules/moyu-edu/src/main/java/cn/xueden/edu/dao/EduMemberBuyCourseDao.java: -------------------------------------------------------------------------------- 1 | package cn.xueden.edu.dao; 2 | 3 | import cn.xueden.common.core.edu.domain.EduMemberBuyCourse; 4 | /*import com.baomidou.mybatisplus.mapper.BaseMapper;*/ 5 | import com.baomidou.mybatisplus.core.mapper.BaseMapper; 6 | import org.springframework.stereotype.Repository; 7 | 8 | /** 9 | * @Auther:梁志杰 10 | * @Date:2021/1/30 11 | * @Description:cn.xueden.edu.dao 12 | * @version:1.0 13 | */ 14 | @Repository 15 | public interface EduMemberBuyCourseDao extends BaseMapper { 16 | } 17 | -------------------------------------------------------------------------------- /moyu-modules/moyu-edu/src/main/java/cn/xueden/edu/dao/EduMemberBuyVipDao.java: -------------------------------------------------------------------------------- 1 | package cn.xueden.edu.dao; 2 | 3 | import cn.xueden.common.core.edu.domain.EduMemberBuyVip; 4 | /*import com.baomidou.mybatisplus.mapper.BaseMapper;*/ 5 | import com.baomidou.mybatisplus.core.mapper.BaseMapper; 6 | import org.springframework.stereotype.Repository; 7 | 8 | /**功能描述:会员购买记录持久层 9 | * @Auther:梁志杰 10 | * @Date:2021/1/31 11 | * @Description:cn.xueden.edu.dao 12 | * @version:1.0 13 | */ 14 | @Repository 15 | public interface EduMemberBuyVipDao extends BaseMapper { 16 | } 17 | -------------------------------------------------------------------------------- /moyu-modules/moyu-edu/src/main/java/cn/xueden/edu/dao/EduMemberDao.java: -------------------------------------------------------------------------------- 1 | package cn.xueden.edu.dao; 2 | 3 | import cn.xueden.common.core.edu.domain.EduMember; 4 | /*import com.baomidou.mybatisplus.mapper.BaseMapper;*/ 5 | import com.baomidou.mybatisplus.core.mapper.BaseMapper; 6 | import org.springframework.stereotype.Repository; 7 | 8 | /** 9 | * @Auther:梁志杰 10 | * @Date:2021/1/30 11 | * @Description:cn.xueden.edu.dao 12 | * @version:1.0 13 | */ 14 | @Repository 15 | public interface EduMemberDao extends BaseMapper { 16 | } 17 | -------------------------------------------------------------------------------- /moyu-modules/moyu-edu/src/main/java/cn/xueden/edu/dao/EduSubjectDao.java: -------------------------------------------------------------------------------- 1 | package cn.xueden.edu.dao; 2 | 3 | import cn.xueden.common.core.edu.domain.EduSubject; 4 | /*import com.baomidou.mybatisplus.mapper.BaseMapper;*/ 5 | import com.baomidou.mybatisplus.core.mapper.BaseMapper; 6 | import org.springframework.stereotype.Repository; 7 | 8 | /**功能描述:课程分类持久层 9 | * @Auther:梁志杰 10 | * @Date:2021/1/20 11 | * @Description:cn.xueden.edu.dao 12 | * @version:1.0 13 | */ 14 | @Repository 15 | public interface EduSubjectDao extends BaseMapper { 16 | } 17 | -------------------------------------------------------------------------------- /moyu-modules/moyu-edu/src/main/java/cn/xueden/edu/dao/EduTeacherDao.java: -------------------------------------------------------------------------------- 1 | package cn.xueden.edu.dao; 2 | 3 | import cn.xueden.common.core.edu.domain.EduTeacher; 4 | import com.baomidou.mybatisplus.core.mapper.BaseMapper; 5 | import org.springframework.stereotype.Repository; 6 | /*import com.baomidou.mybatisplus.mapper.BaseMapper;*/ 7 | 8 | /** 9 | * @Auther:梁志杰 10 | * @Date:2021/1/22 11 | * @Description:cn.xueden.edu.dao 12 | * @version:1.0 13 | */ 14 | @Repository 15 | public interface EduTeacherDao extends BaseMapper { 16 | } 17 | -------------------------------------------------------------------------------- /moyu-modules/moyu-edu/src/main/java/cn/xueden/edu/dao/EduVideoDao.java: -------------------------------------------------------------------------------- 1 | package cn.xueden.edu.dao; 2 | 3 | import cn.xueden.common.core.edu.domain.EduVideo; 4 | 5 | import com.baomidou.mybatisplus.core.mapper.BaseMapper; 6 | import org.springframework.stereotype.Repository; 7 | 8 | /** 9 | * @Auther:梁志杰 10 | * @Date:2021/1/24 11 | * @Description:cn.xueden.edu.dao 12 | * @version:1.0 13 | */ 14 | @Repository 15 | public interface EduVideoDao extends BaseMapper { 16 | } 17 | -------------------------------------------------------------------------------- /moyu-modules/moyu-edu/src/main/java/cn/xueden/edu/dao/EduVideoMemberDao.java: -------------------------------------------------------------------------------- 1 | package cn.xueden.edu.dao; 2 | 3 | import cn.xueden.common.core.edu.domain.EduVideoMember; 4 | /*import com.baomidou.mybatisplus.mapper.BaseMapper;*/ 5 | import com.baomidou.mybatisplus.core.mapper.BaseMapper; 6 | import org.springframework.stereotype.Repository; 7 | 8 | /** 9 | * @Auther:梁志杰 10 | * @Date:2021/1/30 11 | * @Description:cn.xueden.edu.dao 12 | * @version:1.0 13 | */ 14 | @Repository 15 | public interface EduVideoMemberDao extends BaseMapper { 16 | } 17 | -------------------------------------------------------------------------------- /moyu-modules/moyu-edu/src/main/java/cn/xueden/edu/dao/EduVipTypeDao.java: -------------------------------------------------------------------------------- 1 | package cn.xueden.edu.dao; 2 | 3 | import cn.xueden.common.core.edu.domain.EduVipType; 4 | /*import com.baomidou.mybatisplus.mapper.BaseMapper;*/ 5 | import com.baomidou.mybatisplus.core.mapper.BaseMapper; 6 | import org.springframework.stereotype.Repository; 7 | 8 | /** 9 | * @Auther:梁志杰 10 | * @Date:2021/1/31 11 | * @Description:cn.xueden.edu.dao 12 | * @version:1.0 13 | */ 14 | @Repository 15 | public interface EduVipTypeDao extends BaseMapper { 16 | } 17 | -------------------------------------------------------------------------------- /moyu-modules/moyu-edu/src/main/java/cn/xueden/edu/dao/EduVipTypeSubjectDao.java: -------------------------------------------------------------------------------- 1 | package cn.xueden.edu.dao; 2 | 3 | import cn.xueden.common.core.edu.domain.EduVipTypeSubject; 4 | /*import com.baomidou.mybatisplus.mapper.BaseMapper;*/ 5 | import com.baomidou.mybatisplus.core.mapper.BaseMapper; 6 | import org.springframework.stereotype.Repository; 7 | 8 | /** 9 | * @Auther:梁志杰 10 | * @Date:2021/1/31 11 | * @Description:cn.xueden.edu.dao 12 | * @version:1.0 13 | */ 14 | @Repository 15 | public interface EduVipTypeSubjectDao extends BaseMapper { 16 | } 17 | -------------------------------------------------------------------------------- /moyu-modules/moyu-edu/src/main/java/cn/xueden/edu/dto/GeetestDto.java: -------------------------------------------------------------------------------- 1 | package cn.xueden.edu.dto; 2 | 3 | import lombok.Data; 4 | 5 | /**Geetest返回参数,用于二次验证 6 | * @Auther:梁志杰 7 | * @Date:2021/10/30 8 | * @Description:cn.xueden.edu.dto 9 | * @version:1.0 10 | */ 11 | @Data 12 | public class GeetestDto { 13 | 14 | private String geetest_challenge; 15 | 16 | private String geetest_validate; 17 | 18 | private String geetest_seccode; 19 | } 20 | -------------------------------------------------------------------------------- /moyu-modules/moyu-edu/src/main/java/cn/xueden/edu/dto/PayTypeDto.java: -------------------------------------------------------------------------------- 1 | package cn.xueden.edu.dto; 2 | 3 | import lombok.Data; 4 | 5 | /**功能描述:订单支付方式 6 | * @Auther:梁志杰 7 | * @Date:2021/5/22 8 | * @Description:cn.xueden.edu.dto 9 | * @version:1.0 10 | */ 11 | @Data 12 | public class PayTypeDto { 13 | /** 14 | * 支付渠道wxpay表示微信,alipay表示支付宝 15 | */ 16 | private String payType; 17 | } 18 | -------------------------------------------------------------------------------- /moyu-modules/moyu-edu/src/main/java/cn/xueden/edu/dto/WxCiphertextDto.java: -------------------------------------------------------------------------------- 1 | package cn.xueden.edu.dto; 2 | 3 | import lombok.Data; 4 | 5 | /** 6 | * @Auther:梁志杰 7 | * @Date:2021/5/21 8 | * @Description:cn.xueden.edu.dto 9 | * @version:1.0 10 | */ 11 | @Data 12 | public class WxCiphertextDto { 13 | 14 | // 商户订单号 15 | private String out_trade_no; 16 | 17 | // 交易状态 SUCCESS:支付成功 REFUND:转入退款 NOTPAY:未支付 18 | // CLOSED:已关闭 REVOKED:已撤销(付款码支付) 19 | // USERPAYING:用户支付中(付款码支付) 20 | //PAYERROR:支付失败(其他原因,如银行返回失败) 21 | private String trade_state; 22 | } 23 | -------------------------------------------------------------------------------- /moyu-modules/moyu-edu/src/main/java/cn/xueden/edu/dto/WxResourceDto.java: -------------------------------------------------------------------------------- 1 | package cn.xueden.edu.dto; 2 | 3 | import lombok.Data; 4 | 5 | /**功能描述: 微信通知数据 6 | * @Auther:梁志杰 7 | * @Date:2021/5/21 8 | * @Description:cn.xueden.edu.dto 9 | * @version:1.0 10 | */ 11 | @Data 12 | public class WxResourceDto { 13 | 14 | // 加密算法类型 对开启结果数据进行加密的加密算法,目前只支持AEAD_AES_256_GCM 15 | private String algorithm; 16 | 17 | // 数据密文 Base64编码后的开启/停用结果数据密文 18 | private String ciphertext; 19 | 20 | // 附加数据 21 | private String associated_data; 22 | 23 | // 原始类型 原始回调类型,为transaction 24 | private String original_type; 25 | 26 | // 随机串 加密使用的随机串 27 | private String nonce; 28 | } 29 | -------------------------------------------------------------------------------- /moyu-modules/moyu-edu/src/main/java/cn/xueden/edu/dto/WxResultDto.java: -------------------------------------------------------------------------------- 1 | package cn.xueden.edu.dto; 2 | 3 | import lombok.Data; 4 | 5 | /**功能描述:微信返回通知结果集 6 | * @Auther:梁志杰 7 | * @Date:2021/5/21 8 | * @Description:cn.xueden.edu.dto 9 | * @version:1.0 10 | */ 11 | @Data 12 | public class WxResultDto { 13 | 14 | // 通知ID 通知的唯一ID 15 | private String id; 16 | 17 | // 通知创建时间 18 | private String create_time; 19 | 20 | // 通知类型 ,支付成功通知的类型为TRANSACTION.SUCCESS 21 | private String event_type; 22 | 23 | // 通知数据类型 通知的资源数据类型,支付成功通知为encrypt-resource 24 | private String resource_type; 25 | 26 | // 回调摘要 27 | private String summary; 28 | 29 | private WxResourceDto resource; 30 | 31 | } 32 | -------------------------------------------------------------------------------- /moyu-modules/moyu-edu/src/main/java/cn/xueden/edu/service/IEduBannerService.java: -------------------------------------------------------------------------------- 1 | package cn.xueden.edu.service; 2 | 3 | import cn.xueden.common.core.edu.domain.EduBanner; 4 | import com.baomidou.mybatisplus.extension.service.IService; 5 | 6 | /**功能描述:首页幻灯片业务接口 7 | * @Auther:梁志杰 8 | * @Date:2021/2/19 9 | * @Description:cn.xueden.edu.service 10 | * @version:1.0 11 | */ 12 | public interface IEduBannerService extends IService { 13 | } 14 | -------------------------------------------------------------------------------- /moyu-modules/moyu-edu/src/main/java/cn/xueden/edu/service/IEduCashOutDetailsService.java: -------------------------------------------------------------------------------- 1 | package cn.xueden.edu.service; 2 | 3 | 4 | import cn.xueden.common.core.edu.domain.EduCashOutDetails; 5 | import com.baomidou.mybatisplus.extension.service.IService; 6 | 7 | /**功能描述:讲师提现记录业务接口 8 | * @Auther:梁志杰 9 | * @Date:2021/5/28 10 | * @Description:cn.xueden.edu.service 11 | * @version:1.0 12 | */ 13 | public interface IEduCashOutDetailsService extends IService { 14 | } 15 | -------------------------------------------------------------------------------- /moyu-modules/moyu-edu/src/main/java/cn/xueden/edu/service/IEduChapterService.java: -------------------------------------------------------------------------------- 1 | package cn.xueden.edu.service; 2 | 3 | import cn.xueden.common.core.edu.domain.EduChapter; 4 | import cn.xueden.common.core.edu.vo.EduChapterTreeNodeVO; 5 | import cn.xueden.common.core.edu.vo.EduChapterVO; 6 | import cn.xueden.common.core.edu.vo.PageVO; 7 | import com.baomidou.mybatisplus.extension.service.IService; 8 | /*import com.baomidou.mybatisplus.service.IService;*/ 9 | 10 | import java.util.List; 11 | 12 | /**功能描述:课程大章大章业务接口 13 | * @Auther:梁志杰 14 | * @Date:2021/1/24 15 | * @Description:cn.xueden.edu.service 16 | * @version:1.0 17 | */ 18 | public interface IEduChapterService extends IService { 19 | 20 | /** 21 | * 章节树形 22 | * @return 23 | */ 24 | PageVO chapterTree(Integer pageNum, Integer pageSize, EduChapterVO eduChapterVO); 25 | 26 | /** 27 | * 查询所课程章节 28 | * @return 29 | */ 30 | List findAllByEduChapter(EduChapterVO eduChapterVO); 31 | 32 | /** 33 | * 获取课程大纲 34 | * @param eduChapterVO 35 | * @return 36 | */ 37 | List findAllByEduChapterAndVideo(EduChapterVO eduChapterVO); 38 | 39 | } 40 | -------------------------------------------------------------------------------- /moyu-modules/moyu-edu/src/main/java/cn/xueden/edu/service/IEduDailyReportService.java: -------------------------------------------------------------------------------- 1 | package cn.xueden.edu.service; 2 | 3 | 4 | import cn.xueden.common.core.edu.domain.EduDailyReport; 5 | import com.baomidou.mybatisplus.extension.service.IService; 6 | 7 | /**功能描述:每日统计业务接口 8 | * @Auther:梁志杰 9 | * @Date:2021/2/19 10 | * @Description:cn.xueden.edu.service 11 | * @version:1.0 12 | */ 13 | public interface IEduDailyReportService extends IService { 14 | } 15 | -------------------------------------------------------------------------------- /moyu-modules/moyu-edu/src/main/java/cn/xueden/edu/service/IEduDealMoneyService.java: -------------------------------------------------------------------------------- 1 | package cn.xueden.edu.service; 2 | 3 | import cn.xueden.common.core.edu.domain.EduDealMoney; 4 | import com.baomidou.mybatisplus.extension.service.IService; 5 | 6 | /**功能描述:成交金额业务接口 7 | * @Auther:梁志杰 8 | * @Date:2021/2/9 9 | * @Description:cn.xueden.edu.service 10 | * @version:1.0 11 | */ 12 | public interface IEduDealMoneyService extends IService { 13 | 14 | // 根据订单编号获取成交金额记录 15 | EduDealMoney getByOrderNumber(String outTradeNo); 16 | 17 | } 18 | -------------------------------------------------------------------------------- /moyu-modules/moyu-edu/src/main/java/cn/xueden/edu/service/IEduEnvironmenParamService.java: -------------------------------------------------------------------------------- 1 | package cn.xueden.edu.service; 2 | 3 | import cn.xueden.common.core.edu.domain.EduEnvironmenParam; 4 | import com.baomidou.mybatisplus.extension.service.IService; 5 | 6 | /**功能描述:开发环境业务接口 7 | * @Auther:梁志杰 8 | * @Date:2021/2/11 9 | * @Description:cn.xueden.edu.service 10 | * @version:1.0 11 | */ 12 | public interface IEduEnvironmenParamService extends IService { 13 | } 14 | -------------------------------------------------------------------------------- /moyu-modules/moyu-edu/src/main/java/cn/xueden/edu/service/IEduIncomeDetailsService.java: -------------------------------------------------------------------------------- 1 | package cn.xueden.edu.service; 2 | 3 | import cn.xueden.common.core.edu.domain.EduIncomeDetails; 4 | 5 | import cn.xueden.common.core.edu.vo.EduIncomeDetailsVO; 6 | import cn.xueden.common.core.edu.vo.PageVO; 7 | import com.baomidou.mybatisplus.extension.service.IService; 8 | 9 | import java.util.List; 10 | 11 | /**功能描述:讲师收入明细业务接口 12 | * @Auther:梁志杰 13 | * @Date:2021/5/26 14 | * @Description:cn.xueden.edu.service 15 | * @version:1.0 16 | */ 17 | public interface IEduIncomeDetailsService extends IService { 18 | 19 | /** 20 | * 根据条件分页回去讲师收益记录 21 | * @return 22 | */ 23 | PageVO getList(Integer pageNum, Integer pageSize, EduIncomeDetailsVO incomeDetailsVO); 24 | 25 | /** 26 | * 技术讲师分成收益 27 | * @param orderNo 28 | */ 29 | public void teacherIncome(String orderNo); 30 | 31 | 32 | } 33 | -------------------------------------------------------------------------------- /moyu-modules/moyu-edu/src/main/java/cn/xueden/edu/service/IEduKeywordService.java: -------------------------------------------------------------------------------- 1 | package cn.xueden.edu.service; 2 | 3 | import cn.xueden.common.core.edu.domain.EduKeyword; 4 | import com.baomidou.mybatisplus.extension.service.IService; 5 | 6 | /**功能描述:关键词业务接口 7 | * @Auther:梁志杰 8 | * @Date:2021/2/17 9 | * @Description:cn.xueden.edu.service 10 | * @version:1.0 11 | */ 12 | public interface IEduKeywordService extends IService { 13 | } 14 | -------------------------------------------------------------------------------- /moyu-modules/moyu-edu/src/main/java/cn/xueden/edu/service/IEduMemberBuyCourseService.java: -------------------------------------------------------------------------------- 1 | package cn.xueden.edu.service; 2 | 3 | import cn.xueden.common.core.edu.domain.EduMemberBuyCourse; 4 | import com.baomidou.mybatisplus.extension.service.IService; 5 | 6 | /** 7 | * @Auther:梁志杰 8 | * @Date:2021/2/9 9 | * @Description:cn.xueden.edu.service 10 | * @version:1.0 11 | */ 12 | public interface IEduMemberBuyCourseService extends IService { 13 | 14 | /** 15 | * 根据订单号获取订单详情 16 | * @param orderNo 17 | * @return 18 | */ 19 | EduMemberBuyCourse getByOrderNumber(String orderNo); 20 | 21 | /** 22 | * 更改订单状态 23 | * @param pay 24 | */ 25 | void updatePayment(EduMemberBuyCourse pay); 26 | } 27 | -------------------------------------------------------------------------------- /moyu-modules/moyu-edu/src/main/java/cn/xueden/edu/service/IEduMemberBuyVipService.java: -------------------------------------------------------------------------------- 1 | package cn.xueden.edu.service; 2 | 3 | import cn.xueden.common.core.edu.domain.EduMemberBuyVip; 4 | 5 | /**功能描述:用户加入VIP订单业务接口 6 | * @Auther:梁志杰 7 | * @Date:2021/2/9 8 | * @Description:cn.xueden.edu.service 9 | * @version:1.0 10 | */ 11 | public interface IEduMemberBuyVipService { 12 | 13 | // 根据订单编号获取订单信息 14 | EduMemberBuyVip getByOrderNumber(String outTradeNo); 15 | 16 | // 更新订单状态 17 | void updatePayment(EduMemberBuyVip pay); 18 | } 19 | -------------------------------------------------------------------------------- /moyu-modules/moyu-edu/src/main/java/cn/xueden/edu/service/IEduMemberService.java: -------------------------------------------------------------------------------- 1 | package cn.xueden.edu.service; 2 | 3 | import cn.xueden.common.core.edu.domain.EduMember; 4 | import com.baomidou.mybatisplus.extension.service.IService; 5 | /*import com.baomidou.mybatisplus.service.IService;*/ 6 | 7 | /**功能描述:会员业务接口 8 | * @Auther:梁志杰 9 | * @Date:2021/1/30 10 | * @Description:cn.xueden.edu.service 11 | * @version:1.0 12 | */ 13 | public interface IEduMemberService extends IService { 14 | 15 | /** 16 | * 统计注册会员 17 | * @return 18 | */ 19 | int getMemberTotal(); 20 | 21 | /** 22 | * 更新用户VIP会员类型 23 | * @param tempEduMember 24 | */ 25 | void updateVip(EduMember tempEduMember); 26 | } 27 | -------------------------------------------------------------------------------- /moyu-modules/moyu-edu/src/main/java/cn/xueden/edu/service/IEduSearchService.java: -------------------------------------------------------------------------------- 1 | package cn.xueden.edu.service; 2 | 3 | /**搜索服务 4 | * @Auther:梁志杰 5 | * @Date:2021/2/16 6 | * @Description:cn.xueden.edu.service 7 | * @version:1.0 8 | */ 9 | public interface IEduSearchService { 10 | 11 | /** 12 | * 同步单个索引 13 | * 14 | * @param type 0 更新索引 1 删除索引 15 | * @param courseId 课程 id 16 | * @return 17 | */ 18 | void refreshCourse(int type, Long courseId); 19 | 20 | /** 21 | * 同步所有索引 22 | * 23 | * @return 24 | */ 25 | void importAllCourses(); 26 | 27 | 28 | } 29 | -------------------------------------------------------------------------------- /moyu-modules/moyu-edu/src/main/java/cn/xueden/edu/service/IEduTeacherService.java: -------------------------------------------------------------------------------- 1 | package cn.xueden.edu.service; 2 | 3 | import cn.xueden.common.core.edu.domain.EduTeacher; 4 | import com.baomidou.mybatisplus.extension.service.IService; 5 | /*import com.baomidou.mybatisplus.service.IService;*/ 6 | 7 | /**功能描述:讲师 服务接口类 8 | * @Auther:梁志杰 9 | * @Date:2021/1/22 10 | * @Description:cn.xueden.edu.service 11 | * @version:1.0 12 | */ 13 | public interface IEduTeacherService extends IService { 14 | } 15 | -------------------------------------------------------------------------------- /moyu-modules/moyu-edu/src/main/java/cn/xueden/edu/service/IEduVideoMemberService.java: -------------------------------------------------------------------------------- 1 | package cn.xueden.edu.service; 2 | 3 | import cn.xueden.common.core.edu.domain.EduVideoMember; 4 | import com.baomidou.mybatisplus.extension.service.IService; 5 | 6 | /**功能描述:会员视频播放记录业务接口 7 | * @Auther:梁志杰 8 | * @Date:2021/2/18 9 | * @Description:cn.xueden.edu.service 10 | * @version:1.0 11 | */ 12 | public interface IEduVideoMemberService extends IService { 13 | } 14 | -------------------------------------------------------------------------------- /moyu-modules/moyu-edu/src/main/java/cn/xueden/edu/service/IEduVideoService.java: -------------------------------------------------------------------------------- 1 | package cn.xueden.edu.service; 2 | 3 | import cn.xueden.common.core.edu.domain.EduVideo; 4 | import cn.xueden.common.core.edu.vo.EduVideoVO; 5 | import com.baomidou.mybatisplus.extension.service.IService; 6 | /*import com.baomidou.mybatisplus.service.IService;*/ 7 | 8 | /**功能描述:课程大纲小节业务接口 9 | * @Auther:梁志杰 10 | * @Date:2021/1/24 11 | * @Description:cn.xueden.edu.service 12 | * @version:1.0 13 | */ 14 | public interface IEduVideoService extends IService { 15 | 16 | /** 17 | * 根据文件标志获取视频信息 18 | * @param fileKey 19 | * @return 20 | */ 21 | EduVideo getVideoByfileKey(String fileKey); 22 | 23 | 24 | /** 25 | * 根据ID获取视频信息 26 | * @param id 27 | * @param token 28 | * @param ipAddress 29 | * @return 30 | */ 31 | EduVideoVO getVideoInfo(Long id, String token, String ipAddress); 32 | 33 | } 34 | -------------------------------------------------------------------------------- /moyu-modules/moyu-edu/src/main/java/cn/xueden/edu/service/IEduVipTypeService.java: -------------------------------------------------------------------------------- 1 | package cn.xueden.edu.service; 2 | 3 | import cn.xueden.common.core.edu.domain.EduMemberBuyVip; 4 | import cn.xueden.common.core.edu.domain.EduVipType; 5 | import cn.xueden.common.core.edu.vo.EduVipTypeSubjectVO; 6 | import cn.xueden.common.core.edu.vo.EduVipTypeVO; 7 | import com.baomidou.mybatisplus.core.metadata.IPage; 8 | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; 9 | import com.baomidou.mybatisplus.extension.service.IService; 10 | 11 | 12 | import java.util.List; 13 | import java.util.Set; 14 | 15 | /**功能描述:会员类型业务接口 16 | * @Auther:梁志杰 17 | * @Date:2021/1/31 18 | * @Description:cn.xueden.edu.service 19 | * @version:1.0 20 | */ 21 | public interface IEduVipTypeService extends IService { 22 | 23 | // 获取所有会员类型 24 | List getAllVip(); 25 | 26 | // 根据会员类型ID获取该会员类型下的权益 27 | List getVipSubject(Long vipId); 28 | 29 | // 用户加入VIP 30 | EduMemberBuyVip addVip(Long id, String token, String ipAddress); 31 | 32 | // 分页获取会员类型列表 33 | Page findVipTypeList(Integer page,Integer limit, EduVipTypeVO eduVipTypeVO); 34 | 35 | // 分配权益 36 | void assignVipType(Long id, Set rids); 37 | } 38 | -------------------------------------------------------------------------------- /moyu-modules/moyu-edu/src/main/java/cn/xueden/edu/service/IEduVipTypeSubjectService.java: -------------------------------------------------------------------------------- 1 | package cn.xueden.edu.service; 2 | 3 | import cn.xueden.common.core.edu.domain.EduVipTypeSubject; 4 | import com.baomidou.mybatisplus.extension.service.IService; 5 | 6 | /** 7 | * @Auther:梁志杰 8 | * @Date:2021/2/2 9 | * @Description:cn.xueden.edu.service 10 | * @version:1.0 11 | */ 12 | public interface IEduVipTypeSubjectService extends IService { 13 | } 14 | -------------------------------------------------------------------------------- /moyu-modules/moyu-edu/src/main/java/cn/xueden/edu/service/IStatisticsService.java: -------------------------------------------------------------------------------- 1 | package cn.xueden.edu.service; 2 | 3 | /**功能描述:每日统计业务接口 4 | * @Auther:梁志杰 5 | * @Date:2021/5/27 6 | * @Description:cn.xueden.edu.service 7 | * @version:1.0 8 | */ 9 | public interface IStatisticsService { 10 | // 每日统计 11 | void countDaily(); 12 | } 13 | -------------------------------------------------------------------------------- /moyu-modules/moyu-edu/src/main/java/cn/xueden/edu/service/IVodService.java: -------------------------------------------------------------------------------- 1 | package cn.xueden.edu.service; 2 | 3 | import cn.xueden.common.core.edu.domain.EduVideo; 4 | import cn.xueden.common.redis.service.RedisService; 5 | import org.springframework.web.multipart.MultipartFile; 6 | 7 | /**功能描述:阿里云视频点播业务接口 8 | * @Auther:梁志杰 9 | * @Date:2021/1/25 10 | * @Description:cn.xueden.edu.service 11 | * @version:1.0 12 | */ 13 | public interface IVodService { 14 | 15 | // 根据文件标志获取视频信息 16 | EduVideo getVideoByfileKey(String fileKey); 17 | 18 | /** 19 | * 根据章节id实现上传视频到阿里云服务器的方法 20 | * @param file 21 | * @return 22 | */ 23 | String uploadAliyunVideoById(MultipartFile file, Long id, RedisService redisService, String fileKey); 24 | 25 | /** 26 | * 根据章节id实现上传视频到阿里云服务器的方法(批量上传) 27 | * @param file 28 | * @return 29 | */ 30 | String batchUploadAliyunVideoById(MultipartFile file, Long id, RedisService redisService, String fileKey,Long teacherId); 31 | 32 | 33 | 34 | 35 | 36 | 37 | } 38 | -------------------------------------------------------------------------------- /moyu-modules/moyu-edu/src/main/java/cn/xueden/edu/service/impl/EduBannerServiceImpl.java: -------------------------------------------------------------------------------- 1 | package cn.xueden.edu.service.impl; 2 | 3 | import cn.xueden.common.core.edu.domain.EduBanner; 4 | import cn.xueden.edu.dao.EduBannerDao; 5 | import cn.xueden.edu.service.IEduBannerService; 6 | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; 7 | import org.springframework.stereotype.Service; 8 | 9 | /**功能描述:首页幻灯片业务接口实现类 10 | * @Auther:梁志杰 11 | * @Date:2021/2/19 12 | * @Description:cn.xueden.edu.service.impl 13 | * @version:1.0 14 | */ 15 | @Service 16 | public class EduBannerServiceImpl extends ServiceImpl implements IEduBannerService { 17 | } 18 | -------------------------------------------------------------------------------- /moyu-modules/moyu-edu/src/main/java/cn/xueden/edu/service/impl/EduCashOutDetailsServiceImpl.java: -------------------------------------------------------------------------------- 1 | package cn.xueden.edu.service.impl; 2 | 3 | 4 | import cn.xueden.common.core.edu.domain.EduCashOutDetails; 5 | 6 | import cn.xueden.edu.dao.EduCashOutDetailsDao; 7 | 8 | import cn.xueden.edu.service.IEduCashOutDetailsService; 9 | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; 10 | import org.springframework.stereotype.Service; 11 | 12 | /**功能描述:讲师提现记录业务接口实现类 13 | * @Auther:梁志杰 14 | * @Date:2021/5/28 15 | * @Description:cn.xueden.edu.service.impl 16 | * @version:1.0 17 | */ 18 | @Service 19 | public class EduCashOutDetailsServiceImpl extends ServiceImpl implements IEduCashOutDetailsService { 20 | } 21 | -------------------------------------------------------------------------------- /moyu-modules/moyu-edu/src/main/java/cn/xueden/edu/service/impl/EduDailyReportServiceImpl.java: -------------------------------------------------------------------------------- 1 | package cn.xueden.edu.service.impl; 2 | 3 | 4 | import cn.xueden.common.core.edu.domain.EduDailyReport; 5 | 6 | import cn.xueden.edu.dao.EduDailyReportDao; 7 | 8 | import cn.xueden.edu.service.IEduDailyReportService; 9 | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; 10 | import org.springframework.stereotype.Service; 11 | 12 | /**功能描述:每日统计业务接口实现类 13 | * @Auther:梁志杰 14 | * @Date:2021/5/27 15 | * @Description:cn.xueden.edu.service.impl 16 | * @version:1.0 17 | */ 18 | @Service 19 | public class EduDailyReportServiceImpl extends ServiceImpl implements IEduDailyReportService { 20 | } 21 | -------------------------------------------------------------------------------- /moyu-modules/moyu-edu/src/main/java/cn/xueden/edu/service/impl/EduEnvironmenParamServiceImpl.java: -------------------------------------------------------------------------------- 1 | package cn.xueden.edu.service.impl; 2 | 3 | import cn.xueden.common.core.edu.domain.EduEnvironmenParam; 4 | import cn.xueden.edu.dao.EduEnvironmenParamDao; 5 | import cn.xueden.edu.service.IEduEnvironmenParamService; 6 | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; 7 | import org.springframework.stereotype.Service; 8 | 9 | /**功能描述:开发环境业务接口实现类 10 | * @Auther:梁志杰 11 | * @Date:2021/2/11 12 | * @Description:cn.xueden.edu.service.impl 13 | * @version:1.0 14 | */ 15 | @Service 16 | public class EduEnvironmenParamServiceImpl extends ServiceImpl implements IEduEnvironmenParamService { 17 | } 18 | -------------------------------------------------------------------------------- /moyu-modules/moyu-edu/src/main/java/cn/xueden/edu/service/impl/EduKeywordServiceImpl.java: -------------------------------------------------------------------------------- 1 | package cn.xueden.edu.service.impl; 2 | 3 | import cn.xueden.common.core.edu.domain.EduKeyword; 4 | import cn.xueden.edu.dao.EduKeywordDao; 5 | import cn.xueden.edu.service.IEduKeywordService; 6 | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; 7 | import org.springframework.stereotype.Service; 8 | 9 | /** 10 | * @Auther:梁志杰 11 | * @Date:2021/2/17 12 | * @Description:cn.xueden.edu.service.impl 13 | * @version:1.0 14 | */ 15 | @Service 16 | public class EduKeywordServiceImpl extends ServiceImpl implements IEduKeywordService { 17 | } 18 | -------------------------------------------------------------------------------- /moyu-modules/moyu-edu/src/main/java/cn/xueden/edu/service/impl/EduTeacherServiceImpl.java: -------------------------------------------------------------------------------- 1 | package cn.xueden.edu.service.impl; 2 | 3 | import cn.xueden.common.core.edu.domain.EduTeacher; 4 | import cn.xueden.edu.dao.EduTeacherDao; 5 | import cn.xueden.edu.service.IEduTeacherService; 6 | /*import com.baomidou.mybatisplus.service.impl.ServiceImpl;*/ 7 | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; 8 | import org.springframework.stereotype.Service; 9 | 10 | /**讲师 服务实现类 11 | * @Auther:梁志杰 12 | * @Date:2021/1/22 13 | * @Description:cn.xueden.edu.service.impl 14 | * @version:1.0 15 | */ 16 | @Service 17 | public class EduTeacherServiceImpl extends ServiceImpl implements IEduTeacherService { 18 | } 19 | -------------------------------------------------------------------------------- /moyu-modules/moyu-edu/src/main/java/cn/xueden/edu/service/impl/EduVideoMemberServiceImpl.java: -------------------------------------------------------------------------------- 1 | package cn.xueden.edu.service.impl; 2 | 3 | import cn.xueden.common.core.edu.domain.EduVideoMember; 4 | import cn.xueden.edu.dao.EduVideoMemberDao; 5 | import cn.xueden.edu.service.IEduVideoMemberService; 6 | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; 7 | import org.springframework.stereotype.Service; 8 | 9 | /**功能描述:会员观看视频记录业务接口实现类 10 | * @Auther:梁志杰 11 | * @Date:2021/2/18 12 | * @Description:cn.xueden.edu.service.impl 13 | * @version:1.0 14 | */ 15 | @Service 16 | public class EduVideoMemberServiceImpl extends ServiceImpl implements IEduVideoMemberService { 17 | } 18 | -------------------------------------------------------------------------------- /moyu-modules/moyu-edu/src/main/java/cn/xueden/edu/service/impl/EduVipTypeSubjectServiceImpl.java: -------------------------------------------------------------------------------- 1 | package cn.xueden.edu.service.impl; 2 | 3 | import cn.xueden.common.core.edu.domain.EduVipTypeSubject; 4 | import cn.xueden.edu.dao.EduVipTypeSubjectDao; 5 | import cn.xueden.edu.service.IEduVipTypeSubjectService; 6 | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; 7 | import org.springframework.stereotype.Service; 8 | 9 | /** 10 | * @Auther:梁志杰 11 | * @Date:2021/2/2 12 | * @Description:cn.xueden.edu.service.impl 13 | * @version:1.0 14 | */ 15 | @Service 16 | public class EduVipTypeSubjectServiceImpl extends ServiceImpl implements IEduVipTypeSubjectService { 17 | } 18 | -------------------------------------------------------------------------------- /moyu-modules/moyu-edu/src/main/java/cn/xueden/edu/task/DailyScheduledTask.java: -------------------------------------------------------------------------------- 1 | package cn.xueden.edu.task; 2 | 3 | import cn.xueden.edu.service.IStatisticsService; 4 | import lombok.extern.slf4j.Slf4j; 5 | import org.springframework.beans.factory.annotation.Autowired; 6 | import org.springframework.scheduling.annotation.EnableScheduling; 7 | import org.springframework.scheduling.annotation.Scheduled; 8 | import org.springframework.stereotype.Component; 9 | 10 | /**功能描述:每日统计任务 11 | * @Auther:梁志杰 12 | * @Date:2021/5/27 13 | * @Description:cn.xueden.edu.task 14 | * @version:1.0 15 | */ 16 | @EnableScheduling 17 | @Slf4j 18 | @Component 19 | public class DailyScheduledTask { 20 | 21 | @Autowired 22 | private IStatisticsService statisticsService; 23 | 24 | /** 25 | * 每日0点统计讲师订单数量和收益金额记录 26 | */ 27 | @Scheduled(cron="0 0 0 * * ?") 28 | public void countDaily() { 29 | log.info("每日0点统计讲师订单数量和收益金额记录"); 30 | System.out.println("--------------- 定时器启动订单数量和收益金额统计 ---------------"); 31 | statisticsService.countDaily(); 32 | System.out.println("--------------- 定时器启动订单数量和收益金额完成 ---------------"); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /moyu-modules/moyu-edu/src/main/resources/bootstrap.yml: -------------------------------------------------------------------------------- 1 | # Tomcat 2 | server: 3 | port: 6000 4 | 5 | # Spring 6 | spring: 7 | application: 8 | # 应用名称 9 | name: moyu-edu 10 | profiles: 11 | # 环境配置 12 | active: dev 13 | cloud: 14 | nacos: 15 | discovery: 16 | # 服务注册地址 17 | server-addr: nacos:8848 18 | config: 19 | # 配置中心地址 20 | server-addr: nacos:8848 21 | # 配置文件格式 22 | file-extension: yml 23 | # 共享配置 24 | shared-dataids: application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} 25 | #本地 默认为Public命名空间,可以省略不写,新建的命名空间,需要使用命名空间ID, 不能使用名称 26 | namespace: 5c3c4829-f937-4d50-aec1-95f0afc1ef73 27 | #指定配置群组 --如果是Public命名空间 则可以省略群组配置 28 | group: EDU_GROUP 29 | -------------------------------------------------------------------------------- /moyu-modules/moyu-edu/src/main/resources/ip2region/ip2region.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seasonl2014/xueden-cloud-edu/04ad2b92f042fdd954dc653d6fae5a3eaac71e68/moyu-modules/moyu-edu/src/main/resources/ip2region/ip2region.db -------------------------------------------------------------------------------- /moyu-modules/moyu-system/Dockerfile: -------------------------------------------------------------------------------- 1 | #获取base image 2 | FROM adoptopenjdk/openjdk8:latest 3 | MAINTAINER moyu 11184629@qq.com 4 | 5 | #类似于linux copy指令 6 | COPY moyu-system-1.0.0.jar /opt/app/layuicloud/ 7 | #对外端口 8 | EXPOSE 9000 9 | #执行命令 java -jar /opt/app/layuicloud/moyu-system-1.0.0.jar 10 | ENTRYPOINT ["java","-Xmx256m", "-jar", "/opt/app/layuicloud/moyu-system-1.0.0.jar","--spring.profiles.active=dev","-c"] 11 | -------------------------------------------------------------------------------- /moyu-modules/moyu-system/src/main/java/cn/xueden/system/MoYuSystemApplication.java: -------------------------------------------------------------------------------- 1 | package cn.xueden.system; 2 | 3 | import cn.xueden.common.security.annotation.EnableCustomConfig; 4 | import cn.xueden.common.security.annotation.EnableMoYuFeignClients; 5 | import cn.xueden.common.swagger.annotation.EnableCustomSwagger2; 6 | import org.mybatis.spring.annotation.MapperScan; 7 | import org.springframework.boot.SpringApplication; 8 | import org.springframework.boot.autoconfigure.SpringBootApplication; 9 | import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration; 10 | import org.springframework.cloud.client.SpringCloudApplication; 11 | 12 | /** 13 | * 系统模块 14 | * 15 | */ 16 | @EnableCustomConfig 17 | @EnableMoYuFeignClients 18 | @EnableCustomSwagger2 19 | @SpringCloudApplication 20 | public class MoYuSystemApplication 21 | { 22 | public static void main( String[] args ) 23 | { 24 | SpringApplication.run(MoYuSystemApplication.class, args); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /moyu-modules/moyu-system/src/main/java/cn/xueden/system/controller/BaseController.java: -------------------------------------------------------------------------------- 1 | package cn.xueden.system.controller; 2 | 3 | 4 | import cn.xueden.system.service.LogService; 5 | import cn.xueden.system.service.MenuService; 6 | import cn.xueden.system.service.RoleService; 7 | import cn.xueden.system.service.UserService; 8 | import org.springframework.beans.factory.annotation.Autowired; 9 | 10 | /**功能描述:基础Controller类 11 | * @Auther:梁志杰 12 | * @Date:2020/9/25 13 | * @Description:cn.xueden.system.controller 14 | * @version:1.0 15 | */ 16 | public class BaseController { 17 | @Autowired 18 | protected UserService userService; 19 | 20 | @Autowired 21 | protected MenuService menuService; 22 | 23 | @Autowired 24 | protected RoleService roleService; 25 | 26 | @Autowired 27 | protected LogService logService; 28 | 29 | 30 | /** 31 | * 功能描述:获取当前用户信息 32 | * @return 33 | *//* 34 | public User getCurrentUser(){ 35 | 36 | ShiroUser shiroUser = (ShiroUser)SecurityUtils.getSubject().getPrincipal(); 37 | if(null==shiroUser){ 38 | return null ; 39 | } 40 | 41 | User loginUser = userService.selectById(shiroUser.getId()); 42 | return loginUser; 43 | }*/ 44 | } 45 | 46 | -------------------------------------------------------------------------------- /moyu-modules/moyu-system/src/main/java/cn/xueden/system/dao/LogDao.java: -------------------------------------------------------------------------------- 1 | package cn.xueden.system.dao; 2 | 3 | 4 | import cn.xueden.common.core.web.domain.SysLog; 5 | import com.baomidou.mybatisplus.core.mapper.BaseMapper; 6 | 7 | /*import com.baomidou.mybatisplus.mapper.BaseMapper;*/ 8 | 9 | import java.util.List; 10 | import java.util.Map; 11 | 12 | /**功能描述:系统日志 Mapper 接口 13 | * @Auther:http://www.xueden.cn 14 | * @Date:2020/3/6 15 | * @Description:cn.xueden.modules.system.dao 16 | * @version:1.0 17 | */ 18 | public interface LogDao extends BaseMapper { 19 | 20 | List selectSelfMonthData(); 21 | 22 | List selectSelfMonthDataByProvince(); 23 | } 24 | -------------------------------------------------------------------------------- /moyu-modules/moyu-system/src/main/java/cn/xueden/system/dao/MenuDao.java: -------------------------------------------------------------------------------- 1 | package cn.xueden.system.dao; 2 | 3 | 4 | import cn.xueden.common.core.web.domain.SysMenu; 5 | 6 | import cn.xueden.system.entity.vo.ShowMenu; 7 | import com.baomidou.mybatisplus.core.mapper.BaseMapper; 8 | /*import com.baomidou.mybatisplus.mapper.BaseMapper;*/ 9 | 10 | import java.util.List; 11 | import java.util.Map; 12 | 13 | /**功能描述:菜单 Mapper 接口 14 | * @Auther:http://www.xueden.cn 15 | * @Date:2020/2/24 16 | * @Description:cn.xueden.modules.system.dao 17 | * @version:1.0 18 | */ 19 | public interface MenuDao extends BaseMapper { 20 | 21 | List selectShowMenuByUser(Map map); 22 | 23 | List getMenus(Map map); 24 | } 25 | -------------------------------------------------------------------------------- /moyu-modules/moyu-system/src/main/java/cn/xueden/system/dao/RoleDao.java: -------------------------------------------------------------------------------- 1 | package cn.xueden.system.dao; 2 | 3 | 4 | import cn.xueden.common.core.web.domain.SysMenu; 5 | import cn.xueden.common.core.web.domain.SysRole; 6 | 7 | /*import com.baomidou.mybatisplus.mapper.BaseMapper;*/ 8 | import com.baomidou.mybatisplus.core.mapper.BaseMapper; 9 | import org.apache.ibatis.annotations.Param; 10 | 11 | import java.util.Set; 12 | 13 | /**功能描述:用户角色 Mapper 接口 14 | * @Auther:http://www.xueden.cn 15 | * @Date:2020/2/25 16 | * @Description:cn.xueden.modules.system.dao 17 | * @version:1.0 18 | */ 19 | public interface RoleDao extends BaseMapper { 20 | 21 | //保存角色和菜单关系 22 | void saveRoleMenus(@Param("roleId") Long id, @Param("menus") Set menus); 23 | 24 | //删除角色和菜单关系 25 | void dropRoleMenus(@Param("roleId") Long roleId); 26 | 27 | //根据角色Id获取角色信息 28 | SysRole selectRoleById(@Param("id") Long id); 29 | 30 | //删除角色和用户的关系 31 | void dropRoleUsers(@Param("roleId") Long roleId); 32 | } 33 | -------------------------------------------------------------------------------- /moyu-modules/moyu-system/src/main/java/cn/xueden/system/dao/UserDao.java: -------------------------------------------------------------------------------- 1 | package cn.xueden.system.dao; 2 | 3 | 4 | import cn.xueden.common.core.web.domain.SysRole; 5 | import cn.xueden.common.core.web.domain.SysUser; 6 | 7 | /*import com.baomidou.mybatisplus.mapper.BaseMapper;*/ 8 | import com.baomidou.mybatisplus.core.mapper.BaseMapper; 9 | import org.apache.ibatis.annotations.Param; 10 | 11 | import java.util.Map; 12 | import java.util.Set; 13 | 14 | /**功能描述:用户信息 Mapper 接口 15 | * @Auther:http://www.xueden.cn 16 | * @Date:2020/2/21 17 | * @Description:cn.xueden.modules.system.dao 18 | * @version:1.0 19 | */ 20 | public interface UserDao extends BaseMapper { 21 | SysUser selectUserByMap(Map map); 22 | 23 | //保存用户和角色关系 24 | void saveUserRoles(@Param("userId") Long id, @Param("roleIds") Set roles); 25 | 26 | void dropUserRolesByUserId(@Param("userId") Long userId); 27 | } 28 | -------------------------------------------------------------------------------- /moyu-modules/moyu-system/src/main/java/cn/xueden/system/service/LogService.java: -------------------------------------------------------------------------------- 1 | package cn.xueden.system.service; 2 | 3 | 4 | 5 | import cn.xueden.common.core.web.domain.SysLog; 6 | import com.baomidou.mybatisplus.extension.service.IService; 7 | /*import com.baomidou.mybatisplus.service.IService;*/ 8 | 9 | import java.util.Map; 10 | 11 | /**功能描述:系统日志服务类 12 | * @Auther:http://www.xueden.cn 13 | * @Date:2020/3/6 14 | * @Description:cn.xueden.modules.system.service 15 | * @version:1.0 16 | */ 17 | public interface LogService extends IService { 18 | 19 | public Map selectSelfMonthData(); 20 | 21 | public Map selectSelfMonthDataByProvince(); 22 | 23 | } 24 | -------------------------------------------------------------------------------- /moyu-modules/moyu-system/src/main/java/cn/xueden/system/service/MenuService.java: -------------------------------------------------------------------------------- 1 | package cn.xueden.system.service; 2 | 3 | 4 | import cn.xueden.common.core.web.domain.SysMenu; 5 | 6 | import cn.xueden.system.entity.vo.ShowMenu; 7 | import com.baomidou.mybatisplus.extension.service.IService; 8 | /*import com.baomidou.mybatisplus.service.IService;*/ 9 | 10 | import java.util.List; 11 | import java.util.Map; 12 | 13 | /**功能描述:菜单 服务接口 14 | * @Auther:http://www.xueden.cn 15 | * @Date:2020/2/24 16 | * @Description:cn.xueden.modules.system.service 17 | * @version:1.0 18 | */ 19 | public interface MenuService extends IService { 20 | 21 | List getShowMenuByUser(Long id); 22 | 23 | List selectAllMenus(Map map); 24 | 25 | int getCountByName(String name); 26 | 27 | int getCountByPermission(String permission); 28 | 29 | void saveOrUpdateMenu(SysMenu menu); 30 | } 31 | -------------------------------------------------------------------------------- /moyu-modules/moyu-system/src/main/java/cn/xueden/system/service/RoleService.java: -------------------------------------------------------------------------------- 1 | package cn.xueden.system.service; 2 | 3 | 4 | import cn.xueden.common.core.web.domain.SysRole; 5 | import com.baomidou.mybatisplus.extension.service.IService; 6 | 7 | /*import com.baomidou.mybatisplus.service.IService;*/ 8 | 9 | import java.util.List; 10 | 11 | /**功能描述:用户角色 服务接口 12 | * @Auther:http://www.xueden.cn 13 | * @Date:2020/2/25 14 | * @Description:cn.xueden.modules.system.service 15 | * @version:1.0 16 | */ 17 | public interface RoleService extends IService { 18 | 19 | //根据角色名称统计记录 20 | int getRoleNameCount(String name); 21 | 22 | //保存角色信息 23 | SysRole saveRole(SysRole role); 24 | 25 | //保存角色信息 26 | SysRole create(SysRole role); 27 | 28 | //更新角色信息 29 | void updateRole(SysRole role); 30 | 31 | 32 | //根据角色Id获取角色信息 33 | SysRole getRoleById(Long id); 34 | 35 | //删除角色信息 36 | void deleteRole(SysRole role); 37 | 38 | //获取所有角色列表 39 | List selectAll(); 40 | 41 | 42 | } 43 | -------------------------------------------------------------------------------- /moyu-modules/moyu-system/src/main/java/cn/xueden/system/service/UserService.java: -------------------------------------------------------------------------------- 1 | package cn.xueden.system.service; 2 | 3 | 4 | import cn.xueden.common.core.web.domain.SysRole; 5 | import cn.xueden.common.core.web.domain.SysUser; 6 | import com.baomidou.mybatisplus.extension.service.IService; 7 | /*import com.baomidou.mybatisplus.service.IService;*/ 8 | 9 | import java.util.Set; 10 | 11 | /**功能描述:用户信息 服务类 12 | * @Auther:http://www.xueden.cn 13 | * @Date:2020/2/21 14 | * @Description:cn.xueden.modules.system.service 15 | * @version:1.0 16 | */ 17 | public interface UserService extends IService { 18 | 19 | SysUser findUserByLoginName(String name); 20 | 21 | SysUser findUserById(Long id); 22 | 23 | int userCount(String param); 24 | 25 | SysUser saveUser(SysUser user); 26 | 27 | //保存用户和角色的关系 28 | void saveUserRoles(Long id, Set roleSet); 29 | 30 | //更新用户信息 31 | SysUser updateUser(SysUser user); 32 | 33 | //删除用户和角色关系 34 | void dropUserRolesByUserId(Long id); 35 | 36 | //删除单条记录 37 | void deleteUser(SysUser user); 38 | } 39 | -------------------------------------------------------------------------------- /moyu-modules/moyu-system/src/main/resources/banner.txt: -------------------------------------------------------------------------------- 1 | _ 2 | _ __ ___ ___ _ _ _ _ ___ _ _ ___| |_ ___ _ __ ___ 3 | | '_ ` _ \ / _ \| | | | | | |_____/ __| | | / __| __/ _ \ '_ ` _ \ 4 | | | | | | | (_) | |_| | |_| |_____\__ \ |_| \__ \ || __/ | | | | | 5 | |_| |_| |_|\___/ \__, |\__,_| |___/\__, |___/\__\___|_| |_| |_| 6 | |___/ |___/ 7 | Spring Boot Version: ${spring-boot.version} 8 | Spring Application Name: ${spring.application.name} -------------------------------------------------------------------------------- /moyu-modules/moyu-system/src/main/resources/bootstrap.yml: -------------------------------------------------------------------------------- 1 | # Tomcat 2 | server: 3 | port: 9000 4 | 5 | # Spring 6 | spring: 7 | application: 8 | # 应用名称 9 | name: moyu-system 10 | profiles: 11 | # 环境配置 12 | active: dev 13 | cloud: 14 | nacos: 15 | discovery: 16 | # 服务注册地址 17 | server-addr: nacos:8848 18 | config: 19 | # 配置中心地址 20 | server-addr: nacos:8848 21 | # 配置文件格式 22 | file-extension: yml 23 | # 共享配置 24 | shared-dataids: application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension} 25 | #本地 默认为Public命名空间,可以省略不写,新建的命名空间,需要使用命名空间ID, 不能使用名称 26 | namespace: 5c3c4829-f937-4d50-aec1-95f0afc1ef73 27 | #指定配置群组 --如果是Public命名空间 则可以省略群组配置 28 | group: SYSTEM_GROUP 29 | -------------------------------------------------------------------------------- /moyu-modules/moyu-system/src/main/resources/ip2region/ip2region.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seasonl2014/xueden-cloud-edu/04ad2b92f042fdd954dc653d6fae5a3eaac71e68/moyu-modules/moyu-system/src/main/resources/ip2region/ip2region.db -------------------------------------------------------------------------------- /moyu-modules/moyu-system/src/main/resources/mapper/LogMapper.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 19 | 20 | 21 | 32 | 33 | -------------------------------------------------------------------------------- /moyu-modules/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | moyu-cloud 7 | cn.xueden 8 | 1.0.0 9 | 10 | 4.0.0 11 | 12 | moyu-modules 13 | pom 14 | 15 | moyu-modules 16 | 业务模块 17 | 18 | moyu-system 19 | moyu-edu 20 | 21 | 22 | 23 | --------------------------------------------------------------------------------