自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 typeorm数据库结构同步

1、项目根目录生成迁移配置文件。2、package.json中。

2025-12-02 14:46:20 145

原创 小程序RSA、AES加密

2、AES 加解密方法。

2025-12-01 17:34:45 249

原创 nestjs AES 加解密

1、服务端(secretKey可以传递到函数中)生成32字节的AES密钥函数。

2025-11-13 15:42:21 128

原创 NESTJS - RSA加解密

进行解密,得到AES加密的密钥,然后使用密钥对请求体进行AES解密,就可以拿到最终的请求体了。3、前端使用RSA公钥对数据进行加密 (pnpm i node-forge)密钥存放在服务端,公钥存在放在客户端,通过公钥进行加密,私钥进行解密。当做AES的密钥,对请求体进行AES加密。RSA加密后的32字节的密钥。RSA加密后的32字节的密钥。RSA加密后的32字节的密钥。随机生成临时32字节的密钥。解密,得到AES的密钥,AES加密后的请求体。AES加密后的请求体。传递过来的,所以通过。

2025-11-13 15:38:01 333

原创 nestjs 微信支付

5、支付成功后微信会回调服务获取支付参数时给到的url,然后将信息告知服务。4、拿到支付所需参数后调用wx.requestPayment。3、那openId和订单号去取支付所需参数。1、通过wx.login 获取到code。2、用code换取openId。

2025-09-09 14:33:16 265

原创 nestjs 缓存配置及防抖拦截器

4、编写全局拦截器,依赖注入缓存service,在拦截器中每次进入的时候从缓存中读取,如果从在,则抛异常,否则存储在缓存中。需要做防抖的控制器上添加元数据. @Debounce(标识,过期时间-毫秒)3、编写添加元数据方法,为后面防抖拦截器是否需要拦截做准备。3、编写添加元数据方法,后面防抖拦截器是否需要拦截做准备。2、配置缓存服务,以便于依赖注入。2、配置缓存服务,以便于依赖注入。1、编写全局拦截器,5、将拦截器全局引入。

2025-09-05 15:11:51 350

原创 nestjs OSS阿里云服务端签名

1、将配置文件中的信息更换成自己的即可使用。

2025-09-03 11:17:40 318

原创 nestjs 读取excel

【代码】nestjs 读取excel。

2025-09-02 13:30:50 164

原创 nestjs 多数据源

总共只需要三个地方进行配置,只需要给新的数据源加name即可,第一个默认为default,可以不用添加。连接池: 两个name值,default和oracle default可以忽略不写 为默认值。1、连接池(TypeOrmModule.forRootAsync)上加上name标识。注册数据库实体 ,指定连接的数据库是oracle。注入:也是需要指定一下数据库的标识的。总结:主要在与name字段的控制,

2025-09-01 11:41:53 209

原创 nestjs 发起请求 axios

【代码】nestjs 发起请求 axios。

2025-09-01 11:18:01 345

原创 nestjs连接oracle

ctrl+c结束进程时有个报错,暂无没有好的办法去除,不影响程序的运行,大家有好的方法也可以评论区告诉我。选择自己的系统点击,进入后选择下图第一个,大概一百兆左右,进行下载即可。如果启动不报错最好,如果报错code为。1、在main.ts中函数的顶部进行。2、在服务启动后监听进程退出。下载好后打开是这个样子的。2、配置typeOrm。

2025-08-30 15:28:56 559

原创 nestjs 创建图形验证码

2、新建captcha.ts,封装验证码函数。

2025-08-27 16:50:01 177

原创 nestjs 导出excel

【代码】nestjs 导出excel。

2025-08-27 16:15:06 202

原创 nestjs 按钮级别权限

2、新增路由警卫(新建RequirePermissionGuard.ts)1、增加元数据(新建RequirePermission.ts)3、登录时保存用户所拥有的按钮权限。

2025-08-27 14:40:27 235

