摘要:仿網(wǎng)易云課堂在線預覽手機瀏覽或切換谷歌瀏覽器移動調(diào)試預覽描述前端部分快速構(gòu)建前端界面輪播圖,滑塊管理現(xiàn)非父子組件之間的通信移動設(shè)備兼容使用實現(xiàn)預編譯實現(xiàn)所有小圖標的加載,減少請求路由懶加載結(jié)合異步組件和的做請求存儲用
Vue-wyclass 仿網(wǎng)易云課堂App
在線預覽:手機瀏覽或切換谷歌瀏覽器移動調(diào)試
Gif預覽描述
前端部分
Vue2.0 + Mint-ui快速構(gòu)建前端界面(輪播圖,swiper滑塊) ---Mint-ui
Vuex 管理現(xiàn)非父子組件之間的通信
移動設(shè)備兼容:使用rem+flexible.js
Stylus實現(xiàn)css預編譯
icon-font實現(xiàn)所有小圖標的加載,減少http請求 ----Icon-font
路由懶加載:Vue Router結(jié)合 Vue異步組件和Webpack 的 Code Splitting
axios做ajax請求
sessionStorage 存儲用戶信息
后端部分
本地使用webpack dev-server 搭建小型express服務
服務器端使用express搭建靜態(tài)資源資源接口
待更新的功能
用 express + mongodb 保存用戶狀態(tài)
功能實現(xiàn) 首頁1、搜索框
1、tabbar切換
4、swiper滑動,切換頁面
6、首頁各個界面
分類1、實現(xiàn)切換分類模塊
2、右側(cè)菜單
我的學習1、判斷登錄狀態(tài)
2、用戶所學課程展示
個人1、賬戶的登錄
2、設(shè)置界面 退出當前賬號
搜索界面1、根據(jù)用戶輸入查找所有課程中符合要求的課程并顯示
課程詳細界面1、通過router傳參查找課程
1、根據(jù)用戶是否擁有選擇播放視頻權(quán)限
2、課程介紹界面
總結(jié)1、熟悉使用Vue2.0
2、在項目中,將組件進行分離,編寫可以復用的組件,提高效率
3、Vuex的狀態(tài)管理模塊,統(tǒng)一的狀態(tài)的管理,讓我們更好的去對數(shù)據(jù)操作
4、util的工具,倒計時js
5、對axios有更進一步的理解,利用cros進行跨域處理
6、進行路由的懶加載,優(yōu)化頁面加載
實現(xiàn)細節(jié) 登錄攔截router.beforeEach((to, from, next) => { // NProgress.start(); if (to.path == "/login") { sessionStorage.removeItem("userInfo"); } let userInfo = JSON.parse(sessionStorage.getItem("userInfo")); if (!userInfo && to.path != "/account/login") { next({ path: "/account/login" }) } else { next() } next() })路由懶加載
export default new Router({ routes: [ { path: "/home", name: "Home", component: resolve => require(["@/views/Home/Home"], resolve), }, ] })vue-router url傳參
changeToCoursedetails(course){ this.$router.push({path:"/home/coursedetails" , query:{id:course.id}}) // this.$router.push({name:"Coursedetails" , params:{id:course.id}}) // 可使用vue.$route 獲取query和params },
params的特點是 路由后面要帶參數(shù)名
并且傳參的時候,參數(shù)名要跟路由后面設(shè)置的參數(shù)名對應。
但是 刷新界面,或者跳到別的界面,參數(shù)就會消失
params一旦設(shè)置在路由,params就是路由的一部分
app.use(function (req, res, next) { // Website you wish to allow to connect res.setHeader("Access-Control-Allow-Origin", "*"); // Request methods you wish to allow res.setHeader("Access-Control-Allow-Methods", "GET, POST, OPTIONS, PUT, PATCH, DELETE"); // Request headers you wish to allow res.setHeader("Access-Control-Allow-Headers", "X-Requested-With,content-type"); // Set to true if you need the website to include cookies in the requests sent // to the API (e.g. in case you use sessions) res.setHeader("Access-Control-Allow-Credentials", true); // Pass to next layer of middleware next(); });文件目錄
├─api │ api.js ---Axios請求 ├─common │ ├─font ---iconfont │ ├─js │ └─stylus ---stylus預處理和函數(shù) ├─components │ │ loading.vue ---加載界面組件 │ │ NotFound.vue ---notFound組件 │ │ search.vue ---查找組件 │ │ tabbar.vue ---tabbar組件 │ │ │ └─star ---星級組件 ├─router │ index.js ---router入口文件 │ ├─views │ │ Classify.vue ---主頁分類界面 │ │ Classifydetails.vue ---分類詳細界面 │ │ Login.vue ---登錄界面 │ │ Mystudy.vue ---主頁我的學習界面 │ │ │ ├─Account ---主頁我的賬號界面 │ │ Account.vue │ │ setting.vue ---設(shè)置界面 │ │ │ ├─Coursedetails ---課程詳細界面 │ │ catalog.vue │ │ comment.vue │ │ Coursedetails.vue │ │ introduce.vue ---暫開發(fā)課程介紹界面 │ │ │ └─Home ---我的主頁中首頁界面 │ classic.vue ---經(jīng)典課程界面 │ expert.vue ---專家界面 │ Home.vue │ major.vue ---行家界面 │ recommend.vue ---推薦界面 │ └─vuex │ store.js │ types.js │ └─modules com.js ---vuex 狀態(tài)管理 user.js ---vuex 用戶管理使用
# install dependencies npm install # serve with hot reload at localhost:8080 npm run dev # build for production with minification npm run build # build for production and view the bundle analyzer report npm run build --report
源碼地址:Github 歡迎star哦
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/93267.html
摘要:遇到問題時一定要去閱讀文檔,可以發(fā)現(xiàn)使用時遺漏或者沒有注意的地方。打包文件時也要注意修改路徑不然就踩坑了。 vue_lofter 一個仿lofte手機端的vue項目 項目描述 技術(shù)棧 Vue2.0全家桶 + axios + Vuex + Mint-ui + Mock.js + Stylus 預覽效果 ?預覽地址(PC端建議在Chrome下開啟調(diào)試模式或移動端瀏覽) ?源碼地址??求你...
摘要:最近在學習覺得超好用,忍不住自己仿了個騰訊課堂練練手,不當之處還請大家指正持續(xù)更新中。的使用的狀態(tài)存儲是響應式的。需要注意類似于,不同在于提交的是,而不是直接變更狀態(tài)。 最近在學習vue,覺得超好用,忍不住自己仿了個騰訊課堂練練手,不當之處還請大家指正(持續(xù)更新中)。 效果預覽 ?在線預覽:點我?。?!在線預覽,手機瀏覽或切換瀏覽器移動調(diào)試 ?源碼地址:Github??求你的小星星~...
摘要:最近在學習覺得超好用,忍不住自己仿了個騰訊課堂練練手,不當之處還請大家指正持續(xù)更新中。的使用的狀態(tài)存儲是響應式的。需要注意類似于,不同在于提交的是,而不是直接變更狀態(tài)。 最近在學習vue,覺得超好用,忍不住自己仿了個騰訊課堂練練手,不當之處還請大家指正(持續(xù)更新中)。 效果預覽 ?在線預覽:點我?。?!在線預覽,手機瀏覽或切換瀏覽器移動調(diào)試 ?源碼地址:Github??求你的小星星~...
摘要:說明一直想做一個基于的項目但是因為項目往往要涉及到后端的知識不會后端真的苦所以就沒有一直真正的動手去做一個項目。直到發(fā)現(xiàn)上有網(wǎng)易云音樂的才開始動手去做。僅僅完成了首頁登入,歌單,歌曲列表頁。 說明 一直想做一個基于VUE的項目,但是因為項目往往要涉及到后端的知識(不會后端真的苦),所以就沒有一直真正的動手去做一個項目。直到發(fā)現(xiàn)GitHub上有網(wǎng)易云音樂的api NeteaseCloud...
閱讀 2602·2021-11-18 10:02
閱讀 1738·2021-09-30 10:00
閱讀 5387·2021-09-22 15:27
閱讀 1243·2019-08-30 15:54
閱讀 3701·2019-08-29 11:13
閱讀 2973·2019-08-29 11:05
閱讀 3358·2019-08-29 11:01
閱讀 598·2019-08-26 13:52