时光轴
记录点滴,见证成长
2026-01-23
代码查看重构
- 代码树数据改为持久化结构化存储,API 读取从 DB 获取目录与文件信息。
- 新增结构化同步逻辑:新增/删除/哈希变更更新内容;Hangfire 定时同步任务接入。
- 兼容处理:将
CodeNote.Note与CodeNote.AiAnalyzeResult回填到CodeFileSystemEntry。 - 兼容流程优化为增量处理,按新增记录精准回填,降低全量开销。
- 索引调整:
PathSegments由唯一索引改为普通索引;保留ParentPathSegments、Name、IsDirectory+ParentPathSegments索引。 - 同步更新判定修复:时间比较改为秒级等价判断,避免所有记录被误更新。
- 新增
LastUpdateTime字段,记录数据变更时间。
2025-11-30
认证中心 1.0.5.x 发布
本次发布集中在“应用访问申请 & 主动授权”功能的实现与权限管理相关的重构与优化,既新增了多项功能,也做了若干代码简化与界面调整,提升了可用性与可维护性。
主要新增功能
- 应用访问申请与审核
- 新增应用访问申请审核页面与相关控制器逻辑,支持管理员对应用访问申请进行审核处理。
- 定义并实现访问申请与授权相关的数据模型。
- 主动授权管理
- 实现主动授权管理功能,支持管理员对账号/客户端进行手动授权与撤销。
- 在授权管理页面新增通过下拉列表选择应用的交互方式。
- 申请流程控制
- 添加用户访问权限检查与申请流程控制,支持用户发起、撤回与重新提交申请。
界面与交互优化
- 权限管理界面扩展
- 在权限管理界面增加申请审核与主动授权的入口,优化了视图模型以支持应用列表传递。
- 筛选与搜索
- 为申请管理添加日期范围选择器、账号与应用客户端ID筛选功能,支持搜索与清空筛选条件。
- 支持异步数据加载与筛选参数,提高查询性能与体验。
- UX 与样式
- 移除内联样式,统一使用 CSS 变量管理主题色,新增信息提示样式类以支持深色模式切换。
- 表单元素重命名以提高语义化程度,优化页面模板中的状态显示逻辑以匹配更新后的状态枚举。
状态与操作增强
- 支持将已处理申请还原为“待处理”状态,操作按钮显示逻辑已根据新状态处理方式调整。
- 更新访问请求状态枚举值并添加注释说明,页面显示逻辑已同步更新。
Bug 修复与兼容性
- 修复授权检查逻辑中的 Cookie 名称问题。
- 移除过时的 AuthorizationModel,相关逻辑已重构替代。
- 优化控制器异步实现与查询条件拼接,修复若干潜在竞态与查询问题。
代码重构与清理
- 简化用户标识符获取逻辑:将 User.FindFirst(ClaimTypes.NameIdentifier)?.Value 替换为 User.NameIdentifier,统一用户 ID 获取方式,减少冗余空值检查。
- 移除控制器中未使用的 System.Security.Claims 引用,规范了方法参数换行与匿名对象初始化语法。
- 简化 pinCodeValidator 调用参数格式、统一 RedirectToAction 参数传递方式,移除冗余换行和括号,提高代码可读性与一致性。

2025-11-15
升级至.NET 10 ,并重构、修复、优化部分代码
新增
- 支持内置 OpenAPI(使用
Microsoft.AspNetCore.OpenApi),并替换原有 Swashbuckle 配置。 - 为 Dpz.Core.Web.Jobs 项目新增完整的 Dockerfile 支持。
- 为 Fusion 缓存组件增加日志级别配置,统一 FusionCache 的最小日志级别为 Warning。
- 为文章与碎碎念服务引入浏览量/评论数缓存与分布式锁机制,提升并发安全性。
更新
- 全面升级目标框架至 .NET 10(将多个项目的
TargetFramework从net8.0更新为net10.0),并更新相关 SDK/CI 配置(GitHub Actions)。 - 升级 Docker 基础镜像到 .NET 10 并优化 Dockerfile(删除 VS 容器调试注释、统一用户指令
$APP_UID等)。 - 升级并调整大量依赖包版本以兼容 .NET 10(包括但不限于 OpenIddict、Hangfire、ZiggyCreatures.FusionCache、MongoDB 驱动、QRCoder 等)。
- 删除不再使用的测试项目引用并统一测试相关依赖版本(Microsoft.NET.Test.Sdk 等)。
- 精简和重构若干项目文件,移除冗余配置节点并调整项目引用顺序。
- 统一并简化用户标识获取方式(由
User.FindFirst(ClaimTypes.NameIdentifier)?.Value改为User.NameIdentifier,并增加相应扩展)。
修复
- 修复若干 BOM 与格式问题(AccountController、ArticleController 等)。
- 修正正则表达式方法名拼写错误(
ClearIntroductionRRegex→ClearIntroductionRegex)。 - 修复表格列显示与 JS 渲染逻辑(
application.js:删除 displayName 自定义模板,调整 clientType/客户端类型列,新增isNullOrWhiteSpace等)。
重构
- 移除自定义 JWT 验证逻辑,简化认证流程(删除 TokenManagement、移除 AddJwtBearer,改用 OIDC/OpenIddict 最新 API)。
- 重构缓存逻辑与命名(统一缓存键前缀、提取缓存操作公共方法)。
- 在
CodeController中添加缓存清理逻辑:在保存源码说明后清除目录缓存、文件预览缓存与简单搜索缓存。 - 精简
AccountController、MemberController与授权相关代码,迁移 2FA 功能至认证中心并优化页面交互。
其他 (依赖 / 测试)
- OpenIddict 相关包统一升级到 7.2.0 系列。
- 多项第三方库升级(例:Hangfire 1.8.22、Hangfire.Mongo 1.12.2、ZiggyCreatures.FusionCache 2.4.0、StackExchange.Redis 升级、NUnit 升级到 4.4.0、NUnit3TestAdapter 5.2.0 等)。
- 更新测试断言语法至
Assert.That新语法并调整测试代码风格。 - 移除已弃用的
Microsoft.VisualStudio.Azure.Containers.Tools.Targets包引用。
移除 / 弃用
- 移除 Swashbuckle 相关引用(改用内置 OpenAPI)。
- 移除旧的 JWT 验证扩展与 TokenManagement 类(相关接口/注入已清理)。
- 删除已弃用/不再使用的测试项目引用与冗余包。
迁移 / 重大变更
- 项目 SDK 切换或至少在 CI 中使用 .NET 10 SDK(GitHub Actions 已更新)。
- OpenIddict 升级带来 API/配置变更:证书加载与某些配置项有调整(请检查认证相关配置与
KnownNetworks→KnownIPNetworks的改动)。 - JWT 相关自定义验证已移除,旧流程需迁移至 OIDC/OpenIddict 新方案。
- Dockerfile 基础镜像由 .NET 8 切换到 .NET 10,镜像构建/运行时要求变化,
- 2FA 功能已迁移至认证中心,原
MemberController中的绑定/解绑逻辑已删除。 - 依赖 Swashbuckle 自动生成的自定义扩展或 middleware,迁移到内置 OpenAPI 的等价实现。
2025-09-28
认证中心开发完成
认证中心开发完成,已经正式发布,我的各个应用已经在对接认证中心,后续将删除所有自有的认证方式统一由认证中心处理。
2025-07-20
UI改版大致完成,发布UAT环境
UI全面改版,发布UAT环境。
正在进行测试,还有一些bug正在修复。
2025-03-23
新版本发布
新增功能
环境与部署
- 新增预发布环境配置
- 添加 Docker 生产/预发布环境部署指南
- 支持 Hangfire 集群前缀配置(
WebApiHangfireCollectionPrefix)
视频功能增强
- 视频新增播放量、弹幕数、评论数统计
- 添加视频元数据接口与缩略图设置接口
- 视频列表展示扩展(封面、标签、副标题等)
AI 功能集成
- 集成 ChatGPT 作为聊天机器人
- 新增 AI 代码分析功能(支持 C# 文件分析)
- 文章广告权重智能分析(基于 GPT 模型)
基础服务
- 新增日期时间格式化中间件
- 添加 FTP 文件上传功能(支持 Fluent FTP 客户端)
- 实现邮箱配置 AES 加密存储
其他
- 新增"历史上的今天"碎碎念功能
- 支持 Markdown 消息渲染
- 添加 RSS 订阅支持
功能优化
架构重构
- 剥离后台 UI 和 Blazor 到独立仓库
- 重构机器人检测中间件(支持异步/忽略指定 UA)
- 优化缓存模块(键生成/日志/分布式锁)
性能提升
- 视频元数据接口添加 90 天缓存
- 代码笔记服务增加缓存支持
- MongoDB 扩展方法性能优化
安全增强
- 请求参数全量日志记录(QueryString/Body)
- 机器人访问控制逻辑重构(路径/频次检测)
- 敏感数据加密(邮箱密码 AES 加密)
代码质量
- 统一响应模型命名(
ResponseResult) - 重构权限验证逻辑(新增 Forbidden 视图)
- 表达式树优化属性访问性能
- 统一响应模型命名(
问题修复
核心功能
- 修复获取视频元数据异常
- 修复分布式锁路径配置问题
- 修正 Hangfire Docker 部署参数格式
数据统计
- 修复播放量/弹幕数/评论数统计逻辑
- 修复备份服务过滤条件异常
界面问题
- 修复低版本浏览器兼容性问题
- 修复代码分析结果展示样式异常
其他
- 修复安全密钥验证状态码错误
- 修正 IMAP 端口配置字段命名(ImapProt → ImapPort)
开发体验
调试支持
- 非生产环境添加访问日志模拟数据
- 请求上下文增强日志标签
构建更新
- 升级 ImageSharp 至 3.1.7
- 移除冗余依赖(System.Linq.Dynamic.Core)
- 统一项目版本号管理
文档改进
- 新增 CHANGELOG.md 更新日志跟踪
- 添加 AgileConfig/tabby 等新服务部署指南
- 完善代码注释和 XML 文档
已知问题
- 未启用 AI 分析时代码笔记页面可能加载延迟
- 部分旧数据迁移需要手动处理加密字段
- FTP 上传大文件时超时时间需根据网络调整
2024-11-05
全新发布
- 主站更新至 4.7.0 版本
- WebAPI更新至 2.8.0 版本
- 后端优化,重写了很多功能
- 备份优化,不再使用Entity 备份
- 使用 AgileConfig 配置中心
- more ...
2024-01-02
迁移数据库
阿里云的服务器即将到期,迁移数据库
这次有准备的情况下没有丢失数据
2023-12-11
全面更新到dotnet 8
工作一直很忙,所以更新越来越少了。
今天所有服务全部更新到了dotnet 8
同时优化了很多地方的代码,同时启用了Seq日志组件,配置中心。
更新到dotnet 8的同时,有一个WEBAPI服务节点还在使用dotnet 6,因为那台服务器是我刚开始使用linux的时候选择的Cent OS 7.9,我特么讨厌Cent OS,因为各种各样的原因,没有成功更新到dotnet 8运行时,真恶心。
加载中...