自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(91)
  • 收藏
  • 关注

原创 移动端屏幕适配新思路:基于宽高比的动态适配策略

基于宽高比的动态适配策略为移动端和多设备兼容提供了更精细的控制手段。通过结合CSS属性选择器和JavaScript动态检测,我们可以创建出真正适应各种屏幕比例的用户体验。多媒体展示网站电子商务平台数据可视化应用全屏交互体验记住,优秀的响应式设计不仅仅是适应不同宽度,更要考虑屏幕比例、设备特性和用户使用场景。通过宽高比检测,我们可以为用户提供更加精准和舒适的浏览体验。扩展阅读CSS宽高比属性 aspect-ratio设备像素比与响应式图片。

2025-12-14 22:13:27 536

原创 如何自定义一个MCP服务器:从零到一的完整指南

满足特定业务需求:连接企业内部系统、数据库或API提升开发效率:封装常用操作,减少重复代码增强安全性:完全控制数据访问和权限管理优化性能:针对特定场景进行性能优化✅ MCP的基本概念和用途✅ 如何搭建基础的MCP服务器✅ 如何实现工具、资源和提示词✅ 错误处理和日志记录✅ 配置和部署流程✅ 最佳实践和进阶功能自定义MCP服务器为AI应用提供了无限的可能性。无论是连接企业内部系统,还是集成第三方服务,MCP都能帮助你扩展AI模型的能力。现在,开始构建你自己的MCP服务器吧!🚀。

2025-12-01 19:03:39 784

原创 Figma MCP 在 Cursor 的实战:从设计到代码的无缝转换

作为一名前端开发者,你是否遇到过这样的场景:设计师在 Figma 中完成了精美的界面设计,而你需要在代码中手动还原每一个像素、每一个间距、每一个颜色值?这个过程既耗时又容易出错。随着 AI 编程工具 Cursor 的兴起,以及 Figma MCP 协议的推出,我们终于可以告别这种低效的工作方式。本文将带你深入了解如何在 Cursor 中配置和使用 Figma MCP,实现从设计稿到代码的自动化转换。设计文件的结构和层级组件的样式属性(颜色、字体、间距等)设计规范(Design Tokens)

2025-11-17 21:58:26 1542

原创 Chrome DevTools MCP 使用指南

是Anthropic提出的一个开放协议,用于连接大型语言模型(LLM)与外部工具和数据源。提升开发效率:AI可以自动执行繁琐的测试任务改善代码质量:AI可以实时分析性能,提供优化建议简化测试流程:自动化测试变得简单易用增强AI能力:AI从代码生成扩展到实际测试和调试。

2025-11-10 02:15:27 2274 3

原创 background样式问题踩坑

复合background语法在现代浏览器中支持良好。如需支持老旧浏览器,可能需要单独设置属性并注意执行顺序。使用了background属性且需要动态更新背景图时,单独设置的。在动态更新时的性能表现不如静态设置稳定,特别是对大尺寸图像。属性在IE11及以下版本需要polyfill支持。CSS属性设置顺序影响最终效果,当先设置。可能失效,主要原因是属性覆盖顺序问题。当需要更精确控制动态图像时,使用。属性通常能提供更稳定的渲染结果。

2025-10-31 21:14:33 219

原创 TypeScript:npm的types、typings、@type的区别

npm官方类型定义仓库的使用方式。

2025-10-21 20:36:09 453

原创 vscode自动保存注意事项

临时解决方案:禁用插件或调整文件,适合快速解决问题。长期策略:与团队协商统一格式化时机(如提交时而非保存时),减少开发阶段的干扰。调试工具:利用VS Code的Output面板(选择或Prettier日志)观察格式化触发链。通过分层排查插件、编辑器配置和项目文件,可精准控制保存时的格式化行为,平衡开发效率与代码一致性需求。

2025-10-09 18:19:17 353

原创 状态管理库 Zustand 的接入流程与注意点

Zustand 的简洁性使其适合中小型项目快速接入,但对于超大型应用需谨慎设计 Store 结构。合理使用中间件和 TypeScript 能显著提升可维护性。

2025-09-27 20:57:49 843

原创 redux-toolkit踩坑记录

