更新(2022-04-06):腾讯这个产品已经下架,以下内容仅作为历史技术记录。

小程序需要对用户上传的照片做审核,可以使用珊瑚图片内容安全 API:点击访问

在这里插入图片描述

在这里插入图片描述

审核流程

  1. 从相册选择图片。
  2. 上传到云存储。
  3. 调用 getTempFileURL 获取临时文件地址。
  4. 调用云函数 shanhu(云函数运行时间约为 2 秒)。
  5. 根据返回数据判断图片是否通过审核。

云函数代码

const cloud = require('wx-server-sdk')

cloud.init()

exports.main = async (event, context) => {
  const wxContext = cloud.getWXContext()
  console.log('---' + event.img + '---')

  try {
    const result = await cloud
      .openapi({ convertCase: false })
      .serviceMarket.invokeService({
        service: 'xxxxxxxxxxxxx',
        api: 'imgSecCheck',
        client_msg_id: 'client_msg_id_1',
        data: {
          Action: 'ImageModeration',
          Scenes: ['PORN', 'POLITICS', 'TERRORISM'],
          ImageUrl: event.img,
          ImageBase64: '',
          Config: '',
          Extra: '',
        },
      })

    // return JSON.parse(result.data).Response.Suggestion
    return result
  } catch (err) {
    return err
  }
}

需要注意:

  • API 对图片大小有限制。
  • 约 30% 的请求会返回 res.result.errCode === -604102,遇到时只能再次调用。

记录审核结果

可以添加一个 imgCheck 集合,统计哪些图片通过了 AI 审核、哪些未通过:

_id: 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
_openid: 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
img: 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
isPass: true

喜欢或对你有帮助,请点个赞吧。

有错误或者疑问还请评论指出。

我的个人网站 → 点击访问


END