功能特性: - 前端文章展示 (Markdown渲染、代码高亮) - 后台管理系统 (文章、分类、标签、作者管理) - 图片上传 (点击、拖拽、粘贴) - 网站设置 (Logo、底部宣传图片上传) - 访问统计 (IP记录、趋势图表) - 参考来源、附件支持 - 单端口部署 (16012) 技术栈: - Flask 3.0 + SQLAlchemy - SQLite数据库 - marked.js + highlight.js (Markdown渲染) - Chart.js (统计图表)
50 lines
1.7 KiB
Python
50 lines
1.7 KiB
Python
"""网站配置服务"""
|
|
from app import db
|
|
from app.models import SiteConfig
|
|
|
|
|
|
class SiteConfigService:
|
|
"""网站配置业务逻辑"""
|
|
|
|
@staticmethod
|
|
def get_config():
|
|
"""获取网站配置"""
|
|
return SiteConfig.get_config()
|
|
|
|
@staticmethod
|
|
def update(**kwargs):
|
|
"""更新网站配置"""
|
|
config = SiteConfig.get_config()
|
|
|
|
for key, value in kwargs.items():
|
|
if hasattr(config, key):
|
|
setattr(config, key, value)
|
|
|
|
db.session.commit()
|
|
return config
|
|
|
|
@staticmethod
|
|
def get_dict():
|
|
"""获取配置字典(用于模板全局变量)"""
|
|
config = SiteConfig.get_config()
|
|
return {
|
|
'site_name': config.site_name,
|
|
'site_subtitle': config.site_subtitle,
|
|
'site_logo': config.site_logo,
|
|
'site_keywords': config.site_keywords,
|
|
'site_description': config.site_description,
|
|
'footer_text': config.footer_text,
|
|
'footer_copyright': config.footer_copyright,
|
|
'footer_technology': config.footer_technology,
|
|
'promo_image_1': config.promo_image_1,
|
|
'promo_image_1_title': config.promo_image_1_title,
|
|
'promo_image_1_link': config.promo_image_1_link,
|
|
'promo_image_2': config.promo_image_2,
|
|
'promo_image_2_title': config.promo_image_2_title,
|
|
'promo_image_2_link': config.promo_image_2_link,
|
|
'promo_image_3': config.promo_image_3,
|
|
'promo_image_3_title': config.promo_image_3_title,
|
|
'contact_email': config.contact_email,
|
|
'contact_github': config.contact_github,
|
|
'articles_per_page': config.articles_per_page,
|
|
} |