提交 4f31c271 authored 作者: 王鹏飞's avatar 王鹏飞

chore: 新增FI

上级 dae6f9ab
......@@ -16,3 +16,4 @@ VITE_PRP_URL=http://prp-learning.ezijing.com
VITE_CERTS_URL=http://certs.ezijing.com
VITE_CERTS_URL=http://certs.ezijing.com
VITE_FDC_URL=http://fdc.ezijing.com
VITE_Fi_URL=http://fi-learning.ezijing.com
......@@ -23,7 +23,7 @@
{{ $t('login.submitText') }}
</el-button>
<router-link :to="{ path: 'index', query: $route.query }" class="login-method-text">
{{ $t('login.codeLogin') }}
{{ $t('login.pwdLogin') }}
</router-link>
</el-form>
</div>
......
......@@ -7,7 +7,7 @@ export default {
rememberMe: '记住我',
submitText: '登录',
pwdLogin: '密码登录',
codeLogin: '其他登录方式',
codeLogin: '验证码登录',
forgetPassword: '忘记了密码?',
register: '创建账号'
},
......
<template>
<div class="fi-mobile" v-if="isMobile">
<div class="fi-main">
<img src="../assets/fi_mobile_title.png" />
<p>在线学习系统</p>
</div>
<div class="fi-login">
<router-view></router-view>
</div>
<div class="fi-header"><img src="../assets/fi_mobile_logo.png" /></div>
</div>
<div class="fi-pc" v-else>
<div class="fi-header"><img src="../assets/fi_logo.png" /></div>
<div class="fi-main">
<div class="fi-left">
<div>
<img src="../assets/fi_icon.png" />
</div>
<div>
<img src="../assets/fi_title.png" />
<p>在线学习及考试系统</p>
</div>
</div>
<div class="fi-login">
<router-view></router-view>
</div>
</div>
</div>
</template>
<script>
export default {
name: 'fiLayout',
head() {
return {}
},
data() {
return {
imgUrl: 'pc'
}
},
computed: {
isMobile() {
return /Android|webOS|iPhone|iPod|BlackBerry/i.test(navigator.userAgent)
}
}
}
</script>
<style lang="scss" scoped>
.fi-mobile {
display: flex;
flex-direction: column;
justify-content: space-around;
align-items: center;
min-height: 100vh;
background: linear-gradient(180deg, #ffffff 0%, #e9eff7 100%);
padding: 0 40px;
img {
max-width: 100%;
}
.fi-main {
text-align: center;
p {
margin-top: 45px;
font-family: Source Han Sans CN, Source Han Sans CN;
font-weight: 400;
font-size: 20px;
color: #6d7278;
letter-spacing: 20px;
text-align: center;
}
}
.fi-login {
min-width: 100%;
}
}
.fi-pc {
display: flex;
flex-direction: column;
min-height: 100vh;
background: url('../assets/fi_bg.png') no-repeat center center;
background-size: cover;
.fi-header {
padding: 60px 60px 0;
}
.fi-main {
flex: 1;
display: flex;
align-items: center;
justify-content: center;
margin: 0 auto;
}
.fi-left {
display: flex;
align-items: center;
p {
margin-top: 45px;
font-family: Source Han Sans CN, Source Han Sans CN;
font-weight: 400;
font-size: 30px;
color: #6d7278;
letter-spacing: 34px;
text-align: center;
}
}
.fi-login {
margin-left: 40px;
box-sizing: border-box;
min-width: 520px;
box-shadow: 0px 2px 8px 1px rgba(0, 0, 0, 0.16);
border-radius: 18px 18px 18px 18px;
padding: 50px;
}
}
:deep(.el-button--primary) {
background: #0e386b;
border: none;
}
</style>
const loginAccount = () => import('@/components/loginAccount.vue')
const loginCode = () => import('@/components/loginCode.vue')
const password = () => import('@/components/password.vue')
const register = () => import('@/components/register.vue')
export const routes = [
{
path: '/fi',
component: () => import('./components/layout.vue'),
redirect: '/fi/login/index',
children: [
{
path: 'login',
component: () => import('./login.vue'),
redirect: '/fi/login/index',
children: [
{ path: '', redirect: '/fi/login/index' },
{ path: 'index', component: loginAccount },
{ path: 'code', component: loginCode }
]
},
{
path: 'password',
component: () => import('./password.vue'),
children: [{ path: '', component: password }]
},
{
path: 'register',
component: () => import('./register.vue'),
children: [{ path: '', component: register }]
}
]
}
]
<template>
<div>
<router-view @success="handleSuccess"></router-view>
<!-- <div class="new-user" @click="$router.push('../register')">我是新用户?</div> -->
</div>
</template>
<script>
export default {
methods: {
handleSuccess() {
window.location.href = import.meta.env.VITE_Fi_URL
}
}
}
</script>
<style lang="scss" scoped>
.new-user {
font-size: 16px;
font-weight: bold;
color: rgba(255, 158, 100, 1);
text-align: center;
padding-top: 30px;
text-decoration: underline;
}
</style>
<template>
<div class="password">
<el-page-header
@back="$router.push('login')"
:title="$t('password.backText')"
:content="$t('password.title')"
></el-page-header>
<div class="password-form">
<router-view></router-view>
</div>
</div>
</template>
<style lang="scss" scoped>
.password-form {
margin-top: 20px;
}
</style>
<template>
<div class="register">
<h1 class="title">注册</h1>
<router-view></router-view>
<p class="back" @click="$router.push({ path: 'login', query: $route.query })">{{ $t('password.backText') }}</p>
</div>
</template>
<style lang="scss" scoped>
.back {
margin-top: 10px;
color: #bb4767;
line-height: 52px;
cursor: pointer;
}
</style>
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论