|
@@ -26,7 +26,7 @@
|
|
</button>
|
|
</button>
|
|
<button class="reg" @click="userCenter" v-show="showToken">
|
|
<button class="reg" @click="userCenter" v-show="showToken">
|
|
<img src="http://img.bjzxtw.org.cn/master/bjzxtw/public/head/topicon3.png" alt="用户信息">{{
|
|
<img src="http://img.bjzxtw.org.cn/master/bjzxtw/public/head/topicon3.png" alt="用户信息">{{
|
|
- username }}
|
|
+ username }}
|
|
</button>
|
|
</button>
|
|
<button class="reg" @click="goSearch">
|
|
<button class="reg" @click="goSearch">
|
|
<img src="http://img.bjzxtw.org.cn/master/bjzxtw/public/head/searchicon.png" alt="搜索">搜索
|
|
<img src="http://img.bjzxtw.org.cn/master/bjzxtw/public/head/searchicon.png" alt="搜索">搜索
|
|
@@ -155,17 +155,17 @@ let userCenter = () => {
|
|
|
|
|
|
// 添加点击事件处理函数
|
|
// 添加点击事件处理函数
|
|
const handleClickOutside = (event) => {
|
|
const handleClickOutside = (event) => {
|
|
- // 获取用户信息菜单元素
|
|
+ // 获取用户信息菜单元素
|
|
- const userInfoMenu = document.querySelector('.userInfo11');
|
|
+ const userInfoMenu = document.querySelector('.userInfo11');
|
|
- // 获取用户按钮元素
|
|
+ // 获取用户按钮元素
|
|
- const userButton = document.querySelector('.reg img[alt="用户信息"]')?.parentElement;
|
|
+ const userButton = document.querySelector('.reg img[alt="用户信息"]')?.parentElement;
|
|
-
|
|
+
|
|
- // 如果点击的不是菜单本身且不是用户按钮,则隐藏菜单
|
|
+ // 如果点击的不是菜单本身且不是用户按钮,则隐藏菜单
|
|
- if (userInfoMenu &&
|
|
+ if (userInfoMenu &&
|
|
- !userInfoMenu.contains(event.target) &&
|
|
+ !userInfoMenu.contains(event.target) &&
|
|
- !userButton?.contains(event.target)) {
|
|
+ !userButton?.contains(event.target)) {
|
|
- isShow.value = false;
|
|
+ isShow.value = false;
|
|
- }
|
|
+ }
|
|
}
|
|
}
|
|
//2.登录逻辑 end ---------------------------------------->
|
|
//2.登录逻辑 end ---------------------------------------->
|
|
|
|
|
|
@@ -184,7 +184,7 @@ let exit = () => {
|
|
token1.value = getToken()
|
|
token1.value = getToken()
|
|
|
|
|
|
let tokendata = getToken()
|
|
let tokendata = getToken()
|
|
-
|
|
+
|
|
//王鹏
|
|
//王鹏
|
|
// let url = $BwebUrl + '/auth/logout.php?backurl=' + $CwebUrl + '&admintoken=' + tokendata;
|
|
// let url = $BwebUrl + '/auth/logout.php?backurl=' + $CwebUrl + '&admintoken=' + tokendata;
|
|
// console.log("用户退出登录======token为:", tokendata,url)
|
|
// console.log("用户退出登录======token为:", tokendata,url)
|
|
@@ -257,7 +257,7 @@ let adImg = ref({})
|
|
//5.获取登录状态 start ---------------------------------------->
|
|
//5.获取登录状态 start ---------------------------------------->
|
|
// 在组件卸载时移除事件监听
|
|
// 在组件卸载时移除事件监听
|
|
onUnmounted(() => {
|
|
onUnmounted(() => {
|
|
- document.removeEventListener('click', handleClickOutside);
|
|
+ document.removeEventListener('click', handleClickOutside);
|
|
})
|
|
})
|
|
|
|
|
|
onMounted(async () => {
|
|
onMounted(async () => {
|
|
@@ -267,43 +267,52 @@ onMounted(async () => {
|
|
//从客户端获取登录状态
|
|
//从客户端获取登录状态
|
|
//从客户端阶段开始 持续查询登录状态
|
|
//从客户端阶段开始 持续查询登录状态
|
|
let getLoginStatus = async () => {
|
|
let getLoginStatus = async () => {
|
|
|
|
+ //获得token
|
|
|
|
+ const token = getToken();
|
|
const { $webUrl, $CwebUrl } = useNuxtApp();
|
|
const { $webUrl, $CwebUrl } = useNuxtApp();
|
|
- const queryParams = new URLSearchParams({
|
|
+
|
|
- token: getToken()
|
|
+ if (token == undefined) {
|
|
- });
|
|
+ //如果没有获取到token 不访问后端获取在线状态
|
|
- let url = `${$webUrl}/api/loginStatus?${queryParams.toString()}`
|
|
+ console.log("没有获取到token!无需查询登录状态!")
|
|
-
|
|
+ showToken.value = false;
|
|
- const responseStatus = await fetch(url, {
|
|
+
|
|
- method: 'GET',
|
|
+ } else {
|
|
- headers: {
|
|
+ //如果获取到了token 访问后端查询状态
|
|
- 'Content-Type': 'application/json',
|
|
+ console.log("已获取到用户token,开始查询登录状态!")
|
|
- 'Userurl': $CwebUrl,
|
|
+ const queryParams = new URLSearchParams({
|
|
- //'token': getToken(),
|
|
+ token: getToken()
|
|
- 'Origin': $CwebUrl
|
|
+ });
|
|
- }
|
|
+ let url = `${$webUrl}/api/loginStatus?${queryParams.toString()}`
|
|
- });
|
|
+ const responseStatus = await fetch(url, {
|
|
- const result = await responseStatus.json();
|
|
+ method: 'GET',
|
|
- console.log(result)
|
|
+ headers: {
|
|
- if (result.code == 200) {
|
|
+ 'Content-Type': 'application/json',
|
|
- if (result.data.isLogin == true) {
|
|
+ 'Userurl': $CwebUrl,
|
|
|
|
+ //'token': getToken(),
|
|
|
|
+ 'Origin': $CwebUrl
|
|
|
|
+ }
|
|
|
|
+ });
|
|
|
|
+ const result = await responseStatus.json();
|
|
|
|
+ console.log(result)
|
|
|
|
+
|
|
|
|
+ if (result.code == 200) {
|
|
console.log("用户已经登录!");
|
|
console.log("用户已经登录!");
|
|
showToken.value = true;
|
|
showToken.value = true;
|
|
-
|
|
+ }
|
|
- } else {
|
|
+ if (result.code == -1) {
|
|
- console.log("用户未登录!");
|
|
+ isShow.value = false;
|
|
showToken.value = false;
|
|
showToken.value = false;
|
|
- //退出登录
|
|
+ removeToken();
|
|
|
|
+ removeTicket();
|
|
|
|
+ ElMessage.error('您没有权限登录该网站!')
|
|
|
|
+ }
|
|
|
|
+ if (result.code == -2) {
|
|
isShow.value = false;
|
|
isShow.value = false;
|
|
|
|
+ showToken.value = false;
|
|
removeToken();
|
|
removeToken();
|
|
removeTicket();
|
|
removeTicket();
|
|
|
|
+ ElMessage.error('您已退出登录!')
|
|
}
|
|
}
|
|
- } else {
|
|
|
|
- console.log("用户已退出登录!");
|
|
|
|
- //退出登录
|
|
|
|
- isShow.value = false;
|
|
|
|
- showToken.value = false;
|
|
|
|
- removeToken();
|
|
|
|
- removeTicket();
|
|
|
|
}
|
|
}
|
|
}
|
|
}
|
|
getLoginStatus();
|
|
getLoginStatus();
|
|
@@ -342,5 +351,5 @@ onMounted(async () => {
|
|
</script>
|
|
</script>
|
|
|
|
|
|
<style lang="less" scoped>
|
|
<style lang="less" scoped>
|
|
- @import url('@/assets/css/public/head.less');
|
|
+@import url('@/assets/css/public/head.less');
|
|
</style>
|
|
</style>
|