微信小程序实现倒计时调用相机自动拍照功能

作者:Alice茄子 时间:2024-04-17 10:26:38 

本文实例为大家分享了微信小程序定时拍照的具体代码,供大家参考,具体内容如下

在某些进行签到的场景,为了防止用户选择相册的照片或者不实时拍照,设置相机倒计时自动拍照。

一、首先是视图层index.wxml,视图层主要负责显示组件和图片。


<!--index.wxml-->

<view class="userinfo-login">
<view class="page-body">
 <view class="page-body-wrapper">
 <view wx:if="{{src}}"></view>
 <!-- 如果存在已经拍好的照片就不再显示调用摄像头的组件-->
 <view wx:else>
  <camera device-position="back" flash="off" binderror="error" style="width: 100%; height: 200px;"></camera>
 <!-- 调用摄像头的组件-->
</view>
 <image wx:if="{{src}}" mode="widthFix" src="{{src}}"></image>
 <!-- 显示拍好的照片-->
 </view>
</view>
</view>

二、逻辑层index.js,调用倒计时函数并且调用摄像头拍照并保存图片。


//index.js

const app = getApp()
Page({
data: {
userInfo: {},
counting: false//倒计时
},
onLoad: function () {
this.daojishi();//一进来就拍照倒计时
this.ctx = wx.createCameraContext()//创建摄像头对象
},
//倒计时
daojishi: function () {
var that = this;
if (!that.data.counting) {
 //开始倒计时5秒
 countDown(that, 5);
}
}
})
//倒计时函数 在page外

function countDown(that, count) {
if (count == 0) {
//等于0时拍照
that.ctx.takePhoto({
 quality: 'high',
 success: (res) => {
 that.setData({
  src: res.tempImagePath
 })
 wx.showToast({
  title: '拍照完成',
 })
 }
})
that.setData({
 counting: false
})
return;
}
wx.showLoading({//加载时显示倒计时
title: '拍照倒计时'+count+'秒',
})

setTimeout(function () {
wx.hideLoading()
}, 1000)
that.setData({
counting: true,
})
setTimeout(function () {
count--;
countDown(that, count);
}, 1000);
}

主要实现就是这样。

来源:https://blog.csdn.net/weixin_36708477/article/details/80242663

标签:微信小程序,相机拍照
0
投稿

猜你喜欢

  • Minio设置文件链接永久有效的完整步骤

    2023-06-10 22:26:10
  • 详解Python编程中对Monkey Patch猴子补丁开发方式的运用

    2021-04-15 00:17:15
  • Python爬虫获取豆瓣电影并写入excel

    2022-04-24 06:41:12
  • Python+Matplotlib实现绘制三维折线图

    2021-05-21 22:15:50
  • Python 启动时选择32位 或64位版的操作

    2021-04-29 23:50:43
  • Python列表解析操作实例总结

    2022-10-10 09:59:38
  • python中enumerate函数遍历元素用法分析

    2021-08-07 10:07:18
  • SQL server 管理事务和数据库介绍

    2024-01-21 18:54:32
  • Informatica bulk与normal模式的深入详解

    2024-01-16 01:30:28
  • python里读写excel等数据文件的6种常用方式(小结)

    2021-04-09 08:11:52
  • Python深入学习之装饰器

    2021-09-25 15:00:38
  • Oracle判断表、列、主键是否存在的方法

    2023-07-22 19:13:06
  • 在ASP.NET 2.0中操作数据之四十六:使用SqlDataSource控件检索数据

    2023-07-04 14:31:37
  • IE9一个非常牛的“bug”

    2010-05-07 12:45:00
  • 正计时JS代码

    2008-05-25 14:53:00
  • 在微信小程序里使用watch和computed的方法

    2024-04-10 16:16:40
  • 微软Silverlight技术魅力初体验

    2008-11-05 11:16:00
  • Python数据结构与算法中的栈详解

    2023-09-28 17:16:14
  • Python的Twisted框架上手前所必须了解的异步编程思想

    2021-05-02 14:21:44
  • Recipe: 把SQL数据库部署到远程主机环境(第一部分)

    2007-09-23 13:07:00
  • asp之家 网络编程 m.aspxhome.com