checkpoint: 架构治理四件套——统一 async / 测试真 PG / Redis 降级可选 / DPB 扶正

- A1 业务层统一 async:gencode 表内省改 run_sync 异步(不再阻塞事件循环)、
  check_db 改 async_engine、dict_util 启动预热异步载入;psycopg 降为
  APScheduler SQLAlchemyJobStore 专用同步孤岛(注释标注)
- A2 测试真 PG 化:conftest 弃 SQLite + mock Redis,改连真实 PG16(dpb_test)+
  Redis(number_gen advisory lock 路径真被测);新增 docker/test-compose.yaml
  测试依赖栈(postgres:16:5433 + redis:7:6380);run_ci 前置探测 + 容器兜底,
  pytest -m pg 10 套正式 tc 全过(真实 PG16 + Redis)
- B1 Redis 启动不强依赖:redis_connect 失败降级启动,缓存类回源 DB、存储类
  (会话/AI 配置/调度)经 require_redis 守卫返回 503;真机 3 阶段降级测试
  PASS=11 FAIL=0(独立 Redis 6390 + 后端 8091,不动共享 dev 服务)
- C 扶正 DPB:后端横幅/日志(dpb.log)/README/pyproject/ai_factory agent 名、
  前端 package.json/署名注释/链接文案/deploy.sh/docker 注释全部去 fastapiadmin;
  grep backend/app + frontend/web/src 零残留
