main.js 1.88 KB
/*
 * @Author: hookehuyr hookehuyr@gmail.com
 * @Date: 2022-05-31 12:06:19
 * @LastEditors: hookehuyr hookehuyr@gmail.com
 * @LastEditTime: 2024-01-23 13:14:47
 * @FilePath: /xysBooking/src/main.js
 * @Description: 项目入口(创建应用、注册路由/Pinia、注册 Vant 组件、挂载全局 http)
 */
import { createApp } from 'vue';
import {
  Button,
  Image as VanImage,
  Col,
  Row,
  Icon,
  Form,
  Field,
  CellGroup,
  ConfigProvider,
  Toast,
  Uploader,
  Empty,
  Tab,
  Tabs,
  Overlay,
  NumberKeyboard,
  Lazyload,
  List,
  PullRefresh,
  Popup,
  Picker,
  Sticky,
  Stepper,
  Tag,
  Swipe,
  SwipeItem,
  Dialog,
  ActionSheet,
  Loading,
  Checkbox,
  CheckboxGroup,
  Search,
  Signature,
  Calendar,
} from 'vant';
import router from './router';
import App from './App.vue';
// import axios from './utils/axios';
import axios from '@/utils/axios';
// import 'default-passive-events'; // 解决Chrome控制台non-passive event listener输出问题
import { createPinia } from 'pinia';
import 'vant/lib/index.css';
import vueEsign from 'vue-esign';
import '@vant/touch-emulator';

const pinia = createPinia();
const app = createApp(App);

// 统一挂载 http 实例:页面里可以通过 this.$http 使用(Options API 场景)
app.config.globalProperties.$http = axios;

app
  .use(pinia)
  .use(router)
  .use(Button)
  .use(VanImage)
  .use(Col)
  .use(Row)
  .use(Icon)
  .use(Form)
  .use(Field)
  .use(CellGroup)
  .use(Toast)
  .use(Uploader)
  .use(Empty)
  .use(Tab)
  .use(Tabs)
  .use(Overlay)
  .use(NumberKeyboard)
  .use(Lazyload)
  .use(List)
  .use(PullRefresh)
  .use(Popup)
  .use(Picker)
  .use(Sticky)
  .use(Stepper)
  .use(Tag)
  .use(Swipe)
  .use(SwipeItem)
  .use(Dialog)
  .use(ActionSheet)
  .use(Loading)
  .use(Checkbox)
  .use(CheckboxGroup)
  .use(Search)
  .use(ConfigProvider)
  .use(Signature)
  .use(Calendar);

app.use(vueEsign);

app.mount('#app');