自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(92)
  • 资源 (4)
  • 问答 (5)
  • 收藏
  • 关注

原创 docker部署redis使用键空间通知订阅

1. redis的键空间通知(keyspace notification) 大概意思是比如时间删除 或者 过期的时候发布的一个通知。是 Redis 配置选项之一,用来设置哪些事件会触发通知(例如:键的过期、删除、修改等)。这个配置项通常会设置为一个包含特定字母的字符串,表示要订阅的事件类型。由于是win10系统, 把下载好的配置文件放到适合的目录中,然后开始notify-keyspace-events。在另一个powershell中,设置一个键的过期事件,10秒之后,在上一个powershell能监听到。

2024-12-11 21:23:58 516

原创 使用vite搭建react项目

向tsconfig.app.json 和 tsconfig.node.json文件 增加以下代码应该解决报红线问题。6. npm install命令安装过慢,改使用cnpm install安装,然后运行命令npm run dev。10. 把多余的css文件删除, 新建几个文件夹,跟vue项目差不多。1. 使用nvm管理node版本, 切换到最新的node版本。router文件夹新建路由文件router.tsx。然后在vite.config.ts配置文件写入。8. 安装css库,windcss库。

2024-12-11 15:50:35 1081 1

原创 egg.js使用消息队列rabbitMQ

P 是我们的生产者 > 中间的框是一个队列,代表消费者保留的消息缓冲区 > C 是我们的消费者。1. egg-amqplib: 基于 rabbitmq 消息队列封装的库。2. 安装rabbitmq, 可使用docker安装rabbitmq。访问地址: http://localhost:15672。默认的账号密码是: guest : guest。4. 队列: 一对多。3. 队列: 一对一。

2024-07-11 16:36:42 703

原创 腾讯云点播VOD(sprintboot后端+vue前端)

3. 腾讯云提供服务器上传和客户端上传。我使用springboot后端实现客户端上传视频。3.1 后端要求 生成签名,前端拿着签名凭证,才能上传视频成功。前端根据条件id拿到成功上传的视频fileId。再定义一个上传视频签名 和 播放视频签名工具类。3.2 前端,拿着后端返回的签名,上传视频。播放视频,也要跟后端, 拿到播放视频签名。最后还有页面退出或关闭还有销毁播放器。

2024-06-27 13:50:36 927

原创 docker下安装centos下安装python

14. 使用pip3安装requests, 使用pip无效。2. 查看镜像 已经有下载了。4. 如果退出了,要再想进入。3. 运行,进入linux。8. 编译安装python。1. 拉取一个版本安装。5. 安装编译相关工具。15. 查看安装成功。

2024-06-07 14:42:39 304

原创 egg.socket.io后端开发

方法发送事件: 通常用在后端,触发给前端,前端用on()接收。在app目录下新建io文件夹,io下新建controller。6.先来看下egg-socket.io的项目目录结构。后端的controller方法的test 就能收到。4.在config.default.js引入。2. config/plugin.js引入。1. 安装egg-socket.io。方法监听事件: 通常用在前端。3.配置socket.js。10. 在前端怎么写呢?9. 比如这里的路由是。

2024-05-13 10:45:56 717

原创 nestjs使用crypto对密码加密

3. 在auth.service.ts中, 登录时验证密码。2. 在auth.module.ts中引入。4. 在注册时,对前端传回来的密码进行加密。

2024-03-08 15:47:46 824

原创 nestjs 管道验证DTO

我将dto文件全收集到一个dto文件夹里,可按照文档建议。最后在controller文件中加入该管道dto文件。新建一个用户登录的验证dto文件。

2024-03-08 13:37:46 807

原创 nestjs10.x使用jwt生成token

6. 验证token, 要在auth中新建auth.strategy.ts。5. 然后在auth.service.ts中, 生成token,返回给前端。其中在validate中,会返回已经解析好的用户id和名称。4 其中密钥我通过外部文件引入,也可以使用.env引入。3 在auth.module.ts配置jwt。2 可以使用命令新建auth鉴权文件夹。7. 然后通过路由验证下token。

2024-03-08 11:31:32 568

原创 nest.js使用nest-winston日志一

如果在生产环境,logs文件夹,要自定路径。其中自定义异常 自动写入日志记录。nest-winston文档。自动生成的logs文件夹。

2024-03-01 10:52:57 1356 1