业务中采用Redux Toolkit(RTK)作为状态管理方案,因其简化了Redux的繁琐配置,提高了开发效率。但在低版本浏览器(如Chrome 49以下)运行时出现报错,导致功能异常。技术选型的全面评估引入新库时需彻底检查其底层依赖和浏览器兼容性,尤其是元编程等高级特性。降级方案的可行性对于无法通过垫片解决的API,需提前制定备选方案,避免后期被动。团队协作影响迁移过程中需统一团队规范,并提供替代方案的示例代码和文档支持。

2025-09-27 15:35:14 456

原创 tua-body-scroll-lock踩坑记录

但是在滑动过程中如果调用lock方法,此时window.scrollY会变为0,会导致标题栏的底色消失,这样的体验很不佳,用户可能会认为有bug。解决方法也很简单,在调用lock时存一个变量,当scroll事件回调发现这个变量为true时也认为此时页面已经滚动了,如下面代码。在日常工作中,我们经常会遇到拉起弹窗时要禁止页面的滚动,此时tua-body-scroll-lock库就是一个很好的选择。但是最近在维护老项目的时候发现这个项目会监听滚动事件,当滚到到某个地方时就会给标题栏一个底色,如下面代码。

2025-09-12 21:16:06 227

原创 lottie动画动态更改切图&添加事件

最近有个业务需求用到好几个lottie动画,并且动画中需要根据不同的用户展示对应的用户头像及提示文案。

2025-08-26 18:59:55 215

原创 ts学习4

假设我们有一个名为padLeft的函数。如果padding是number,它会将其视为我们想要添加到input的空格数。如果padding是string,它应该只是将padding前置到input。让我们尝试实现当padLeft为padding传递number时的逻辑。哦,我们在padding上遇到错误。TypeScript 警告我们,将添加到number可能不会给我们想要的东西,这是正确的。换句话说,我们没有先明确检查padding是否是number,也没有处理它是string的情况,所以让我们这样做。

2025-08-11 01:03:04 288

原创 ts学习3

您可能会看到的第一种组合类型的方法是联合类型。联合类型是由两种或多种其他类型组成的类型,表示可能是这些类型中的任何一种的值。我们将这些类型中的每一种都称为联合的成员。

2025-07-28 20:01:40 1025

原创 ts学习2

JavaScript 中的每个值都有一组行为,您可以通过运行不同的操作来观察这些行为。这听起来很抽象,但作为一个简单的例子,考虑我们可能在名为message的变量上运行的一些操作。如果我们将其分解,第一行可运行的代码会访问一个名为的属性,然后调用它。第二个尝试直接调用message。但是假设我们不知道message的值——这很常见——我们不能可靠地说明尝试运行这些代码会得到什么结果。每个操作的行为完全取决于我们最初拥有的价值。message。

2025-07-18 20:53:19 718

原创 ts学习1

您可以在 JavaScript 中使用多种设计模式。但是,某些设计模式使得自动推断类型变得困难(例如,使用动态编程的模式)。为了涵盖这些情况,TypeScript 支持 JavaScript 语言的扩展,它为您提供了告诉 TypeScript 类型应该是什么的地方。例如,要创建一个包含和id: numberid: 0,您可以使用interfaceid: number;然后,您可以在变量声明后使用类似: TypeName的语法来声明 JavaScript 对象符合新interface。

2025-07-09 21:05:39 1037

原创 node复制当前目录下的文件夹到另一层目录(包含多层文件夹嵌套)

node复制当前目录下的文件夹到另一层目录(包含多层文件夹嵌套)

2023-11-01 20:31:28 938 1

原创 koa搭建服务器(二)

操作数据库就可以使用Sequelize内置的方法了,这里用我的查询接口为例,接口可以支持日期、状态、分类、分页查询,所以需要动态给where添加相应的条件。由于在实际项目中连接一个数据库中的多个表,所以在这里我建了一个models文件夹,index.js用来遍历models文件夹下的js文件并依次创建实例。框架其他的一些方法可以看下以下文章,首先也是需要安装相关的依赖。

2023-10-29 15:34:53 357

原创 koa搭建服务器(一)

最近有个需求需要使用到koa搭建服务器并编写接口对数据库进行增删改查,因此写一篇博客记录这段时间的收获。

2023-10-28 16:06:26 547

原创 react的setState做了什么

