- 博客(57)
- 资源 (4)
- 收藏
- 关注
原创 vue blob实现自定义多sheet数据导出到excel文件
前端或后端导出文件,可以看自己需求。数据量比较少的时候,或页面展示的是所有数据的时候,使用前端js直接导出文件,比较方便,因为不用重查接口,减少了交互。若数据量比较大,或页面展示的是分页时,推荐走后端接口导出文件,因为没法拿到完整的数据,而且大数据量从接口返回到前端,对前端负担也不友好。背景:最近vue项目遇到一个需求,就是需要将多个表格分成不同sheet页并导出,之前的工具类只能导出一个sheet页,所以在原有的基础上,调整一下,让它支持多sheet导出。
2024-05-31 14:32:47 419
原创 @JsonProperty注解,实现接收与实体类定义属性名不同的json值
例如:请求参数{name: ‘小明’},实体类User,里面有一个private String mingzi;如何在mingzi上面增加一个注解,用来接收name?
2023-11-14 10:32:26 378
原创 nginx配置多个vue项目
如何在nginx配置多个vue项目?第一种是使用不同的端口,既配置多个server即可。第二种是同一个端口,既在一个server里面配置多个vue项目。多个端口,只需要调整nginx配置,若使用同一个端口,则需要稍微调整一下vue打包配置。
2023-06-14 14:55:54 4794 4
原创 python3,基于Pillow的图片合成
思路:读取某个文件夹下所有的图片,主要是jpg跟png,然后计算需要合成图片的大小(既每行几张,每列几张,然后将这些图片的长宽累加起来),最后进行图片拼接。背景:想将多张图片合成一张,且不改变图片的大小。
2023-04-13 09:52:32 283
原创 使用自定义的keep-alive组件,将公共页面缓存多份,都有自己的生命周期
背景:将tab页面缓存,例如A页面输入123,通过tab标签跳转到B页面,再点击A标签,跳转回A页面,这时需要保留输入的123。本来,直接使用keep-alive就行了,但是这几个路由绑定的是同一个页面。。。。。。
2022-11-23 16:00:29 1008 2
原创 解决ant编译java提示类找不到问题,以及jdk版本问题
背景:到一个新的公司,没有跟上家一样直接使用git管理代码,然后统一部署到开发环境,而是使用ant将各自改动的部分编译,然后丢到开发环境,既然不推到git上,而是先用本地代码联调。由于是第一次使用ant,所以就遇到坑了,尽管同事把bulid.xml配置给我,还是遇到一些麻烦。配置完后,前端文件可以打包,但是java文件提示类找不到问题这是因为bulid.xml里的后端项目路径配置错误,没找到相关的类<!-- 实际项目的前端路径位置 --><property name="RE
2022-05-15 17:14:53 1088
原创 后端返回文件流,如何在谷歌预览与下载
背景:从后端获取文件流,现在谷歌浏览器直接预览或下载涉及后端返回请求头参数:content-disposition、content-typeps:谷歌支持直接预览的文件类型有pdf、png、mp4、gif等代码示例://js代码window.open("后端文件下载地址") /** * 预览或下载 * @param preview 0为下载,1为预览 * @param fileName * @param response * @throws
2022-04-02 11:29:23 2822 2
原创 基于javacv实现视频转mp4
背景:由于项目需求,需要将ts视频格式转成mp4格式,发现ffmpeg工具非常强大,遇是盯上了javacv。第一步,导入jar包<dependency> <groupId>org.bytedeco</groupId> <artifactId>javacv</artifactId> <version>1.4.4</version></dependency>第二步,编写代码impo
2021-09-03 14:26:38 2025 1
原创 vue3项目搭建,以及github上搭建自己的静态博客
背景:之前就想用vue搭建一个属于自己的前后端项目,无奈服务器要钱,就草草了之了。最近同学给我看了他的博客,好家伙,一开始还以为哪有免费的服务器呢,结果是利用github做的纯前端博客。如何再github上面搭建博客呢?简单,往你的github仓库推一个index.html,然后设置一下,就行了~一、申请github账号,官网,反正就是很慢了啦~注册完毕后,新建仓库仓库名称后缀记得改成.github.io,这个是github提供的免费域名进入仓库,点击上面的setting按钮,并
2021-07-23 17:16:36 925
原创 vue上传文件和下载文件
背景:最近使用vue进行前端开发,难免会遇到需要上传文件和文件下载的,但el-upload直接上传的方式不符合我的要求,就改了一下实现方式。element地址利用el-upload实现文件上传,不需要直接上传,需要携带其他表单参数或者其他情况下,可以使用以下方法<template> <div> <!-- 上传文件 --> <el-upload class="upload-demo" action="https://jsonpla
2021-05-28 11:04:03 2212
原创 使用axios的qs处理含集合的请求参数,后端成功接收参数
背景:前几天用qs处理请求参数,没啥问题,后端接收的轻轻松松,今天遇到一个坑,qs直接处理list,后端根本接收不到,会提示请求参数不是list、map、array类型。安装qs npm install qs,如果已经安装了axios的话,就不需要再安装了,直接引入import Qs from 'qs';qs有两种使用方式//1. qs.parse()将URL解析成对象的形式let url = 'userName=12212&pwd=123&token=120';Qs.pars
2021-05-14 16:03:58 1113
原创 vue-Treeselect兼容ztree
背景:新的项目使用了vue,但是ztree的数据格式是之前的,{id,name,pId…},与vue-Treeselect的格式不一致,为了兼容后端代码,所以前端数据重新生成一次。引入vue-Treeselectnpm install --save @riophae/vue-treeselect官方文档地址:https://www.vue-treeselect.cn/#basic-features在页面上使用tree-select标签<template> <div&
2021-05-10 18:25:51 318
原创 根据文件下载地址,将文件内容转成byte[]
背景:由于项目需求,需要将接口返回的pdf文件下载地址在页面预览出来,并将对应的文件流存储到mongodb里,但又不想下载文件,所以有了以下的方法。如何在前端预览pdf文件?这个大家可以自己搜一下,有使用iframe、pdf.js、embad、object、pdfObject等,我使用的iframe,没啥,就是因为简单,一行代码就行了。//把下载地址放置到iframe标签的src属性中,就能预览pdf了<iframe src="https://test.pdf" width="100%"
2021-04-06 11:38:49 751
原创 cookie存储时,如果不指定存储路径,可能会照成cookie丢失(假)
背景:今天搞一个前端页面,存了一些数据在cookie里面,这样就省的频繁的请求后端,没想到,在另一个页面居然拿不到!!!日志一看,直接是null!!!cookie里的值可以设置时效性,但不会因为打开另外的页面、关闭浏览器、刷新而导致被清空的问题,所以用它来存储一些比较小的和不常变的数据,还是挺好用的。cookie在set过程中如果不指定存储路径,会根据页面路径进行存储,取的时候也会根据当前页面去拿值。以下是setCookie方法//导致我在登录页存储的数据(cookie值给我存到/login这个
2021-03-03 18:29:07 370 1
原创 使用Calendar.getTime()作为查询参数,查询不到0点的问题
背景:今天测试发现一个问题,新增一条数据,设置时间为00:00:00,并成功保存数据,然后去列表查看,发现数据不存在,但数据库中可以查询到该条数据。瞬间想到的应该是时间入参错了,导致查询条件错误,肯定查询不出来啊!开始代码走查,发现没啥问题。debug!一步一步下来,发现居然使用Calendar.getTime()作为查询条件,起初觉得没啥问题,一看debug的value,发现居然是2021-02-23T00:00:00.041+0800!!!不是0点整,而是多了0.041秒!!!那肯定就查询不出来
2021-02-23 14:36:34 574
原创 java线程池ThreadPoolExecutor,多并发,抢票实例
背景:最开始处理多并发是使用锁+线程来处理的,现在基本上不直接写线程,更多是使用分布式框架等来解决这些问题。抢车票这个例题,在老师教线程的时候,一般都是举这个栗子,先用线程,然后发生数据错乱,然后告诉你要用锁来保证数据的正确性等。以下,我使用的是线程池来实现这个栗子,主要是因为最近想多了解了解线程池~package org.litluecat.utils;import java.util.concurrent.*;/** * 线程池工具类 * @author Litluecat */pu
2021-01-20 10:33:49 809
原创 EntityWrapper添加括号方法,orNew()、andNew()不满足要求时
背景:使用EntityWrapper进行sql语句拼接时,遇到查询or条件,而且是多个,但orNew()方法并不能满足我的需求,也没找到什么合适的方法。//目标sql语句 A and (B or C or D)/*SELECT * FROM user_info WHERE (ID = ? AND ((START_TIME >= ? AND END_TIME <= ?) OR (START_TIME <= ? AND END_TIME >= ?) OR (STAR
2021-01-09 14:05:58 4610 7
原创 java利用opencv实现用字符展示视频或图片
背景:前段时间看到有人将图片转成符号,感觉挺有意思的,就结合了一下opencv。代码如下:package org.fxd.utils;import org.opencv.core.Mat;import org.opencv.imgproc.Imgproc;import org.opencv.videoio.VideoCapture;import javax.imageio.ImageIO;import javax.swing.*;import java.awt.*;import jav
2020-12-28 19:57:26 323 1
原创 调用Mybatis-puls生成的service类,报错java.lang.ClassCastException: java.util.Map cannot be cast to
背景:使用Mybatis-puls生成实体类、xml、service文件,测试代码时,发现调用selectList(wrapper)方法时,报错java.lang.ClassCastException: java.util.Map cannot be cast to xxx.class,类型转换错误的问题。通过debug发现,selectList(wrapper)返回的类型是List<xxxx.class>,里面是实体类,但真实情况确实map类型的,并不是我们要的实体类类型,这点通过debug
2020-12-07 11:15:17 849
原创 前端css样式问题整理
object-fitobject-fit 属性指定元素的内容应该如何去适应指定容器的高度与宽度。object-fit 一般用于 img 和 video 标签,一般可以对这些元素进行保留原始比例的剪切、缩放或者直接进行拉伸等。菜鸟教程地址属性描述fill默认,不保证保持原有的比例,内容拉伸填充整个内容容器。contain保持原有尺寸比例。内容被缩放。cover保持原有尺寸比例。但部分内容可能被剪切。none保留原有元素内容的长度和宽度,也就是说内容不会.
2020-11-23 14:20:14 440
原创 tomcat8.5.0以上的坑(编译项目时,去maven本地仓库寻找jar时,找到其他路径下去)
背景:以前的一个项目,想重新启动以下,结果报了诡异的异常,一直起不来,断断续续卡了 一周。有一种气,叫做太不争气,明明不是你家,你却一直去那边找你的东西,瞎搞。原因是tomcat8.5.0以上,在编译项目时,会去解析MANIFEST.MF文件,从里面找到jar包的地址,里面jar包的地址很诡异,经常会出现错乱,导致出现以下bug:java.io.FileNotFoundException: C:\Users\lenovo\.m2\repository\org\bytedeco\javacpp-pres
2020-11-19 14:49:08 736
原创 触屏版canvas画布实现touch坐标计算(坐标偏移问题)
背景:最近踩了个坑,因为鼠标点击与触屏在坐标获取上有些不一样,再加上pageX/Y与clientX/Y的些许不一样,再加上html底部没有固定。。。。导致画线的时候偏移了。。。使用鼠标事件在canvas画布上画画,非常容易就能获取到画布上的坐标,使用(e.offsetX,e.offsetY)就行了。但是,触摸事件就不一样了,它并没有提供这两个便捷的参数,所以你必须去计算画布上的坐标。原理:【页面上的坐标】-【画布左上角的坐标】=【画布上的坐标】ps:获取画布坐标方法let vertex = docu
2020-11-18 15:14:03 3110 1
原创 ie浏览器通过ActiveX控件获取本机macip(附带批处理一键开启)
提示:Active并不安全,存在一定的风险,且仅适用于ie。第一步,开启ActiveX,设置完毕后,记得重启浏览器(关了重开)第二步,使用javaScript获取本机macip地址<HTML><HEAD> <TITLE>mac</TITLE> <script type="text/javascript"> function load() { console.info('1111')
2020-11-17 09:45:54 1232
原创 前端冒泡事件,导致一次动作触发多次事件(例如click)
背景:最近突然发现一个奇妙的东西,那就是你点击一次按钮,触发一次事件,第二次点击,触发两次,第三次点击,触发三次。。。。。。最终想起来了,之前弄canvas画布的时候,搞鼠标监听,大佬和我说过冒泡事件,当时使用e.preventDefault(),禁用默认事件。阻止冒泡事件的方法:方法一:使用.off(‘click’)$('#signatureAgreeSignBtn').off('click').click(function() {});方法二:使用e.stopPropagation()$(
2020-11-03 15:09:04 861
原创 使用canvas实现在线签名(鼠标、触屏)
背景:最近需要使用签名+指纹叠加,最开始使用的是java图片合成,后来发现使用canvas画布就行了。PS:这边有个坑,如果不加这行代码的话,在触屏下快速签名(或涂鸦),会导致涂鸦变形,圆变成多边形这类的。<canvas id="signatureCanvas" width="600" height="300"></canvas>以下是js部分代码。let canvas = document.getElementById('signatureCanvas');
2020-10-30 15:15:18 1132 2
原创 使用java进行图片合成或重绘
背景:之前使用了java+opencv进行人脸识别,精度上基本达不到要求,估计还是得使用第三方的api接口,比如阿里的人脸识别、百度的人脸识别等,当然,都是要钱的,哈哈哈。下面给大家介绍以下图片合成的两种方式。方法一,基于opencv进行图片合成,这边主要使用到的是Core、Mat、Rect、Imgcodecs这几个基类。(ps:看过我之前写的那篇关于人脸识别的博客的小伙伴,如果已经配置的opencv,那推荐使用这个方法哦)package org.Litluecat.utils;import org
2020-10-27 09:42:11 474
原创 java+opencv实现人脸识别
背景:最近需要用到人脸识别,但又不花钱使用现有的第三方人脸识别接口,为此使用opencv结合java进行人脸识别(ps:opencv是开源的,使用它来做人脸识别存在一定的误差,效果一般)。安装opencv官网地址:https://opencv.org/, 由于官网下载速度是真的慢为此这边是我下的百度云盘,opencv4.1.0,提取码1o36。如果是官网下载,就无脑安装就行了,安装完毕后。将图一的两个文件复制到图二中。从我网盘下载的,忽略这些。在项目中引入pom依赖<!--
2020-10-23 18:29:46 4890 16
原创 如何获取当前时间节点前后几天的时间
package org.fxd.utils;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Date;/** * 获取前几天时间或后几天时间工具类 * @author FangXiaoDong */public class BeforeOrAfterDateUtils { /** * 获取时间参数前几天的时间 * @param date 时间
2020-10-09 16:57:45 647
原创 vue结合animation实现页面消息动态轮动展示
背景:之前搞了一个也消息动态展示模块,但是不滚动啊!!!只是将第二条数据给第一条,第三条数据给第二条,一秒闪一下,从而实现动态展示,但觉得不是很连贯,不怎么好看,就改了一下。先简单介绍一下animation样式属性描述animation-name规定需要绑定到选择器的 keyframe 名称。animation-duration规定完成动画所花费的时间,以秒或毫秒计。animation-timing-function规定动画的速度曲线。animation-de
2020-09-10 16:32:59 1021
原创 vue获取map集合中的key、value值
背景:前端接收后端返回的list集合,并将该集合展示在页面。//例如:let _list = [{"name":"小一", "age":10, "id":1},{"name":"小二", "age":15, "id":2},{"name":"小三", "age":9, "id":3}]方案一,直接在HTML代码中使用v-for、Object.key、Object.value来渲染页面<template> <div v-for="map in _list"> <u
2020-09-01 15:00:00 25137
原创 不知道吃啥?随机数教你吃东西(娱乐)
背景:又到了不知道吃啥的时候了,每次到饭点,就不知道吃啥,或者有好几个,不知道选啥,就用随机数帮我选了算了,哈哈哈。//参数样例:eatSomething("饺子,清汤面,米饭,烤鱼",10) public static void eatSomething(String IWantEat, int whileSize){ System.out.println("开始时间:"+new Date()); //这边是用中文逗号进行切割,可以换成其他的,根据需要来使用
2020-08-25 10:31:05 2387
原创 xpdf结合java实现pdf转图片功能
以下是我自己封装的工具类,需要的小伙伴可以直接复制使用,有用的话,记得点赞哦public class XpdfByWinUtils { private static Logger log = LoggerFactory.getLogger(XpdfByWinUtils.class); /** * xpdf文件地址 */ private static String PATH_TO_XPDF = "E:\\xpdf\\xpdf"; private stat
2020-08-24 15:55:29 409 2
原创 java如何判断char是否为空,或char[]是否含有空格
背景:将字符串转成char[]时,会出现值为空的问题,但char并不能赋值为空,所以某些情况下,我们需要排除这些空值。public static void main(String[] ags){ char[] haveNull = "It has null".toCharArray(); for (char test: haveNull) { //判断char是否为空,将char转换成String,再判断String是否为空即可
2020-08-24 15:31:12 3824
包含绝大部分字体且以配置完成的xpdf.rar
2020-08-24
配置完整的xpdf支持中文日文希腊文
2020-08-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人