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


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 相关文章推荐
脚本之家贴图转换+转贴工具用到的js代码超级推荐
Apr 05 Javascript
Javascript中Eval函数的使用
Mar 23 Javascript
利用Jquery实现可多选的下拉框
Feb 21 Javascript
详解JavaScript语法对{}处理的坑爹之处
Jun 05 Javascript
jQuery中DOM树操作之复制元素的方法
Jan 23 Javascript
jQuery-1.9.1源码分析系列(十)事件系统之事件包装
Nov 20 Javascript
Vue单文件组件基础模板小结
Aug 10 Javascript
JS实现十字坐标跟随鼠标效果
Dec 25 Javascript
JS与jQuery实现ListBox上移,下移,左移,右移操作功能示例
May 31 jQuery
详解React Native 屏幕适配(炒鸡简单的方法)
Jun 11 Javascript
浅谈对于“不用setInterval,用setTimeout”的理解
Aug 28 Javascript
JavaScript RegExp 对象用法详解
Sep 24 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微信开发之文本自动回复
2016/06/23 PHP
phpmyadmin下载、安装、配置教程
2017/05/16 PHP
PHP生成指定范围内的N个不重复的随机数
2019/03/18 PHP
让网页根据不同IE版本显示不同的内容
2009/02/08 Javascript
JQuery 技巧和窍门整理(8个)
2010/04/22 Javascript
html中使用javascript调用本地程序(exe、doc等)实现代码
2013/04/26 Javascript
js中call与apply的用法小结
2013/12/28 Javascript
JavaScript页面模板库handlebars的简单用法
2015/03/02 Javascript
分享我的jquery实现下拉菜单心的
2015/11/29 Javascript
jQuery获取checkbox选中的值
2016/01/28 Javascript
jquery ztree实现树的搜索功能
2016/02/25 Javascript
AngularJS中的包含详细介绍及实现示例
2016/07/28 Javascript
浅谈js在html中的加载执行顺序,多个jquery ready执行顺序
2016/11/26 Javascript
nodejs前端自动化构建环境的搭建
2017/07/26 NodeJs
详解KOA2如何手写中间件(装饰器模式)
2018/10/11 Javascript
Vue.js上传图片到阿里云OSS存储的方法示例
2018/12/13 Javascript
利用python打印出菱形、三角形以及矩形的方法实例
2017/08/08 Python
Python列表推导式、字典推导式与集合推导式用法实例分析
2018/02/07 Python
Python中反射和描述器总结
2018/09/23 Python
python将字符串转变成dict格式的实现
2019/11/18 Python
详解python 中in 的 用法
2019/12/12 Python
opencv python 图片读取与显示图片窗口未响应问题的解决
2020/04/24 Python
pandas数据处理之绘图的实现
2020/06/15 Python
python-图片流传输的思路及示例(url转换二维码)
2020/12/21 Python
详解appium自动化测试工具(monitor、uiautomatorviewer)
2021/01/27 Python
CSS3制作皮卡丘动画壁纸的示例
2020/11/02 HTML / CSS
Vision Directa智利眼镜网:框架眼镜、隐形眼镜和名牌太阳眼镜
2016/11/23 全球购物
播音主持女孩的自我评价分享
2013/11/20 职场文书
会计电算化专业毕业生推荐信
2013/12/24 职场文书
我的中国梦演讲稿500字
2014/08/19 职场文书
2014年药品销售工作总结
2014/12/16 职场文书
医生个人年终总结
2015/02/28 职场文书
2015医院个人工作总结范文
2015/05/21 职场文书
初中体育课教学反思
2016/02/16 职场文书
golang fmt格式“占位符”的实例用法详解
2021/07/04 Golang
浅谈MySQL函数
2021/10/05 MySQL