自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(79)
  • 资源 (2)
  • 收藏
  • 关注

原创 elementui el-select组件多选设置初始值无法修改问题

对list直接赋值后点击修改select框,此时数据已改变但显示无变化。使用this.$set对list进行赋值。

2024-03-12 18:56:31 800

原创 Cesium 地图覆盖物事件注册封装

mouseover和mouseout事件注册同一个InputAction MOUSE_MOVE,在回调中获取鼠标指针上的覆盖物,触发mouseover事件,此时标记当前移入的覆盖物,如果下次MOUSE_MOVE事件未获取到该鼠标指针上的覆盖物,则触发mouseout事件。Cesium中的事件监听支持的类型与前端主流的事件有差别(没有mouseover,mouseout等事件),封装一个较为通用的事件管理器。一个的map,用于保存注册事件的覆盖物。基于Cesium版本1.95。

2024-03-04 10:44:22 367

原创 kettle计算增长率

1.使用统计中的分析查询节点能在每一行中添加前后行的数据。读取一段时间内的数据记录,计算相邻记录的比率。2.使用计算器节点计算比率。

2024-02-23 18:23:07 338

原创 Cesium1.95地图使用UrlTemplateImageryProvider加载supermap rest服务报错问题

将url中的"&origin={‘x’:" + originx + “,‘y’:” + originy + "}"部分用customTag替换。将请求url 用encode方法编码,依然存在问题,应该是Cesium1.95地图强制将url中的{}解析为模板。使用Cesium1.65时能正常加载,升级为1.95后,获取图片的请求报400 Bad Request错误。查看错误请求发现url中传递的参数 origin={x:,y:} 包含了特殊字符 “{}”加载supermap的 rest服务。

2024-02-23 09:23:27 433

原创 ocanvas多边形扩展

ocanvas自带的polygon为正多边形,不支持给点列表进行绘制。扩展ocanvas支持自定义多边形。

2023-11-30 14:50:51 411

原创 正则表达式匹配html中的图片地址

图片地址一般以http开头.jpg等结尾。

2023-11-21 16:44:52 246

原创 java使用反射用父类对象生成子类对象

如果子类中有重写父类的方法,则调用setter时是子类重写的方法。mybatis自动生成基础类,使用继承扩展基础类。

2023-07-06 19:25:10 385

原创 springmvc中使用内部类做数据缓存

service中新建一个内部类用@Scope改变类的作用域,在用@Lookup注入,这样每次请求都能获取到新的Cache对象。springmvc自动注入的Service中保存一个全局变量,全局变量每一个请求对应一个新的变量。

2023-03-10 11:54:15 154 1

原创 java使用多线程提升效率

使用多线程对列表任务优化执行效率

2023-03-09 17:31:34 412

原创 kettle导入树形结构数据

利用作业广度优先遍历树形数据

2023-02-22 16:06:17 181

原创 js 数据脱敏方法

str为需要脱敏的数据,mark为脱敏显示的字符,将字符串中间60%的字符替换。

2022-10-11 19:52:59 1237

原创 基于webrtc浏览器截图

网页上某个元素截图,截图后需要显示浏览器提供的navigator.mediaDevices.getDisplayMedia方法可以实现录屏功能,我们将它投放到video标签中进行播放,然后截取其中的一帧。video标签放在最底层藏起来(display不能设none),计算目标元素的位置进行截图...

2022-06-24 18:19:17 1783

原创 MySql指定排序顺序

MySql指定排序顺序有时我们取数据的时候知道了,要取哪几条,然后想要按照给定的顺序取。可以使用filed函数来自定顺序。SELECT *FROM AWHERE id IN (10997,10998,10999, 11000)ORDER BY FIELD ( id,10999,10998)注意如果field函数不包括某些id的话,这些记录将按照默认顺序排在前面,上例结果为 10997、11000、10999、10998...

2022-05-17 20:53:11 396

原创 echarts点击数据联动列表滚动到对应数据位置

