Files
laws_chery_client/src/main.js
T

112 lines
3.1 KiB
JavaScript

/** init domain config */
// import './config'
import Vue from 'vue'
import App from './App.vue'
import MobileApp from './MobileApp'
import Storage from 'vue-ls'
import router from './router'
import store from './store/'
import {
VueAxios
} from '@/utils/request'
import Antd, { version } from 'ant-design-vue'
// import Viser from 'viser-vue'
import 'ant-design-vue/dist/antd.less' // or 'ant-design-vue/dist/antd.less'
import '@/permission' // permission control
// import '@/utils/filter' // base filtermybatis-plus
// TODO 为什么要用2个图片预览的工具?
// import preview from 'vue-photo-preview'
// import 'vue-photo-preview/dist/skin.css'
// import 'vue-photo-preview/dist/skin.css'
import Viewer from 'v-viewer'
import 'viewerjs/dist/viewer.css'
import SSO from '@/cas/sso.js'
import {
ACCESS_TOKEN,
DEFAULT_COLOR,
DEFAULT_THEME,
DEFAULT_LAYOUT_MODE,
DEFAULT_COLOR_WEAK,
SIDEBAR_TYPE,
DEFAULT_FIXED_HEADER,
DEFAULT_FIXED_HEADER_HIDDEN,
DEFAULT_FIXED_SIDEMENU,
DEFAULT_CONTENT_WIDTH_TYPE,
DEFAULT_MULTI_PAGE
} from '@/store/mutation-types'
import config from '@/defaultSettings'
import hasPermission from '@/utils/hasPermission'
import JeroComponents from '@/components/jero/index'
import JDictComponenets from '@comp/dict/index.js'
import JTable from '@comp/jero/JTable.vue'
import i18n from '@/common/lang'
import { isMobile } from '@/utils/util'
// Vue.prototype.rules = rules
Vue.config.productionTip = false
Vue.use(Storage, config.storageOptions)
Vue.use(Antd)
Vue.use(VueAxios, router)
Vue.use(hasPermission)
Vue.use(Viewer)
Vue.use(JeroComponents)
Vue.use(JDictComponenets)
Vue.component('JTable', JTable)
Viewer.setDefaults({
// 需要配置的属性 注意属性并没有引号
title: false,
toolbar: false
})
SSO.init(() => {
main()
})
Vue.prototype.global = {
emptyLine: '—'
}
// 当前是中文
Vue.prototype.isChinese = function () {
return this.$i18n.locale === 'zh-cn'
}
// 当前是英文
Vue.prototype.isEnglish = function () {
return this.$i18n.locale === 'en-us'
}
function main () {
new Vue({
router,
store,
i18n,
mounted () {
store.commit('SET_SIDEBAR_TYPE', Vue.ls.get(SIDEBAR_TYPE, true))
store.commit('TOGGLE_THEME', Vue.ls.get(DEFAULT_THEME, config.navTheme))
store.commit('TOGGLE_LAYOUT_MODE', Vue.ls.get(DEFAULT_LAYOUT_MODE, config.layout))
store.commit('TOGGLE_FIXED_HEADER', Vue.ls.get(DEFAULT_FIXED_HEADER, config.fixedHeader))
store.commit('TOGGLE_FIXED_SIDERBAR', Vue.ls.get(DEFAULT_FIXED_SIDEMENU, config.fixSiderbar))
store.commit('TOGGLE_CONTENT_WIDTH', Vue.ls.get(DEFAULT_CONTENT_WIDTH_TYPE, config.contentWidth))
store.commit('TOGGLE_FIXED_HEADER_HIDDEN', Vue.ls.get(DEFAULT_FIXED_HEADER_HIDDEN, config.autoHideHeader))
store.commit('TOGGLE_WEAK', Vue.ls.get(DEFAULT_COLOR_WEAK, config.colorWeak))
store.commit('TOGGLE_COLOR', Vue.ls.get(DEFAULT_COLOR, config.primaryColor))
store.commit('SET_TOKEN', Vue.ls.get(ACCESS_TOKEN))
store.commit('SET_MULTI_PAGE', Vue.ls.get(DEFAULT_MULTI_PAGE, config.multipage))
},
render: h => h(isMobile() ? MobileApp : App),
data: {
Bus: new Vue()
}
}).$mount('#app')
}