websocket改定时刷新

This commit is contained in:
2024-05-09 10:58:57 +08:00
parent ff4588f7a5
commit 001c59d8de
3 changed files with 57 additions and 57 deletions

View File

@@ -27,63 +27,54 @@
</template>
<script>
import { sendWebsocket, closeWebsocket } from '@/utils/websocket.js'
import {getBillsCount} from '@/utils/getData2.js'
export default {
data() {
return {
intervalId: null,
interTime: this.$store.getters.setTime,
userName: this.$store.getters.userInfo !== '' ? JSON.parse(this.$store.getters.userInfo).username : '',
menuList: []
};
},
onLoad() {
// setTimeout(() => {
// uni.showLoading({
// title: '加载中...'
// })
// }, 200)
created () {
this._getBillsCount()
this.intervalId = setInterval(() => {
this._getBillsCount()
}, this.interTime)
},
beforeDestroy () {
closeWebsocket(true)
clearTimeout(this.intervalId)
clearInterval(this.intervalId)
this.intervalId = null
},
destroyed () {
closeWebsocket(true)
clearTimeout(this.intervalId)
clearInterval(this.intervalId)
this.intervalId = null
},
methods: {
_getBillsCount () {
let getTimestamp = new Date().getTime()
let url = this.$store.getters.baseUrl
url = url.substring(7)
sendWebsocket('ws://' + url + '/webSocket/SendHomeInfo/' + getTimestamp, {}, this.wsMessage, this.wsErr)
},
wsMessage (res) {
console.log(res)
clearTimeout(this.intervalId)
// uni.hideLoading()
this.menuList = [...res]
},
wsErr () {
this.intervalId = setTimeout(() => {
this._getBillsCount()
}, 10000)
async _getBillsCount () {
let res = await getBillsCount()
if (res.code === 1) {
this.menuList = [...res.result]
} else {
uni.showToast({
title: res.desc,
icon: 'none'
})
}
},
toPage (e) {
let url = ''
url = '/pages/management/in-storage?id=' + e.djlx + '&name=' + e.name + '&type=' + e.ywlx
uni.navigateTo({
uni.redirectTo({
url: url
})
},
Quit () {
this.$store.dispatch('delUserInfo', '')
uni.redirectTo({
url: '/pages/login/login'
})
this.$store.dispatch('delUserInfo', '')
uni.redirectTo({
url: '/pages/login/login'
})
}
}
}

View File

@@ -27,54 +27,63 @@
</template>
<script>
import {getBillsCount} from '@/utils/getData2.js'
import { sendWebsocket, closeWebsocket } from '@/utils/websocket.js'
export default {
data() {
return {
intervalId: null,
interTime: this.$store.getters.setTime,
userName: this.$store.getters.userInfo !== '' ? JSON.parse(this.$store.getters.userInfo).username : '',
menuList: []
};
},
created () {
onLoad() {
// setTimeout(() => {
// uni.showLoading({
// title: '加载中...'
// })
// }, 200)
this._getBillsCount()
this.intervalId = setInterval(() => {
this._getBillsCount()
}, this.interTime)
},
beforeDestroy () {
clearInterval(this.intervalId)
closeWebsocket(true)
clearTimeout(this.intervalId)
this.intervalId = null
},
destroyed () {
clearInterval(this.intervalId)
closeWebsocket(true)
clearTimeout(this.intervalId)
this.intervalId = null
},
methods: {
async _getBillsCount () {
let res = await getBillsCount()
if (res.code === 1) {
this.menuList = [...res.result]
} else {
uni.showToast({
title: res.desc,
icon: 'none'
})
}
_getBillsCount () {
let getTimestamp = new Date().getTime()
let url = this.$store.getters.baseUrl
url = url.substring(7)
sendWebsocket('ws://' + url + '/webSocket/SendHomeInfo/' + getTimestamp, {}, this.wsMessage, this.wsErr)
},
wsMessage (res) {
console.log(res)
clearTimeout(this.intervalId)
// uni.hideLoading()
this.menuList = [...res]
},
wsErr () {
this.intervalId = setTimeout(() => {
this._getBillsCount()
}, 10000)
},
toPage (e) {
let url = ''
url = '/pages/management/in-storage?id=' + e.djlx + '&name=' + e.name + '&type=' + e.ywlx
uni.redirectTo({
uni.navigateTo({
url: url
})
},
Quit () {
this.$store.dispatch('delUserInfo', '')
uni.redirectTo({
url: '/pages/login/login'
})
this.$store.dispatch('delUserInfo', '')
uni.redirectTo({
url: '/pages/login/login'
})
}
}
}

View File

@@ -43,12 +43,12 @@
<input type="text" placeholder="域名地址" v-model.trim="baseUrl" class="inputStyle">
</view>
</view>
<!-- <view class="zd-row mgb20">
<view class="zd-row mgb20">
<view class="zd-col-7 login_label">刷新时间(s)</view>
<view class="zd-col-17">
<input type="number" placeholder="刷新时间" v-model.trim="setTime" class="inputStyle">
</view>
</view> -->
</view>
</view>
<view class="zd-row mgt20 mgb20">
<button class="primary-button" :disabled="disabled" @tap="toConfig">&nbsp;&nbsp;</button>