- 旧平铺模块(data/data_utils/database_op/image_builder*/get_bf6_data/ gametools_bf6/bf6_data/img_utils)拆分为 handlers(绑定/查询)、 services(fetchers/processing/query)、utils(渲染/参数)分层; 新增 repository.py / config.py / paths.py - 字体/图片/模板资源迁入 res/,新增 BF2042 卡面素材(bg/object_icon 等) - browser_ext/:BF2042 扩展捕获桥(WS 直连兜底通道)源码入库 - 新增 hexi/web/src/plugins/bf_bot 前端管理页 - 新增 tests:test_bf_bot_helpers / repository / tracker_api Co-Authored-By: Claude Code <noreply@anthropic.com>
41 lines
1.6 KiB
Python
41 lines
1.6 KiB
Python
"""路径唯一来源:插件根目录 / 静态资源 / 运行数据。
|
|
|
|
- 静态资源在插件包内 `res/`(字体、模板、通知图、物品图标)。
|
|
- 运行数据统一放 `hexi/data/nonebot_plugin_bf_bot/`(绑定库、头像缓存、tracker cookie),
|
|
不再写进插件源码目录。
|
|
"""
|
|
|
|
from pathlib import Path
|
|
|
|
PLUGIN_ROOT = Path(__file__).resolve().parent
|
|
RES_DIR = PLUGIN_ROOT / "res"
|
|
|
|
# hexi/plugins/nonebot_plugin_bf_bot -> hexi
|
|
_HEXI_ROOT = PLUGIN_ROOT.parents[1]
|
|
DATA_DIR = _HEXI_ROOT / "data" / "nonebot_plugin_bf_bot"
|
|
|
|
DB_PATH = DATA_DIR / "user_data.db"
|
|
AVATAR_CACHE_DIR = DATA_DIR / "avatar_cache"
|
|
DEFAULT_COOKIES_PATH = DATA_DIR / "cookies" / "tracker.txt"
|
|
|
|
# BF2042 直连通道(无浏览器)的 TRN OIDC 令牌文件:刷新链的唯一状态,
|
|
# 由 services/fetchers/tracker_api.py 读写(access_token 过期前自动轮换续期)
|
|
TRN_TOKENS_PATH = DATA_DIR / "trn_tokens.json"
|
|
|
|
# BF2042 取数通道(tracker.gg):专用 Edge 配置目录 + 可执行文件
|
|
EDGE_PROFILE_DIR = DATA_DIR / "edge_profile"
|
|
EDGE_EXECUTABLE_DEFAULT = (
|
|
r"C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe"
|
|
)
|
|
|
|
# BF2042 卡片素材(旧 project 迁移,2026-10):背景库/物品图标/专家头像/兵种/logo
|
|
BF2042_RES = RES_DIR / "bf2042"
|
|
BF2042_BG_DIR = BF2042_RES / "bg"
|
|
BF2042_OBJECT_ICON_DIR = BF2042_RES / "object_icon"
|
|
BF2042_CLASSES_DIR = BF2042_RES / "classes"
|
|
BF2042_SPECIALIST_ICON_DIR = BF2042_RES / "specialist_icon"
|
|
BF2042_CLASS_ICON_DIR = BF2042_RES / "class_icon"
|
|
BF2042_PLATFORM_DIR = BF2042_RES / "platform"
|
|
BF2042_LOGO_DIR = BF2042_RES / "bf2042_logo"
|
|
BF2042_DEV_LOGO_DIR = BF2042_RES / "dev_logo"
|