初始化项目

This commit is contained in:
2026-03-24 22:06:31 +08:00
parent 80e3cb1b58
commit 52618d491b
18 changed files with 1643 additions and 397 deletions

View File

@@ -1,114 +1,101 @@
<template>
<PageWrapper title="关于">
<PageWrapper>
<template #headerContent>
<div class="flex items-center justify-between">
<span class="flex-1">
<a href="https://jeesite.com" target="_blank">JeeSite</a>
快速开发平台不仅仅是一个后台开发框架它是一个企业级快速开发解决方案有平台来封装技术细节
让开发者更专注业务降低软件的开发难度平台基于经典组合 Spring BootApache MyBatis
前端采用Vue3ViteMonorepoAnt-Design-VueTypeScript
<a href="https://github.com/anncwb/vue-vben-admin" target="_blank">Vue Vben Admin</a>
最先进的技术栈让初学者能够更快的入门并投入到团队开发中去
提供在线代码生成功能包括模块如组织机构角色用户菜单及按钮授权数据权限系统参数内容管理工作流等
众多账号安全设置密码策略文件在线预览消息推送多元化第三方登录在线定时任务配置支持集群支持SAAS
支持多数据源支持读写分离分库分表支持 Spring Cloud 分布式微服务应用架构
强大的组件封装数据驱动视图为微小中大型项目的开发提供现成的开箱解决方案及丰富的示例
</span>
</div>
</template>
<Description @register="infoRegister" class="enter-y" />
<Description @register="register" class="enter-y my-4" />
<Description @register="registerDev" class="enter-y" />
<div class="jeesite-workbench">
<div class="workbench-layout">
<div class="workbench-top">10% 区域</div>
<div class="workbench-row">
<div class="workbench-col">30% 区域左侧</div>
<div class="workbench-col">30% 区域右侧</div>
</div>
<div class="workbench-row">
<div class="workbench-col">30% 区域左侧</div>
<div class="workbench-col">30% 区域右侧</div>
</div>
<div class="workbench-row">
<div class="workbench-col">30% 区域左侧</div>
<div class="workbench-col">30% 区域右侧</div>
</div>
</div>
</div>
</PageWrapper>
</template>
<script lang="ts" setup name="AboutPage">
import { h } from 'vue';
import { Tag } from 'ant-design-vue';
<script lang="ts" setup name="Workbench">
import { ref } from 'vue';
import { PageWrapper } from '@jeesite/core/components/Page';
import { Description, DescItem, useDescription } from '@jeesite/core/components/Description';
const { pkg, lastBuildTime } = __APP_INFO__;
const { dependencies, devDependencies, version } = pkg;
const schema: DescItem[] = [];
const devSchema: DescItem[] = [];
const commonTagRender = (color: string) => (curVal) => h(Tag, { color }, () => curVal);
const commonLinkRender = (text: string) => (href) => h('a', { href, target: '_blank' }, text);
const infoSchema: DescItem[] = [
{
label: '版本',
field: 'version',
render: commonTagRender('blue'),
},
{
label: '最后编译时间',
field: 'lastBuildTime',
render: commonTagRender('blue'),
},
{
label: '文档地址',
field: 'docs',
render: commonLinkRender('http://docs.jeesite.com'),
},
{
label: '官方网站',
field: 'website',
render: commonLinkRender('https://jeesite.com'),
},
{
label: '下载地址',
field: 'download',
render: commonLinkRender('https://gitee.com/thinkgem'),
},
{
label: '联系我',
field: 'linkers',
render: commonLinkRender('http://s.jeesite.com'),
},
];
const infoData = {
version,
lastBuildTime,
docs: 'http://docs.jeesite.com',
website: 'https://jeesite.com',
download: 'https://gitee.com/thinkgem',
linkers: 'http://s.jeesite.com',
};
const [infoRegister] = useDescription({
title: '项目信息',
data: infoData,
schema: infoSchema,
column: 2,
});
let register: any;
if (dependencies) {
Object.keys(dependencies).forEach((key) => {
schema.push({ field: key, label: key });
});
register = useDescription({
title: '生产环境依赖',
data: dependencies,
schema: schema,
column: 3,
})[0];
}
let registerDev: any;
if (devDependencies) {
Object.keys(devDependencies).forEach((key) => {
devSchema.push({ field: key, label: key });
});
registerDev = useDescription({
title: '开发环境依赖',
data: devDependencies,
schema: devSchema,
column: 3,
})[0];
}
const loading = ref(true);
setTimeout(() => {
loading.value = false;
}, 800);
</script>
<style lang="less">
@dark-bg: #141414;
.jeesite-workbench {
width: 100%;
height: 100%;
min-height: 0;
margin: 0;
background: #FFFFFF;
border-radius: 10px;
}
.jeesite-workbench .workbench-layout {
display: flex;
flex-direction: column;
gap: 12px;
width: 100%;
height: 100%;
min-height: 0;
padding: 4px;
box-sizing: border-box;
overflow: hidden;
background: transparent;
border-radius: 10px;
}
.jeesite-workbench .workbench-top {
flex: 0 0 10%;
min-height: 0;
}
.jeesite-workbench .workbench-row {
display: flex;
flex: 0 0 30%;
gap: 12px;
min-height: 0;
}
.jeesite-workbench .workbench-col,
.jeesite-workbench .workbench-top {
display: flex;
align-items: center;
justify-content: center;
border-radius: 10px;
border: 1px solid rgb(226 232 240);
background: #FFFFFF;
color: rgb(71 85 105);
}
.jeesite-workbench .workbench-col {
flex: 1;
min-width: 0;
}
html[data-theme='dark'] .jeesite-workbench,
html[data-theme='dark'] .jeesite-workbench .workbench-layout,
html[data-theme='dark'] .jeesite-workbench .workbench-row {
background: @dark-bg !important;
}
html[data-theme='dark'] .jeesite-workbench .workbench-top,
html[data-theme='dark'] .jeesite-workbench .workbench-col {
border-color: rgb(51 65 85);
background: @dark-bg !important;
color: rgb(226 232 240);
}
</style>

