自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 electron项目搭建

这两个"服务器"之间通过JS Bridge进行通信(即:contextBridge),在主进程的preload预加载中可以同时访问到浏览器进程的window对象和主进程的electron api。此时,我们可以经由ipcRerender(electron中从渲染进程(网页)向主进程发送同步和异步消息的api)将electron的api挂载到window对象上,以便在浏览器进程中使用),然后在主进程中通过ipcMain(处理从渲染器进程(网页)发送的异步和同步消息。)监听即可达到进程通信的目的。

2024-07-25 15:02:08 874 2

原创 手写call函数

【代码】手写call函数。

2024-07-24 12:41:06 77

原创 keep-alive的排除和加入(include和exclude)

【代码】keep-alive的排除和加入(include和exclude)

2024-07-20 21:45:16 102

原创 数据响应式(Object.defineProperty和Proxy)

api局限性:向对象追加属性不会被劫持,向数组追加同样无法劫持,想要保留响应式需要重写方法。相较于Object.defineProperty的优势可以监听对象和数组追加内容。前言(使用vue2时出现的问题以及背后的思考)1.1 对象响应式处理。1.2 重写数组方法。

2024-07-19 20:39:04 160

原创 ts的简单演示

//基本数据类型const num:number = 1const haha:undefined = undefinedconst notice:string = '嘻嘻'const empty:null = null//数组const arr:number[] = [1]//对象const obj:{ name:string,age:number } = { name:'张三', age:48}//联合类型const params:string | numb

2024-07-16 15:20:28 99

原创 数组操作(求数组子集、交集、并集)

【代码】回溯算法(求数组子集)

2024-07-16 11:25:39 74

原创 无限滚动列表

【代码】无限滚动列表。

2024-07-13 16:20:41 74

原创 vitejs/plugin-vue插件

但是,当运送自定义元素库时,可能需要将样式内联为JavaScript字符串,并将其注入自定义元素的影子根中。注意:从vue 3.2.13+和@vitejs/plugin-vue 1.9.0+开始,@vue/compiler-sfc不再需要作为对等依赖。当@vitejs/plugin-vue编译SFC中的<template>块时,它还将遇到的任何资产URL转换为ESM导入。请注意,在自定义元素模式中,不需要使用<style-scoped>,因为CSS已经在shadow DOM中确定了作用域。

2024-07-04 12:54:51 724

原创 并发请求数量限制

【代码】并发请求数量限制。

2024-07-01 17:04:06 128

原创 uniapp启动页面鉴权页面闪烁问题

在使用uni-app开发app 打包完成后如果没有token,那么就在onLaunch生命周期里面判断用户是否登录并跳转至登录页。不勾选“等待首页渲染完毕后再关闭Splash图”,则表示首页加载完成后就会关闭启动界面,此时首页可能没有完成渲染,在部分设备可能会闪一下白屏,不推荐使用。勾选“等待首页渲染完毕后再关闭Splash图”,表示需要等待首页渲染完成后再关闭启动界面。代码控制关闭启动界面 App启动后不会自动关闭启动界面,需要在代码中调用。根据官网配置启动项后在onLaunch声明周期中配置。

2024-06-29 11:46:59 772

原创 nginx的基本配置

nginx目录。

2024-06-26 18:23:56 260

原创 js查找最近的祖先元素

【代码】js查找最近的祖先元素。

2024-06-22 13:59:45 156

原创 getSelection限制选取范围

【代码】getSelection限制选取范围。

2024-06-22 11:07:19 224

原创 js获取选中区域(window.getSelection的基本使用)

对象,表示用户选择的文本范围或光标的当前位置。

2024-06-21 20:36:59 291

原创 uniapp的socket.io插件

源码(直接引入单文件会报错default is not exported by,原因暂不明确总之不推荐直接引入js文件,而是使用npm直接安装)

2024-06-16 20:35:13 562

原创 mobx的基本使用

安装mobx及mobx-react-lite插件。基本使用(store.js文件)

2024-06-13 23:39:38 261

原创 react路由的使用

router文件夹下index.ts路由表配置。编程式导航 useNavigate。获取路由路径 useLocation。获取路由参数 useParams。main.tsx中配置。

2024-06-13 23:00:13 367

原创 插件:vite-plugin-electron

如果你非常了解这个插件的工作原理,或者你想使用vite-plugin-electronic API作为低级API的二次封装,那么平面API更适合你。它也很简单,但更灵活。一般来说,Vite可能无法正确构建Node.js包,尤其是C/C++原生模块,但Vite可以将其作为外部包加载,因此,将Node.js包放在依赖项中。vite-plugin-electron的JavaScript API是完全类型化的,建议在VS Code中使用TypeScript或启用JS类型检查,以利用智能感知和验证。

2024-06-04 09:41:10 1262

原创 插件:qrcode的使用

