在Android 项目不忙之余,自学了微信小程序入门。常听前辈说,做一名开发人员最重要的不是你会什么语言,
而是在面对不会的语言和未接触过的任务时,有着怎样的学习力和学习逻辑。仿佛又回到了高三那一段难忘的学习阶段,用了小三天时间,可以说是入了个小门。下面将自己踩得坑,和从别人的帖子里学来的经验,做一个总结,留给自己回忆,留给后人学习。

一、小程序是什么。

            首先,你要对小程序的开发有一个整体的概念。

            对于小程序到底是什么的这个问题,百度百科已经给出了一个比较亲民且容易理解的答案。

Q:小程序是什么?它有着什么样的功能?


A:小程序是一种不需要下载安装即可使用的应用,它实现了应用“触手可及”的梦想,用户扫一扫或者搜一下即可打开应用。也体现了“用完即走”的理念,用户不用关心是否安装太多应用的问题。应用将无处不在,随时可用,但又无需安装卸载。对于开发者而言,小程序开发门槛相对较低,难度不及APP,能够满足简单的基础应用,适合生活服务类线下商铺以及非刚需低频应用的转换。小程序能够实现消息通知、线下扫码、公众号关联等七大功能。其中,通过公众号关联,用户可以实现公众号与小程序之间相互跳转。由于小程序不存在入口。[6]

Q:小程序可以和现有的App 打通吗?

A:小程序可以借助微信联合登录,和开发者已有的App <https://baike.baidu.com/item/App/6133292>
 后台的用户数据进行打通,但不会支持小程序和App 直接的跳转。

Q:微信已经有了订阅号、服务号、企业号,小程序和这三者有什么不同?

A:小程序、订阅号、服务号、企业号是并行的体系。

Q:外界有说法称,小程序的推出意味着微信要做一个应用分发市场,是这样吗?

A:微信推出小程序,并非想要做应用分发市场,而是给一些优质服务提供一个开放的平台。

        但从小程序的开发结构上来说,微信小程序应该属于前端开发,其结构中的wxml、js、wxss同web开发的结构有类似的地方。





二、开发工具和开发环境

        这一部分网上有很多帖子可以查找,官方也给出了工具下载和开发api的地址。

       
微信公众平台给出了小程序的设计、介绍、使用、注册、工具、数据绑定等几乎全部功能的说明,初学者可以先去浏览一遍,心里对小程序有个粗略的认识,将工具下载安装,账号注册,做好一切准备之后,再来进行入门的开发学习。

        微信公众平台关于小程序的入口地址:
https://mp.weixin.qq.com/debug/wxadoc/dev/index.html?t=2018211
<https://mp.weixin.qq.com/debug/wxadoc/dev/index.html?t=2018211>

三、新建项目,认识架构





        打开工具的时候,会进入这个新建项目的页面。

        可以看到,要添加一个新的小程序项目需要填写三部分内容:AppID,项目名称,项目目录。为了能快速开发,我们先选择 无AppID
这个选项,如果正式开发,是需要添加AppId的,关于Appid的部分可以去查询资料。

        项目目录,是指你的小程序的代码将放在哪个目录下,你可以自己在本地创建一个文件夹,也可以在github创建一个新项目,都可以。

配置小程序

这一节,我们将介绍小程序的配置。首先,让我们来看看项目自动生成的app.json文件长什么样子。

{

  "pages":[

    "pages/index/index",

    "pages/logs/logs"

  ],

  "window":{

    "backgroundTextStyle":"light",

    "navigationBarBackgroundColor": "#fff",

    "navigationBarTitleText": "WeChat",

    "navigationBarTextStyle":"black"

  }

}

其实这里,共有五个部分可以配置,分别是pages, window, tarBar, networkTimeout和debug

pages:定义的是这个小程序由哪些页面组成。

在以后需要新增或者减少页面时,都需要在这里进行设置,有几个页面pages数组就有几项。

