自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(106)
  • 资源 (1)
  • 收藏
  • 关注

原创 XMLHttpRequest.responseType:前端获取后端数据的一把“格式钥匙”

摘要:《XMLHttpRequest.responseType》详解前端获取后端数据格式转换的6种方式:从文本到二进制,包括默认字符串、JSON对象、HTML DOM、Blob和ArrayBuffer。关键点:设置顺序(open→responseType→send),跨域CORS限制,以及常见调试问题。与Fetch API对比,responseType能简化数据解析流程,避免手动转码错误。正确使用可提升开发效率,错误设置易导致数据解析失败。

2025-10-16 11:03:39 482

原创 http的发展历程

HTTP 从最初的简单协议,逐步演进为支持丰富功能和高效传输的协议。每个版本的更新都旨在满足互联网发展的新需求,提升用户体验和性能。

2025-10-16 10:52:52 1249

原创 HTTP之content-disposition

Content-Disposition是HTTP响应头字段,用于指示浏览器如何处理响应内容。它有三种常见形式:1)inline让浏览器直接打开文件;2)attachment触发文件下载;3)attachment;filename="xxx"指定下载文件名。中文文件名需UTF-8编码(如filename*=UTF-8''%E5%91%98...)以避免乱码。前端可通过正则解析该字段获取编码后的文件名,再解码得到原始文件名。该字段能有效控制文件在浏览器的展示或下载行为。

2025-10-11 10:24:51 493 1

原创 Nacos 入门指南:三分钟看懂“服务注册+配置中心”到底在做什么

摘要: Nacos是阿里开源的服务发现与配置管理平台,解决微服务架构中"服务动态注册发现"和"配置集中管理"两大痛点。作为"滴滴调度中心"实时管理健康服务实例,并通过"云端遥控器"实现配置秒级推送与版本回滚。相比Eureka、Consul等工具,Nacos兼具服务发现(AP/CP混合)与配置中心功能,支持中文界面与热更新,是Spring Cloud Alibaba官方推荐方案。通过简单命令即可快速搭建,帮助开发者告别人工维护IP

2025-09-28 10:24:09 424

原创 前端里的宏任务和微任务

本文介绍了前端事件循环中宏任务和微任务的区别与执行顺序。宏任务包括script整体代码、setTimeout等,而微任务主要有Promise.then、MutationObserver等。事件循环执行流程为:每轮取一个宏任务执行,然后清空该轮产生的所有微任务,最后判断是否需要渲染。代码示例展示了1→6→4→5→2→3的执行顺序,说明微任务优先于下一轮宏任务。关键记忆点:宏任务每次执行一个,微任务必须当轮清空,Promise.then总是比同级setTimeout先执行。

2025-09-03 16:40:55 520

原创 nginx 目录映射

Nginx目录映射简明指南 通过root/alias指令将URL路径映射到硬盘目录: root用于完整路径拼接(URL=root+location+子路径),适合整站部署; alias直接替换路径(URL=alias+子路径),适合单独目录映射。 注意:alias需以/结尾,避免权限和编码问题。示例中/site/映射到D:/files/site,/static/指向D:/files/upload。关键原则:路径一致用root,需改写用alias。(98字)

2025-08-29 14:05:18 335

原创 Rust语言能干什么

Rust语言凭借其高性能、安全性和并发优势,已从系统级编程扩展到多个领域。它能开发操作系统(如Redox OS)、嵌入式系统(STM32/ESP32)和Linux驱动;构建高性能Web后端(Actix-web/Rocket)和WebAssembly前端(Yew/Leptos);应用于区块链(Solana/Polkadot)、游戏引擎(Bevy)、网络基础设施(Envoy/TiKV)及AI(Candle/Polars)。Rust还擅长开发命令行工具(ripgrep/bat)和跨平台应用(Tauri)。其核心优

2025-08-29 13:58:44 1108

原创 nginx 配置文件初识全局块、events、http、server、location 的层级关系

Nginx配置采用树形结构,分为全局指令和块级指令两类。主要层级包括:全局块(main)、events块(连接处理)、http块(HTTP相关配置)。http块内可包含多个server(虚拟主机),每个server又可包含多个location(URL路由)。配置遵循"子块继承父块,同名指令覆盖"原则。典型配置包含全局工作进程设置、events连接模型、http公共参数及具体server定义,通过层级嵌套实现灵活配置。

