检测违规图片、音频、文本

当小程序中有允许用户上传图片或输入文本的场景时,SDK 封装了微信小程序“内容安全”检测图片、文本的合法性的 API。

关于这两个接口的频次限制及效果说明,请参阅微信官方文档:内容安全-小程序

以下操作仅适用于 SDK version >= 1.7.0

使用此 API 前需要配置 AppSecret,请前往 设置 - 小程序 中配置 AppSecret。

如果您使用的是文件版 sdk,请在微信后台将您的 request 合法域名中知晓云域名(形如 xxx.myminapp.com)添加到 uploadFile 合法域名中,如下图所示:配置 uploadFile 域名

检测违规图片

wx.BaaS.wxCensorImage(filePath)

参数说明

参数名类型说明
filePathString文件路径

返回示例

  1. {
  2. risky: true
  3. }

示例代码

  1. wx.chooseImage({
  2. success: function(res) {
  3. wx.BaaS.wxCensorImage(res.tempFilePaths[0]).then(res => {
  4. console.log(res.data.risky)
  5. }, err => {
  6. // HError 对象
  7. })
  8. }})

HError 对象结构请参考错误码和 HError 对象

检测违规文本

wx.BaaS.wxCensorText(text)

参数说明

参数名类型说明
textString要检测的文本

返回示例

  1. {
  2. risky: true
  3. }

示例代码

  1. wx.BaaS.wxCensorText("测试文本").then(res => {
  2. console.log(res.data.risky)
  3. }, err => {
  4. // HError 对象
  5. })

HError 对象结构请参考错误码和 HError 对象

异步检测图片、音频

异步校验图片/音频是否含有违法违规内容。

检测请求

wx.BaaS.censorAsync(fileID)

参数说明

参数名类型说明
fileIDString文件 ID

返回参数说明

参数名类型说明
idString检测记录 id
error_codeString错误码,=0 时不返回此字段
error_messageString错误信息,error_code=0 时不返回此字段
status_codeNumber默认为:0,4294966288(-1008)为链接无法下载
riskyBoolean是否为违规内容,true 为风险,false 为未检测到风险,null 为微信尚未推送检查结果

返回示例

  1. {
  2. "error_message": "ok",
  3. "error_code": 0,
  4. "risky": null,
  5. "status_code": null,
  6. "id": 1
  7. }

状态码

状态码说明
201成功
400失败(参数错误)
402当前应用已欠费
404文件不存在
500服务错误

HError 对象结构请参考错误码和 HError 对象

示例代码

  1. wx.BaaS.censorAsync("...").then(res => {
  2. console.log(res.data.risky)
  3. }, err => {
  4. // HError 对象
  5. })

获取异步检测结果

wx.BaaS.getCensorResult(id)

参数说明

参数名类型说明
idString检测记录 id

返回参数说明

参数名类型说明
idString检测记录 id
error_codeString错误码,=0 时不返回此字段
error_messageString错误信息,error_code=0 时不返回此字段
status_codeNumber默认为:0,4294966288(-1008)为链接无法下载
riskyBoolean是否为违规内容,true 为风险,false 为未检测到风险,null 为微信尚未推送检查结果

返回示例

  1. {
  2. "error_message": "ok",
  3. "error_code": 0,
  4. "risky": null,
  5. "status_code": null,
  6. "id": 1
  7. }

状态码

状态码说明
200成功
404检测记录不存在

HError 对象结构请参考错误码和 HError 对象

示例代码

  1. wx.BaaS.getCensorResult("...").then(res => {
  2. console.log(res.data.risky)
  3. }, err => {
  4. // HError 对象
  5. })