Files

56 lines
1.8 KiB
Python
Raw Permalink Normal View History

"""把系统 Logo 的 URL 写入 sys_param 表的 logo_url 参数。
用法(backend 目录下,conda dpb 环境,ENVIRONMENT=dev):
python scripts/set_logo_param.py
说明:
- public/logo.svg 经 Vite publicDir 在 dev 以 /logo.svg 提供,生产构建也复制到 dist 根以 /logo.svg 提供。
- 系统(FaLogo/侧边栏/顶栏/登录页)读 configStore.configData.logo_url.config_value 作为 <img src>,故只需把该值设为 URL。
"""
import os
import sys
BACKEND_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
if BACKEND_DIR not in sys.path:
sys.path.insert(0, BACKEND_DIR)
from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker
from app.api.v1.module_system.params.model import ParamsModel
from app.config.setting import settings
LOGO_URL = "/web/logo.svg"
def main() -> None:
engine = create_engine(settings.DB_URI, future=True)
Session = sessionmaker(bind=engine, expire_on_commit=False)
with Session() as db:
existing = (
db.query(ParamsModel).filter(ParamsModel.config_key == "logo_url").first()
)
if existing:
existing.config_value = LOGO_URL
existing.config_name = "Logo"
existing.status = 0
existing.config_type = False
print(f"updated logo_url -> {existing.config_value}")
else:
db.add(
ParamsModel(
config_key="logo_url",
config_name="Logo",
config_value=LOGO_URL,
config_type=False,
status=0,
description="系统 Logo",
)
)
print(f"inserted logo_url -> {LOGO_URL}")
db.commit()
if __name__ == "__main__":
main()