- 博客(278)
- 资源 (1)
- 收藏
- 关注
原创 前端实现单点登录(SSO)的方案
保证用户只需登录一次,就能访问多个关联应用,而不需要重复登录。单点登录(Single Sign-On, SSO)主要是。请求 SSO,获取用户信息。
2025-04-01 16:07:36
939
原创 vue3 中 <script setup> 到底干了什么
script setup 就是一个语法糖,经过 编译,最终还是 setup 函数。在 script setup 如果想获取子组件的属性/方法,需要通过 defineExpose 暴露defineExpose 最终也会编译成 expose, defineExpose不会参与运行时,所以不用做导入。
2024-08-14 11:12:40
1810
原创 《Nest系列 - 4. 听说人人都会CRUD,可是我还不会怎么办???-《4.3结合前端使用实现多表联合查询》
对于联合查询,前端还是普通的传递参数,调用接口。这是后端做一个一个拆分。相当于前端拆组件,再拼接起来。联合查询有很多关系,一对多,多对一,多对多,等等。主要实现是通过typeorm,里面的装饰器OneToMany和ManyToOne, ManyToMany 具体可参考TypeORM 关系这一章表关联完毕,就是数据怎么做关联根据id,找到对应的用户。根据传递来的tag,依次添加到tag 表中更新当前用户的值查询时 如果需要 联合查询需要增加即可,代表关联查询那张表。
2024-06-27 16:38:13
719
原创 《Nest系列 - 4. 听说人人都会CRUD,可是我还不会怎么办???-《4.2结合前端使用实现CRUD》
服务端在controller层定义好路由信息(接口地址),在server层做逻辑处理,将数据返回给客户端前端根据路由匹配后端地址,通过网络请求库做数据请求前端传递参数,后端接收参数,通过装饰器解析,解析出参数,再传递给server 层做逻辑处理server 层 通过typeOrm 库做数据库的增删改查,主要就是savefindupdatedelete如果想做一些数据库的查询,可以利用一些关键字来实现whereLike等,详细更多可以查看官网。
2024-06-26 15:14:55
887
原创 《Nest系列 - 4. 听说人人都会CRUD,可是我还不会怎么办???-《 4.1-数据库连接和实体》》
实体类是什么,如果我这样说你就明白了。在mysql 中创建数据字段,设定默认值,执行上面sql语句,会生成对应的数据内容@Entity()没玩过数据库的同学,可能在数据库这块会停滞很久解决问题,具体可以看看这个教程知道什么事orm框架,就是用面向对象的方式操作数据库,而不需要直接编写大量的SQL语句梳理清楚 nest typeorm mysql 的关系。其实typeorm 更像是一个中间者,来进行数据库连接,对数据库进行操作(这个时候就需要实体类来和数据库字段进行对应。
2024-06-24 17:18:52
966
2
原创 《Nest系列 - 3. 掌握常见Nest 装饰器,奠定坚实基础!!!!!!》
这一篇,整体来说比较枯燥,还有很多装饰器没有聊,只是把客户端发请求,服务端对路径/参数做解析,返回数据到客户端的装饰器做了一些介绍其他装饰器大致也是一样的道理,后面遇到我们再做说明。
2024-06-24 17:15:02
361
原创 《Nest系列 - 2. Nest 代码生成器,让你告别base代码书写!!!》
紧接上文我们做一些核心梳理/modules/servicesmain.ts。
2024-06-18 17:23:49
780
原创 《Nest系列 - 1. 运行一个Nest项目以及整体目录学习》
可以使用cli快速搭建项目,并且运行项目对每个目录进行分析,掌握整体项目结构从app.main.ts 出来,开始 逐步分析,通过NestFactory创建一个实例,然后把模块传入模块就是一个集合,里面聚合了Controller,ServiceController 就是一个控制器文件,可以简单理解为路由文件,里面会设置请求方法/请求参数, 然后调用Service 类 来做业务逻辑处理/和数据库交互。
2024-06-14 13:25:53
1096
原创 运营:别再让你的页面一直loading 了
第一轮 battleQ: 我想下载一个大文件,,我想在A:一直转圈就一直等呗,第二轮 battleQ: 不行,为什么别人的浏览器,下载软件/文件 就能操作界面,你这就一直转圈,什么都做不了A: 我们js 是单线程,一个时间只能做一件事,你不能在下载文件的时候,还操作界面吧…逐渐语无伦次,行,我给你试着优化优化…最终效果可以看到,下载文件 页面不再转圈,并且可以在界面操作,但是在点击操作1,2,到3的时候,会卡顿一下,下面会说为什么会卡这一下。
2024-05-17 17:27:08
921
原创 node - 实现多语言脚本快速生成
前言多个项目做了多语言,需要多个多语言表(也就是.xlsx文件)来维护。前端需要从一个文件中根据key 来 读取值(值可能对应中/英两种情况),怎么将多个.xlsx 文件,合并成一个前端可以根据key 来读取的文件,这就是今天我要写的内容。
2024-04-22 13:39:16
1096
原创 发布订阅模式以及mitt源码实现
发布-订阅者模式(Publish-Subscribe Pattern)是一种软件设计模式,用于实现对象间的一对多通信。在该模式中,存在两种角色:发布者(Publisher)和订阅者(Subscriber)。
2024-04-18 15:03:11
596
原创 项目中自动引入神器 - unplugin-auto-import/unplugin-vue-components
在开发中,我们总喜欢站在巨人的肩膀上开发,比如用一些框架:vue,react,组件库:element,ant。工具函数:axios,lodash现在是模块化时代,我们也喜欢封装一些组件/工具库,但是都需要引入。v3更是改成composition API ,用那个引入那个,不知道你为此是否感到繁琐,今天就让我们来学习使用两款插件,解放双手,让我们有更多的摸鱼时间🦑。
2024-03-28 15:00:59
5327
2
原创 vue3 中 主题定制
我们在切换主题的时候,在组件内其实没有做任何处理,是在pinia 里做的监听持久化 这里用到了 persist 插件通过向外暴露setupTheme 来实现 修改主题。
2024-03-01 18:25:16
791
原创 vue3 图片/视频 加载失败重试
媒体组件,提供了失败的回调,可以使用失败回调,不断的load来加载数据加载成功后,或者到达一定次数时,注意及时销毁。
2024-02-29 10:53:07
1316
原创 vue3 实现一个简单的输入框
需要一个输入框,可以输入文字,添加表情,一开始用了**富文本编辑器**,有点大材小用,所以自己封装一个输入框组件。支持输入文字,选择表情/插入表情,支持组合键换行,使用enter
2024-02-29 10:06:03
2821
原创 查看 npm的一些命令,以及npm config set registry x x x 不生效 解决方案
其他配置文件干扰:在某些情况下,可能存在其他配置文件覆盖了 npm 的配置。你可以检查是否存在其他配置文件,如 ~/.npmrc 或项目根目录下的 .npmrc 文件,并确保其中没有覆盖 npm 源的配置。该文件通常位于 ~/.npmrc (用户级别)或项目根目录下的 .npmrc (项目级别)。这会显示 npm 的配置信息,包括当前使用的源(registry)。将 替换为你想查看的配置项的键名,比如 registry。修改完保存后,重新运行 npm 命令时应该会使用新的源。
2024-01-31 14:19:12
8291
原创 vue3 根据点击位置,实现一个用户头像弹框定位
最近在做直播后台,涉及到对用户的一些操作,比如关注/取关/禁言/踢出直播间。多个地方都要用,需要封装一个弹框组件。
2024-01-26 12:06:15
1002
原创 vue3 中组合键 command+Enter / shift+Enter / alt + Enter 实现换行,详细实现
原生 Enter 天然支持换行,但是我们需要阻止掉。但是组合键又需要自己去实现换行,本文根据计算光标的位置,实现了使用组合键换行
2024-01-23 15:04:28
2380
原创 小程序实现一个 倒计时组件
初始化时间: 如果服务度返回了时间差,这一步不用处理。时间的格式化处理,这里都是固定代码,没什么含量。tick 倒计时函数。
2023-09-14 17:36:09
1522
原创 rrweb入门
rrweb是,是当下很流行的一个录制屏幕的开源库。与我们传统认知的录屏方式(如 WebRTC)不同的是,rrweb 录制的不是真正的视频流,而是一个记录页面 DOM 变化的 JSON 数组,因此不能录制整个显示器的屏幕,只能录制浏览器的一个页签(录屏)。
2023-09-07 18:05:56
1840
1
原创 vue3封装一个通用的弹框事件函数
在弹框的时候,我们总是要设置变量,去控制弹框的打开和关闭,要写很多的事件和很多变量名,那么封装一套弹框的事件,去控制,就要好很多。
2023-05-10 10:48:35
340
原创 return false和 return true 的作用是什么
在 JavaScript 中,return false 和 return true 是两个不同的返回值。它们的作用也不同,具体取决于它们所在的上下文环境。
2023-04-12 14:53:38
1488
原创 vue拖拽删除实现
自营上传图片,但是需要排序和删除功能,所以用到了h5的拖拽源元素: 即被拖拽的元素。目标元素: 即合法的可释放元素。每个事件的事件主体都是两者之一。
2022-11-25 14:37:44
5202
2
原创 javascript 中的纯函数
纯函数是这样一种函数,相同的输入,永远会得到相同的输出,而且没有任何可观察的副作用比如常用的slice和splice,这两个函数的作用别二致。但是slice符合纯函数的定义,因为对于相同的输入,他能保证相同的输出。而splice却会嚼烂调用他的那个数组,然后吐出来;这样就会产生观察到的副作用。
2022-09-21 10:31:45
653
原创 使用JSON.stringify()格式化数据
官网指南主要就是用到了,JSON.stringfy()的第二个参数,和第三个参数。具体看文档,不做赘述官网指南
2022-07-11 18:17:10
1923
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人