自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 模块导出的三种模式

ES6模块系统提供了三种导出模式:默认暴露、分别暴露和统一暴露。默认暴露适用于单一功能模块,每个模块只能导出一个默认值,导入时可自定义名称。分别暴露允许导出多个具名值,适合工具库等需要多功能导出的场景。统一暴露是分别暴露的变体,将所有导出集中声明,提高代码可读性。三种模式各有特点,默认暴露适合组件和单例对象,分别暴露/统一暴露适合API集合和工具库。建议根据模块功能需求选择合适的导出方式,保持代码清晰和可维护性。

2025-07-03 11:23:47 453

原创 前端模拟token

调用CryptoJS.SHA256方法对拼接后的字符串进行哈希处理,SHA-256是一种安全哈希算法,它会将输入的字符串转换为固定长度(256 位)的哈希值,该哈希值即为最终生成的 Token。Token 验证:生成 Token 后,在后续的请求中需要在服务器端对 Token 进行验证,包括检查 Token 的有效性和是否过期。Date.now()返回当前时间的时间戳(单位为毫秒),通过将当前时间戳加上根据失效时间(分钟)换算后的毫秒数,得到 Token 的失效时间戳,用于后续判断 Token 是否过期。

2025-06-25 13:55:18 532

原创 vue+vite项目搭建(以v3为例)

如果你希望在运行npm run dev的时候自动在浏览器中打开应用,可以使用--open选项,两种方法,1.在电脑中创建一个文件夹,在文件夹中打开终端(或是在文件夹路径中输入cmd进如终端)方法一:在package.json文件中修改脚本。方法二:在终端运行项目的时候直接使用。3.之后选择你所需要应用的选项,进入项目中执行。

2025-06-20 15:19:20 399

原创 公共样式全局引入不生效

Vue项目中全局SCSS变量失效问题的解决方案 在Vue+Vite项目中使用SCSS时,直接在main.ts引入公共样式无法使变量和混合器全局生效,必须在组件内单独引入。原因在于:1) JS层面的import无法将SCSS编译特性注入组件作用域;2) scoped样式隔离机制导致全局样式无法自动应用。解决方案是在vite.config.ts中配置css.preprocessorOptions.scss.additionalData,自动将base.scss注入每个组件的SCSS编译过程。这样既保持了样式隔离

2025-06-20 14:29:05 596

原创 vue3+Pinia开发项目刷新导致页面空白的问题

动态路由刷新丢失问题的核心在于:仅持久化路由数据而未重新执行注入逻辑。Pinia存储的路由配置虽然通过localStorage保存,但刷新后需主动在路由守卫或初始化时调用router.addRoute重新载入。解决方案应包含两个关键步骤:1) 持久化路由数据;2) 应用启动时读取存储数据并重新注入路由系统,同时使用next({...to,replace:true})强制更新路由状态。是否需持久化应根据具体业务场景评估。(149字)

2025-06-20 11:09:50 480

原创 函数截流、防抖方法封装

每次触发事件的时候,如果定时器timer存在就清除timer,在启动一个新的定时器,延迟delay之后再执行callback函数,如果在这段时间内再次触发事件,定时器会被清除并重新启动,只有在不触发事件后,定时器才会到达结束点并开始执行callback函数。其工作原理是:当需要截流的函数第一次执行的时候会触发当前的截流函数,同时函数会启动一个定时器,时长是wait指定的时间,在等待时间内,无论函数触发多少次都不会再次被执行,直到时间结束,定时器会被重置,函数可以再次被执行。delay:防抖延迟的时间。

2024-08-22 14:45:51 497

原创 H5上传图片/文件组件封装

【代码】H5上传图片/文件组件封装。

2024-07-15 15:33:33 352

原创 ts实现将数字转成英文并将首字母大写

1、 定义数字到单词的映射表numToWords;

2024-07-04 11:41:07 410

原创 el-dialog二次封装

用于上传图片和视频,并且在上传成功后显示上传的媒体文件。

2024-05-28 16:44:04 476

原创 H5做物理返回按键拦截(只拦截一次)

浏览器没有提供用户退出事件的监听方法,因此我们可以通过history.pushState()的方法往浏览器中插一条历史记录,再通过window.addEventListener('popstate',()=>{})对浏览器的历史记录进行监听。

2023-12-15 18:12:26 1819

原创 v3+ts table组件基础封装(支持多级表头结构)

v3+ts实现table组件基础封装(支持多级表头结构)

2023-08-14 11:25:11 236

空空如也

空空如也

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

TA关注的人

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