|
@@ -1,15 +1,18 @@
|
|
|
<template>
|
|
|
- <el-container v-if="isLoggedIn == false" class="login-container">
|
|
|
- <div style=" height: 100px;">
|
|
|
- <h1>知识图谱自动化构建平台</h1><br>
|
|
|
+ <el-container v-if="isLoggedIn == false" class="login-box">
|
|
|
+ <div style="width: 50%;"></div>
|
|
|
+ <div class="login-container">
|
|
|
+ <div class="login-header">
|
|
|
+ <!-- <h1>知识图谱自动化构建平台</h1><br> -->
|
|
|
+ <h1>欢迎{{isSignedIn? '注册' : '登录'}}知识图谱自动化构建平台</h1>
|
|
|
</div>
|
|
|
|
|
|
<div v-if="isSignedIn == false">
|
|
|
<el-form v-model="loginForm">
|
|
|
- <el-form-item label="用户名" :label-width="loginForm.formLabelWidth">
|
|
|
+ <el-form-item label="用户名" :label-width="loginForm.formLabelWidth" size="large">
|
|
|
<el-input v-model="loginForm.username" name="username" placeholder="请输入用户名"></el-input>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="密码" :label-width="loginForm.formLabelWidth">
|
|
|
+ <el-form-item label="密码" :label-width="loginForm.formLabelWidth" size="large">
|
|
|
<el-input v-model="loginForm.password" name="password" type="password" placeholder="请输入密码"></el-input>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="" :label-width="loginForm.formLabelWidth">
|
|
@@ -19,24 +22,24 @@
|
|
|
</el-form>
|
|
|
</div>
|
|
|
<div v-if="isSignedIn == true">
|
|
|
- <div>
|
|
|
+ <!-- <div>
|
|
|
<h1>注册</h1>
|
|
|
- </div>
|
|
|
+ </div> -->
|
|
|
|
|
|
<el-form :model="loginForm" :rules="signinRules" ref="signinForm">
|
|
|
- <el-form-item label="用户名" :label-width="loginForm.formLabelWidth" prop="username">
|
|
|
+ <el-form-item label="用户名" :label-width="loginForm.formLabelWidth" prop="username" size="large">
|
|
|
<el-input v-model="loginForm.username" name="username" placeholder="请输入用户名"></el-input>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="显示姓名" :label-width="loginForm.formLabelWidth" prop="full_name">
|
|
|
+ <el-form-item label="显示姓名" :label-width="loginForm.formLabelWidth" prop="full_name" size="large">
|
|
|
<el-input v-model="loginForm.full_name" name="full_name" placeholder="请输入姓名"></el-input>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="密码" :label-width="loginForm.formLabelWidth" prop="password">
|
|
|
+ <el-form-item label="密码" :label-width="loginForm.formLabelWidth" prop="password" size="large">
|
|
|
<el-input v-model="loginForm.password" name="password" type="password" placeholder="请输入密码"></el-input>
|
|
|
</el-form-item>
|
|
|
- <el-form-item lable="密码确认" :label-width="loginForm.formLabelWidth" prop="password2">
|
|
|
+ <el-form-item lable="密码确认" :label-width="loginForm.formLabelWidth" prop="password2" size="large">
|
|
|
<el-input v-model="loginForm.password2" name="password2" type="password" placeholder="请再次输入密码"></el-input>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="邮箱" :label-width="loginForm.formLabelWidth" prop="email">
|
|
|
+ <el-form-item label="邮箱" :label-width="loginForm.formLabelWidth" prop="email" size="large">
|
|
|
<el-input v-model="loginForm.email" name="email" placeholder="请输入邮箱"></el-input>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="" :label-width="loginForm.formLabelWidth">
|
|
@@ -45,6 +48,8 @@
|
|
|
</el-form-item>
|
|
|
</el-form>
|
|
|
</div>
|
|
|
+ </div>
|
|
|
+
|
|
|
</el-container>
|
|
|
<el-container class="main-container" v-if="isLoggedIn">
|
|
|
<el-header class="site_header">
|
|
@@ -85,7 +90,7 @@
|
|
|
</el-container>
|
|
|
</template>
|
|
|
<script setup lang="ts">
|
|
|
-import { onMounted, ref } from 'vue'
|
|
|
+import { onMounted, ref,watch, watchEffect } from 'vue'
|
|
|
import { useRouter, useRoute } from 'vue-router'
|
|
|
import { RouterView } from 'vue-router'
|
|
|
import SideMenu from '@/components/SideMenu.vue'
|
|
@@ -102,7 +107,7 @@ const loginForm = ref({
|
|
|
full_name: '',
|
|
|
password2: '',
|
|
|
email: '',
|
|
|
- formLabelWidth: 150
|
|
|
+ formLabelWidth: 100
|
|
|
})
|
|
|
const signinForm = ref()
|
|
|
|
|
@@ -173,6 +178,8 @@ const onSelectMenu = (menuData: any) => {
|
|
|
}
|
|
|
}
|
|
|
const handleSignIn = () => {
|
|
|
+ loginForm.value.username = ''
|
|
|
+ loginForm.value.password = ''
|
|
|
isSignedIn.value = !isSignedIn.value
|
|
|
}
|
|
|
|
|
@@ -229,6 +236,7 @@ const handleLoginSubmit = () => {
|
|
|
}
|
|
|
|
|
|
isLoggedIn.value = true;
|
|
|
+ goToKMPlatform()
|
|
|
})
|
|
|
}
|
|
|
|
|
@@ -257,6 +265,12 @@ onMounted(() => {
|
|
|
router.push({ path: '/' })
|
|
|
})
|
|
|
})
|
|
|
+watchEffect(() => {
|
|
|
+ // 监听路由变化
|
|
|
+ console.log('route changed', route)
|
|
|
+ if (route.query.logout) {
|
|
|
+ handleLogout()
|
|
|
+ }})
|
|
|
</script>
|
|
|
<style scoped>
|
|
|
#app {
|
|
@@ -270,15 +284,32 @@ onMounted(() => {
|
|
|
height: 100vh;
|
|
|
overflow: hidden;
|
|
|
}
|
|
|
+.login-box {
|
|
|
+ width: 100vw;
|
|
|
+ height: 100vh;
|
|
|
+ background-image: url('@/assets/images/loginBanar.png');
|
|
|
+ background-repeat: no-repeat;
|
|
|
+ background-size: cover;
|
|
|
+}
|
|
|
|
|
|
.login-container {
|
|
|
+
|
|
|
display: flex;
|
|
|
- flex-direction: row;
|
|
|
+ flex-direction: column;
|
|
|
justify-content: center;
|
|
|
align-items: center;
|
|
|
- width: 100vw;
|
|
|
- height: 100vh;
|
|
|
- background-color: #f5f7fa;
|
|
|
+ margin: auto;
|
|
|
+ width: 500px;
|
|
|
+ /* width: 100vw; */
|
|
|
+ /* height: 100vh; */
|
|
|
+ padding: 50px;
|
|
|
+ background-color: #eef6ff;
|
|
|
+ border-radius: 12px 12px 12px 12px;
|
|
|
+}
|
|
|
+.login-header{
|
|
|
+ font-size: 26px;
|
|
|
+ font-weight: bold;
|
|
|
+ margin-bottom: 20px;
|
|
|
}
|
|
|
|
|
|
.content-area {
|
|
@@ -294,10 +325,11 @@ onMounted(() => {
|
|
|
}
|
|
|
|
|
|
.site_header {
|
|
|
- background-color: #c5c5c5;
|
|
|
+ /* background-color: #c5c5c5; */
|
|
|
+ background-color: #eef6ff;
|
|
|
padding: 0 20px;
|
|
|
height: 50px;
|
|
|
- border-bottom: 1px solid #e4e7ed;
|
|
|
+ /* border-bottom: 1px solid #e4e7ed; */
|
|
|
}
|
|
|
|
|
|
.knowledge-base-icon {
|