小程序通过摄像头拍摄个人身份证

news/2024/9/16 22:59:07/

前段时间,手上刚好接手一个小程序的项目,心想之前自学过一段时间的小程序,终于有项目可以练练手了,可惜,万万没想到,加了两个周末的班结果却成了飞机稿。好在有些收获,于是趁思路尚且清晰,先记录下来,以下纯属个人见解。

项目大概是这样的,通过摄像头拍摄个人身份证,并上传资料完成备案。

帐号

首先,开发小程序,我们需要个开发者账号,这里具体的步骤就不再赘述了。

开发语言

小程序框架本身提供了一套描述语言WXML、WXSS、以及JavaScript的逻辑层框架,并在视图层和逻辑层提供了数据传输和事件系统。

视图层(View):主要是用来渲染页面,即WXML、WXSS;

逻辑层(App Service):处理页面逻辑、调用接口、数据请求。

这里我想重点说一下视图层,我们都知道HTML+CSS+JS是Web编程的组合,在小程序里,WXML对应的便是HTML,WXSS对应的是CSS。

 

比如我们看这样一个页面在小程序里的表现:

可能有些人不太喜欢这样的方式去写HTML,又或者原先写好的页面,没办法直接沿用到小程序,这里推荐使用工具转译,可以像往常编写web一样编写小程序,并且支持项目的导入和导出。

其中编译工具主要是将源码目录下的所有HTML文件进行转译,并创建一个xxx.build的文件夹,将所有编译好的WXML存放到page文件夹下面,当然app.json的配置文件也会自动创建,根据创建的目录名,将同名的CSS文件,重命名为WXSS文件,并存放到同名目录中,当CSS与文件名不符,则合并不符的CSS文件,存放到全局目录的 app.wxss中。同时,源码目录中的JS文件会被忽略,页面级的JS会被复制到同名目录中,这个JS包括注册页面的page函数基础模板。我们还是看图吧!

下面是源码 demo 的目录文件结构:

编译后的目录结构改变:

同时页面上的html也会发生变化:

复制代码
<!--html-->
<div class="container"><div class="group tip-success"><i class="tip-success"></i></div><span class='tip-success-text'>人脸认证完成</span><span class='text-mod'>您的人脸认证已经完成</span><span class='text-go'>返回首页</span>
</div>
复制代码
编译后:
复制代码
<!--wxml-->
<view class="container"><view class="group tip-success"><icon type="success" size="60"/></view><text class='tip-success-text'>人脸认证完成</text><text class='text-mod'>您的人脸认证已经完成</text><text class='text-go'>返回首页</text>
</view>
复制代码

屏幕适配

小程序自身有一个计量单位rpx,1rpx=0.5px=1物理像素,rpx其实是微信对于rem的一种应用规定,或者说一种设计的方案,官方规定屏幕宽度为20rem,规定屏幕宽为750rpx。所以在微信小程序中1rem=750/20rpx,同时设计稿的尺寸推荐使用750作为设计稿的标准宽度。

样式库

小程序本身提供了一套带交互的样式库WeUI,官方文档有比较详细的调用和说明,但是并不是所有的样式都是我们想要的,有时候设计师会根据当前的页面来设计需要的样式,比如我们常用的image、button都含有默认样式,最直接的办法,是重置默认样式。

图片的引用

起初我只尝试通过网络的方式加载图片,但是其实小程序加载图片的方式是有两种的,分别是本地图片和网络图片,但是由于微信小程序本身整体的大小限制在2M以内,所以还是建议大家采用网络图片的方式来加载,以减少程序包的大小。

下面我们来看一下具体的实现方法:

目录结构如下,只要图片按正确的方式放入小程序的开发工具的项目中,即可在wxml文件中用内联样式或者image标签都可以引用本地的图片。

然后,新建个image文件夹,然后把图片拷贝到这个目录下。

注意:一定要用你从微信开发工具打开的项目window窗口完成新建文件夹和把图片copy到这个目录下的这两个步骤:

相对路径去访问图片,可以用style样式的方式或者image标签。

不能使用wxml样式去引用本地的图片,虽然不会报错,但其实是没有效果的。

注意:在手机模拟预览,样式的背景图只能用服务器的图片,不能用本地。

媒体组件 camera

这个项目的主要难点其实是如何在拍照的界面上添加文字和遮罩层,起初我尝试用很多方法,都无法在人体轮廓上面显示所需要的内容,如图,预览界面显示的效果是我想要的,但是手机上却并没有显示对应的内容:

