76 lines
2.4 KiB
Vue
76 lines
2.4 KiB
Vue
|
|
<template>
|
|||
|
|
<div>
|
|||
|
|
<p>回调页面,加载授权信息中...</p>
|
|||
|
|
</div>
|
|||
|
|
</template>
|
|||
|
|
<script lang="ts" setup>
|
|||
|
|
//获取query参数
|
|||
|
|
import { useRouter, useRoute } from 'vue-router';
|
|||
|
|
import { onMounted } from 'vue';
|
|||
|
|
import { getTokenByCode } from '@/api/user.js';
|
|||
|
|
import { GetUserInfoService } from "@/api/user.js";
|
|||
|
|
import { ElMessage } from 'element-plus';
|
|||
|
|
const route = useRoute();
|
|||
|
|
|
|||
|
|
const router = useRouter();
|
|||
|
|
|
|||
|
|
interface UserToken {
|
|||
|
|
access_token: string; // 访问令牌
|
|||
|
|
refresh_token: string; // 刷新令牌
|
|||
|
|
user_id: number; // 用户ID
|
|||
|
|
username: string; // 用户名
|
|||
|
|
email: string; // 用户邮箱
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
onMounted(async () => {
|
|||
|
|
// 获取query参数
|
|||
|
|
const queryParams = route.query;
|
|||
|
|
console.log('Received query parameters:', queryParams);
|
|||
|
|
let code = queryParams.code;
|
|||
|
|
//alert('Received code: ' + code);
|
|||
|
|
if (code) {
|
|||
|
|
let req = {
|
|||
|
|
code: code,
|
|||
|
|
};
|
|||
|
|
await getTokenByCode(req).then(async (res: any) => {
|
|||
|
|
if (res.code === 0) {
|
|||
|
|
ElMessage.success('获取Token成功');
|
|||
|
|
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);
|
|||
|
|
await getMyUserInfo(userTokenInfo.user_id);
|
|||
|
|
} else {
|
|||
|
|
console.error('获取Token失败:', res.message);
|
|||
|
|
ElMessage.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);
|
|||
|
|
//alert("get_user_info:" + JSON.stringify(result));
|
|||
|
|
if (result['code'] === 0) {
|
|||
|
|
//console.log("token data:",this.tokenData)
|
|||
|
|
localStorage.setItem("video_func", result['data']['VideoFunc']);
|
|||
|
|
localStorage.setItem("device_func", result['data']['DeviceFunc']);
|
|||
|
|
localStorage.setItem("cid_func", result['data']['CIDFunc']);
|
|||
|
|
localStorage.setItem("role", result['data']['Role']);
|
|||
|
|
router.push("/user");
|
|||
|
|
}
|
|||
|
|
} catch (e) {
|
|||
|
|
console.log(e);
|
|||
|
|
}
|
|||
|
|
};
|
|||
|
|
</script>
|