tree: 9d1e0bfa01f2e43fe5d19a4760d46c48940b2500 [path history] [tgz]
  1. api_ljc.js
  2. posts_api.js
  3. posts_trm.js
  4. posts_wzy.js
  5. README.md
  6. search_jwlll.js
Merge/front/src/api/README.md

API 服务修改说明

修改概述

根据要求,仅首页的推荐和搜索功能使用 back_jwlll 服务,其他功能使用已有的其他后端服务。

服务分工

JWLLL 服务 (端口 5000)

仅用于首页推荐和搜索功能

  • 搜索内容 (/search)
  • 获取用户标签 (/user_tags)
  • 标签推荐 (/recommend_tags)
  • 协同过滤推荐 (/user_based_recommend)

WZY 服务 (端口 5714)

用于帖子相关功能

  • 帖子详情查看 (/posts/{id})
  • 帖子创建/更新/删除 (/posts)
  • 点赞功能 (/posts/{id}/like)
  • 评论功能 (/posts/{id}/comments)

LJC 服务 (端口 5715)

用于用户相关功能

  • 用户信息管理 (/api/user/{id})
  • 关注功能 (/api/follow/{id})
  • 收藏功能 (/api/user/{id}/favorites)

TRM 服务 (端口 5713)

用于审核相关功能

  • 帖子审核 (/areview)
  • 管理员功能 (/apostlist)

修改的文件

1. /src/api/search_jwlll.js

  • 修改内容: 重构API调用,推荐搜索功能继续使用JWLLL服务,其他功能重定向到相应服务
  • 主要变更:
    • 搜索和推荐API仍使用 http://127.0.0.1:5000
    • 帖子详情、点赞、评论、上传功能改用 WZY 服务 http://10.126.59.25:5714
    • 添加数据格式适配逻辑

2. /src/api/posts_api.js (新增)

  • 作用: 提供统一的帖子相关API接口
  • 功能: 整合不同后端服务的帖子和用户功能

数据格式适配

评论数据适配

  • WZY服务返回: {id, user_id, content, created_at, replies}
  • 前端期望: {id, user_name, content, create_time}
  • 适配方案: 在 getComments 方法中进行字段映射

帖子上传适配

  • 前端数据: {title, content, tags, category, type, media_files}
  • WZY服务期望: {title, content, type, media_urls, status}
  • 适配方案: 在 uploadPost 方法中进行数据转换

影响的组件

自动适配的组件

  • HomeFeed.jsx - 推荐和搜索功能,继续使用JWLLL服务
  • PostDetailJWLLL.jsx - 帖子详情、点赞、评论功能,自动切换到WZY服务
  • UploadPageJWLLL.jsx - 帖子上传功能,自动切换到WZY服务

使用新API的组件

如需要,其他组件可以导入 posts_api.js 来使用统一的帖子和用户API。

注意事项

  1. 标签功能限制: WZY服务暂不完全支持标签功能,上传帖子时标签信息会被忽略
  2. 用户名显示: 评论中的用户名使用 用户{user_id} 格式生成
  3. 服务兼容性: 确保所有后端服务都正常运行且端口配置正确
  4. 错误处理: 各服务的错误响应格式可能不同,前端已添加通用错误处理

测试建议

测试文件

提供了 test_api.js 文件来验证API服务分工是否正确:

import { runAllTests } from './test_api.js'

// 运行所有测试
runAllTests()

手动测试步骤

  1. 首页搜索测试

    • 在首页搜索框输入关键词
    • 验证搜索结果来自 JWLLL 服务
    • 测试推荐功能是否正常
  2. 帖子详情测试

    • 点击帖子进入详情页
    • 验证帖子数据来自 WZY 服务
    • 测试点赞、评论功能
  3. 帖子上传测试

    • 使用上传页面发布新帖子
    • 验证上传请求发送到 WZY 服务
    • 确认数据格式转换正确

服务状态检查

确保以下服务正常运行:

  • JWLLL 服务: curl http://127.0.0.1:5000/word2vec_status
  • WZY 服务: curl http://10.126.59.25:5714/posts
  • LJC 服务: curl http://10.126.59.25:5715/api/current-user
  • TRM 服务: curl http://10.126.59.25:5713/health (如果有)