原创 NestJs报错:Please make sure that the argument Logger at index [2] is available in the UserModule conte

按道理说, 我已经在app.module.ts模块中正确提供了Logger了。但是UserController.ts无法正确使用。在app.module.ts中providers提供Logger。在user.module.ts也加上这个Logger。再根据文档在UserController中引入。尝试使用nest-winston日志。根据文档在main.ts中使用。

2024-02-29 15:42:10 577

原创 利用百度地图api获取经纬度和uniapp定位计算距离

获取百度地图api,成为开发者,去控制台创建应用得到一个ak就可以了。然后在index.html, 我把经纬度保存到vuex中。新建一个location.js文件, 用来计算距离。后端返回经纬度给前端uniapp定位,计算距离。在manifast.json中,加上以下数据。

2023-11-10 17:54:33 1202

转载 git报错:Please make sure you have the correct access rights and the repository exists

ssh-keygen -t rsa -C "your@email.com"(请填你设置的邮箱地址)原因是我可能在企业的gitee上删掉了自己的另一个git账号。id_rsa是私钥,要保管好,id_rsa.pub是公钥,复制里面的内容。右上角图标-> settings-> SSH and GPG keys。,原来是ssh key有问题,连接不上服务器,这里记录一下解决办法。cmd|powershell| bash进入要提交的目录下,然后。.ssh文件在C盘里面的。把known_hosts删除。

2023-09-07 10:14:27 5792

原创 vue3中右侧26个英文字母排列,点击字母,平滑到响应内容

【代码】vue3中右侧26个英文字母排列,点击字母,平滑到响应内容。

2023-08-30 10:09:02 542

原创 RabbitMQ在CentOS下的安装

8. 配置端口,如果是阿里云,腾讯云,需要配置安全组,打开15762端口。如果是vmware虚拟机,需要配置防火窗。1.环境配置:CentOs 7.6以上版本,我的版本是7.9,不要对yum换源,否则可能会安装失败。11. 浏览器访问ip:15672, 用admin 密码123456即可登录。9. 现在RabbitMQ,是在运行中的,不然下面操作会失败。以上命令,是使用了UTF-8编码格式。5. 看到下面,点击y即可,安装完成。加入端口15672。4.执行以上两部后 开始安装。2. 执行,开始下载包。

2023-08-08 08:15:44 2204

转载 vite构建的vue3项目中如何使用svg图标?

2、配置插件: 在 vite.config.ts中配置 createSvgIconsPlugin。存放文件路径 :src/assets/svg。3、封装成组件:SvgIcon.vue。

2023-07-21 10:11:38 414

原创 vue3 useIntersectionObserver滚动时实现数据加载

【代码】vue3 useIntersectionObserver滚动时实现数据加载。

2023-07-04 16:03:27 825

原创 springboot实现网络图片转存的临时文件后上传腾讯云cos

实现思路是:先将网络图片url保存到当前项目一个临时文件夹里,然后发送腾讯云cos对象存储,返回一个url,最后,删除该临时文件图片。有时复制一张图片url,想转存到自己的腾讯云cos保存。2. controller类。1. util实现类。

2023-06-30 16:14:32 884 1

转载 springboot yml多环境配置和profile打包

通过上述步骤,可以轻松切换当前环境,不过也稍微有些麻烦,那是否有一些配置文件可以代替手动更改profile并且能创建多环境profile打包呢?pom文件中添加profile节点,并在build下的resources节点添加打包过滤的配置文件规则。中配置一个动态属性进行占位,默认的分隔符是@属性名@,这个属性会通过maven打包时传入参数进行替换;右侧的可视化选择环境,让工作更加变得高效;maven多环境打包。如果我们要激活某一个环境,只需要在。2.创建多环境profile打包。1.yml多环境配置。

2023-06-13 17:26:05 661

原创 springboot http状态码和统一返回状态码

但是如果前端操作错误,后端返回code是400, http状态码还是200。解决方法:通过拦截器ResponseBodyAdvice,做到统一拦截。Spring开放了ResponseBodyAdvice接口,来允许对。beforeBodyWrite:执行拦截逻辑。如何做到 统一返回code 都是 400呢?一般返回给前端的 api接口都是统一的。supports:指定是否进行拦截。尤其是 针对SSR的 前端项目。

2023-05-24 17:37:43 1617

