# wx.scanCode(Object object)

> 基础库 1.0.0 开始支持，低版本需做[兼容处理](1003706)。

> __以 [Promise 风格](/miniprogram/dev/framework/app-service/api.md#异步-API-返回-Promise) 调用__：支持
> 
> __小程序插件__：支持，需要小程序基础库版本不低于 [1.9.6](1003706)
> 
> __微信 鸿蒙 OS 版__：支持

## 功能描述

调起客户端扫码界面进行扫码

## 参数

### Object object


```json
[
  {
    "属性": "onlyFromCamera",
    "类型": "boolean",
    "默认值": "false",
    "必填": "否",
    "说明": "是否只能从相机扫码，不允许从相册选择图片",
    "最低版本": "[1.2.0](1003706)"
  },
  {
    "属性": "scanType",
    "类型": "Array.<string>",
    "默认值": "['barCode', 'qrCode', 'wxCode']",
    "必填": "否",
    "说明": "扫码类型",
    "最低版本": "[1.7.0](1003706)",
    "子项": [
      {
        "合法值": "barCode",
        "说明": "一维码"
      },
      {
        "合法值": "qrCode",
        "说明": "二维码"
      },
      {
        "合法值": "wxCode",
        "说明": "小程序码"
      },
      {
        "合法值": "datamatrix",
        "说明": "Data Matrix 码"
      },
      {
        "合法值": "pdf417",
        "说明": "PDF417 条码"
      }
    ]
  },
  {
    "属性": "success",
    "类型": "function",
    "默认值": "",
    "必填": "否",
    "说明": "接口调用成功的回调函数",
    "最低版本": ""
  },
  {
    "属性": "fail",
    "类型": "function",
    "默认值": "",
    "必填": "否",
    "说明": "接口调用失败的回调函数",
    "最低版本": ""
  },
  {
    "属性": "complete",
    "类型": "function",
    "默认值": "",
    "必填": "否",
    "说明": "接口调用结束的回调函数（调用成功、失败都会执行）",
    "最低版本": ""
  }
]
```

#### object.success 回调函数
##### 参数

###### Object res


```json
[
  {
    "属性": "result",
    "类型": "string",
    "说明": "所扫码的内容"
  },
  {
    "属性": "scanType",
    "类型": "string",
    "说明": "所扫码的类型",
    "子项": [
      {
        "合法值": "QR_CODE",
        "说明": "二维码"
      },
      {
        "合法值": "AZTEC",
        "说明": "一维码"
      },
      {
        "合法值": "CODABAR",
        "说明": "一维码"
      },
      {
        "合法值": "CODE_39",
        "说明": "一维码"
      },
      {
        "合法值": "CODE_93",
        "说明": "一维码"
      },
      {
        "合法值": "CODE_128",
        "说明": "一维码"
      },
      {
        "合法值": "DATA_MATRIX",
        "说明": "二维码"
      },
      {
        "合法值": "EAN_8",
        "说明": "一维码"
      },
      {
        "合法值": "EAN_13",
        "说明": "一维码"
      },
      {
        "合法值": "ITF",
        "说明": "一维码"
      },
      {
        "合法值": "MAXICODE",
        "说明": "一维码"
      },
      {
        "合法值": "PDF_417",
        "说明": "二维码"
      },
      {
        "合法值": "RSS_14",
        "说明": "一维码"
      },
      {
        "合法值": "RSS_EXPANDED",
        "说明": "一维码"
      },
      {
        "合法值": "UPC_A",
        "说明": "一维码"
      },
      {
        "合法值": "UPC_E",
        "说明": "一维码"
      },
      {
        "合法值": "UPC_EAN_EXTENSION",
        "说明": "一维码"
      },
      {
        "合法值": "WX_CODE",
        "说明": "二维码"
      },
      {
        "合法值": "CODE_25",
        "说明": "一维码"
      }
    ]
  },
  {
    "属性": "charSet",
    "类型": "string",
    "说明": "所扫码的字符集"
  },
  {
    "属性": "path",
    "类型": "string",
    "说明": "当所扫的码为当前小程序二维码时，会返回此字段，内容为二维码携带的 path"
  },
  {
    "属性": "rawData",
    "类型": "string",
    "说明": "原始数据，base64编码"
  }
]
```

## 示例代码

```js
// 允许从相机和相册扫码
wx.scanCode({
  success (res) {
    console.log(res)
  }
})

// 只允许从相机扫码
wx.scanCode({
  onlyFromCamera: true,
  success (res) {
    console.log(res)
  }
})
```
