Files
ylst-h5/src/main.ts
2025-03-18 19:51:41 +08:00

52 lines
1.3 KiB
TypeScript

import 'amfe-flexible';
import 'core-js/stable';
import 'regenerator-runtime/runtime';
import { createApp } from 'vue';
import { createPinia } from 'pinia';
import App from './App.vue';
import router from './router';
import utils from '@/assets/js/common';
// 2. 引入组件样式
import 'vant/lib/index.css';
import '@/style/utils.scss';
import appBridge from '@/assets/js/appBridge';
import VConsole from 'vconsole';
import './assets/css/main.scss';
const app = createApp(App);
if (import.meta.env.VITE_APP_ENV !== 'production') {
const vconsole = new VConsole();
app.use(vconsole);
}
declare global {
interface Window {
onAndroidBack: (() => void) | null;
appBridge?: any;
}
}
// 定义路由是否可以返回的判断
const routerCanGoBack = () => {
const position = router.options.history.state?.position;
return typeof position === 'number' && position > 0;
};
router.beforeEach((to, from, next) => {
if (to.query.digitalYiliToken) {
utils.setSessionStorage('xToken', to.query.digitalYiliToken);
}
// appBridge.setTitle(to.meta.title as string);
// 添加 Android 返回按钮监听方法
window.onAndroidBack = () => {
if (routerCanGoBack()) {
router.go(-1);
} else {
appBridge.navigateBack();
}
};
next();
});
app.use(createPinia());
app.use(router);
app.mount('#app');