微信小程序使用前置摄像头拍照


Posted in Javascript onOctober 22, 2020

本文实例为大家分享了微信小程序使用前置摄像头拍照的具体代码,供大家参考,具体内容如下

微信小程序使用前置摄像头拍照

1、拍照页面:

<template>
 <view title="拍照">
 <camera v-if="openCamera" device-position="front" frame-size="large" class="zipai" @error="error"> </camera>
 <cover-image src="/static/image/renzheng_zz.png" class="zhezhao"></cover-image>
 <cover-view class="wenzi fint34">请将正面人脸放在识别框中,进行拍摄</cover-view>
 <cover-image class="paizhao" src="/static/image/renzheng_pz.png" @click="takePhoto"></cover-image>
 </view>
</template>
 
<script>
 export default {
 data() {
 return {
 openCamera:true
 }
 },
 
 methods: {
 takePhoto() {
 const ctx = wx.createCameraContext()
 ctx.takePhoto({
  quality: 'high',
  success: (res) => {
  let tempFilePath = res.tempImagePath
  uni.navigateTo({
  url:'/pages/renzhengwxtu/renzhengwxtu?src='+tempFilePath
  })
  }
 })
 },
 //用户拒绝授权摄像头
 error(e) {
 this.openCamera=false
 wx.showModal({
  title: '警告',
  content: '若不授权使用摄像头,将无法使用拍照功能!',
  cancelText: '不授权',
  cancelColor: '#1ba9ba',
  confirmText: '授权',
  confirmColor: '#1ba9ba',
  success:(res)=> {
  if (res.confirm) {//允许打开授权页面
  //调起客户端小程序设置界面,返回用户设置的操作结果
  wx.openSetting({
  success:(res)=> {
   res.authSetting = {
   "scope.camera": true
   }
   this.openCamera=true
  },
  })
  } else if (res.cancel) {//拒绝打开授权页面
  wx.navigateBack({delta:1})
  }
  }
 })
 },
 
 }
 }
</script>

2、预览图片页面:

<template>
 <view title="预览图片">
 <image mode="widthFix" :src="src" class="renlian"></image>
 <view class="btns">
 <text @click="takePhoto">重拍</text>
 <text @click="usePhoto">使用照片</text>
 </view>
 </view>
</template>
 
<script>
 export default {
 data() {
 return {
 src: '',
 timeId:null,
 }
 },
 onLoad(option) {
 this.src=option.src
 },
 onHide() {
 clearTimeout(this.timeId);
 this.timeId=null;
 },
 methods: {
 takePhoto() {
 uni.navigateBack({delta: 1});
 },
 usePhoto() {
 this.$request.uploadFileMinipro(this.src,this.retoRenzheng);
 },
 retoRenzheng(){
 this.timeId=setTimeout(()=>{
  var pages = getCurrentPages();
  var prevPage = pages[pages.length - 3]; //上一个页面
  prevPage.fromTu= true;
  uni.navigateBack({delta: 2});
 },200);
 },
 }
 }
</script>

3、上传图片方法:

// uploadFileMinipro
function uploadFileMinipro(tempFilePath,callback){
 // 1.2 上传头像
 let uin =common.getGlobalUserInfo().id;
 let reurl=common.ip;
 uni.uploadFile({
 url: reurl,
 filePath: tempFilePath,
 name: "file",
 formData:{uin:uin},
 success:(res)=>{
 console.log("res=",res);
 // 注意,这里获得是一个string,需要转换一下
 let resData = JSON.parse(res.data);
 if (resData.status == 1) {//<=0:人工返回的错误信息
 setErrorMessage("上传成功");
 if (typeof callback === "function"){
  callback();//刷新当前页面
 }
 
 } else if (resData.status < 1) {
  setErrorMessage(resData.msg)
 } else {
  setErrorMessage()
 }
 },
 fail:(res)=>{
 console.log("上传失败");
 },
 });
}

