小程序入坑指南 | 鹅厂优文

小程序入坑指南 | 鹅厂优文

大家好,又见面了,我是你们的朋友全栈君。

欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~

作者:卢文喆 | 腾讯云UI工程师

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

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

帐号

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

开发语言

小程序框架本身提供了一套描述语言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,切记!

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

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

问答

短视频可以通过什么技术接入小程序?

相关阅读

微信小程序,开发大起底

刘翌:如何利用小程序技术解决企业销售难题

李明:微信小游戏技术分享

此文已由作者授权腾讯云+社区发布,原文链接:https://cloud.tencent.com/developer/article/1109113?fromSource=waitui

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/107555.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 简述朴素贝叶斯算法的基本原理_贝叶斯分析例题

    简述朴素贝叶斯算法的基本原理_贝叶斯分析例题朴素贝叶斯算法(NaiveBayesianalgorithm)是应用最为广泛的分类算法之一,在垃圾邮件分类等场景展露出了非常优秀的性能。朴素贝叶斯公式来历朴素贝叶斯,名字中的朴素二字就代表着该算法对概率事件做了很大的简化,简化内容就是各个要素之间是相互独立的。比如今天刮风和气温低,两个要素导致了不下雨的结果。实际上刮风可能导致气温低,而且刮风对于天晴的影响会更大,朴素贝叶斯认为刮风和气…

    2022年10月27日
  • linux 编译汇编,linux下的汇编教程

    linux 编译汇编,linux下的汇编教程linux下的汇编教程第一部分Linux下ARM汇编语法尽管在Linux下使用C或C++编写程序很方便,但汇编源程序用于系统最基本的初始化,如初始化堆栈指针、设置页表、操作ARM的协处理器等。初始化完成后就可以跳转到C代码执行。需要注意的是,GNU的汇编器遵循AT&T的汇编语法,可以从GNU的站点(www.gnu.org)上下载有关规范。一.Linux汇编行结构任何汇编行都是如下结构…

  • 前端的模块化_模块化设计

    前端的模块化_模块化设计前言在JavaScript发展初期就是为了实现简单的页面交互逻辑,寥寥数语即可;如今CPU、浏览器性能得到了极大的提升,很多页面逻辑迁移到了客户端(表单验证等),随着web2.0时代的到来,Ajax技术得到广泛应用,jQuery等前端库层出不穷,前端代码日益膨胀,此时在JS方面就会考虑使用模块化规范去管理。本文内容主要有理解模块化,为什么要模块化,模块化的优缺点以及模块化规范,并且介绍下开发中…

    2022年10月23日
  • python中的merge函数_Python Merge函数原理及用法解析[通俗易懂]

    python中的merge函数_Python Merge函数原理及用法解析[通俗易懂]Merge函数的用法jfz免费资源网简单来说Merge函数相当于Excel中的vlookup函数。当我们对2个表进行数据合并的时候需要通过指定两个表中相同的列作为key,然后通过key匹配到其中要合并在一起的values值。jfz免费资源网然后对于merge函数在Pandas中分为1vs1,多(m)vs1,以及多(m)vs多(m)这三种场景。但是平时用的最多的往往是多vs1的这种场景。也就是说2…

  • mt4交易系统源码_如何将源码加载到mt4里面

    mt4交易系统源码_如何将源码加载到mt4里面1、打开编辑器:第二步,新建一个指标或者eaqml4文件.第三步创建一个ea文件:点击下一步:命名,aaa,点击下一步:全部不打勾,点击下一步:全部不打勾,点击完成:然后全部选中,删除代码:然后选中源码,复制到aaa里面,然后点击编写:就可以在ea里面找到你复制的ea了。指标的源码跟ea的一样,只需要建立一个指标文件,然后复制进去就可以了。如果觉得文章对你有帮助,可以关注公众号,谢谢您…

  • Java IO层次体系结构[通俗易懂]

    Java IO层次体系结构[通俗易懂]在整个Java.io包中最重要的就是5个类和一个接口。5个类指的是File、OutputStream、InputStream、Writer、Reader;一个接口指的是Serializable.掌握了这些IO的核心操作那么对于Java中的IO体系也就有了一个初步的认识了   JavaI/O主要包括如下几个层次,包含三个部分:   1.流式部分――IO的主体部分;  2.非流式…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号