收藏
评论

小程序端使用服务市场的imgSecCheck校验图片

使用官方提供的imgSecCheck接口,敏感图片有时会返回OK,为了避免翻车,所以改用了服务市场的imgSecCheck,体验效果棒棒哒

点下面链接去服务市场购买imgSecCheck(免费10000次):

https://developers.weixin.qq.com/community/servicemarket/detail/000a246b6fca70b76a896e6a25ec15

购买后进入我的购买

记录下appid 等下会用到

准备就绪后就可以实现代码了,整体逻辑为:

1.使用wx.chooseImage上传图片

2.获取到图片临时路径,使用wx.getFileSystemManager().readFile 将图片转换为base64

3.请求服务市场接口,返回验证结果

4.实现自己的逻辑


chooseImg() {
    var that = this;
    wx.chooseImage({ 
      count: 1, 
      sizeType: ['compressed'], 
      sourceType: ['album'], 
      success: (res) => { 
        let tempFilePath = res.tempFilePaths[0] 
        wx.getFileSystemManager().readFile({
          filePath: tempFilePath, 
          encoding:'base64',
          success: res => { 
            wx.serviceMarket.invokeService({
              service: '服务市场appid',
              api: 'imgSecCheck',
              data: {
                "Action": "ImageModeration",
                "Scenes": ["PORN", "POLITICS"],
                "ImageUrl": "",
                "ImageBase64": res.data,
                "Config": "",
                "Extra": ""
              },
            }).then(res => {
              if(res.data.Response.PornResult.Suggestion=='BLOCK'||
                  res.data.Response.PoliticsResult.Suggestion=='BLOCK'){
                wx.showToast({
                  title: '图片不合法,请重新上传',
                  icon:'none'
                })
              }else{
                that.setData({
                  avatarUrl: tempFilePath
                })
              }
            }).fail(err =>{
              console.log(err)
            })
          }
        })
      }
    })
  },

Scenes 接收四个值:

1. PORN,色情识别

2. TERRORISM,暴恐识别

3. POLITICS,政治敏感识别

4. TEXT, 图像文本识别

返回参数中 PASS表示正常 BLOCK表示未通过检测

接口使用次数是按照Scenes个数计算的,如果你选了4个,一次就会扣除4次

扫码体验

最后一次编辑于  2020-06-02
赞 1
收藏
登录 后发表内容