为什么都没了
This commit is contained in:
183
framework/Web/src/main.js
Normal file
183
framework/Web/src/main.js
Normal file
@@ -0,0 +1,183 @@
|
||||
import Vue from 'vue'
|
||||
import App from './App.vue'
|
||||
import router from './router'
|
||||
|
||||
Vue.config.productionTip = false
|
||||
|
||||
/**
|
||||
* 引入antd
|
||||
*/
|
||||
import Antd from 'ant-design-vue'
|
||||
Vue.use(Antd)
|
||||
|
||||
/**
|
||||
* 引入swiper
|
||||
*/
|
||||
import 'swiper/swiper-bundle.css'
|
||||
import {
|
||||
Swiper as SwiperClass,
|
||||
Pagination,
|
||||
Mousewheel,
|
||||
Autoplay,
|
||||
Scrollbar
|
||||
} from 'swiper/core'
|
||||
import getAwesomeSwiper from 'vue-awesome-swiper/dist/exporter'
|
||||
SwiperClass.use([Pagination, Mousewheel, Autoplay, Scrollbar])
|
||||
Vue.use(getAwesomeSwiper(SwiperClass))
|
||||
|
||||
import hljs from 'highlight.js'
|
||||
import 'highlight.js/styles/monokai-sublime.css'
|
||||
Vue.use(hljs.vuePlugin);
|
||||
|
||||
/**
|
||||
* api全局化
|
||||
*/
|
||||
import { api } from './common/api'
|
||||
Vue.prototype.$api = api
|
||||
|
||||
/**
|
||||
* Lodash全局化
|
||||
*/
|
||||
import _ from 'lodash'
|
||||
import * as _extend from './util/lodash-extend'
|
||||
Object.assign(_, _extend)
|
||||
Vue.prototype.$_ = _
|
||||
/**
|
||||
* moment全局化
|
||||
*/
|
||||
import moment from 'moment'
|
||||
import 'moment/locale/zh-cn'
|
||||
moment.updateLocale('zh-cn', {
|
||||
meridiem: function (hour, minute, isLowercase) {
|
||||
if (hour < 9) {
|
||||
return '早上'
|
||||
} else if (hour < 11) {
|
||||
return '上午'
|
||||
} else if (hour < 13) {
|
||||
return '中午'
|
||||
} else if (hour < 18) {
|
||||
return '下午'
|
||||
} else {
|
||||
return '晚上'
|
||||
}
|
||||
}
|
||||
})
|
||||
Vue.prototype.$moment = moment
|
||||
/**
|
||||
* 权限验证全局化
|
||||
*/
|
||||
import { auth } from './components/authorized'
|
||||
Vue.prototype.$auth = auth
|
||||
/**
|
||||
* 常用工具函数全局化
|
||||
*/
|
||||
import { getSearchInfo } from './util/query'
|
||||
Vue.prototype.$getSearchInfo = getSearchInfo
|
||||
|
||||
/**
|
||||
* 注册全局组件
|
||||
*/
|
||||
import Container from './components/container'
|
||||
Vue.component('Container', Container)
|
||||
import Authorized from './components/authorized'
|
||||
Vue.component('Auth', Authorized)
|
||||
import YoTable from './components/yoTable'
|
||||
Vue.component('YoTable', YoTable)
|
||||
import YoTableActions from './components/yoTableActions'
|
||||
Vue.component('YoTableActions', YoTableActions)
|
||||
import YoModalForm from './components/yoModalForm'
|
||||
Vue.component('YoModalForm', YoModalForm)
|
||||
import YoImage from './components/yoImage'
|
||||
Vue.component('YoImage', YoImage)
|
||||
import YoFormLink from './components/yoFormLink'
|
||||
Vue.component('YoFormLink', YoFormLink)
|
||||
|
||||
/**
|
||||
* 引入主题样式
|
||||
*/
|
||||
import './assets/style/app.less'
|
||||
|
||||
import { SETTING_KEY } from './common/storage'
|
||||
|
||||
const settings = JSON.parse(window.localStorage.getItem(SETTING_KEY)) || {}
|
||||
Object.assign(settings, {
|
||||
layout: 'top-nav',
|
||||
container: 'container-fluid',
|
||||
navTheme: 'dark'
|
||||
})
|
||||
|
||||
const app = new Vue({
|
||||
data: {
|
||||
/**
|
||||
* 全局属性
|
||||
* 可通过this.$root.global调用
|
||||
*/
|
||||
global: {
|
||||
|
||||
defaultWindow: [{
|
||||
title: '首页',
|
||||
path: '/home',
|
||||
icon: 'home',
|
||||
closable: false,
|
||||
}],
|
||||
|
||||
/**
|
||||
* 用于存储用户信息
|
||||
*/
|
||||
info: undefined,
|
||||
/**
|
||||
* 设置
|
||||
*/
|
||||
settings: settings || {
|
||||
/**
|
||||
* 导航颜色
|
||||
*/
|
||||
navTheme: 'dark',
|
||||
/**
|
||||
* 布局类型
|
||||
* left-menu 左侧菜单经典结构
|
||||
* top-nav 顶部导航菜单
|
||||
*/
|
||||
layout: 'left-menu',
|
||||
/**
|
||||
* 内容区域宽度
|
||||
* container-fluid 整宽
|
||||
* container 1200px宽度并居中
|
||||
*/
|
||||
container: 'container-fluid',
|
||||
/**
|
||||
* 左侧菜单是否收缩
|
||||
*/
|
||||
siderCollapsed: false
|
||||
}
|
||||
},
|
||||
|
||||
transfer: {
|
||||
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.onChangeNavTheme()
|
||||
},
|
||||
watch: {
|
||||
'global.settings': {
|
||||
deep: true,
|
||||
handler() {
|
||||
window.localStorage.setItem(SETTING_KEY, JSON.stringify(this.global.settings))
|
||||
}
|
||||
},
|
||||
'global.settings.navTheme'() {
|
||||
this.onChangeNavTheme()
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
onChangeNavTheme() {
|
||||
document.body.classList.remove('yo-nav-theme--dark', 'yo-nav-theme--light')
|
||||
document.body.classList.add(`yo-nav-theme--${this.global.settings.navTheme}`)
|
||||
}
|
||||
},
|
||||
router,
|
||||
render: h => h(App),
|
||||
}).$mount('#app')
|
||||
|
||||
export default app
|
||||
Reference in New Issue
Block a user