01 2023 档案

摘要:CSS 媒体查询CSS 媒体查询 阅读全文
posted @ 2023-01-31 18:13 飞仔FeiZai 阅读(77) 评论(0) 推荐(0) 编辑
摘要:CSS 设置页面缩放CSS 设置页面缩放 阅读全文
posted @ 2023-01-31 16:59 飞仔FeiZai 阅读(403) 评论(0) 推荐(0) 编辑
摘要:CSS 设置背景图片CSS 设置背景图片 阅读全文
posted @ 2023-01-31 09:29 飞仔FeiZai 阅读(341) 评论(0) 推荐(0) 编辑
摘要:移动端 H5 实现拍照功能移动端 H5 实现拍照功能 阅读全文
posted @ 2023-01-30 14:18 飞仔FeiZai 阅读(1038) 评论(0) 推荐(0) 编辑
摘要:Nginx 前端部署配置Nginx 前端部署配置 阅读全文
posted @ 2023-01-30 09:56 飞仔FeiZai 阅读(4211) 评论(0) 推荐(0) 编辑
摘要:JavaScript 文件处理JavaScript 文件处理 阅读全文
posted @ 2023-01-29 17:00 飞仔FeiZai 阅读(430) 评论(0) 推荐(0) 编辑
摘要:JavaScript 文件上传与下载JavaScript 文件上传与下载 阅读全文
posted @ 2023-01-29 15:48 飞仔FeiZai 阅读(6010) 评论(0) 推荐(3) 编辑
摘要:JavaScript 循环JavaScript 循环 阅读全文
posted @ 2023-01-29 11:45 飞仔FeiZai 阅读(49) 评论(0) 推荐(0) 编辑
摘要:JavaScript 条件判断与比较运算JavaScript 条件判断与比较运算 阅读全文
posted @ 2023-01-29 11:38 飞仔FeiZai 阅读(204) 评论(0) 推荐(0) 编辑
摘要:JavaScript 赋值JavaScript 中有多种赋值方式。 阅读全文
posted @ 2023-01-29 10:55 飞仔FeiZai 阅读(1353) 评论(0) 推荐(0) 编辑
摘要:JavaScript 类型转换JavaScript 中有两种类型转换:隐式类型转换和显式类型转换。 阅读全文
posted @ 2023-01-25 20:05 飞仔FeiZai 阅读(84) 评论(0) 推荐(0) 编辑
摘要:JavaScript 对象合并JavaScript 对象合并 阅读全文
posted @ 2023-01-25 16:13 飞仔FeiZai 阅读(1935) 评论(0) 推荐(0) 编辑
摘要:JavaScript 数组合并JavaScript 数组合并 阅读全文
posted @ 2023-01-25 15:39 飞仔FeiZai 阅读(259) 评论(0) 推荐(0) 编辑
摘要:JavaScript 数组去重JavaScript 数组去常用方法 阅读全文
posted @ 2023-01-25 15:23 飞仔FeiZai 阅读(548) 评论(0) 推荐(1) 编辑
摘要:JavaScript 排序算法JavaScript 常用排序算法 阅读全文
posted @ 2023-01-25 14:52 飞仔FeiZai 阅读(82) 评论(0) 推荐(0) 编辑
摘要:JavaScript 执行上下文与作用域JavaScript 执行上下文是指 JavaScript 引擎在执行代码时的环境。它包含了代码所需的所有信息,包括变量对象、作用域链、this 对象等。 作用域是指 JavaScript 中变量和函数的可访问范围。JavaScript 中有全局作用域和局部作用域。 阅读全文
posted @ 2023-01-24 23:23 飞仔FeiZai 阅读(83) 评论(0) 推荐(0) 编辑
摘要:JavaScript 原始值与引用值JavaScript 中有两种类型的值:原始值和引用值。 阅读全文
posted @ 2023-01-24 11:00 飞仔FeiZai 阅读(50) 评论(0) 推荐(0) 编辑
摘要:JavaScript 自增和自减运算符JavaScript中有两种方法来自增或自减一个变量的值,分别是自增运算符和自减运算符。 阅读全文
posted @ 2023-01-24 10:41 飞仔FeiZai 阅读(507) 评论(0) 推荐(0) 编辑
摘要:JavaScript 解决冒泡事件导致的性能问题在 JavaScript 中,当有大量的子元素都需要绑定同一个事件时,冒泡事件可能会导致性能问题。 阅读全文
posted @ 2023-01-23 23:26 飞仔FeiZai 阅读(97) 评论(0) 推荐(0) 编辑
摘要:JavaScript 事件委托事件委托是一种事件处理方式,它可以通过在父元素上绑定事件,然后利用事件冒泡的特性,让父元素处理子元素上的事件。这样做的好处是可以减少事件监听器的数量,提高性能。 阅读全文
posted @ 2023-01-23 22:34 飞仔FeiZai 阅读(66) 评论(0) 推荐(0) 编辑
摘要:JavaScript 事件冒泡和事件捕获在事件冒泡中,当一个事件在子元素上触发时,会先在该子元素上执行事件处理函数,然后再向其父元素传播,直到文档的根元素。这意味着,如果在父元素上添加了事件监听器,那么在子元素上触发的事件也会在父元素上执行该监听器。 在事件捕获中,当一个事件在子元素上触发时,会先从文档的根元素开始,向下传播到该子元素。这意味着,如果在父元素上添加了事件监听器,那么在子元素上触发的事件会先在父元素上执行该监听器。 阅读全文
posted @ 2023-01-23 22:19 飞仔FeiZai 阅读(229) 评论(0) 推荐(0) 编辑
摘要:JavaScript 脚本加载和执行机制JavaScript 是一种脚本语言,它可以在浏览器中加载和执行。在 HTML 文档中,JavaScript 代码可以直接嵌入到 HTML 文档中,也可以通过引用外部 JavaScript 文件来加载和执行。 阅读全文
posted @ 2023-01-22 23:56 飞仔FeiZai 阅读(254) 评论(0) 推荐(0) 编辑
摘要:WebAssemblyWebAssembly (简称Wasm) 是一种运行在浏览器中的二进制文件格式,它可以在浏览器中与 JavaScript 配合使用,允许在浏览器中执行更快的、更复杂的应用程序。 阅读全文
posted @ 2023-01-22 23:39 飞仔FeiZai 阅读(124) 评论(0) 推荐(0) 编辑
摘要:JavaScript 实现继承JavaScript 中的继承可以通过多种方式来实现,如原型链继承、借用构造函数继承、组合继承、ES6 Class继承等。 阅读全文
posted @ 2023-01-22 23:25 飞仔FeiZai 阅读(116) 评论(0) 推荐(0) 编辑
摘要:JavaScript 函数式编程JavaScript 中的函数式编程是一种编程范式,它将函数作为一等公民来使用。 在函数式编程中,函数是一种特殊的对象,可以赋值给变量、作为参数传递给其他函数、或作为其他函数的返回值。 函数式编程强调了函数的纯函数性,即函数输入相同时,总能得到相同的输出,并且不会对外部状态产生影响。 函数式编程还提倡使用高阶函数,即函数可以作为参数传递给其他函数,或作为其他函数的返回值。 阅读全文
posted @ 2023-01-22 23:12 飞仔FeiZai 阅读(120) 评论(0) 推荐(0) 编辑
摘要:JavaScript 跨域问题跨域 (Cross-origin resource sharing, CORS) 是指在浏览器中,同源策略限制了来自不同域的脚本对每个网络资源的访问权限。 阅读全文
posted @ 2023-01-22 22:26 飞仔FeiZai 阅读(142) 评论(0) 推荐(0) 编辑
摘要:JavaScript 循环引用JavaScript 中的循环引用是指两个或多个对象之间相互引用的情况。这种情况下,这些对象就不能被垃圾回收机制正常回收,会导致内存泄漏。 阅读全文
posted @ 2023-01-22 15:06 飞仔FeiZai 阅读(1251) 评论(0) 推荐(0) 编辑
摘要:JavaScript 内存管理及垃圾回收JavaScript 中的内存管理主要由 JavaScript 引擎负责,开发人员不需要手动管理内存。JavaScript 引擎使用垃圾回收算法来实现自动垃圾回收。 JavaScript 垃圾回收算法是指在 JavaScript 程序中,用来回收不再使用的内存的算法。 阅读全文
posted @ 2023-01-22 11:58 飞仔FeiZai 阅读(534) 评论(0) 推荐(0) 编辑
摘要:JavaScript 异步编程JavaScript 是一种单线程语言,这意味着只有一个线程可以在同一时间执行 JavaScript 代码。在 JavaScript 中,异步编程是一种编写不阻塞代码的方式,它可以在不影响页面响应的情况下执行长时间运行的操作。 JavaScript 中有几种常用的异步编程模型,如回调函数、Promise 和 async/await。 阅读全文
posted @ 2023-01-21 16:09 飞仔FeiZai 阅读(51) 评论(0) 推荐(0) 编辑
摘要:JavaScript 作用域和闭包JavaScript 中的作用域指的是变量和函数的可访问范围。 JavaScript 中,闭包是一个函数对象,它可以访问定义该函数的作用域里的变量,即使函数已经返回。闭包的特点是,它可以在其相关环境不存在时保留变量。闭包可以被保存到变量中并在以后使用。它具有两个特征,一是可以访问外部函数的变量,二是它可以在外部函数执行结束后继续执行。闭包可以用来实现私有变量,记忆函数,高阶函数等功能。 阅读全文
posted @ 2023-01-21 15:47 飞仔FeiZai 阅读(288) 评论(0) 推荐(0) 编辑
摘要:JavaScript 中 this 关键字的作用和如何改变其上下文JavaScript 中的 this 关键字引用了所在函数正在被调用时的对象。在不同的上下文中,this 的指向会发生变化。可以通过 call, apply, bind 方法来改变 this 的上下文。 阅读全文
posted @ 2023-01-21 14:28 飞仔FeiZai 阅读(198) 评论(0) 推荐(0) 编辑
摘要:MVVM 与 MVC 的区别MVVM (Model-View-ViewModel) 和 MVC (Model-View-Controller) 都是软件架构模式,用于将应用程序的不同部分分离开来,更好地组织代码。 阅读全文
posted @ 2023-01-20 17:40 飞仔FeiZai 阅读(810) 评论(0) 推荐(0) 编辑
摘要:JavaScript Promise 同步处理Promise 同步处理可以使用 async/await 来实现 阅读全文
posted @ 2023-01-20 17:13 飞仔FeiZai 阅读(1635) 评论(0) 推荐(0) 编辑
摘要:JavaScript 中断 forEach 循环在 JavaScript 中,如何中断数组对象的 forEach 方法的循环? 阅读全文
posted @ 2023-01-20 16:34 飞仔FeiZai 阅读(915) 评论(0) 推荐(0) 编辑
摘要:Vue.js 中如何监测数组的变化?在 Vue 中,如果直接对数组进行操作,比如使用下标直接修改元素, Vue 是无法监测到这种变化的,导致无法触发视图更新。因此如何监测数组变化是值得关注的问题。 阅读全文
posted @ 2023-01-19 22:06 飞仔FeiZai 阅读(1464) 评论(0) 推荐(0) 编辑
摘要:Vue.js 中 data 为什么必须是一个函数?在 Vue 中,每个组件都是一个对象,当多个实例共享同一对象时,它们将共享相同的状态。如果 data 不是一个函数并且是一个对象,那么所有组件实例将共享相同的 data 对象,这样就会导致状态混乱。 为了避免这种情况,Vue 强制要求 data 必须是一个函数,这样每个组件实例都会得到一个独立的 d 阅读全文
posted @ 2023-01-19 17:33 飞仔FeiZai 阅读(148) 评论(0) 推荐(0) 编辑
摘要:JavaScript 请求服务端接口在 JavaScript 中请求服务端接口主要有三种方式: 1、XMLHttpRequest: 这是 JavaScript 中内置的对象,可以在浏览器端使用。通过 open() 和 send() 方法来配置和发出请求,然后使用 onreadystatechange 属性来处理响应。 2、Fetch API: 是一种更简单的方法发出 HTTP 请求,你可以使用 fetch() 函数来发出请求,返回一个 Promise 对象来处理响应。 3、Axios: 是一个基于Promise的 HTTP 客户端,可以更方便地发出请求,使用类似 jquery ajax 的方式来发送请求,可以设置请求头、拦截器等。 在使用这些方法请求服务端接口时,需要考虑跨域问题。可以使用 JSONP 或 CORS 来解决跨域问题。 阅读全文
posted @ 2023-01-16 17:38 飞仔FeiZai 阅读(210) 评论(0) 推荐(0) 编辑
摘要:JavaScript 判断变量的类型JavaScript 中有多种方法来判断变量的类型,如 typeof、instanceof、Object.prototype.toString.call()、constructor属性、Symbol.toStringTag属性以及 lodash 等第三方库 阅读全文
posted @ 2023-01-16 17:06 飞仔FeiZai 阅读(746) 评论(0) 推荐(1) 编辑
摘要:JavaScript async/await 的用法以及它与 Promise 的区别async/await 是 JavaScript 中的语法糖,用于简化异步代码的编写。它允许你在异步代码中使用同步风格的语法,使代码更易于阅读和维护。 阅读全文
posted @ 2023-01-16 16:39 飞仔FeiZai 阅读(225) 评论(0) 推荐(0) 编辑
摘要:HTTP协议HTTP协议(超文本传输协议)是一种用于在万维网上传输超文本的协议。它是基于请求-响应模型的应用层协议。客户端发送一个请求消息给服务器,服务器返回一个响应消息。 阅读全文
posted @ 2023-01-16 16:23 飞仔FeiZai 阅读(47) 评论(0) 推荐(0) 编辑
摘要:JavaScript 浅拷贝和深拷贝JavaScript 中对象的赋值是通过将一个对象的引用赋值给另一个变量,两个变量指向同一个内存地址。这意味着如果更改其中一个对象的值,另一个对象的值也会更改。 浅拷贝是将一个对象的值复制给另一个对象,但如果对象中包含对其他对象的引用,则这些引用仍然指向原来的对象。可以使用 Object.assign() 和 spread operator(扩展运算符 ...)等方法来实现浅拷贝。 深拷贝是完全复制一个对象及其中包含的所有对象。可以使用 JSON.parse(JSON.stringify()) 或 lodash.cloneDeep() 等方法来实现深拷贝。 阅读全文
posted @ 2023-01-16 12:27 飞仔FeiZai 阅读(581) 评论(3) 推荐(0) 编辑
摘要:JavaScript 二分查找二分查找(Binary Search)是一种在有序数组中查找目标元素的查找算法。它的基本思路是:在数组的中间元素开始,如果该元素等于目标元素,则查找成功;如果该元素大于目标元素,则在左半部分继续查找;如果该元素小于目标元素,则在右半部分继续查找。这样一直重复这个过程,直到查找成功或者查找失败。 阅读全文
posted @ 2023-01-13 16:47 飞仔FeiZai 阅读(218) 评论(0) 推荐(0) 编辑
摘要:如何在前端实现十万行数据的表格秒级响应?在前端实现十万行数据的表格秒级响应的思路 阅读全文
posted @ 2023-01-13 10:04 飞仔FeiZai 阅读(753) 评论(0) 推荐(0) 编辑
摘要:JavaScript 并发模型JavaScript的并发模型基于事件循环和异步函数,并通过Web Workers支持多线程。这些技术允许JavaScript在不阻塞用户界面的情况下执行耗时的操作,提高程序性能 阅读全文
posted @ 2023-01-13 09:47 飞仔FeiZai 阅读(68) 评论(0) 推荐(0) 编辑
摘要:CSS 中父元素被子元素的 margin-top 影响的解决方法父元素被子元素的 margin-top 影响的解决方法 阅读全文
posted @ 2023-01-13 00:01 飞仔FeiZai 阅读(180) 评论(0) 推荐(0) 编辑
摘要:CSS 元素居中CSS 页面元素居中的实现 阅读全文
posted @ 2023-01-12 23:40 飞仔FeiZai 阅读(460) 评论(0) 推荐(0) 编辑
摘要:JavaScript 面向切面编程(AOP,装饰者模式)JavaScript 面向切面编程 (AOP) 是一种编程思想和实现方式,它将一些关注点(例如日志记录、安全性检查、性能监控等)从主题对象中分离出来,通过“横切关注点”的方式在程序中动态地织入这些关注点。这样可以避免在主题对象中嵌入大量的关注点代码,使得代码更加简洁和可维护。 阅读全文
posted @ 2023-01-12 22:26 飞仔FeiZai 阅读(682) 评论(0) 推荐(0) 编辑
摘要:CSS 网格(Grid)布局CSS Grid 布局是一种二维布局方式,可以将页面分成行和列,并在其中放置元素。使用 Grid 布局时,需要定义网格容器和网格项目。 阅读全文
posted @ 2023-01-12 21:49 飞仔FeiZai 阅读(326) 评论(0) 推荐(0) 编辑
摘要:JavaScript 原型和原型链JavaScript 是一种基于原型继承的语言。在 JavaScript 中,对象是通过原型链来继承属性和方法的。 阅读全文
posted @ 2023-01-12 18:20 飞仔FeiZai 阅读(128) 评论(0) 推荐(0) 编辑
摘要:JavaScript 获取对象的长度JavaScript 获取对象的长度 阅读全文
posted @ 2023-01-12 11:16 飞仔FeiZai 阅读(3304) 评论(0) 推荐(0) 编辑
摘要:Vue.js 双向数据绑定原理Vue 双向数据绑定原理涉及到 Vue 中的响应式系统和模板编译 阅读全文
posted @ 2023-01-11 23:37 飞仔FeiZai 阅读(271) 评论(0) 推荐(0) 编辑
摘要:vue.js 虚拟DOM虚拟 DOM 是一个 JavaScript 对象,它可以描述一个真实的 DOM 结构,并在数据发生变化时重新渲染。 阅读全文
posted @ 2023-01-11 23:18 飞仔FeiZai 阅读(211) 评论(0) 推荐(0) 编辑
摘要:Vue.js 响应式原理Vue.js是一个渐进式的JavaScript框架,它使用了响应式系统来维护应用程序的状态。响应式系统是Vue.js的核心部分,它使得应用程序能够自动地更新视图,当数据发生变化时。 阅读全文
posted @ 2023-01-11 21:19 飞仔FeiZai 阅读(490) 评论(0) 推荐(0) 编辑
摘要:基于Asp.Net的控件开发涉及到两种,一种是用户控件,即通过vs自带的服务器控件进行组合以开发需求,该类控件的开发相对简单;另一种是自定义控件,开发难度较高。 1、在vs中新建一个类库的项目WebControl,添加对System.Web.UI程序集的引用, 2、在项目的AssemblyInfo. 阅读全文
posted @ 2023-01-11 17:44 飞仔FeiZai 阅读(75) 评论(0) 推荐(0) 编辑
摘要:在C#里关于定时器类就有3个 1.定义在System.Windows.Forms里 2.定义在System.Threading.Timer类里 3.定义在System.Timers.Timer类里 System.Windows.Forms.Timer是应用于WinForm中的,它是通过Windows 阅读全文
posted @ 2023-01-11 17:42 飞仔FeiZai 阅读(603) 评论(0) 推荐(1) 编辑
摘要:CSS 弹性(Flex)布局Flexbox (弹性盒子)是 CSS3 中的一种布局模式。它允许元素在一个容器中自动排列,可以使用灵活的方式创建复杂的布局。Flex 布局有很多优点,例如,它很容易实现响应式设计,并且可以很容易地对齐和排列元素。 阅读全文
posted @ 2023-01-11 17:25 飞仔FeiZai 阅读(254) 评论(0) 推荐(0) 编辑
摘要:移动端 H5 页面缓存问题页面缓存问题是指页面的静态资源(如图片、JS 和 CSS 文件)在浏览器中被缓存后,导致页面不能正确地更新或者加载最新的内容 阅读全文
posted @ 2023-01-11 16:57 飞仔FeiZai 阅读(2601) 评论(0) 推荐(0) 编辑
摘要:移动端 H5 实现自定义拍照界面手机端 H5 实现自定义拍照界面也可以使用 MediaDevices API 和 和 video 标签来实现。 阅读全文
posted @ 2023-01-11 16:05 飞仔FeiZai 阅读(2933) 评论(9) 推荐(1) 编辑
摘要:JavaScript 图像压缩JavaScript 可以使用类似于 canvas 和 web workers 来实现图像压缩。 使用 canvas,可以将图像绘制到 canvas 上,然后使用 canvas 提供的 toBlob() 或 toDataURL() 方法将其转换为不同格式的图像。在这些方法中指定图像质量参数即可实现压缩。 使用 web workers,可以在后台执行图像压缩,以避免阻塞 UI 线程。 阅读全文
posted @ 2023-01-11 10:44 飞仔FeiZai 阅读(1617) 评论(6) 推荐(11) 编辑
摘要:JavaScript 扁平与树形数组数据的转换JavaScript 扁平结构数组数据与树形结构数组数据的相互转换。 阅读全文
posted @ 2023-01-10 20:16 飞仔FeiZai 阅读(3054) 评论(2) 推荐(0) 编辑
摘要:JavaScript 实用工具方法库utils.js 阅读全文
posted @ 2023-01-10 19:49 飞仔FeiZai 阅读(72) 评论(0) 推荐(0) 编辑
摘要:JavaScript base64 与 File 之间的互转JavaScript base64 与 File 之间的互转 阅读全文
posted @ 2023-01-10 18:15 飞仔FeiZai 阅读(13018) 评论(0) 推荐(0) 编辑
摘要:JavaScript 中URL 查询字符串(query string)的序列与反序列化JavaScript 中URL 查询字符串(query string)的序列与反序列化 阅读全文
posted @ 2023-01-10 17:47 飞仔FeiZai 阅读(1243) 评论(0) 推荐(1) 编辑
摘要:JavaScript 计算base64 编码图片大小JavaScript 可以通过获取图片的 base64 编码并计算其大小来计算图片大小。 阅读全文
posted @ 2023-01-10 17:33 飞仔FeiZai 阅读(2074) 评论(0) 推荐(0) 编辑
摘要:微前端微前端是一种前端架构模式,旨在将大型前端应用拆分成若干个小型前端应用,并使用框架将它们整合在一起。 阅读全文
posted @ 2023-01-10 11:53 飞仔FeiZai 阅读(73) 评论(0) 推荐(0) 编辑
摘要:前端设计模式设计模式是一种在软件开发中常见的解决方案,可以帮助我们解决常见的设计问题。在 JavaScript 中,也有很多常见的设计模式。 阅读全文
posted @ 2023-01-10 11:48 飞仔FeiZai 阅读(160) 评论(0) 推荐(0) 编辑
摘要:前端工程化前端工程化是指在开发前端应用时,使用工具、流程和最佳实践来提升效率和质量。 阅读全文
posted @ 2023-01-10 11:35 飞仔FeiZai 阅读(130) 评论(0) 推荐(0) 编辑
摘要:JavaScript 性能优化JavaScript 是一门动态类型、解释型的编程语言,在网页开发中扮演着非常重要的角色。随着网页的复杂度和访问量的增加,JavaScript 性能的优化就显得越来越重要。 阅读全文
posted @ 2023-01-09 18:08 飞仔FeiZai 阅读(124) 评论(0) 推荐(0) 编辑
摘要:页面重排和重绘问题页面重排(reflow)是指浏览器重新计算页面的渲染布局,通常是由于元素的尺寸、位置或者视口尺寸发生了变化导致的。重排会影响页面的性能,应尽量避免。 页面重绘(repaint)是指浏览器对已渲染的页面进行更新,通常是由于元素的样式发生了变化导致的。重绘不会影响布局,但会消耗更多的 CPU 资源。 阅读全文
posted @ 2023-01-09 17:44 飞仔FeiZai 阅读(402) 评论(0) 推荐(1) 编辑
摘要:JavaScript 防抖和节流JavaScript 防抖和节流是两种常见的性能优化技术,用于减少函数的执行次数。 防抖(debounce)是指在一段时间内,如果有多次触发事件,则只执行最后一次事件。 节流(throttle)是指在一段时间内,只执行一次事件。 阅读全文
posted @ 2023-01-09 17:28 飞仔FeiZai 阅读(213) 评论(0) 推荐(0) 编辑
摘要:如何在 JavaScript 中遍历对象在 JavaScript 中,你可以使用以下几种方法来遍历对象: 1、for...in 循环:for...in 循环用于遍历对象的属性。 2、Object.keys() 方法:Object.keys() 方法返回一个包含对象所有可枚举属性名称的数组。 3、Object.entries() 方法:Object.entries() 方法返回一个包含对象所有可枚举属性键值对的数组。 4、Object.getOwnPropertyNames() 方法:Object.getOwnPropertyNames() 方法返回一个包含对象所有属性名称的数组(包括不可枚举属性)。 阅读全文
posted @ 2023-01-09 15:32 飞仔FeiZai 阅读(577) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示