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

如何去推广一个网站dedecms源码

如何去推广一个网站,dedecms源码,手机网站智能建站,哈尔滨比较好的设计公司可复制现成代码直接使用#xff01;#xff01; 1.下边的例子演示了创建10个WebSocket 实例#xff0c;当其中某一个连接失败时#xff0c;会自动进行重连 templatediv/div /templatescript setup import { ref, reactive, onMo…可复制现成代码直接使用 1.下边的例子演示了创建10个WebSocket 实例当其中某一个连接失败时会自动进行重连 templatediv/div /templatescript setup import { ref, reactive, onMounted } from vue; const person reactive({}); const wsConnections ref([]); onMounted(() {//初始化创建一个ip数组 遍历过后调用创建十个sokect实例const urls [wss://url1,wss://url2,wss://url3,wss://url4,wss://url5,wss://url6,wss://url7,wss://url8,wss://url9,wss://url10,];wsConnections.value urls.map((url, index) new WebSocketConnection(url, index));//以上是针对初始化创建十个soket 如初始化只创建一个sokey只需直接new实例就行 // new WebSocketConnection(传入ip) //只创建一个连接 }); class WebSocketConnection {constructor(url, index) {//连接的url地址this.url url;this.ws new WebSocket(url);this.bindEvents(); //创建实例过后的回调}//监听回调连接成功、错误、断开、接收消息bindEvents() {this.ws.onopen () {console.log(${this.url} 连接成功.);};this.ws.onerror (error) {console.error(连接错误 ${this.url}: ${error});};this.ws.onclose (e) {console.log(${this.url} 连接关闭);if (e.code ! 1000) {console.log(Reconnecting ${this.url}...);//重连 此处可以加个setTimeout 多少秒后再重连this.reconnect();}};}//重连reconnect() {this.ws new WebSocket(this.url);this.bindEvents();} } /script style scoped langless /style 2.定时给后端发送消息 templatediv/div /templatescript setup import { ref, reactive, onMounted, onUnmounted } from vue; const person reactive({}); const wsConnections ref([]); onMounted(() {//初始化创建一个ip数组 遍历过后调用创建十个sokect实例const urls [wss://url1,wss://url2,wss://url3,wss://url4,wss://url5,wss://url6,wss://url7,wss://url8,wss://url9,wss://url10,];wsConnections.value urls.map((url, index) new WebSocketConnection(url, index));//以上是针对初始化创建十个soket 如初始化只创建一个sokey只需直接new实例就行// new WebSocketConnection(传入ip) //只创建一个连接 }); class WebSocketConnection {constructor(url, index) {//连接的url地址this.url url;this.ws new WebSocket(url);this.bindEvents(); //创建实例过后的回调this.startSending(); //给后端发送消息}//监听回调连接成功、错误、断开、接收消息bindEvents() {this.ws.onopen () {console.log(${this.url} 连接成功.);};this.ws.onerror (error) {console.error(连接错误 ${this.url}: ${error});};this.ws.onclose (e) {console.log(${this.url} 连接关闭);if (e.code ! 1000) {console.log(Reconnecting ${this.url}...);//重连 此处可以加个setTimeout 多少秒后再重连this.reconnect();}};}//重连reconnect() {this.ws new WebSocket(this.url);this.bindEvents();}// 给后端发送消息startSending() {this.interval setInterval(() {if (this.ws.readyState WebSocket.OPEN) {this.ws.send(发给后端的);}}, 5000);}// 停止发消息时调用stopSending() {clearInterval(this.interval);} } onUnmounted(() {wsConnections.value.forEach((connection) {connection.stopSending(); // 停止定时消息connection.ws.close(); // 关闭WebSocket连接}); }); /script style scoped langless /style 2.将十个链接收到的数据全部存在vuex 其他组件只使用第一个链接的数据 import { createStore } from vuexexport default createStore({state: {messages: []},mutations: {setMessages(state, payload) {// 我们这里假设payload的格式为 { index: n, message: msg }state.messages[payload.index] payload.message},},actions: {} }) 修改WebSocketConnection 类使其接收到消息的时候调用 setMessages mutationimport { ref, onMounted, onUnmounted } from vue; import store from /storeclass WebSocketConnection {constructor(url, index) {this.url url;this.index index;this.ws new WebSocket(url);this.bindEvents();this.startSending();}bindEvents() {// ...其它代码略 看上面this.ws.onmessage (message) {// 当接收到数据时将数据保存到 Vuexstore.commit(setMessages, { index: this.index, message: message.data });};}// ...其它代码略 看上面 }// 在 onMounted 钩子函数中创建WebSocket连接 onMounted(() {const urls [wss://url1, wss://url2, wss://url3, wss://url4, wss://url5, wss://url6, wss://url7, wss://url8, wss://url9, wss://url10];wsConnections.value urls.map((url, index) new WebSocketConnection(url, index)); }); 然后在其他组件中以这种方式使用第一个Websocket的消息 templatedivReceived Message: {{ message }}/div /templatescript setup import { computed } from vue import { useStore } from vuex const store useStore() const message computed(() store.state.messages[0]) // 获取第一个消息/script 3.使用pinia将十个链接收到的数据全部存了 其他组件只使用第一个链接的数据 import { defineStore } from pinia export const useUsersStore defineStore(users, {// 其它配置项state: () {return {messages: [],};},getters: {},actions: {setMessage(payload) {this.messages[payload.index] payload.messages}} }) 然后在 WebSocketConnection 类中调用 setMessage 来储存数据 import { ref, onMounted, onUnmounted } from vue; import { useUsersStore } from /store/user.js;class WebSocketConnection {constructor(url, index) {this.url url;this.index index;this.ws new WebSocket(url);this.store useUsersStore();this.bindEvents();this.startSending();}bindEvents() {// ...同上面this.ws.onmessage (message) {// 收到信息后将其存储在Pinia中this.store.setMessage({ index: this.index, message: message.data });};}// ...同上面e... }onMounted(() {const urls [ws://url1, ws://url2, ws://url3, ws://url4, ws://url5, ws://url6, ws://url7, ws://url8, ws://url9, ws://url10];wsConnections.value urls.map((url, index) new WebSocketConnection(url, index));});onUnmounted(() {wsConnections.value.forEach(connection {connection.stopSending(); connection.ws.close(); });}); 然后在其他组件中可以像这样使用第一个连接收到的数据 templatedivReceived Message: {{ message }}/div /templatescript setup import { computed } from vue import { useUsersStore } from /store/user.js;const store useUsersStore ()const message computed(() store.messages[0]) // 使用第一条消息/script
http://www.yutouwan.com/news/379731/

