前端
文章平均质量分 93
在前端专栏中,你可以找到各种与前端开发相关的知识点,包括HTML、CSS、JavaScript等基础知识的讲解与实践,各类前端框架(如Vue.js、React等)的使用和教程,以及前端工程化、性能优化、移动端开发等方面的文章。
尘缘..
热爱技术、专注业务、开放合作、乐于分享,期待你我共同成长!
展开
-
博客园皮肤设置
不闻不若闻之,闻之不若见之,见之不若知之,知之不若行之,学至于行之而止矣 -- 荀子""💡 有理想,但不妄想, 💭 有希望,但不奢望, 🐬 有作为,但不妄为。"一件事情不付诸实践,即使在心里想一万遍也是徒然。"一沙一世界,一花一天堂。JS权限 : 已开通(建议在 页脚HTML代码 中添加代码)"为了能到远方,脚下的每一步都不能少.原创 2024-07-19 16:52:45 · 582 阅读 · 4 评论 -
Spring Boot整合Camunda打造高效工作流程
Spring Boot是一种基于Spring框架的开源Java开发框架,旨在简化新Spring应用的初始搭建以及开发过程。它通过提供一系列快速开发的工具和功能,使得开发者能够更加高效地构建和部署应用。简化配置:采用约定优于配置的理念,提供大量默认配置,大大减少了开发者的配置工作量。自动化管理:自动引入所需的依赖库,避免了手动管理依赖的繁琐。内嵌服务器:可以内嵌Tomcat、Jetty等服务器,无需单独部署应用,简化了应用的部署和管理。丰富的生态。原创 2024-03-25 09:41:07 · 8180 阅读 · 22 评论 -
Mysql锁
数据库锁定机制简单来说,就是数据库为了保证数据的一致性,而使各种共享资源在被并发访问变得有序所设计的一种规则。对于任何一种数据库来说都需要有相应的锁定机制,所以MySQL自然也不能例外。MySQL数据库由于其自身架构的特点,存在多种数据存储引擎,每种存储引擎所针对的应用场景特点都不太一样,为了满足各自特定应用场景的需求,每种存储引擎的锁定机制都是为各自所面对的特定场景而优化设计,所以各存储引擎的锁定机制也有较大区别。MySQL各存储引擎使用了三种类型(级别)的锁定机制:表级锁定,行级锁定和页级锁定。原创 2023-11-05 07:15:00 · 1823 阅读 · 41 评论 -
Vue 3 响应式对象:ref 和 reactive 的使用和区别
Vue 3 是 Vue.js 的最新版本,它带来了许多新的特性和改进,包括更好的性能、更简单的 API、更好的 TypeScript 支持等等。Vue 3 继续沿用了 Vue 2.x 的开发理念和模式,同时增加了一些新的概念和工具,使得开发者能够更高效地开发前端应用。在 Vue 3 中,有两种主要的方法来创建响应式对象:使用 ref 和使用 reactive。ref 是 Vue 3 中用于创建响应式引用的函数。它返回一个包装过的对象,这个对象的值是可以改变的,但它的引用是不会改变的。原创 2023-10-29 18:55:21 · 1695 阅读 · 20 评论 -
Vue.js 2.0:打造最强OAuth2.0第三方登录组件,安全又便捷!
OAuth(开放授权)是一个开放标准,允许用户让第三方应用访问该用户在某一网站上存储的私密的资源(如照片,视频,联系人列表),而无需将用户名和密码提供给第三方应用。5.客户端以GET的方式访问Github提供的地址,在参数中加入或在head中加入accesstoken。用户点击登录按钮跳转至Github提供的授权界面,并提供参数:客户端ID(稍后会介绍到),回调页面等。存入cookie,页面回调至登录之前保存的地址。客户端以POST的方式访问GIthub提供的地址,提供参数code等。原创 2023-10-06 10:36:30 · 1350 阅读 · 15 评论 -
TypeScript:索引签名,轻松打造类型安全代码!
在 TypeScript 中,索引签名是一种定义对象类型的方式,它允许我们使用字符串或数字作为索引来访问对象的属性。或者其中,index是指定索引的名称,可以是string或number类型;type则表示索引对应的值的类型。索引签名的作用是允许我们动态地添加和访问对象的属性。通过使用索引签名,我们可以在编译时无法确定具体属性名称的情况下,仍然能够安全地操作对象的属性。在本篇博文中,我们深入探讨了 TypeScript 中的索引签名特性。原创 2023-10-03 07:00:00 · 684 阅读 · 15 评论 -
React高手必学:自定义Hooks,轻松飞升技术巅峰!
Hooks 是 React 16.8 版本引入的一项重要功能,它允许在函数式组件中使用状态和其他 React 特性。Hooks 旨在解决在类组件中使用复杂逻辑、共享状态和处理副作用时的一些问题,使得函数式组件具有更多的能力和灵活性。Hooks 是一些特殊的函数,它们允许你在React函数式组件中“钩入”状态、生命周期以及其他React特性。它们提供了一种无需类组件的方式,使得你可以在函数式组件中使用类似于this.state和this.props的概念。原创 2023-09-30 11:36:23 · 845 阅读 · 2 评论 -
Vue 3:功能全解析,探索前端新大陆的魔法之旅!
本论旨在研究和分析 Vue 3 的功能实现,深入探讨 Vue 3 作为下一代前端开发框架的特色与创新。论文首先介绍了 Vue 3 的背景和发展历程,随后重点讨论了其引入的核心功能和改进之处,包括响应式系统的全面重构、Composition API、性能优化、TypeScript 支持等。最后,论文还通过实例和案例分析,验证了 Vue 3 在实际项目应用中的效果。研究结果表明,Vue 3 的功能实现不仅能够大大提升开发效率和代码可维护性,还能够提供更好的性能和更丰富的开发体验。原创 2023-09-26 14:47:59 · 715 阅读 · 3 评论 -
JavaScript 数组去重大揭秘:高手必备技巧一网打尽!
在 JavaScript 中,数组是一种常用的数据结构,用于存储多个值。然而,有时我们需要从数组中去除重复的元素,以便更有效地处理数据。数组去重是指将数组中重复的元素去除,只保留唯一的元素。JavaScript 数组去重是一项常见的任务,可以通过多种方法实现,详细讨论了 JavaScript 数组去重的方法,根据实际需求和数据类型的不同,可以选择适合的方法来进行数组去重操作。原创 2023-09-23 10:46:07 · 1154 阅读 · 6 评论 -
使用React-Query解决接口请求
对服务端数据进行增删改查的功能实现,以及的一些其他能力,希望对你有用,的使用场景没有其他状态管理库那么广泛,但还是能解决很多服务器拉取数据的痛点。原创 2023-09-19 10:08:37 · 2616 阅读 · 2 评论 -
TypeScript逆变 :条件、推断和泛型的应用
有一个名为test的函数,它接受两个参数。第一个参数是函数fn,第二个参数options受到fn参数的限制。乍一看,这个问题貌似并不复杂,不是吗?糊业务的时候,这种不是常见的需求嘛。“创建一个泛型类型Test,以确保这两个参数之间存在约束关系就完事了,睡醒再说”,就这样暗忖着,又昏昏沉沉睡过去,只有那闯入我梦中,飘忽不定,若即若离,暗示着我再次翻车【看题时觉得简单,解题时头大如牛】的命运。${${${||'fn4'在继续往下翻阅之前,先来玩呀,兄弟们。也可以用来配合本文食用哦。原创 2023-09-18 18:02:05 · 1895 阅读 · 1 评论 -
推荐一个页面引导库 driver_js
driver.js 是一款用原生 js 实现的页面引导库,上手非常简单,体积在 gzip 压缩下仅仅 5kb。我们来看下如何使用 driver.jssteps: [});可以看到仅仅十几行代码,你就可以完成页面引导功能的编写。首先引入 driver.js 库及其 css 文件然后调用 driver 函数构造一个 driverObj 对象,通过 steps 参数编写你的引导步骤,element 为需要高亮的 DOM 元素或 DOM 对应的 CSS 选择器。原创 2023-09-17 09:14:55 · 2409 阅读 · 4 评论 -
docker启动前端
提示:我服务器装的是Linux的,要如何安装 Docker,要如何在Docker中安装 Nginx,请自己度一下。安装Docker可以参考在Docker中安装 Nginx可以参考以上都是自测可行的,仅仅作为笔记,不喜勿喷!。可能会用到Docker start/stop/restart 命令,启动已被停止的容器wgshtml-web登录后复制停止运行中的容器wgshtml-web登录后复制重启容器容器wgshtml-web登录后复制后记:再开放一个8083的端口出来第一步登录后复制。原创 2023-09-16 18:03:23 · 2178 阅读 · 0 评论 -
vue实现pdf预览功能
Vue.js 是一种用于构建用户界面的渐进式框架。易学易用:Vue.js 的 API 设计简单直观,使得开发者可以快速上手。响应式数据绑定:Vue.js 使用了响应式的数据绑定机制,当数据发生变化时,页面会自动更新。组件化开发:Vue.js 支持组件化开发,将界面拆分为多个独立可复用的组件,提高代码的可维护性和复用性。虚拟 DOM:Vue.js 使用虚拟 DOM 技术,在内存中维护一个虚拟的 DOM 树,通过比较新旧 DOM 树的差异,最小化操作真实 DOM 的次数,提升性能。原创 2023-08-18 08:37:35 · 5724 阅读 · 3 评论 -
vue3组合式api单文件组件写法
除了使用 Vue 提供的内置组合式 API 之外,你还可以创建自己的自定义组合式 API 来封装特定功能的逻辑。}, 1000)})})return {timer,startTimersetup() {return {timer,startTimer这样,你就可以在多个组件中重复使用计时器逻辑。Vue3 的组合式 API 和单文件组件为我们带来了更加灵活、可维护的开发方式。通过组合式 API,我们能够更好地组织组件的逻辑,并且可以轻松地复用和共享代码逻辑。原创 2023-08-17 08:20:38 · 2253 阅读 · 1 评论 -
uniapp封装接口
定义接口:确定需要封装的功能和参数在进行接口封装之前,首先需要确定需要封装的功能和参数。这意味着你需要明确接口的输入和输出,并定义清楚接口的目的和使用方法。表单元素的选择器或引用是否包含密码字段是否重置隐藏字段需要执行的其他操作(如回调函数)根据这些需求,你可以创建一个名为resetForm的接口来封装重置表单数据的功能。// 接口的具体实现逻辑通过本文的介绍,我们了解到 Uniapp 中封装接口的重要性和优势。接口封装可以简化开发流程,提高代码的复用性和可维护性。原创 2023-08-16 07:30:29 · 4384 阅读 · 0 评论 -
Typescript - 索引签名
在 TypeScript 中,索引签名是一种定义对象类型的方式,它允许我们使用字符串或数字作为索引来访问对象的属性。或者其中,index是指定索引的名称,可以是string或number类型;type则表示索引对应的值的类型。索引签名的作用是允许我们动态地添加和访问对象的属性。通过使用索引签名,我们可以在编译时无法确定具体属性名称的情况下,仍然能够安全地操作对象的属性。在本篇博文中,我们深入探讨了 TypeScript 中的索引签名特性。原创 2023-08-15 08:01:35 · 2446 阅读 · 0 评论 -
Redis 持久化及集群架构
Redis 持久化及集群架构是构建可靠高效的数据存储解决方案的重要组成部分。通过持久化机制,我们可以将内存中的数据写入磁盘,实现数据的长期存储和恢复。而通过集群架构,我们可以搭建高可用性、故障自动转移的系统,提高系统的稳定性和扩展能力。在应用中,根据实际需求选择合适的持久化方式和集群架构非常重要。同时,我们也要注意性能优化和安全方面的考虑,避免单点故障和数据丢失等问题。以 Redis 为基础,利用持久化和集群架构,我们能够构建出高效、可靠的数据存储解决方案。原创 2023-08-14 13:13:45 · 3210 阅读 · 1 评论 -
form 表单恢复初始数据
在本文中,我们探讨了如何在表单中恢复初始数据的重要性以及实现的方法。通过在前端和后端保存数据,并使用适当的初始化和重置方法,我们可以轻松地恢复表单的初始状态,提供更好的用户体验。同时,我们也强调了数据安全和保护的重要性,建议采取相应的措施来防止潜在的安全风险。希望本文能够帮助您提高表单处理的效率和安全性,并进一步探索相关技术和工具的应用。原创 2023-08-13 08:45:42 · 2616 阅读 · 0 评论 -
Vue 路由懒加载
通过本篇技术博文的学习,我们深入了解了 Vue 路由懒加载的原理和应用。路由懒加载是提升 Web 应用性能的关键技术之一,它能帮助我们在应用中实现按需加载,提高加载速度,优化用户体验。在使用路由懒加载时,我们学会了安装和配置依赖,将路由配置为懒加载,并使用动态导入组件的方式来延迟加载页面。我们还探讨了预加载、组件懒加载、代码拆分和打包策略等进阶技巧,帮助开发人员进一步提升应用性能。当然,除了路由懒加载,我们还可以与其他优化策略相结合,如代码分割等,实现更完善的性能优化。原创 2023-08-12 10:11:18 · 3505 阅读 · 0 评论 -
React 实现文件分片上传和下载
文件分片上传是一种将大文件分割成多个小片段进行上传的技术。它的原理是将大文件切割成固定大小的小块,然后逐个上传这些小块,最后在服务器端将这些小块合并成完整的文件。文件分片上传的机制可以提高上传速度和稳定性。由于大文件的上传可能会受到网络不稳定、服务器限制等因素的影响,使用文件分片上传可以将大文件分割成多个小块,每个小块独立上传,减少了单个上传请求的数据量,降低了上传失败的概率。同时,文件分片上传还可以实现断点续传的功能,即在上传过程中出现中断或失败时,可以从上次上传的位置继续上传,而不需要重新上传整个文件。原创 2023-08-11 08:36:47 · 3397 阅读 · 0 评论 -
Vue3大屏幕动态滚动
Vue3 是一种用于构建用户界面的现代 JavaScript 框架。与其前身 Vue.js 相比,Vue3 引入了许多新的功能和改进,使开发者能够更高效地构建可扩展的应用程序。Composition API 组合式 APIVue3 引入了 Composition API,它提供了一种全新的组件组织方式。通过使用 Composition API,您可以将相关逻辑封装在一起,并且可以更好地重用、测试和理解代码。这个特性使得编写复杂组件变得更加简单和灵活。更好的性能。原创 2023-08-10 08:36:10 · 3562 阅读 · 0 评论 -
使用 Vue 实现页面访问拦截
Vue 路由是用于构建单页应用程序(SPA)的官方路由库。它允许开发者根据不同的 URL 地址,将页面切换到对应的组件上,实现页面之间的无刷新跳转。在 Vue 路由中,我们可以定义一组路由规则,每个路由规则都映射一个 URL 地址和对应的组件。当用户访问某个 URL 地址时,路由会根据配置的规则找到匹配的组件,并将其渲染到指定的位置。Vue 路由提供了多种导航方式,包括普通的链接跳转、编程式导航以及通过浏览器前进和后退按钮进行导航等。原创 2023-08-09 09:50:30 · 3387 阅读 · 0 评论 -
深入浅出 Typescript
TypeScript 是 JavaScript 的一个超集,支持 ECMAScript 6 标准。TypeScript 由微软开发的自由和开源的编程语言。TypeScript 设计目标是开发大型应用,它可以编译成纯 JavaScript,编译出来 JavaScript 可以运行在任何浏览器上。原创 2023-08-05 18:14:50 · 2440 阅读 · 2 评论 -
从自定义元素到 Shadow DOM
自定义元素是指开发者自己定义的 HTML 标签,可以拥有自定义的属性和方法。通过使用自定义元素,开发者可以创建更加语义化和结构化的代码,提高代码的可读性和可维护性。自定义元素的定义是通过使用 Web 组件规范中的和元素来实现的。开发者可以使用元素定义自定义元素的模板,然后使用元素指定插槽,用于插入其他内容。自定义元素的目的是为了将复杂的组件封装成一个独立的标签,使代码更加模块化和可重用。原创 2023-08-03 08:26:32 · 1459 阅读 · 0 评论 -
使用 Webpack 优化前端开发流程
Webpack 是一个模块打包工具,它可以将多个模块打包成一个或多个 bundle(包),用于在浏览器中加载。它的主要目的是解决前端开发中的模块化问题。入口(Entry): 指定 Webpack 开始构建依赖图的入口文件。通过配置入口,Webpack 可以根据代码的依赖关系自动构建整个应用程序的依赖图。输出(Output): 定义 Webpack 打包后的文件输出的位置和文件名。可以配置输出文件的路径、文件名和公共路径等。加载器(Loaders)原创 2023-07-29 14:04:35 · 1900 阅读 · 2 评论 -
TypeScript 在前端开发中的应用实践
在 TypeScript 中,我们可以使用箭头函数(=>)或关键字function来定义函数。同时,我们也可以为函数的参数指定类型。// 箭头函数 const add =(x : number , y : number) : number => {// function 关键字 function multiply(x : number , y : number) : number {在上面的例子中,函数add和multiply都有两个参数,并且参数类型都是number。它们都返回一个number。原创 2023-07-26 21:15:58 · 2351 阅读 · 3 评论 -
Vue 3的响应式框架:性能和开发效率的提升
Vue 是一种流行的 JavaScript 框架,用于构建用户界面。Vue 3 是 Vue 框架的最新版本,它在性能和开发效率方面带来了许多重要的改进。本文将介绍 Vue 3 的这些核心特性,并分析它们对于开发人员和应用程序性能的影响。本文介绍了 Vue 3 在响应式框架方面的性能和开发效率提升。Vue 3 采用了更高效的虚拟 DOM 和 Composition API,使得渲染性能大幅提升。同时,Vue 3 还提供了更好的 TypeScript 支持、更快的编译速度和更小的包体积。原创 2023-07-24 16:57:55 · 1332 阅读 · 0 评论 -
带你理解Vue.js:轻松创建复杂的SPA
Vue.js 是一款构建用户界面的渐进式框架。与其他重量级框架相比,Vue.js 旨在易于上手,同时保持足够的灵活性来处理复杂的单页面应用(SPA)。其核心库专注于视图层,使得它可以轻易地与其他库或已有项目进行整合。Vue.js 还提供了一些高级特性,如路由、状态管理和构建工具,这些都是通过官方维护的库和包进行支持。原创 2023-07-21 16:15:36 · 149 阅读 · 2 评论 -
探索 React Native 和 Flutter
React Native 和 Flutter 是两个备受瞩目的跨平台移动应用开发框架,它们的出现是对传统原生开发方法的一次革命性突破。React Native 是由 Facebook 开发并于 2015 年首次发布的框架。它基于 React 库,使用 JavaScript 语言开发,旨在帮助开发人员使用相同的代码构建原生 iOS 和 Android 应用。传统上,移动应用的开发需要分别使用不同的语言和工具集,增加了重复开发的工作量和时间成本。原创 2023-07-20 21:15:52 · 338 阅读 · 1 评论 -
Vue 3 功能实现
本论旨在研究和分析 Vue 3 的功能实现,深入探讨 Vue 3 作为下一代前端开发框架的特色与创新。论文首先介绍了 Vue 3 的背景和发展历程,随后重点讨论了其引入的核心功能和改进之处,包括响应式系统的全面重构、Composition API、性能优化、TypeScript 支持等。最后,论文还通过实例和案例分析,验证了 Vue 3 在实际项目应用中的效果。研究结果表明,Vue 3 的功能实现不仅能够大大提升开发效率和代码可维护性,还能够提供更好的性能和更丰富的开发体验。原创 2023-07-19 15:26:34 · 535 阅读 · 0 评论 -
React 中使用高阶函数
在 React 中,高阶函数是一个函数,它接收一个组件作为参数,并返回一个新的组件。原创 2023-07-14 18:04:32 · 2126 阅读 · 0 评论 -
React/Vue 实现路由鉴权、导航守卫和路由拦截的优化建议
本文介绍了在 React 和 Vue 中如何实现路由鉴权、导航守卫和路由拦截的方法。路由鉴权是指根据用户权限验证用户是否有权限访问特定的路由页面。导航守卫是在路由切换之前执行的钩子函数,用于控制路由的跳转。路由拦截是在路由处理过程中拦截某些特定路由的行为。本文将介绍 React 和 Vue 中的相关概念和实现方式,并通过示例代码展示如何应用这些概念来实现路由鉴权、导航守卫和路由拦截。原创 2023-07-13 19:55:47 · 3381 阅读 · 0 评论 -
Vue 引入高德地图:实现地图展示与交互
Vue 框架的基本原理是基于组件化的开发模式。在 Vue 中,页面被拆分为一个个小的、可复用的组件,组件之间可以嵌套使用,形成复杂的界面。Vue 通过对组件的封装和管理,实现了数据与视图的分离,使得开发者可以更加关注数据的处理和逻辑的实现。Vue 的核心原理包括以下几个方面:响应式数据:Vue 使用了数据劫持和观察机制,通过侦测数据的变化,当数据发生改变时,自动更新视图。当我们修改 Vue 实例的数据时,Vue 内部会通过 setter 方法拦截数据的修改,然后通知相关的依赖进行更新。原创 2023-07-10 20:22:52 · 1639 阅读 · 0 评论 -
Vue 和 React 前端框架的比较
Vue 是一款由尤雨溪于 2014 年推出的开源 JavaScript 框架。尤雨溪在开发 Vue 时的目标是创建一个灵活且易于上手的框架,能够轻松构建交互式的前端界面。Vue 使用了组件化的开发模式,通过组合各个组件来构建复杂的应用程序。Vue 的背景可以追溯到当时的 React 和 Angular 两大主流前端框架。尤雨溪对于 React 的函数式和响应式的思想产生了启发,并认为有必要创建一个更加轻量级的框架来满足开发者的需求。原创 2023-07-09 08:58:00 · 7513 阅读 · 4 评论 -
Vue.js + Electron 的跨平台桌面应用程序开发
Vue.js 是一个流行的 JavaScript 前端框架,用于构建用户界面。它采用了 MVVM(Model-View-ViewModel)的架构模式,通过双向数据绑定将视图和数据进行关联。Vue.js 的设计目标是使开发者能够逐步采用和应用它,同时也能够与已有的项目和库进行无缝集成。以下是 Vue.js 的主要特点和优势:简洁:Vue.js 提供了简单而直观的 API,使开发者能够快速上手并构建复杂的应用程序。它的模板语法清晰明了,易于理解和编写。原创 2023-07-07 12:21:36 · 5922 阅读 · 2 评论 -
JavaScript 进阶 - 第4天
首先浅拷贝和深拷贝只针对引用类型浅拷贝:拷贝的是地址常见方法:直接赋值和浅拷贝的区别:浅拷贝的理解:首先浅拷贝和深拷贝只针对引用类型深拷贝:拷贝的是对象,不是地址常见方法:函数递归:如果一个函数在内部可以调用其本身,那么这个函数就是递归函数练习:利用递归函数实现模拟效果需求:面试中问到深拷贝:1.2.3 JSON序列化2 异常处理2.1 throw 抛异常异常处理是指预估代码执行过程中可能发生的错误,然后最大程度的避免错误的发生导致整个程序无法继续运行总结:总结:总结:相当于断点调试 是原创 2023-07-05 19:25:47 · 1167 阅读 · 0 评论 -
React自定义Hooks
Hooks 是 React 16.8 版本引入的一项重要功能,它允许在函数式组件中使用状态和其他 React 特性。Hooks 旨在解决在类组件中使用复杂逻辑、共享状态和处理副作用时的一些问题,使得函数式组件具有更多的能力和灵活性。Hooks 是一些特殊的函数,它们允许你在React函数式组件中“钩入”状态、生命周期以及其他React特性。它们提供了一种无需类组件的方式,使得你可以在函数式组件中使用类似于this.state和this.props的概念。原创 2023-07-03 20:37:38 · 1920 阅读 · 2 评论 -
Vue 3和Element组件库的分页功能实现
Vue 3是一个灵活的JavaScript框架,采用虚拟DOM和响应式数据的概念,使开发者能够高效地构建用户界面。Element作为一套基于Vue.js的UI组件库,提供了丰富的UI组件和美观的样式,无论是数据展示还是用户交互都能发挥巨大作用。为了使用Vue 3和Element,需要正确安装和配置它们。Vue 3是一个用于构建用户界面的JavaScript框架,它具有更高的运行时性能和更好的开发体验。原创 2023-07-02 20:42:52 · 5181 阅读 · 0 评论 -
前端如何使用WebSocket发送消息
WebSocket协议是一种在Web应用程序中实现实时双向通信的协议。它提供了一种持久性的连接机制,允许服务器和客户端之间进行实时数据的双向传输。与传统的HTTP协议不同,WebSocket协议通过一次握手即可建立连接,并保持连接的状态,使得服务器和客户端可以随时发送和接收数据,而无需再次发送HTTP请求。这种双向通信方式在实时应用中具有重要意义,如实时聊天、协作工具、股票行情等。原创 2023-07-01 21:13:45 · 6192 阅读 · 0 评论