原创 springboot 前端报has been blocked by CORS policy: No ‘Access-Control-Allow-Origin‘

控制台打印报出跨越问题,只能去改后端springboot了。解决方法:增加配置类CorsConfig。本人前端项目是nuxt3。

2023-05-24 16:45:10 658

原创 spring 后端返回id(类型long)返回给前端id不一样

这是因为:返回给前端 这个id 需要转为String 格式的,js 不支持这个大数值的。是典型的Long类型精度丢失的问题。全局解决方案,统一给前端返回字符串。

2023-05-24 16:24:22 747

原创 springboot报Invalid bound statement (not found): com.emos.model.dao.UserMapper.xxxx

如果pom添加了mybatis-plus, 在application.yml应该配置mybatis-plus.mapper-locations。1.看xml 和 dao,检查xxxMapper.xml文件的namespace名称是否写对了对应的dao文件。2.查看mapper.xml下的select标签是否将ResultType写错成ResultMap。dao接口 与 mapper配置文件在做映射绑定的时候出现问题。3.是否添加了mybatis依赖。找到问题所在了,应该改成。

2023-05-11 20:47:07 139

原创 springboot抵御即跨站脚本(XSS)攻击

XSS攻击通常指的是通过利用网站系统保存系统的漏洞,通过巧妙的方法把恶意指令注入到网页,用户加载网页的时候会自动执行恶意脚本。2.在自己的com.xxx.filter.xss包新建类XssHttpServletRequestWrapper。如果客户能在你的浏览器执行javascript,那么就能窃取cookie或者token。7. 但是呢,同时也把html的标签也过滤掉了,我不想过滤掉html标签。3. 再建个XssFilter。4. 最后一步是在启动文件里加上。抵御即跨站脚本(XSS)攻击。

2023-05-11 10:03:10 1121

原创 springboot 阿里云oss图片上传和异常处理

网上的帖子说,给postman的header加content-type为multipart/form-data。然后在application.yml写配置,在server怎么写,控制台永远都是1M的。5. 需要注意的是,如果上传图片为空,或者 上传图片过大。网上的说法都是tomcat已经默认允许你只上传1M的文件,但我这里是2M的。因为springboot直接就把异常给捕捉了,并返回统一异常。但我测试时,加不加是无所谓的。6. 还有一个异常是,上传文件过大时报。如果你在控制层,做判断,也不行的。

2023-05-10 10:01:33 1954 1

原创 使用mybatisX逆向生成数据表实体类(pojo,dao),mapper,service

1.先在idea安装mybatisX插件,在file->setting->plugins,搜索mybatisX插件,重新启动idea即可。6.下一步,选择mybatis-plus3的模板,并且勾选lombok,勾选lombok生成的实体类会带有lombok的注解。是因为SpringBoot项目的Bean装配默认规则是根据Application类所在的包位置从上往下扫描的。需要你按照提示安装mysql插件的。2.在idea编辑器右侧点击Database,点击“+”链接你的数据库类型,这里我选mysql。

2023-05-06 21:14:03 2710

原创 SpringBoot+redis验证阿里云短信验证码

3、新建工具类,生成6个随机数,新建package名util,类名RandomUtil。4.新建工具类,发送阿里云验证码,类名为:SendSmsUtil。6、redisson服务层 保存和验证code值。最后就可以使用postman等调试工具调试了。1、这里默认你已经开通了阿里云短信服务。2、pom.xml引入依赖。

2023-05-04 17:07:44 304

原创 docker部署后端egg.js之docker-compose

其实docker-compose.yml 文件的意思就是通过 代码,读取Dockerfile文件,自动帮你构建了镜像和开启了容器。通过docker-compose ps命令 状态是up,给你构建了 image镜像 和 container容器。docker-compose.yml文件不能放在egg项目文件夹下面,不然会部署失败。myegg 和docker-compose.yml要处在同级目录下。这一章是通过docker-compose构建部署egg.js。现在docker-compose成功了。

2023-03-17 23:06:26 767

原创 docker 部署后端egg.js纯净版之Dockerfile