后来我看到报错,同时我查阅了官方文档,原来小程序直接有提供给我们camera的组件cover-view和cover-image可以覆盖在相机界面层上,有一点要注意的是:原生控件cover-view作为父容器时,不能使用其他控件嵌套作为子元素,只能使用cover类的控件如:cover-view、cover-image,切记!

下面的嵌套方式就能在手机上正常显示所需的提示内容了:

以上都是个人对这次项目的小结,肯定也有更好的方法,希望不吝指教!

 


http://www.ppmy.cn/news/224392.html

相关文章

标准证件照尺寸表,网页修改证件照尺寸的方法

很多同学都想自己制作证件照片&#xff0c;但是不知道尺寸。今天就把证件照尺寸整理出来&#xff0c;分享给有需要的朋友。 1、 1寸证件照尺寸为&#xff1a;25mm35mm&#xff0c;8张照片排列在5寸相纸(12.7 x 8.9cm)内。 2、 2寸证件照尺寸&#xff1a;35mm49mm&#xff0c;4…

重庆体检

重庆体检 名词解释&#xff1a;体检及通过医学手段对身体健康状况的评测。体检也称体格检查。 体检实用场景&#xff1a;体检分为自行体检和办理入职体检、入学体检、入伍体检、驾照体检、出国体检、结婚体检、保险体检等手续时的体检&#xff0c;是以某项特定工作或行为的体…

测绘航空摄影、摄影测量与遥感资质办理

按照现行测绘资质现行标准分类&#xff0c;第二、三项就是测绘航空摄影&#xff08;专业子项/业务类型分为&#xff1a;一般航摄、无人飞行器航摄、倾斜航摄&#xff09;、摄影测量与遥感&#xff08;专业子项/业务类型分为&#xff1a;摄影测量与遥感外业、摄影测量与遥感内业…

如何使用手机拍出证件照?简单几步教你轻松完成

怎么使用手机就能够拍出好看的证件照呢&#xff1f;在日常生活中我们对证件照的使用需求还是比较多的&#xff0c;例如在一些招聘网站投递简历&#xff0c;银行办理业务&#xff0c;学生证、驾驶证等制作都需要证件照片&#xff0c;有时我们的证件照丢失或者是使用完了&#xf…

自己制作证件照回执

今天身份证过期&#xff0c;去办理身份证&#xff0c;照个像回执收了30&#xffe5;给个6张一寸小图片&#xff0c;照的还不好看&#xff0c;因此我觉得是不是可以自己弄个回执&#xff0c;照片也是浪费&#xff0c;没有什么用&#xff0c;于是自己摸索了教程 1.拍一张纯色背景…

开一家最美证件照照相馆需要注意什么

如果说婚纱产业是大餐&#xff0c;需要前期准备的比较多&#xff0c;消费也高&#xff0c;绝对利润也大&#xff0c;那么证件照就是快餐&#xff0c;这种服务非常好复制&#xff0c;投入小&#xff0c;但是成本利润率应该相当高&#xff0c;甚至高于婚纱行业&#xff0c;而且受…

武汉市服务业领军企业认定条件、流程及申报政策奖励补贴标准

介绍关于武汉市服务业领军企业的认定对象、认定条件、认定方法&#xff08;包括认定基础指标及权重、计分办法、认定时序及名额&#xff09;、流程以及武汉市服务业领军企业的相关奖励补贴政策&#xff0c;看完下文介绍如果你还有不清楚的或者想要申报了解具体操作实施方法的可…

最美证件照工作室需要买什么东西

大学生创业&#xff0c;在学校商场附近开摄影工作室&#xff0c;主营以提供精致证件照、结婚登记照、职业形象照、全家福、团队合影为核心服务。随着社会的发展和对形象的重视&#xff0c;这个行业会火&#xff0c;果不其然&#xff0c;通过多元化的包装及推广&#xff0c;成了…

安徽身份证网上办理最全攻略

大家好呀&#xff0c;大家都在苦恼线下办理身份证的丑的时候&#xff0c;我已经可以在网上办理身份证了&#xff0c;还可以邮寄到家了&#xff0c;好像大部分省份都没有&#xff0c;不过庆幸的是安徽有&#xff01;下面就给大家介绍下我是如何网上办理身份证的吧。 以下适合所…

在家就能拍,韩系证件照拍摄教程

