微信小程序 云开发 图片内容安全 珊瑚图片内容安全 API
通过云存储、临时文件 URL 和云函数调用珊瑚图片内容安全 API,审核微信小程序用户上传的照片。
更新(2022-04-06):腾讯这个产品已经下架,以下内容仅作为历史技术记录。
小程序需要对用户上传的照片做审核,可以使用珊瑚图片内容安全 API:点击访问。


审核流程
- 从相册选择图片。
- 上传到云存储。
- 调用
getTempFileURL获取临时文件地址。 - 调用云函数
shanhu(云函数运行时间约为 2 秒)。 - 根据返回数据判断图片是否通过审核。
云函数代码
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