原创 nestjs 连接redis

【代码】nestjs 连接redis。

2025-08-27 10:43:38 282

原创 nestjs日志(nest-winston)

完整实例如下:(包括了全局注入异常筛选器、全局拦截器、中间键)到此,全局的异常、响应、请求日志就全部都记录好啦。1):中间键中使用(记录前端请求参数)2):拦截器中使用(记录响应数据)3):异常筛选器(记录所有的错误)2、配置service。

2025-08-27 10:02:50 327

原创 nestjs实现分页

其实就是帮queryBuilder做了最后一步getManyAndCount,把返回值进行了统一。把queryBuilder和分页传入进去就可以啦。

2025-03-27 16:50:12 335

原创 NestJS实现JWT认证与多端互踢

将JwtAuthStrategy和JwtAuthGuard进行引入,注意顺序,因为JwtAuthGuard中存在JwtAuthStrategy的注入,所有JwtAuthStrategy必须在JwtAuthGuard之前。因为接下来要做的是定义全局守卫,会对所有路由都进行一个过滤,那么我们路由中比如登录、注册、验证码等等这些是不需要进行验证的,就有了一个获取元数据中是否存在。注:该文档目前只对jwt做处理,缺少登录其它校验、以及redis部分,后续更新。,如果存在,就直接返回true,不在进行拦截。

2025-03-26 16:07:46 465

原创 nestjs 操作数据库

