<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[lee576的专栏]]></title><description><![CDATA[此博内容全为自己的笔记，是写给自己看的，如果看客觉得有用，不用客气，觉得没用，也不要咒骂，抱怨，更不要找我要代码，毕竟我不是专门写给你看的]]></description><link>https://blog.csdn.net/lee576</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; lee576]]></copyright><item><title><![CDATA[写 AGENTS.md 的原则和建议]]></title><link>https://blog.csdn.net/lee576/article/details/158347542</link><guid>https://blog.csdn.net/lee576/article/details/158347542</guid><author>lee576</author><pubDate>Tue, 24 Feb 2026 12:06:40 +0800</pubDate><description><![CDATA[本文总结了编写高效AGENTS.md的核心原则：1)最小化原则，仅保留必要信息避免token浪费；2)稳定性原则，避免具体路径而描述能力概念；3)渐进式原则，按需加载分层配置。建议内容分为基础层(项目描述、构建命令)和扩展层(架构说明、编码规范)，采用引用方式组织。特别强调避免规则堆积、自动生成，提倡多级配置和跨工具兼容性。通过精简明确的指引，帮助AI助手更高效地理解项目需求，同时节省token资源。]]></description><category></category></item><item><title><![CDATA[鄙人的 Vue 3.0 商业级开源甘特图已经发布到 npm]]></title><link>https://blog.csdn.net/lee576/article/details/156018901</link><guid>https://blog.csdn.net/lee576/article/details/156018901</guid><author>lee576</author><pubDate>Wed, 17 Dec 2025 15:38:18 +0800</pubDate><description><![CDATA[Vue3 Gantt 是一款功能强大的甘特图组件，专为 Vue3 设计，支持高度定制化和多语言功能。主要特性包括： 支持多视图模式（月/日/周/时） 任务依赖关系可视化（四种连线类型） 自定义主题系统（内置5种主题） 国际化支持（8种语言） 交互式操作（拖拽调整任务时间和进度） 高性能虚拟滚动 该组件提供 npm 安装和源码构建两种方式，配置灵活，包含样式配置、数据映射和事件处理等功能。适用于项目管理、任务排期等场景，可通过 API 实现任务增删改查和进度更新。]]></description><category></category></item><item><title><![CDATA[从零开始在uni-cloud上配置Google的FCM推送服务]]></title><link>https://blog.csdn.net/lee576/article/details/151187606</link><guid>https://blog.csdn.net/lee576/article/details/151187606</guid><author>lee576</author><pubDate>Thu, 04 Sep 2025 16:16:33 +0800</pubDate><description><![CDATA[简要介绍主题的背景和重要性
说明文章的目标和结构

核心概念解析

定义关键术语和基础理论
相关技术的现状和发展趋势

技术实现方法

主流实现方案及其优缺点
关键步骤或算法的详细说明

应用场景分析

典型行业或领域的使用案例
实际应用中的挑战与解决方案

性能优化与最佳实践

提升效率的技巧或工具
避免常见问题的建议

未来展望

技术可能的发展方向
潜在的研究或应用突破点

总结

回顾核心观点
鼓励读者进一步探索或实践

