收藏
回答

图片内容检查 mediaCheckAsync 是完全没用嘛?

const cloud = require('wx-server-sdk');
cloud.init({
  env: cloud.DYNAMIC_CURRENT_ENV
});


exports.main = async (event, context) => {
  const { image_urls, openid } = event;  // `image_urls` 是一个包含多个图片链接的数组


  if (!image_urls || !Array.isArray(image_urls) || image_urls.some(image_url => !image_url.trim())) {
    return { successfalsemessage"提交的内容不能为空" };
  }


  try {
    let overallResults = []; // 存储所有结果的数组


    for (const imageUrl of image_urls) {
      // 直接使用传入的图片链接调用 mediaCheckAsync API
      const result = await cloud.openapi.security.mediaCheckAsync({
        openid: openid,
        scene2// 场景值,例如 1 代表用户上传的内容
        media_type2// 媒体类型,例如 2 代表图片
        version2// API版本
        media_url: imageUrl, // 直接使用的图片 URL
      });


      console.log('API结果:', result.detail);


      // 存储结果用于返回
      if (result && result.errCode === 0) {
        overallResults.push({
          imageUrl: imageUrl,
          result: result.result,
          detail: result.detail || "没有提供详细信息"
        });
        // 检查建议是否为“pass”
        if (result.result && result.result.suggest !== "pass") {
          return {
            successfalse,
            message"检测到不安全内容,无法提交",
            results: overallResults
          };
        }
      } else {
        overallResults.push({
          imageUrl: imageUrl,
          error"API调用失败或返回错误",
          errCode: result.errCode,
          errMsg: result.errMsg
        });
      }
    }
    return {
      successtrue,
      message"所有内容都是安全的",
      results: overallResults
    };
  } catch (err) {
    return {
      successfalse,
      message`安全检查出错: ${err.message || err.toString()}`,
      errorDetail: err
    };
  }
};


为什么我提交的黄色图片链接(https)都是pass,而且也不返回detail 的详细检测信息

回答关注问题邀请回答
收藏

2 个回答

登录 后发表内容