在需要进行数据库查询的模块中使用forFeature进行注册,如user的service中要操作数据库,那么就需要在user的module中使用TypeOrmModule.forFeature,然后将user的entity传给它,具体代码如下:users的module中书写。-o:生成的实体类文件输出目录(例如 ./src/module/system/users/entities。--tables: 要生成实体类的表名(例如。-u: 数据库用户名(例如。-d : 数据库名称(例如。

2025-03-26 11:54:47 481

原创 nestjs全局配置项

main.ts 中配置1、安装2、全局配置1、安装2、全局配置。

2025-03-25 14:05:17 362

原创 nestjs 多环境配置

6、根目录找到nest-cli.json文件,主要新增了assets,将yml文件复制到打包dist文件中。js-yaml、@types/js-yaml 主要用来读取yaml文件以及指定类型使用。主要修改点:cross-env NODE_ENV=自定义环境。在package.json中指定不同命令对应不同的变量。5、编写index.ts,主要用来读取配置文件。这里使用yaml进行多环境配置,需要安装。3、新建文件夹config,目录如下。7、配置configModule。

2025-03-25 10:03:04 423

原创 前端各大框架路由跳转

参数获取和react一样,只不过引入的包不一样而已,都是通过。

2025-02-28 17:10:03 355

原创 前端各大框架代理配置

在src目录下新建文件,config/paths.js中的proxySetup会自动引入。

2025-02-25 09:49:16 288

原创 Taro、uniapp 引入插件

以微信同声传译为例注:在app.config.ts中加入插件,然后直接在需要引用的页面按照文档使用即可。

2025-02-12 13:35:10 302

原创 Deprecation The legacy JS API is deprecated and will be removed in Dart Sass 2.0.0.

注: taro ,webpack构建。

2025-02-11 13:17:32 269

原创 next通过docker部署

6、将本地的下载好的镜像tar放到服务器上,然后在服务器上执行。5、部署到服务器,首先将docker镜像下载至本地。1、根目录创建Dockerfile文件,内容如下。4、容器就创建好了,只需要启动一下就好了。3、执行下面命令,记得结尾有个.

2025-02-07 15:31:18 493

原创 纯静态html接口代理

【代码】纯静态html接口代理。

2024-10-31 13:36:23 337

原创 indexDB的常规操作

【代码】indexDB的常规操作。

2024-10-14 16:16:27 216

原创 前端独立实现页面是否有发布

1、自动更新js (AutoUpdate.js)2、修改webpack出口打包文件名称。3、引入AutoUpdate.js。

2024-09-25 15:20:07 376

原创 uniapp打包自动上传小程序后台

5、package.json中修改打包命令。3、将生成的密钥放置到项目根目录。6、打包运行,自动上传成功。

2024-09-24 10:29:25 416

原创 mysql事务查看

【代码】mysql事务查看。

2024-08-16 12:46:31 129

原创 AI-SSE流的发送及相应

这样就可以正常的使用sse进行数据接入啦。

2024-08-13 12:45:30 207

原创 react antd table拖拽

然后就可以愉快的使用了,使用实例(只需要换个名字就好了,其他和正常使用table没有区别,但是要有宽度哦,不然没办法拖拽)定义一个公用组建 ResizableTable.tsx。定义样式文件 resize.scss。

2024-07-09 08:57:54 466

原创 mybatis-plus 理解

但是如果java要实现接口,必须要实现接口中的所有方法,ServiceImpl类实现了IService所有的函数,所以只需要继承ServiceImpl函数即可,ServiceImpl接受两个泛型。我们有一个UserServiceImpl类,想要拥有Service中的所有函数,那么我们需要实现UserService接口,UserService接口继承了IService接口,所以需要继承一下ServiceImpl,来帮助我们书写所有接口对应的函数。

2024-01-29 13:37:23 815

原创 go-zero 非k8s单体服务上线流程

1: -v /opt/redisGo/conf:/etc/redis/conf 将服务器/opt/redisGo/conf中的文件放在了容器的/etc/redis/conf文件夹中,服务器/opt/redisGo/conf文件中有redis.conf,自己放进去的。2: redis-server /etc/redis/conf/redis.conf 以配置文件启动redis,加载容器内的conf文件。/opt/mysqlGo)5、安装redis容器(同样的文件要建好)密码:123456789。

2024-01-29 13:23:13 796

原创 go-zero 统一返回

httpx.OkJsonCtx和httpx.ErrorCtx() 替换为 manage.ResponseHandler。4、非业务错误的再次封装,使用http.ResponseWriter进行返回给前端,常用在中间件中。5、修改路由Handler函数。2、统一错误处理主入口。

2024-01-25 20:44:43 1671

原创 go-zero 全局异常处理-全局中间件

通过defer和recover来捕获全局异常,如果出现异常,给前端返回500、服务器内部错误,并输入错误信息。来注册一个全局中间件,接受一个函数。3、向前端返回错误信息函数。

2024-01-25 20:19:54 1881

原创 go-zero 中间件配置

api文件新增middleware,通过goctl api 生成文件以后,记得把文档往下翻一翻,还需要再svc里面加一些配置,然后再生成的文件中写入自己的业务。

2024-01-18 08:53:20 815

原创 gorm 封装与全局拦截

需要更新的字段必须是定义的,和数据库保持一致的才可以。

2024-01-17 15:32:11 943

原创 gorm 分页函数

接受一个泛型,泛型为返回的数组对象,用于保存查询出来的结果。

2024-01-17 15:30:04 542

nestjs集成winston捕获所有异常、请求日志中间件、全局拦截器,记录响应数据

全局注入 { provide: WinstonService, inject: [ConfigService], useFactory: (configService: ConfigService) => { return new WinstonService(configService); } }, { provide: APP_FILTER, useClass: CatchLoggerFilter }, { provide: APP_INTERCEPTOR, useFactory: (WinstonService, ConfigService, AesService) => { return new ResponseLoggerInterceptor(WinstonService, ConfigService, AesService) }, inject: [WinstonService, ConfigService, AesService] }, // 中间件处理请求来源数据 export class AppModule implements NestModule { configure(consumer: MiddlewareConsumer) { // 所有路由都是用此中间键 consumer.apply(RequestLoggerMiddleware).forRoutes('*all'); } }

2025-11-13

空空如也

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

TA关注的人

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