video_ca/src/views/callback.vue

76 lines
2.4 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<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>