证件照常见的三种颜色证件照&#xff0c;用途分别运用在这些地方&#xff1a; 白底&#xff1a;护照、签证、驾驶证、身份证二代身份证相等&#xff1b;红底&#xff1a;保险、医保、考证、证书、IC卡、暂住证、结婚照 等&#xff1b;蓝底&#xff1a;简历、毕业证、工作证、港…

免费制作证件照,这3个在线网站千万别错过

想必大家都拍过很多次证件照&#xff0c;特别踏入社会后需要用到证件照的地方就更多了&#xff0c;每次都去照相馆不仅费钱还需要花费时间。所以今天给大家分享3个证件照在线制作网站&#xff0c;每个工具都有自己的特点&#xff0c;不仅支持裁剪证件照&#xff0c;还支持更换背…

武汉市办理护照程序

<script type"text/javascript"> </script> <script src"http://pagead2.googlesyndication.com/pagead/show_ads.js" type"text/javascript"></script> 武汉市户籍居民因私出国申请按下列程序办理护照。&#xff08;…

MySQL server安装记录

1 安装Notepad 运行下载的 npp.7.9.Installer.x64.exe 2 安装MySQL 将mysql-8.0.22-winx64.zip解压缩&#xff0c;我将其放置D盘根目录下。 进入文件夹&#xff0c;在目录中新建文件夹data和文件my.ini 用NotePad打开my.ini&#xff0c;输入以下内容并保存&#xff0c;其中目…

STM32单片机RS485远程PID直流电机调速系统光电传感器

实践制作DIY- GC0137-RS485远程PID直流电机调速系统 基于STM32单片机设计-RS485远程PID直流电机调速系统 二、功能介绍&#xff1a; 主机&#xff1a;STM32F103C系列最小系统LCD1602直流电机光电测速MX15系列驱动模块4*4矩阵键盘RS485收发电路 从机&#xff1a;STM32F103C系…

@AllArgsConstructor、@Data、@NoArgsConstructor、@RequiredArgsConstructor注解含义及区别?

AllArgsConstructor&#xff1a; AllArgsConstructor注解用于生成全参构造函数&#xff0c;默认生成构造函数的访问权限也是public。注解加在类上时&#xff0c;会为所有字段生成构造函数。 Data: Data注解用于生成Java Bean所需的所有方法&#xff0c;例如equals、hashCode…

C++ Release版软件 程序运行丢失MSVCR120D.dll的解决方法

软件在Debug模式下运行时正常的&#xff0c;但是切换到Release模式下就弹出错误提示&#xff1a;无法启动此程序&#xff0c;因为计算机中丢失MSVCR120D.dll。尝试重新安装该程序以解决此问题。 解决方法如下&#xff1a; 1、项目“属性”---->配置给为“Release”版本----&…

丰田再曝信息泄露,241万车主信息“裸奔”

据外媒6月1日报道&#xff0c;丰田在5月31日表示&#xff0c;2016年10月到2023年5月期间&#xff0c;该公司在大洋洲和亚洲部分国家&#xff08;不包括日本&#xff09;的客户信息可能已经被泄露。 目前&#xff0c;受影响车主总数至少达241万人。 丰田公司5月31日称&#xf…

YOLOv8训练参数详解

全部参数表 首先罗列一下官网提供的全部参数。 1. model ✰✰✰✰✰ model: 模型文件的路径。这个参数指定了所使用的模型文件的位置&#xff0c;例如 yolov8n.pt 或 yolov8n.yaml。 选择.pt和.yaml的区别 若我们选择 yolov8n.pt这种.pt类型的文件&#xff0c;其实里面是包…

【CSS 04】Zoro 外边距 外边距合并 内边距 内容高度与宽度 框模型 轮廓

CSS 说在前面外边距 margin外边距合并 margin_collapse内边距 padding高度与宽度 dimension框&#xff08;盒子&#xff09;模型 boxmodel轮廓 outline 说在前面 最近发现一个有趣的事情&#xff0c;就是CSDN会把我写在【】中的Zoro当做文章主要技术关键词&#xff0c;尽管我在…

Hadoop之MapReduce概述

MapReduce概述 MapReduce定义MapReduce优缺点MapReduce核心思想MapReduce进程MapReduce编程规范MapTask并行度决定机制ReduceTask并行度决定机制mapreduce中job的提交流程MapReduce工作流程shuffle机制分区partition数据清洗&#xff08;ETL&#xff09;进一步分析MapTask和Red…