成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

Vue+mint-ui+flexible仿移動端App(網(wǎng)易云課堂)

iOS122 / 3113人閱讀

摘要:仿網(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就是路由的一部分

CORS解決跨域問題
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

相關(guān)文章

  • vue仿lofter移動demo

    摘要:遇到問題時一定要去閱讀文檔,可以發(fā)現(xiàn)使用時遺漏或者沒有注意的地方。打包文件時也要注意修改路徑不然就踩坑了。 vue_lofter 一個仿lofte手機端的vue項目 項目描述 技術(shù)棧 Vue2.0全家桶 + axios + Vuex + Mint-ui + Mock.js + Stylus 預覽效果 ?預覽地址(PC端建議在Chrome下開啟調(diào)試模式或移動端瀏覽) ?源碼地址??求你...

    wwolf 評論0 收藏0
  • Vue2.0全家桶仿騰訊課堂移動

    摘要:最近在學習覺得超好用,忍不住自己仿了個騰訊課堂練練手,不當之處還請大家指正持續(xù)更新中。的使用的狀態(tài)存儲是響應式的。需要注意類似于,不同在于提交的是,而不是直接變更狀態(tài)。 最近在學習vue,覺得超好用,忍不住自己仿了個騰訊課堂練練手,不當之處還請大家指正(持續(xù)更新中)。 效果預覽 ?在線預覽:點我?。?!在線預覽,手機瀏覽或切換瀏覽器移動調(diào)試 ?源碼地址:Github??求你的小星星~...

    zorro 評論0 收藏0
  • Vue2.0全家桶仿騰訊課堂移動

    摘要:最近在學習覺得超好用,忍不住自己仿了個騰訊課堂練練手,不當之處還請大家指正持續(xù)更新中。的使用的狀態(tài)存儲是響應式的。需要注意類似于,不同在于提交的是,而不是直接變更狀態(tài)。 最近在學習vue,覺得超好用,忍不住自己仿了個騰訊課堂練練手,不當之處還請大家指正(持續(xù)更新中)。 效果預覽 ?在線預覽:點我?。?!在線預覽,手機瀏覽或切換瀏覽器移動調(diào)試 ?源碼地址:Github??求你的小星星~...

    anquan 評論0 收藏0
  • 記一次vue仿網(wǎng)易音樂的單頁面應用

    摘要:說明一直想做一個基于的項目但是因為項目往往要涉及到后端的知識不會后端真的苦所以就沒有一直真正的動手去做一個項目。直到發(fā)現(xiàn)上有網(wǎng)易云音樂的才開始動手去做。僅僅完成了首頁登入,歌單,歌曲列表頁。 說明 一直想做一個基于VUE的項目,但是因為項目往往要涉及到后端的知識(不會后端真的苦),所以就沒有一直真正的動手去做一個項目。直到發(fā)現(xiàn)GitHub上有網(wǎng)易云音樂的api NeteaseCloud...

    hqman 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<