• vue 根据网站路由判断页面主题色


    需求:

    不同品牌对应不同版本配色

    做法:

    根据域名带的参数判断进入哪个品牌,对应哪个版本

    在main.js中

    import Vue from 'vue'
    import App from './App'
    import router from './router'
    import axios from 'axios'
    import MintUI from 'mint-ui'
    import { Indicator } from 'mint-ui'
    import { getUrls } from '@/util/utils'
    import 'mint-ui/lib/style.css'
    import './css/index.css'
    Vue.use(MintUI)
    //添加请求拦截器 loading
    axios.interceptors.request.use(function (config) {
      Indicator.open({
        text: '加载中...',
        spinnerType: 'fading-circle'
      })
      return config
    }),function (error) {
      Indicator.close()
      return Promise.reject(error)
    }
    axios.interceptors.response.use(function (config) {
      Indicator.close()
      return config
    }),function (error) {
      return Promise.reject(error)
    }
    
    Vue.prototype.$http = axios
    Vue.prototype.getUrls = getUrls
    router.beforeEach((to,from,next) => {
      if (sessionStorage.getItem('basecolor')) {
        document.documentElement.style.setProperty("--color", sessionStorage.getItem('basecolor'))
        next()
      }
    })
    Vue.config.productionTip = false
    
    /* eslint-disable no-new */
    new Vue({
      el: '#app',
      router,
      components: { App },
      template: '<App/>'
    })
    

      在util.js中

    export function getUrls() {
      let colorValue
      let url = window.location.href
      let urlArr = url.split('?')
      let appU = urlArr[0].split('/')
      let styles = getComputedStyle(document.documentElement)
      if (appU[appU.length-1] === 'login') {
        colorValue = styles.getPropertyValue('--OLAY')
        sessionStorage.setItem('basecolor', colorValue)
        this.$router.push('/login')
      } else if (appU[appU.length-1] === 'resetPassword') {
        colorValue = styles.getPropertyValue('--pampers')
        sessionStorage.setItem('basecolor', colorValue)
        this.$router.push('/login')
      }
    }
    

      在App.vue

    <template>
      <div id="app">
        <router-view/>
      </div>
    </template>
    
    <script>
      export default {
      name: 'App',
        created() {
          this.getUrls()
        }
    }
    </script>
    
    <style>
      :root {
        --OLAY: rgb(237,202,138);
        --pampers: rgb(5,183,185);
        --color: #fff;
      }
      #app{
        height: 100%;
      }
    </style>
    

      

  • 相关阅读:
    python函数
    python数据类型补充,copy知识点及文件的操作
    python数据类型
    python介绍
    Linux基础2-2 基础文件管理命令
    Linux基础2-1 根文件系统分析
    Linux基础1-3 命令使用帮助的获取
    Linux基础1-2 ls、cd、date、clock、cal、echo、printf命令使用简介
    Linux基础1-1
    fastDFS环境搭建
  • 原文地址:https://www.cnblogs.com/zhoubingyan/p/8676686.html
Copyright © 2020-2023  润新知