- 博客(1849)
- 资源 (17)
- 收藏
- 关注
原创 博主老程序员长期个人接单,找远程兼职工作
后端: .net winform + webapi。前端:vue2 + vue3 + 微信小程序。数据库: sqlserver + mysql。
2023-09-28 14:51:01 451
原创 自己开发的 Vue 下的甘特图 组件 已上传到GitHub上
经过 2021年的一个春节,从年前到现在,大致撸出一个 甘特图,进度条是用SVG画的,使用了几个工具库 (interactjs 用来处理拖拽和修改尺寸,snap.svg 用来处理 svg 的dom 操作,moment.js用来处理时间的操作),其他没有依赖任何的UI组件,目前初见雏形,还比较粗糙,后面会不断更新源码地址点击期间也摸索了怎么把vs code的项目上传到 GitHub 上面进行源代码的管理,基本上是参考的这篇文章做的...
2022-03-06 21:18:16 1956 5
原创 Blazor 下的 Json 编辑器
最近恰好碰到个比较冷门的需求,就是在线编码 Json,这其中有Json的语法着色,有Json对象属性数据类型的限制,其实要是单纯改一下Json字符串也不是难事,就是没法控制让用户只能给属性值,而不是属性名称,下面这个编辑器刚好可以满足需求。
2024-04-19 15:06:55 302
原创 一个 .net 8 + Azure 登录 + Ant Design Blazor 的基本后台框架
由于没有对权限进行细分,所以没有做菜单的权限控制,基本上有 Azure 账户就能登录进来,如果要细分,也很简单,就是在 Azure 的 Claims 里做文章,这里也不说了。Azure 登录的关键代码在 BasicLayout.razor,这点跟传统的登录以后再跳转有些不一样。一个 .net 8 + Azure 登录 + Ant Design Blazor 的基本后台框架。此外实现了读取和修改本地Json文件的功能,不是必须的,不需要的可以拿掉,我是自己项目需要。登录方式使用 Azure。
2024-04-18 22:36:03 472 1
原创 Asp.net 使用了 bootstrap,发布时样式丢失了
其实一般只需要用到 bootstrap.css 和 site.css。究其原因其实是css文件压缩了以后,页面不能识别了。修改 BundleConfig.cs。修改 Bundle.config。修改 Global.asax。
2024-04-10 12:09:03 274
原创 SSRS错误:打开Web服务URL http 500 错误
安装完SSRS后,点击如下链接,出现 http 500 错误。发现是这个文件夹的读取权限出了问题,下面修改权限。查看 windows 的事件日志。
2024-04-03 09:22:44 165
原创 SSRS错误:无法完成当前操作。用户数据源凭据不满足运行此报表或共享数据集的要求。用户数据源凭据未存储在报表服务器数据库中,或者用户数据源配置为不需要凭据但未指定无人参与的执行帐户
就我而言,这是因为一些部署参数。
2024-04-03 09:11:23 205
原创 获取调用 Azure 服务的AccessToken
核心是使用 Graph API ConfidentialClientApplicationBuilder 以及 AcquireTokenForClient。这个Scopes为上面的固定默认值。
2024-03-04 17:56:59 283
原创 如何升级 Blazor Asp.net Identity 脚手架自带的 jQuery ,jQuery Validation, Unobtrusive validation 版本,去掉CDN
当然这种方法可以非常彻底的解决问题,不会依赖 Microsoft.AspNetCore.Identity.UI 版本,想用哪个js版本手动覆盖就行了,缺点就是每次发布以后都要手动覆盖一次,比较费事。然后,关键的东西来了,如果你的项目是 .net 7 创建的,请务必要把 Microsoft.AspNetCore.Identity.UI 这个库升级到 7.0.16。修改一下这个文件里面的路径,对比如下,右边是修改好的,替换CDN为本地路径。首先来个卸载,安装,升级三部曲,我们升级一下脚手架的版本。
2024-02-15 10:12:18 477 1
原创 T-Sql 也能更新修改查询JSON?
具体的用法还是参考下如上链接吧,需要说明的是,如果不确定将来项目不会更换数据库的类型,还是不要使用“方言的”T-SQL语法,以免切换数据库的时候造成麻烦!我倍感诧异,我印象当中Sql Server并不支持JOSN的相关操作,他最多只把JSON当成一个字符串来存储,更不要说去解析,查询和更新了。在 SQL Server 2016 (13.x) 及更高版本 已支持 JSON 的解析了,amazing!我随后查询了下此函数,得到微软的官方文档,
2024-02-05 13:14:31 649
原创 在 Asp.net webapi 中使用filter 验证 auth0 jwt
auth0 的 jwt 有些不一样,它是没有 SecretKey 的,这里手动处理了这个验证。
2023-12-11 10:35:47 597
原创 .net 写了一个支持重试、熔断和超时策略的 HttpClient 实例池
【代码】.net 写了一个支持重试、熔断和超时策略的 HttpClient 实例池。
2023-11-02 09:01:06 727
原创 使用SweetAlert2 弹层(模态,提示框,过几秒消失......等等)
最近在做一个Asp.net MVC的项目,里面用部分视图页弹层,感觉很不爽,用着别扭。在前后端分离的项目里,我们肯定用封装好的前端UI库了,比如element ui,但是 Asp.net MVC的项目里面集成这个比较困难......我自己测试过的例子在下面,功能非常全面,我觉得完全够用了,唯一不好得就是 html 要拼接字符串......就找了个前端弹层组件 SweetAlert2。
2023-10-30 09:31:08 561
原创 使用Mapster实现双向映射,解放搬砖体力活
这样的体力活着实让人乏累,也许很多人说可以用AutoMapper,但是AutoMapper 仍然不能让我感到满意,AutoMapper 的代码我就不写了,我们使用Mapster,个人觉得很轻巧,很好用。可以看到,无论是对象A拷贝到对象B,还是对象B拷贝到对象A,只用配置一次就可以了,跟AutoMapper 的代码量我就不去对比,反正用过的都说香,再也不想用AutoMapper了,唯一一点就是这个库的知名度还赶不上AutoMapper。然而这还不够,我们经常还需要反向操作赋值。他需要一个个的赋值操作。
2023-10-26 20:28:43 413
原创 .net 使用IL生成代理类实现AOP对比Java Spring Boot的AOP
动态代理实现方式:在Java Spring Boot中,基于代理的AOP主要使用JDK动态代理和CGLIB代理来实现。而在C#中,使用IL生成器(ILGenerator)直接操作IL指令来生成和修改类型的字节码,实现动态代理。第三方库和框架:在Java生态系统中,有许多第三方库和框架(如AspectJ、Spring AOP)提供了高级别的API和工具,使AOP的使用更加方便。IL的语法和特性:IL是.NET平台的中间语言,类似于汇编语言,但具有一些.NET特定的语法和特性。
2023-09-25 08:43:22 353
原创 图解Spring三级缓存的工作流程
4. 把不完整(只初始化了,属性并没有填充) 目标Bean注入到目标Bean的子Bean中(我艹,好绕)三级缓存是为了解决循环依赖注入的问题,而且是单例的情况,其他情况是用不到三级缓存的。3. 再从三级缓存找到目标Bean移动到二级缓存,再从三级缓存中移除。2. 再实例化目标Bean的子Bean,并依赖注入, 放到三级缓存。6. 把目标Bean的子Bean注入到目标Bean。8. 目标Bean完成了属性填充,放入一级缓存。1. 先实例化目标Bean,放到三级缓存。7. 从一级缓存找到子Bean的实例。
2023-08-29 20:22:02 474 1
原创 Git 主要命令和操作流程(来自B站黑马)
oneline 就是在同一行显示,graph 是以层次关系显示, --abbrev-commit 是查看唯一标识符。那么这么长的命令,每次要敲就很不方便了,所有里面也提到起一个别名来简化。其中 git 查看日志有好些参数,黑马总结了下,这里记录一下。
2023-08-04 15:49:06 221
原创 Java Maven 构建项目里面有个聚合的概念
Java 项目里面有个聚合的概念,它没有.net里面解决方案(solution)的能力,可以统一的编译项目下的所有包,或设置统一的打包路径,使用maven编译后的产物也不会像.net那样编译到当前项目的bin文件夹下面,而是统一的生成到配置好的 settings.xml 文件的 localRepository 配置节下的路径,为了实现统一编译和打包的能力,这时候就要建立一个空的包,注意是空的!里面删除src文件夹,因为它根本不需要写代码,他要做的就是修改pom.xml文件。
2023-08-02 15:14:02 702
原创 IntelliJ IDEA 2023.1.3 主菜单不见了
双击shift,在弹出的菜单里面搜索 "main menu",在下图高亮位置选项改为 on。然后主菜单找半天都不知道怎么回来,下面记录找回来的过程。通过以下操作,去掉了勾,把主菜单玩没了。
2023-08-01 10:27:45 433
原创 治好 el-table 固定列一拖动就错位的病
如图所示,界面经常在刷新,或改变大小的时候,el-table 的固定列就开始错位,这时候应该使用ResizeObserver 登场了,用它来监控 el-table 大小的改变,同时触发 el-table 的 doLayout 方法来重新渲染 el-table,同时还要注意在 Vue 组件销毁前注销掉 ResizeObserver,以免造成内存泄漏。
2023-04-25 11:01:29 286 1
原创 使用FullCalendar做日程安排
其中日周天的选择器都是作为插件引入的,这个组件还是蛮庞杂的,功能也强大,需要时间去研究。自定义实现了加载,删除,样式的定义,鼠标悬停的显示,如图。
2023-03-15 14:55:27 1905
原创 SignalR注册成Windows后台服务,并实现web前端断线重连
本文主要说明 SignalR 如何注册成 windows 后台服务,及前端如何在断线的情况下不断尝试重新连接
2023-02-12 13:51:14 1599 2
原创 解决npm下载包的时候发生的依赖冲突
今天在一台虚拟机上面运行老项目,报各种类型上图的错误提示,一开始还以为是less的问题,结果一个个装完还是报错,后面又说webpack, webpack cli有问题,头有点大了,google 一下,发现一个命令。讨论这个命令的文章,可以了解一下。运行以后终于出现了期待已久的。
2022-12-13 17:21:30 650
原创 封装 x-spreadsheet 带样式导入导出
接上两篇vue 下使用 exceljs + x-spreadsheet 带样式导入Excelvue 下使用 exceljs + x-spreadsheet 带样式导出Excel下面封装好一个组件调用组件的页面效果如图,目前“导出Json”还没有做
2022-12-07 16:48:59 2553
原创 vue 下使用 exceljs + x-spreadsheet 带样式导出Excel
接上一篇,这次加入的是从x-speadsheet导出Excel,并且带有x-speadsheet中的样式,重点关注 exportExcel 这个方法,我加入了 tinycolor 这个库用来翻译颜色值,值得注意的是, exceljs的颜色值是 argb 不是 rgba,一定不要弄混了a 是代表的透明度放在最前面
2022-12-04 14:45:17 1256
原创 vue 下使用 exceljs + x-spreadsheet 带样式导入Excel
【说明】导入的Excel 字体颜色和背景色只能识别【标准色】,别的如"主题颜色",exceljs 解析出来不是颜色值。导入的样式包括字体,字号,列宽,合并单元格,【部分能识别】的背景色,文字颜色。导入到 x-data-spreadsheet 如下图。原Excel样式如下。
2022-11-20 18:11:10 3990 8
原创 element ui 的 el-tab 当使用 router-view 时 mounted 执行了多次
之前参考某文章把 router-view 放在 el-tab-pane 外面都不起作用,问题根本不是出在 el-tab-pane,而是v-for 里面有多个route-view , keep-alive 时 tab 并未销毁掉,而是缓存隐藏了起来。需要把 router-view 的 name 与路由的 index.js 名称对应起来。之前参照很多文章修改试图修正这个问题,结果都徒劳,终于让我找到。我做了如下修改,主页面 main.vue。
2022-11-19 16:04:17 2040 2
原创 WebApi 打个Attribute 统一处理异常
前一段时间看杨中科的视频,其中吐糟了mvc的管道机制,当然用在webui的渲染上这个还不如做个前后端分离,因为用管道和razor视图引擎去做这些看着就很繁琐,并且很重,整个架构都复杂化了,但是作为一些AOP的处理,管道却非常的好用,下面用一个Atrribute异常过滤器来统一的处理异常,那么每次有异常出现就不用写如上的代码去手动捕获了。以上就是一个异常处理的过滤器,下面的Contronlller只用打上一个标签就不用再去写trycatch了。我们处理异常的时候通常都要写形如以下的代码。...
2022-07-27 09:56:03 477
原创 Vue 动态连接线
尝试了两个连线库 jsplumb 和 leadline ,其实两个库都很强大,但是基于个人使用的习惯,决定还是用 leadline ,在Vue 下我使用它的一个包装库 leader-line-vue 下面是上图的连接线示例代码,连接线很轻松的就实现了一个渐变效果...
2022-07-11 22:04:59 6070 2
原创 RabbitMQ 消费者断线重连
虽然RabbitMQ.Client 库有心跳机制,有断线重连机制,但是在网络断掉的时候并不能重连,下面的代码就是解决这个问题,经本人测试有效,适合作为挂机程序
2022-05-27 14:21:12 6413 1
原创 css 灯泡发光动画,挺有意思
.light { animation: flicker 4000ms ease infinite;}@keyframes flicker { 0%, 100% { box-shadow: 0 0 1rem #fefa01, inset -0.25rem 0 0 0.5rem rgba(14, 10, 10, 0.1); } 30%, 70% { box-shadow: -1rem 0 8rem 1rem #fefa01, inset -0.25rem 0 0 0.5re.
2022-03-28 10:20:54 1576
原创 Vue 中使用消息总线让两个滚动条同步滚动
最近自己从零撸起的甘特图组件需要子组件的滚动条同步滚动这就涉及到子组件之间的互相通信,通过 消息总线可以达到我们的需求 ,首先建立一个标志位,拖动左边滚动条的时候,右边的滚动条事件不处理,反之拖动右边滚动条时,左边的滚动条事件不做处理,建立一个公共的变量用于两者的互斥store.jsimport Vue from 'vue'export let store = Vue.observable({ scrollFlag: true})export let mutations =..
2022-03-04 23:27:12 1326
原创 Vue 强制渲染组件
最近自己从零撸了一个甘特图组件,如图当切换 "月/时/日" 的时候,我希望下面的甘特图重新渲染,页面结果是这个样子<template> <div v-if='tasks' class="content"> <template v-for='(item, index) in tasks'> <div :key="index + '_task'" style="border-top: 1px solid #cecece;margi.
2022-03-03 11:47:09 727
原创 Vue + lodop 静默打印
静默打印是什么?简单来说就是不需要用户点击"打印",自动去打印,但是使用浏览器web打印不可避免的要弹出以下画面面对这种问题也只能用"富客户端"技术来解决,在浏览器的沙盒安全模型中无法做到,那么只能使用插件的技术,这个我们就不自己花力气去做了,我找来了 lodop 这个免费的打印组件,功能还是挺强大的,下载下图的发行包解压后安装下图两个exe如果你的系统是64位的,可以安装install_lodop64.exe上图的LodopFuncs.js 是客户端要使用的核心库文件...
2022-02-28 11:17:55 3719 1
.net 8 + Azure 登录 + Ant Design Blazor
2024-04-18
Advanced.Installer.v13.1注册机
2016-09-19
MySQLBackupFTP及注册工具
2016-09-19
AlwaysUp8.5及注册机
2015-09-25
数据库数据互导及文档生成工具(IT人员必备)
2015-01-19
类似SCSF中EventBroker解耦事件调用方和接受方,打破"+="带来的耦合
2014-08-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人