- 博客(1874)
- 资源 (17)
- 收藏
- 关注

原创 自己开发的 Vue 下的甘特图 组件 已上传到GitHub上
经过 2021年的一个春节,从年前到现在,大致撸出一个 甘特图,进度条是用SVG画的,使用了几个工具库 (interactjs 用来处理拖拽和修改尺寸,snap.svg 用来处理 svg 的dom 操作,moment.js用来处理时间的操作),其他没有依赖任何的UI组件,目前初见雏形,还比较粗糙,后面会不断更新源码地址点击期间也摸索了怎么把vs code的项目上传到 GitHub 上面进行源代码的管理,基本上是参考的这篇文章做的...
2022-03-06 21:18:16
2259
5
原创 老是忘记package.json,备忘一下 webpack 环境下 Vue Cli 和 Vite 命令行工具对比
env.development 或 .env.production。env.development 或 .env.production。Vue 2.X webpack 环境下 Vue Cli 的命令。Vue 3.X 下 Vite 命令行。Vue Cli 访问环境变量方式。Vite 访问环境变量方式。
2025-03-27 17:45:54
363
原创 用Promise实现ajax的自动重试
修改下原本的登出逻辑,遇到ERR_NETWORK错误,也就是网络问题,每隔1秒重试一次。有时候遇到网络错误,希望可以多试几次,可以利用Promise递归调用实现。以若依系统的登出举例。
2025-03-20 11:19:37
341
原创 用 Vue 3.5 TypeScript 重新开发3年前甘特图的核心组件
下面录屏是是 用 Vue 3.5 TypeScript 开发的目前进展,不再使用 Vue 2 里用过的 snapsvg-cjs 库,主要是对TypeScript支持的不太好,使用 SVG.js 库代替 snapsvg-cjs 库。然后拖拽和改变大小依旧用的interactjs 库,小有名气的 DHTMLX 甘特图就是用的 interactjs 库,别问我是怎么知道的,我看过源码引用链接。强化学习了Vue 3.5,比如认识了defineModel这些比较香的新功能。核心甘特图的子组件 Bar.vue。
2025-03-14 19:29:40
510
原创 用 Vue 3.5 TypeScript 做了一个日期选择器(改进版)
已经实现了一个日期选择器,只不过是模态窗的形式,这个版本改为文本框弹出,点击空白处可关闭日历。
2025-03-10 19:54:54
449
原创 Vue2-3 优雅的在子组件修改父组件传递过来的v-model
子组件:});</script>结论: 可以看到在 vue 3.4 以后,代码量大幅减少,所以能升级就升级吧!
2025-03-04 22:09:57
1243
原创 用 Vue 3.5 TypeScript 做了一个日期选择器
以前用vue 2 做了一个日期选择器,现在用vue 3.5 typescript 重新写过。
2025-03-04 17:36:18
242
原创 用 Vue 3.5 TypeScript 做了一个拖拽条
年初又失业了,熬到43岁真的不容易,去年好不容易找到一个澳洲远程工作,好景不长,客户没项目,再加上又是外包的性质......算了,这段时间只有在家啃老了,不知要躺平多久了。在家闲来无事,也摸摸技术吧,日子好过点,把之前写的vue 2 的一个组件用 TypeScript 在 vue 3 上重新写过。下面是一个坑,不修改会导致拖拽条不显示,真的无语,到底啥原因?效果如下,分为水平拖拽分隔,垂直拖拽分隔。
2025-03-03 15:14:35
462
原创 npm run dev 时直接打开Chrome浏览器
"dev": "vite" 修改为 "dev": "vite --open chrome.exe"这样方便一点,省得每次去点调试窗口的链接。package.json 修改下配置。
2025-01-21 16:15:44
593
原创 NLog 的 ${aspnet-user-identity} 写入是空白?终极解决方案
一个典型的文本文件和数据库的双写模式,但是很不幸的是 ${aspnet-user-identity} 是空的,比如我之前使用 Azure 的默认登录,${aspnet-user-identity} 是有值的,但是我改成了两个登录方案以后,${aspnet-user-identity} 就成空的了。由于使用了不同的认证方式,可能会导致 NLog 的 ${aspnet-user-identity} 拿不到值,从而写入的是空白,谁知道他里面是怎么解析的呢?之前使用 NLog 的配置可能如下。
2024-11-08 10:59:20
455
原创 Blazor WebAssembly 项目部署时遇到 500.19错误
但是遇到 Blazor WebAssembly 项目部署时还得多装一个 “重写模块”这个错误其实很普遍,在部署 asp.net core 的时候都能解决。下载地址,安装后重启网址。
2024-10-24 11:43:44
340
原创 解决 Android 上的 .NET MAUI/Xamarin.AndroidX 应用调用 ASP.NET Core API 端点时 SSL 连接被拒绝的问题
在 HTTPS 里面,证书是被强制使用的,本地 Web API 会有一个默认证书,他里面带一个 “CN=localhost” 所以上面的类针对这个进行了过滤,并且 Android 的底层用的不是默认的 .net 的 HttpClient ,使用了 GetPlatformMessageHandler 进行了重写,这个可是Java 的包。从虚拟机调用本地API报各种 SSL 连接不上的错误,这给本地调试造成了极大的不便,在被这个问题困扰了多日以后,终于在GitHub上找到答案。
2024-09-05 10:40:40
951
原创 .net 8.0 下 Blazor 通过 SignalR 与 Winform 交互
那么上面Blazor服务端的事就做完了,非常简单。因为咱使用的是 https,所以还有个连接时证书验证的问题。等真的需要验证了再改写 ValidateServerCertificate 方法的逻辑。每点击一次 Button1 ,Blazor 的网页端就会收到新的 guid。在 Blazor 的一个页面接收来自客户端 Winform 的消息。,SignalR 的包, VS 默认会建议你安装。不然会少一个扩展类,没有 WithUrl。这个时候就可以把两端的程序跑来做验证了。程序初始化的时候要注册这个Hub。
2024-08-18 10:47:25
772
原创 Azure AD 配置角色,在Blazor中读取角色
首先是在 Microsoft Entra admin center 中配置你的应用程序角色。接下来就可以在Blazor页面中读取了。1. 首先从下图找到你要配置的程序。2. 然后找到分配用户到角色的地方。然后分配用户到你创建的角色。这样就成功给用户分配了权限。
2024-08-01 14:11:48
452
原创 Azure AD 登录时报错 AADSTS700054: response_type ‘id_token‘ is not enabled
遇到这个错误,下图这个地方记得打勾。
2024-08-01 10:18:15
311
原创 运行期动态配置 Nlog 日志打印
但是这样一来,我在服务端想要随时的打开和关闭这个设置就尤为麻烦了,尤其是这种配置如果放在 Android App 里面,修改配置还要修改 App 本地的文件,着显然是行不通的。所以目的是放在服务器端的数据库,通过远程的配置来刷新本地 App,这个时候需要从远程的服务器读取配置,在运行时改变 NLog 的行为。至于 starts-with('${message}', 'Tx:') 这样的写法,不是我实现的解析,而是 NLog 自身支持的,需要时,自行去查阅 NLog 的资料。
2024-07-25 16:28:20
573
原创 SqlServer 使用T-SQL单纯的复制表数据
今天用Sql Server Manager Studio 先复制一个库建立一个新库出来,各种报错,也不知道是为什么,连备份再还原都不行,算了,自己写个SQL 脚本来执行算了......坏处是视图,存储过程和函数都没有复制过来。
2024-07-23 19:39:10
550
原创 用adb指令把文件拷贝到Android模拟器
首先必须要运行你要拷贝文件的目标Android模拟器,你关闭他的话,你是找不到这个设备的。管理员权限运行vs studio,在vs studio下打开Andriod的设备管理器。这个时候就可以去Android模拟器上去找到这个文件了,点击下图的Files。然后把这个文件拷贝到模拟器的 Download 目录下,使用adb命令。然后保持运行就不要管他了,找到你要拷贝的文件路径,比如。点击打开,就能找到刚才拷贝的文件了。运行你要拷贝文件的那个模拟器。这里有个Downloads。
2024-07-17 16:18:55
798
原创 把Docker的虚拟磁盘文件移动到别的盘符
今天清理C盘空间,发现一个很大的文件 ext4.vhdx 足有 15G 之多,发现这个是Docker的虚拟磁盘文件,于是在网上找到移到它的办法,使用 PowerShell 执行下面命令。压缩备份到别的盘符下,假设叫 E:\dockerdata\docker-desktop-data.tar。注销现有docker-desktop-data。查看Docker状态和版本。导入之前备份好的压缩文件。关闭Docker服务。
2024-07-12 22:48:33
632
原创 在Vue中用SVG画一个油罐
这是3年前做的一个数字大屏项目,如今接到个活,可能又要用到SVG了,所以把之前的代码找出来回顾一下,都快忘了怎么玩这个东西了,核心用的是 snapsvg 这个前端库。
2024-07-12 08:55:38
530
2
原创 Blazor 统一处理异常
每个代码段都去写 try catch 当然不可取,因为总会有疏漏的地方吧,如果有些遗留,那么很容易造成 bug 无迹可循,甚至有时候看windows日志也看不到痕迹,现在就考虑做一个统一处理异常并捕获的地方。建立一个类,ExceptionHandlingMiddleware 作为异常处理的中间件。在 program.cs 里注册这个中间件。
2024-06-11 11:45:26
615
原创 自定义实现Blazor Server 模式 Bootstrap 主题切换
首先我要说明的是,这些主题都是根据 Bootstrap 实现的,这个是基础,如果你想要跳出 Bootstrap 的范围,那么下面的内容不适合你。接着我们可以在 _Host.cshtml 页面去读取保存的Cookie,取出主题名称,根据主题的名称加载不同的css文件。图中的主题来自一个 Bootstrap 主题网站,里面有25个主题可供下载,都是免费的,very nice!我是根据一段视频实现的,不过在 youtube 上面,至于怎么才能看到,你懂的,下面是链接,请自行科学上网。的Contronller。
2024-06-11 09:04:03
688
原创 Blazor 下支持 Azure AD 的多套登录方案
比如上图配置了两套不同的登录方案,各有自己的 TenantId 和 ClientId ,要同时支持他们的登录(其实在同一套 TenantId 和 ClientId 里面配置多个登录账户不就好了,但是......那套登录的管理是在客户自己的Azure AD账户管理下的,而作为技术支持不想麻烦客户,更何况客户不一定同意呢,所以需要第二套专为技术支持提供的用户组......那么就自己再弄一套吧)一个给客户登录用,一个给技术支持登录用,最后一个是登出,这个工作都在 StartUp 里完成,只列出核心代码。
2024-05-24 11:17:03
588
原创 手动验证 Azure AD 并设置登录状态
3. 自定义一个 CustomAuthenticationStateProvider 类继承自抽象类 AuthenticationStateProvider,自己写修改当前验证状态的方法。1. client_id,client_secret,username,password 是必须要的。设置了验证的状态以后,页面上 Authorized 这样的UI部分才可以正常显示。/...... 提交参数,成功就可以拿到 token。
2024-05-23 09:30:57
538
原创 突然连接不上 Bitbucket.org?
找到C:\Windows\System32\drivers\etc下的hosts文件用记事本/notepad ++打开,咱加到host文件里面。查找一下 Bitbucket.org 的IP,使用这个网址。提交或拉取时都出现了错误。
2024-05-10 23:10:19
1060
原创 Blazor 下的 Json 编辑器
最近恰好碰到个比较冷门的需求,就是在线编码 Json,这其中有Json的语法着色,有Json对象属性数据类型的限制,其实要是单纯改一下Json字符串也不是难事,就是没法控制让用户只能给属性值,而不是属性名称,下面这个编辑器刚好可以满足需求。
2024-04-19 15:06:55
545
原创 一个 .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
996
1
原创 Asp.net 使用了 bootstrap,发布时样式丢失了
其实一般只需要用到 bootstrap.css 和 site.css。究其原因其实是css文件压缩了以后,页面不能识别了。修改 BundleConfig.cs。修改 Bundle.config。修改 Global.asax。
2024-04-10 12:09:03
482
原创 SSRS错误:打开Web服务URL http 500 错误
安装完SSRS后,点击如下链接,出现 http 500 错误。发现是这个文件夹的读取权限出了问题,下面修改权限。查看 windows 的事件日志。
2024-04-03 09:22:44
643
原创 SSRS错误:无法完成当前操作。用户数据源凭据不满足运行此报表或共享数据集的要求。用户数据源凭据未存储在报表服务器数据库中,或者用户数据源配置为不需要凭据但未指定无人参与的执行帐户
就我而言,这是因为一些部署参数。
2024-04-03 09:11:23
390
原创 获取调用 Azure 服务的AccessToken
核心是使用 Graph API ConfidentialClientApplicationBuilder 以及 AcquireTokenForClient。这个Scopes为上面的固定默认值。
2024-03-04 17:56:59
540
原创 如何升级 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
696
1
原创 T-Sql 也能更新修改查询JSON?
具体的用法还是参考下如上链接吧,需要说明的是,如果不确定将来项目不会更换数据库的类型,还是不要使用“方言的”T-SQL语法,以免切换数据库的时候造成麻烦!我倍感诧异,我印象当中Sql Server并不支持JOSN的相关操作,他最多只把JSON当成一个字符串来存储,更不要说去解析,查询和更新了。在 SQL Server 2016 (13.x) 及更高版本 已支持 JSON 的解析了,amazing!我随后查询了下此函数,得到微软的官方文档,
2024-02-05 13:14:31
764
原创 在 Asp.net webapi 中使用filter 验证 auth0 jwt
auth0 的 jwt 有些不一样,它是没有 SecretKey 的,这里手动处理了这个验证。
2023-12-11 10:35:47
749
原创 .net 写了一个支持重试、熔断和超时策略的 HttpClient 实例池
【代码】.net 写了一个支持重试、熔断和超时策略的 HttpClient 实例池。
2023-11-02 09:01:06
860
.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关注的人