- 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
91 lines
4.2 KiB
TypeScript
91 lines
4.2 KiB
TypeScript
/**
|
||
* 节日庆祝配置
|
||
*
|
||
* 配置系统的节日烟花效果和祝福文本。
|
||
* 支持单日节日和跨日期节日,可自定义烟花播放次数与连发间隔。
|
||
* 同一天命中多条时,**日期区间更短**的一条优先生效(例如区间更短的节日条会盖住全年的「系统公告」)。
|
||
*
|
||
* ## 配置说明
|
||
*
|
||
* - name: 节日名称
|
||
* - date: 节日开始日期(格式:YYYY-MM-DD)
|
||
* - endDate: 节日结束日期(可选,用于跨日期节日)
|
||
* - image: 礼花/烟花图片(需预先 import;空字符串表示默认几何粒子)
|
||
* - scrollText: 滚动显示的祝福文本
|
||
* - count: 烟花播放次数(可选,默认为 3 次)
|
||
* - fireworkInterval: 两次发射间隔毫秒(可选,默认 1000;调小更密集,如雪花连续感)
|
||
* - skipFireworks: 为 true 时不放烟花,仅显示 scrollText(适合长期顶栏公告)
|
||
* - scrollText 可使用占位符 {{version}}、{{introduceUrl}}(构建时替换为版本号与演示链接)
|
||
*
|
||
* ## 礼花图与快捷键补充
|
||
*
|
||
* - `image` 为红包碎屑 hb、雪花 sd、礼花筒 yd 等时,须在下方 import,勿手写路径字符串。
|
||
* - 全局快捷键:**Ctrl + Shift + P**(Windows / Linux)或 **⌘ + Shift + P**(macOS)立即触发一发礼花;
|
||
* 若当天命中某条「带礼花」的节日配置则使用该配置的 `image`,否则为几何礼花。
|
||
* - 实现:`src/layouts/art-fireworks-effect/index.vue`(键盘)、`src/hooks/core/useCeremony.ts`(自动连发)。
|
||
*
|
||
* ## 自动公历节日
|
||
*
|
||
* `src/config/modules/festival.builtin.ts` 会按**当前年份**生成元旦、劳动节、国庆、圣诞等公历节日及礼花效果;
|
||
* 与下方 `festivalConfigList` **合并**后参与匹配:日期区间**更短**的优先;区间长度相同时 **本文件中的手动项优先于内置**。
|
||
* 春节、中秋等农历日期请在本文件用手动 `date` / `endDate` 配置覆盖。
|
||
*
|
||
* ## 非节日常驻与周末
|
||
*
|
||
* 常驻条目标记 `isResidentBanner: true`(全年区间 + `skipFireworks` 典型)。展示优先级为:
|
||
* **节日(内置+手动)→ 周末提示 → 常驻**:周六/周日若无其它节日命中,显示周末文案;工作日无节日则回落到常驻。
|
||
*
|
||
* ## 注意事项
|
||
*
|
||
* - 图片需要预先导入并在配置中引用;新增素材放在 `src/assets/images/ceremony/`,全局画布会预加载
|
||
* `festivalConfigList` 中所有非空 `image`。
|
||
* - 跨日期节日会在整个日期范围内生效。
|
||
* - 每个用户每个自然日「自动礼花」流程只会完整播放一次(由 setting store 按自然日记录)。
|
||
*
|
||
* @module config/modules/festival
|
||
* @author DPB 团队
|
||
*/
|
||
|
||
import type { FestivalConfig } from "@/types/config";
|
||
|
||
export const festivalConfigList: FestivalConfig[] = [
|
||
/**
|
||
* 以下为历史示例片段(默认注释),需要时可取消注释并酌情调整日期 / import:
|
||
*
|
||
* 五月短区间示例:含当前日期则会出现节日滚动条;烟花需当日首次进入且未在同日标记已播。
|
||
* 上线前请改成真实活动日期与文案。
|
||
*/
|
||
// {
|
||
// name: "五月温馨提示",
|
||
// date: "2026-05-04",
|
||
// endDate: "2026-05-05",
|
||
// image: yd,
|
||
// count: 3,
|
||
// scrollText:
|
||
// "🎉 五月快乐!DPB 桃育种系统祝您工作顺利、迭代顺利。本月请关注备份与安全策略,遇到问题可先查看文档或联系运维。",
|
||
// },
|
||
|
||
/** 单日示例(圣诞节):需取消注释并确保已 import 雪花图 */
|
||
// {
|
||
// name: "圣诞节",
|
||
// date: "2026-12-25",
|
||
// image: sd,
|
||
// count: 3,
|
||
// scrollText:
|
||
// "Merry Christmas!祝您圣诞快乐,愿节日的欢乐与祝福如雪花般纷至沓来!",
|
||
// },
|
||
|
||
/** 版本公告类跨日期示例(仅文案参考,可按需改写 scrollText) */
|
||
// {
|
||
// name: "v3.0 测试阶段",
|
||
// date: "2026-11-03",
|
||
// endDate: "2026-11-09",
|
||
// image: "",
|
||
// count: 3,
|
||
// scrollText:
|
||
// "🚀 系统 v3.0 测试阶段正式开启!测试周期内请关注文档更新与反馈渠道,正式发布敬请期待~",
|
||
// },
|
||
];
|
||
|
||
export { buildBuiltinSolarFestivals } from "./festival.builtin";
|