自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 git命令

一、基础配置二、仓库初始化 & 克隆三、日常提交工作流(add → commit → push)git fetch四、分支操作(团队协作核心)五、冲突处理(面试必问)执行git mergegit pull出现冲突,文件内出现标记git push=======>>>>>>>git add .git push注意:冲突不要直接交给 AI 全部覆盖,需要和对应开发确认业务逻辑。六、暂存工作区(开发一半不想提交,切换分支)七、版本回退八、远程仓库操作。

2026-11-05 23:48:09 269

原创 TS详细用法

核心价值:TS 是 JS 的超集,核心是静态类型系统,提前发现错误,提升代码可维护性。基础用法:先掌握基础类型(string/number/array 等),再学习接口、函数类型约束,这是 TS 最常用的基础特性。进阶特性:泛型用于创建复用组件,类的访问修饰符(public/private/protected)增强面向对象能力,是项目配置的核心。

2026-03-03 22:20:08 331

原创 v-model的原理 ?vue2和vue3v-model的区别?

v-model 原理:本质是「绑定值(如 value/modelValue) + 监听输入事件(如 input/update:modelValue)」的语法糖,实现双向数据绑定。Vue2 vs Vue3 核心区别组件默认绑定:Vue2 用valueinput,Vue3 用modelValue;多值绑定:Vue2 依赖.sync,Vue3 直接用统一语法;修饰符:Vue3 提供了更规范的处理方式,Vue2 需手动处理。原生表单元素的v-model。

2026-03-02 13:17:20 374

原创 移动端适配

只需在入口文件引入一次,作用是动态设置<html>的font-size;配置核心是rootValue(和设计稿宽度匹配),配置后直接写px即可自动转rem;验证生效的关键:看<html>的font-size随屏幕变化,且元素样式从px变成rem。

2026-02-26 19:11:21 309

原创 什么是Cookie、localStorage、sessionStorage,应用场景?

Cookie 像裤兜,localStorage 是冰箱,sessionStorage 是购物袋——按需选用!

2026-02-24 19:51:01 686

原创 HTML5、CSS3

存储大小与交互:cookie(4KB,前后端交互),localStorage/sessionStorage(5MB,仅前端);有效期与共享:localStorage(永久,同源全局),sessionStorage(会话,当前标签),cookie(可设置,同源全局);选型核心:需和服务器交互用 cookie,长期存储用 localStorage,临时存储用 sessionStorage。

2026-01-31 00:23:20 1186

原创 Display:none 与 visibility:hidden 的区别

核心区别是「文档流消失,不占位,触发重排」;是「视觉隐藏,保留占位,仅触发重绘」;选型核心:需保留占位 / 加动画 / 频繁切换 → 用;需彻底隐藏 / 布局重排 / 不频繁切换 → 用;关联考点:Vue 的v-if(对应 display: none)和v-show(对应 visibility: hidden)的区别,本质就是这两个 CSS 属性的区别。

2026-01-31 00:00:28 645

原创 Pinia 使用方法

使用定义 Store,第一个参数是唯一 ID(必须全局唯一),第二个参数是配置对象(包含 state/getters/actions)。✅ 命名规范:Store 函数名以开头(如),符合 Vue 组合式 API 命名习惯。示例:创建计数器 Store(src/stores/counter.js)// 定义并导出 Store,ID 为 "counter"(全局唯一)// 1. 状态:返回初始值的函数(避免单例污染,必须是函数)count: 0, // 基础类型状态。

2026-01-28 16:29:51 628

原创 ES6新增了哪些新特性

ES6 的核心目标:让 JS 代码更简洁、更规范、更易维护,解决原生 JS 的语法和设计痛点;开发必学的 10 个特性:let/const、箭头函数、解构赋值、模板字符串、模块化、Promise、剩余 / 扩展运算符、对象扩展、Set/Map、数组新增方法;ES6 是前端必备基础:现代前端框架(Vue/React)、工程化工具(Vite/Webpack)都基于 ES6,掌握 ES6 是入门前端开发的关键,也是面试的高频考点。

