更新记录

1.0.0(2024-05-29)

发布小程序 自定义相机拍照并截取图片 组件


平台兼容性

Vue2 Vue3
App 快应用 微信小程序 支付宝小程序 百度小程序 字节小程序 QQ小程序
HBuilderX 3.1.0 × × × × ×
钉钉小程序 快手小程序 飞书小程序 京东小程序
× × × ×
H5-Safari Android Browser 微信浏览器(Android) QQ浏览器(Android) Chrome IE Edge Firefox PC-Safari
× × × × × × × × ×

自定义相机拍照截图

属性说明

属性名 类型 默认值 说明
tipsText String '' 提示文案
color String rgba(36, 64, 135, 1) 主题或按钮颜色
@onConfirm Function 确认按钮回调, 返回图片临时Url Objecj:{url: 'xxx.jpg'}

示例代码

<template>
  <view class="image-box">
    <image v-if="imgUrl" class="img" :src="imgUrl" mode="widthFix" @click.prevent="onPreviewImage" />
    <view v-else class="no-img">暂无图片,请点击下方按钮拍照</view>
  </view>
  <button class="photo-btn" @click="isPhoto = true">开始拍照</button>
  <bcode-camera v-if="isPhoto" @onConfirm="onConfirmCamera"></bcode-camera>
</template>

<script lang="ts" setup>
import { ref } from 'vue'
const imgUrl = ref('') // 图片url
const isPhoto = ref(false) // 是否开始拍照

// 拍照确认回调
const onConfirmCamera = (data: { url: string }) => {
  imgUrl.value = data.url
  isPhoto.value = false
  console.log('onConfirmCamera', data)
}

// 预览图片
const onPreviewImage = () => {
  uni.previewImage({
    urls: [imgUrl.value],
    longPressActions: {
      itemList: ['发送给朋友', '保存图片', '收藏'],
      success: function (data) {
        console.log('预览图片', data)
      },
      fail: function (err) {
        console.log(err.errMsg)
      }
    }
  })
}
</script>

<style lang="scss" scoped>
.image-box {
  width: 100%;
  height: 700rpx;
  background-color: #f0f0f0;
  display: flex;
  align-items: center;
  justify-content: center;

  .no-img {
    text-align: center;
    color: #999;
  }
}

.photo-btn {
  margin-top: 32rpx;
  width: 80%;
  background-color: #244087;
  color: #fff;
}
</style>

隐私、权限声明

1. 本插件需要申请的系统权限列表:

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

插件不采集任何数据

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

许可协议

MIT协议

暂无用户评论。

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问