2025-08-28 15:27:15 471

原创 nginx的启动 、 停止、重载命令

摘要:本文整理了Nginx常用的3组核心命令,涵盖启动、停止和重载配置操作。启动直接执行nginx;停止分优雅停止(-s quit)和强制停止(-s stop);重载配置用nginx -s reload,建议配合-t检查语法。还提供了信号对照表和Systemd命令,核心记住:启动nginx、重载nginx -t && nginx -s reload、停止nginx -s quit即可满足日常运维需求。

2025-08-28 15:14:33 409

原创 nginx的诞生背景、核心优势、与 Apache 的对比

本文提供了一份系统的Nginx学习路线图,分为六个阶段:从基础安装配置到核心功能实战,再到进阶优化与模块开发,最后涵盖运维排错和架构设计。每个阶段包含关键知识点,如静态资源服务、负载均衡、HTTPS配置、性能调优等,并推荐了官方文档、实验平台等学习资源。建议按阶段循序渐进学习,先完成基础Demo,再逐步深入高级功能,适合从入门到精通的系统学习参考。

2025-08-28 15:07:28 539

原创 nginx的学习目录

本文提供了一份系统的Nginx学习路线图,分为六个阶段:从基础安装配置到核心功能实战,再到进阶优化与模块开发,最后涵盖运维排错和架构设计。每个阶段包含关键知识点,如静态资源服务、负载均衡、HTTPS配置、性能调优等,并推荐了官方文档、实验平台等学习资源。建议按阶段循序渐进学习,先完成基础Demo,再逐步深入高级功能,适合从入门到精通的系统学习参考。

2025-08-28 15:02:42 638

原创 window环境安装docker

本文详细介绍了在Windows 10/11上安装Docker Desktop的完整流程。主要内容包括:1)系统要求和虚拟化设置;2)一键安装步骤及验证方法;3)WSL 2集成配置;4)国内镜像加速方案;5)常见问题处理。通过5分钟简单操作即可完成安装,实现在Windows系统上高效运行Docker容器。文中还提供了详细的命令和配置示例,帮助用户快速解决安装过程中可能遇到的问题。

2025-08-28 14:58:08 501

原创 vue2 watch 用法

Vue 2 的 watch 选项用于监听数据变化并执行响应操作。主要用法包括:1)函数写法监听单个属性;2)对象写法配置深度监听(deep)和立即执行(immediate);3)字符串路径监听嵌套属性;4)数组写法同时监听多个字段;5)$watch动态监听。注意事项包含性能优化(避免深度监听大对象)、数组修改方式等。完整示例展示了如何监听表单输入变化。这些方法覆盖了组件数据监听的常见需求场景。

2025-08-21 13:33:20 536

原创 记录一次问题,点击详情时设置Editor不可用,点击修改时也不可用了

Editor组件优化:修复了初始化后readOnly属性变化不生效的问题。通过添加属性变化监听,调用this.Quill.enable(!val)动态切换编辑状态。同时完善了样式处理,区分详情模式(只读、灰色文字、浅背景)和编辑模式(可编辑、深色文字、白背景)。添加了调试日志便于追踪状态变化。现在组件能根据isDetail状态正确显示对应样式和功能。

2025-08-19 14:07:06 162

原创 elementui中rules的validator 用法

Element UI中validator用于自定义表单验证规则,支持复杂逻辑处理。基本结构通过(rule, value, callback)实现,验证失败调用callback(new Error()),成功则直接调用callback()。支持同步/异步校验、动态传参(如表格行数据)等场景,需注意必须调用callback且多个规则按顺序执行。适用于用户名长度校验(示例要求>3字符)、表单提交验证等需求,可通过this.$refs.form.validate()触发整体验证。

2025-08-01 11:00:42 503

原创 vue中的this.$set

Vue 2 中this.$set用于响应式添加对象属性,解决直接赋值不触发更新的问题。语法为this.$set(target, key, value),适用于动态添加对象属性或修改数组元素。Vue 3改用Proxy后不再需要此方法。注意事项:仅对响应式对象有效,非组件环境用Vue.set,数组优先使用响应式方法。Vue 2需要手动处理动态属性更新,Vue 3自动支持。

