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

 更新时间:2020年10月22日 15:31:04   作者:佛佛ง  
这篇文章主要为大家详细介绍了微信小程序使用前置摄像头拍照,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

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

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实现创建自定义对象的常用方式总结

    JavaScript实现创建自定义对象的常用方式总结

    这篇文章主要介绍了JavaScript实现创建自定义对象的常用方式,结合实例形式总结分析了JavaScript工厂模式、构造函数模式、原型模式、组合模式等常用的自定义对象创建模式操作与使用技巧,需要的朋友可以参考下
    2018-07-07
  • JavaScript实现省市区三级联动

    JavaScript实现省市区三级联动

    这篇文章主要为大家详细介绍了JavaScript实现省市区三级联动,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-02-02
  • 基于JS实现简单的3D立方体自动旋转

    基于JS实现简单的3D立方体自动旋转

    这篇文章主要为大家详细介绍了如何利用JavaScript实现简单的3D立方体自动旋转的效果,文中的实现代码讲解详细,感兴趣的可以尝试一下
    2022-06-06
  • js 创建对象 经典模式全面了解

    js 创建对象 经典模式全面了解

    下面小编就为大家带来一篇js 创建对象 经典模式全面了解。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-08-08
  • 移动端web滚动分页的实现方法

    移动端web滚动分页的实现方法

    这篇文章主要为大家详细介绍了移动端web滚动分页的实现方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-05-05
  • javaScript强制保留两位小数的输入数校验和小数保留问题

    javaScript强制保留两位小数的输入数校验和小数保留问题

    这篇文章主要介绍了javaScript强制保留两位小数的输入数校验和小数保留问题,非常不错,具有一定的参考借鉴价值,需要的朋友参考下吧
    2018-05-05
  • 细说JavaScript中的this指向与绑定规则

    细说JavaScript中的this指向与绑定规则

    本文主要详细介绍了JavaScript中的this指向与绑定规则,默认绑定,隐式绑定,显示绑定,new绑定这四个规则,文中有相关的代码示例供大家参考,感兴趣的同学可以阅读下
    2023-05-05
  • Javascript中call的两种用法实例

    Javascript中call的两种用法实例

    这篇文章主要介绍了Javascript中call的两种用法实例,有需要的朋友可以参考一下
    2013-12-12
  • Bootstrap导航条鼠标悬停下拉菜单

    Bootstrap导航条鼠标悬停下拉菜单

    这篇文章主要为大家详细介绍了Bootstrap导航条鼠标悬停下拉菜单,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-01-01
  • 第一次记录Bootstrap table学习笔记(1)

    第一次记录Bootstrap table学习笔记(1)

    这篇文章主要为大家介绍了第一次学习Bootstrap table表格插件的笔记,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-05-05

最新评论