可以看到pages是一个数组,而数组的第一项就是小程序的初始页面,你可以试着把logs页面移动到最前面看看效果,这在开发的时候是一个不错的小技巧。

还有一个技巧要分享给你的是,在我们需要添加一个新页面的时候,没必要傻傻的手动去创建文件夹,然后新建xxx.josn, xxx.js, xxx.wxml,
xxx.wxss这四个文件。我们只要在 pages数组中 添加一个你想创建的页面,然后 Ctrl + s 保存即可!是不是很酷?

{

  "pages":[

    "pages/logs/logs",

    "pages/index/index"

  ],

  ...

}

window: 定义的是窗口的配置信息。

属性类型默认值描述

navigationBarBackgroundColorHexColor#000000导航栏背景颜色,如"#000000"

navigationBarTextStyleStringwhite导航栏标题颜色,仅支持 black/white

navigationBarTitleTextStringa导航栏标题文字内容

backgroundColorHexColor#ffffff窗口的背景色

backgroundTextStyleStringdark下拉背景字体、loading 图的样式,仅支持 dark/light

enablePullDownRefreshBooleanfalse是否开启下拉刷新

tarBar: 用来定义 tabBar 的表现

tabBar 是一个数组,只能配置最少2个、最多5个 tab,tab 按数组的顺序排序。

我们可以在项目目录下添加一个images文件,用来存放我们的图片文件。

注意:目前小程序只支持网络图片或者base64图片,使用本地图片需要将图片转为base64代码








networkTimeout: 用来设置各种网络请求的超时时间。

如果你不是很清楚这个networkTimeout配置有什么作用,那么忽略就好。这对实际开发并没有什么影响。

属性类型必填说明

requestNumber否wx.request的超时时间,单位毫秒

connectSocketNumber否wx.connectSocket的超时时间,单位毫秒

uploadFileNumber否wx.uploadFile的超时时间,单位毫秒

downloadFileNumber否wx.downloadFile的超时时间,单位毫秒





小程序的主体部分,可以从图中看出,主要有三个部分。

        1)app.js:小程序逻辑,初始化APP

        2)app.json :小程序配置,比如导航、窗口、页面http请求跳转等。全局配置页面文件的路径、窗口表现、设置网络超时时间、设置多
tab 等。

        3)app.wxss:公共样式配置

前面也说了,小程序主要有四个页面组成部分

        1)js:页面逻辑

        2)wxml:页面结构展示

        3)wxss:页面样式表

        4)json:页面配置,配置一些页面展示的数据

四、添加一个button

        下面让我们来添加一个button吧

            首先,我们要告诉小程序有哪些页面。 其次,需要设置小程序的导航栏标题,图如上面的app.json图中所示。


   
1.首先,打开index.wxml页面,这个页面现在就是被首页tab调用的页面,先不管在哪调用的,我们现在页面中加三个button。小程序的页面架构跟web页面有些类似,wxml类似于html,从图中可以看到,将button放到view这个布局中,bindtab是点击事件的调用名,其点击效果会在对应的js页面中被触发。

      2.对应上图,我们可以找到js中对应的事件触发及所调用的页面






    3.此时如果运行,点击按钮,有可能并不会触发页面跳转,而且还会报页面不存在的错误,这是由于触发的跳转页面的事件中所写的目标页面并没有在app.json中注册的原因,也就是这里。





    4.按钮或者页面的样式是什么样的,宽的扁的圆的,就卸载对应的wxss中就可以了。


如上所示四步,就可以写出入门的简单的button、text、tab等,还可以触发事件,如果你的js很棒的话,那么就可以进行稍微复杂的页面和操作啦。

欢迎留言交流~

友情链接
ioDraw流程图
API参考文档
OK工具箱
云服务器优惠
阿里云优惠券
腾讯云优惠券
华为云优惠券
站点信息
问题反馈
邮箱:ixiaoyang8@qq.com
QQ群:637538335
关注微信