setState这个方法在调用的时候是同步的,但是引起React的状态更新是异步的。在React中,如果是由React引发的事件处理(比如是通过onClick引发的事件处理,以及生命周期函数调用setState),调用setState不会同步更新this.state,除此之外的setState调用会同步执行this.state。如果需要对state数据更改监听,就可以使用第二个参数,它是用来监听state里面数据的更改,当数据更改完成,调用回调函数,用于可以实时的获取到更新之后的数据。

2023-10-22 20:11:39 685

原创 封装axios的post请求踩坑记录

为什么浏览器会自动发送一个预检请求

2023-10-09 20:40:05 278

原创 iframe的父子通讯

iframe的父子通讯

2023-09-16 17:05:01 197

原创 js实现点击查看全部/收起功能

js实现点击查看全部/收起功能

2023-09-03 17:09:39 941

原创 js实现一行半文本的截取

js实现1行半文本截取

2023-09-03 16:44:47 987

原创 ios点击可点击元素时会出现浅色背景解决方法

iOS设备点击时出现浅色背景

2023-08-29 20:25:51 300

原创 react&antd(12)动态表单的默认值问题

动态表单的默认值问题

2023-08-29 16:46:37 1208

原创 CDN是什么?CDN的好处

CDN学习

2023-08-12 16:47:44 412

原创 swiper滚动块宽度踩坑记录

swiper滚动块宽度踩坑记录

2023-07-14 15:17:07 1017

原创 react&antd(11)<Table />组件更改dataSource和columns时页面不更新渲染的问题

组件增加一列数据,于是我在该状态下对columns进行操作并把更新后的columns重新setState,但是此时页面的表格并没有更新渲染,我在控制台打印的columns却已经是更新后的了。因为columns和dataSource都是一个对象数组([{},{},{}]),所以我们更改columns/dataSource时引用地址并没有改变,改的只是引用地址指向的内存数据。

2023-06-19 17:14:16 4122

原创 js中this的指向问题

js面试题

2023-06-12 11:26:16 611

原创 详解arr.reduce()方法

js面试题

2023-06-08 16:19:10 2414

原创 react如何更改antd <Cascader />组件的下拉菜单的高度

react如何更改antd 组件的下拉菜单的高度

2023-04-26 10:51:35 2160

原创 npm报错The operation was rejected by your operating system问题解决

npm报错The operation was rejected by your operating system问题解决

2023-04-23 17:44:34 1065

原创 git推送远程仓库报错解决

kex_exchange_identification: Connection closed by remote hostConnection closed by 20.205.243.166 port 22fatal: Could not read from remote repository.Please make sure you have the correct access rightsand the repository exists.

2023-04-08 23:55:30 1207

原创 JS全局作用域与局部作用域

JS全局作用域与局部作用域

2023-04-04 16:55:11 704

原创 两张图片之间有一个小缝隙如何解决

两张图片之间有缝隙需要如何解决

2023-03-28 16:52:16 601

原创 js实现JSON字符串格式化显示

最近有个需求是需要把后端返回的json数据格式化显示,处理其实很简单,先用JSON.parse()把json数据转为json对象,再用JSON.stringify()把JSON对象 转换为 有缩进的 JSON字符串格式。

2023-03-15 11:46:55 1980

原创 react&antd(10)modal带标签表头

如果需要给modal组件带标签的表头,可以通过jsx来实现。这样就可以实现一个标红的表头了。

2023-03-13 11:13:28 273

原创 antd DatePicker日期修改为中文显示

antd默认引入的组件月份展示是英文的,如果想换成中文显示也很简单。

2023-03-10 15:49:48 2955

原创 moment 时间戳转为固定格式时间错误

有个需求是后端返回的时间格式是一个时间戳,例如:我们在页面上展示之前需要把这个时间戳转换为标准格式的时间。如果在页面上看到转换的时间有问题,请务必留意下转换格式有无问题。在转换时要注意格式,如果格式错误那么转换到的时间也会有问题。首先我们需要引入moment这个库。

2023-03-08 10:23:00 925

原创 whistle抓包工具安装

最近帮别人配代理时很多步骤都忘了,因此记录下whistle的安装步骤和基本使用。

2023-02-06 21:57:34 1681

空空如也

空空如也

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

TA关注的人

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