2026-01-27 22:24:05 583

原创 Promise、Axios、async/await 全量解析

Promise 是 ES6 引入的异步编程解决方案,它是一个「代表了异步操作最终完成(或失败)及其结果值的对象」,本质是一个构造函数,用于封装异步操作并获取其结果。是 ES2017(ES8)引入的异步编程语法,本质是 Promise 的语法糖,它不改变 Promise 的底层原理,只是提供了更简洁、更接近同步代码的写法,让异步代码的阅读和编写更加直观。Axios 是一款基于 Promise 的开源 HTTP 客户端。

2026-01-16 22:03:51 799 1

原创 Socket.IO 全量解析

/ 后端:创建两个自定义命名空间// 1. 聊天模块命名空间console.log('客户端连接到聊天命名空间:', socket.id);// 聊天命名空间的自定义事件...data,});});});// 2. 通知模块命名空间console.log('客户端连接到通知命名空间:', socket.id);// 通知命名空间的自定义事件...data,});});});// 前端:连接不同命名空间// 1. 连接聊天命名空间。

2026-01-16 19:37:37 710

原创 WebSocket 和 Socket.IO 的核心区别

本质区别:WebSocket 是「底层标准协议」,Socket.IO 是「基于 WebSocket 的全栈框架」(非替代,是封装扩展)。核心差异:Socket.IO 胜在「兼容性(自动降级)、内置功能(重连 / 心跳 / 房间)、开发效率」,WebSocket 胜在「轻量、高性能、无耦合、跨技术栈」。选型逻辑追求「稳定、高效、少封装」,优先 Socket.IO(Node.js 栈)。追求「轻量、高性能、跨技术栈」,优先原生 WebSocket。

2026-01-16 17:43:57 605

原创 webSocket详细讲解

