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


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 相关文章推荐
最常用的12种设计模式小结
Aug 09 Javascript
用jQuery模拟页面加载进度条的实现代码
Dec 19 Javascript
js获取当前路径的简单示例代码
Jan 08 Javascript
js实现跨域的几种方法汇总(图片ping、JSONP和CORS)
Oct 25 Javascript
深入理解Java线程编程中的阻塞队列容器
Dec 07 Javascript
jquery判断复选框是否选中进行答题提示特效
Dec 10 Javascript
Jquery ui datepicker设置日期范围,如只能隔3天【实现代码】
May 04 Javascript
Vue.js实现无限加载与分页功能开发
Nov 03 Javascript
canvas快速绘制圆形、三角形、矩形、多边形方法介绍
Dec 29 Javascript
基于webpack-hot-middleware热加载相关错误的解决方法
Feb 22 Javascript
jquery实现垂直手风琴导航栏
Feb 18 jQuery
详解javascript脚本何时会被执行
Feb 05 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
Windows下的PHP5.0安装配制详解
2006/09/05 PHP
php上传大文件设置方法
2016/04/14 PHP
PHP运行模式汇总
2016/11/06 PHP
CI框架(CodeIgniter)实现的导入、导出数据操作示例
2018/05/24 PHP
PHP按一定比例压缩图片的方法
2018/10/12 PHP
Thinkphp5框架使用validate实现验证功能的方法
2019/08/27 PHP
Js中sort()方法的用法
2006/11/04 Javascript
改善你的jQuery的25个步骤 千倍级效率提升
2010/02/11 Javascript
extjs中grid中嵌入动态combobox的应用
2011/01/01 Javascript
JavaScript在for循环中绑定事件解决事件参数不同的情况
2014/01/20 Javascript
Jquery 返回json数据在IE浏览器中提示下载的问题
2014/05/18 Javascript
javascript每日必学之多态
2016/02/23 Javascript
javascript 常用验证函数总结
2016/06/28 Javascript
JavaScript解析JSON格式数据的方法示例
2017/01/24 Javascript
用最简单的方法判断JavaScript中this的指向(推荐)
2017/09/04 Javascript
vue-iview动态新增和删除的方法
2020/06/17 Javascript
Python定义二叉树及4种遍历方法实例详解
2018/07/05 Python
Python3.6.2调用ffmpeg的方法
2019/01/10 Python
解决pycharm每次新建项目都要重新安装一些第三方库的问题
2019/01/17 Python
python中bs4.BeautifulSoup的基本用法
2019/07/27 Python
python字典的setdefault的巧妙用法
2019/08/07 Python
opencv3/python 鼠标响应操作详解
2019/12/11 Python
python批量替换文件名中的共同字符实例
2020/03/05 Python
python 数据分析实现长宽格式的转换
2020/05/18 Python
美国现代家具和家居商店:Apt2B
2016/08/29 全球购物
什么是组件架构
2016/05/15 面试题
前处理班长职位说明书
2014/03/01 职场文书
大宝sod蜜广告词
2014/03/21 职场文书
公司门卫岗位职责范本
2014/07/08 职场文书
幼儿园家长安全责任书
2014/07/22 职场文书
员工团队活动方案
2014/08/28 职场文书
三提三创主题教育活动查摆整改措施
2014/10/25 职场文书
2015年营业员工作总结
2015/04/23 职场文书
实习介绍信范文
2015/05/05 职场文书
Python爬虫之爬取哔哩哔哩热门视频排行榜
2021/04/28 Python
深入浅析python3 依赖倒置原则(示例代码)
2021/07/09 Python