123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899 |
- import { createApp } from 'vue';
- import App from '@/App.vue';
- import axios from 'axios';
- const app = createApp(App);
- // 设置 axios 基础 URL
- axios.defaults.baseURL = import.meta.env.VITE_API_URL;
- // 将 axios 实例添加到 Vue 的全局属性中,使其在所有组件中可通过 this.$axios 访问
- app.config.globalProperties.$axios = axios;
- //vant
- import { Tabbar, TabbarItem } from 'vant';
- app.use(Tabbar);
- app.use(TabbarItem);
- // pinia store
- import { createPinia } from 'pinia';
- const pinia = createPinia();
- app.use(pinia);
- import router from '@/router';
- app.use(router);
- // main app css
- import '@/assets/css/app.css';
- /* sidebar */
- import '@/assets/css/sidebar.css';
- // perfect scrollbar
- import PerfectScrollbar from 'vue3-perfect-scrollbar';
- app.use(PerfectScrollbar);
- //vue-meta
- import { createHead } from '@vueuse/head';
- const head = createHead();
- app.use(head);
- // set default settings
- import appSetting from '@/app-setting';
- appSetting.init();
- //vue-i18n
- import i18n from '@/i18n';
- app.use(i18n);
- // tippy tooltips
- import { TippyPlugin } from 'tippy.vue';
- app.use(TippyPlugin);
- //input mask
- import Maska from 'maska';
- app.use(Maska);
- //markdown editor
- import VueEasymde from 'vue3-easymde';
- import 'easymde/dist/easymde.min.css';
- app.use(VueEasymde);
- // popper
- import Popper from 'vue3-popper';
- app.component('Popper', Popper);
- // json to excel
- import vue3JsonExcel from 'vue3-json-excel';
- app.use(vue3JsonExcel);
- /* 引入element-plus */
- import ElementPlus from 'element-plus'
- import 'element-plus/dist/index.css'
- app.use(ElementPlus)
- /* 全局引入 */
- import './permission'
- import store from './stores';
- app.use(store);
- // 如果您正在使用CDN引入,请删除下面一行。
- import * as ElementPlusIconsVue from '@element-plus/icons-vue'
- for (const [key, component] of Object.entries(ElementPlusIconsVue)) {
- app.component(key, component)
- }
- app.config.globalProperties.checkPermission = (value: any): boolean => {
- if (value && Array.isArray(value) && value.length > 0) {
- const permissions = store.getters.routersAlls;
- const permissionDatas = value;
- const all_permission = '*:*:*';
- const hasPermission = permissions.some((permission: string) => {
- return all_permission === permission || permissionDatas.includes(permission);
- });
- return !!hasPermission;
- } else {
- return false;
- }
- };
- /* 全局注册表格及搜索组件 */
- import globalComponents from '../src/composables/global-components'; // 引入全局组件插件
- app.use(globalComponents); // 使用全局组件插件
- app.mount('#app');
|