收藏
回答

调用文字检测api就报错了一大堆,这个我怎么解决啊?



回答关注问题邀请回答
收藏

3 个回答

  • Mr.G
    Mr.G
    2020-06-13

    直接用小程序云开发,调用云函数,很简单的,不懂的话,我给你复制代码,我之前做过




    wx.cloud.callFunction({
          // 要调用的云函数名称
          name: 'openapi',
          // 传递给云函数的参数
          data: {
            action: 'checkTextMsg',
            data: textMsg
          },
          success: res => {
            // output: res.result === 3
            console.log('成功', res)
            if (res.result.errCode === 87014) {
              wx.hideLoading()
              wx.showModal({
                title: '温馨提示',
                content: '您输入的文本有敏感词,请您检查后输入',
              })
            } else {
              nextThing();
            }
          },
          fail: err => {
            // handle error
            console.log('失败', res)
            wx.hideLoading()
          },
          complete: () => {
            // ...
          }
        })
    
    


    上面的是调用方法,下面的是openapi文件夹下的index.js文件内容,直接复制粘贴就可以用了


    // 云函数入口文件
    const cloud = require('wx-server-sdk')
    
    cloud.init()
    
    // 云函数入口函数
    exports.main = async (event, context) => {
      console.log(event)
      switch (event.action) {
        case 'sendTemplateMessage': {
          return sendTemplateMessage(event)
        }
        case 'getWXACode': {
          return getWXACode(event)
        }
        case 'getOpenData': {
          return getOpenData(event)
        }
        case 'checkTextMsg':{
          return checkTextMsg(event)
        }
        case 'checkChatImg':{
          return checkChatImg(event)
        }
        default: {
          return
        }
      }
    }
    
    async function getWXACode(event) {
    
      // 此处将获取永久有效的小程序码,并将其保存在云文件存储中,最后返回云文件 ID 给前端使用
    
      const wxacodeResult = await cloud.openapi.wxacode.get({
        path: 'pages/openapi/openapi',
      })
    
      const fileExtensionMatches = wxacodeResult.contentType.match(/\/([^\/]+)/)
      const fileExtension = (fileExtensionMatches && fileExtensionMatches[1]) || 'jpg'
    
      const uploadResult = await cloud.uploadFile({
        // 云文件路径,此处为演示采用一个固定名称
        cloudPath: `wxacode_default_openapi_page.${fileExtension}`,
        // 要上传的文件内容可直接传入图片 Buffer
        fileContent: wxacodeResult.buffer,
      })
    
      if (!uploadResult.fileID) {
        throw new Error(`upload failed with empty fileID and storage server status code ${uploadResult.statusCode}`)
      }
    
      return uploadResult.fileID
    }
    
    async function getOpenData(event) {
      return cloud.getOpenData({
        list: event.openData.list,
      })
    }
    
    
    
    
    async function checkChatImg(event) {
      // let imgTypeArr = event.data.split('.');
      // let imgType = imgTypeArr[imgTypeArr.length-1];
      try {
        const result = await cloud.openapi.security.imgSecCheck({
          media: {
            header: {
            'Content-Type': 'application/octet-stream'},
             contentType: 'image/'+event.imgType , 
            value: Buffer.from(event.data)} 
        })
        return result;
      }
      catch (err) {
        return err
      }
    }
    
    
    async function checkTextMsg(event) {
     
      try {
        const result = await cloud.openapi.security.msgSecCheck({
          content:event.data
        })
        return result;
        }
        catch(err){
          return err
        }
    }
    
    
    2020-06-13
    有用 1
    回复 4
    • 木星人
      木星人
      2020-06-13
      你发一下我看看吧
      2020-06-13
      回复
    • Mr.G
      Mr.G
      2020-06-14回复木星人
      2020-06-14
      回复
    • Mr.G
      Mr.G
      2020-06-14回复木星人
      2020-06-14
      回复
    • Mr.G
      Mr.G
      2020-06-14
      这个框框代码粘过来就发不全,我发图片算了
      2020-06-14
      回复
  • 木星人
    木星人
    2020-06-13
    11
    
    2020-06-13
    有用
    回复
  • 121
    121
    2020-06-13

    文字检测检测到敏感信息是会抛出错误的,你用try catch语句来处理就好了,还有你这个报错看着怎么像get语法出现问题

    2020-06-13
    有用
    回复 17
    • 木星人
      木星人
      2020-06-13
      w我要怎么解决才好呢?请您可以帮个忙吗?
      2020-06-13
      回复
    • 木星人
      木星人
      2020-06-13
      w我也不清楚为啥GET的错误,找了两天找不到
      2020-06-13
      回复
    • 121
      121
      2020-06-13回复木星人
      那你得放代码出来看看呀,我不能凭空给你看吧
      2020-06-13
      回复
    • 木星人
      木星人
      2020-06-13
      好的
      2020-06-13
      回复
    • 木星人
      木星人
      2020-06-13回复121
      发过去了
      2020-06-13
      回复
    查看更多(12)
登录 后发表内容
问题标签