PC-vote/app.vue

252 lines
5.5 KiB
Vue
Raw Normal View History

2024-01-18 17:25:40 +08:00
<!--
2024-01-23 19:10:57 +08:00
首页搜索不行
2024-01-18 17:25:40 +08:00
我发起的投票不能修改 匿名状态
我发起的投票不确定能下拉加载
-->
2024-01-12 19:12:30 +08:00
<template>
2024-01-18 17:25:40 +08:00
<div id="append_parent"></div>
<div id="ajaxwaitid"></div>
2024-01-15 19:02:10 +08:00
<RouterView></RouterView>
2024-01-12 19:12:30 +08:00
</template>
<script setup>
2024-07-04 17:57:51 +08:00
console.log("1");
2024-01-12 19:12:30 +08:00
const route = useRoute()
// 是否是 生产环境
2024-01-23 19:10:57 +08:00
const isProduction = process.env.NODE_ENV === "production"
// console.log(process.env.NODE_ENV, "NODE_ENV")
2024-01-12 19:12:30 +08:00
onMounted(() => {
2024-01-23 19:10:57 +08:00
// isNeedLogin.value = false
2024-05-15 12:05:24 +08:00
if (!isProduction) {
isNeedLogin.value = false
// setTimeout(() => (isGetLoginState.value = false), 10000)
} else determineIsLogin()
2024-01-24 17:20:53 +08:00
2024-01-29 11:53:50 +08:00
// window["userInfoWin"] = {
// "username": "",
// "uid": 256624,
// "uin": 4171117,
// "avatar": "https://oss.gter.net/avatar/97KwEWQHYuMQGDnFqkimXF9SHKuGwVV5zW-tYWFjYQ~~?istype=1&random=HHfurzyTXnzb",
// "messagenum": 0,
// "newprompt": 0,
// "todaysigned": 0,
// }
2024-01-24 17:20:53 +08:00
determineIsLogin()
2024-01-12 19:12:30 +08:00
})
let isNeedLogin = ref(true) // 是否需要登录状态
2024-05-15 12:05:24 +08:00
let isGetLoginState = ref(true) // 在获取登录状态 false 代表没有已经确定了
2024-01-12 19:12:30 +08:00
2024-01-24 17:20:53 +08:00
let userInfoWin = ref({})
provide("userInfoWin", userInfoWin)
2024-01-12 19:12:30 +08:00
// 判断是否登录状态
const determineIsLogin = () => {
let count = 0
let timer = setInterval(() => {
if (Object.keys(window["userInfoWin"]).length !== 0) {
clearInterval(timer)
2024-05-15 12:05:24 +08:00
isGetLoginState.value = false
2024-01-12 19:12:30 +08:00
if (window["userInfoWin"]["uid"]) isNeedLogin.value = false
2024-01-24 17:20:53 +08:00
userInfoWin.value = window["userInfoWin"]
2024-01-12 19:12:30 +08:00
}
count++
2024-05-15 12:05:24 +08:00
if (count >= 10) {
clearInterval(timer)
isGetLoginState.value = false
}
2024-01-12 19:12:30 +08:00
}, 100)
}
// 跳转登录
const goLogin = () => {
if (typeof window === "undefined") return
if (window["userInfoWin"] && Object.keys(window["userInfoWin"]).length !== 0) {
if (window["userInfoWin"]["uid"]) isNeedLogin.value = false
else ajax_login()
} else ajax_login()
}
provide("isNeedLogin", isNeedLogin)
provide("goLogin", goLogin)
2024-05-15 12:05:24 +08:00
provide("isGetLoginState", isGetLoginState)
2024-01-12 19:12:30 +08:00
</script>
<style lang="less">
* {
margin: 0;
padding: 0;
box-sizing: border-box;
font-family: "PingFangSC-Regular", "PingFang SC", sans-serif;
}
.flexflex {
display: flex;
}
.flex1 {
flex: 1;
}
.flexcenter {
display: flex;
justify-content: center;
align-items: center;
}
.flexacenter {
display: flex;
align-items: center;
}
.flexjcenter {
display: flex;
justify-content: center;
}
/* // 一行显示 */
.ellipsis {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
body {
background-color: rgba(238, 242, 245, 1);
}
a {
text-decoration: none !important;
}
/* Webkit浏览器Chrome、Safari等 */
*::-webkit-scrollbar {
width: 8px;
background-color: transparent;
}
*::-webkit-scrollbar-thumb {
background-color: #d7d7d7;
border-radius: 4px;
}
*::-webkit-scrollbar-thumb:hover {
background-color: #666;
}
/* Firefox浏览器 */
/* 注意Firefox浏览器不支持修改滚动条的宽度 */
/* 若要修改滚动条的宽度,可以使用一些特殊的插件或者自定义滚动条的替代方案 */
/* 以下代码只是修改滚动条的颜色和背景色 */
* {
scrollbar-width: thin;
scrollbar-color: #d7d7d7 transparent;
}
*::-moz-scrollbar-thumb {
background-color: #d7d7d7;
}
*::-moz-scrollbar-thumb:hover {
background-color: #666;
}
header.page-header .box .tab-list .item.pitch {
color: #72db86 !important;
}
header.page-header .box .tab-list .item.pitch:after {
background-color: #72db86 !important;
}
.avatar-box {
flex-direction: column;
height: 101px;
background-color: rgba(244, 248, 255, 1);
border: 1px solid rgba(220, 224, 234, 1);
border-radius: 10px;
z-index: 100;
.avatar-mask {
width: 100%;
height: 100%;
position: fixed;
top: 0;
left: 0;
z-index: -1;
cursor: auto;
}
.avatar-item {
font-size: 14px;
color: #333;
height: 50px;
cursor: pointer;
&:not(:last-of-type) {
border-bottom: 1px dotted #d7d7d7;
}
}
.avatar-icon {
width: 16px;
height: 16px;
margin-right: 5px;
}
}
.el-popover.el-popper.avatar-box-popper {
min-width: 140px;
padding: 0;
border-radius: 10px;
border: none;
}
2024-01-30 17:42:09 +08:00
// 禁止safari的填充
input:focus::-webkit-contacts-auto-fill-button {
opacity: 0 !important;
width: 0 !important;
height: 0 !important;
}
input::-webkit-contacts-auto-fill-button {
display: none !important;
}
2024-07-04 18:24:10 +08:00
.options-popup {
border-radius: 10px !important;
padding: 44px 74px !important;
.options-popup-text {
font-size: 14px;
color: #333333;
text-align: center;
margin-bottom: 71px;
}
.options-popup-btn {
justify-content: space-between;
.options-popup-item {
font-size: 13px;
width: 160px;
height: 40px;
border-radius: 150px;
border: 1px solid;
cursor: pointer;
&.options-yes {
background-color: rgba(249, 93, 93, 1);
border-color: rgba(249, 93, 93, 1);
color: #fff;
margin-left: 20px;
}
&.options-no {
background-color: #fff;
border-color: rgba(170, 170, 170, 1);
color: #333;
}
}
}
}
2024-01-12 19:12:30 +08:00
</style>