
实现案例
文章平均质量分 60
实现功能案例
占星安啦
积累开发技术的点点滴滴,每周进步一点点就好
展开
-
【electron+vue3】使用JustAuth实现第三方登录(前后端完整版)
1. 去第三方平台拿到client-id和client-secret,并配置一个能够外网访问回调地址redirect-uri供第三方服务回调 2. 搭建后端服务,引入justauth-spring-boot-starter直接在配置文件中定义好第一步的三个参数,并提供获取登录页面的接口和回调接口 3. 前端项目中新建一个登录窗口和一个登录中转页面,登录窗口的url从第二步第一个接口获取,中转页面从第二步的第二个接口返回 4. 中转页面从url中读取登录成功的用户信息并存放到pinia中,关闭登录窗口原创 2024-10-29 18:03:55 · 1193 阅读 · 0 评论 -
顺丰接口对接-订单创建与取消(java单元测试)
【代码】顺丰接口对接-订单创建与取消(java单元测试)原创 2023-11-09 18:14:13 · 142997 阅读 · 0 评论 -
vue分片上传视频并转换为m3u8文件并播放
基于若依开源框架的前后端分离版本的实践,后端java的springboot,前端若依的vue2,做一个分片上传视频并分段播放的功能,因为是小项目,并没有专门准备文件服务器和CDN服务,后端也是套用的若依的上传功能。原创 2023-11-09 11:14:33 · 4328 阅读 · 3 评论 -
elementUI可拖拉宽度抽屉
在elementUI的抽屉基础上,添加可拖动侧边栏宽度的功能原创 2023-09-05 10:14:33 · 4163 阅读 · 0 评论 -
动态定时任务-支持选择执行类和自定义参数(附前后端完整代码)
传统的定时任务,要么是使用@Scheduled在程序中写死的定时策略,要么是使用Quartz或者xxl-job定时任务框架,就很重。本文介绍的定时方案采用hutool工具包的CronUtil配合反射实现,支持选择定时任务类,自定义参数,主打轻量、灵活。此方案也是借鉴的小诺开源框架,测试页面套用的若依的定时任务页面,在那基础上稍加改动就好原创 2023-07-21 16:54:20 · 4293 阅读 · 7 评论 -
springboot非配置实现动态多数据库查询
- 数据库配置信息不能在项目代码中配置或写死- 系统能接入用户配置的数据库并保存和读取- 每个用户可添加多个数据库(不同数据库类型、不同host)- 多个用户可添加相同的一个数据库- 同一个数据库只创建一个连接池- 数据库类型差异对业务逻辑透明原创 2023-03-31 15:12:23 · 4904 阅读 · 0 评论 -
GeoServer系列-通过mongodb发布geojson数据
geoserver支持的数据存储种类多样,客户的空间数据种类更杂,比如dwg,excel,kml,mysql等等,针对多样的空间文件,一般系统会统一解析保存空间属性,很容易就能转换成geojson,所以大部分空间数据文件的发布,都可以转为geojson的发布,业务系统保存属性信息的同时空间信息也能顺便发布出去,遇到重新发布时就很方便,不需要一直保存用户上传的文件,省去许多文件IO操作的麻烦。原创 2023-03-02 19:37:15 · 5761 阅读 · 7 评论 -
springboot 动态添加不同类型数据源(demo)
前端录入外部数据源,数据库类型多样,录入的数据源需要保存在系统中,多数据源demo,支持mysql,sqlserver,postgresql,sqlite,支持初始化时加载和动态新增支持mysql,sqlserver,postgresql,sqlite,支持初始化时加载和动态新增3,运行结果4, 查询全库表字段信息sqlserver原创 2022-12-06 11:36:45 · 4772 阅读 · 0 评论 -
HTTPS请求忽略SSL证书
unable to find valid certification path to requested targethttps请求忽略SSL校验原创 2022-11-18 17:13:24 · 9128 阅读 · 0 评论 -
mysql迁移到dws(PostgreSQL)步骤和注意事项
现场环境:华为的dws: PostgreSQL 9.2.4(GaussDB 8.1.0)原创 2022-11-04 15:37:05 · 6615 阅读 · 0 评论 -
随机获取日期区间中某一天
随机获取日期区间某一日期随机获取时间区间某一时间原创 2022-08-22 11:30:23 · 5154 阅读 · 0 评论 -
http转https注意事项(nginx)
原http服务转https 注意事项,nginx配置原创 2022-08-04 15:17:46 · 4488 阅读 · 0 评论 -
SpringBoot 集成 TkMybatis
本文由 简悦 SimpRead 转码, 原文地址 www.shuzhiduo.com前提:基于SpringBoot项目,正常集成Mybatis后,为了简化sql语句的编写,甚至达到无mapper.xml文件。在本篇总结教程,不在进行SpringBoot集成Mybatis的概述。如有需要, 请查看我另一篇文章 SpringBoot 集成 MyBatis,这里不再赘述。一. 实现步骤1. 引入TkMybatis的Maven依赖2. 实体类的相关配置,@Id,@Table3. Mapper继.转载 2022-05-20 10:59:01 · 4602 阅读 · 0 评论 -
给泛型对象赋默认值
给所有返回实体赋默认值,当查询不到数据时不给前端返回null,而是保持swagger文档的输出结果结构并带默认值原创 2022-04-07 10:49:14 · 7664 阅读 · 0 评论 -
mqtt实践
docker 启动emqx服务sudo docker run -dit --name emqx -p 18083:18083 -p 1883:1883 -p 9083:8083 -p 9084:8084 emqx/emqx:latest开放端口1883:MQTT 协议端口8883:MQTT/SSL 端口8083:MQTT/WebSocket 端口8080:HTTP API 端口18083:Dashboard 管理控制台端口访问地址http://127.0.0.1:18083账号: a原创 2021-10-09 15:20:44 · 3414 阅读 · 0 评论 -
OkHttp配置Basic Auth
需求:远程服务使用HTTPS连接,并需要Basic Auth认证在配置类里面注入一个自定义OkHttpClient @Value("${sign.httpName}") private String rtspName; @Value("${sign.httpPwd}") private String rtspPwd; @Bean public OkHttpClient buildBasicAuthClient() { X509Tr原创 2021-08-25 20:06:10 · 3326 阅读 · 0 评论 -
【kafka】@KafkaListener 注解解读
简介Kafka 目前主要作为一个分布式的发布订阅式的消息系统使用,也是目前最流行的消息队列系统之一。因此,也越来越多的框架对 kafka 做了集成,比如本文将要说到的 spring-kafka。Kafka 既然作为一个消息发布订阅系统,就包括消息生成者和消息消费者。本文主要讲述的 spring-kafka 框架的 kafkaListener 注解的深入解读和使用案例。解读源码解读@Target({ ElementType.TYPE, ElementType.METHOD, ElementType.转载 2021-06-27 14:01:00 · 23803 阅读 · 0 评论 -
SpringBoot 优雅全局异常处理
SpringBoot 全局异常准备说明:如果想直接获取工程那么可以直接跳到底部,通过链接下载工程代码。开发准备环境要求 JDK:1.8SpringBoot:1.5.17.RELEASE首先还是 Maven 的相关依赖: <properties> <project.build.sourceEncoding>UTF-8</project.build.sou转载 2021-05-20 21:10:13 · 872 阅读 · 0 评论 -
分布式session的几种解决方案
一、客户端存储既然分布式环境中,一个客户端的多个请求可能会落在多个服务器上,那么我们是否可以改变策略,直接将session信息存储在客户端?可以的,服务器将session信息直接存储到cookie中,这样就保证了session的一致性,但是并不推荐这样去做,因为将一些信息存储在cookie中,相当于就把这些信息暴露给了客户端,存在严重的安全隐患。缺点:安全性存在问题cookie对于数据类型及数据大小有所限制二、session复制将服务器A的session,复制到服务器B,同样将服务器原创 2021-05-09 13:30:43 · 1020 阅读 · 0 评论 -
swagger 对象上传文件
@ApiOperation("excel导入成品价格") @PostMapping(value = "xxxx",consumes = "multipart/*",headers = "content-type=multipart/form-data") public Result importData(@ModelAttribute ProductPriceImportQO priceImportQO) { if(priceImportQO.getPre().ind...原创 2020-09-27 12:31:00 · 1084 阅读 · 1 评论 -
controller异步处理请求
1,需求场景后台数据处理需要多个远程调用,数据拉取推送等IO操作很耗时或者时间预估困难,手动重新推送或拉取数据等操作。2,处理器异步处理请求@RestController@RequestMapping("/pulldata")@Slf4jpublic class PullOrderController { @Autowired private TestService testService; /** * 定义任务线程池,手动处理的情况比较少,不需要太多线程数原创 2020-06-10 16:44:18 · 4741 阅读 · 0 评论 -
EasyPoi通用导出excel
公共方法导出数据到excel,共用查询请求回显对象,查询方法,戴表头,可设置每列宽度。导出格式如下1,pom引入 <!-- Excel报表导出 --> <dependency> <groupId>cn.afterturn</groupId> <artifactId>easypoi-base</artifactId> <vers原创 2020-05-18 23:16:20 · 950 阅读 · 0 评论 -
实体字段对比(记录修改日志)
1,全字段回显到页面进行修改的情况用户提交的数据与通过编码查询数据库返回的数据实体进行对比 /** * 对比两个bean的差异属性 * @param oldBean * @param newBean * @param clazz * @param <T> * @return */ public static <T> String contrastObj(Object oldBean, Objec原创 2020-05-10 13:10:29 · 1697 阅读 · 0 评论 -
减少平均时延的策略
为了提高服务的高可用性,减少时延带来的诟病,采取减少平均时延策略, 可用方式有哪些?如何将此策略与现在流行的微服务框架结合,给出你熟悉微服 务框架的融合的设计方案。服务调用(通信)可以分为以下几个层级injvm 进程内innative 主机内instack 机架内inzone 机房内inregion 区域内global 跨区域在设计微服务调用时,尽量使用上面层级的,而不是下面层...原创 2020-01-07 14:26:27 · 1318 阅读 · 0 评论 -
springcloud笔记6——服务降级报警
需求实现的几个考虑重点:发生服务降级后向管理员发出警报考虑集群环境下需要报警哪台服务器哪个服务发生了降级同一个服务降级一个时间段内只发送一次警报,超过这个时间段任然存在再次警报服务降级发生的触发与发送短信任务应该是异步的基于集群通信和报警时效考虑,使用redis实现,如果将一个降级报警设置了过期时间,没过期不重发报警,需要考虑热点缓存问题实现代码如下:1,添加redis依赖po...原创 2019-11-28 22:17:34 · 609 阅读 · 0 评论 -
请求重试,异常重试
需求:夜间定时任务比较多,偶尔遇到请求超时的情况,也可能是网络波动,总之需要做请求失败重试。1,引入spring-retry注解 <dependency> <groupId>org.springframework.retry</groupId> <artifactId>spring-retry</art...原创 2019-11-07 15:25:20 · 1464 阅读 · 0 评论 -
百度地图-逆地址编码
需求:通过地址字符串获取地址的经纬度1,注册登录百度地图开放平台,进入控制台,创建应用,获取自己的ak2,根据 接口文档 ,编写java测试类public class baiduMapTest { //根据地址获取经纬度 http://lbsyun.baidu.com/index.php?title=webapi/guide/webservice-geocoding pub...原创 2019-10-18 10:44:43 · 969 阅读 · 0 评论 -
正则表达式-提取json属性值
在线测试及常用表达式元字符\d : 0-9之间的任意一个数字 \d只占一个位置\w : 数字,字母 ,下划线 0-9 a-z A-Z _\s : 空格或者空白等\D : 除了\d\W : 除了\w\S : 除了\s . : 除了\n之外的任意一个字符 \ : 转义字符 | : 或者() : 分组\n : 匹配换行符\b : 匹配边界 字符串的开头和结尾 空格的两边都是边...原创 2019-10-18 10:26:38 · 8784 阅读 · 0 评论 -
树形表格TreeGrid
1.效果截图 2.数据结构[{"mcode":"UI","mname":"页面开发模板","micon":"glyphicon glyphicon-th","murl":"","exp原创 2018-05-17 21:38:20 · 9250 阅读 · 0 评论 -
datagrid合并单元格
表头合并columns:[ [ {field:'bigarea',title:'大区',rowspan:2,width:$$.fillsize(0.1),align:'center'}, {field:'ProvinceName',title:'省份',rowspan:2,width:$$.fillsize(0....原创 2018-05-02 11:24:10 · 4978 阅读 · 2 评论 -
springboot+thymeleaf+shiro标签
springboot+thyemleaf+shiro标签原创 2018-04-11 18:29:31 · 13655 阅读 · 8 评论 -
基于bootstrap的multselect左右多选多
1,控件官网文档:http://www.jiaoben123.com/uploadfiles/demo/d19cb85fac5b4c74bb4e387852f7d23b/#documentation2,页面基本结构&lt;div class="row"&gt; &lt;div class="col-xs-5"&gt;原创 2018-04-17 09:51:18 · 2801 阅读 · 0 评论 -
datagrid行内新增,行内编辑
实现效果 div data-options="region:'east',split:true,border:false" title="部门列表" style="width:13%;"> table id="dept_datagrid" class="easyui-datagrid" data-options原创 2018-01-08 10:28:09 · 3313 阅读 · 0 评论 -
ECharts-旭日图(Sunburst)带时间轴
常见结构var dom = document.getElementById(&quot;container&quot;);//定义echarts对象var myChart = echarts.init(dom);//构建图表的参数 var option = { //定义标题 title: { text: '揽件汇总', textStyle: { ...原创 2018-07-07 10:22:44 · 7882 阅读 · 1 评论 -
百万数据excel导出打包下载
前端框架easyUI,后端java,使用poi导出数据暂存到服务器,然后打包下载1,前端请求js$$.openProcessingDialog(); //打开等待动画 $.ajax({ type: "POST",dataType: "JSON", url:exportUrl, data: {search_condition:JS...原创 2018-08-28 14:17:39 · 2560 阅读 · 0 评论 -
单选框radio单击取消选中
<!DOCTYPE HTML><html><head> <meta charset="UTF-8" /> <script type="text/javascript" src="http://lib.sinaapp.com/js/jquery/1.7.2/jquery.min.js">原创 2019-01-03 15:39:04 · 13661 阅读 · 0 评论 -
bootstrapTabale复杂表头+列合并
//必须设置高度,否则无法固定表头height:$(document).height()-170,columns : [[ {title: '', field: '', align: 'center', formatter: function (value, row, index) { ...原创 2019-01-03 16:02:50 · 13023 阅读 · 7 评论 -
一个websocket消息通知案例
1,pom &amp;lt;dependency&amp;gt; &amp;lt;groupId&amp;gt;org.springframework.boot&amp;lt;/groupId&amp;gt; &amp;lt;artifactId&amp;gt;spring-boot-starter-websocket&原创 2019-01-11 09:33:09 · 7164 阅读 · 11 评论 -
logback 日志配置
1,pom中加入依赖springboot 已默认加入,无需添加&lt;dependency&gt; &lt;groupId&gt;ch.qos.logback&lt;/groupId&gt; &lt;artifactId&gt;logback-classic&lt;/artifactId&gt; &原创 2019-01-11 09:42:03 · 251 阅读 · 0 评论 -
多线程分类处理数据
业务场景:消息队列消费端启动并发消费时,同一个单子的数据读写无法统一,比如一条线程判断缓存数为1,然后以这个结果做处理变为2,另一个线程提前已经操作变为2了。解决方案: 手动编写线程,控制同一个单子始终在一条线程中,从而既保留多线程的处理效率,又保证了数据的准确。实现思路:初始化线程时为每一个线程单独分配一个待处理队列Queue,建立一个线程管理的类,负责将数据提交到不同线程的Queue中,业...原创 2019-01-17 20:08:40 · 797 阅读 · 0 评论