Compare commits

...

2 Commits

Author SHA1 Message Date
junleea 258799350d 登录注册作为唯一平台,对不同平台跳转 2025-06-10 12:59:48 +08:00
junleea aa7ab5659c 修改提示输出 2025-06-04 14:03:32 +08:00
5 changed files with 42 additions and 12 deletions

View File

@ -60,7 +60,7 @@ request.interceptors.response.use(
return request(config); return request(config);
}).catch(err => { }).catch(err => {
// 刷新token失败跳转登录 // 刷新token失败跳转登录
ElMessage.error('登录已过期,请重新登录!12'); ElMessage.error('登录已过期,请重新登录!');
router.push("/login"); router.push("/login");
return Promise.reject(err); return Promise.reject(err);
}); });

View File

@ -61,7 +61,7 @@ request.interceptors.response.use(
return request(config); return request(config);
}).catch(err => { }).catch(err => {
// 刷新token失败跳转登录 // 刷新token失败跳转登录
ElMessage.error('登录已过期,请重新登录!12'); ElMessage.error('登录已过期,请重新登录!');
router.push("/login"); router.push("/login");
return Promise.reject(err); return Promise.reject(err);
}); });

View File

@ -3,7 +3,7 @@
<div class="login-container"> <div class="login-container">
<div class="login-header"> <div class="login-header">
<img class="logo mr10" src="../../assets/img/logo.svg" alt="" /> <img class="logo mr10" src="../../assets/img/logo.svg" alt="" />
<div class="login-title">大学生学业作品AI生成工具</div> <div class="login-title">统一登录平台</div>
</div> </div>
<el-form :model="param" :rules="rules" ref="login" size="large"> <el-form :model="param" :rules="rules" ref="login" size="large">
<el-form-item prop="username"> <el-form-item prop="username">
@ -74,8 +74,8 @@
</template> </template>
<script setup lang="ts"> <script setup lang="ts">
import { ref, reactive, inject } from "vue"; import { ref, reactive, inject, onMounted } from "vue";
import { useRouter } from "vue-router"; import { useRouter,useRoute } from "vue-router";
import { ElMessage } from "element-plus"; import { ElMessage } from "element-plus";
import { loginService } from "@/api/user"; import { loginService } from "@/api/user";
import { GetUserInfoService } from "@/api/user"; import { GetUserInfoService } from "@/api/user";
@ -92,13 +92,13 @@ const permiss = usePermissStore();
const checked = ref(lgStr ? true : false); const checked = ref(lgStr ? true : false);
const router = useRouter(); const router = useRouter();
const route = useRoute();
// //
const param = reactive({ const param = reactive({
username: defParam ? defParam.username : "", username: defParam ? defParam.username : "",
password: defParam ? defParam.password : "", password: defParam ? defParam.password : "",
}); });
const qqButtonBgImage = ref('https://wiki.connect.qq.com/wp-content/uploads/2016/12/Connect_logo_4.png');
// //
const rules = { const rules = {
@ -179,6 +179,16 @@ var loginData = ref({
password: "", password: "",
ip: "", ip: "",
}); });
const querySite =ref("");
onMounted(() => {
// query
const queryParams = route.query;
console.log('Received query parameters:', queryParams);
if(queryParams.site){
querySite.value = queryParams.site as string;
}
});
const thirdLogin = async (type) => { const thirdLogin = async (type) => {
//uuid //uuid
@ -318,7 +328,14 @@ const getMyUserInfo = async (id) => {
permiss.handleSet(keys); permiss.handleSet(keys);
localStorage.setItem("ms_keys", JSON.stringify(keys)); localStorage.setItem("ms_keys", JSON.stringify(keys));
localStorage.setItem("ms_role", result["data"]["Role"]); localStorage.setItem("ms_role", result["data"]["Role"]);
if(querySite.value === "" ){
router.push("/"); router.push("/");
}else{
localStorage.setItem("targetSite", querySite.value);
router.push({ path: `/project-select` });
}
//alert("video_func:" + localStorage.getItem("video_func")+" type:" +typeof(localStorage.getItem("video_func"))); //alert("video_func:" + localStorage.getItem("video_func")+" type:" +typeof(localStorage.getItem("video_func")));
} }

View File

@ -4,7 +4,7 @@
<div class="login-header"> <div class="login-header">
<img class="logo mr10" src="../../assets/img/logo.svg" alt=""> <img class="logo mr10" src="../../assets/img/logo.svg" alt="">
<div class="login-title"> <div class="login-title">
大学生学业作品AI生成工具 统一登录平台
</div> </div>
</div> </div>
<el-form :model="param" :rules="rules" ref="register" size="large"> <el-form :model="param" :rules="rules" ref="register" size="large">

View File

@ -21,8 +21,7 @@
</template> </template>
<script lang="ts" setup> <script lang="ts" setup>
import { ref } from 'vue' import { ref,onMounted } from 'vue'
import { useRouter } from 'vue-router'
import {getUserTokenCode} from '@/api/user' import {getUserTokenCode} from '@/api/user'
import { ElMessage } from 'element-plus' import { ElMessage } from 'element-plus'
@ -34,8 +33,6 @@ interface Project {
path: string path: string
} }
const router = useRouter()
// //
const projects = ref<Project[]>([ const projects = ref<Project[]>([
{ {
@ -72,6 +69,22 @@ const handleSelect = async (project: Project) => {
let url = project.path + '?code=' + localStorage.getItem('tokenCode'); let url = project.path + '?code=' + localStorage.getItem('tokenCode');
window.open(url); window.open(url);
} }
const handleSelectV2 = async (project: Project) => {
await GetTokenCode();
let url = project.path + '?code=' + localStorage.getItem('tokenCode');
window.location.href = url;
}
onMounted(() => {
// query
let targetSite = localStorage.getItem('targetSite');
localStorage.removeItem('targetSite');
if(targetSite == "gs-vp"){
handleSelectV2(projects.value[0]);
}
});
</script> </script>
<style scoped> <style scoped>