├── zutmooc-admin ├── static │ ├── .gitkeep │ ├── cover.png │ ├── template.xlsx │ └── tinymce4.7.5 │ │ ├── skins │ │ └── lightgray │ │ │ ├── img │ │ │ ├── anchor.gif │ │ │ ├── loader.gif │ │ │ ├── object.gif │ │ │ └── trans.gif │ │ │ ├── fonts │ │ │ ├── tinymce.eot │ │ │ ├── tinymce.ttf │ │ │ ├── tinymce.woff │ │ │ ├── tinymce-small.eot │ │ │ ├── tinymce-small.ttf │ │ │ ├── tinymce-small.woff │ │ │ └── tinymce-mobile.woff │ │ │ ├── content.inline.min.css │ │ │ └── content.min.css │ │ └── plugins │ │ ├── emoticons │ │ └── img │ │ │ ├── smiley-cool.gif │ │ │ ├── smiley-cry.gif │ │ │ ├── smiley-frown.gif │ │ │ ├── smiley-kiss.gif │ │ │ ├── smiley-smile.gif │ │ │ ├── smiley-wink.gif │ │ │ ├── smiley-yell.gif │ │ │ ├── smiley-sealed.gif │ │ │ ├── smiley-embarassed.gif │ │ │ ├── smiley-innocent.gif │ │ │ ├── smiley-laughing.gif │ │ │ ├── smiley-surprised.gif │ │ │ ├── smiley-tongue-out.gif │ │ │ ├── smiley-undecided.gif │ │ │ ├── smiley-money-mouth.gif │ │ │ └── smiley-foot-in-mouth.gif │ │ └── codesample │ │ └── css │ │ └── prism.css ├── .eslintignore ├── favicon.ico ├── build │ ├── logo.png │ ├── vue-loader.conf.js │ ├── build.js │ ├── check-versions.js │ ├── utils.js │ ├── webpack.dev.conf.js │ └── webpack.base.conf.js ├── src │ ├── styles │ │ ├── variables.scss │ │ ├── mixin.scss │ │ ├── element-ui.scss │ │ ├── transition.scss │ │ ├── index.scss │ │ └── sidebar.scss │ ├── assets │ │ └── 404_images │ │ │ ├── 404.png │ │ │ └── 404_cloud.png │ ├── views │ │ ├── nested │ │ │ ├── menu2 │ │ │ │ └── index.vue │ │ │ └── menu1 │ │ │ │ ├── menu1-3 │ │ │ │ └── index.vue │ │ │ │ ├── index.vue │ │ │ │ ├── menu1-2 │ │ │ │ ├── menu1-2-1 │ │ │ │ │ └── index.vue │ │ │ │ ├── menu1-2-2 │ │ │ │ │ └── index.vue │ │ │ │ └── index.vue │ │ │ │ └── menu1-1 │ │ │ │ └── index.vue │ │ ├── layout │ │ │ ├── components │ │ │ │ ├── index.js │ │ │ │ ├── Sidebar │ │ │ │ │ ├── Item.vue │ │ │ │ │ ├── Link.vue │ │ │ │ │ ├── index.vue │ │ │ │ │ └── SidebarItem.vue │ │ │ │ ├── AppMain.vue │ │ │ │ └── Navbar.vue │ │ │ ├── mixin │ │ │ │ └── ResizeHandler.js │ │ │ └── Layout.vue │ │ ├── dashboard │ │ │ └── index.vue │ │ ├── sta │ │ │ └── create.vue │ │ ├── edu │ │ │ ├── subject │ │ │ │ ├── list.vue │ │ │ │ └── save.vue │ │ │ └── course │ │ │ │ └── publish.vue │ │ ├── tree │ │ │ └── index.vue │ │ ├── table │ │ │ └── index.vue │ │ └── form │ │ │ └── index.vue │ ├── App.vue │ ├── components │ │ ├── ImageCropper │ │ │ └── utils │ │ │ │ ├── mimes.js │ │ │ │ ├── data2blob.js │ │ │ │ └── effectRipple.js │ │ ├── Tinymce │ │ │ ├── toolbar.js │ │ │ ├── plugins.js │ │ │ └── components │ │ │ │ └── editorImage.vue │ │ ├── SvgIcon │ │ │ └── index.vue │ │ ├── Hamburger │ │ │ └── index.vue │ │ ├── Breadcrumb │ │ │ └── index.vue │ │ └── PanThumb │ │ │ └── index.vue │ ├── api │ │ ├── table.js │ │ ├── edu │ │ │ ├── subject.js │ │ │ ├── video.js │ │ │ ├── chapter.js │ │ │ ├── teacher.js │ │ │ └── course.js │ │ ├── sta.js │ │ └── login.js │ ├── icons │ │ ├── svg │ │ │ ├── link.svg │ │ │ ├── user.svg │ │ │ ├── example.svg │ │ │ ├── table.svg │ │ │ ├── password.svg │ │ │ ├── nested.svg │ │ │ ├── eye.svg │ │ │ ├── tree.svg │ │ │ └── form.svg │ │ ├── index.js │ │ └── svgo.yml │ ├── store │ │ ├── getters.js │ │ ├── index.js │ │ └── modules │ │ │ ├── app.js │ │ │ └── user.js │ ├── utils │ │ ├── auth.js │ │ ├── validate.js │ │ ├── index.js │ │ └── request.js │ ├── main.js │ └── permission.js ├── .travis.yml ├── config │ ├── prod.env.js │ ├── dev.env.js │ └── index.js ├── .gitignore ├── .babelrc ├── .postcssrc.js ├── .editorconfig ├── index.html ├── LICENSE └── package.json ├── workspace.code-workspace ├── zutmooc-front ├── assets │ ├── img │ │ ├── 404.jpg │ │ ├── 500.jpg │ │ ├── HF-BG.png │ │ ├── icon.png │ │ ├── logo.png │ │ ├── logo1.png │ │ ├── pic │ │ │ ├── 1.jpg │ │ │ ├── c-1.jpg │ │ │ ├── t-p-1.jpg │ │ │ ├── two-green.jpg │ │ │ ├── one-master.jpg │ │ │ ├── three-blue.jpg │ │ │ ├── banner-1-blue.jpg │ │ │ ├── banner-1-green.jpg │ │ │ ├── banner-2-blue.jpg │ │ │ └── banner-2-green.jpg │ │ ├── tipQe.png │ │ ├── up-hf.png │ │ ├── c-icon.png │ │ ├── d-icon.png │ │ ├── erweima.png │ │ ├── loading.gif │ │ ├── loding.gif │ │ ├── phone-bg.png │ │ ├── qq-icon.png │ │ ├── wb-icon.png │ │ ├── wb2-icon.png │ │ ├── wx-icon.png │ │ ├── wx2-icon.png │ │ ├── zan-icon.png │ │ ├── avatar-boy.gif │ │ ├── black-mask.png │ │ ├── black-name.png │ │ ├── cart_setp2.png │ │ ├── kyb-tip-bg.jpg │ │ ├── qq-icon-32.png │ │ ├── s-next-btn.png │ │ ├── s-prev-btn.png │ │ ├── v-loading.gif │ │ ├── v-play-bg.jpg │ │ ├── wb-icon-32.png │ │ ├── wx-icon-32.png │ │ ├── background.jpeg │ │ ├── black-bg-hf.png │ │ ├── default-img.gif │ │ ├── kyb-tip-close.png │ │ ├── wb-icon-hover.png │ │ ├── wx-icon-hover.png │ │ ├── default-img_old.gif │ │ ├── default-tea-img.gif │ │ ├── kyb-tip-all-bg.png │ │ ├── qq-icon-hover-32.png │ │ ├── wb-icon-hover-32.png │ │ ├── wx-icon-hover-32.png │ │ └── f12c399b34115265a7a8a4da329b45d0.jpg │ ├── css │ │ ├── iconfont.eot │ │ ├── iconfont.ttf │ │ ├── iconfont.woff │ │ ├── iconfont.woff2 │ │ ├── activity_tab.css │ │ ├── theme.css │ │ ├── nice_select.css │ │ ├── reset.css │ │ ├── pages-weixinpay.css │ │ └── iconfont.css │ ├── photo │ │ ├── article │ │ │ ├── 01.jpg │ │ │ ├── 02.jpg │ │ │ ├── 03.jpg │ │ │ ├── 04.jpg │ │ │ ├── 05.jpg │ │ │ ├── 06.jpg │ │ │ ├── 07.jpg │ │ │ ├── 08.jpg │ │ │ ├── 09.jpg │ │ │ ├── 10.jpg │ │ │ └── hot.jpg │ │ ├── course │ │ │ ├── 01.jpg │ │ │ ├── 02.jpg │ │ │ ├── 03.jpg │ │ │ ├── 04.jpg │ │ │ ├── 05.jpg │ │ │ ├── 06.jpg │ │ │ ├── 07.jpg │ │ │ ├── 08.jpg │ │ │ ├── 09.jpg │ │ │ ├── 10.jpg │ │ │ ├── 11.jpg │ │ │ ├── 12.jpg │ │ │ ├── default.gif │ │ │ ├── 1442295379715.jpg │ │ │ ├── 1442295455437.jpg │ │ │ ├── 1442295472860.jpg │ │ │ ├── 1442295506745.jpg │ │ │ ├── 1442295527931.jpg │ │ │ ├── 1442295556203.jpg │ │ │ ├── 1442295570359.jpg │ │ │ ├── 1442295581911.jpg │ │ │ ├── 1442295592705.jpg │ │ │ ├── 1442295604295.jpg │ │ │ ├── 1442302831779.jpg │ │ │ └── 1442302852837.jpg │ │ ├── customer │ │ │ ├── 01.jpg │ │ │ ├── 02.jpg │ │ │ ├── 03.jpg │ │ │ └── avatar-boy.gif │ │ ├── teacher │ │ │ ├── 01.jpg │ │ │ ├── 02.jpg │ │ │ ├── 03.jpg │ │ │ ├── 04.jpg │ │ │ ├── 05.jpg │ │ │ ├── 06.jpg │ │ │ ├── 07.jpg │ │ │ ├── 08.jpg │ │ │ ├── default.jpg │ │ │ ├── 1442297885942.jpg │ │ │ ├── 1442297919077.jpg │ │ │ ├── 1442297927029.jpg │ │ │ ├── 1442297935589.jpg │ │ │ ├── 1442297957332.jpg │ │ │ ├── 1442297969808.jpg │ │ │ ├── 1442297977255.jpg │ │ │ ├── 1442297987091.jpg │ │ │ ├── 1442297999141.jpg │ │ │ └── 1442298121626.jpg │ │ └── banner │ │ │ ├── 1525939573202.jpg │ │ │ └── 153525d0ef15459596.jpg │ ├── README.md │ └── js │ │ ├── index.js │ │ └── html5.js ├── static │ ├── favicon.ico │ └── README.md ├── .gitignore ├── layouts │ ├── sign.vue │ ├── README.md │ └── video.vue ├── api │ ├── index.js │ ├── banner.js │ ├── recommend.js │ ├── vod.js │ ├── register.js │ ├── login.js │ ├── teacher.js │ ├── orders.js │ └── course.js ├── components │ ├── README.md │ └── AppLogo.vue ├── .editorconfig ├── pages │ ├── README.md │ ├── player │ │ ├── _vid.vue │ │ └── index.vue │ ├── pay │ │ └── _pid.vue │ ├── teacher │ │ └── _id.vue │ ├── login.vue │ └── orders │ │ └── _oid.vue ├── plugins │ ├── README.md │ └── nuxt-swiper-plugin.js ├── middleware │ └── README.md ├── store │ └── README.md ├── README.md ├── .eslintrc.js ├── utils │ ├── orders.js │ └── request.js ├── package.json └── nuxt.config.js ├── .idea ├── .gitignore ├── vcs.xml ├── modules.xml ├── inspectionProfiles │ └── Project_Default.xml └── 1010.iml └── README.md /zutmooc-admin/static/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /zutmooc-admin/.eslintignore: -------------------------------------------------------------------------------- 1 | build/*.js 2 | config/*.js 3 | src/assets 4 | -------------------------------------------------------------------------------- /workspace.code-workspace: -------------------------------------------------------------------------------- 1 | { 2 | "folders": [ 3 | { 4 | "path": "." 5 | } 6 | ], 7 | "settings": { 8 | } 9 | } -------------------------------------------------------------------------------- /zutmooc-admin/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-admin/favicon.ico -------------------------------------------------------------------------------- /zutmooc-admin/build/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-admin/build/logo.png -------------------------------------------------------------------------------- /zutmooc-admin/src/styles/variables.scss: -------------------------------------------------------------------------------- 1 | //sidebar 2 | $menuBg:#304156; 3 | $subMenuBg:#1f2d3d; 4 | $menuHover:#001528; 5 | -------------------------------------------------------------------------------- /zutmooc-admin/static/cover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-admin/static/cover.png -------------------------------------------------------------------------------- /zutmooc-front/assets/img/404.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-front/assets/img/404.jpg -------------------------------------------------------------------------------- /zutmooc-front/assets/img/500.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-front/assets/img/500.jpg -------------------------------------------------------------------------------- /zutmooc-front/static/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-front/static/favicon.ico -------------------------------------------------------------------------------- /zutmooc-admin/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: stable 3 | script: npm run test 4 | notifications: 5 | email: false 6 | -------------------------------------------------------------------------------- /zutmooc-admin/static/template.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-admin/static/template.xlsx -------------------------------------------------------------------------------- /zutmooc-front/assets/img/HF-BG.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-front/assets/img/HF-BG.png -------------------------------------------------------------------------------- /zutmooc-front/assets/img/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-front/assets/img/icon.png -------------------------------------------------------------------------------- /zutmooc-front/assets/img/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-front/assets/img/logo.png -------------------------------------------------------------------------------- /zutmooc-front/assets/img/logo1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-front/assets/img/logo1.png -------------------------------------------------------------------------------- /zutmooc-front/assets/img/pic/1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-front/assets/img/pic/1.jpg -------------------------------------------------------------------------------- /zutmooc-front/assets/img/tipQe.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-front/assets/img/tipQe.png -------------------------------------------------------------------------------- /zutmooc-front/assets/img/up-hf.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-front/assets/img/up-hf.png -------------------------------------------------------------------------------- /.idea/.gitignore: -------------------------------------------------------------------------------- 1 | # Default ignored files 2 | /shelf/ 3 | /workspace.xml 4 | # Editor-based HTTP Client requests 5 | /httpRequests/ 6 | -------------------------------------------------------------------------------- /zutmooc-front/assets/css/iconfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-front/assets/css/iconfont.eot -------------------------------------------------------------------------------- /zutmooc-front/assets/css/iconfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-front/assets/css/iconfont.ttf -------------------------------------------------------------------------------- /zutmooc-front/assets/img/c-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-front/assets/img/c-icon.png -------------------------------------------------------------------------------- /zutmooc-front/assets/img/d-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-front/assets/img/d-icon.png -------------------------------------------------------------------------------- /zutmooc-front/assets/img/erweima.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-front/assets/img/erweima.png -------------------------------------------------------------------------------- /zutmooc-front/assets/img/loading.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-front/assets/img/loading.gif -------------------------------------------------------------------------------- /zutmooc-front/assets/img/loding.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-front/assets/img/loding.gif -------------------------------------------------------------------------------- /zutmooc-front/assets/img/phone-bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-front/assets/img/phone-bg.png -------------------------------------------------------------------------------- /zutmooc-front/assets/img/pic/c-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-front/assets/img/pic/c-1.jpg -------------------------------------------------------------------------------- /zutmooc-front/assets/img/qq-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-front/assets/img/qq-icon.png -------------------------------------------------------------------------------- /zutmooc-front/assets/img/wb-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-front/assets/img/wb-icon.png -------------------------------------------------------------------------------- /zutmooc-front/assets/img/wb2-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-front/assets/img/wb2-icon.png -------------------------------------------------------------------------------- /zutmooc-front/assets/img/wx-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-front/assets/img/wx-icon.png -------------------------------------------------------------------------------- /zutmooc-front/assets/img/wx2-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-front/assets/img/wx2-icon.png -------------------------------------------------------------------------------- /zutmooc-front/assets/img/zan-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-front/assets/img/zan-icon.png -------------------------------------------------------------------------------- /zutmooc-front/assets/css/iconfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-front/assets/css/iconfont.woff -------------------------------------------------------------------------------- /zutmooc-front/assets/css/iconfont.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-front/assets/css/iconfont.woff2 -------------------------------------------------------------------------------- /zutmooc-front/assets/img/avatar-boy.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-front/assets/img/avatar-boy.gif -------------------------------------------------------------------------------- /zutmooc-front/assets/img/black-mask.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-front/assets/img/black-mask.png -------------------------------------------------------------------------------- /zutmooc-front/assets/img/black-name.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-front/assets/img/black-name.png -------------------------------------------------------------------------------- /zutmooc-front/assets/img/cart_setp2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-front/assets/img/cart_setp2.png -------------------------------------------------------------------------------- /zutmooc-front/assets/img/kyb-tip-bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-front/assets/img/kyb-tip-bg.jpg -------------------------------------------------------------------------------- /zutmooc-front/assets/img/pic/t-p-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-front/assets/img/pic/t-p-1.jpg -------------------------------------------------------------------------------- /zutmooc-front/assets/img/qq-icon-32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-front/assets/img/qq-icon-32.png -------------------------------------------------------------------------------- /zutmooc-front/assets/img/s-next-btn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-front/assets/img/s-next-btn.png -------------------------------------------------------------------------------- /zutmooc-front/assets/img/s-prev-btn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-front/assets/img/s-prev-btn.png -------------------------------------------------------------------------------- /zutmooc-front/assets/img/v-loading.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-front/assets/img/v-loading.gif -------------------------------------------------------------------------------- /zutmooc-front/assets/img/v-play-bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-front/assets/img/v-play-bg.jpg -------------------------------------------------------------------------------- /zutmooc-front/assets/img/wb-icon-32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-front/assets/img/wb-icon-32.png -------------------------------------------------------------------------------- /zutmooc-front/assets/img/wx-icon-32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-front/assets/img/wx-icon-32.png -------------------------------------------------------------------------------- /zutmooc-front/assets/img/background.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-front/assets/img/background.jpeg -------------------------------------------------------------------------------- /zutmooc-front/assets/img/black-bg-hf.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-front/assets/img/black-bg-hf.png -------------------------------------------------------------------------------- /zutmooc-front/assets/img/default-img.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-front/assets/img/default-img.gif -------------------------------------------------------------------------------- /zutmooc-front/assets/img/kyb-tip-close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-front/assets/img/kyb-tip-close.png -------------------------------------------------------------------------------- /zutmooc-front/assets/img/pic/two-green.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-front/assets/img/pic/two-green.jpg -------------------------------------------------------------------------------- /zutmooc-front/assets/img/wb-icon-hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-front/assets/img/wb-icon-hover.png -------------------------------------------------------------------------------- /zutmooc-front/assets/img/wx-icon-hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-front/assets/img/wx-icon-hover.png -------------------------------------------------------------------------------- /zutmooc-front/assets/photo/article/01.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-front/assets/photo/article/01.jpg -------------------------------------------------------------------------------- /zutmooc-front/assets/photo/article/02.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-front/assets/photo/article/02.jpg -------------------------------------------------------------------------------- /zutmooc-front/assets/photo/article/03.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-front/assets/photo/article/03.jpg -------------------------------------------------------------------------------- /zutmooc-front/assets/photo/article/04.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-front/assets/photo/article/04.jpg -------------------------------------------------------------------------------- /zutmooc-front/assets/photo/article/05.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-front/assets/photo/article/05.jpg -------------------------------------------------------------------------------- /zutmooc-front/assets/photo/article/06.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-front/assets/photo/article/06.jpg -------------------------------------------------------------------------------- /zutmooc-front/assets/photo/article/07.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-front/assets/photo/article/07.jpg -------------------------------------------------------------------------------- /zutmooc-front/assets/photo/article/08.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-front/assets/photo/article/08.jpg -------------------------------------------------------------------------------- /zutmooc-front/assets/photo/article/09.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-front/assets/photo/article/09.jpg -------------------------------------------------------------------------------- /zutmooc-front/assets/photo/article/10.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-front/assets/photo/article/10.jpg -------------------------------------------------------------------------------- /zutmooc-front/assets/photo/article/hot.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-front/assets/photo/article/hot.jpg -------------------------------------------------------------------------------- /zutmooc-front/assets/photo/course/01.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-front/assets/photo/course/01.jpg -------------------------------------------------------------------------------- /zutmooc-front/assets/photo/course/02.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-front/assets/photo/course/02.jpg -------------------------------------------------------------------------------- /zutmooc-front/assets/photo/course/03.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-front/assets/photo/course/03.jpg -------------------------------------------------------------------------------- /zutmooc-front/assets/photo/course/04.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-front/assets/photo/course/04.jpg -------------------------------------------------------------------------------- /zutmooc-front/assets/photo/course/05.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-front/assets/photo/course/05.jpg -------------------------------------------------------------------------------- /zutmooc-front/assets/photo/course/06.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-front/assets/photo/course/06.jpg -------------------------------------------------------------------------------- /zutmooc-front/assets/photo/course/07.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-front/assets/photo/course/07.jpg -------------------------------------------------------------------------------- /zutmooc-front/assets/photo/course/08.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-front/assets/photo/course/08.jpg -------------------------------------------------------------------------------- /zutmooc-front/assets/photo/course/09.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-front/assets/photo/course/09.jpg -------------------------------------------------------------------------------- /zutmooc-front/assets/photo/course/10.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-front/assets/photo/course/10.jpg -------------------------------------------------------------------------------- /zutmooc-front/assets/photo/course/11.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-front/assets/photo/course/11.jpg -------------------------------------------------------------------------------- /zutmooc-front/assets/photo/course/12.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-front/assets/photo/course/12.jpg -------------------------------------------------------------------------------- /zutmooc-front/assets/photo/customer/01.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-front/assets/photo/customer/01.jpg -------------------------------------------------------------------------------- /zutmooc-front/assets/photo/customer/02.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-front/assets/photo/customer/02.jpg -------------------------------------------------------------------------------- /zutmooc-front/assets/photo/customer/03.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-front/assets/photo/customer/03.jpg -------------------------------------------------------------------------------- /zutmooc-front/assets/photo/teacher/01.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-front/assets/photo/teacher/01.jpg -------------------------------------------------------------------------------- /zutmooc-front/assets/photo/teacher/02.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-front/assets/photo/teacher/02.jpg -------------------------------------------------------------------------------- /zutmooc-front/assets/photo/teacher/03.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-front/assets/photo/teacher/03.jpg -------------------------------------------------------------------------------- /zutmooc-front/assets/photo/teacher/04.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-front/assets/photo/teacher/04.jpg -------------------------------------------------------------------------------- /zutmooc-front/assets/photo/teacher/05.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-front/assets/photo/teacher/05.jpg -------------------------------------------------------------------------------- /zutmooc-front/assets/photo/teacher/06.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-front/assets/photo/teacher/06.jpg -------------------------------------------------------------------------------- /zutmooc-front/assets/photo/teacher/07.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-front/assets/photo/teacher/07.jpg -------------------------------------------------------------------------------- /zutmooc-front/assets/photo/teacher/08.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-front/assets/photo/teacher/08.jpg -------------------------------------------------------------------------------- /zutmooc-admin/build/vue-loader.conf.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | module.exports = { 4 | //You can set the vue-loader configuration by yourself. 5 | } 6 | -------------------------------------------------------------------------------- /zutmooc-admin/src/assets/404_images/404.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-admin/src/assets/404_images/404.png -------------------------------------------------------------------------------- /zutmooc-front/assets/img/default-img_old.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-front/assets/img/default-img_old.gif -------------------------------------------------------------------------------- /zutmooc-front/assets/img/default-tea-img.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-front/assets/img/default-tea-img.gif -------------------------------------------------------------------------------- /zutmooc-front/assets/img/kyb-tip-all-bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-front/assets/img/kyb-tip-all-bg.png -------------------------------------------------------------------------------- /zutmooc-front/assets/img/pic/one-master.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-front/assets/img/pic/one-master.jpg -------------------------------------------------------------------------------- /zutmooc-front/assets/img/pic/three-blue.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-front/assets/img/pic/three-blue.jpg -------------------------------------------------------------------------------- /zutmooc-front/assets/img/pic/banner-1-blue.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-front/assets/img/pic/banner-1-blue.jpg -------------------------------------------------------------------------------- /zutmooc-front/assets/img/pic/banner-1-green.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-front/assets/img/pic/banner-1-green.jpg -------------------------------------------------------------------------------- /zutmooc-front/assets/img/pic/banner-2-blue.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-front/assets/img/pic/banner-2-blue.jpg -------------------------------------------------------------------------------- /zutmooc-front/assets/img/pic/banner-2-green.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-front/assets/img/pic/banner-2-green.jpg -------------------------------------------------------------------------------- /zutmooc-front/assets/img/qq-icon-hover-32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-front/assets/img/qq-icon-hover-32.png -------------------------------------------------------------------------------- /zutmooc-front/assets/img/wb-icon-hover-32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-front/assets/img/wb-icon-hover-32.png -------------------------------------------------------------------------------- /zutmooc-front/assets/img/wx-icon-hover-32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-front/assets/img/wx-icon-hover-32.png -------------------------------------------------------------------------------- /zutmooc-front/assets/photo/course/default.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-front/assets/photo/course/default.gif -------------------------------------------------------------------------------- /zutmooc-front/assets/photo/teacher/default.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-front/assets/photo/teacher/default.jpg -------------------------------------------------------------------------------- /zutmooc-admin/src/assets/404_images/404_cloud.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-admin/src/assets/404_images/404_cloud.png -------------------------------------------------------------------------------- /zutmooc-front/assets/photo/banner/1525939573202.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-front/assets/photo/banner/1525939573202.jpg -------------------------------------------------------------------------------- /zutmooc-front/assets/photo/course/1442295379715.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-front/assets/photo/course/1442295379715.jpg -------------------------------------------------------------------------------- /zutmooc-front/assets/photo/course/1442295455437.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-front/assets/photo/course/1442295455437.jpg -------------------------------------------------------------------------------- /zutmooc-front/assets/photo/course/1442295472860.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-front/assets/photo/course/1442295472860.jpg -------------------------------------------------------------------------------- /zutmooc-front/assets/photo/course/1442295506745.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-front/assets/photo/course/1442295506745.jpg -------------------------------------------------------------------------------- /zutmooc-front/assets/photo/course/1442295527931.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-front/assets/photo/course/1442295527931.jpg -------------------------------------------------------------------------------- /zutmooc-front/assets/photo/course/1442295556203.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-front/assets/photo/course/1442295556203.jpg -------------------------------------------------------------------------------- /zutmooc-front/assets/photo/course/1442295570359.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-front/assets/photo/course/1442295570359.jpg -------------------------------------------------------------------------------- /zutmooc-front/assets/photo/course/1442295581911.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-front/assets/photo/course/1442295581911.jpg -------------------------------------------------------------------------------- /zutmooc-front/assets/photo/course/1442295592705.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-front/assets/photo/course/1442295592705.jpg -------------------------------------------------------------------------------- /zutmooc-front/assets/photo/course/1442295604295.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-front/assets/photo/course/1442295604295.jpg -------------------------------------------------------------------------------- /zutmooc-front/assets/photo/course/1442302831779.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-front/assets/photo/course/1442302831779.jpg -------------------------------------------------------------------------------- /zutmooc-front/assets/photo/course/1442302852837.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-front/assets/photo/course/1442302852837.jpg -------------------------------------------------------------------------------- /zutmooc-front/assets/photo/customer/avatar-boy.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-front/assets/photo/customer/avatar-boy.gif -------------------------------------------------------------------------------- /zutmooc-front/assets/photo/teacher/1442297885942.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-front/assets/photo/teacher/1442297885942.jpg -------------------------------------------------------------------------------- /zutmooc-front/assets/photo/teacher/1442297919077.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-front/assets/photo/teacher/1442297919077.jpg -------------------------------------------------------------------------------- /zutmooc-front/assets/photo/teacher/1442297927029.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-front/assets/photo/teacher/1442297927029.jpg -------------------------------------------------------------------------------- /zutmooc-front/assets/photo/teacher/1442297935589.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-front/assets/photo/teacher/1442297935589.jpg -------------------------------------------------------------------------------- /zutmooc-front/assets/photo/teacher/1442297957332.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-front/assets/photo/teacher/1442297957332.jpg -------------------------------------------------------------------------------- /zutmooc-front/assets/photo/teacher/1442297969808.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-front/assets/photo/teacher/1442297969808.jpg -------------------------------------------------------------------------------- /zutmooc-front/assets/photo/teacher/1442297977255.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-front/assets/photo/teacher/1442297977255.jpg -------------------------------------------------------------------------------- /zutmooc-front/assets/photo/teacher/1442297987091.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-front/assets/photo/teacher/1442297987091.jpg -------------------------------------------------------------------------------- /zutmooc-front/assets/photo/teacher/1442297999141.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-front/assets/photo/teacher/1442297999141.jpg -------------------------------------------------------------------------------- /zutmooc-front/assets/photo/teacher/1442298121626.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-front/assets/photo/teacher/1442298121626.jpg -------------------------------------------------------------------------------- /zutmooc-front/.gitignore: -------------------------------------------------------------------------------- 1 | # dependencies 2 | node_modules 3 | 4 | # logs 5 | npm-debug.log 6 | 7 | # Nuxt build 8 | .nuxt 9 | 10 | # Nuxt generate 11 | dist 12 | -------------------------------------------------------------------------------- /zutmooc-admin/src/views/nested/menu2/index.vue: -------------------------------------------------------------------------------- 1 | 6 | -------------------------------------------------------------------------------- /zutmooc-front/assets/photo/banner/153525d0ef15459596.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-front/assets/photo/banner/153525d0ef15459596.jpg -------------------------------------------------------------------------------- /zutmooc-front/assets/img/f12c399b34115265a7a8a4da329b45d0.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-front/assets/img/f12c399b34115265a7a8a4da329b45d0.jpg -------------------------------------------------------------------------------- /zutmooc-admin/config/prod.env.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | module.exports = { 3 | NODE_ENV: '"production"', 4 | BASE_API: '"https://easy-mock.com/mock/5950a2419adc231f356a6636/vue-admin"', 5 | } 6 | -------------------------------------------------------------------------------- /zutmooc-admin/static/tinymce4.7.5/skins/lightgray/img/anchor.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-admin/static/tinymce4.7.5/skins/lightgray/img/anchor.gif -------------------------------------------------------------------------------- /zutmooc-admin/static/tinymce4.7.5/skins/lightgray/img/loader.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-admin/static/tinymce4.7.5/skins/lightgray/img/loader.gif -------------------------------------------------------------------------------- /zutmooc-admin/static/tinymce4.7.5/skins/lightgray/img/object.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-admin/static/tinymce4.7.5/skins/lightgray/img/object.gif -------------------------------------------------------------------------------- /zutmooc-admin/static/tinymce4.7.5/skins/lightgray/img/trans.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-admin/static/tinymce4.7.5/skins/lightgray/img/trans.gif -------------------------------------------------------------------------------- /zutmooc-admin/static/tinymce4.7.5/skins/lightgray/fonts/tinymce.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-admin/static/tinymce4.7.5/skins/lightgray/fonts/tinymce.eot -------------------------------------------------------------------------------- /zutmooc-admin/static/tinymce4.7.5/skins/lightgray/fonts/tinymce.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-admin/static/tinymce4.7.5/skins/lightgray/fonts/tinymce.ttf -------------------------------------------------------------------------------- /zutmooc-admin/src/App.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 12 | -------------------------------------------------------------------------------- /zutmooc-admin/src/views/layout/components/index.js: -------------------------------------------------------------------------------- 1 | export { default as Navbar } from './Navbar' 2 | export { default as Sidebar } from './Sidebar' 3 | export { default as AppMain } from './AppMain' 4 | -------------------------------------------------------------------------------- /zutmooc-admin/static/tinymce4.7.5/skins/lightgray/fonts/tinymce.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-admin/static/tinymce4.7.5/skins/lightgray/fonts/tinymce.woff -------------------------------------------------------------------------------- /zutmooc-admin/static/tinymce4.7.5/plugins/emoticons/img/smiley-cool.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-admin/static/tinymce4.7.5/plugins/emoticons/img/smiley-cool.gif -------------------------------------------------------------------------------- /zutmooc-admin/static/tinymce4.7.5/plugins/emoticons/img/smiley-cry.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-admin/static/tinymce4.7.5/plugins/emoticons/img/smiley-cry.gif -------------------------------------------------------------------------------- /zutmooc-admin/static/tinymce4.7.5/plugins/emoticons/img/smiley-frown.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-admin/static/tinymce4.7.5/plugins/emoticons/img/smiley-frown.gif -------------------------------------------------------------------------------- /zutmooc-admin/static/tinymce4.7.5/plugins/emoticons/img/smiley-kiss.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-admin/static/tinymce4.7.5/plugins/emoticons/img/smiley-kiss.gif -------------------------------------------------------------------------------- /zutmooc-admin/static/tinymce4.7.5/plugins/emoticons/img/smiley-smile.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-admin/static/tinymce4.7.5/plugins/emoticons/img/smiley-smile.gif -------------------------------------------------------------------------------- /zutmooc-admin/static/tinymce4.7.5/plugins/emoticons/img/smiley-wink.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-admin/static/tinymce4.7.5/plugins/emoticons/img/smiley-wink.gif -------------------------------------------------------------------------------- /zutmooc-admin/static/tinymce4.7.5/plugins/emoticons/img/smiley-yell.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-admin/static/tinymce4.7.5/plugins/emoticons/img/smiley-yell.gif -------------------------------------------------------------------------------- /.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /zutmooc-admin/static/tinymce4.7.5/plugins/emoticons/img/smiley-sealed.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-admin/static/tinymce4.7.5/plugins/emoticons/img/smiley-sealed.gif -------------------------------------------------------------------------------- /zutmooc-admin/static/tinymce4.7.5/skins/lightgray/fonts/tinymce-small.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-admin/static/tinymce4.7.5/skins/lightgray/fonts/tinymce-small.eot -------------------------------------------------------------------------------- /zutmooc-admin/static/tinymce4.7.5/skins/lightgray/fonts/tinymce-small.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-admin/static/tinymce4.7.5/skins/lightgray/fonts/tinymce-small.ttf -------------------------------------------------------------------------------- /zutmooc-admin/static/tinymce4.7.5/skins/lightgray/fonts/tinymce-small.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-admin/static/tinymce4.7.5/skins/lightgray/fonts/tinymce-small.woff -------------------------------------------------------------------------------- /zutmooc-admin/src/views/nested/menu1/menu1-3/index.vue: -------------------------------------------------------------------------------- 1 | 6 | -------------------------------------------------------------------------------- /zutmooc-admin/static/tinymce4.7.5/plugins/emoticons/img/smiley-embarassed.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-admin/static/tinymce4.7.5/plugins/emoticons/img/smiley-embarassed.gif -------------------------------------------------------------------------------- /zutmooc-admin/static/tinymce4.7.5/plugins/emoticons/img/smiley-innocent.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-admin/static/tinymce4.7.5/plugins/emoticons/img/smiley-innocent.gif -------------------------------------------------------------------------------- /zutmooc-admin/static/tinymce4.7.5/plugins/emoticons/img/smiley-laughing.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-admin/static/tinymce4.7.5/plugins/emoticons/img/smiley-laughing.gif -------------------------------------------------------------------------------- /zutmooc-admin/static/tinymce4.7.5/plugins/emoticons/img/smiley-surprised.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-admin/static/tinymce4.7.5/plugins/emoticons/img/smiley-surprised.gif -------------------------------------------------------------------------------- /zutmooc-admin/static/tinymce4.7.5/plugins/emoticons/img/smiley-tongue-out.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-admin/static/tinymce4.7.5/plugins/emoticons/img/smiley-tongue-out.gif -------------------------------------------------------------------------------- /zutmooc-admin/static/tinymce4.7.5/plugins/emoticons/img/smiley-undecided.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-admin/static/tinymce4.7.5/plugins/emoticons/img/smiley-undecided.gif -------------------------------------------------------------------------------- /zutmooc-admin/static/tinymce4.7.5/skins/lightgray/fonts/tinymce-mobile.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-admin/static/tinymce4.7.5/skins/lightgray/fonts/tinymce-mobile.woff -------------------------------------------------------------------------------- /zutmooc-admin/src/components/ImageCropper/utils/mimes.js: -------------------------------------------------------------------------------- 1 | export default { 2 | 'jpg': 'image/jpeg', 3 | 'png': 'image/png', 4 | 'gif': 'image/gif', 5 | 'svg': 'image/svg+xml', 6 | 'psd': 'image/photoshop' 7 | } 8 | -------------------------------------------------------------------------------- /zutmooc-admin/src/views/nested/menu1/index.vue: -------------------------------------------------------------------------------- 1 | 8 | -------------------------------------------------------------------------------- /zutmooc-admin/static/tinymce4.7.5/plugins/emoticons/img/smiley-money-mouth.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-admin/static/tinymce4.7.5/plugins/emoticons/img/smiley-money-mouth.gif -------------------------------------------------------------------------------- /zutmooc-admin/src/views/nested/menu1/menu1-2/menu1-2-1/index.vue: -------------------------------------------------------------------------------- 1 | 6 | -------------------------------------------------------------------------------- /zutmooc-admin/src/views/nested/menu1/menu1-2/menu1-2-2/index.vue: -------------------------------------------------------------------------------- 1 | 6 | -------------------------------------------------------------------------------- /zutmooc-admin/static/tinymce4.7.5/plugins/emoticons/img/smiley-foot-in-mouth.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SupritYoung/zut-mooc-fontend/HEAD/zutmooc-admin/static/tinymce4.7.5/plugins/emoticons/img/smiley-foot-in-mouth.gif -------------------------------------------------------------------------------- /zutmooc-admin/src/api/table.js: -------------------------------------------------------------------------------- 1 | import request from '@/utils/request' 2 | 3 | export function getList(params) { 4 | return request({ 5 | url: '/table/list', 6 | method: 'get', 7 | params 8 | }) 9 | } 10 | -------------------------------------------------------------------------------- /zutmooc-admin/src/views/nested/menu1/menu1-1/index.vue: -------------------------------------------------------------------------------- 1 | 8 | -------------------------------------------------------------------------------- /zutmooc-admin/src/views/nested/menu1/menu1-2/index.vue: -------------------------------------------------------------------------------- 1 | 8 | -------------------------------------------------------------------------------- /zutmooc-front/layouts/sign.vue: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /zutmooc-front/api/index.js: -------------------------------------------------------------------------------- 1 | import request from '@/utils/request' 2 | 3 | export default { 4 | //查询热门课程和名师 5 | getIndexData() { 6 | return request({ 7 | url: '/eduservice/indexfront/index', 8 | method: 'get' 9 | }) 10 | } 11 | } -------------------------------------------------------------------------------- /zutmooc-front/components/README.md: -------------------------------------------------------------------------------- 1 | # COMPONENTS 2 | 3 | The components directory contains your Vue.js Components. 4 | Nuxt.js doesn't supercharge these components. 5 | 6 | **This directory is not required, you can delete it if you don't want to use it.** 7 | 8 | -------------------------------------------------------------------------------- /zutmooc-admin/.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | node_modules/ 3 | dist/ 4 | npm-debug.log* 5 | yarn-debug.log* 6 | yarn-error.log* 7 | package-lock.json 8 | 9 | # Editor directories and files 10 | .idea 11 | .vscode 12 | *.suo 13 | *.ntvs* 14 | *.njsproj 15 | *.sln 16 | -------------------------------------------------------------------------------- /zutmooc-front/api/banner.js: -------------------------------------------------------------------------------- 1 | import request from '@/utils/request' 2 | 3 | export default { 4 | //查询前两条banner数据 5 | getListBanner() { 6 | return request({ 7 | url: '/educms/bannerfront/getAllBanner', 8 | method: 'get' 9 | }) 10 | } 11 | } -------------------------------------------------------------------------------- /zutmooc-front/api/recommend.js: -------------------------------------------------------------------------------- 1 | import request from '@/utils/request' 2 | 3 | export default { 4 | //查询热门课程和名师 5 | getRecommend(id) { 6 | return request({ 7 | url: '/recommend/getRecommend/'+id, 8 | method: 'get' 9 | }) 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /zutmooc-front/.editorconfig: -------------------------------------------------------------------------------- 1 | # editorconfig.org 2 | root = true 3 | 4 | [*] 5 | indent_size = 2 6 | indent_style = space 7 | end_of_line = lf 8 | charset = utf-8 9 | trim_trailing_whitespace = true 10 | insert_final_newline = true 11 | 12 | [*.md] 13 | trim_trailing_whitespace = false 14 | -------------------------------------------------------------------------------- /.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /zutmooc-admin/src/api/edu/subject.js: -------------------------------------------------------------------------------- 1 | import request from '@/utils/request' 2 | export default { 3 | //课程分类列表 4 | getSubjectList() { 5 | return request({ 6 | url: '/eduservice/subject/getAllSubject', 7 | method: 'get' 8 | }) 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /zutmooc-admin/.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets": [ 3 | ["env", { 4 | "modules": false, 5 | "targets": { 6 | "browsers": ["> 1%", "last 2 versions", "not ie <= 8"] 7 | } 8 | }], 9 | "stage-2" 10 | ], 11 | "plugins":["transform-vue-jsx", "transform-runtime"] 12 | } 13 | -------------------------------------------------------------------------------- /.idea/inspectionProfiles/Project_Default.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 6 | -------------------------------------------------------------------------------- /zutmooc-admin/.postcssrc.js: -------------------------------------------------------------------------------- 1 | // https://github.com/michael-ciniawsky/postcss-load-config 2 | 3 | module.exports = { 4 | "plugins": { 5 | "postcss-import": {}, 6 | "postcss-url": {}, 7 | // to edit target browsers: use "browserslist" field in package.json 8 | "autoprefixer": {} 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /zutmooc-admin/src/icons/svg/link.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /zutmooc-front/layouts/README.md: -------------------------------------------------------------------------------- 1 | # LAYOUTS 2 | 3 | This directory contains your Application Layouts. 4 | 5 | More information about the usage of this directory in the documentation: 6 | https://nuxtjs.org/guide/views#layouts 7 | 8 | **This directory is not required, you can delete it if you don't want to use it.** 9 | 10 | -------------------------------------------------------------------------------- /zutmooc-admin/.editorconfig: -------------------------------------------------------------------------------- 1 | # http://editorconfig.org 2 | root = true 3 | 4 | [*] 5 | charset = utf-8 6 | indent_style = space 7 | indent_size = 2 8 | end_of_line = lf 9 | insert_final_newline = true 10 | trim_trailing_whitespace = true 11 | 12 | [*.md] 13 | insert_final_newline = false 14 | trim_trailing_whitespace = false 15 | -------------------------------------------------------------------------------- /zutmooc-admin/src/store/getters.js: -------------------------------------------------------------------------------- 1 | const getters = { 2 | sidebar: state => state.app.sidebar, 3 | device: state => state.app.device, 4 | token: state => state.user.token, 5 | avatar: state => state.user.avatar, 6 | name: state => state.user.name, 7 | roles: state => state.user.roles 8 | } 9 | export default getters 10 | -------------------------------------------------------------------------------- /zutmooc-front/pages/README.md: -------------------------------------------------------------------------------- 1 | # PAGES 2 | 3 | This directory contains your Application Views and Routes. 4 | The framework reads all the .vue files inside this directory and creates the router of your application. 5 | 6 | More information about the usage of this directory in the documentation: 7 | https://nuxtjs.org/guide/routing 8 | 9 | -------------------------------------------------------------------------------- /zutmooc-admin/config/dev.env.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | const merge = require('webpack-merge') 3 | const prodEnv = require('./prod.env') 4 | 5 | module.exports = merge(prodEnv, { 6 | NODE_ENV: '"development"', 7 | // BASE_API: '"https://easy-mock.com/mock/5950a2419adc231f356a6636/vue-admin"', 8 | BASE_API: '"http://localhost:9001"', 9 | }) 10 | -------------------------------------------------------------------------------- /zutmooc-admin/src/icons/index.js: -------------------------------------------------------------------------------- 1 | import Vue from 'vue' 2 | import SvgIcon from '@/components/SvgIcon' // svg组件 3 | 4 | // register globally 5 | Vue.component('svg-icon', SvgIcon) 6 | 7 | const requireAll = requireContext => requireContext.keys().map(requireContext) 8 | const req = require.context('./svg', false, /\.svg$/) 9 | requireAll(req) 10 | -------------------------------------------------------------------------------- /zutmooc-front/assets/README.md: -------------------------------------------------------------------------------- 1 | # ASSETS 2 | 3 | This directory contains your un-compiled assets such as LESS, SASS, or JavaScript. 4 | 5 | More information about the usage of this directory in the documentation: 6 | https://nuxtjs.org/guide/assets#webpacked 7 | 8 | **This directory is not required, you can delete it if you don't want to use it.** 9 | 10 | -------------------------------------------------------------------------------- /zutmooc-admin/src/utils/auth.js: -------------------------------------------------------------------------------- 1 | import Cookies from 'js-cookie' 2 | 3 | const TokenKey = 'Admin-Token' 4 | 5 | export function getToken() { 6 | return Cookies.get(TokenKey) 7 | } 8 | 9 | export function setToken(token) { 10 | return Cookies.set(TokenKey, token) 11 | } 12 | 13 | export function removeToken() { 14 | return Cookies.remove(TokenKey) 15 | } 16 | -------------------------------------------------------------------------------- /zutmooc-admin/src/store/index.js: -------------------------------------------------------------------------------- 1 | import Vue from 'vue' 2 | import Vuex from 'vuex' 3 | import app from './modules/app' 4 | import user from './modules/user' 5 | import getters from './getters' 6 | 7 | Vue.use(Vuex) 8 | 9 | const store = new Vuex.Store({ 10 | modules: { 11 | app, 12 | user 13 | }, 14 | getters 15 | }) 16 | 17 | export default store 18 | -------------------------------------------------------------------------------- /zutmooc-admin/src/icons/svgo.yml: -------------------------------------------------------------------------------- 1 | # replace default config 2 | 3 | # multipass: true 4 | # full: true 5 | 6 | plugins: 7 | 8 | # - name 9 | # 10 | # or: 11 | # - name: false 12 | # - name: true 13 | # 14 | # or: 15 | # - name: 16 | # param1: 1 17 | # param2: 2 18 | 19 | - removeAttrs: 20 | attrs: 21 | - 'fill' 22 | - 'fill-rule' 23 | -------------------------------------------------------------------------------- /zutmooc-front/api/vod.js: -------------------------------------------------------------------------------- 1 | import request from '@/utils/request' 2 | export default { 3 | getPlayAuth(vid) { 4 | return request({ 5 | url: `/eduvod/video/getPlayAuth/${vid}`, 6 | method: 'get' 7 | }) 8 | }, 9 | getFileURL(vid) { 10 | return request({ 11 | url: `/eduvod/video/getFileURL/${vid}`, 12 | method: 'get' 13 | }) 14 | } 15 | 16 | } 17 | -------------------------------------------------------------------------------- /zutmooc-front/plugins/README.md: -------------------------------------------------------------------------------- 1 | # PLUGINS 2 | 3 | This directory contains your Javascript plugins that you want to run before instantiating the root vue.js application. 4 | 5 | More information about the usage of this directory in the documentation: 6 | https://nuxtjs.org/guide/plugins 7 | 8 | **This directory is not required, you can delete it if you don't want to use it.** 9 | 10 | -------------------------------------------------------------------------------- /zutmooc-front/static/README.md: -------------------------------------------------------------------------------- 1 | # STATIC 2 | 3 | This directory contains your static files. 4 | Each file inside this directory is mapped to /. 5 | 6 | Example: /static/robots.txt is mapped as /robots.txt. 7 | 8 | More information about the usage of this directory in the documentation: 9 | https://nuxtjs.org/guide/assets#static 10 | 11 | **This directory is not required, you can delete it if you don't want to use it.** 12 | 13 | -------------------------------------------------------------------------------- /zutmooc-front/middleware/README.md: -------------------------------------------------------------------------------- 1 | # MIDDLEWARE 2 | 3 | This directory contains your Application Middleware. 4 | The middleware lets you define custom function to be ran before rendering a page or a group of pages (layouts). 5 | 6 | More information about the usage of this directory in the documentation: 7 | https://nuxtjs.org/guide/routing#middleware 8 | 9 | **This directory is not required, you can delete it if you don't want to use it.** 10 | 11 | -------------------------------------------------------------------------------- /zutmooc-front/api/register.js: -------------------------------------------------------------------------------- 1 | import request from '@/utils/request' 2 | 3 | export default { 4 | //根据手机号发验证码 5 | sendCode(phone) { 6 | return request({ 7 | url: `/edumsm/msm/send/${phone}`, 8 | method: 'get' 9 | }) 10 | }, 11 | 12 | //注册的方法 13 | registerMember(formItem) { 14 | return request({ 15 | url: `/educenter/member/register`, 16 | method: 'post', 17 | data: formItem 18 | }) 19 | } 20 | 21 | } -------------------------------------------------------------------------------- /zutmooc-admin/src/icons/svg/user.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /zutmooc-front/api/login.js: -------------------------------------------------------------------------------- 1 | import request from '@/utils/request' 2 | 3 | export default { 4 | //登录的方法 5 | submitLoginUser(userInfo) { 6 | return request({ 7 | url: `/educenter/member/login`, 8 | method: 'post', 9 | data: userInfo 10 | }) 11 | }, 12 | 13 | //根据token获取用户信息 14 | getLoginUserInfo() { 15 | return request({ 16 | url: `/educenter/member/getMemberInfo`, 17 | method: 'get' 18 | }) 19 | } 20 | 21 | } -------------------------------------------------------------------------------- /zutmooc-front/store/README.md: -------------------------------------------------------------------------------- 1 | # STORE 2 | 3 | This directory contains your Vuex Store files. 4 | Vuex Store option is implemented in the Nuxt.js framework. 5 | Creating a index.js file in this directory activate the option in the framework automatically. 6 | 7 | More information about the usage of this directory in the documentation: 8 | https://nuxtjs.org/guide/vuex-store 9 | 10 | **This directory is not required, you can delete it if you don't want to use it.** 11 | 12 | -------------------------------------------------------------------------------- /zutmooc-front/api/teacher.js: -------------------------------------------------------------------------------- 1 | import request from '@/utils/request' 2 | 3 | export default { 4 | //分页讲师查询的方法 5 | getTeacherList(page,limit) { 6 | return request({ 7 | url: `/eduservice/teacherfront/getTeacherFrontList/${page}/${limit}`, 8 | method: 'post' 9 | }) 10 | }, 11 | //讲师详情的方法 12 | getTeacherInfo(id) { 13 | return request({ 14 | url: `/eduservice/teacherfront/getTeacherFrontInfo/${id}`, 15 | method: 'get' 16 | }) 17 | } 18 | 19 | } -------------------------------------------------------------------------------- /.idea/1010.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /zutmooc-admin/src/icons/svg/example.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /zutmooc-admin/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | vue-admin-template 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /zutmooc-front/README.md: -------------------------------------------------------------------------------- 1 | # {{ name }} 2 | 3 | > {{ description }} 4 | 5 | ## Build Setup 6 | 7 | ``` bash 8 | # install dependencies 9 | $ npm install # Or yarn install 10 | 11 | # serve with hot reload at localhost:3000 12 | $ npm run dev 13 | 14 | # build for production and launch server 15 | $ npm run build 16 | $ npm start 17 | 18 | # generate static project 19 | $ npm run generate 20 | ``` 21 | 22 | For detailed explanation on how things work, checkout the [Nuxt.js docs](https://github.com/nuxt/nuxt.js). 23 | 24 | -------------------------------------------------------------------------------- /zutmooc-admin/src/components/Tinymce/toolbar.js: -------------------------------------------------------------------------------- 1 | // Here is a list of the toolbar 2 | // Detail list see https://www.tinymce.com/docs/advanced/editor-control-identifiers/#toolbarcontrols 3 | 4 | const toolbar = ['searchreplace bold italic underline strikethrough alignleft aligncenter alignright outdent indent blockquote undo redo removeformat subscript superscript code codesample', 'hr bullist numlist link image charmap preview anchor pagebreak insertdatetime media table emoticons forecolor backcolor fullscreen'] 5 | 6 | export default toolbar 7 | -------------------------------------------------------------------------------- /zutmooc-admin/src/styles/mixin.scss: -------------------------------------------------------------------------------- 1 | @mixin clearfix { 2 | &:after { 3 | content: ""; 4 | display: table; 5 | clear: both; 6 | } 7 | } 8 | 9 | @mixin scrollBar { 10 | &::-webkit-scrollbar-track-piece { 11 | background: #d3dce6; 12 | } 13 | &::-webkit-scrollbar { 14 | width: 6px; 15 | } 16 | &::-webkit-scrollbar-thumb { 17 | background: #99a9bf; 18 | border-radius: 20px; 19 | } 20 | } 21 | 22 | @mixin relative { 23 | position: relative; 24 | width: 100%; 25 | height: 100%; 26 | } 27 | 28 | -------------------------------------------------------------------------------- /zutmooc-admin/src/api/sta.js: -------------------------------------------------------------------------------- 1 | import request from '@/utils/request' 2 | export default{ 3 | //生成统计数据 4 | createStaData(day){ 5 | return request({ 6 | url:`/staservice/statistics/registerCount/${day}`, 7 | method: 'post' 8 | }) 9 | }, 10 | //获取统计数据 11 | getData(searchObj){ 12 | return request({ 13 | url:`/staservice/statistics/showData/${searchObj.type}/${searchObj.begin}/${searchObj.end}`, 14 | method: 'get' 15 | }) 16 | } 17 | } -------------------------------------------------------------------------------- /zutmooc-front/.eslintrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | root: true, 3 | env: { 4 | browser: true, 5 | node: true 6 | }, 7 | parserOptions: { 8 | parser: 'babel-eslint' 9 | }, 10 | extends: [ 11 | // https://github.com/vuejs/eslint-plugin-vue#priority-a-essential-error-prevention 12 | // consider switching to `plugin:vue/strongly-recommended` or `plugin:vue/recommended` for stricter rules. 13 | 'plugin:vue/essential' 14 | ], 15 | // required to lint *.vue files 16 | plugins: [ 17 | 'vue' 18 | ], 19 | // add your custom rules here 20 | rules: {} 21 | } 22 | -------------------------------------------------------------------------------- /zutmooc-front/plugins/nuxt-swiper-plugin.js: -------------------------------------------------------------------------------- 1 | // import Vue from 'vue' 2 | // import VueAwesomeSwiper from 'vue-awesome-swiper/dist/vue-awesome-swiper.js' 3 | 4 | // Vue.use(VueAwesomeSwiper) 5 | 6 | import Vue from 'vue' 7 | import VueAwesomeSwiper from 'vue-awesome-swiper/dist/vue-awesome-swiper.js' 8 | import 'swiper/swiper-bundle.css' 9 | import VueQriously from 'vue-qriously' 10 | import ElementUI from 'element-ui' //element-ui的全部组件 11 | import 'element-ui/lib/theme-chalk/index.css'//element-ui的css 12 | 13 | Vue.use(VueAwesomeSwiper) 14 | Vue.use(ElementUI) //使用elementUI 15 | Vue.use(VueQriously) -------------------------------------------------------------------------------- /zutmooc-admin/src/styles/element-ui.scss: -------------------------------------------------------------------------------- 1 | //to reset element-ui default css 2 | .el-upload { 3 | input[type="file"] { 4 | display: none !important; 5 | } 6 | } 7 | 8 | .el-upload__input { 9 | display: none; 10 | } 11 | 12 | //暂时性解决diolag 问题 https://github.com/ElemeFE/element/issues/2461 13 | .el-dialog { 14 | transform: none; 15 | left: 0; 16 | position: relative; 17 | margin: 0 auto; 18 | } 19 | 20 | //element ui upload 21 | .upload-container { 22 | .el-upload { 23 | width: 100%; 24 | .el-upload-dragger { 25 | width: 100%; 26 | height: 200px; 27 | } 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /zutmooc-admin/src/icons/svg/table.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /zutmooc-admin/src/api/login.js: -------------------------------------------------------------------------------- 1 | import request from '@/utils/request' 2 | 3 | export function login(username, password) { 4 | return request({ 5 | url: '/eduservice/user/login', //提交地址,和本地保持一致 6 | method: 'post', //提交方式 7 | data: { 8 | username, 9 | password 10 | } 11 | }) 12 | } 13 | 14 | export function getInfo(token) { 15 | return request({ 16 | url: '/eduservice/user/info', 17 | method: 'get', 18 | params: { token } 19 | }) 20 | } 21 | 22 | export function logout() { 23 | return request({ 24 | url: '/eduservice/user/logout', 25 | method: 'post' 26 | }) 27 | } 28 | -------------------------------------------------------------------------------- /zutmooc-admin/src/components/Tinymce/plugins.js: -------------------------------------------------------------------------------- 1 | // Any plugins you want to use has to be imported 2 | // Detail plugins list see https://www.tinymce.com/docs/plugins/ 3 | // Custom builds see https://www.tinymce.com/download/custom-builds/ 4 | 5 | const plugins = ['advlist anchor autolink autosave code codesample colorpicker colorpicker contextmenu directionality emoticons fullscreen hr image imagetools importcss insertdatetime link lists media nonbreaking noneditable pagebreak paste preview print save searchreplace spellchecker tabfocus table template textcolor textpattern visualblocks visualchars wordcount'] 6 | 7 | export default plugins 8 | -------------------------------------------------------------------------------- /zutmooc-admin/src/icons/svg/password.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /zutmooc-admin/src/components/ImageCropper/utils/data2blob.js: -------------------------------------------------------------------------------- 1 | /** 2 | * database64文件格式转换为2进制 3 | * 4 | * @param {[String]} data dataURL 的格式为 “data:image/png;base64,****”,逗号之前都是一些说明性的文字,我们只需要逗号之后的就行了 5 | * @param {[String]} mime [description] 6 | * @return {[blob]} [description] 7 | */ 8 | export default function(data, mime) { 9 | data = data.split(',')[1] 10 | data = window.atob(data) 11 | var ia = new Uint8Array(data.length) 12 | for (var i = 0; i < data.length; i++) { 13 | ia[i] = data.charCodeAt(i) 14 | } 15 | // canvas.toDataURL 返回的默认格式就是 image/png 16 | return new Blob([ia], { 17 | type: mime 18 | }) 19 | } 20 | -------------------------------------------------------------------------------- /zutmooc-admin/src/views/layout/components/Sidebar/Item.vue: -------------------------------------------------------------------------------- 1 | 30 | -------------------------------------------------------------------------------- /zutmooc-admin/src/main.js: -------------------------------------------------------------------------------- 1 | import Vue from 'vue' 2 | 3 | import 'normalize.css/normalize.css' // A modern alternative to CSS resets 4 | 5 | import ElementUI from 'element-ui' 6 | import 'element-ui/lib/theme-chalk/index.css' 7 | import locale from 'element-ui/lib/locale/lang/en' // lang i18n 8 | 9 | import '@/styles/index.scss' // global css 10 | 11 | import App from './App' 12 | import router from './router' 13 | import store from './store' 14 | 15 | import '@/icons' // icon 16 | import '@/permission' // permission control 17 | 18 | Vue.use(ElementUI, { locale }) 19 | 20 | Vue.config.productionTip = false 21 | 22 | new Vue({ 23 | el: '#app', 24 | router, 25 | store, 26 | render: h => h(App) 27 | }) 28 | -------------------------------------------------------------------------------- /zutmooc-admin/src/views/dashboard/index.vue: -------------------------------------------------------------------------------- 1 | 7 | 8 | 21 | 22 | 33 | -------------------------------------------------------------------------------- /zutmooc-admin/src/views/layout/components/AppMain.vue: -------------------------------------------------------------------------------- 1 | 10 | 11 | 21 | 22 | 30 | -------------------------------------------------------------------------------- /zutmooc-front/api/orders.js: -------------------------------------------------------------------------------- 1 | import request from '@/utils/request' 2 | 3 | export default { 4 | //生成订单 5 | createOrders(courseId) { 6 | return request({ 7 | url: '/eduorder/order/createOrder/'+courseId, 8 | method: 'post' 9 | }) 10 | }, 11 | //根据订单id查询订单信息 12 | getOrdersInfo(id) { 13 | return request({ 14 | url: '/eduorder/order/getOrderInfo/'+id, 15 | method: 'get' 16 | }) 17 | }, 18 | //生成二维码的方法 19 | createNatvie(orderNo) { 20 | return request({ 21 | url: '/eduorder/paylog/createNative/'+orderNo, 22 | method: 'get' 23 | }) 24 | }, 25 | 26 | //查询订单状态的方法 27 | //生成二维码的方法 28 | queryPayStatus(orderNo) { 29 | return request({ 30 | url: '/eduorder/paylog/queryPayStatus/'+orderNo, 31 | method: 'get' 32 | }) 33 | } 34 | } -------------------------------------------------------------------------------- /zutmooc-front/utils/orders.js: -------------------------------------------------------------------------------- 1 | import request from '@/utils/request' 2 | 3 | export default { 4 | //生成订单 5 | createOrders(courseId) { 6 | return request({ 7 | url: '/eduorder/order/createOrder/'+courseId, 8 | method: 'post' 9 | }) 10 | }, 11 | //根据订单id查询订单信息 12 | getOrdersInfo(id) { 13 | return request({ 14 | url: '/eduorder/order/getOrderInfo/'+id, 15 | method: 'get' 16 | }) 17 | }, 18 | //生成二维码的方法 19 | createNatvie(orderNo) { 20 | return request({ 21 | url: '/eduorder/paylog/createNative/'+orderNo, 22 | method: 'get' 23 | }) 24 | }, 25 | 26 | //查询订单状态的方法 27 | //生成二维码的方法 28 | queryPayStatus(orderNo) { 29 | return request({ 30 | url: '/eduorder/paylog/queryPayStatus/'+orderNo, 31 | method: 'get' 32 | }) 33 | } 34 | } -------------------------------------------------------------------------------- /zutmooc-admin/src/icons/svg/nested.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /zutmooc-front/layouts/video.vue: -------------------------------------------------------------------------------- 1 | 12 | 15 | 16 | 21 | 22 | -------------------------------------------------------------------------------- /zutmooc-front/assets/css/activity_tab.css: -------------------------------------------------------------------------------- 1 | /*zjf20170614*/ 2 | .act_tab {display: inline-block;position: absolute;left: 0;top: 0;padding: 0 !important;z-index: 999;} 3 | .act_tab span {display: block !important;width: 78px;text-align: center;} 4 | .act_tab .act_tab_l {height: 16px;line-height: 16px;font-size: 14px;color: #df3737;background: #fff;} 5 | .act_tab .act_tab_r {height: 16px;line-height: 16px;font-size: 14px;color: #fff;background: #df3737;border-top: 2px solid #df3737;} 6 | .act_tab .double-eleven {background-color: #f54771;width: 54px;height: 20px;line-height: 20px;font-size: 12px;color: #fff;border-radius: 3px 0 0 0;} 7 | 8 | /* .act_piao_all {display: inline-block;padding: 0 11px;height: 26px;line-height: 26px;text-align: center;font-size: 14px;color: #fff;cursor: pointer;} 9 | .piao_btn {background: #f00;} 10 | .piao_btns {background: #ccc;} */ -------------------------------------------------------------------------------- /zutmooc-front/assets/js/index.js: -------------------------------------------------------------------------------- 1 | //首页响应式幻灯片调取方法 2 | function sSwiperFun() { 3 | var _sWrap = $('.swiper-container'); 4 | var mySwiper = _sWrap.swiper({ 5 | loop: true, //无缝连接滚动 6 | autoplay : 5000, //自动滚动 7 | autoplayDisableOnInteraction : false, //设置点击后是否继续滚动 8 | speed:300, //滚动速度 9 | pagination : '.pagination', //设置分页 10 | paginationClickable :true //设置true分页点击执行swiper 11 | }); 12 | $('.arrow-left').on('click', function(e){ 13 | e.preventDefault(); 14 | mySwiper.swipePrev(); 15 | }); 16 | $('.arrow-right').on('click', function(e){ 17 | e.preventDefault(); 18 | mySwiper.swipeNext(); 19 | }); 20 | 21 | $(".imgload").eq(0).get(0).onload=function(){ 22 | $(".i-slide").css("height",$(".imgload").eq(0).height()); 23 | } 24 | 25 | }; -------------------------------------------------------------------------------- /zutmooc-admin/src/views/layout/components/Sidebar/Link.vue: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 40 | -------------------------------------------------------------------------------- /zutmooc-admin/src/components/SvgIcon/index.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 34 | 35 | 44 | -------------------------------------------------------------------------------- /zutmooc-admin/src/styles/transition.scss: -------------------------------------------------------------------------------- 1 | //globl transition css 2 | 3 | /*fade*/ 4 | .fade-enter-active, 5 | .fade-leave-active { 6 | transition: opacity 0.28s; 7 | } 8 | 9 | .fade-enter, 10 | .fade-leave-active { 11 | opacity: 0; 12 | } 13 | 14 | /*fade-transform*/ 15 | .fade-transform-leave-active, 16 | .fade-transform-enter-active { 17 | transition: all .5s; 18 | } 19 | .fade-transform-enter { 20 | opacity: 0; 21 | transform: translateX(-30px); 22 | } 23 | .fade-transform-leave-to { 24 | opacity: 0; 25 | transform: translateX(30px); 26 | } 27 | 28 | /*fade*/ 29 | .breadcrumb-enter-active, 30 | .breadcrumb-leave-active { 31 | transition: all .5s; 32 | } 33 | 34 | .breadcrumb-enter, 35 | .breadcrumb-leave-active { 36 | opacity: 0; 37 | transform: translateX(20px); 38 | } 39 | 40 | .breadcrumb-move { 41 | transition: all .5s; 42 | } 43 | 44 | .breadcrumb-leave-active { 45 | position: absolute; 46 | } 47 | -------------------------------------------------------------------------------- /zutmooc-admin/src/icons/svg/eye.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /zutmooc-admin/src/views/layout/components/Sidebar/index.vue: -------------------------------------------------------------------------------- 1 | 16 | 17 | 36 | -------------------------------------------------------------------------------- /zutmooc-front/assets/css/theme.css: -------------------------------------------------------------------------------- 1 | @charset "utf-8"; 2 | .c-master { 3 | color: #68cb9b; 4 | } 5 | .bg-orange { 6 | background-color: #68cb9b; 7 | } 8 | .nav li.current a, 9 | .nav li a:hover, 10 | .h-r-login li a:hover, 11 | .h-r-login li a:hover, 12 | .c-tab-title a.current, 13 | .c-btn-2, 14 | .i-teach-wrap:hover a, 15 | .paging a, 16 | .paging a:hover, 17 | .paging a.current, 18 | #footer, 19 | .u-m-dd ul li a:hover, 20 | .u-m-dd ul li.current a, 21 | .d-s-head-tab a.current { 22 | border-color: #68cb9b; 23 | color: #68cb9b; 24 | } 25 | .lh-menu ul li.lh-menu-stair ol li.lh-menu-second a.current-2, 26 | .lh-menu ul li.lh-menu-stair li.lh-menu-second a.current-2, 27 | .lh-menu ul li.lh-menu-stair ol li.lh-menu-second a.current-2 .lh-menu-i-2, 28 | .lh-menu ul li.lh-menu-stair li.lh-menu-second a.current-2 .lh-menu-i-2, 29 | .lh-menu-second a.current-2 span.fr, 30 | #t-infor-menu p a.current, 31 | .i-art-title:hover, 32 | .q-sort-wrap span.current { 33 | border-color: #68cb9b; 34 | color: #68cb9b; 35 | } 36 | -------------------------------------------------------------------------------- /zutmooc-front/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "zut-mooc", 3 | "version": "1.0.0", 4 | "description": "我要学前台网站", 5 | "author": "suprit <55317332@qq.com>", 6 | "private": true, 7 | "scripts": { 8 | "dev": "nuxt", 9 | "build": "nuxt build", 10 | "start": "nuxt start", 11 | "generate": "nuxt generate", 12 | "lint": "eslint --ext .js,.vue --ignore-path .gitignore .", 13 | "precommit": "npm run lint" 14 | }, 15 | "dependencies": { 16 | "@nuxtjs/axios": "^5.13.1", 17 | "axios": "^0.21.1", 18 | "element-ui": "^2.15.1", 19 | "js-cookie": "^2.2.1", 20 | "nuxt": "^2.0.0", 21 | "vant": "^2.12.13", 22 | "vue-awesome-swiper": "^4.1.1", 23 | "vue-qriously": "^1.1.1", 24 | "webpack-dev-server": "^3.11.2" 25 | }, 26 | "devDependencies": { 27 | "babel-eslint": "^10.0.1", 28 | "eslint": "^4.19.1", 29 | "eslint-friendly-formatter": "^4.0.1", 30 | "eslint-loader": "^2.1.1", 31 | "eslint-plugin-vue": "^4.0.0", 32 | "swiper": "^6.5.6" 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /zutmooc-admin/src/utils/validate.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by jiachenpan on 16/11/18. 3 | */ 4 | 5 | export function isvalidUsername(str) { 6 | const valid_map = ['admin', 'editor'] 7 | return valid_map.indexOf(str.trim()) >= 0 8 | } 9 | 10 | /* 合法uri*/ 11 | export function validateURL(textval) { 12 | const urlregex = /^(https?|ftp):\/\/([a-zA-Z0-9.-]+(:[a-zA-Z0-9.&%$-]+)*@)*((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]?)(\.(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])){3}|([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+\.(com|edu|gov|int|mil|net|org|biz|arpa|info|name|pro|aero|coop|museum|[a-zA-Z]{2}))(:[0-9]+)*(\/($|[a-zA-Z0-9.,?'\\+&%$#=~_-]+))*$/ 13 | return urlregex.test(textval) 14 | } 15 | 16 | /* 小写字母*/ 17 | export function validateLowerCase(str) { 18 | const reg = /^[a-z]+$/ 19 | return reg.test(str) 20 | } 21 | 22 | /* 大写字母*/ 23 | export function validateUpperCase(str) { 24 | const reg = /^[A-Z]+$/ 25 | return reg.test(str) 26 | } 27 | 28 | /* 大小写字母*/ 29 | export function validatAlphabets(str) { 30 | const reg = /^[A-Za-z]+$/ 31 | return reg.test(str) 32 | } 33 | -------------------------------------------------------------------------------- /zutmooc-admin/src/api/edu/video.js: -------------------------------------------------------------------------------- 1 | import request from '@/utils/request' 2 | export default { 3 | 4 | //添加小节 5 | addVideo(video) { 6 | return request({ 7 | url: '/eduservice/video/addVideo', 8 | method: 'post', 9 | data: video 10 | }) 11 | }, 12 | 13 | //删除小节 14 | deleteVideo(id) { 15 | return request({ 16 | url: '/eduservice/video/'+id, 17 | method: 'delete' 18 | }) 19 | }, 20 | //根据id查询小节 21 | getVideo(videoId) { 22 | return request({ 23 | url: '/eduservice/video/getVideoInfo/'+videoId, 24 | method: 'get' 25 | }) 26 | }, 27 | //修改章节 28 | updateVideo(video) { 29 | return request({ 30 | url: '/eduservice/video/updateVideo', 31 | method: 'post', 32 | data: video 33 | }) 34 | }, 35 | //删除视频 36 | deleteAliyunvod(id) { 37 | return request({ 38 | url: '/eduvod/video/removeAlyVideo/'+id, 39 | method: 'delete' 40 | }) 41 | } 42 | } -------------------------------------------------------------------------------- /zutmooc-front/assets/css/nice_select.css: -------------------------------------------------------------------------------- 1 | .SelectDL {border:1px solid #DDD;height: 30px;background: #FFF;cursor: default;text-indent: 4px;position: relative;} 2 | .SelectDL:hover,.SelectDL.cur{box-shadow:0 0 3px #00baf2;} 3 | .SelectDL dt {padding-right: 30px;background: url(/edu/center/images/tips.png) no-repeat 95% center;color:#666;} 4 | .SelectDL dt.disabled {background-color: #e3e3e3;cursor: no-drop;} 5 | .SelectDL-icon {background: url(/edu/center/images/tips.png) no-repeat 95% center !important;} 6 | .SelectDL dt p,.SelectDL dd li {text-overflow:ellipsis; white-space:nowrap; overflow:hidden;word-wrap:normal;text-align: center;} 7 | .SelectDL dd {position: absolute;left: -1px;top:30px;background: #FFF;border:1px solid #DDD;width: 100%;display: none;overflow: hidden;z-index: 100;margin-top: -1px;} 8 | .SelectDL dd ul {max-height: 240px;padding:5px 10px;} 9 | .SelectDL dd ul li:hover {background: #F1F1F1;} 10 | .SelectDL dd ul li.disabled,.SelectDL dd ul li.disabled:hover {background: #CCC;} 11 | .SelectDL i.icon.arrow_down{background-position: 0px -150px;width: 8px;height: 5px;position: absolute;right: 10px;top:13px;} -------------------------------------------------------------------------------- /zutmooc-admin/src/views/sta/create.vue: -------------------------------------------------------------------------------- 1 | 22 | 48 | -------------------------------------------------------------------------------- /zutmooc-admin/LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2017-present PanJiaChen 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /zutmooc-admin/src/api/edu/chapter.js: -------------------------------------------------------------------------------- 1 | import request from '@/utils/request' 2 | export default { 3 | //1 根据课程id获取章节和小节数据列表 4 | getAllChapterVideo(courseId) { 5 | return request({ 6 | url: '/eduservice/chapter/getChapterVideo/'+courseId, 7 | method: 'get' 8 | }) 9 | }, 10 | //添加章节 11 | addChapter(chapter) { 12 | return request({ 13 | url: '/eduservice/chapter/addChapter', 14 | method: 'post', 15 | data: chapter 16 | }) 17 | }, 18 | //根据id查询章节 19 | getChapter(chapterId) { 20 | return request({ 21 | url: '/eduservice/chapter/getChapterInfo/'+chapterId, 22 | method: 'get' 23 | }) 24 | }, 25 | //修改章节 26 | updateChapter(chapter) { 27 | return request({ 28 | url: '/eduservice/chapter/updateChapter', 29 | method: 'post', 30 | data: chapter 31 | }) 32 | }, 33 | //删除章节 34 | deleteChapter(chapterId) { 35 | return request({ 36 | url: '/eduservice/chapter/'+chapterId, 37 | method: 'delete' 38 | }) 39 | }, 40 | } -------------------------------------------------------------------------------- /zutmooc-admin/src/views/layout/mixin/ResizeHandler.js: -------------------------------------------------------------------------------- 1 | import store from '@/store' 2 | 3 | const { body } = document 4 | const WIDTH = 1024 5 | const RATIO = 3 6 | 7 | export default { 8 | watch: { 9 | $route(route) { 10 | if (this.device === 'mobile' && this.sidebar.opened) { 11 | store.dispatch('CloseSideBar', { withoutAnimation: false }) 12 | } 13 | } 14 | }, 15 | beforeMount() { 16 | window.addEventListener('resize', this.resizeHandler) 17 | }, 18 | mounted() { 19 | const isMobile = this.isMobile() 20 | if (isMobile) { 21 | store.dispatch('ToggleDevice', 'mobile') 22 | store.dispatch('CloseSideBar', { withoutAnimation: true }) 23 | } 24 | }, 25 | methods: { 26 | isMobile() { 27 | const rect = body.getBoundingClientRect() 28 | return rect.width - RATIO < WIDTH 29 | }, 30 | resizeHandler() { 31 | if (!document.hidden) { 32 | const isMobile = this.isMobile() 33 | store.dispatch('ToggleDevice', isMobile ? 'mobile' : 'desktop') 34 | 35 | if (isMobile) { 36 | store.dispatch('CloseSideBar', { withoutAnimation: true }) 37 | } 38 | } 39 | } 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /zutmooc-admin/src/store/modules/app.js: -------------------------------------------------------------------------------- 1 | import Cookies from 'js-cookie' 2 | 3 | const app = { 4 | state: { 5 | sidebar: { 6 | opened: !+Cookies.get('sidebarStatus'), 7 | withoutAnimation: false 8 | }, 9 | device: 'desktop' 10 | }, 11 | mutations: { 12 | TOGGLE_SIDEBAR: state => { 13 | if (state.sidebar.opened) { 14 | Cookies.set('sidebarStatus', 1) 15 | } else { 16 | Cookies.set('sidebarStatus', 0) 17 | } 18 | state.sidebar.opened = !state.sidebar.opened 19 | state.sidebar.withoutAnimation = false 20 | }, 21 | CLOSE_SIDEBAR: (state, withoutAnimation) => { 22 | Cookies.set('sidebarStatus', 1) 23 | state.sidebar.opened = false 24 | state.sidebar.withoutAnimation = withoutAnimation 25 | }, 26 | TOGGLE_DEVICE: (state, device) => { 27 | state.device = device 28 | } 29 | }, 30 | actions: { 31 | ToggleSideBar: ({ commit }) => { 32 | commit('TOGGLE_SIDEBAR') 33 | }, 34 | CloseSideBar({ commit }, { withoutAnimation }) { 35 | commit('CLOSE_SIDEBAR', withoutAnimation) 36 | }, 37 | ToggleDevice({ commit }, device) { 38 | commit('TOGGLE_DEVICE', device) 39 | } 40 | } 41 | } 42 | 43 | export default app 44 | -------------------------------------------------------------------------------- /zutmooc-front/nuxt.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | 3 | // some nuxt config... 4 | plugins: [ 5 | { src: '~/plugins/nuxt-swiper-plugin.js', ssr: false } 6 | ], 7 | css: [ 8 | // 'swiper/dist/css/swiper.css' 9 | // 'swiper/css/swiper.css' 10 | 'swiper/swiper-bundle.css' 11 | ], 12 | /* 13 | ** Headers of the page 14 | */ 15 | head: { 16 | title: '在线教育平台', 17 | meta: [ 18 | { charset: 'utf-8' }, 19 | { name: 'viewport', content: 'width=device-width, initial-scale=1' }, 20 | { hid: 'description', name: 'description', content: '{{escape description }}' } 21 | ], 22 | link: [ 23 | { rel: 'icon', type: 'image/x-icon', href: '/favicon.ico' } 24 | ] 25 | }, 26 | /* 27 | ** Customize the progress bar color 28 | */ 29 | loading: { color: '#3B8070' }, 30 | /* 31 | ** Build configuration 32 | */ 33 | build: { 34 | /* 35 | ** Run ESLint on save 36 | */ 37 | extend (config, { isDev, isClient }) { 38 | if (isDev && isClient) { 39 | config.module.rules.push({ 40 | enforce: 'pre', 41 | test: /\.(js|vue)$/, 42 | loader: 'eslint-loader', 43 | exclude: /(node_modules)/ 44 | }) 45 | } 46 | } 47 | } 48 | } 49 | 50 | -------------------------------------------------------------------------------- /zutmooc-front/api/course.js: -------------------------------------------------------------------------------- 1 | import request from '@/utils/request' 2 | 3 | export default { 4 | //条件分页课程查询的方法 5 | getCourseList(page,limit,searchObj) { 6 | return request({ 7 | url: `/eduservice/coursefront/getFrontCourseList/${page}/${limit}`, 8 | method: 'post', 9 | data: searchObj 10 | }) 11 | }, 12 | //查询所有分类的方法 13 | getAllSubject() { 14 | return request({ 15 | url: '/eduservice/subject/getAllSubject', 16 | method: 'get' 17 | }) 18 | }, 19 | //课程详情的方法 20 | getCourseInfo(id) { 21 | return request({ 22 | url: '/eduservice/coursefront/getFrontCourseInfo/'+id, 23 | method: 'get' 24 | }) 25 | }, 26 | 27 | 28 | /*---------评论-----------*/ 29 | //根据课程id获取所有评论 30 | getComment(id,crruent,limit){ 31 | return request({ 32 | url:`/eduservice/comment/getCommentPage/${id}/${crruent}/${limit}`, 33 | method:'get', 34 | }) 35 | }, 36 | //添加评论 37 | addComment(commnet){ 38 | return request({ 39 | url:`/eduservice/comment/saveComment`, 40 | method:'post', 41 | data:commnet 42 | }) 43 | }, 44 | //删除评论 45 | remove(id){ 46 | return request({ 47 | url:`/eduservice/comment/delete/${id}`, 48 | method:'delete', 49 | }) 50 | } 51 | /*---------结束--------*/ 52 | } 53 | -------------------------------------------------------------------------------- /zutmooc-admin/src/views/edu/subject/list.vue: -------------------------------------------------------------------------------- 1 | 16 | 17 | -------------------------------------------------------------------------------- /zutmooc-admin/build/build.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | require('./check-versions')() 3 | 4 | process.env.NODE_ENV = 'production' 5 | 6 | const ora = require('ora') 7 | const rm = require('rimraf') 8 | const path = require('path') 9 | const chalk = require('chalk') 10 | const webpack = require('webpack') 11 | const config = require('../config') 12 | const webpackConfig = require('./webpack.prod.conf') 13 | 14 | const spinner = ora('building for production...') 15 | spinner.start() 16 | 17 | rm(path.join(config.build.assetsRoot, config.build.assetsSubDirectory), err => { 18 | if (err) throw err 19 | webpack(webpackConfig, (err, stats) => { 20 | spinner.stop() 21 | if (err) throw err 22 | process.stdout.write( 23 | stats.toString({ 24 | colors: true, 25 | modules: false, 26 | children: false, 27 | chunks: false, 28 | chunkModules: false 29 | }) + '\n\n' 30 | ) 31 | 32 | if (stats.hasErrors()) { 33 | console.log(chalk.red(' Build failed with errors.\n')) 34 | process.exit(1) 35 | } 36 | 37 | console.log(chalk.cyan(' Build complete.\n')) 38 | console.log( 39 | chalk.yellow( 40 | ' Tip: built files are meant to be served over an HTTP server.\n' + 41 | " Opening index.html over file:// won't work.\n" 42 | ) 43 | ) 44 | }) 45 | }) 46 | -------------------------------------------------------------------------------- /zutmooc-admin/src/permission.js: -------------------------------------------------------------------------------- 1 | import router from './router' 2 | import store from './store' 3 | import NProgress from 'nprogress' // Progress 进度条 4 | import 'nprogress/nprogress.css'// Progress 进度条样式 5 | import { Message } from 'element-ui' 6 | import { getToken } from '@/utils/auth' // 验权 7 | 8 | const whiteList = ['/login'] // 不重定向白名单 9 | router.beforeEach((to, from, next) => { 10 | NProgress.start() 11 | if (getToken()) { 12 | if (to.path === '/login') { 13 | next({ path: '/' }) 14 | NProgress.done() // if current page is dashboard will not trigger afterEach hook, so manually handle it 15 | } else { 16 | if (store.getters.roles.length === 0) { 17 | store.dispatch('GetInfo').then(res => { // 拉取用户信息 18 | next() 19 | }).catch((err) => { 20 | store.dispatch('FedLogOut').then(() => { 21 | Message.error(err || 'Verification failed, please login again') 22 | next({ path: '/' }) 23 | }) 24 | }) 25 | } else { 26 | next() 27 | } 28 | } 29 | } else { 30 | if (whiteList.indexOf(to.path) !== -1) { 31 | next() 32 | } else { 33 | next(`/login?redirect=${to.path}`) // 否则全部重定向到登录页 34 | NProgress.done() 35 | } 36 | } 37 | }) 38 | 39 | router.afterEach(() => { 40 | NProgress.done() // 结束Progress 41 | }) 42 | -------------------------------------------------------------------------------- /zutmooc-admin/src/styles/index.scss: -------------------------------------------------------------------------------- 1 | @import './variables.scss'; 2 | @import './mixin.scss'; 3 | @import './transition.scss'; 4 | @import './element-ui.scss'; 5 | @import './sidebar.scss'; 6 | 7 | body { 8 | height: 100%; 9 | -moz-osx-font-smoothing: grayscale; 10 | -webkit-font-smoothing: antialiased; 11 | text-rendering: optimizeLegibility; 12 | font-family: Helvetica Neue, Helvetica, PingFang SC, Hiragino Sans GB, Microsoft YaHei, Arial, sans-serif; 13 | } 14 | 15 | label { 16 | font-weight: 700; 17 | } 18 | 19 | html { 20 | height: 100%; 21 | box-sizing: border-box; 22 | } 23 | 24 | #app{ 25 | height: 100%; 26 | } 27 | 28 | *, 29 | *:before, 30 | *:after { 31 | box-sizing: inherit; 32 | } 33 | 34 | a, 35 | a:focus, 36 | a:hover { 37 | cursor: pointer; 38 | color: inherit; 39 | outline: none; 40 | text-decoration: none; 41 | } 42 | 43 | div:focus{ 44 | outline: none; 45 | } 46 | 47 | a:focus, 48 | a:active { 49 | outline: none; 50 | } 51 | 52 | a, 53 | a:focus, 54 | a:hover { 55 | cursor: pointer; 56 | color: inherit; 57 | text-decoration: none; 58 | } 59 | 60 | .clearfix { 61 | &:after { 62 | visibility: hidden; 63 | display: block; 64 | font-size: 0; 65 | content: " "; 66 | clear: both; 67 | height: 0; 68 | } 69 | } 70 | 71 | //main-container全局样式 72 | .app-main{ 73 | min-height: 100% 74 | } 75 | 76 | .app-container { 77 | padding: 20px; 78 | } 79 | -------------------------------------------------------------------------------- /zutmooc-front/assets/css/reset.css: -------------------------------------------------------------------------------- 1 | @charset "utf-8"; 2 | html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,font,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td{margin:0;padding:0;border:0;outline:0;vertical-align:baseline;background:transparent}body{font-size:12px;line-height:160%;font-family:"Helvetica Neue",\5FAE\8F6F\96C5\9ED1,"SimHei",Tohoma;word-break:break-all;word-wrap:break-word;position:relative}ol,ul,li{list-style:none}blockquote,q{quotes:none}table{border-collapse:collapse;border-spacing:0;empty-cells:show}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none}:focus{outline:0}ins,s{text-decoration:none}del{text-decoration:line-through}em,i{font-style:normal}a,img{border:0;text-decoration:none}a{text-decoration:none}a:hover{text-decoration:underline}a:focus{outline:0;-moz-outline:0}a:active{outline:0;blr:expression(this.onFocus=this.blur())}h1{font-size:36px;line-height:45px;font-weight:normal}h2{font-size:24px;line-height:30px;font-weight:normal}h3{font-size:18px;line-height:22px;font-weight:normal}h4{font-size:16px;line-height:20px;font-weight:normal}h5{font-size:14px;line-height:18px;font-weight:normal}h6{font-size:12px;line-height:16px;font-weight:normal}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block} -------------------------------------------------------------------------------- /zutmooc-admin/src/api/edu/teacher.js: -------------------------------------------------------------------------------- 1 | import request from '@/utils/request' 2 | 3 | //定义接口,静态页面中调用 4 | export default{ 5 | //讲师列表(条件分页查询) 6 | getTeacherListPage(current, limit, teacherQuery) { 7 | return request({ 8 | // url两种写法 9 | // url: '/eduservice/teacher/pageTeacherCondition/'+current+'/'+limit, 10 | url: `/eduservice/teacher/pageTeacherCondition/${current}/${limit}`, 11 | method: 'post', 12 | // teacherQuery为条件对象1,后端使用RequestBody获取数据 13 | // data表示把对象转成json传递到接口中 14 | data: teacherQuery 15 | }) 16 | }, 17 | //删除讲师(逻辑删除) 18 | removeTeacher(id) { 19 | return request({ 20 | url: `/eduservice/teacher/${id}`, 21 | method: 'delete' 22 | }) 23 | }, 24 | //添加讲师 25 | addTeacher(teacher){ 26 | return request({ 27 | url: `/eduservice/teacher/addTeacher`, 28 | method: 'post', 29 | data: teacher 30 | }) 31 | }, 32 | //查询指定id的讲师信息 33 | getTeacher(id){ 34 | return request({ 35 | url: `/eduservice/teacher/getTeacher/${id}`, 36 | method: 'get' 37 | }) 38 | }, 39 | //修改讲师 40 | updateTeacher(teacher) { 41 | return request({ 42 | url: `/eduservice/teacher/updateTeacher`, 43 | method: 'post', 44 | data: teacher 45 | }) 46 | } 47 | 48 | } 49 | -------------------------------------------------------------------------------- /zutmooc-front/utils/request.js: -------------------------------------------------------------------------------- 1 | import axios from 'axios' 2 | import { MessageBox, Message } from 'element-ui' 3 | import cookie from 'js-cookie' 4 | 5 | // 创建axios实例 6 | const service = axios.create({ 7 | baseURL: 'http://localhost:9001', // api的base_url 8 | timeout: 20000 // 请求超时时间 9 | }) 10 | 11 | //第三步 创建拦截器 http request 拦截器 12 | service.interceptors.request.use( 13 | config => { 14 | //debugger 15 | //判断cookie里面是否有名称是guli_token数据 16 | if (cookie.get('guli_token')) { 17 | //把获取cookie值放到header里面 18 | config.headers['token'] = cookie.get('guli_token'); 19 | } 20 | return config 21 | }, 22 | err => { 23 | return Promise.reject(err); 24 | }) 25 | 26 | // http response 拦截器 27 | service.interceptors.response.use( 28 | response => { 29 | //debugger 30 | if (response.data.code == 28004) { 31 | console.log("response.data.resultCode是28004") 32 | // 返回 错误代码-1 清除ticket信息并跳转到登录页面 33 | //debugger 34 | window.location.href="/login" 35 | return 36 | }else{ 37 | if (response.data.code !== 20000) { 38 | //25000:订单支付中,不做任何提示 39 | if(response.data.code != 25000) { 40 | Message({ 41 | message: response.data.message || 'error', 42 | type: 'error', 43 | duration: 5 * 1000 44 | }) 45 | } 46 | } else { 47 | return response; 48 | } 49 | } 50 | }, 51 | error => { 52 | return Promise.reject(error.response) // 返回接口返回的错误信息 53 | }); 54 | 55 | export default service -------------------------------------------------------------------------------- /zutmooc-admin/src/components/ImageCropper/utils/effectRipple.js: -------------------------------------------------------------------------------- 1 | /** 2 | * 点击波纹效果 3 | * 4 | * @param {[event]} e [description] 5 | * @param {[Object]} arg_opts [description] 6 | * @return {[bollean]} [description] 7 | */ 8 | export default function(e, arg_opts) { 9 | var opts = Object.assign({ 10 | ele: e.target, // 波纹作用元素 11 | type: 'hit', // hit点击位置扩散center中心点扩展 12 | bgc: 'rgba(0, 0, 0, 0.15)' // 波纹颜色 13 | }, arg_opts) 14 | var target = opts.ele 15 | if (target) { 16 | var rect = target.getBoundingClientRect() 17 | var ripple = target.querySelector('.e-ripple') 18 | if (!ripple) { 19 | ripple = document.createElement('span') 20 | ripple.className = 'e-ripple' 21 | ripple.style.height = ripple.style.width = Math.max(rect.width, rect.height) + 'px' 22 | target.appendChild(ripple) 23 | } else { 24 | ripple.className = 'e-ripple' 25 | } 26 | switch (opts.type) { 27 | case 'center': 28 | ripple.style.top = (rect.height / 2 - ripple.offsetHeight / 2) + 'px' 29 | ripple.style.left = (rect.width / 2 - ripple.offsetWidth / 2) + 'px' 30 | break 31 | default: 32 | ripple.style.top = (e.pageY - rect.top - ripple.offsetHeight / 2 - document.body.scrollTop) + 'px' 33 | ripple.style.left = (e.pageX - rect.left - ripple.offsetWidth / 2 - document.body.scrollLeft) + 'px' 34 | } 35 | ripple.style.backgroundColor = opts.bgc 36 | ripple.className = 'e-ripple z-active' 37 | return false 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /zutmooc-admin/build/check-versions.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | const chalk = require('chalk') 3 | const semver = require('semver') 4 | const packageConfig = require('../package.json') 5 | const shell = require('shelljs') 6 | 7 | function exec(cmd) { 8 | return require('child_process') 9 | .execSync(cmd) 10 | .toString() 11 | .trim() 12 | } 13 | 14 | const versionRequirements = [ 15 | { 16 | name: 'node', 17 | currentVersion: semver.clean(process.version), 18 | versionRequirement: packageConfig.engines.node 19 | } 20 | ] 21 | 22 | if (shell.which('npm')) { 23 | versionRequirements.push({ 24 | name: 'npm', 25 | currentVersion: exec('npm --version'), 26 | versionRequirement: packageConfig.engines.npm 27 | }) 28 | } 29 | 30 | module.exports = function() { 31 | const warnings = [] 32 | 33 | for (let i = 0; i < versionRequirements.length; i++) { 34 | const mod = versionRequirements[i] 35 | 36 | if (!semver.satisfies(mod.currentVersion, mod.versionRequirement)) { 37 | warnings.push( 38 | mod.name + 39 | ': ' + 40 | chalk.red(mod.currentVersion) + 41 | ' should be ' + 42 | chalk.green(mod.versionRequirement) 43 | ) 44 | } 45 | } 46 | 47 | if (warnings.length) { 48 | console.log('') 49 | console.log( 50 | chalk.yellow( 51 | 'To use this template, you must update following to modules:' 52 | ) 53 | ) 54 | console.log() 55 | 56 | for (let i = 0; i < warnings.length; i++) { 57 | const warning = warnings[i] 58 | console.log(' ' + warning) 59 | } 60 | 61 | console.log() 62 | process.exit(1) 63 | } 64 | } 65 | -------------------------------------------------------------------------------- /zutmooc-admin/src/api/edu/course.js: -------------------------------------------------------------------------------- 1 | import request from '@/utils/request' 2 | export default { 3 | //1 添加课程信息 4 | addCourseInfo(courseInfo) { 5 | return request({ 6 | url: '/eduservice/course/addCourseInfo', 7 | method: 'post', 8 | data:courseInfo 9 | }) 10 | }, 11 | //2 查询所有讲师 12 | getListTeacher() { 13 | return request({ 14 | url: '/eduservice/teacher/findAll', 15 | method: 'get' 16 | }) 17 | }, 18 | //根据课程id查询课程基本信息 19 | getCourseInfoId(id) { 20 | return request({ 21 | url: '/eduservice/course/getCourseInfo/'+id, 22 | method: 'get' 23 | }) 24 | }, 25 | //修改课程信息 26 | updateCourseInfo(courseInfo) { 27 | return request({ 28 | url: '/eduservice/course/updateCourseInfo', 29 | method: 'post', 30 | data: courseInfo 31 | }) 32 | }, 33 | //课程确认信息显示 34 | getPublihCourseInfo(id) { 35 | return request({ 36 | url: '/eduservice/course/getPublishCourseInfo/'+id, 37 | method: 'get' 38 | }) 39 | }, 40 | //课程最终发布 41 | publihCourse(id) { 42 | return request({ 43 | url: '/eduservice/course/publishCourse/'+id, 44 | method: 'post' 45 | }) 46 | }, 47 | //TODO 课程列表 48 | getListCourse() { 49 | return request({ 50 | url: '/eduservice/course', 51 | method: 'get' 52 | }) 53 | }, 54 | //删除课程(物理删除) 55 | removeCourse(id) { 56 | return request({ 57 | url: `/eduservice/course/${id}`, 58 | method: 'delete' 59 | }) 60 | }, 61 | 62 | } 63 | -------------------------------------------------------------------------------- /zutmooc-admin/src/views/layout/Layout.vue: -------------------------------------------------------------------------------- 1 | 11 | 12 | 47 | 48 | 70 | -------------------------------------------------------------------------------- /zutmooc-admin/src/icons/svg/tree.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /zutmooc-admin/src/views/tree/index.vue: -------------------------------------------------------------------------------- 1 | 16 | 17 | 78 | 79 | -------------------------------------------------------------------------------- /zutmooc-front/components/AppLogo.vue: -------------------------------------------------------------------------------- 1 | 9 | 10 | 80 | 81 | -------------------------------------------------------------------------------- /zutmooc-front/pages/player/_vid.vue: -------------------------------------------------------------------------------- 1 |