点击echarts中的散点图,左侧列表滚动到对应数据位置。使用jquery的scrollTop方法,需要自己计算滚动的偏移距离。我的列表每列都是30px,dataIndex是点击的数据在echarts中的索引,要确定echarts和列表之间数据的对应关系,我这里使用同一组数据 this.chart.on('click', params => { $('#list').animate({scrollTop: params.dataIndex * 30}, 400);});...

2022-04-15 16:49:27 972

原创 kettle数据脱敏

利用Janino计算Java表达式lxdh.replaceAll("(\\d{3})\\d{4}(\\d{4})", "$1****$2")利用javascriptfunction noPassByName(str){ if(null != str && str != undefined){ if(str.length==2){ return str.substring(0,1)+'*' //截取name 字符串截取第一个字符,

2022-03-24 20:06:42 1417 1

原创 ztree隐藏无叶子节点的父节点

递归的方法遍历节点,计数有无子节点,无子节点直接隐藏hideNoLeafNode(ztreeObj.getNodes()[0])hideNoLeafNode: function (rootNode) { if (!rootNode.isParent) { return rootNode.isHidden ? 0 : 1; } var nodes = rootNode.children; if (!nodes ||

2022-03-14 19:45:23 950

原创 kettle将多行转为一行,一行转多行处理技巧

kettle中记录是一条一条处理的,每条记录是独立的,如果需要对记录分组进行处理的话会很麻烦。这里提供一种在数据库读入时将记录合并的方法,使用 GROUP_CONCAT将字段拼接,然后在script中解析处理SELECT GROUP_CONCAT(id SEPARATOR ',') AS ids,GROUP_CONCAT(IFNULL(name,'NULL') SEPARATOR ',') AS namesFROM table1GROUP BY groupsidnamegroup

2022-03-07 10:45:32 2494 1

原创 js百度地图计算点与折线最短距离

百度地图Android SDk中的方法,用js重写,原理不懂,实际使用时感觉有明显误差,但误差可以接受。/** * * @param linesPoint 折线点列表 Point(lng,lat) * @param point 计算最短距离点 * @param map 百度地图实例,用于计算两点间距离 * @returns {{distance: number, point: (*)}} 最短距离,点 */function getNearestPointFromLine(linesPoin

2022-03-02 19:22:58 2242

原创 echarts饼图轮播效果

echarts饼图轮播效果echarts提供的dispatchAction方法可以控制饼图某一段“highlight”’高亮,或“downplay”取消高亮。利用定时器控制饼图循环高亮。循环好做,主要是鼠标移入饼图也会触发高亮导致冲突,显示效果出现问题。需要同时监听echarts的mouseover事件,鼠标移入做特殊处理。 var option; var ele = document.getElementById("chart"); echarts.d

2022-02-21 19:58:10 1891

原创 拟合多项式曲线

拟合多项式曲线

2022-02-07 14:43:01 1422

原创 自定义jsp标签

需求一个古老的项目使用jsp页面,shiro进行权限控制(已开发权限管理系统)。现在App要开发H5页面。由于身份校验方式不同,App使用后台H5页面不走系统中的shiro权限校验逻辑。现在想要使用当前shiro权限配置系统去配置App页面。现在可以通过静态方法获取用户的当前用户所拥有的权限代码。我们可以自定义一个jsp标签去控制权限实现准备一个java静态方法,输入权限字符串,输出true / falsepublic class ShiroUtil { public static Boole

2022-01-26 17:32:01 220

原创 Android 使用注解根据后台传入的权限列表控制显示

后台传入一个字符串数组,表示该用户拥有的权限,根据权限控制是否显示某个控件。String[] permissions = {"show_layout1"};新建注解RequirePermission@Retention(RetentionPolicy.RUNTIME)@Target(ElementType.FIELD)public @interface RequirePermission { String permission() default "";}在activity中给la

2022-01-20 15:04:55 2173

原创 Android webview H5页面input选择文件传递参数

Android中webview对input选择文件支持不是很好,通过重写onShowFileChooser方法然后返回选中文件的Uri来实现。但是在实际开发中常常遇到需要不同input做不同动作。比如我想实现选择图片的功能,其中包含三种不同状态:打开文件选择器选择图片直接打开相机拍照用户选择打开相机或选择图片onShowFileChooser方法只提供了一个webview对象,一个ValueCallback回调,以及FileChooserParams(提供少量的信息)。我们怎么区分这些情况

2022-01-10 19:34:43 2958 5

原创 vuedraggable两个列表拖动,当其中一个列表为空时,无法从另一个列表拖入

问题原因查看页面html文件,我发现他把transition-group标签转成了一个span标签,宽高还是0。当一边的列表为空时,我试图把另一个列表中的列表项拖入空列表正常位置时,无法拖入。但是当我把列表项拖到span标签的位置时,可以拖入。问题就出在这个span上,span是拖动的目标。我们需要给他一个宽高解决方案给transition-group标签设置宽高style(因为转成的span标签为行内元素,要加上display: inline-block才能设置宽高)<transiti

2021-12-02 20:28:49 942 1

原创 百度地图框选时,在地图外松开鼠标报错

3d地图下引入框选插件DrawingManager.js,当拖动鼠标,鼠标移出地图外,松开鼠标后报错,地图中框无法删除。报错信息:DrawingManager.js:1552 Uncaught TypeError: Cannot read properties of undefined (reading 'lng') at getRectAllPoints (DrawingManager.js:1552) at HTMLDocument.endAction (DrawingManager

2021-12-02 19:51:31 873

原创 多层iframe嵌套之间的函数调用

ruoyi中tab、弹窗是以iframe的形式添加到页面上的,这样想要实现类似广播的逻辑,一个iframe可以通知其他iframe做一些操作。iframe是有自己的window对象的,被调用的iframe

2021-11-10 14:22:41 951

原创 android SQLite helper的onCreate和onUpgrade不调用

今天写sqlite更新,发现无论升级版本号还是卸载app重装,onUpgrade都不调用,甚至连onCreate都不调用。后来发现是我的写法有问题。我建了一个基类来放数据库名和版本号,然后子类各自连接数据库class BaseDao{ static final String dbName = "test_db"; static final int version = 1;}class TestDao extends BaseDao{ class TestHelper extends SQLi

2021-10-19 21:08:22 1142 2

原创 Fragment嵌套Fragment时 onActivityResult回调问题

问题描述在Activity中启动FragmentA,FragmentA嵌套FragmentB,在FragmentB中startActivityForResult,返回时FragmentA的onActivityResult并没有被调用,而调用了Activity中的onActivityResult。解决方案问题出在的FragmentManager上,从Activity中启动FragmentA是调用的Activity中的getFragmentManager,他获取到的是Activity的FragmentMa

2021-09-26 19:33:16 308

原创 SQL 带条件的聚合函数

今天遇到一个问题,我需要count带条件的两组数据,这样无法使用where语句进行条件判断select count(a = 1), count(b = 1) from table1 group by ccount(true) 和count (false)都会使计数加一,只有count(null)才不会使计数加一。这样利用case来区分count(1)和count(null)。select count(case a when 1 then 1 else null end) from table1 gr

2021-09-06 20:04:37 1703 2

原创 thymeleaf抽取公共html控件复用问题

有时我们需要将html中多次出现的代码抽取出来,使用include进行复用。<th:block th:include="xxx :: xxx" /><div th:fragment="xxx"> <div onclick="testClick()"></div> <script> function testClick(){ ... } </script></div>组件不可避免的需要包括一些方

2021-08-18 16:09:13 204

原创 okhttp下载文件设置进度监听

okhttp下载文件设置进度监听仿照上传写一个responseBodyokhttp下载文件监听与上传文件监听原理类似,上传通过requestBody的writeTo将报文发出。下载就是通过responseBody的source方法将报文接收。仿照上传写一个responseBodypublic class ProgressResponseBody extends ResponseBody { ... @Override public MediaType contentType() {

2021-07-15 19:47:32 1480

原创 okhttp上传文件设置进度监听

okhttp上传、下载文件设置进度监听

2021-07-15 10:23:15 1788

原创 java 内存分配与GC策略

java 内存分配与GC策略内存分配新生代老年代空间分配担保参考 《深入理解Java虚拟机_JVM高级特性与最佳实践》内存分配堆内存分为新生代层和老年代层,新生代层中放 最新分配内存的对象,这些对象中标记存活时间(GC触发时间增长),当时间增长到一定程度(默认15)或达到其它某些条件就将新生代中的对象转入老年代中。这样将常用的对象与临时的对象分离,减少对常用对象的GC操作,提高效率。新生代新生代层内存分为eden区和survivor区。eden区用来存放最新分配的对象,新生代层经历了GC(Min

2021-07-12 19:44:15 179

原创 Android SurfaceView的setZOrderMediaOverlay和setZOrderOnTop区别

。。。

2021-07-06 20:15:56 3777

原创 Android 计时工具

Android 计时工具封装了一下timer实现方式public class Chronoscope { private Timer timer; private TimerTask timerTask; private int hour = 0; private int min = 0; private int sec = 0; public Chronoscope(final ChronoscopeCallback callback) {

2021-07-01 19:24:34 113

原创 Android Studio引入依赖成功,代码报红

问题描述今天引入okhttp3的依赖,从官网上考的implementation(“com.squareup.okhttp3:okhttp:4.9.0”)sync之后,依赖包成功下载,但是使用时无法自动import包。手动import也找不到包,使用OkHttp代码报红。但是编译打包没问题。注释掉sync后在加回来再sync,没用清Android Studio缓存,没用重启电脑,也没用解决方案将okhttp版本降低implementation(“com.squareup.okhttp3:ok

2021-06-15 19:10:12 1280

原创 vue模板插值失效问题

用vue的模板插值,出现修改data值页面不变的问题<button @click="click">{{btnText}}</button>...data:{ btnText:'按钮'},method:{ click:function(){ $('button').ladda().start();//启动特效(瞎写的) }}由于我使用了ladda按钮特效,导致改变btnText结果页面显示不响应。猜测原因是,ladda特效修改覆盖了button的一些事件

2021-05-27 19:38:15 2779

原创 echarts同时显示折线图与散点图

想要的效果主要遇到的问题如下散点图显示错位option = { xAxis: { type: 'category' data: [1,2] }, yAxis: {}, series: [{ symbolSize: 20, data: [ [10.0, 8.04], [8.07, 6.95] ], type: 'scatter' }

2021-05-25 20:05:03 3299 5

原创 js 将小数转为科学记数法

js 将小数转为科学记数法例如将数字0.00342331转化为3.42331×10^-3的方式展示先用toExponential方法把数字转为科学记数法的字符串,在用正则表达式将小数部分与10的几次幂分离 /** * 0.00342331转为3.42331×10^-3 * 转科学记数法 * @param num 0.00342331 * @returns [3.42331,-3] */ function toScientificNum(n

2021-05-19 19:37:43 1488

原创 Android Studio 3.2 升级到 4.2 报错

Could not determine java version from '11.0.8'.The project uses Gradle version which is incompatible with Studio running on Java 10 or newer.See details at https://github.com/gradle/gradle/issues/8431Possible solution: - Upgrade Gradle wrapper to 4.8.

2021-05-08 17:11:24 571 1

ProgressMultipartRequestBody.java

ProgressMultipartRequestBody.java

2021-07-15

jquery.validate.min.js

修改validate的remote校验,支持处理返回格式{success:false,message:"提示消息"}

2020-06-18

空空如也

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

TA关注的人

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