基於nuxt和iview搭建OM後臺管理系統實踐-專案簡要介紹(1)
目錄結構
這是《基於nuxt和iview搭建OM後臺管理系統實踐》這一個系列文章的目錄,大致思路如下:
自行開發的公共元件,、地圖、上傳元件的封裝過程
專案上線流程,自動化打包(Jenkins)
專案總結,總結開發過程中的坑點,避免以後再掉坑
專案背景
清明節後回到武漢,在周例會上,專案經理提出要開發一個我們們app的後臺管理系統(OM系統),預估兩週時間開發完並上線,並且要實現前後端分離,最終在經過短暫的技術選型和苦逼開發後終於延後幾天並上線了。寫下這篇文章記錄一下開發(踩坑)過程。
專案模組分佈
因為是公司的專案,後臺模組分佈的圖片只存在於我的有道雲筆記,後續會根據這些模組封裝一些公共元件出來。
iview-admin參考
技術實現
左側和頂部導航:使用nuxt的佈局屬性,在資料夾layouts裡新建nav.vue檔案,引入leftNav和topNav元件,使用 layout 屬性來為頁面指定使用nav佈局。導航高亮透過在leftNav裡更新menuName欄位來實現。
// 檔案 layouts/nav.vue // import MyFooter from '~/components/Footer.vue'import leftNav from '~/components/leftNav.vue';import topNav from '~/components/topNav.vue';export default { components: { leftNav, topNav } }
// 檔案 pages/index.vueexport default { layout: "nav",//此處引用layout的nav佈局檔案 }
選單高亮程式碼實現
//檔案 components/left-nav.vuegoto(obj) { let path = ""; // this.$store.commit("upMenuName", obj); //更新menuName setStore('menuName',obj); this.menuName = getStore('menuName'); this.$store.state.menuList.forEach(element => { element.list.forEach(el => { if (el.id == obj) { path = el.path; } }); }); this.$router.push(path); // window.location = path;}
全域性axios配置,並對登入失效做跳轉處理
//檔案 plugins/axios.jsimport axios from 'axios';import Vue from 'vue';import * as utils from '../lib/utils';// import {Spin,Notice} from 'iview';// import router from ''let options = {}// The server-side needs a full url to worksif (process.server) { // options.baseURL = `{process.env.HOST || 'localhost'}:${process.env.PORT || 3000}` axios.defaults.baseURL = `{process.env.HOST || 'localhost'}:${process.env.PORT || 3000}/api`} axios.defaults.headers['Content-Type'] = 'application/x-www-form-urlencoded'; axios.defaults.headers['X-Requested-With'] = 'XMLHttpRequest';// axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded';axios.defaults.withCredentials = true; axios.defaults.timeout = 5000;//請求之前axios.interceptors.request.use((config)=>{ // console.log(config) // Spin.show(); return config; });//登陸失效跳轉登入頁面axios.interceptors.response.use( response => { console.log('-------axiosResponse---------') // console.log(response); // Spin.hide(); return response; }, error => { console.log('-------axiosError---------'); console.log(error.response.status); if (error.response.status) { switch (error.response.status) { case 401: // if (process.server){ utils.clearLocalStorage(); console.log(window.location) window.location.href= '/login?url'+window.location.pathname // } } } // Spin.hide(); // Notice.error({ // title: '溫馨提示:', // desc: '網路請求失敗,請稍後再試' // }); // console.log(error.response.status); return Promise.reject(error.response.data) } );export default axios;
有資料請求的頁面
主要技術棧
vue、nuxt、iview、axios、vuex、v-charts、proxy、nginx
作者:願愛無憂dk_
連結:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/2310/viewspace-2813988/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 基於nuxt和iview搭建後臺管理系統實踐(1)UXView
- 基於nuxt和iview搭建OM後臺管理系統實踐(2)-quill富文字元件的封裝UXViewUI字元元件封裝
- 基於nuxt和iview搭建OM後臺管理系統實踐(4)-七牛上傳元件的封裝UXView元件封裝
- 基於nuxt和iview搭建OM後臺管理系統實踐(5)-高德地圖地塊氣象資料展示元件的封裝UXView地圖元件封裝
- 一個基於nuxt+iview-admin+koa2 的專案UXView
- 基於 Nuxt.js 服務渲染框架的後臺管理系統UXJS框架
- 圖書管理系統-專案介紹
- Vue速成--專案實戰(後臺管理系統)Vue
- 基於Vue + Antd 搭建自己的部落格後臺管理系統Vue
- vue使用iview Form元件驗證(適用於後臺管理系統)VueViewORM元件
- yylAdmin基於ThinkPHP6和Vue2的極簡後臺管理系統PHPVue
- vue + iview 專案實踐總結 【完】VueView
- 基於adminlte的後臺管理系統開發
- 073基於SSM酒店管理系統(前後臺)SSM
- Vue 專案應用 —— 後臺管理系統模板Vue
- 基於Laravel 6+bootstrap 3搭建一套laravelCMF後臺管理系統Laravelboot
- 基於Vue和Node.js的電商後臺管理系統VueNode.js
- Yocto實踐(1): 基於Dunfell 構建Yocto專案
- React開發管理後臺實踐1React
- 基於Laravel5.8實現的元件化後臺管理系統Laravel元件化
- 分散式系統1:什麼是分散式系統——簡要的介紹與定義分散式
- 我最近做了一個react的後臺管理系統,用於快速建立後臺專案模板React
- guns Lite基於spring boot的後臺管理系統Spring Boot
- EacooPHP基於ThinkPHP5+AdminLTE後臺管理系統OOPPHP
- NodeJS專案基礎結構簡單介紹NodeJS
- WebRTC基礎實踐-1.WebRTC簡介Web
- 檔案管理簡單介紹
- 基於ABP做一個簡單的系統——實戰篇:1.專案準備
- Vue3專案的簡單搭建與專案結構的簡單介紹Vue
- 基於SpringCloud+vue(ElementUI)+mySQL前後端分離設計之–搭建後臺管理系統SpringGCCloudVueUIMySql後端
- SpringSecurity許可權管理系統實戰—一、專案簡介和開發環境準備SpringGse開發環境
- Java SSM練手小專案-手把手帶你搭建一個基於SSM框架的人力資源管理後臺系統JavaSSM框架
- 基於vite2+electron12後臺管理模板|Electron後臺框架系統Vite框架
- 基於java的專案管理平臺Java專案管理
- 基於Element-UI的Vue管理後臺搭建UIVue
- 電商發退貨後臺管理系統專案需求
- 適合做外包專案的開源後臺管理系統
- Web專案開發介紹及實戰專案介紹Web