微信小程序开发

微信小程序集成腾讯AI

2020-03-14  本文已影响0人  第十七根羽毛

最近有一个需要识别图片中文字的需求,引入腾讯ai并不难,复杂的地方在于要用云开发实现。所以在此记录一下,可以给需要的朋友们一个启发。

1 安装依赖


npm install qqai-api-sdk

2 小程序端代码


wx.cloud.callFunction({

            name: 'ocrTest',

            data: {

              str:res0.fileID,//根据具体识别方法上传参数,这里本来应该上传图片Base64,但是因为过大,所以预先上传图片,这里只是上传图片id,在云函数中再转换为数据。具体可以看我《云函数参数过大导致无响应》的文章。

            },

            success: res0 => {

                。。。

            },

            fail: err => { 

              console.error('[云函数] [ocrtest] 调用失败', err)

            }

          })

3 云函数代码


const cloud = require('wx-server-sdk')

cloud.init()

const { OCR } = require('qqai-api-sdk');

const APP = {

  // 设置请求数据(应用密钥、接口请求参数),替换为自己的参数,可以在腾讯云上申请。

  appkey: '*****************',

  appid: '*************'

}

const ocr = new OCR(APP.appkey, APP.appid);

exports.main = async (event, context) => { 

  const img = await cloud.downloadFile({

    fileID: event.str,



    })

    let buffer =new Buffer(img.fileContent)

    cloud.deleteFile({

      fileList: [event.str],

      success: res => {

        // handle success

        console.log(res.fileList)

      },

      fail: err => {

        // handle error

      },

      complete: res => {

        // ...

      }

    })

  return new Promise((resolve, reject) => {

    ocr.generalocr({

      imageBase64String:buffer.toString('base64'),

    }).then((res) => {

      resolve(JSON.stringify(res));

    }, (e) => {

      reject(JSON.stringify(e));

    })

  });

}

以上是我用到的图片识别,插件还有很多其他ai接口,如果需要可以在node_modules/qqai-api-sdk/src下面的js找。将找到的参数和类替换到上面的云函数即可。

长期广告:过年在家没闲着,公司想给市场部做个在线答题,找半天找不到合适的小程序,一怒之下自己写了一个,匆忙间不足甚多,欢迎指正。

image
上一篇下一篇

猜你喜欢

热点阅读