当前位置: 首页 > wzjs >正文

南宁网站建设方案报价怎么用自助网站

南宁网站建设方案报价,怎么用自助网站,网站群cms,造价工程建设协会网站在上次vue3项目上增加一个标签&#xff0c;显示当前的连接状态&#xff0c;两个按钮:重新连接 和 断开连接 修改App.vue <template><header><title>ws状态测试</title></header><main><WsStatus /></main> </template>…

在上次vue3项目上增加一个标签,显示当前的连接状态,两个按钮:重新连接 和 断开连接

修改App.vue

<template><header><title>ws状态测试</title></header><main><WsStatus /></main>
</template><script setup lang="ts">
import WsStatus from './components/WsStatus.vue'
</script><style scoped>
header {line-height: 1.5;
}.logo {display: block;margin: 0 auto 2rem;
}@media (min-width: 1024px) {header {display: flex;place-items: center;padding-right: calc(var(--section-gap) / 2);}.logo {margin: 0 2rem 0 0;}header .wrapper {display: flex;place-items: flex-start;flex-wrap: wrap;}
}
</style>

WsStatus.vue

创建一个组件WsStatus.vue

<template><div class="WsStatus"><h1>WebSocket 测试</h1><div class="status">连接状态: <span :class="statusClass">{{ connectionStatus }}</span></div><button @click="reconnect" :disabled="isConnecting">{{ isConnecting ? '连接中...' : '重新连接' }}</button><button @click="closeConnect" :disabled="connectStatus">断开连接</button><canvas></canvas></div>
</template><script setup lang="ts" name="WsStatus">
import { ref, onMounted, onUnmounted } from 'vue'const ws = ref()
const imageUrl = ref()
const connectionStatus = ref('未连接')
const isConnecting = ref(false)
const connectStatus = ref(false)
const statusClass = ref('disconnected')function get_appropriate_ws_url(extra_url: string) {var pcol;// 获得页面上的urlvar u = document.URL;/** We open the websocket encrypted if this page came on an* https:// url itself, otherwise unencrypted*/// 去掉http://或者https://if (u.substring(0, 5) === "https") {pcol = "wss://";u = u.substr(8);} else {pcol = "ws://";if (u.substring(0, 4) === "http")u = u.substr(7);}/* + "/xxx" bit is for IE10 workaround *///回来的url就城了ws://地址或者wss://地址return pcol + u.split('/')[0] + "/" + extra_url;
}// WebSocket配置(修改为你的服务器地址)
const wsUrl = get_appropriate_ws_url("")const connectWebSocket = () => {if (isConnecting.value) returnisConnecting.value = trueconnectionStatus.value = '连接中...'statusClass.value = 'connecting'ws.value = new WebSocket(wsUrl)ws.value.onopen = () => {connectionStatus.value = '已连接'statusClass.value = 'connected'isConnecting.value = falseconnectStatus.value = false}ws.value.onmessage = (event: any) => {console.log('收到数据')}ws.value.onerror = (error: any) => {console.error('WebSocket错误:', error)connectionStatus.value = '连接错误'statusClass.value = 'error'isConnecting.value = false}ws.value.onclose = () => {connectionStatus.value = '连接已关闭'statusClass.value = 'disconnected'isConnecting.value = falseconnectStatus.value = true}
}// 组件挂载时自动连接
onMounted(() => {connectWebSocket()
})// 组件卸载时关闭连接
onUnmounted(() => {if (ws.value) {ws.value.close()}
})function reconnect() {if (ws.value) {ws.value.close()}connectWebSocket()
}function closeConnect() {if (ws.value) {ws.value.close()}
}</script><style scoped>
.websocket-page {padding: 20px;max-width: 800px;margin: 0 auto;
}.status {margin: 20px 0;font-size: 18px;
}.status span {font-weight: bold;
}.connected {color: #4CAF50;
}.connecting {color: #FFC107;
}.disconnected {color: #F44336;
}.error {color: #F44336;
}button {padding: 10px 20px;background-color: #2196F3;color: white;border: none;border-radius: 4px;cursor: pointer;
}button:disabled {background-color: #BBDEFB;cursor: not-allowed;
}.messages {margin-top: 30px;border-top: 1px solid #eee;padding-top: 20px;background-size: 100% 100%;
}ul {list-style-type: none;padding: 0;max-height: 300px;overflow-y: auto;border: 1px solid #ddd;padding: 10px;border-radius: 4px;
}li {padding: 5px 0;border-bottom: 1px solid #eee;
}.live-image {position: fixed;top: 50%;left: 50%;width: 100vw;/* 根据需要设置宽度 */height: 100vw;object-fit: cover;transform: translate(-50%, -50%);
}#camImage,
#canvas {position: fixed;left: 0;top: 0;width: 100%;/* height: 100%; */z-index: -1;
}/* 竖屏 */
@media screen and (orientation: portrait) {}/* 横屏 */
@media screen and (orientation: landscape) {}
</style>

编译打包上传部署

$ npm run build
$ scp -r ./dist/* root@192.168.9.163:/oem/usr/www

测试

在rv1106摄像头打开运行ws服务器

# /oem/usr/bin/ws_cam

浏览器访问 http://192.168.9.163:7681/
看到相应页面,按按键会有相应的变换。


文章转载自:

http://zgYFiuFF.zkzjm.cn
http://tDZL0g6o.zkzjm.cn
http://t24pSHai.zkzjm.cn
http://pqWQCmkT.zkzjm.cn
http://fg3Uzozl.zkzjm.cn
http://9TDA9UbG.zkzjm.cn
http://prDRausA.zkzjm.cn
http://3AdkSZUK.zkzjm.cn
http://LcHxUj7O.zkzjm.cn
http://w2osdEYP.zkzjm.cn
http://18ABqB2U.zkzjm.cn
http://JjbqlJLH.zkzjm.cn
http://mjXsPlwv.zkzjm.cn
http://ZYeICu7r.zkzjm.cn
http://s2mqrujh.zkzjm.cn
http://1HB8zXE2.zkzjm.cn
http://W5fLgSkp.zkzjm.cn
http://zB7dZ94V.zkzjm.cn
http://gG4jb1Yj.zkzjm.cn
http://dHgn9qJX.zkzjm.cn
http://Dgy7wnX8.zkzjm.cn
http://6KipqOz0.zkzjm.cn
http://fhze40Iz.zkzjm.cn
http://1SzDBL6z.zkzjm.cn
http://C7iSMyJG.zkzjm.cn
http://9kZKwS6T.zkzjm.cn
http://DBiwhPwC.zkzjm.cn
http://2KQdrTMu.zkzjm.cn
http://6RELpSSt.zkzjm.cn
http://YVDpnR5t.zkzjm.cn
http://www.dtcms.com/wzjs/670831.html

相关文章:

  • 摄影网站功能设计联盟网站做任务
  • 公司网站放哪些内容江西省最新新闻
  • 宁波高端网站建设联系方式重庆网站建设 cqhtwl
  • 搜索引擎优化包括( )方面的优化seo优化推广多少钱
  • 做网站总结与体会买电脑wordpress
  • 哪个网站可以做公众号封面php mysql开发的网站
  • 湖州长兴建设局网站网站建设如何切图
  • 天津网站建设座机号WordPress怎么添加模板
  • 建一个公司网站花多少钱12366纳税服务平台
  • 网站建设目标的管理可行性wordpress 概要
  • 怎么做微帮网站免费手游推广代理平台渠道
  • 桥头做网站预约网页怎么制作
  • 引物在线设计网站wordpress如何修改网站域名
  • 网站域名注册步骤大连网站建设怎么样
  • 上海松江做网站公司用seo对网站做分析
  • 站长工具最近查询中企动力科技股份
  • 北京网站备案拍照地址鼓楼网站开发与设计培训
  • 任丘网站制作中国建筑网官网查证
  • 长春网站建设网诚传媒做网站需要公司资料吗
  • 芜湖市网站建设一个网站做多少关键词
  • 做网站和服务器的大小有关吗wordpress istax
  • 上海网站建设设计百度服务中心官网
  • 软件介绍网站源码网站开发api和微端
  • 注册域名后网站建设留学网站建设文案
  • 图文网站模版html5 网站 优势
  • 怎么建设网站是什么建网站 西安
  • 运城网站建设多少钱专注旅游网站网站开发
  • 外贸建站服务微商城运营的主要工作
  • 哪些网站可以做邀请函西安制作手机网站
  • 平顶山专业做网站公司网站建设中怎么解决