相关文章:

  • 看网站搜索什么关键词wordpress安装权限
  • 网站维护费一般多少钱佛山市品牌网站建设价格
  • 设计网站流程湖南省住房和城乡建设厅网站
  • 优秀网页设计网站是h5商城网站怎么建设
  • 编写网站 支付宝重庆渝北网站建设
  • 门户网站建设方案 模板建设网站所采用的技术
  • 青岛网站seo服务wordpress博客优点
  • 网站备案主体查询网站开发协议模板
  • 做logo去哪个网站程序员给别人做的网站违法了
  • 中山 网站制作免费虚拟主机空间互联
  • 一个专门做试题的网站wordpress首页悬浮框
  • 哈尔滨网站建设渠道asp网站静态化
  • python免费自学网站网页设计与制作课程心得
  • 招聘网站设计方案邯郸网站设计邯郸网站制作
  • 丽水市莲都区建设分局网站dedecms更改网站logo
  • 网站属性seo 重庆
  • 怎样找到专业做网站人这么自己做网站
  • angular做门户网站网站怎么做漂亮点
  • 网站模板组件旅游网站做seo
  • 怎么建网站锦州网站免费正能量破解版
  • 深圳网站建设的基本知识惠州悦商做网站
  • 公司做网站主机是什么用途网站顶部代码
  • 丽水专业网站制作公司企业官网网页
  • 如何在电商上购物网站wordpress页面都在
  • p2p网贷网站建设公司php ajax网站开发
  • 怎么做自己的发卡网站6南昌做网站需要多少钱
  • 建设黑彩网站网站建设中 图片
  • 网站建设开发原代码归属网络搭建比赛
  • 政务公开做的好的网站有哪些企业qq邮箱登录入口
  • 建设个人网站赚钱的经历wordpress自动添加视频播放