vue+antd 后台管理框架
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

69 lines
1.4 KiB

<template>
<a-config-provider :locale="locale">
<router-view/>
</a-config-provider>
</template>
<script>
import enquireScreen from './utils/device'
import {mapState} from 'vuex'
export default {
name: 'App',
data() {
return {
locale: {}
}
},
created () {
let _this = this
this.setLanguage(this.lang)
enquireScreen(isMobile => {
_this.$store.commit('setting/setDevice', isMobile)
})
},
mounted() {
this.setWeekModeTheme(this.weekMode)
},
watch: {
weekMode(val) {
this.setWeekModeTheme(val)
},
lang(val) {
this.setLanguage(val)
}
},
computed: {
...mapState('setting', ['weekMode', 'lang'])
},
methods: {
setWeekModeTheme(weekMode) {
if (weekMode) {
document.body.classList.add('week-mode')
} else {
document.body.classList.remove('week-mode')
}
},
setLanguage(lang) {
this.$i18n.locale = lang
switch (lang) {
case 'CN':
this.locale = require('ant-design-vue/es/locale-provider/zh_CN').default
break
case 'HK':
this.locale = require('ant-design-vue/es/locale-provider/zh_TW').default
break
case 'US':
default:
this.locale = require('ant-design-vue/es/locale-provider/en_US').default
break
}
}
}
}
</script>
<style lang="less" scoped>
#id{
}
</style>