为大家推荐现在关注度比较高的微信小程序教程一篇:《微信小程序开发教程》小编为大家精心整理的,希望喜欢。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jquery ready函数源代码研究
Dec 06 Javascript
JavaScript模板入门介绍
Sep 26 Javascript
一个JavaScript函数把URL参数解析成Json对象
Sep 24 Javascript
jquery.mobile 共同布局遇到的问题小结
Feb 10 Javascript
jquery实现的美女拼图游戏实例
May 04 Javascript
JS实现的最简Table选项卡效果
Oct 14 Javascript
jquery实现加载进度条提示效果
Nov 23 Javascript
实现JavaScript高性能的数据存储
Dec 11 Javascript
Vue数据驱动模拟实现3
Jan 11 Javascript
使用Bootstrap + Vue.js实现添加删除数据示例
Feb 27 Javascript
Node 自动化部署的方法
Oct 17 Javascript
详解webpack打包时排除其中一个css、js文件或单独打包一个css、js文件(两种方法)
Oct 26 Javascript
jQuery实现可以计算进制转换的计算器
Oct 19 #jQuery
jQuery实现计算器功能
Oct 19 #jQuery
vue3为什么要用proxy替代defineProperty
Oct 19 #Javascript
jQuery实现推拉门效果
Oct 19 #jQuery
小程序实现左滑删除的效果的实例代码
Oct 19 #Javascript
jQuery实现图片切换效果
Oct 19 #jQuery
jQuery实现回到顶部效果
Oct 19 #jQuery
You might like
php 远程图片保存到本地的函数类
2008/12/08 PHP
PHP中new static()与new self()的比较
2016/08/19 PHP
Yii2表单事件之Ajax提交实现方法
2017/05/04 PHP
PHP队列场景以及实现代码实例详解
2021/02/26 PHP
XENON基于JSON变种
2010/07/27 Javascript
jquery实现pager控件示例
2014/04/09 Javascript
使用jquery选择器如何获取父级元素、同级元素、子元素
2014/05/14 Javascript
JS面向对象基础讲解(工厂模式、构造函数模式、原型模式、混合模式、动态原型模式)
2014/08/16 Javascript
node.js适合游戏后台开发吗?
2014/09/03 Javascript
JS实现双击屏幕滚动效果代码
2015/10/28 Javascript
简单介绍JavaScript数据类型之隐式类型转换
2015/12/28 Javascript
Node.js 文件夹目录结构创建实例代码
2016/07/08 Javascript
基于jQuery实现弹出可关闭遮罩提示框实例代码
2016/07/18 Javascript
Vue.js Ajax动态参数与列表显示实现方法
2016/10/20 Javascript
vue.js绑定class和style样式(6)
2016/12/09 Javascript
vue-router 导航钩子的具体使用方法
2017/08/31 Javascript
Angular实现的进度条功能示例
2018/02/18 Javascript
解决vue 路由变化页面数据不刷新的问题
2018/03/13 Javascript
vue.js将时间戳转化为日期格式的实现代码
2018/06/05 Javascript
小程序点击图片实现png转jpg
2019/10/22 Javascript
简单了解JavaScript弹窗实现代码
2020/05/07 Javascript
python Django连接MySQL数据库做增删改查
2013/11/07 Python
列举Python中吸引人的一些特性
2015/04/09 Python
使用Python构建Hopfield网络的教程
2015/04/14 Python
基于python实现微信模板消息
2015/12/21 Python
matplotlib简介,安装和简单实例代码
2017/12/26 Python
Python爬虫获取图片并下载保存至本地的实例
2018/06/01 Python
python爬虫实现中英翻译词典
2019/06/25 Python
python解包用法详解
2021/02/17 Python
浅析数据存储的三种方式 cookie sessionstorage localstorage 的异同
2020/06/04 HTML / CSS
TALLY WEiJL法国网上商店:服装、时装及配饰
2019/08/31 全球购物
介绍java中初始化块的使用
2012/09/11 面试题
信息专业个人的自我评价
2013/12/27 职场文书
汽车机修工岗位职责
2014/03/06 职场文书
合作协议书范文
2014/08/20 职场文书
安全生产工作汇报
2014/10/28 职场文书