源文档: qrcode文档TypeScript用户:如果您使用@types/qrcode,则需要在数据段上方添加//@ts ignore,因为它需要data:string。用法如果未指定,则根据文件扩展名推测输出类型。可识别的扩展名有png、svg和txt。APItext: 要编码的文本或描述分段的对象列表。options: 2.toCanvas() 在画布上绘制二维码符号。toCanvas(canvasElement,text,[options],[cb(error)])和

2024-06-01 19:41:15 1421

原创 插件:powerset.js(幂等算法)

【代码】工具插件:powset.js(幂等算法)

2024-05-30 21:36:17 405

原创 react的样式处理方案及样式透穿(styled-components)

安装styled-components。

2024-05-28 17:34:08 625

原创 插件:html2canvas

html2canvas无法绕过浏览器设置的内容策略限制。绘制位于当前页面原点之外的图像会污染它们所绘制的画布。如果画布被污染,就无法再读取。如果要加载位于页面原点之外的图像,可以使用代理加载图像。如果希望将某些元素排除在渲染之外,可以将data-html2canvas-ignore属性添加到这些元素中,html2canvas将从渲染中排除这些元素。

2024-05-27 21:41:23 1104

原创 插件使用:print.js演示

print.js缺点:无法对页眉页脚做定制(如果觉得页眉页脚的时间和网址碍眼,打印时可以取消勾选页眉页脚按钮,但如需展示定制化页眉页脚print.js则无能为力)

2024-05-27 20:44:14 249

原创 插件:print.js的使用

有四种打印文档类型可用:“pdf”、“html”、“image”和“json”。默认类型为“pdf”。

2024-05-27 16:13:02 703

原创 功能实现:canvas图片缩放与移动

【代码】功能实现:canvas图片缩放与移动。

2024-05-27 11:26:55 532

原创 工具函数:数组转树形结构(递归)

【代码】工具函数:数组转树形结构(递归)

2024-05-23 22:45:25 248

原创 笛卡尔积(简单实现)

【代码】算法:笛卡尔积。

2024-05-23 11:20:53 97

原创 IntersectionObserver的简单使用

【代码】IntersectionObserver的简单使用。

2024-05-21 09:36:28 253

原创 性能优化:虚拟列表的简单实现

【代码】性能优化:虚拟列表的简单实现。

2024-05-20 20:23:46 95

原创 工具函数:比较数组内容是否相等

【代码】工具函数:比较数组内容是否相等。

2024-05-17 23:48:10 69

原创 websocket的简单封装

需使用服务器环境,直接使用浏览器打开会报错,可以基于vscode的live server插件打开。

2024-05-17 21:11:58 214

原创 canvas保持清晰度与图片裁切

在HTML 5中,新增加了两个根据图片原始大小用来判断图片的宽度和高度的属性,分别为 naturalWidth 和 naturalHeight属性,表示这张图片画出来的时候,它本身自带的尺寸。3.缩放倍率 浏览器的缩放倍率,可通过window.devicePixelRatio获取。的尺寸,它表示图片展现在页面上的尺寸。当满足以上公式时图片会始终保持清晰。图片分为两种尺寸,第一种尺寸叫做。,就是我们设置这个图片的。

2024-05-15 21:22:04 266

原创 JS数据类型

5. Undefined 未定义。2.String 字符串。1.Number 数字。3.Boolean 布尔。1.Object 对象。4.Null 空值。

2024-05-10 11:59:11 86

原创 设计模式:发布订阅模式

【代码】设计模式:发布订阅模式。

2024-05-05 19:38:31 99

原创 设计模式:观察者模式

简而言之即:一个类保存任务数组,将此类绑定至事件中。当此类的方法被触发时,遍历任务数组并触发观察者类的方法以此达到通知观察者的目的(类似于回调函数)

2024-05-05 19:20:18 196

原创 设计模式:代理模式

定义:为其他对象提供一种代理控制这个对象的访问。

2024-05-05 16:08:43 73

原创 设计模式:策略模式

简而言之即:把需要判断的逻辑提取到函数外部,函数仅保留返回结果逻辑。(当代码逻辑中有大量if else逻辑时可将它们提取到外侧)

2024-05-05 15:52:36 64

原创 设计模式:适配器模式

定义:将一个类的接口转换成另一个接口,使得不兼容的接口可以一起工作。

2024-05-05 15:41:04 82

原创 设计模式:修饰器模式

定义:在不改动原有代码的情况下对已有的功能进行拓展,这种模式不会更改原有代码,对其他业务产生影响。

2024-05-05 15:16:02 212

原创 设计模式:建造者模式

简而言之即:将多个需要执行的公共创建方法提取封装到另一个建造者类的方法中,通过调用建造者类中的方法来帮助执行多个类的内容。定义:提供一种复杂的对象方式,将其构建与表示分离,使得同样的构建过程可以构建不同的表示。

2024-05-05 12:24:33 176

空空如也

空空如也

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

TA关注的人

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