feat: add forum seed categories, improve page layouts and navigation
- Seed default forum categories (announcements, learning, feedback) on startup - Update forum pages with improved category/post/reply UI - Refine navbar, mobile nav, and home page content layout - Improve analytics, course-content, knowledge, profile, settings, spatial pages Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -56,6 +56,36 @@ def startup_knowledge_base():
|
||||
except Exception as e:
|
||||
print(f"启动知识库文件监控服务失败: {str(e)}")
|
||||
|
||||
|
||||
def seed_forum_categories():
|
||||
"""初始化论坛默认分类"""
|
||||
from src.core.database import get_db
|
||||
from src.models.forum import ForumCategory
|
||||
|
||||
DEFAULT_CATEGORIES = [
|
||||
{"slug": "announcements", "name": "课程公告", "description": "课程通知、作业安排与重要信息"},
|
||||
{"slug": "course-learning", "name": "学习讨论", "description": "交流学习心得,讨论课程内容与难点"},
|
||||
{"slug": "system-feedback", "name": "使用反馈", "description": "分享系统使用经验,提出改进建议"},
|
||||
]
|
||||
|
||||
db = next(get_db())
|
||||
try:
|
||||
existing_count = db.query(ForumCategory).count()
|
||||
if existing_count > 0:
|
||||
print(f"论坛分类已存在({existing_count} 个),跳过初始化")
|
||||
return
|
||||
|
||||
for cat_data in DEFAULT_CATEGORIES:
|
||||
category = ForumCategory(**cat_data)
|
||||
db.add(category)
|
||||
db.commit()
|
||||
print(f"已创建 {len(DEFAULT_CATEGORIES)} 个论坛分类")
|
||||
except Exception as e:
|
||||
db.rollback()
|
||||
print(f"初始化论坛分类失败: {e}")
|
||||
finally:
|
||||
db.close()
|
||||
|
||||
# 应用启动事件
|
||||
@app.on_event("startup")
|
||||
async def startup_event():
|
||||
@@ -97,6 +127,12 @@ async def startup_event():
|
||||
startup_knowledge_base()
|
||||
except Exception as e:
|
||||
print(f"启动知识库服务失败: {e}", file=sys.stderr)
|
||||
|
||||
# 初始化论坛分类
|
||||
try:
|
||||
seed_forum_categories()
|
||||
except Exception as e:
|
||||
print(f"初始化论坛分类失败: {e}", file=sys.stderr)
|
||||
sys.stderr.flush()
|
||||
|
||||
print("应用启动事件完成", file=sys.stderr)
|
||||
|
||||
Reference in New Issue
Block a user