个人页面修复完成

Change-Id: I031b4f1f6bf77f1c38b6ab91eb399cf3ad1875ad
diff --git a/Merge/back_ljc/app.py b/Merge/back_ljc/app.py
index 0e10b68..182a6e5 100644
--- a/Merge/back_ljc/app.py
+++ b/Merge/back_ljc/app.py
@@ -1,6 +1,7 @@
 from flask import Flask, jsonify, request, session
 from flask_sqlalchemy import SQLAlchemy
 from flask_cors import CORS
+from flask_jwt_extended import jwt_required, get_jwt_identity
 
 app = Flask(__name__)
 app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql+pymysql://root:123456@10.126.59.25/redbook'
@@ -351,9 +352,10 @@
     return jsonify(following_list)
 
 # 关注/取消关注用户
-@app.route('/api/follow/<int:followee_id>', methods=['POST', 'DELETE'])
-def follow_user(followee_id):
-    follower_id = session.get('user_id', 1)
+@app.route('/api/follow/<int:follower_id>/<int:followee_id>', methods=['POST', 'DELETE'])
+def follow_user(follower_id,followee_id):
+    # follower_id = session.get('user_id', 1)
+    print(follower_id)
     if follower_id == followee_id:
         return jsonify({'error': 'Cannot follow yourself'}), 400
     
@@ -468,6 +470,130 @@
         app.logger.error(f"获取用户互动数据失败: {str(e)}")
         return jsonify({'error': '获取互动数据失败'}), 500
 
+# 点赞/取消点赞路由 - 修改为包含用户ID
+@app.route('/api/users/<int:user_id>/posts/<int:post_id>/like', methods=['POST', 'DELETE'])
+def handle_like(user_id, post_id):
+    # 检查用户是否登录
+    if 'user_id' not in session:
+        return jsonify({'error': '未登录'}), 401
+    
+    # 验证请求用户ID与登录用户ID是否一致
+    if session['user_id'] != user_id:
+        return jsonify({'error': '无权限操作'}), 403
+    
+    post = Post.query.get(post_id)
+    
+    if not post:
+        return jsonify({'error': '帖子不存在'}), 404
+    
+    # 检查行为类型
+    behavior = Behavior.query.filter_by(
+        user_id=user_id,
+        post_id=post_id,
+        type='like'
+    ).first()
+    
+    if request.method == 'POST':
+        # 点赞
+        if not behavior:
+            new_behavior = Behavior(
+                user_id=user_id,
+                post_id=post_id,
+                type='like',
+                value=1
+            )
+            db.session.add(new_behavior)
+            db.session.commit()
+            return jsonify({'message': '点赞成功', 'liked': True})
+        return jsonify({'message': '已点赞', 'liked': True})
+    
+    elif request.method == 'DELETE':
+        # 取消点赞
+        if behavior:
+            db.session.delete(behavior)
+            db.session.commit()
+            return jsonify({'message': '已取消点赞', 'liked': False})
+        return jsonify({'message': '未点赞', 'liked': False})
+
+# 收藏/取消收藏路由 - 修改为包含用户ID
+@app.route('/api/users/<int:user_id>/posts/<int:post_id>/favorite', methods=['POST', 'DELETE'])
+def handle_favorite(user_id, post_id):
+    # 检查用户是否登录
+    if 'user_id' not in session:
+        return jsonify({'error': '未登录'}), 401
+    
+    # 验证请求用户ID与登录用户ID是否一致
+    if session['user_id'] != user_id:
+        return jsonify({'error': '无权限操作'}), 403
+    
+    post = Post.query.get(post_id)
+    
+    if not post:
+        return jsonify({'error': '帖子不存在'}), 404
+    
+    # 检查行为类型
+    behavior = Behavior.query.filter_by(
+        user_id=user_id,
+        post_id=post_id,
+        type='favorite'
+    ).first()
+    
+    if request.method == 'POST':
+        # 收藏
+        if not behavior:
+            new_behavior = Behavior(
+                user_id=user_id,
+                post_id=post_id,
+                type='favorite',
+                value=1
+            )
+            db.session.add(new_behavior)
+            db.session.commit()
+            return jsonify({'message': '收藏成功', 'favorited': True})
+        return jsonify({'message': '已收藏', 'favorited': True})
+    
+    elif request.method == 'DELETE':
+        # 取消收藏
+        if behavior:
+            db.session.delete(behavior)
+            db.session.commit()
+            return jsonify({'message': '已取消收藏', 'favorited': False})
+        return jsonify({'message': '未收藏', 'favorited': False})
+
+# 获取帖子互动状态(是否点赞/收藏) - 修改为包含用户ID
+@app.route('/api/users/<int:user_id>/posts/<int:post_id>/interaction-status')
+def get_post_interaction_status(user_id, post_id):
+    # 检查用户是否登录
+    if 'user_id' not in session:
+        return jsonify({
+            'liked': False,
+            'favorited': False
+        })
+    
+    # 验证请求用户ID与登录用户ID是否一致
+    if session['user_id'] != user_id:
+        return jsonify({
+            'liked': False,
+            'favorited': False
+        })
+    
+    liked = Behavior.query.filter_by(
+        user_id=user_id,
+        post_id=post_id,
+        type='like'
+    ).first() is not None
+    
+    favorited = Behavior.query.filter_by(
+        user_id=user_id,
+        post_id=post_id,
+        type='favorite'
+    ).first() is not None
+    
+    return jsonify({
+        'liked': liked,
+        'favorited': favorited
+    })
+
 
 if __name__ == '__main__':
     app.run(debug=True,port='5715',host='0.0.0.0')
\ No newline at end of file