加入点击发布 点赞 评论等打开弹窗

This commit is contained in:
DESKTOP-RQ919RC\Pc
2025-06-23 16:36:35 +08:00
parent 4cd9163422
commit 05a71799cf
59 changed files with 616 additions and 542 deletions

114
app.vue
View File

@@ -10,9 +10,9 @@
<NuxtPage></NuxtPage>
</template>
<script setup>
const route = useRoute()
const route = useRoute();
// 是否是 生产环境
const isProduction = process.env.NODE_ENV === "production"
const isProduction = process.env.NODE_ENV === "production";
// watchEffect(() => {
// if (typeof window !== "undefined" && route.path) {
@@ -29,72 +29,88 @@ const isProduction = process.env.NODE_ENV === "production"
onMounted(() => {
if (!isProduction) {
isNeedLogin.value = false
isNeedLogin.value = false;
// // setTimeout(() => isGetLoginState.value = false, 10000)
userInfo.value = {
"username": "",
"uid": 256624,
"uin": 4171117,
"avatar": "https://oss.x-php.com/avatar/97K4EWIMLrsbGTWXslC1XFxTFauOikN42jDKLNjtax7HLtRjKcKMSdU9oWFhY2E~/small?random=1739160957",
"messagenum": 0,
"newprompt": 1,
"todaysigned": 0,
}
} else determineIsLogin()
username: "",
uid: 256624,
uin: 4171117,
avatar: "https://oss.x-php.com/avatar/97K4EWIMLrsbGTWXslC1XFxTFauOikN42jDKLNjtax7HLtRjKcKMSdU9oWFhY2E~/small?random=1739160957",
messagenum: 0,
newprompt: 1,
todaysigned: 0,
};
} else determineIsLogin();
// determineIsLogin()
// isNeedLogin.value = false
const params = new URLSearchParams(window.location.search);
const isLoginValue = params.get("islogin");
if (isLoginValue == 1) getUserInfoWin();
else realname.value = 1;
});
// if (true) determineIsLogin()
// else isNeedLogin.value = false
// window["userInfoWin"] = {
// "username": "",
// "uid": 256624,
// "uin": 4171117,
// "avatar": "https://oss.gter.net/avatar/97KwEWQHYuMQGDnFqkimXF9SHKuGwVV5zW-tYWFjYQ~~?istype=1&random=K94nvjW4W5Gz",
// "messagenum": 0,
// "newprompt": 1,
// "todaysigned": 0,
// }
})
let isNeedLogin = ref(true) // 是否需要登录状态
let userInfo = ref({})
let isGetLoginState = ref(true) // 在获取登录状态 false 代表没有已经确定了
let isNeedLogin = ref(true); // 是否需要登录状态
let userInfo = ref({});
let isGetLoginState = ref(true); // 在获取登录状态 false 代表没有已经确定了
let realname = ref(0) // 是否已经实名
// 判断是否登录状态
const determineIsLogin = () => {
let count = 0
let count = 0;
let timer = setInterval(() => {
if (Object.keys(window["userInfoWin"]).length !== 0) {
clearInterval(timer)
isGetLoginState.value = false
clearInterval(timer);
isGetLoginState.value = false;
if (window["userInfoWin"]["uid"] || window["userInfoWin"]["uin"]) {
isNeedLogin.value = false
userInfo.value = window["userInfoWin"]
isNeedLogin.value = false;
userInfo.value = window["userInfoWin"];
}
}
count++
count++;
if (count >= 30) {
clearInterval(timer)
isGetLoginState.value = false
clearInterval(timer);
isGetLoginState.value = false;
}
}, 100)
}
}, 100);
};
// 跳转登录
const goLogin = () => {
if (typeof window === "undefined") return
if (typeof window === "undefined") return;
if (Object.keys(window["userInfoWin"]).length !== 0) {
if (window["userInfoWin"]["uid"]) isNeedLogin.value = false
else ajax_login()
} else ajax_login()
}
if (window["userInfoWin"]["uid"]) isNeedLogin.value = false;
else ajax_login();
} else ajax_login();
};
provide("isNeedLogin", isNeedLogin)
provide("userInfo", userInfo)
provide("goLogin", goLogin)
provide("isGetLoginState", isGetLoginState)
const getUserInfoWin = () => {
const checkUser = () => {
const user = window.userInfoWin;
if (!user) {
setTimeout(checkUser, 100);
return;
}
realname.value = user.realname || 0;
};
setTimeout(checkUser, 100);
};
const openAttest = () => {
const handleAttestClose = () => {
document.removeEventListener("closeAttest", handleAttestClose);
realname.value = window.userInfoWin?.realname || 0;
};
// 启动认证流程时添加监听
document.addEventListener("closeAttest", handleAttestClose);
loadAttest(2);
};
provide("isNeedLogin", isNeedLogin);
provide("userInfo", userInfo);
provide("goLogin", goLogin);
provide("isGetLoginState", isGetLoginState);
provide("realname", realname);
provide("openAttest", openAttest);
</script>
<style lang="less">