vue2.0 - layout组件(二)图标和基础配置

1. assets文件里面需要配置一些页面上使用的图标(可以自己在网上找一些图片代替)

在这里插入图片描述*

2.styles页面基础样式文件

在这里插入图片描述

3. common.scss文件


*,
*:before,
*:after {
  box-sizing: border-box;
}

a:focus,
a:active {
  outline: none;
}

a,
a:focus,
a:hover {
  cursor: pointer;
  color: inherit;
  text-decoration: none;
}
p {
  margin: 0;
  padding: 0;
  color: #17233D;
}
div:focus {
  outline: none;
}
.clearfix:after {
  content: '.';
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
}
.pointer {
  cursor: pointer;
  &:hover {
    color: #2479F0!important;
  }
}

.float-lf {
  float: left;
}
.float-rt {
  float: right;
}

4. pubilc.scss文件-主要是layout组件样式

$mian_color: #2b2f3a; // 头部导航颜色
$weightMain_color:rgb(23, 23, 23);  // 左侧导航颜色
$contrast_color:white;
 
.mian_color{
  color: $mian_color;
}
 
.white_color{
color:$contrast_color
}
 
body{
  margin: 0;
}
.header_container {
  position: flex;
  top: 0;
  left: 0;
  width: 100%;
  background: $mian_color;
  font-size: 12px;
  display: flex;
  justify-content: space-between;
  .logo {
    font-size: 24px;
    font-weight: 600px;
  }
}
.el-header {
  background-color:$mian_color !important;
  color: #333;
  line-height: 60px;
}
.el-aside {
  height: calc(100vh - 60px) !important;
  background: $weightMain_color;
}
.el-menu {
  border-right:0 !important
}

5. utils文件
在这里插入图片描述
6. Component.js文件是注册全局组件

 import Mybread from '../layout/components/Bradcrumb/index.vue' // 面包屑

// 全局组件
export default {
    install(Vue) {
        Vue.component('my-bread', Mybread)
    }
} 

7. validate.js 基础配置文件

  /**
 * Created by QIAOLEI on 22/06/15.
 */

/**
 * @param {string} path
 * @returns {Boolean}
 */
 export function isExternal(path) {
    return /^(https?:|mailto:|tel:)/.test(path)
  }
  
  export const validateMobile = (rule, value, callback) => {
    if (/^1[3-9]\d{9}$/.test(value)) {
      callback()
    } else {
      callback(new Error('请输入正确的手机号格式'))
    }
  }

8. store文件

在这里插入图片描述
9. app.js文件

const state = {
  sidebar: {
    opened: true // header导航栏按钮
  },
  device: 'desktop'
}

const mutations = {
  TOGGLE_SIDEBAR: state => {
    state.sidebar.opened = !state.sidebar.opened
  },
}

const actions = {
  toggleSideBar({ commit }) {
    commit('TOGGLE_SIDEBAR')
  }
}

export default {
  namespaced: true,
  state,
  mutations,
  actions
}

10. settings.js文件

import defaultSettings from '@/settings'

const { showSettings, fixedHeader, sidebarLogo } = defaultSettings

const state = {
  showSettings: showSettings,
  fixedHeader: fixedHeader,
  sidebarLogo: sidebarLogo
}

const mutations = {
  CHANGE_SETTING: (state, { key, value }) => {
    if (state.hasOwnProperty(key)) {
      state[key] = value
    }
  }
}

const actions = {
  changeSetting({ commit }, data) {
    commit('CHANGE_SETTING', data)
  }
}

export default {
  namespaced: true,
  state,
  mutations,
  actions
}

11. getters.js文件

const getters = {
    sidebar: state => state.app.sidebar,
    device: state => state.app.device,
    token: state => state.user.token,
    avatar: state => state.user.avatar,
    staffPhoto: state => state.user.userInfo.staffPhoto,
    name: (state) => {
      return state.user.userInfo.username
    }
  }
  export default getters
  

12. index.js文件

import Vue from 'vue'
import Vuex from 'vuex'
import getters from './getters'

Vue.use(Vuex)

const modulesFiles = require.context('./modules', true, /\.js$/)
const modules = modulesFiles.keys().reduce((modules, modulePath) => {
  const moduleName = modulePath.replace(/^\.\/(.*)\.\w+$/, '$1')
  const value = modulesFiles(modulePath)
  modules[moduleName] = value.default
  return modules
}, {})

export default new Vuex.Store({
  state: {
  },
  mutations: {
  },
  actions: {
  },
  modules,
  getters
})

13. 此时会报错,因为缺少settings.js文件,需要在src下创建此文件配置就可以

在这里插入图片描述
14. src - settings.js
在这里插入图片描述

module.exports = {

    title: '项目名称',
  
    /**
     * @type {boolean} true | false
     * @description Whether fix the header
     */
    fixedHeader: false,
  
    /**
     * @type {boolean} true | false
     * @description Whether show the logo in sidebar
     */
    sidebarLogo: true
  }
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值