diff --git a/app/models.py b/app/models.py index cd33ae7..ae655f1 100644 --- a/app/models.py +++ b/app/models.py @@ -197,6 +197,7 @@ class Goal(db.Model): id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(100), nullable=False) content = db.Column(db.Text) + level = db.Column(db.String(20), default="入门") # 启蒙/入门/进阶/熟练/精通 created_at = db.Column(db.DateTime, default=datetime.now) updated_at = db.Column(db.DateTime, default=datetime.now, onupdate=datetime.now) @@ -205,6 +206,7 @@ class Goal(db.Model): "id": self.id, "name": self.name, "content": self.content, + "level": self.level, "created_at": self.created_at.isoformat() if self.created_at else None, "updated_at": self.updated_at.isoformat() if self.updated_at else None, } diff --git a/app/routes/goals.py b/app/routes/goals.py index 14afb6d..ffd93ca 100644 --- a/app/routes/goals.py +++ b/app/routes/goals.py @@ -22,7 +22,11 @@ def get_goals(): @login_required_json def create_goal(): data = request.get_json() - goal = Goal(name=data["name"], content=data.get("content", "")) + goal = Goal( + name=data["name"], + content=data.get("content", ""), + level=data.get("level", "入门") + ) db.session.add(goal) db.session.commit() return jsonify(goal.to_dict()), 201 @@ -42,6 +46,8 @@ def update_goal(goal_id): goal.name = data["name"] if "content" in data: goal.content = data["content"] + if "level" in data: + goal.level = data["level"] db.session.commit() return jsonify(goal.to_dict()) diff --git a/app/templates/goals.html b/app/templates/goals.html index f29bde1..4edc79f 100644 --- a/app/templates/goals.html +++ b/app/templates/goals.html @@ -36,6 +36,16 @@ +
${escapeHtml(g.content || '').substring(0, 100)}...
+${escapeHtml(g.content || '').substring(0, 80)}${g.content && g.content.length > 80 ? '...' : ''}