no message
This commit is contained in:
59
src/App.vue
59
src/App.vue
@@ -4,6 +4,64 @@
|
|||||||
</template>
|
</template>
|
||||||
<script setup>
|
<script setup>
|
||||||
import login from '@/components/public/login.vue'
|
import login from '@/components/public/login.vue'
|
||||||
|
import store from '@/store'
|
||||||
|
import { onMounted } from 'vue';
|
||||||
|
let socketTask = null
|
||||||
|
|
||||||
|
onMounted(() => {
|
||||||
|
useSocket()
|
||||||
|
|
||||||
|
|
||||||
|
document.addEventListener('visibilitychange', () => {
|
||||||
|
if (document.visibilityState === 'visible' && socketTask.readyState != 1) useSocket()
|
||||||
|
})
|
||||||
|
})
|
||||||
|
|
||||||
|
const useSocketInterval = 50000 // Socket的时间间隔
|
||||||
|
const useSocket = () => {
|
||||||
|
let token = getMiucmsSessionCookie() || ''
|
||||||
|
socketTask = new WebSocket(`wss://app.gter.net/socket?token=${token}`);
|
||||||
|
socketTask.onopen = () => {
|
||||||
|
let user = store.state.user || {};
|
||||||
|
if (user && token) {
|
||||||
|
socketTask.send(JSON.stringify({
|
||||||
|
type: 'bind',
|
||||||
|
data: {
|
||||||
|
token,
|
||||||
|
uid: user.uid || 0
|
||||||
|
}
|
||||||
|
}))
|
||||||
|
}
|
||||||
|
setTimeout(() => timedTransmission(), useSocketInterval);
|
||||||
|
};
|
||||||
|
socketTask.onclose = () => {
|
||||||
|
// timedTransmissionState = false
|
||||||
|
console.log('socket关闭了', new Date());
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
// let timedTransmissionState = false // 定时器启动状态
|
||||||
|
// 定时发送
|
||||||
|
const timedTransmission = () => {
|
||||||
|
// if (socketTask.readyState != 1 || timedTransmissionState) return
|
||||||
|
if (socketTask.readyState != 1) return
|
||||||
|
// timedTransmissionState = true
|
||||||
|
socketTask.send(JSON.stringify({ type: 'ping' }))
|
||||||
|
console.log('ping', new Date());
|
||||||
|
setTimeout(() => timedTransmission(), useSocketInterval)
|
||||||
|
}
|
||||||
|
|
||||||
|
const getMiucmsSessionCookie = () => {
|
||||||
|
let cookies = document.cookie.split(";");
|
||||||
|
for (let i = 0; i < cookies.length; i++) {
|
||||||
|
let cookie = cookies[i].split("=");
|
||||||
|
if (cookie[0].trim() === "miucms_session") {
|
||||||
|
return cookie[1];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
<style lang="less">
|
<style lang="less">
|
||||||
@@ -151,6 +209,7 @@ input[type="number"] {
|
|||||||
.rotate180 {
|
.rotate180 {
|
||||||
transform: rotate(180deg);
|
transform: rotate(180deg);
|
||||||
}
|
}
|
||||||
|
|
||||||
.el-loading-mask {
|
.el-loading-mask {
|
||||||
z-index: 2100 !important;
|
z-index: 2100 !important;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
|
||||||
|
|
||||||
function setSeoTitle(title) {
|
function setSeoTitle(title) {
|
||||||
document.title = '港校租房-' + title
|
document.title = '港校租房-' + title
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user