
日积月累_前端
文章平均质量分 72
日积月累
QSXZAS
未雨绸缪,居安思危!期待你的关注
展开
-
vue3 + element-plus + el-table 实现三层嵌套表格(含分页)
确保每次展开收起 都要将子级收缩起来,并且要把数据及入参清空!当然如果你想要多个行并列展开的话,有一个思路就是将分页 及 相关参数存到每条数据里,要将数据初始化好!项目需求 表格嵌套表格,一共三层表格,第二层基于第一层数据显示(流加载),第三层基于第二层数据(分页加载)。首先我这里使用的是 element-plus 的表格去实现的(含有扩展行 expand配置项),这个图没什么难得,就是逻辑交互可能稍微复杂一点!那个第二层数据 流加载,要确保有一定的高度哈!原创 2025-01-14 14:39:47 · 1027 阅读 · 11 评论 -
Postman如何汉化(保姆级教程)
比如你的postman是9.12.2版本那么你就点击进入,然后会看到resources文件夹,把刚下载的app.zit解压在当前文件夹即可!记得关闭postman的自动更新,不然的话会自动更新到最新版本,然后你所下载对于汉化包就不管用了!(点击桌面的postman,右键点击,然后选择文件所在位置,即可看到)我在写这篇文章的时候,补丁包的最新版本号为 9.12.2:下载。有需要的小伙伴可以自取,如果遇到无法下载的情况可以评论留言。点击设置,然后点击关于,就可以看到。原创 2024-08-08 17:56:57 · 13537 阅读 · 0 评论 -
前端处理跨域的几种方式
指一个域下文档或者脚本去请求另一个域下的资源,这里的跨域是广义的;同源策略(Same origin policy),简称SOP,是一种约定,它由Netscape公司1995年引入浏览器,它是浏览器核心也是最基本的安全功能,如果缺少同源策略,浏览器很容易受到XSS、CSFR等攻击。所谓同源是指“协议+ 域名+ 端口”三种相同;原创 2024-12-30 17:30:39 · 1422 阅读 · 6 评论 -
vue3 + vue3-print-nb(分页打印,批量打印)
概述项目需求 打印功能遇到的一些小问题,记录一下,方便查找!以下是使用示例:main.js 注册1原图内容:问题所在:两个demo层合并后,内容过长,但是打印预览时没有自动分页!当你在搜索这个问题的时候,你可能会见过这种方法:将插件下载到本地然后修改源码在源码里找到getStyle方法使用打印媒体查询,在打印时重新设置body、html的高度。原创 2024-12-24 11:23:22 · 1765 阅读 · 13 评论 -
vue2 动态路由的实现
一般情况下,路由都是前端约定好的,但是每当项目发布上线,或者客户需求新的页面的时候,都需要做出路由改变。这样运维就可以现场支持,方便做出可操作的中户中台,来管理我们的中心项目登录及权限,路由等方面;注意:isDynamicRouting 这个值决定了是否使用动态路由,声明在全局里面!这样就必须使用动态生成路由,由后台返回具体的路由结构体;我这边是这样模拟的;登录成功后记得要将 最上方等你们约定数据结构放到 缓存当中哦!引入路由 vue 组件(望理解打码!原创 2024-11-14 15:27:11 · 1096 阅读 · 23 评论 -
JavaScript 读取及写入本地文件
概述在纯前端 javaScript 中,浏览器环境压根没有直接提供操作文件系统的能力。它不能像 node.js 那样使用 fs 模块来删除或者创建文件。 针对于浏览器出于安全性的考虑,不允许网页随意访问用户的文件系统,以防止潜在的恶意行为。浏览器确实提供了一些有限的文件操作能力,主要是通过以下几种方式:文件上传和下载:文件上传: 可以通过 <input type=“file”> 元素让用户选择文件,然后通过 JavaScript 读取文件内容。文件下载: 可以通过创建 Blob 对象原创 2024-11-06 18:05:13 · 4687 阅读 · 26 评论 -
纯前端实现在线预览excel文件(插件: LuckyExcel、Luckysheet)
注意,https://cdn.jsdelivr.net/npm/luckysheet@latest/dist/luckysheet.umd.js这个路径意思是会拉取到最新的luckysheet代码,但是如果Luckysheet刚刚发布,jsdelivr网站可能还没来得及从npm上同步过去,故而使用这个路径还是会拉到上一个版本,我们推荐您直接指定最新版本。废话不多说,上代码!Luckysheet库因为是script引入的,可以通过window.Luckysheet来使用,为避免ts报错,需要定义全局变量。原创 2024-11-05 14:37:01 · 3588 阅读 · 8 评论 -
vue纯前端使用exceljs导出excel文件
概述本文是使用excel.js 插件结合 vue,实现的纯前端excel文件导出!下面是实现后的实例!大致分为以下几步:一:excel.js 插件的安装及引用使用 npm 或者根据具体项目使用的 包管理工具下载:在具体使用页面中直接 import 动态引入,或者使用require方法:二:创建excel工作簿根据官网方法使用配置,这里采用的 saveAs 方法,这个插件直接搜索下载就行,这里就不做介绍了!如果下载成功,说明组件引入都没有问题,进行下一步操作三:创建excel工作表(sheet栏原创 2024-11-04 16:33:32 · 2033 阅读 · 33 评论 -
Web Serial API 串口通讯
目的 串口是非常常用的一种电脑与设备交互的接口。目前在浏览器上直接使用电脑上的串口设备了,这篇文章将介绍相关内容。 相关资料 Web Serial API 相关内容参考如下: https://developer.mozilla.org/en-US/docs/Web/API/Serial https://developer.mozilla.org/en-US/docs/Web/API/SerialPort https://wicg.github.io/serial/ 这个API目前还处于实验性质,只有原创 2024-11-01 10:33:36 · 1176 阅读 · 7 评论 -
Vue3 集成海康Web插件实现视频实时监控
playURL: String, // 视频urlsplitNum: Number, // 分屏播放,默认最大分屏4*4dataTree: Object, // 树 数据});props: 定义组件接收的属性,包括playURLsplitNumdataTree和。emit: 定义组件触发的事件,如。dataTree: 树形结构的数据。: 树形组件的默认属性。loading: 加载状态。corpvideo: 视频播放容器的引用。videosp: 视频播放区域的引用。width和。原创 2024-10-29 15:27:34 · 2646 阅读 · 14 评论 -
前端文件流下载及文件类型互相转换
charset=UTF-8,所以默认传参的数据类型是纯文本类型的 JSON 对象,不适合带有文件类型的数据,若需要传参带有文件数据,那么需要把 Content-Type 指定为 multipart/form-data,这样传参可以带上文件类型数据。这里简单说下 application/x-www-form-urlencoded,它是标准的默认编码格式(在原始的 AJAX 中,不是 axios),只能上传键值对,并且键值对都是间隔分开的,不能用于上传文件等二进制数据。总结完毕,欢迎评论区留言。原创 2024-10-21 15:32:17 · 2397 阅读 · 14 评论 -
HTTP Cookie深入解析
如果 cookie 是一个持久性的 cookie,那么它其实就是浏览器相关的,特定目录下的一个文件。GMT 和 UTC 都曾是或现在是国际上重要的时间标准,但由于地球自转的不规则性和原子钟的精确性,UTC 已经成为了全球性的标准时间,而 GMT 则更多被用作历史和地理上的参考。持久 Cookie(Persistent Cookie):带有明确的过期日期或持续时间,可以跨多个浏览器会话存在。(也称为 Web Cookie、浏览器 Cookie 或简称 Cookie)是。Cookie):在浏览器关闭时失效。原创 2024-10-21 10:56:22 · 1636 阅读 · 10 评论 -
el-radio 和 el-cascader 选择报错 Blocked aria-hidden on a...
element ui 中的单选框组件 el-radio-group 在近期使用中 报错(有关标签属性-aria-hidden),经测试chrome浏览器会出现这个问题。翻译:元素上的Blocked aria-hidden,因为刚刚接收焦点的元素不能对辅助技术用户隐藏。考虑使用惰性属性,这也会阻止焦点。这个方法对于el-radio和el-cascader都适用,但是在样式上会有问题,按钮外廓会有模糊,此时需要设置一下对应的样式。在出现报错的 el-radio-group 组件 上去绑定我们的自定义指令。原创 2024-10-12 09:56:38 · 5092 阅读 · 14 评论 -
全局对象Window的API(postMessage)方法深入浅出
例如,当用 postMessage 传送密码时,这个参数就显得尤为重要,必须保证它的值与这条包含密码的信息的预期接受者的 origin 属性完全一致,来防止密码被恶意的第三方截获。// document.getElementById('span2').innerHTML = event.origin // 发送消息的来源,可以根据origin来确保期望的发送者。// opener.postMessage('B页面发送过去的数据', 'http://127.0.0.1:5500')原创 2024-10-11 17:49:09 · 1706 阅读 · 4 评论 -
前端--深入了解es6语法
ECMAScript是JavaScript的。原创 2024-10-10 16:09:45 · 1429 阅读 · 9 评论 -
Vue3 使用插槽的方式———<Slot>
如果父组件没有为某个插槽提供内容,那么子组件的模板中该插槽的位置将显示为该插槽的默认内容(如果有的话),或者简单地留空。在Vue3中,子组件的模板可以定义多个插槽(包括默认插槽和具名插槽等等),定义:允许插槽的名称是动态的,根据组件的状态或其他条件来决定使用哪个插槽。定义:没有指定名称的插槽,用于接收父组件传递的未明确指定插槽名称的内容。定义:带有名称的插槽,用于接收父组件中明确指定插槽名称的内容。定义:一种特殊的插槽,允许子组件将数据暴露给父组件的插槽内容。定义具名插槽,父组件中通过。原创 2024-09-26 17:13:53 · 4485 阅读 · 3 评论 -
Typora保姆级教程破解(实测可行)
Typora 破解。原创 2024-09-26 13:53:39 · 2173 阅读 · 5 评论 -
关于 vue3 axios的封装,并发请求相关
Axios 是一个基于 promise 网络请求库,作用于node.js 和浏览器中。它是 isomorphic 的(即同一套代码可以运行在浏览器和node.js中)。如要登录后设置 请求头token, 可直接在拿到token后直接设置。为了方便起见,axios为所有支持的请求方法提供了别名(配置项在这里就不多做介绍,官网都有。以上就是完整的示例,欢迎评论区讨论,如有写的不足的地方欢迎指出。封装之前,需要下载axios依赖,这些准备工作做好后才能进行以下操作。以上大致封装完毕,导出相关用法。原创 2024-09-24 15:15:50 · 2381 阅读 · 1 评论 -
原生video 在线src测试链接
可以直接浏览器粘贴播放,看看是否支持你的要求:原创 2024-09-14 17:45:12 · 837 阅读 · 3 评论 -
vue使用关于speak-tss插件的详细介绍
voice:要使用的语音,如果未提供,则由浏览器选择默认语音。支持 Microsoft Huihui - Chinese (Simplified, PRC) ,Microsoft Kangkang - Chinese (Simplified, PRC) ,Microsoft Yaoyao - Chinese (Simplified, PRC)lang:语言,如果没有提供,则默认值由您的浏览器决定(下文有声明多种语言)。volume:语音播报的声音,默认为1(音量0-1)。rate: 语速,默认为 1。原创 2024-09-13 16:18:59 · 1408 阅读 · 1 评论 -
基于ts写法的一些 项目中会有所用到的功能函数
项目中可能会用到的功能函数,一般定义到外部文件中,hooks中。在此记录一下:一,判断是否ie浏览器 判断ie的版本二,转意符换成普通字符三,'yyyy-MM-dd HH:mm:ss’格式的字符串转日期四,生成随机数五,根据数组生成tree结构六,判断两个对象是否完全相等 数组去重 数字滚动效果七,验证身份证号 的两种方式, 验证手机号八,文件转为链接,base64转为blob,blob转为file,九,判断某个数字是否为质数 及 某个自然数中的质数的个数十,其它到原创 2024-09-11 15:20:02 · 470 阅读 · 1 评论 -
vue3 的 watch监听的多种方式及注意点
1,基本数据类型:可以直接监听,可获取新旧值。2,引用数据类型:需要deep:true深度监听,但是只能获取新值。要想获取新旧值,要想获取新旧值,需要监听目标数据的深拷贝。原创 2024-09-11 11:30:05 · 2112 阅读 · 3 评论 -
有关树形结构数据的功能函数
本文主要介绍的是 有关树形结构数据的处理,下面主要写了几个针对相关功能的功能函数,在此记录一下:一,在树形数据中,找到某个节点中id为指定值的数据节点(树形结构中所有节点,包括子节点):二,根据根节点的id将一个一维数组转变为树形数据(rootValue即根节点的id):三,获取树形根节点的status 值为currentStatus的根节点的节点个数:四,获取根节点的个数(树形结构中所有节点个数):五,根据传入的id数组,给该节点添加一个disabled属性值为false,其他节点添加一个disa原创 2024-09-02 17:40:21 · 285 阅读 · 0 评论 -
解决el-avatar及el-image本地路径的图片不显示问题
项目中有个上传用户头像的功能,但是不是必填项,不上传的话显示默认头像,默认头像配置在asset目录下面。组件,发现使用本地图片路径无法显示,但是使用原生img标签却能显示。转载 2024-08-23 17:57:58 · 482 阅读 · 1 评论 -
el-table表格自动滚动实现 + vue-seamless-scroll 插件的实现
先说一说实现过程中遇到的大坑吧。原创 2024-08-23 17:32:08 · 3873 阅读 · 0 评论 -
关于后台数据文件流的下载及导出
这些方法可以根据具体的需求和项目环境选择使用。需要注意的是,后端返回的文件流需要正确设置Content-Disposition响应头,以指定文件的名称和下载方式。当需要请求相关接口或者是 url 时,后端返回文件流的形式供前端下载,导出。以上8种实现下载的方式,根据不同的需求选择不同的方式。原创 2024-08-23 16:32:02 · 1055 阅读 · 0 评论 -
git stash 主要使用
在实际开发过程中应该都会遇到这种情况:目前你在开发一个新的功能在A分支,这时有一个优先级很高的需求或者是bug需要修复。下面来介绍下主要的 git stash 的命令行使用。首先我们直接将我们未开发完的代码 暂存到工作区(修改的内容) 可以多次使用stash,从最近一次的commit读取相关内容。注意: git stash pop 是获取最近一次暂存进去的代码, 如果你stash了很多次,那么恢复的是最新一次的代码内容。有时候 我们开发多了,stash 进去暂存区的内容多了,自己也忘记具体要恢复那次了。原创 2024-08-21 13:51:58 · 293 阅读 · 0 评论 -
Notification 分不同实例关闭
vue3使用 element-plus中的Notification 实现一个 消息通知的功能。需求:,每当 socket 通知到位,系统右下角就会自动弹出一个 notification 弹框通知。对应弹框点击后,做对应推送数据的处理且关闭 具体某个 消息通知。(多个消息通知,到底如何处理呢!还有个关键性问题就是 根据需求,点击某个通知后需el-dialog 弹框中处理内容。此时消息弹框 层级比 el-dialog 高,这样就造成了无限点击 出现多个弹框问题。问题解决,就到此结束啦!原创 2024-08-20 11:27:53 · 624 阅读 · 0 评论 -
img 加载失败特定默认图片
本文讲解一个简单的问题,平常我们开发的时候难免用到标签。当图片src地址不存在 及 加载失败的时候,想给一张加载失败的图片。直接上代码。第二种 在vue中 直接直接使用 @error事件第三种 当你确认src 可能为空或者是错误时 给一个或的条件以上就是 图片加载失败的 显示其它默认图片的处理。看完别忘记点赞哦,小二在此谢过了!原创 2024-08-20 10:32:53 · 1577 阅读 · 0 评论 -
element的 ElMessageBox 倒计时操作
组件库中 Feedback 反馈组件(ElMessageBox.confirm),具体需求是在 确定按钮下做一个 自动倒计时,倒计时结束自动触发 确定事件。这里使用element-plus组件库,安装使用看官网。ElMessageBox.confirm 具体使用及配置项 官网都有介绍。页面效果是这样: 倒计时结束自动触发!废话不多说直接上代码。这里简单介绍下: 使用。原创 2024-08-19 16:45:08 · 1515 阅读 · 0 评论 -
vue v-html 处理后台返回的不规则 特殊符号 html
有时候会遇到后台直接返回 html 标签, 但是是一些不规则的特殊符号。等。这里直接使用 replace 及配合正则 方法去解决。下面介绍三种不规则 html 标签处理。废话不多说,直接上代码(这里说明一下,以下内容是由其它文章获取,尊重原创)。原创 2024-08-15 11:03:46 · 530 阅读 · 0 评论 -
vue3+vite适配低版本谷歌浏览器
最近使用vue3+ts+vite搭建了一个项目,在chrome112等新版本浏览器上无问题,但是部署到现场页面直接空白,且控制台报错:问题:经过排查是现场谷歌浏览器72版本太老,不支持最新语法和es6这些语法导致故需要做浏览器兼容性处理在mac运行不同版本的chrome浏览器。转载 2024-08-14 17:30:36 · 1044 阅读 · 0 评论 -
vue3 打包低版本浏览器问题
vite版本和@vitejs/plugin-legacy版本没有对应,因为plugin-legacy版本为2.x后,vite版本需要为3.x版本,要么@vitejs/plugin-legacy降级为2x一下。原创 2024-08-08 17:10:21 · 861 阅读 · 0 评论 -
实现Element ui 及 plus Message消息提示的倒计时效果
(2)若是Element Plus框架的项目中,先在 main.ts 中引入 elementUtil 工具并配置为全局方法,然后直接在任意一个 vue 页面中使用。框架暂时没有实现这个功能。实例化多个消息提示,每个消息提示都具有自己的倒计时。以及可在Element UI或Element Plus框架上实现。(1)若是Element UI框架的项目中,直接在任意一个 vue 页面中使用。刚好遇到一个需要自动关闭消息提示的需求,可。三、在Element Plus框架上的实现。二、在Element。原创 2024-08-08 16:26:12 · 803 阅读 · 0 评论 -
vue3 + vite + @vitejs/plugin-legacy 兼容低版本浏览器
最近使用vue3+ts+vite搭建了一个项目,在chrome112等新版本浏览器上无问题,但是部署到现场页面直接空白,且控制台报错:问题:经过排查是现场谷歌浏览器72版本太老,不支持最新语法和es6这些语法导致故需要做浏览器兼容性处理在mac运行不同版本的chrome浏览器。原创 2024-08-08 15:35:59 · 4943 阅读 · 5 评论