小程序需要对用户上传的照片做审核,
使用珊瑚安全api
- 从相册选择图片
- 上传到云存储
- getTempFileURL
- 调用云函数 shanhu (云函数运行时间约为 2 s)
- 返回数据是否通过审核
// 云函数 shanhu 代码
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
- 图片大小有限制
- 33%会返回 res.result.errCode == -604102很无奈,只好再次调用
图片识别功能搞定。