View File

@@ -1,5 +1,5 @@
<template>
<div class="jeesite-analysis">
<div class="mySpring-analysis">
<div class="analysis-layout">
<div class="analysis-left">
<section class="analysis-panel">左上</section>
@@ -17,20 +17,19 @@
<style lang="less">
@dark-bg: #141414;
.jeesite-analysis .ant-card {
.mySpring-analysis .ant-card {
border-radius: 10px !important;
}
.jeesite-analysis {
.mySpring-analysis {
width: 100%;
height: 100%;
min-height: 0;
margin: 0;
background: #fff;
border-radius: 10px;
border-radius: 12px;
}
.jeesite-analysis .analysis-layout {
.mySpring-analysis .analysis-layout {
display: flex;
width: 100%;
height: 100%;
@@ -43,8 +42,8 @@
border-radius: 10px;
}
.jeesite-analysis .analysis-left,
.jeesite-analysis .analysis-right {
.mySpring-analysis .analysis-left,
.mySpring-analysis .analysis-right {
display: grid;
min-width: 0;
height: 100%;
@@ -53,17 +52,17 @@
box-sizing: border-box;
}
.jeesite-analysis .analysis-left {
.mySpring-analysis .analysis-left {
flex: 2 1 0;
grid-template-rows: repeat(3, minmax(0, 1fr));
}
.jeesite-analysis .analysis-right {
.mySpring-analysis .analysis-right {
flex: 3 1 0;
grid-template-rows: repeat(2, minmax(0, 1fr));
}
.jeesite-analysis .analysis-panel {
.mySpring-analysis .analysis-panel {
min-height: 0;
border-radius: 10px;
border: 1px solid rgb(226 232 240);
@@ -76,26 +75,26 @@
font-size: 16px;
}
html[data-theme='dark'] .jeesite-analysis .analysis-panel {
html[data-theme='dark'] .mySpring-analysis .analysis-panel {
border-color: rgb(51 65 85);
background: @dark-bg !important;
color: rgb(203 213 225);
box-shadow: none;
}
html[data-theme='dark'] .jeesite-analysis,
html[data-theme='dark'] .jeesite-analysis .analysis-layout,
html[data-theme='dark'] .jeesite-analysis .analysis-left,
html[data-theme='dark'] .jeesite-analysis .analysis-right {
html[data-theme='dark'] .mySpring-analysis,
html[data-theme='dark'] .mySpring-analysis .analysis-layout,
html[data-theme='dark'] .mySpring-analysis .analysis-left,
html[data-theme='dark'] .mySpring-analysis .analysis-right {
background: @dark-bg !important;
}
html[data-theme='dark'] .jeesite-analysis {
html[data-theme='dark'] .mySpring-analysis {
border-radius: 10px;
}
html[data-theme='dark'] .jeesite-analysis,
html[data-theme='dark'] .jeesite-analysis * {
html[data-theme='dark'] .mySpring-analysis,
html[data-theme='dark'] .mySpring-analysis * {
box-sizing: border-box;
}
</style>