"""网站配置模型""" from datetime import datetime from app import db class SiteConfig(db.Model): """网站配置表""" __tablename__ = 'site_configs' id = db.Column(db.Integer, primary_key=True) # 基本信息 site_name = db.Column(db.String(100), default='技术博客') site_subtitle = db.Column(db.String(200), default='分享技术,记录成长') site_logo = db.Column(db.String(500)) # Logo图片URL # SEO设置 site_keywords = db.Column(db.String(500)) site_description = db.Column(db.Text) # 底部信息 footer_text = db.Column(db.String(200), default='© 2024 技术博客') footer_copyright = db.Column(db.String(200)) footer_technology = db.Column(db.String(200), default='Powered by Flask') # 底部宣传图片 promo_image_1 = db.Column(db.String(500)) # 宣传图片1 URL promo_image_1_title = db.Column(db.String(100)) # 图片1标题/说明 promo_image_1_link = db.Column(db.String(500)) # 图片1点击链接 promo_image_2 = db.Column(db.String(500)) # 宣传图片2 URL promo_image_2_title = db.Column(db.String(100)) # 图片2标题/说明 promo_image_2_link = db.Column(db.String(500)) # 图片2点击链接 promo_image_3 = db.Column(db.String(500)) # 宣传图片3 URL(如二维码) promo_image_3_title = db.Column(db.String(100)) # 图片3标题/说明 # 联系方式 contact_email = db.Column(db.String(100)) contact_github = db.Column(db.String(100)) # 其他设置 articles_per_page = db.Column(db.Integer, default=10) enable_comments = db.Column(db.Boolean, default=False) # 时间戳 created_at = db.Column(db.DateTime, default=datetime.utcnow) updated_at = db.Column(db.DateTime, default=datetime.utcnow, onupdate=datetime.utcnow) def __repr__(self): return f'' @staticmethod def get_config(): """获取网站配置(单例)""" config = SiteConfig.query.first() if not config: config = SiteConfig() db.session.add(config) db.session.commit() return config