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


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.lazyload  实现图片延迟加载jquery插件
Feb 06 Javascript
jQuery实现form表单reset按钮重置清空表单功能
Dec 18 Javascript
node.js中的fs.futimesSync方法使用说明
Dec 17 Javascript
Jquery使用css方法改变样式实例
May 18 Javascript
Jquery动态添加输入框的方法
May 29 Javascript
浅谈javascript的Touch事件
Sep 27 Javascript
由浅入深剖析Angular表单验证
Jul 14 Javascript
Bootstrap基本组件学习笔记之按钮组(8)
Dec 07 Javascript
轻量级JS Cookie插件js-cookie的使用方法
Mar 22 Javascript
JS实现根据详细地址获取经纬度功能示例
Apr 16 Javascript
JavaScript使用表单元素验证表单的示例代码
Aug 20 Javascript
手写Spirit防抖函数underscore和节流函数lodash
Mar 22 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
编译问题
2006/10/09 PHP
PHP简单创建压缩图的方法
2016/08/24 PHP
php中分页及SqlHelper类用法实例
2017/01/12 PHP
phpstudy2018升级MySQL5.5为5.7教程(图文)
2018/10/24 PHP
javascript 一个自定义长度的文本自动换行的函数
2007/08/19 Javascript
解读IE和firefox下JScript和HREF的执行顺序
2008/01/12 Javascript
JQuery UI DatePicker中z-index默认为1的解决办法
2010/09/28 Javascript
juqery 学习之三 选择器 可见性 元素属性
2010/11/25 Javascript
JS 屏蔽键盘不可用与鼠标右键不可用的方法
2013/11/18 Javascript
js 显示base64编码的二进制流网页图片
2014/04/04 Javascript
javascript用正则表达式过滤空格的实现代码
2016/06/14 Javascript
微信小程序 监听手势滑动切换页面实例详解
2017/06/15 Javascript
详解webpack异步加载业务模块
2017/06/23 Javascript
JS实现移动端触屏拖拽功能
2018/07/31 Javascript
使用python分析git log日志示例
2014/02/27 Python
基于python实现自动化办公学习笔记(CSV、word、Excel、PPT)
2019/08/06 Python
pytorch中的卷积和池化计算方式详解
2020/01/03 Python
Tensorflow tf.tile()的用法实例分析
2020/05/22 Python
python实现凯撒密码、凯撒加解密算法
2020/06/11 Python
详解python 支持向量机(SVM)算法
2020/09/18 Python
python 解决Windows平台上路径有空格的问题
2020/11/10 Python
HTML5中的新元素介绍
2008/10/17 HTML / CSS
新加坡最佳婴儿用品店:Mamahood.com.sg
2018/08/26 全球购物
匡威荷兰官方网站:Converse荷兰
2018/10/24 全球购物
《兰亭集序》教学反思
2014/02/11 职场文书
便利店促销方案
2014/02/20 职场文书
2015年暑期社会实践活动总结
2015/03/27 职场文书
2015年网络管理员工作总结
2015/05/21 职场文书
公共场所卫生管理制度
2015/08/05 职场文书
祝福语集锦:送给闺蜜的生日祝福语
2019/10/08 职场文书
jQuery实现影院选座订座效果
2021/04/13 jQuery
pytorch损失反向传播后梯度为none的问题
2021/05/12 Python
JavaWeb 入门篇:创建Web项目,Idea配置tomcat
2021/07/16 Java/Android
MySQL约束超详解
2021/09/04 MySQL
JavaScript高级程序设计之基本引用类型
2021/11/17 Javascript
html5+实现plus.io进行拍照和图片等获取
2022/06/01 HTML / CSS