# takePhoto ^4.4.0

选择拍照,并返回相片数据

# 调用方式

takePhoto(params)
1

返回 Promise,使用 then/catch 或 await 处理结果。 接收单个业务参数;是否需要传参按下方参数表约定,无业务参数时可省略。具体字段及返回数据由宿主原生约定。

# 请求参数

Prop Type Requierd Default Comment
compressRage Number N 100 返回照片的压缩率,范围为0~100(只是针对jpg格式的图片,png格式没有压缩率),数值越高保真率越高
type String N jpg 值为jpg或png,指定返回相片的格式
isNeedBase64 Boolean Y false 是否需要返回相片base64数据(8.12后统一默认false,为兼容旧版,建议必填)
allowEidt Number N 0 是否允许拍照后使用裁剪框编辑图片,0:不可编辑,1:可编辑(^8.10)

参数对象示例(数值为示例值,不代表默认值):

const params = {
  compressRage: 70,
  type: 'jpg',
  isNeedBase64: false,
  crop: false,
  scale: 1,
  maxWidthHeight: 1500
}
1
2
3
4
5
6
7
8

补充参数(来自旧 intl 文档,示例值不是默认值):

参数 类型 必填 默认值 说明
params.crop Boolean 宿主约定 未说明 旧文档的裁剪配置,具体行为由原生决定
params.scale Number 宿主约定 未说明 旧示例中的 scale 配置,含义和取值范围以宿主为准
params.maxWidthHeight Number 宿主约定 未说明 旧示例中的尺寸限制配置,单位及行为以宿主为准

# 接口调用示例

this.$bridge.takePhoto(params)
1

# 返回参数

Prop Type Requierd Default Comment
status Number Y N/A 0-拍照成功,1-取消拍照
type String N jpg 相片的格式
data String N N/A 如果isNeedBase64为true,则返回相片的base64字符串,返回中带有相应的前缀:"data:image/jpg;base64,...""
filePath String N N/A 返回相片保存的文件路径
fileName String N N/A 保存的文件名
size Number N N/A 返回相片的文件大小,带小数,单位为Kb

# 接口返回示例

this.$bridge.takePhoto(params)
  .then((res) => {
    this.emitUploadFile('photo', res);
  })
  .catch((error) => {
    this.$bridge.log('takePhoto error', error);
  });
1
2
3
4
5
6
7

# 注意事项

crop、scale、maxWidthHeight 来自旧 intl 文档;示例数值不代表默认值。参数对象会转发给原生,裁剪行为和字段支持情况取决于宿主。