微信小程序 服务平台API


当前第2页 返回上一页

从手机选择图片后,调用 OCR 服务。OCR 服务要求调用方传图片,接收图片的方式是图片 URL。OCR 服务要求调用方的 data 结构如下:

字段名类型必填默认值说明
img_urlstring图片 URL
data_typenumber固定为 3,表示 URL 形式的图片
ocr_typenumberOCR 类型,1 为身份证识别

OCR 的接口需要传入图片 URL,如果需要将手机本地选择的图片上传转换成 URL,可以使用 CDN 方法对文件路径进行标记(或用任意的存储服务和自建的存储服务,也可以使用云开发的云文件存储服务,但都没有 CDN 方法便捷),以下给出使用 CDN 方法的示例:

// 选择图片
wx.chooseImage({
  count: 1,
  success: async function(res) {
    try {
      const invokeRes = await wx.serviceMarket.invokeService({
        service: 'wx79ac3de8be320b71',
        api: 'OcrAllInOne',
        data: {
          // 用 CDN 方法标记要上传并转换成 HTTP URL 的文件
          img_url: new wx.serviceMarket.CDN({
            type: 'filePath',
            filePath: res.tempFilePaths[0],
          }),
          data_type: 3,
          ocr_type: 1
        },
      })

      console.log('invokeService success', invokeRes)
      wx.showModal({
        title: 'success',
        content: JSON.stringify(invokeRes),
      })
    } catch (err) {
      console.error('invokeService fail', err)
      wx.showModal({
        title: 'fail',
        content: err,
      })
    }
  },
  fail: function(res) {},
  complete: function(res) {},
})

示例代码 2: 普通 JSON 协议接口

有些服务不需要用到 CDN 辅助接口,可以直接 JSON 调用,以下任意举例:

// 选择图片
wx.chooseImage({
  count: 1,
  success: function(res) {
    // 调用 OCR 服务
    wx.serviceMarket.invokeService({
      service: 'some_service_id',
      api: 'test',
      data: {
        type: 'x',
        name: 'y',
      },
    }).then(res => {
      console.log('invokeService success', res)
    }).catch(err => {
      console.error('invokeService fail', err)
    })
  },
  fail: function(err) {
    console.error(err)
  },
})

CDN

标记需要上传到 CDN 的文件/大字符串然后转换成 HTTP URL 的数据,必须在 invokeService 中使用。

CDN 方法可以接收三种参数类型:

  • String
  • ArrayBuffer
  • 文件路径定义对象

当使用文件路径定义对象时,将在调用服务 API 时自动将相应文件路径对应的文件内容上传至 CDN 并转换成 CDN URL,对象定义如下:

字段名 类型 必填 默认值 说明 type String 是 定义对象的类型,必填 filePath filePath String 是 文件路径

入参

接收一个对象,对象下有如下定义的字段:

字段名类型必填说明
typestring定义对象的类型,必填 filePath
filePathstring文件路径

兼容性配置

可以通过兼容性配置让 wx.serviceMarket.invokeService API 的使用不受基础库版本约束,配置方式是:在 app.json / game.json 中指定顶层字段 "servicemarket": true,在预览发布时小程序代码包会自动包含此 API 的兼容代码,在 2.9.4 以下也可使用。仅在手机上使用,工具中调试请选择 2.9.4 基础库。



标签:微信小程序

返回前面的内容

相关阅读 >>

微信小程序云开发服务端数据库api remove

微信小程序 访问留存

微信小程序 广告-视频广告

微信小程序api 绘图中使用setglobalalpha设置全局画笔透明度

微信小程序 即时配送接口(商家查看)-沙盒测试

微信小程序api 绘图stroketext

微信小程序 订阅消息getpubtemplatekeywordsbyid

微信小程序云开发sdk文档 工具类

微信小程序api-设备-振动

微信小程序滑块视图容器 滑块视图容器

更多相关阅读请进入《微信小程序》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...