1:在 egg 项目的 package.json 文件中,在 start 启动项中,--daemon 是后台启动。如果使用 docker 容器,需要去除 --daemon。在本地npm run dev 是正确的运行的,地址是http://127.0.0.1:7001。2:进入我的 项目根目录,执行镜像打包命令, 该镜像的名称为myegg。只是我改了端口7001,并在阿里云的防火窗开了端口7001。能够看到名称为myegg的容器 状态是up。如果发现容器没有正常启动,可以执行。命令,查看容器内的执行日志。

2023-03-16 22:22:14 913

原创 docker compose构建学习过程

然后在执行docker-compose up -d命令,同时运行了两个容器,就是直接通过docker-compose命令完成镜像构建 和 容器运行,一步到位了。这章学习熟悉后,是先让你构建flask-redis 和 redis 两个镜像,再去运行两个容器。比如我有个flask-py文件夹,有flask文件夹,和docker-compose.yml。还要刚才创建的网络,docker-compose是不会帮你删除的,要自己手动删除。这个命令是在你有了flask-redis镜像后 创建了两个容器并且正常启动了。

2023-03-14 22:22:14 309

原创 centos7虚拟机启动docker

或者输入:docker network ls,也会提示的这个错误提示的。安装完docker, 查看docker版本,是因为docker没有启动成功。

2023-03-12 14:53:22 134

原创 vue打包后用docker镜像部署

其实仔细想想也对,因为vue项目打包成dist后,在该项目下新建Dockerfile文件,而我是把dist文件夹单拿出来了,在dist文件夹里面新建Dockerfile文件是不对的。比如我打包好的dist文件夹,要和Dockorfile在同一级目录下,不然在build构建时是找不到dist文件夹的。写好之后,就把admin文件夹,上传到阿里云服务器,我是用Xshell和Xftp7连上服务器的。vue3项目打包成dist后,用Dockerfile,镜像部署。查看镜像,看到创建的镜像已经成功。

2023-03-11 21:01:14 1520

原创 win10安装docker

意思是,在win10,可以直接启动一个Linux。安装成功后,在power shell 输入 docker version,查看是否安装成功。现在Docker Desktop默认使用WSL 2来运行,而不是以前的Hyper-V。4. 去docker官网下载 ,桌面版docker, 下好后直接双击运行安装即可。停止docker服务,点击docker图标,在电脑屏幕底部右侧,右击图标。当配置某一个镜像源地址之后,若发现拉取不到镜像,切换一个地址就行。1.win10安装docker,前提必须是要安装WSL2。

2023-02-28 21:36:46 6478

原创 egg.js 调用阿里云(阿里大于)短信验证码服务

页面效果,前端代码 就不展示了,包含,登录时 用户输入的验证码 跟 redis的验证码 进行比较。后端使用redis保存 验证码信息 60s后端自动删除该笔数据。如果能申请成功,可在 下面地址 尝试测试一条短信。签名名称:接收验证码内容时,【】里的文字。短信模板code:相当于短信内容的 id。可以免费申请 企业短信验证码 200条。后端controller层开发。我使用的是egg-sms。1.开通阿里云短信服务。2. 开始 egg后端。

2023-02-07 14:21:11 1004

原创 css3 transform(变形) 实战示例

transform变形

2023-02-02 14:25:22 521

原创 js一维数组根据同一id改成二维数组

js一维数组根据同一id改成二维数组

2023-01-09 11:36:21 550

原创 js数组根据同一id进行分组

还可以按照shop_id计算出 goods数组中总数量 和 总金额。根据shop_id 相同 进行分组。

2022-11-03 16:00:23 1358

转载 js如何给当前日期+1?

js如何给当前日期+1?

2022-08-18 11:27:41 7923

原创 在js怎么使用vuex

在js怎么使用vuex

2022-07-23 14:30:02 2719

原创 vue3 数组被赋值后重新初始化

比如我定义一个数组为ref被赋值后到提交数据完成,避免重新赋值时旧的数据还存在,得重新初始化如果是reactive

2022-07-12 20:28:04 1710

viewer.js插件使用.rar

viewer.js插件使用.rar

2020-12-10

ecshop弹出微信插件

ecshop弹出微信插件 简单的弹出 隐藏微信二维码的功能插件

2014-04-29

vb.net21点小游戏

21点游戏,可两个人,也可以四个人玩,里面有文档说明

2011-09-30

点击键盘方向键,可以单击,也可以两个人玩的移动游戏

点击键盘方向键,可以单击,也可以两个人玩的移动游戏

2011-09-30

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

TA关注的人

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