hejianhao
2026-03-25 cd5ad0a8dbf058fd2e83aac955072f7d920b330c
fix: 处理空 content 时签名生成错误

当 content 为空或空对象时,避免计算其 MD5 值,防止生成错误的签名。
1个文件已修改
5 ■■■■■ 已修改文件
src/utils/tools.ts 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/utils/tools.ts
@@ -122,7 +122,10 @@
  }
  parm = parm.slice(0, -1);
  parm.trim();
  const content_MD5 = MD5.hex(JSON.stringify(objectSort(content, { keyUpperCase: false }))); // content 也要排序,避免中间平台的干扰,例如 小红书 iOS 端发送的请求顺序就和我们传入的不一致
  let content_MD5 = ''
  if (content && String(content) !== '{}') {
    content_MD5 = MD5.hex(JSON.stringify(objectSort(content, { keyUpperCase: false }))); // content 也要排序,避免中间平台的干扰,例如 小红书 iOS 端发送的请求顺序就和我们传入的不一致
  }
  const ass = `${method}&${parm}&${content_MD5}`;
  const afterUtf8 = utf8Encode(ass);
  // const third = crypto.createHmac('sha256', secret).update(afterUtf8).digest('hex');