sawAdmin/src/views/system/callback.vue

68 lines
2.2 KiB
Vue
Raw Normal View History

<template>
<div>
<p>回调页面加载授权信息中...</p>
</div>
</template>
2026-04-03 20:58:10 +08:00
<script lang="ts" setup name="callback">
//获取query参数
import { useRouter, useRoute } from 'vue-router';
import { onMounted } from 'vue';
import { usePermissStore } from "@/store/permiss";
import { getTokenByCode } from '@/api/user';
import { GetUserInfoService } from "@/api/user";
import { UserToken } from "@/types/user";
const route = useRoute();
const permiss = usePermissStore();
const router = useRouter();
onMounted(async () => {
// 获取query参数
const queryParams = route.query;
console.log('Received query parameters:', queryParams);
let code = queryParams.code;
if (code) {
let req = {
code: code,
};
await getTokenByCode(req).then((res: any) => {
if (res.code === 0) {
console.log('获取Token成功:', res);
let userTokenInfo: UserToken = res.data;
localStorage.setItem("token", userTokenInfo.access_token);
localStorage.setItem("refresh_token", userTokenInfo.refresh_token);
localStorage.setItem("userId", userTokenInfo.user_id.toString());
localStorage.setItem("username", userTokenInfo.username);
getMyUserInfo(userTokenInfo.user_id);
} else {
console.error('获取Token失败:', res.message);
}
}).catch((error: any) => {
console.error('请求错误:', error);
});
}
});
const getMyUserInfo = async (id) => {
let result = {};
try {
let tokenData = {
token: localStorage.getItem("token"),
id: id,
};
result = await GetUserInfoService(tokenData);
if (result["code"] === 0) {
localStorage.setItem("ms_username", result["data"]["Name"]);
const keys =
permiss.defaultList[result["data"]["Role"] == "admin" ? "admin" : "user"];
localStorage.setItem("ms_imgurl", result["data"]["Avatar"]);
permiss.handleSet(keys);
localStorage.setItem("ms_keys", JSON.stringify(keys));
localStorage.setItem("ms_role", result["data"]["Role"]);
router.push("/");
}
} catch (e) {
console.log(e);
}
};
</script>