WebSocket 是一种基于 TCP 协议的全双工通信协议,它由 HTML5 规范提出,允许客户端(浏览器)与服务器之间建立一个持久化的、双向的实时通信连接。基于 TCP:底层依赖 TCP 协议保证数据传输的可靠性,与 HTTP 协议同基于 TCP,且默认使用 80(ws://)和 443(wss://)端口。全双工通信:连接建立后,客户端和服务器无需等待对方请求,可同时向对方发送数据,就像两个人打电话,双方可以同时说话。

2026-01-16 17:23:18 626

原创 vue2 vue3生命周期

销毁阶段钩子更名:Vue2 的destroyed→ Vue3 的unmounted,语义更精准。API 形式差异:Vue2 仅支持选项式 API;Vue3 支持「选项式 API(兼容 Vue2)」和「组合式 API(推荐,Setup 语法糖)」,组合式 API 需手动导入生命周期钩子。created简化:Vue3 组合式 API 中,无需使用和created,直接将对应逻辑写在Setup顶层即可(Setup 执行时机早于,执行完成后数据已初始化)。执行顺序一致性。

2026-01-15 23:34:44 794

原创 浏览器页面前端自适应方案

简单页面 / 快速落地:优先使用「流式布局 + Flex 布局」;移动端专属页面:优先使用「VW 适配」(无需 JS)或「REM 适配」(精准还原设计稿);复杂多端页面(手机 / 平板 / 电脑):优先使用「Flex 布局 + 媒体查询」;所有方案的基础:必须配置正确的viewport视口标签,否则自适应效果失效。

2026-01-13 00:43:15 766

原创 钉钉小程序和微信小程序的区别

定位:钉钉 = 组织协同 + 办公集成;微信 = C 端流量 + 社交裂变。开发:axml vs wxml、acss vs wxss、a: vs wx:、onTap vs bindtap,语法与 API 需适配。能力:钉钉强在组织权限与办公能力;微信强在社交分享与商业化闭环。审核:钉钉内部应用免审,微信全量审核,发布效率差异显著。

2026-01-08 21:53:39 774

原创 config.js配置文件解析

核心分类记忆server管本地开发、管路径简写、build管生产打包、css管样式、plugins管框架支持;关键属性解决跨域、简化路径、清理生产代码、全局样式;新手重点:先掌握portopenaliasproxy这几个高频属性,其他属性可根据需求逐步添加。

2026-01-08 21:33:12 1031

原创 微信小程序分包

独立分包本质上也是分包,只不过它比较特殊,可以独立于主包和其它分包而单独运行。

2026-01-08 18:47:33 928

原创 微信小程序全局数据共享

全局数据共享(状态管理器)为了解决组件之间数据共享的问题。

2026-01-08 18:31:01 396

原创 uniapp安装uview-plus

中,通过 SCSS 预处理器配置全局引入变量文件(通常是组件库的。2.安装npm install sass --save-dev。1.在插件市场直接导入uview plus。进行到这一步的时候会报错 核心问题是。变量不存在,导致编译失败。,具体表现为代码中引用的。在项目的构建配置文件(如。3.main.js中添加。

2025-12-30 23:10:52 356

原创 导出功能封装

【代码】导出功能封装。

2025-12-29 00:09:52 124

原创 Vue3 后台项目接口封装全量方案

创建// 请求参数通用类型// 页码// 每页条数// 用户信息响应类型id: number;核心封装:通过创建实例,配置拦截器处理 token、错误码、提示信息,简化业务代码。环境隔离:使用.env.*文件配置不同环境的接口地址,避免硬编码,便于部署。接口管理:按业务模块拆分接口文件,统一维护,提高可维护性。易用性:在组件 / Pinia 中直接导入接口函数,使用 async/await 处理异步请求,语法简洁。扩展性。

2025-12-28 22:30:12 395

原创 性能优化方面

图片资源通常占小程序体积的较大比例,且不合理的图片加载会导致页面卡顿。1.资源体积多大:未压缩的图片、脚本或未使用懒加载的组件会增加加载时间。:微信小程序代码包体积限制为2MB,代码包过大将导致下载时间延长。3.渲染阻塞:同步加载的脚本会阻塞页面渲染,导致首次绘制延迟。2.网络延迟:跨域请求或未使用CDN加速的资源加载速度慢。:不合理的内存使用会导致小程序运行缓慢甚至崩溃。:渲染大量数据的长列表会导致严重的性能问题。:过多、过大的数据请求会导致页面渲染延迟。3.图片懒加载 路由懒加载。

2025-12-28 21:28:34 426

原创 微信小程序 消息订阅 & 消息推送

我们来系统梳理微信小程序的「消息订阅」和「消息推送」(含两种核心形态),明确概念、差异及实战联动方案,帮你彻底吃透这套能力。

2025-12-28 21:16:53 1458

原创 Socket.IO实时通信

全程绑定具体业务场景(如小程序客服 / 实时消息推送),避免纯技术罗列。

2025-12-17 23:58:32 641

原创 如何接口封装 注意事项

面试口述 “接口封装 + 注意事项” 的核心:以 “统一化、自动化、稳定性” 为目标,先讲封装思路(从痛点到落地),再讲核心注意事项,结合实际项目案例(比如 Uniapp/Vue/ 小程序),用 “步骤 + 细节 + 踩坑” 逻辑说清,体现工程化思维。以下是 3-5 分钟口述模板(适配中级前端,可直接套用):“我理解接口封装的核心是「统一规范、屏蔽差异、降低冗余」—— 把分散的请求逻辑(如参数处理、token 携带、错误处理)抽离成通用工具,让业务层不用关注请求细节,只专注业务逻辑,同时提升代码复用率和项目

2025-12-15 22:41:06 962

原创 微信小程序原生语法接口封装

以下是微信小程序原生语法的。

2025-12-08 00:08:50 747

原创 怎么解决首屏加载过慢的问题?什么原因导致的?

1.资源体积多大:未压缩的图片、脚本或未使用懒加载的组件会增加加载时间。4.重复请求:未合理设计缓存策略(如强缓存、协商缓存)导致资源重复下载。3.渲染阻塞:同步加载的脚本会阻塞页面渲染,导致首次绘制延迟。2.网络延迟:跨域请求或未使用CDN加速的资源加载速度慢。1.代码压缩和懒加载。

2025-11-29 22:04:31 319

原创 React-受控组件与非受控组件

受控组件:通过state完全控制表单数据,适合需要精细化管理的场景。非受控组件:依赖 DOM 自身管理数据,适合简单场景或性能优化。核心区别:数据控制权的归属(React vs DOM)。根据需求权衡选择,两者并非对立,而是互补。

2025-11-01 21:44:05 858

原创 react学习

react是一个构建页面界面的javasprict库主要用来写HTML页面 或构建Web应用如果从MVC角度来看 React仅仅是视图层(V)也就是负责视图的渲染 并非没提供了完整的M和C的功能 ​声明式基于组件:多个组件组合而成学习一次 随处使用:开发web应用 开发移动端原生应用 开发VR应用。

2025-10-29 23:50:05 267

原创 vue和react区别

Vue 和 React 的核心区别在于设计理念:‌易用性响应式数据绑定灵活性和函数式编程‌。两者在数据流、组件语法、性能优化和生态系统上存在显著差异。‌‌。

2025-10-28 23:16:46 281

原创 闭包及使用场景

闭包是一个作用域访问了另外一个函数内部的局部变量。

2025-10-27 19:35:50 328

原创 this指向以及如何改变this指向

函数内的this指向,是当我们调用函数的时候确定的。调用方式的不同决定this指向不同。一般指向调用者。

2025-10-27 18:38:12 199

原创 水印组件封装

【代码】水印组件封装。

2025-10-23 22:29:34 144

原创 微信小程序的几种传值方式

注意:如若因为传递的是对象类型的数据,到另一个页面获取时会发现是"[object,object]",解决方法是利用JSON.stringify()和JSON.parse()父组件中定义一下这个自定义事件bindsend="send" e.detail获取参数。app.js中globalData定义数据 在需要页面中调用getApp()跳转到的页面利用onLoad()方法的参数options即可获取到传递的参数。传递:把数据转换成字符串形式。给组件起的自定义名字是。接收:转换成对象形式。

2025-10-23 22:04:16 334

原创 微信小程序登录流程

开发者服务器根据OpenID或UnionID生成自定义登录态(如token),返回给小程序前端小程序前端通过wx.setStorageSync()将token存储至本地,后续请求时携带该token以识别用户身份。

2025-10-23 21:09:49 254

原创 css斜角边框

【代码】css斜角边框。

2025-10-23 01:08:16 130

原创 uni-app打包ios应用后,屏幕无法占满,上下出现黑框

manifest.json中splashscreen里设置。

2025-10-22 22:09:54 448

原创 防抖和节流使用场景和区别

防抖策略(debounce)是当事件被触发后,延迟n秒后再执行回调,如果在这n秒内事件又被触发,则重新计时。作用: 高频率触发的事件,在指定的单位时间内,只响应最后一次,如果在指定的时间内再次触发,则重新计算时间。

2025-10-20 21:08:53 619

原创 数组常用的方法

callback中有四个参数,第一个参数(必需)是上一次调用回调返回的值,第二个参数(必需)当前元素值,第三个参数(可选)当前元素在数组中的索引,第四个参数(可选)调用 reduce 的数组本身。indexof() 方法用于在指定的数据中,从左向右查询指定元素在数组中第一次出现的位置,如果找到了指定的元素,则返回该元素在数组中的索引;(2)如果有两个参数,该方法返回起始位置和结束位置之间的元素,但不包括结束位置的元素。有两个参数,其中第一个是(必填)需要查找的元素,第二个是(可选)开始查找元素的位置。

2025-10-13 00:21:43 780

空空如也

空空如也

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

TA关注的人

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