新增前端vue
This commit is contained in:
47
web-vue/web/src/App.vue
Normal file
47
web-vue/web/src/App.vue
Normal file
@@ -0,0 +1,47 @@
|
||||
<template>
|
||||
<StyleProvider hash-priority="high" :transformers="[legacyLogicalPropertiesTransformer]">
|
||||
<ConfigProvider :locale="getAntdLocale" :theme="getTheme">
|
||||
<AppProvider prefixCls="jeesite">
|
||||
<RouterView />
|
||||
</AppProvider>
|
||||
</ConfigProvider>
|
||||
</StyleProvider>
|
||||
</template>
|
||||
<script lang="ts" setup>
|
||||
import { computed, unref } from 'vue';
|
||||
import { StyleProvider, legacyLogicalPropertiesTransformer, ConfigProvider, theme } from 'ant-design-vue';
|
||||
import { AppProvider } from '@jeesite/core/components/Application';
|
||||
import { useRootSetting } from '@jeesite/core/hooks/setting/useRootSetting';
|
||||
import { ThemeEnum } from '@jeesite/core/enums/appEnum';
|
||||
import { useLocale } from '@jeesite/core/locales/useLocale';
|
||||
import { useTitle } from '@jeesite/core/hooks/web/useTitle';
|
||||
import { darkPrimaryColor } from '@jeesite/vite/theme/themeConfig';
|
||||
import 'dayjs/locale/zh-cn';
|
||||
|
||||
// support Multi-language
|
||||
const { getAntdLocale } = useLocale();
|
||||
const { getDarkMode, getThemeColor } = useRootSetting();
|
||||
|
||||
const getTheme = computed(() => {
|
||||
const isDark = unref(getDarkMode) === ThemeEnum.DARK;
|
||||
return {
|
||||
algorithm: isDark ? theme.darkAlgorithm : theme.defaultAlgorithm,
|
||||
token: {
|
||||
colorPrimary: isDark ? darkPrimaryColor : unref(getThemeColor),
|
||||
colorLink: isDark ? darkPrimaryColor : unref(getThemeColor),
|
||||
colorInfo: isDark ? darkPrimaryColor : unref(getThemeColor),
|
||||
},
|
||||
};
|
||||
});
|
||||
|
||||
// Listening to page changes and dynamically changing site titles
|
||||
useTitle();
|
||||
</script>
|
||||
<style lang="less">
|
||||
body {
|
||||
line-height: 1.5715;
|
||||
font-family:
|
||||
-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif,
|
||||
'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
|
||||
}
|
||||
</style>
|
||||
70
web-vue/web/src/main.ts
Normal file
70
web-vue/web/src/main.ts
Normal file
@@ -0,0 +1,70 @@
|
||||
/**
|
||||
* Copyright (c) 2013-Now http://jeesite.com All rights reserved.
|
||||
* No deletion without permission, or be held responsible to law.
|
||||
* @author ThinkGem
|
||||
*/
|
||||
import 'virtual:uno.css';
|
||||
import 'ant-design-vue/dist/reset.css';
|
||||
import '@jeesite/core/design/index.less';
|
||||
|
||||
import App from './App.vue';
|
||||
import { createApp } from 'vue';
|
||||
import { isDevMode } from '@jeesite/core/utils/env';
|
||||
import { registerGlobComp } from '@jeesite/core/components/registerGlobComp';
|
||||
import { initAppConfigStore } from '@jeesite/core/logics/initAppConfig';
|
||||
import { setupErrorHandle } from '@jeesite/core/logics/error-handle';
|
||||
import { setupGlobDirectives } from '@jeesite/core/directives';
|
||||
import { setupI18n } from '@jeesite/core/locales/setupI18n';
|
||||
import { setupRouter, router } from '@jeesite/core/router';
|
||||
import { setupRouterGuard } from '@jeesite/core/router/guard';
|
||||
import { setupStore } from '@jeesite/core/store';
|
||||
import { setupDForm } from '@jeesite/dfm';
|
||||
|
||||
async function bootstrap() {
|
||||
const app = createApp(App);
|
||||
|
||||
// Configure store
|
||||
setupStore(app);
|
||||
|
||||
// Initialize internal system configuration
|
||||
initAppConfigStore();
|
||||
|
||||
// Register global components
|
||||
registerGlobComp(app);
|
||||
|
||||
// Multilingual configuration
|
||||
// Asynchronous case: language files may be obtained from the server side
|
||||
await setupI18n(app);
|
||||
|
||||
// Configure routing
|
||||
setupRouter(app);
|
||||
|
||||
// router-guard
|
||||
setupRouterGuard(router);
|
||||
|
||||
// Register global directive
|
||||
setupGlobDirectives(app);
|
||||
|
||||
// Configure global error handling
|
||||
setupErrorHandle(app);
|
||||
|
||||
// https://next.router.vuejs.org/api/#isready
|
||||
// await router.isReady();
|
||||
|
||||
// Dynamic Form
|
||||
setupDForm();
|
||||
|
||||
app.mount('#app');
|
||||
}
|
||||
|
||||
// 仅开发模式显示
|
||||
if (!isDevMode()) {
|
||||
console.log(
|
||||
'%c JeeSite %c快速开发平台 \n%c 用心去做我们的快速开发平台,用心去帮助我们的客户!让您用着省心的平台。\n 您的一个关注,就是对我们最大的支持: https://gitee.com/thinkgem/jeesite-vue (请点 star 收藏我们)\n 免费 QQ 技术交流群: 127515876、209330483、223507718、709534275、730390092、1373527、183903863(外包) \n 免费 微信 技术交流群: http://s.jeesite.com 如果加不上,可添加 微信 jeesitex 邀请您进群。%c\n ',
|
||||
'font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:39px;color:#0f87e8;-webkit-text-fill-color:#0f87e8;-webkit-text-stroke:1px #0f87e8;',
|
||||
'font-size:24px;color:#aaa;',
|
||||
'font-size:14px;color:#888;',
|
||||
'font-size:12px;',
|
||||
);
|
||||
}
|
||||
bootstrap().then();
|
||||
Reference in New Issue
Block a user