可以根据具体主题调整或细化各部分内容。]]></description><category></category></item><item><title><![CDATA[UniApp + SignalR + Asp.net Core 做一个聊天IM，含emoji 表情包]]></title><link>https://blog.csdn.net/lee576/article/details/151071150</link><guid>https://blog.csdn.net/lee576/article/details/151071150</guid><author>lee576</author><pubDate>Mon, 01 Sep 2025 15:15:51 +0800</pubDate><description><![CDATA[【摘要】本文实现了一个基于UniApp和SignalR的即时通讯系统，模仿Boss直聘的聊天功能。前端采用Ubest框架构建UniApp应用，包含消息收发、表情选择、常用语管理等界面组件；后端使用ASP.NET Core SignalR实现实时通信，处理消息收发、联系人交换、黑名单管理等核心业务逻辑。系统通过防骚扰机制和黑名单检查确保通信安全，支持离线消息推送，并采用缓存优化在线状态管理。技术方案实现了跨平台移动端应用与高效实时通信的结合。]]></description><category></category></item><item><title><![CDATA[EFCore 烦人的导航查询]]></title><link>https://blog.csdn.net/lee576/article/details/149436799</link><guid>https://blog.csdn.net/lee576/article/details/149436799</guid><author>lee576</author><pubDate>Fri, 18 Jul 2025 08:49:56 +0800</pubDate><description><![CDATA[摘要：开发者在EF Core查询中使用Include和ThenInclude时遭遇&quot;MySqlConnector.MySqlException: Unknown column 'u1.UserEntityId'&quot;错误，尽管实体模型中不存在该字段。通过改用Select投影查询替代Include的写法，显式构建包含筛选条件的嵌套对象，成功解决了这个EF Core与MySQL适配的诡异问题，避免了无谓的排查时间消耗。（98字）]]></description><category></category></item><item><title><![CDATA[MySql 用存储过程删除所有用户表]]></title><link>https://blog.csdn.net/lee576/article/details/148682549</link><guid>https://blog.csdn.net/lee576/article/details/148682549</guid><author>lee576</author><pubDate>Mon, 16 Jun 2025 09:10:28 +0800</pubDate><description><![CDATA[所以，一个一劳永逸的办法，临时创建一个存储过程，绕过这个坑，调用完这个存储过程，再把它删掉。结果，由于表太多，超过了拼接长度，会得到类似下面的报错。用拼接语句总是会出问题。]]></description><category></category></item><item><title><![CDATA[vben-admin 2.8.0 版本修改 axios响应处理逻辑]]></title><link>https://blog.csdn.net/lee576/article/details/148272638</link><guid>https://blog.csdn.net/lee576/article/details/148272638</guid><author>lee576</author><pubDate>Wed, 28 May 2025 09:17:46 +0800</pubDate><description><![CDATA[此前端框架下的 Axios 在后端返回的结果老是无法正常解析，找到他源码的封装类，修正这个问题。文件位于 src\utils\http\axios\index.ts。重点是这几行的解析有问题, Res 无法直接解构到 data。]]></description><category></category></item><item><title><![CDATA[Git 克隆别人的远程仓库以后，推到自己的远程仓库]]></title><link>https://blog.csdn.net/lee576/article/details/148256177</link><guid>https://blog.csdn.net/lee576/article/details/148256177</guid><author>lee576</author><pubDate>Tue, 27 May 2025 14:05:48 +0800</pubDate><description><![CDATA[克隆到本地以后，执行命令查看现有远程仓库名称（通常为。]]></description><category></category></item><item><title><![CDATA[自己写一个Vue 3的菜单组件，满足客户的奇怪要求]]></title><link>https://blog.csdn.net/lee576/article/details/147817587</link><guid>https://blog.csdn.net/lee576/article/details/147817587</guid><author>lee576</author><pubDate>Fri, 09 May 2025 11:58:37 +0800</pubDate><description><![CDATA[如上图，客户突然说想搞一个菜单像 windows 那样放左下角，我也不知道这样做有什么意义？反正人家出了钱，那就干呗，也不知道这个菜单叫什么名字好，就叫 FloatMenu （浮动菜单）好了，之所以要自己写这个组件，也是怕客户后期有什么奇怪的要求，这样改起来容易，用 element ui  这些组件，那就被动了，也不容易修改。上面的点击事件菜单项的数据结构做了一个转换，别的没什么，那个左下角按钮就不写出来了，无甚难度。重点就是里面有个递归调用，嗯，自己调自己，一直嵌套下去，满足树形结构。]]></description><category></category></item><item><title><![CDATA[老是忘记package.json，备忘一下 webpack 环境下 Vue Cli 和 Vite 命令行工具对比]]></title><link>https://blog.csdn.net/lee576/article/details/146566858</link><guid>https://blog.csdn.net/lee576/article/details/146566858</guid><author>lee576</author><pubDate>Thu, 27 Mar 2025 17:45:54 +0800</pubDate><description><![CDATA[env.development 或 .env.production。env.development 或 .env.production。Vue 2.X webpack 环境下  Vue Cli 的命令。Vue 3.X 下 Vite 命令行。Vue Cli 访问环境变量方式。Vite 访问环境变量方式。]]></description><category></category></item><item><title><![CDATA[用Promise实现ajax的自动重试]]></title><link>https://blog.csdn.net/lee576/article/details/146391908</link><guid>https://blog.csdn.net/lee576/article/details/146391908</guid><author>lee576</author><pubDate>Thu, 20 Mar 2025 11:19:37 +0800</pubDate><description><![CDATA[修改下原本的登出逻辑，遇到ERR_NETWORK错误，也就是网络问题，每隔1秒重试一次。有时候遇到网络错误，希望可以多试几次，可以利用Promise递归调用实现。以若依系统的登出举例。]]></description><category></category></item><item><title><![CDATA[用 Vue 3.5 TypeScript 重新开发3年前甘特图的核心组件]]></title><link>https://blog.csdn.net/lee576/article/details/146265396</link><guid>https://blog.csdn.net/lee576/article/details/146265396</guid><author>lee576</author><pubDate>Fri, 14 Mar 2025 19:29:40 +0800</pubDate><description><![CDATA[下面录屏是是 用 Vue 3.5 TypeScript  开发的目前进展，不再使用 Vue 2 里用过的 snapsvg-cjs 库，主要是对TypeScript支持的不太好，使用 SVG.js 库代替 snapsvg-cjs 库。然后拖拽和改变大小依旧用的interactjs 库，小有名气的 DHTMLX 甘特图就是用的 interactjs 库，别问我是怎么知道的，我看过源码引用链接。强化学习了Vue 3.5，比如认识了defineModel这些比较香的新功能。核心甘特图的子组件 Bar.vue。]]></description><category></category></item><item><title><![CDATA[用 Vue 3.5 TypeScript 做了一个日期选择器(改进版)]]></title><link>https://blog.csdn.net/lee576/article/details/146162404</link><guid>https://blog.csdn.net/lee576/article/details/146162404</guid><author>lee576</author><pubDate>Mon, 10 Mar 2025 19:54:54 +0800</pubDate><description><![CDATA[已经实现了一个日期选择器，只不过是模态窗的形式，这个版本改为文本框弹出，点击空白处可关闭日历。]]></description><category></category></item><item><title><![CDATA[Vue2-3 优雅的在子组件修改父组件传递过来的v-model]]></title><link>https://blog.csdn.net/lee576/article/details/146027553</link><guid>https://blog.csdn.net/lee576/article/details/146027553</guid><author>lee576</author><pubDate>Tue, 04 Mar 2025 22:09:57 +0800</pubDate><description><![CDATA[子组件：});</script>结论： 可以看到在 vue 3.4 以后，代码量大幅减少，所以能升级就升级吧！]]></description><category></category></item><item><title><![CDATA[用 Vue 3.5 TypeScript 做了一个日期选择器]]></title><link>https://blog.csdn.net/lee576/article/details/146021895</link><guid>https://blog.csdn.net/lee576/article/details/146021895</guid><author>lee576</author><pubDate>Tue, 04 Mar 2025 17:36:18 +0800</pubDate><description><![CDATA[以前用vue 2 做了一个日期选择器，现在用vue 3.5 typescript 重新写过。]]></description><category></category></item><item><title><![CDATA[用 Vue 3.5 TypeScript 做了一个拖拽条]]></title><link>https://blog.csdn.net/lee576/article/details/145989234</link><guid>https://blog.csdn.net/lee576/article/details/145989234</guid><author>lee576</author><pubDate>Mon, 03 Mar 2025 15:14:35 +0800</pubDate><description><![CDATA[年初又失业了，熬到43岁真的不容易，去年好不容易找到一个澳洲远程工作，好景不长，客户没项目，再加上又是外包的性质......算了，这段时间只有在家啃老了，不知要躺平多久了。在家闲来无事，也摸摸技术吧，日子好过点，把之前写的vue 2 的一个组件用 TypeScript 在 vue 3 上重新写过。下面是一个坑，不修改会导致拖拽条不显示，真的无语，到底啥原因？效果如下，分为水平拖拽分隔，垂直拖拽分隔。]]></description><category></category></item><item><title><![CDATA[T-Sql 打印所有用户表的建表脚本]]></title><link>https://blog.csdn.net/lee576/article/details/145668372</link><guid>https://blog.csdn.net/lee576/article/details/145668372</guid><author>lee576</author><pubDate>Sun, 16 Feb 2025 18:54:24 +0800</pubDate><description><![CDATA[差不多就行，可以会有特殊情况的错漏，再说吧......]]></description><category></category></item><item><title><![CDATA[npm run dev 时直接打开Chrome浏览器]]></title><link>https://blog.csdn.net/lee576/article/details/145285655</link><guid>https://blog.csdn.net/lee576/article/details/145285655</guid><author>lee576</author><pubDate>Tue, 21 Jan 2025 16:15:44 +0800</pubDate><description><![CDATA["dev": "vite" 修改为 "dev": "vite --open chrome.exe"这样方便一点，省得每次去点调试窗口的链接。package.json 修改下配置。]]></description><category></category></item><item><title><![CDATA[Vue 3.5 编写 ref 时，自动插入.Value]]></title><link>https://blog.csdn.net/lee576/article/details/144696685</link><guid>https://blog.csdn.net/lee576/article/details/144696685</guid><author>lee576</author><pubDate>Tue, 24 Dec 2024 16:06:14 +0800</pubDate><description><![CDATA[如果是 Vue 3.2 ，那么可能用的是Volar。]]></description><category></category></item><item><title><![CDATA[NLog 的 ${aspnet-user-identity} 写入是空白？终极解决方案]]></title><link>https://blog.csdn.net/lee576/article/details/143617057</link><guid>https://blog.csdn.net/lee576/article/details/143617057</guid><author>lee576</author><pubDate>Fri, 08 Nov 2024 10:59:20 +0800</pubDate><description><![CDATA[一个典型的文本文件和数据库的双写模式，但是很不幸的是 ${aspnet-user-identity} 是空的，比如我之前使用 Azure 的默认登录，${aspnet-user-identity} 是有值的，但是我改成了两个登录方案以后，${aspnet-user-identity} 就成空的了。由于使用了不同的认证方式，可能会导致 NLog 的 ${aspnet-user-identity} 拿不到值，从而写入的是空白，谁知道他里面是怎么解析的呢？之前使用 NLog 的配置可能如下。]]></description><category></category></item></channel></rss>