Skip to content

公众号链接(Type 49 链接消息)在API导出时存在问题 #300

@GHSaiMo

Description

@GHSaiMo

问题描述

问题类型

公众号链接(Type 49 链接消息)在 API 导出时存在问题

问题背景

WeFlow 项目有两个导出功能:

  1. WeFlow GUI 导出按钮 - 工作正常 ✅
  2. HTTP API 导出 - 存在问题 ❌

具体对比(数据已脱敏)

1. WeFlow GUI 导出(正确):

{
  "sender": "wxid_xxx",
  "accountName": "***",
  "timestamp": 1771852980,
  "type": 7,
  "content": "[链接] 恒科大涨3%+!假期的利好有多大?"
}

2. API 导出(有问题):

  • type 变成了 99(未知类型),而不是正确的 7(LINK)
  • content 缺少 [链接] 标识

期望行为

  1. 链接消息在 API 导出时应该正确识别为链接消息类型(ChatLab 类型 7 LINK)
  2. 导出内容应保留 [链接] 标识(与 GUI 导出保持一致)
  3. 建议增加 url 字段,包含实际的链接地址

环境信息

  • WeFlow版本:最新
  • 微信消息类型:公众号链接(localType=49,XML 中 type=5)

问题分析:

  1. xmlType 可能没有正确提取公众号链接的 <type>5</type>
  2. 或者在 collectMessages 方法中 extractXmlValue(content, 'type') 没有正确提取

建议的修复方案

  1. 检查 XML 解析逻辑:确保公众号链接的 XML 中的 <type>5</type> 能被正确提取
    • 需要检查 extractXmlValue 方法是否能正确处理 CDATA 包裹的内容
  2. 添加 URL 字段导出:在导出消息的数据结构中增加 url 字段
  3. 确保类型映射正确:验证 localType=49xmlType=5 的情况被正确映射为链接类型
  4. 添加调试日志:在 mapType49 方法中添加日志,记录 xmlType 的实际值,便于定位问题

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions