时光轴

记录点滴,见证成长

2026-01-23

代码查看重构

  • 代码树数据改为持久化结构化存储,API 读取从 DB 获取目录与文件信息。
  • 新增结构化同步逻辑:新增/删除/哈希变更更新内容;Hangfire 定时同步任务接入。
  • 兼容处理:将 CodeNote.NoteCodeNote.AiAnalyzeResult 回填到 CodeFileSystemEntry
  • 兼容流程优化为增量处理,按新增记录精准回填,降低全量开销。
  • 索引调整:PathSegments 由唯一索引改为普通索引;保留 ParentPathSegmentsNameIsDirectory+ParentPathSegments 索引。
  • 同步更新判定修复:时间比较改为秒级等价判断,避免所有记录被误更新。
  • 新增 LastUpdateTime 字段,记录数据变更时间。
2025-12-23

v5.0.x 发布

全新UI和底层架构更新,更多请看 👇

阅读更多
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 参数传递方式,移除冗余换行和括号,提高代码可读性与一致性。

1000011821.jpg

2025-11-15

升级至.NET 10 ,并重构、修复、优化部分代码

新增

  • 支持内置 OpenAPI(使用 Microsoft.AspNetCore.OpenApi),并替换原有 Swashbuckle 配置。
  • 为 Dpz.Core.Web.Jobs 项目新增完整的 Dockerfile 支持。
  • 为 Fusion 缓存组件增加日志级别配置,统一 FusionCache 的最小日志级别为 Warning。
  • 为文章与碎碎念服务引入浏览量/评论数缓存与分布式锁机制,提升并发安全性。

更新

  • 全面升级目标框架至 .NET 10(将多个项目的 TargetFrameworknet8.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 等)。
  • 修正正则表达式方法名拼写错误(ClearIntroductionRRegexClearIntroductionRegex)。
  • 修复表格列显示与 JS 渲染逻辑(application.js:删除 displayName 自定义模板,调整 clientType/客户端类型列,新增 isNullOrWhiteSpace 等)。

重构

  • 移除自定义 JWT 验证逻辑,简化认证流程(删除 TokenManagement、移除 AddJwtBearer,改用 OIDC/OpenIddict 最新 API)。
  • 重构缓存逻辑与命名(统一缓存键前缀、提取缓存操作公共方法)。
  • CodeController 中添加缓存清理逻辑:在保存源码说明后清除目录缓存、文件预览缓存与简单搜索缓存。
  • 精简 AccountControllerMemberController 与授权相关代码,迁移 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/配置变更:证书加载与某些配置项有调整(请检查认证相关配置与 KnownNetworksKnownIPNetworks 的改动)。
  • 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

新版本发布

新增功能

  1. 环境与部署

    • 新增预发布环境配置
    • 添加 Docker 生产/预发布环境部署指南
    • 支持 Hangfire 集群前缀配置(WebApiHangfireCollectionPrefix
  2. 视频功能增强

    • 视频新增播放量、弹幕数、评论数统计
    • 添加视频元数据接口与缩略图设置接口
    • 视频列表展示扩展(封面、标签、副标题等)
  3. AI 功能集成

    • 集成 ChatGPT 作为聊天机器人
    • 新增 AI 代码分析功能(支持 C# 文件分析)
    • 文章广告权重智能分析(基于 GPT 模型)
  4. 基础服务

    • 新增日期时间格式化中间件
    • 添加 FTP 文件上传功能(支持 Fluent FTP 客户端)
    • 实现邮箱配置 AES 加密存储
  5. 其他

    • 新增"历史上的今天"碎碎念功能
    • 支持 Markdown 消息渲染
    • 添加 RSS 订阅支持

功能优化

  1. 架构重构

    • 剥离后台 UI 和 Blazor 到独立仓库
    • 重构机器人检测中间件(支持异步/忽略指定 UA)
    • 优化缓存模块(键生成/日志/分布式锁)
  2. 性能提升

    • 视频元数据接口添加 90 天缓存
    • 代码笔记服务增加缓存支持
    • MongoDB 扩展方法性能优化
  3. 安全增强

    • 请求参数全量日志记录(QueryString/Body)
    • 机器人访问控制逻辑重构(路径/频次检测)
    • 敏感数据加密(邮箱密码 AES 加密)
  4. 代码质量

    • 统一响应模型命名(ResponseResult
    • 重构权限验证逻辑(新增 Forbidden 视图)
    • 表达式树优化属性访问性能

问题修复

  1. 核心功能

    • 修复获取视频元数据异常
    • 修复分布式锁路径配置问题
    • 修正 Hangfire Docker 部署参数格式
  2. 数据统计

    • 修复播放量/弹幕数/评论数统计逻辑
    • 修复备份服务过滤条件异常
  3. 界面问题

    • 修复低版本浏览器兼容性问题
    • 修复代码分析结果展示样式异常
  4. 其他

    • 修复安全密钥验证状态码错误
    • 修正 IMAP 端口配置字段命名(ImapProt → ImapPort)

开发体验

  1. 调试支持

    • 非生产环境添加访问日志模拟数据
    • 请求上下文增强日志标签
  2. 构建更新

    • 升级 ImageSharp 至 3.1.7
    • 移除冗余依赖(System.Linq.Dynamic.Core)
    • 统一项目版本号管理
  3. 文档改进

    • 新增 CHANGELOG.md 更新日志跟踪
    • 添加 AgileConfig/tabby 等新服务部署指南
    • 完善代码注释和 XML 文档

已知问题

  • 未启用 AI 分析时代码笔记页面可能加载延迟
  • 部分旧数据迁移需要手动处理加密字段
  • FTP 上传大文件时超时时间需根据网络调整
2024-11-05

全新发布

  1. 主站更新至 4.7.0 版本
  2. WebAPI更新至 2.8.0 版本
  3. 后端优化,重写了很多功能
  4. 备份优化,不再使用Entity 备份
  5. 使用 AgileConfig 配置中心
  6. 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运行时,真恶心。

加载中...