Files
certd/packages/ui/certd-client/src/layout/layout-outside.vue
T

173 lines
4.2 KiB
Vue
Raw Normal View History

2023-01-29 13:44:19 +08:00
<template>
<div id="userLayout" :class="['user-layout-wrapper']">
<div class="login-container flex-center">
2024-10-05 01:46:25 +08:00
<div class="user-layout-content flex-center flex-col">
2023-01-29 13:44:19 +08:00
<div class="top flex flex-col items-center justify-center">
<div class="header flex flex-row items-center">
2024-10-05 02:16:17 +08:00
<img :src="siteInfo.loginLogo" class="logo" alt="logo" />
2023-05-25 15:17:58 +08:00
<span class="title"></span>
2023-01-29 13:44:19 +08:00
</div>
2024-10-05 02:16:17 +08:00
<div class="desc">{{ siteInfo.slogan }}</div>
2023-01-29 13:44:19 +08:00
</div>
<router-view />
<div class="footer">
2024-07-02 00:33:21 +08:00
<div class="copyright">
<span v-if="!settingStore.isComm">
<span>Copyright</span>
<span>&copy;</span>
<span>{{ envRef.COPYRIGHT_YEAR }}</span>
<span>
<a :href="envRef.COPYRIGHT_URL" target="_blank">{{ envRef.COPYRIGHT_NAME }}</a>
</span>
2024-10-05 01:46:25 +08:00
</span>
2024-10-05 01:46:25 +08:00
<span v-if="siteInfo.licenseTo">
<a-divider type="vertical" />
<a :href="siteInfo.licenseToUrl" target="_blank">{{ siteInfo.licenseTo }}</a>
2024-07-15 01:29:35 +08:00
</span>
<span v-if="siteInfo.icpNo">
<a-divider type="vertical" />
<a href="https://beian.miit.gov.cn/" target="_blank">{{ siteInfo.icpNo }}</a>
</span>
2024-07-02 00:33:21 +08:00
</div>
2023-01-29 13:44:19 +08:00
</div>
</div>
</div>
</div>
</template>
2024-10-05 01:46:25 +08:00
<script lang="ts" setup>
import { env } from "/@/utils/util.env";
2024-10-05 01:46:25 +08:00
import { computed, ref, Ref } from "vue";
import { SiteInfo, useSettingStore } from "/@/store/modules/settings";
2024-10-05 01:46:25 +08:00
const envRef = ref(env);
const settingStore = useSettingStore();
const siteInfo: Ref<SiteInfo> = computed(() => {
return settingStore.siteInfo;
});
2023-01-29 13:44:19 +08:00
</script>
2024-10-11 00:22:06 +08:00
<style lang="less">
2023-01-29 13:44:19 +08:00
#userLayout.user-layout-wrapper {
height: 100%;
&.mobile {
.container {
.main {
max-width: 368px;
2024-09-22 02:06:34 +08:00
width: 96%;
2023-01-29 13:44:19 +08:00
}
}
}
.login-container {
width: 100%;
2024-10-11 00:22:06 +08:00
height: 100%;
background: #f0f2f5 url(/static/background.svg) no-repeat 50%;
2023-01-29 13:44:19 +08:00
background-size: 100%;
//padding: 50px 0 84px;
position: relative;
.user-layout-content {
2024-10-11 00:22:06 +08:00
height: 100%;
2023-01-29 13:44:19 +08:00
.top {
2024-10-11 00:22:06 +08:00
margin-top: 100px;
2023-01-29 13:44:19 +08:00
text-align: center;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
2023-01-29 13:44:19 +08:00
.header {
2024-10-05 01:46:25 +08:00
height: 70px;
line-height: 70px;
2023-01-29 13:44:19 +08:00
.badge {
position: absolute;
display: inline-block;
line-height: 1;
vertical-align: middle;
margin-left: -12px;
margin-top: -10px;
opacity: 0.8;
}
.logo {
2024-10-05 01:46:25 +08:00
height: 100%;
2023-01-29 13:44:19 +08:00
vertical-align: top;
border-style: none;
}
.title {
font-size: 33px;
color: rgba(0, 0, 0, 0.85);
font-family: Avenir, "Helvetica Neue", Arial, Helvetica, sans-serif;
font-weight: 600;
position: relative;
top: 2px;
}
}
.desc {
font-size: 14px;
color: rgba(0, 0, 0, 0.45);
margin-top: 12px;
margin-bottom: 40px;
}
}
.main {
2024-10-11 00:22:06 +08:00
width: 400px;
max-width: 90vw;
flex: 1;
2023-01-29 13:44:19 +08:00
}
.footer {
// position: absolute;
width: 100%;
bottom: 0;
2024-09-23 14:04:33 +08:00
margin: 24px 0 24px;
2023-01-29 13:44:19 +08:00
text-align: center;
.links {
margin-bottom: 8px;
font-size: 14px;
a {
color: rgba(0, 0, 0, 0.45);
transition: all 0.3s;
&:not(:last-child) {
margin-right: 40px;
}
}
}
.copyright {
color: rgba(0, 0, 0, 0.45);
font-size: 14px;
2024-07-15 01:29:35 +08:00
display: flex;
2024-09-22 02:06:34 +08:00
flex-wrap: wrap;
2024-07-15 01:29:35 +08:00
justify-content: center;
align-items: center;
span {
margin-left: 5px;
margin-right: 5px;
}
a {
color: rgba(0, 0, 0, 0.45);
transition: all 0.3s;
&:hover {
color: rgba(0, 0, 0, 0.85);
}
}
2023-01-29 13:44:19 +08:00
}
}
}
a {
text-decoration: none;
}
}
}
</style>