56 lines
1.8 KiB
Python
56 lines
1.8 KiB
Python
"""把系统 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()
|