- 主题切换:菜单改为 fixed 定位并弹出在父菜单右侧;FIXED_THEMES 扩为 9 主题并统一校验; 子菜单点击无响应修复(合并 IIFE 作用域使 applyTheme 对点击处理器可见);删除死代码。 - 卡片图标:新增 GET /site/icon/<domain>?letter=X 接口,首次请求由服务端拉取 favicon 并缓存到 data/icon/(运行时自动建目录,已加 .gitignore),之后直接读本地不再重复拉取; 拉取失败或内网/不可达网址自动生成「站点名称首字母」SVG 头像兜底,杜绝空白图标。 - 模型 Nav.to_dict 新增 domain/scheme/letter/color 计算字段,供卡片与图标接口复用。
172 lines
2.3 KiB
Plaintext
172 lines
2.3 KiB
Plaintext
# Byte-compiled / optimized / DLL files
|
|
__pycache__/
|
|
*.py[cod]
|
|
*$py.class
|
|
|
|
# C extensions
|
|
*.so
|
|
|
|
# Distribution / packaging
|
|
.Python
|
|
build/
|
|
develop-eggs/
|
|
dist/
|
|
downloads/
|
|
eggs/
|
|
.eggs/
|
|
lib/
|
|
lib64/
|
|
parts/
|
|
sdist/
|
|
var/
|
|
wheels/
|
|
share/python-wheels/
|
|
*.egg-info/
|
|
.installed.cfg
|
|
*.egg
|
|
MANIFEST
|
|
|
|
# PyInstaller
|
|
# Usually these files are written by a python script from a template
|
|
# before PyInstaller builds the exe, so as to inject date/other infos into it.
|
|
*.manifest
|
|
*.spec
|
|
|
|
# Installer logs
|
|
pip-log.txt
|
|
pip-delete-this-directory.txt
|
|
|
|
# Unit test / coverage reports
|
|
htmlcov/
|
|
.tox/
|
|
.nox/
|
|
.coverage
|
|
.coverage.*
|
|
.cache
|
|
nosetests.xml
|
|
coverage.xml
|
|
*.cover
|
|
.hypothesis/
|
|
.pytest_cache/
|
|
|
|
# Translations
|
|
*.mo
|
|
*.pot
|
|
|
|
# Django stuff:
|
|
*.log
|
|
local_settings.py
|
|
db.sqlite3
|
|
|
|
# Flask stuff:
|
|
instance/
|
|
.webassets-cache
|
|
|
|
# Scrapy stuff:
|
|
.scrapy
|
|
|
|
# Sphinx documentation
|
|
docs/_build/
|
|
|
|
# PyBuilder
|
|
target/
|
|
|
|
# Jupyter Notebook
|
|
.ipynb_checkpoints
|
|
|
|
# IPython
|
|
profile_default/
|
|
ipython_config.py
|
|
|
|
# pyenv
|
|
.python-version
|
|
|
|
# celery beat schedule file
|
|
celerybeat-schedule
|
|
|
|
# SageMath parsed files
|
|
*.sage.py
|
|
|
|
# Environments
|
|
.env
|
|
.venv
|
|
env/
|
|
venv/
|
|
ENV/
|
|
env.bak/
|
|
venv.bak/
|
|
|
|
# Spyder project settings
|
|
.spyderproject
|
|
.spyproject
|
|
|
|
# Rope project settings
|
|
.ropeproject
|
|
|
|
# mkdocs documentation
|
|
/site
|
|
|
|
# mypy
|
|
.mypy_cache/
|
|
.dmypy.json
|
|
dmypy.json
|
|
|
|
# Pyre type checker
|
|
.pyre/
|
|
|
|
# idea
|
|
.idea/
|
|
|
|
# 迁移文件 — 必须入库,让别人的环境也能跑 flask db upgrade
|
|
!migrations/
|
|
|
|
# sqlite
|
|
*.db
|
|
|
|
# 数据目录(SQLite 库 + 备份 + session;不入库,部署时靠挂载恢复)
|
|
data/
|
|
data/*/
|
|
|
|
# 文件上传
|
|
static/upload/
|
|
|
|
# flask session
|
|
flask_session/
|
|
|
|
# WorkBuddy 运行时目录(不应纳入版本管理)
|
|
.workbuddy/
|
|
|
|
# ---- Pear Admin Flask 额外忽略 ----
|
|
# 私有环境变量模板:保留 .env.example 入库;本地 .env 不入
|
|
.env
|
|
.env.*
|
|
!.env.example
|
|
|
|
# 系统监控日志(如果产生)
|
|
*.pid
|
|
*.sock
|
|
|
|
# 运行日志
|
|
logs/
|
|
*.log
|
|
|
|
# pycharm / vscode
|
|
.vscode/
|
|
|
|
# 临时下载/构建产物
|
|
tmp/
|
|
build/
|
|
|
|
# 一次性数据备份 / 临时调试产物
|
|
pear.db.*.bak
|
|
nav_extracted.js
|
|
dedup_nav.py
|
|
|
|
# 测试截图与探针截图(不入库,回归测试现场本地保留即可)
|
|
scripts/_verify_*.png
|
|
scripts/screenshots/
|
|
output/
|
|
|
|
# 前台卡片图标本地缓存(首次拉取后自动生成,无需入库)
|
|
data/icon/
|