- 验证:全量回归 pass=72 fail=0
This commit is contained in:
34047007@qq.com
2026-08-07 09:06:19 +08:00
parent e937fc930c
commit 86126ea16f
64 changed files with 546 additions and 359 deletions
+1 -1
View File
@@ -11,7 +11,7 @@
* - menuStyles: 菜单风格预览图(设计/暗色/亮色)
*
* @module config/assets/images
* @author FastapiAdmin Team
* @author DPB 团队
*/
import lightTheme from "@imgs/settings/theme_styles/light.png";
+1 -1
View File
@@ -26,7 +26,7 @@
* - headerBar: 顶部栏功能配置
*
* @module config
* @author FastapiAdmin Team
* @author DPB 团队
*/
import { configImages } from "./assets/images";
+1 -1
View File
@@ -12,7 +12,7 @@
* - 配置查询 - 提供工具函数快速查询组件配置
*
* @module config/component
* @author FastapiAdmin Team
* @author DPB 团队
*/
import { defineAsyncComponent } from "vue";
+2 -2
View File
@@ -43,7 +43,7 @@
* - 每个用户每个自然日「自动礼花」流程只会完整播放一次(由 setting store 按自然日记录)。
*
* @module config/modules/festival
* @author FastapiAdmin Team
* @author DPB 团队
*/
import type { FestivalConfig } from "@/types/config";
@@ -62,7 +62,7 @@ export const festivalConfigList: FestivalConfig[] = [
// image: yd,
// count: 3,
// scrollText:
// "🎉 五月快乐!FastAPI Admin 祝您工作顺利、迭代顺利。本月请关注备份与安全策略,遇到问题可先查看文档或联系运维。",
// "🎉 五月快乐!DPB 桃育种系统祝您工作顺利、迭代顺利。本月请关注备份与安全策略,遇到问题可先查看文档或联系运维。",
// },
/** 单日示例(圣诞节):需取消注释并确保已 import 雪花图 */
+1 -1
View File
@@ -5,7 +5,7 @@
* 通过修改此配置文件可以快速启用或禁用顶部栏的功能按钮。
*
* @module config/headerBar
* @author FastapiAdmin Team
* @author DPB 团队
*/
import type { HeaderBarFeatureConfig } from "@/types/config";
@@ -38,7 +38,7 @@
* - 智能监听:只在有新代码块时才触发处理
*
* @module directives/highlight
* @author FastapiAdmin Team
* @author DPB 团队
*/
import { App, Directive } from "vue";
@@ -34,7 +34,7 @@
* - 自定义:通过 color 参数指定任意颜色
*
* @module directives/ripple
* @author FastapiAdmin Team
* @author DPB 团队
*/
import type { App, Directive, DirectiveBinding } from "vue";
+1 -1
View File
@@ -11,7 +11,7 @@
* - 菜单宽度枚举(收起宽度)
*
* @module enums/appEnum
* @author FastapiAdmin Team
* @author DPB 团队
*/
/**
+1 -1
View File
@@ -7,7 +7,7 @@
* - 表格尺寸枚举(默认、紧凑、宽松)
*
* @module enums/formEnum
* @author FastapiAdmin Team
* @author DPB 团队
*/
// 页面类型
+1 -1
View File
@@ -13,7 +13,7 @@
* 4. 响应式状态 - 提供响应式的模式判断,方便在组件中使用
*
* @module useAppMode
* @author FastapiAdmin Team
* @author DPB 团队
*/
import { computed } from "vue";
+1 -1
View File
@@ -42,7 +42,7 @@
* ```
*
* @module useCeremony
* @author FastapiAdmin Team
* @author DPB 团队
*/
import { useTimeoutFn, useIntervalFn, useDateFormat } from "@vueuse/core";
+1 -1
View File
@@ -46,7 +46,7 @@
* ```
*
* @module useChart
* @author FastapiAdmin Team
* @author DPB 团队
*/
import { echarts, type EChartsOption } from "@/plugins/echarts";
+1 -1
View File
@@ -12,7 +12,7 @@
* 4. 宽度控制 - 提供最小显示宽度配置,支持响应式布局
*
* @module useFastEnter
* @author FastapiAdmin Team
* @author DPB 团队
*/
import { computed } from "vue";
+1 -1
View File
@@ -12,7 +12,7 @@
* 4. 响应式状态 - 所有状态自动响应配置和 store 变化
*
* @module useHeaderBar
* @author FastapiAdmin Team
* @author DPB 团队
*/
import { computed } from "vue";
@@ -13,7 +13,7 @@
* 5. 自动查找模式 - 提供通过 ID 自动查找元素的便捷方式
*
* @module useLayoutHeight
* @author FastapiAdmin Team
* @author DPB 团队
*/
import { ref, computed, watch, onMounted } from "vue";
@@ -12,7 +12,7 @@
* 4. 智能适配 - 无额外元素时自动使用 100% 高度
*
* @module useTableHeight
* @author FastapiAdmin Team
* @author DPB 团队
*/
import { computed, type Ref } from "vue";
+1 -1
View File
@@ -28,7 +28,7 @@
* ```
*
* @module useTheme
* @author FastapiAdmin Team
* @author DPB 团队
*/
import { SystemThemeEnum } from "@/enums/appEnum";
+1 -1
View File
@@ -18,7 +18,7 @@
* - en: English
*
* @module locales
* @author FastapiAdmin Team
* @author DPB 团队
*/
import { LanguageEnum } from "@/enums/appEnum";
+1 -1
View File
@@ -5,7 +5,7 @@
* 只注册项目中实际使用的图表类型和组件。
*
* @module plugins/echarts
* @author FastapiAdmin Team
* @author DPB 团队
*/
// ECharts 按需导入配置
+1 -1
View File
@@ -21,7 +21,7 @@
* - 新手引导展示
*
* @module store/modules/app.store
* @author FastapiAdmin Team
* @author DPB 团队
*/
import { defineStore } from "pinia";
import { ref, computed, watch } from "vue";
@@ -25,7 +25,7 @@
* - 支持强制刷新配置
*
* @module store/modules/config.store
* @author FastapiAdmin Team
* @author DPB 团队
*/
import { store } from "@stores";
import ParamsAPI, { ConfigTable } from "@/api/module_system/params";
+1 -1
View File
@@ -31,7 +31,7 @@
* - 减少重复请求
*
* @module store/modules/dict.store
* @author FastapiAdmin Team
* @author DPB 团队
*/
import { store } from "@stores";
import DictAPI, { DictDataTable } from "@/api/module_system/dict";
+1 -1
View File
@@ -26,7 +26,7 @@
* 4. 登出时调用移除函数清理路由
*
* @module store/modules/menu.store
* @author FastapiAdmin Team
* @author DPB 团队
*/
import { defineStore } from "pinia";
import { ref, computed } from "vue";
@@ -25,7 +25,7 @@
* - 刷新页面后保留已读状态
*
* @module store/modules/notice.store
* @author FastapiAdmin Team
* @author DPB 团队
*/
import { store } from "@stores";
import NoticeAPI, { NoticeTable } from "@/api/module_system/notice";
@@ -35,7 +35,7 @@
* - 刷新页面保持标签状态
*
* @module store/modules/worktab.store
* @author FastapiAdmin Team
* @author DPB 团队
*/
import { defineStore } from "pinia";
import { ref, computed } from "vue";
+1 -1
View File
@@ -3,7 +3,7 @@
* 提供全局类型定义的统一导出入口
*
* @module types/index
* @author FastapiAdmin Team
* @author DPB 团队
*/
/** AI 相关类型定义 */
@@ -3,15 +3,15 @@
/** 移动端断点(小于此值视为 H5/移动端) */
export const MOBILE_BREAKPOINT = 768;
const DPB_REPO = "http://123.207.9.209:3000/gonsun/dpb";
export const WEB_LINKS = {
GITHUB_HOME: "https://github.com/fastapiadmin",
GITHUB: "https://github.com/fastapiadmin/FastapiAdmin",
GITEE: "https://gitee.com/fastapiadmin/FastapiAdmin",
GITHUB_HOME: DPB_REPO,
GITHUB: DPB_REPO,
GITEE: DPB_REPO,
BLOG: "https://blog.csdn.net/weixin_46768253?type=blog",
DOCS: "https://service.fastapiadmin.com/guide/overview.html",
LiteVersion: "https://gitee.com/fastapiadmin/FastCloud",
OldVersion: "https://github.com/fastapiadmin/FastapiAdmin/tree/v2.0.0",
COMMUNITY: "https://service.fastapiadmin.com",
DOCS: DPB_REPO,
COMMUNITY: DPB_REPO,
BILIBILI: "https://space.bilibili.com/425500936?spm_id_from=333.1007.0.0",
INTRODUCE: "https://service.fastapiadmin.com",
INTRODUCE: DPB_REPO,
};
+1 -1
View File
@@ -7,7 +7,7 @@
* - 在线用户计数 WebSocket
* - 其他业务 WebSocket
*
* @author fastapiadmin
* @author DPB 团队
*/
import { Auth } from "@utils/auth";
+1 -1
View File
@@ -10,7 +10,7 @@ import { Auth, StorageConfig } from "@utils";
import { BANNER } from "../../../build/banner";
// -----------------------------
// Console bannerANSI 转义码生成网站 https://patorjk.com/software/taag/#p=testall&f=Fire+Font-k&t=fastapiadmin%0A&x=none&v=4&h=4&w=80&we=false
// Console bannerANSI 转义码生成网站 https://patorjk.com/software/taag/#p=testall&f=Fire+Font-k&t=dpb&x=none&v=4&h=4&w=80&we=false
// -----------------------------
export function printConsoleBanner(): void {
@@ -159,7 +159,7 @@
<FaCardBanner
:image="bannerIcon4"
title="版本更新提醒"
description="FastapiAdmin v3.0.0 已发布,包含优化和新功能。"
description="DPB 桃育种系统 v3.0.0 已发布,包含优化和新功能。"
:button="{
show: true,
text: '立即更新',
@@ -6,7 +6,7 @@
</div>
<h1 class="screen-title">
<span class="deco-line" />
FastapiAdmin · 智能运营数据监平台
DPB 桃育种系统 · 育种数据监平台
<span class="deco-line" />
</h1>
<div class="header-right">
@@ -92,7 +92,7 @@
<div class="manual-html" @click.capture="handleAnchorClick">
<div class="manual-html__inner">
<h1>
FastapiAdmin 功能点清单
DPB 桃育种系统 功能点清单
<small>用于全功能测试验收按模块逐页列出所有可操作元素</small>
</h1>
@@ -802,7 +802,7 @@
class="manual-footer-note mt-10 border-t border-g-200 pt-6 text-center text-xs text-g-500 dark:border-g-700 dark:text-g-400"
>
<p>
FastapiAdmin 功能点清单完整性
DPB 桃育种系统 功能点清单完整性
与当前代码中已实现界面项对齐用于逐项核对是否漏测不评价体验优劣
</p>
</div>
@@ -36,7 +36,7 @@ interface Emits {
const emit = defineEmits<Emits>();
const promptCards = [
{ title: "系统介绍", body: "请介绍一下FastApiAdmin系统", prompt: "请介绍一下FastApiAdmin系统" },
{ title: "系统介绍", body: "请介绍一下DPB桃育种系统", prompt: "请介绍一下DPB桃育种系统" },
{ title: "开发指导", body: "如何在系统中创建新的模块?", prompt: "如何在系统中创建新的模块?" },
{
title: "权限管理",
@@ -488,10 +488,9 @@ let notificationInstance: ReturnType<typeof msg.notify> | null = null;
const showVoteNotification = () => {
notificationInstance = msg.notify({
title: "⭐ FastapiAdmin 完全开源 · 期待您的 Star 支持 🙏",
message: `项目持续迭代中,若对您有所帮助,欢迎点亮 Star 支持
<br/><a href="https://github.com/fastapiadmin/FastapiAdmin" target="_blank" style="color: var(--el-color-primary); text-decoration: none; font-weight: 500;">Github仓库 →</a>
<br/><a href="https://gitee.com/fastapiadmin/FastapiAdmin" target="_blank" style="color: var(--el-color-warning); text-decoration: none; font-weight: 500;">Gitee仓库 →</a>`,
title: "⭐ DPB 桃育种系统 · 功能持续迭代中 🙏",
message: `项目持续迭代中,若有问题或建议欢迎反馈
<br/><a href="http://123.207.9.209:3000/gonsun/dpb" target="_blank" style="color: var(--el-color-primary); text-decoration: none; font-weight: 500;">项目仓库 →</a>`,
type: "success",
position:
panelAlign.value === "right" || panelAlign.value === "center"