1,接口类,规范子类的调用接口# java : 面向对象编程 # 设计模式 —— 接口 # 接口类 : python原生不支持 # 抽象类 : python原生支持的from abc import abstractmethod,ABCMeta class Payment(metaclass=ABCMeta):    # 元类 默认的元类是type   @abstractmethod   def
背景前端时间,公司开发了一款主动服务的机器人的程序,讲产生的消息通过服务端主动推送到客户端(H5、IOS、Android),支持用户的个性化开关设置,用户可自由选择接受的消息类型;同时支持用户主动提问;在此记录下整个部署以及实现的大致思路;同时感谢我的Leader给予的帮助。 部署Nginx配置为了保持长连接有效,配置HTTP版本1.1;配置Upgrade和Connection响应头信息;
公司做了个数字货币行情的H5,需要用到websocket,刚好自己也不会,可以学习一下,美滋滋。项目结合vue脚手架和websocket来搭建,主要遇到了两个问题,一个是:断开重连机制要如何处理;另外一个是:如何在页面上随时的发送消息并实时接收返回的数据,断开重连后又如何重新发送消息,接收消息一、断开重连机制处理 (详细参考这里)写一个重连的方法(重连方法中必须加一把锁,重连方法执行过程中不再执行
Web框架的本质我们可以这样理解:所有的Web应用本质上就是一个socket服务端,而用户的浏览器就是一个socket客户端。 这样我们就可以自己实现Web框架了。Python中使用socket和浏览器进行通信 import socket sk = socket.socket() sk.bind(("127.0.0.1", 80)) sk.listen() while True:
转载 6月前
19阅读
vue组件的定义● 组件(Component)是Vue.js最强大的功能之一● 组件可以扩展HTML元素,封装可重用代码● 在较高层面上,组件是自定义元素,Vue.js的编译器为他添加特殊功能● 有些情况下,组件也可以表现用 is 特性进行了扩展的原生的HTML元素● 所有的Vue组件同时也都是Vue实例,所以可以接受相同的选项对象(除了一些根级特有的选项),并提供相同的生命周期钩子vue组件的功
转载 2024-02-04 02:10:19
72阅读
关键词:SDK,VUE,单例模式,代码复用本文旨在分享一个前端 sdk 的开发方式。即使用 vue 直接开发1.项目背景需求描述:1.开发一个集团通用 SSO 单点登录页面,大致如下图: 2.开发一个对应 sdk,给接入方使用,页面效果和 web 保持一致。如下图: SDK 需求: 提供调用方式给用户,可以传递参数,调用方法,直接生成登录弹框和背景半透明的蒙层在弹框成功
安装:cnpm i vue-socket.io -S cnpm i socket.io-client -S客户端:在main.js中import Vue from 'vue' import App from './App.vue' import router from './router' import VueSocketIO from 'vue-socket.io' import SocketI
转载 2023-06-30 17:39:22
207阅读
前言工作中用到了消息推送功能,之前了解过SOCKET 无意中了解到即时通讯框架SocketIO 简单说两句Socket.IO 是什么Socket.IO是一个库,基于 Node.js 的实时应用程序框架。可以在浏览器和服务器之间实现实时,双向和基于事件的通信。它适用于每个平台、浏览器或设备,同样注重可靠性和速度。Socket.IO 起源WebSocket 的产生源于 Web 开发中日益增长的实时通信
WebSocket是HTML5新增的一种全双工通信协议,客户端和服务
转载 2022-10-23 10:40:24
1559阅读
一、安装axios和confignpm install axios --Savenpm install config --Save二、封装config文件在src目录下创建config文件夹,config内创建index.js文件//网络请求地址 例如: http://wwww.baidu.com 本地开发时,可直接填写后端测试接口地址(需要设置浏览器允许跨域请求,或后端设置Cross-orig
转载 2024-02-24 23:02:38
37阅读
1、校验数据类型export const typeOf = function(obj) { return Object.prototype.toString.call(obj).slice(8, -1).toLowerCase() }示例typeOf('vue') // string typeOf([]) // array typeOf(new Date()) // date typeO
转载 2024-03-18 09:00:44
36阅读
Electron是一个使用 JavaScript、HTML 和 CSS 构建桌面应用程序的框架。 嵌入 Chromium 和 Node.js 到 二进制的 Electron 允许您保持一个 JavaScript 代码代码库并创建 在Windows上运行的跨平台应用 macOS和Linux——不需要本地开发 经验。 https://www.electronjs.org/ 目录01.打包封装1.创建v
之前我发布了一篇是有关于uniapp的接口简单封装,这次我发布的是vue的接口简单封装,这次有涉及到几个依赖,需要提前安装好,一个是axios依赖,一个是qs依赖,以下是安装方法:npm install axios -S npm install qs安装完之后,就可以直接再也没中引入了,这次涉及到三个文件,一个是对axios的封装文件,即axios.js,一个是对接口的封装文件,即index.js
转载 2024-04-18 13:32:44
224阅读
如果有多个socket.io服务器(ALB平衡),则客户端会与两个节点建立连接并断开连接,从而导致"传输错误"。 理想情况下,它应连接到一个节点并保持连接到该节点。 如果ALB中只有一个节点,则连接保持持久。 有帮助吗?使用0.8.3版本的io.socket删除新版本1.0.0compile('io.socket:socket.io-client:0.8.3') { exclude group:
socketio 安装配置Socket.IO是一个完全由JavaScript实现、基于Node.js、支持WebSocket的协议用于实时通信、跨平台的开源框架,它包括了客户端的JavaScript和服务器端的Node.js。Socket.IO除了支持WebSocket通讯协议外,还支持许多种轮询(Polling)机制以及其它实时通信方式,并封装成了通用的接口,并且在服务端实现了这些实时机制的相应
转载 2023-08-09 12:58:09
479阅读
文章目录一、axios是什么特性基本使用二、为什么要封装三、如何封装设置接口请求前缀# 设置请求头与超时时间封装请求方法请求拦截器响应拦截器小结参考文献 一、axios是什么axios 是一个轻量的 HTTP客户端基于 XMLHttpRequest 服务来执行 HTTP 请求,支持丰富的配置,支持 Promise,支持浏览器端和 Node.js 端。自Vue2.0起,尤大宣布取消对 vue-re
目录前言一、为什么要封装请求二、创建axios实例并导出三、接口的封装四、接口在页面的调用五、补充内容(跨域请求需配置代理) 前言此封装没有什么复杂的内容都是一些基本操作,因此较适合小白,复制黏贴即可用。一、为什么要封装请求小型的项目是完全可以不封装的,中大型项目非常建议封装一下,有些接口是重复调用的,那样你就需要重复去写,而且当接口修改时,你就需要去找n个调用了这个接口的页面,然后一个个的重复
转载 2023-09-19 21:11:00
216阅读
组件的prop双向绑定于vue2废除,vue2的prop只限于父->子的单向流动,不能修改外层传来的数据,如果需要得自己来实现。实现方法步骤:   1.在组件内得data对象中创建一个props属性的副本data: function () { return { myResult: this.result(props中得值)//data中新增字段 };  2.创建针对props
转载 2023-06-14 14:59:26
159阅读
什么样的内容需要封装 一段代码在项目中出现两次就开始考虑是否应该进行封装,出现三次就肯定要封装,大到一个页面,一个组件,小到一个function和一个css样式。封装原则 以下将封装出来的通用组件叫做子组件,引用通用组件的界面叫做父组件。封装出来的组件必须具有高性能,低耦合的特性,主要从以下几点入手:1.数据从父组件传入子组件本身不要生成数据,如果需要生成数据,只能在组件内部进行使用,不要
概述本文主要进行描述一种在vue封装表格的方法。目标是达成类似于element-plus中的使用方式。element-plus中表格用法如下:<template> <el-table :data="tableData"> <el-table-column prop="id" label="Id" /> <el-table-column prop
转载 2024-04-09 12:38:50
436阅读
  • 1
  • 2
  • 3
  • 4
  • 5