2025-07-17 21:35:32 680

原创 elementui table 序号的写法

本文介绍了在Element UI表格中实现分页序号连续显示的方法。通过使用el-table-column的index属性配合自定义的indexMethod方法,可以计算当前页数据在总数据中的实际位置。公式为当前行索引 + 1 + (当前页码 - 1) * 每页条数,解决了分页时序号重置的问题,确保表格序号在多页数据中保持连续递增。该方案简单高效,适用于需要展示数据全局序号的场景。

2025-07-14 16:41:14 201

原创 学习数据结构的意义

程序员的三观它塑造你如何看待数据与计算的关系,就像数学系学生看到世界会不自觉量化一样。当你习惯用栈分析函数调用、用队列设计消息队列、用堆实现负载均衡时,写代码会从“搬砖”变成“设计引力场”。

2025-07-12 15:03:46 389

原创 为什么elementui的<el-table-column label=“名称“ prop=“name“ label不用写成:label

Vue.js中el-table-column的label和prop属性通常作为静态值使用,直接采用label="名称"形式即可,无需使用:绑定。:仅用于动态绑定变量值的情况。静态属性直接赋值字符串,动态属性才需要:前缀引用变量。正确区分这两种用法可以避免将静态字符串误当作变量解析的错误。

2025-07-08 22:19:36 1046

原创 前端做gis地图有哪些库

摘要:前端开发GIS地图常用库包括Leaflet(轻量易用)、OpenLayers(功能强大)、Mapbox GL JS(高性能渲染)、Cesium(3D地球可视化)、Turf.js(地理空间分析)、ArcGIS API(复杂GIS应用)和SuperMap iClient(跨平台开发)。这些库各具特色,支持多种地图数据源、空间分析和交互功能,满足不同开发需求。

2025-07-02 12:14:40 616

原创 若依中复制到剪贴板指令的使用v-clipboard

在若依框架中,复制到剪贴板的功能是通过自定义指令来实现的。

2025-07-01 17:30:56 867

原创 宏任务与微任务和Dom渲染的关系

摘要:JavaScript运行时机制中,宏任务(如主任务、定时器、I/O)和微任务(如Promise、MutationObserver)的执行顺序与DOM渲染密切相关。宏任务执行后可能触发DOM渲染,而微任务会在当前宏任务结束后立即执行但不会中断渲染流程。典型的事件循环顺序为:宏任务→微任务→渲染→下一个宏任务。理解三者关系对优化异步代码和页面性能至关重要,例如通过合理安排DOM操作和微任务处理来减少不必要的重绘。

2025-06-29 21:38:21 831

原创 什么是 Event Loop?

Event Loop(事件循环)简介 Event Loop是一种程序结构,用于在异步编程中等待和分发事件。其核心机制是循环检测事件队列,执行回调函数,适用于GUI、浏览器和Node.js等环境。 运行机制: 检测事件(如用户输入、网络请求); 事件入队,回调函数进入队列; 处理事件,按顺序执行回调。 应用场景: 浏览器:处理setTimeout、DOM事件等异步任务; Node.js:高效管理文件I/O、网络请求等非阻塞操作。 优势:提升响应性、避免多线程复杂度、优化资源利用率。理解Event Loop对开

2025-06-29 21:35:35 933

原创 Vue.js 中的数字格式化组件:`FormattedNumber`

本文介绍了如何封装一个Vue.js组件FormattedNumber,用于将大数字格式化为中文习惯的易读形式(如"1万"、"1亿")。组件主要功能包括:自动单位转换、可自定义小数点位数、动态更新和简洁易用的中文环境支持。文章详细说明了组件结构、格式化逻辑和样式设计,并提供了完整的代码实现示例。使用该组件时,只需传入数字和可选的小数位参数即可实现自动格式化显示,适用于财务、统计等场景,有效提升数字可读性和用户体验。

2025-06-28 20:13:00 853

原创 Vue.js 中的文本溢出处理与工具提示组件:`TextEllipsisTooltip`

本文介绍了如何封装一个Vue.js组件TextEllipsisTooltip来处理文本溢出问题。该组件具备单行/多行文本溢出处理、动态内容支持、响应式设计等功能,通过比较scrollWidth/Height和clientWidth/Height检测溢出,并使用el-tooltip显示完整内容。文章详细展示了组件的模板、脚本和样式实现,并提供了使用示例和测试要点。该组件配置灵活,可有效提升Web应用的用户体验。

