Skip to content

feat(sns):增加朋友圈相关api#557

Open
jinkangHe wants to merge 7 commits intohicccc77:devfrom
jinkangHe:dev
Open

feat(sns):增加朋友圈相关api#557
jinkangHe wants to merge 7 commits intohicccc77:devfrom
jinkangHe:dev

Conversation

@jinkangHe
Copy link
Copy Markdown

变更背景

当前 HTTP API 只覆盖聊天消息能力,朋友圈能力仅在 Electron IPC 内可用,外部集成时不方便直接调用。
另外,朋友圈媒体地址在 timeline 返回后通常还需要额外处理,前端接入成本较高。

本次目标

  1. 将朋友圈核心能力映射为 HTTP API。
  2. 让 timeline 接口默认返回“可直接访问”的媒体地址。
  3. 提高 sns/usernames 在不同数据库环境下的可用性。

主要改动

1) 新增朋友圈 HTTP API 路由

electron/services/httpService.ts 新增以下接口:

  • GET /api/v1/sns/timeline
  • GET /api/v1/sns/usernames
  • GET /api/v1/sns/export/stats
  • GET /api/v1/sns/media/proxy
  • POST /api/v1/sns/export
  • GET /api/v1/sns/block-delete/status
  • POST /api/v1/sns/block-delete/install
  • POST /api/v1/sns/block-delete/uninstall
  • DELETE /api/v1/sns/post/{postId}

并补充:

  • POST JSON body 解析(1MB 上限)
  • 405 Method Not Allowed 统一处理
  • CORS Allow-Methods 扩展为 GET, POST, DELETE, OPTIONS

2) timeline 媒体返回增强(默认可直接用)

GET /api/v1/sns/timeline 新增媒体解析能力:

  • 默认 media=1&replace=1
  • 默认将 media[].url/thumb 替换为可访问的代理解密地址
  • 保留原始地址:
    • media[].rawUrl
    • media[].rawThumb
  • 新增字段:
    • media[].resolvedUrl/resolvedThumbUrl
    • media[].proxyUrl/proxyThumbUrl
  • 支持 inline=1,尽量返回 data: URL(小批量场景)

可通过参数控制:

  • media=0 关闭媒体解析
  • replace=0 保留原 url/thumb 不替换

3) sns/usernames 可用性修复

electron/services/snsService.ts 中,getSnsUsernames() 增加 timeline 分页回退逻辑:
SnsTimeLine 直接 SQL 查询为空时,自动通过 wcdbService.getSnsTimeline 收集用户名,避免返回空数组的误判。

4) 文档更新

更新 docs/HTTP-API.md,补充朋友圈 HTTP API 说明及 timeline 媒体参数说明。

影响范围

  • electron/services/httpService.ts
  • electron/services/snsService.ts
  • docs/HTTP-API.md

兼容性说明

/api/v1/sns/timeline 的默认行为有变化:
默认会返回可访问媒体地址并覆盖 media.url/thumb
如需旧行为,可使用 media=0replace=0

验证情况

已通过:

  • npm run typecheck

建议回归(Windows 环境):

  • GET /api/v1/sns/timeline(默认、replace=0inline=1
  • GET /api/v1/sns/usernames
  • GET /api/v1/sns/media/proxy
  • POST /api/v1/sns/export
  • 防删安装/卸载/状态接口

@jinkangHe jinkangHe changed the title Dev feat(sns):增加朋友圈相关api Mar 27, 2026
hicccc77 and others added 4 commits March 27, 2026 20:53
- 修改 httpApiHost 默认值从 127.0.0.1 到 0.0.0.0
- 允许 HTTP API 服务接受外网访问
- 用户需要配置 httpApiToken 以确保安全

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants