magic-boot/magic-boot-ui/src/main.js

92 lines
2.5 KiB
JavaScript
Raw Normal View History

2021-10-24 20:09:53 +08:00
import Vue from 'vue'
import 'normalize.css/normalize.css' // A modern alternative to CSS resets
import ElementUI from 'element-ui'
import 'element-ui/lib/theme-chalk/index.css'
import '@/styles/index.scss' // global css
import '@/styles/common.css'
import App from './App'
import store from './store'
import router from './router'
import '@/icons' // icon
import '@/permission' // permission control
import './scripts/error-log' // error log
import elDragDialog from '@/directive/el-drag-dialog' // base on element-ui
Vue.use(elDragDialog)
import common from '@/scripts/common'
Vue.prototype.$common = common
import request from '@/scripts/request'
Vue.prototype.$request = request
Vue.prototype.$post = (url, data) => request.post(url, data, {
headers: {
'Content-Type': 'application/x-www-form-urlencoded'
},
transformRequest: [data => Object.keys(data).map(it => encodeURIComponent(it) + '=' + encodeURIComponent(data[it] === null || data[it] === undefined ? '' : data[it])).join('&')]
})
Vue.prototype.$postJson = (url, data) => request.post(url, JSON.stringify(data), {
headers: {
'Content-Type': 'application/json'
}
})
Vue.prototype.$get = (url, data) => request({ url, params: data })
import hasPermission from '@/scripts/hasPermission'
Vue.use(hasPermission)
import vuedraggable from 'vuedraggable'
Vue.component('vuedraggable', vuedraggable)
const requireComponent = require.context(
// 其组件目录的相对路径
'@/components/Psyduck/',
// 是否查询其子目录
true,
// 匹配基础组件文件名的正则表达式
/\.vue$/
)
requireComponent.keys().forEach(fileName => {
// 获取组件配置
const componentConfig = requireComponent(fileName)
// 全局注册组件
Vue.component(
// 此处的name,是组件属性定义的name
fileName.substring(fileName.lastIndexOf('/') + 1).replace('.vue', ''),
// componentConfig.default.name,
// 如果这个组件选项是通过 `export default` 导出的,
// 那么就会优先使用 `.default`
// 否则回退到使用模块的根。
componentConfig.default
)
})
Vue.prototype.$bus = new Vue()
// set ElementUI lang to EN
// Vue.use(ElementUI, { locale })
// 如果想要中文版 element-ui按如下方式声明
Vue.use(ElementUI, {
size: 'small'
})
Vue.config.productionTip = false
new Vue({
el: '#app',
router,
store,
render: h => h(App)
})
document.body.addEventListener('keydown', e => {
if (e.altKey && e.ctrlKey && e.shiftKey && e.key === 'A') {
router.push('/magic/magic-api')
}
})