2025-06-28 19:54:34 505

原创 Vue.js 中的 v-model 和 :value:理解父子组件的数据绑定

本文对比了Vue.js中父子组件数据绑定的两种方式:v-model和:value。v-model是双向绑定的语法糖,默认绑定value属性并监听input事件,简化了父子组件间的数据同步;而:value仅实现单向数据传递。文章通过代码示例展示了两种方式的使用场景,指出v-model更适合表单交互等需要双向绑定的情况,:value则适用于只读数据展示。同时强调了避免直接修改props和使用$emit的正确做法,帮助开发者根据需求选择合适的数据绑定方案。

2025-06-28 18:24:43 1141

原创 设置vscode使用eslint

摘要:本文详细介绍了在VSCode中配置ESLint的完整流程。首先需安装ESLint扩展和项目依赖,通过npx eslint --init生成配置文件,并选择适合项目的检查规则。接着配置VSCode设置启用ESLint验证,可选自动修复功能。最后通过测试文件验证配置是否生效,并提供了常见问题的解决方案。这套方法能有效提升JavaScript/TypeScript代码质量,确保编码规范一致性。(150字)

2025-06-20 13:55:08 1417

原创 小程序的生命周期

摘要:小程序生命周期分为应用和页面两个维度。应用生命周期包括onLaunch(初始化)、onShow(前台显示)、onHide(后台运行)和onUnload(完全关闭)四个阶段,用于全局资源管理。页面生命周期包含onLoad(加载)、onShow(显示)、onReady(渲染完成)、onHide(隐藏)、onUnload(卸载)和onResize(尺寸变化)六个阶段,控制单页面的运行状态。合理利用这些生命周期函数能优化程序性能,提升用户体验。

2025-06-11 07:56:20 762

原创 小程序的登录流程

本文详细介绍了微信小程序的登录流程实现方案。主要内容包括:1)通过wx.login获取用户临时登录凭证code;2)将code发送至服务器换取session_key和openid;3)服务器端使用Node.js实现登录验证;4)通过wx.getUserProfile获取用户信息并上传至服务器。文章还提供了完整的代码示例,涵盖前端小程序授权逻辑和后端接口实现,并强调了安全性、用户授权管理和Token管理等注意事项。该方案完整实现了从用户授权到用户信息获取的微信小程序登录全流程。

2025-06-10 18:45:00 2034

原创 MobX和miniprogram-computed结合使用

摘要:本文介绍如何在微信小程序中结合MobX和miniprogram-computed实现高效状态管理。内容涵盖:1) 安装相关依赖包;2) 创建MobX Store并定义observable状态;3) 两种实现方式:使用ComponentWithStore与computedBehavior或ComponentWithComputed与storeBindingsBehavior;4) WXML数据绑定示例。注意事项包括版本兼容性、性能优化和调试技巧。通过这种组合方案,开发者可以构建响应式数据更新机制,提升小

2025-06-10 15:45:00 281

原创 小程序的工具库-miniprogram-licia

miniprogram-licia是专为微信小程序开发的零依赖工具库,提供400+实用模块如防抖、节流、MD5加密等。安装后需在开发者工具中构建npm,支持全量引入或通过在线工具定制生成精简版util.js以减小体积。核心优势包括多功能性(涵盖DOM操作、日期处理等)、灵活定制和性能优化,特别适合处理高频事件。典型应用场景包括安全获取对象属性(safeGet)、函数节流/防抖等,能显著提升小程序开发效率。

2025-06-10 14:53:29 763

原创 微信小程序中的计算属性库-miniprogram-computed

miniprogram-computed是一个微信小程序扩展库,提供类似Vue的计算属性(computed)和监听器(watch)功能。安装后需在开发者工具中构建npm,通过引入computedBehavior实现计算属性功能,计算函数只能访问data对象。监听器watch可响应数据变化,支持多字段监听。使用时需注意计算属性有缓存特性,组件中需使用ComponentWithComputed。该库能有效提升小程序的数据管理效率。

2025-06-10 11:20:20 766

原创 小程序中的状态管理库-mobx-miniprogram

