fix ==> redirectUrl

This commit is contained in:
DESKTOP-1R2VSQH\Lenovo ThinkPad E490 2025-06-20 17:38:39 +07:00
parent d6249b2606
commit 37e3c65ff3

View file

@ -1,6 +1,9 @@
<script setup lang="ts"> <script setup lang="ts">
import { deleteCookie, getCookie, setCookie } from "@/plugins/cookie"; import { deleteCookie, getCookie, setCookie } from "@/plugins/cookie";
import router from "@/router"; import router from "@/router";
import { useRoute } from "vue-router";
import { computed, onMounted, ref } from "vue"; import { computed, onMounted, ref } from "vue";
import { useQuasar } from "quasar"; import { useQuasar } from "quasar";
import axios from "axios"; import axios from "axios";
@ -15,6 +18,7 @@ import screen4 from "@/assets/screen4.png";
import type { DateCards } from "@/interface/index/Main"; import type { DateCards } from "@/interface/index/Main";
const $q = useQuasar(); const $q = useQuasar();
const route = useRoute();
const cookieTokenName = ref<string>("BMAHRIS_KEYCLOAK_IDENTITY"); const cookieTokenName = ref<string>("BMAHRIS_KEYCLOAK_IDENTITY");
const cookieTokenRefName = ref<string>("BMAHRIS_KEYCLOAK_REFRESH"); const cookieTokenRefName = ref<string>("BMAHRIS_KEYCLOAK_REFRESH");
@ -67,6 +71,7 @@ async function getName() {
async function goPage(sys: string, url: string) { async function goPage(sys: string, url: string) {
const token = await getCookie(cookieTokenName.value); const token = await getCookie(cookieTokenName.value);
const redirectUrl = (route.query.redirectUrl as string) ?? "";
if (token) { if (token) {
// Payload JWT ( 2) // Payload JWT ( 2)
@ -98,7 +103,11 @@ async function goPage(sys: string, url: string) {
JSON.parse(decoded).realm_access.roles.includes(role) JSON.parse(decoded).realm_access.roles.includes(role)
) )
) { ) {
window.location.href = `${url}/auth?token=${token}&accessToken=${refreshToken.value}`; if (redirectUrl) {
window.location.href = `${url}/auth?token=${token}&accessToken=${refreshToken.value}&redirectUrl=${redirectUrl}`;
} else {
window.location.href = `${url}/auth?token=${token}&accessToken=${refreshToken.value}`;
}
} else { } else {
// alert(""); // alert("");
$q.dialog({ $q.dialog({
@ -156,10 +165,15 @@ async function postSaveLog(type: string, token: any) {
} }
onMounted(async () => { onMounted(async () => {
deleteCookie("BMAHRISMGT_KEYCLOAK_IDENTITY"); // deleteCookie("BMAHRISMGT_KEYCLOAK_IDENTITY");
deleteCookie("BMAHRISADM_KEYCLOAK_IDENTITY"); // deleteCookie("BMAHRISADM_KEYCLOAK_IDENTITY");
deleteCookie("BMAHRISCKI_KEYCLOAK_IDENTITY"); // deleteCookie("BMAHRISCKI_KEYCLOAK_IDENTITY");
deleteCookie("BMAHRISUSER_KEYCLOAK_IDENTITY"); // deleteCookie("BMAHRISUSER_KEYCLOAK_IDENTITY");
token.value = await getCookie(cookieTokenName.value);
refreshToken.value = await getCookie(cookieTokenRefName.value);
if (!token.value || !refreshToken.value) router.push("/sso");
await axios await axios
.post( .post(
@ -187,6 +201,22 @@ onMounted(async () => {
token.value = await getCookie(cookieTokenName.value); token.value = await getCookie(cookieTokenName.value);
refreshToken.value = await getCookie(cookieTokenRefName.value); refreshToken.value = await getCookie(cookieTokenRefName.value);
} }
const systemkey = route.query.system as string;
if (systemkey) {
goPage(
systemkey,
systemkey === "user"
? urlUser
: systemkey === "checkin"
? urlCheckin
: systemkey === "mgt"
? urlMgt
: systemkey === "admin"
? urlAdmin
: ""
);
}
} }
}) })
.catch((err: any) => { .catch((err: any) => {