mobx-miniprogram是一款专为微信小程序设计的MobX状态管理库,支持响应式数据绑定。使用时需先安装mobx-miniprogram和mobx-miniprogram-bindings依赖,创建Store定义状态和操作。在组件和页面中通过storeBindingsBehavior或BehaviorWithStore绑定Store数据和方法,实现状态自动同步更新。注意要求小程序基础库版本≥2.11.0,并正确配置npm构建功能。该方案提供了一种简洁高效的小程序状态管理方式。

2025-06-10 11:16:01 453

原创 在微信小程序中使用骨架屏

微信小程序骨架屏使用指南:通过开发者工具自动生成骨架屏代码文件,引入模板和样式后,设置loading变量控制显示状态。可自定义配置颜色、形状,排除特定元素。注意事项包括仅覆盖首屏可见区域、部分组件需特殊处理、避免修改生成代码等。该技术适用于列表类页面,能有效提升加载体验,需配合自适应布局使用。局部加载时也可作为loading样式灵活运用。注意处理骨架屏与真实页面的切换逻辑。

2025-06-10 10:49:07 936

原创 微信小程序中安装vant

本文详细介绍了在微信小程序中安装Vant组件库的完整步骤:1)通过npm init初始化项目;2)安装@vant/weapp依赖;3)修改app.json删除style配置;4)调整project.config.json的npm构建路径;5)在开发者工具中构建npm;6)全局或局部引入组件。整个流程涵盖了从项目配置到组件使用的关键环节,为开发者提供了一套完整的小程序UI组件库集成方案。

2025-06-09 11:27:27 399

原创 安转ubuntu后转成安装window系统报crub rescue问题

摘要: 记录将硬盘改为MBR格式并进行主引导修改的操作:使用老毛桃PE中的引导修复工具完成调整,解决引导问题。备忘此步骤以防遗忘。

2025-06-01 20:28:37 132

原创 TypeScript装饰器-简洁版

TypeScript 中的装饰器(Decorators)是一种实验性功能,用于修改或增强类、方法、属性或参数的行为。装饰器通过 @expression 的形式附加到目标上,expression 必须是一个函数。常见的装饰器类型包括类装饰器、方法装饰器、访问器装饰器和参数装饰器。类装饰器用于修饰类本身,方法装饰器用于修饰类方法,访问器装饰器用于修饰 getter 或 setter,参数装饰器用于修饰方法参数。装饰器可以组合使用,执行顺序为参数装饰器、方法装饰器、访问器装饰器,最后是类装饰器。装饰器工厂则是一个

2025-05-14 14:47:57 296

原创 TypeScript装饰器,未完待续

本文介绍了类装饰器的基本语法、应用举例、返回值处理、构造类型声明及替换被装饰类的方法。类装饰器通过配置和语法修饰类,可以用于封装、扩展或修改类的行为。文章还提到装饰器工厂、装饰器组合、属性装饰器、方法装饰器、访问器装饰器和参数装饰器等内容,但未展开详细说明,后续内容待续。

2025-05-14 14:45:38 179

原创 ts,Typescript中的类型声明文件

TypeScript 中的类型声明文件(.d.ts)为 JavaScript 代码提供类型信息,支持类型检查、代码补全和智能提示。这些文件可以是内置的(如 lib.d.ts)、第三方的(通过 @types 安装)或自定义的。类型声明文件通过 declare 关键字定义函数、类、模块等类型,并可通过 export 和 import 进行导出和导入。TypeScript 编译器会自动加载项目中的 .d.ts 文件,开发者也可通过 /// <reference> 手动引用。通过类型声明文件,TypeS

2025-05-14 10:56:05 839

原创 TypeScript 中,属性修饰符

public:公开属性或方法,可以在类的内部和外部被访问。private:私有属性或方法,只能在类的内部被访问。protected:受保护的属性或方法,只能在类的内部及其子类中被访问。readonly:只读属性,可以在构造函数中初始化,但在类的外部不能被修改。参数属性:在构造函数中直接声明的属性,可以指定修饰符。合理使用这些属性修饰符可以帮助我们更好地封装类的内部实现,确保代码的安全性和可维护性。

2025-05-08 15:53:28 580

WPF编程宝典——C#+2010版

一本关于wpf的书

2013-04-04

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除