当我不忙于Android项目时,我自学了如何开始使用微信小程序。经常听前辈说,做开发者最重要的不是你会什么语言,而是面对你不知道的语言和没有的任务,你有什么样的学习能力和学习能力以前接触过。
逻辑。仿佛又回到了高三那刻骨铭心的学习阶段。花了三天时间,可以说是进了一个小门。下面,我将自己从别人的帖子中学到的经验做一个总结,留给自己的记忆和后人学习。
一、什么是小程序。
首先,你要对小程序的开发有一个整体的概念。
对于小程序到底是什么的这个问题,百度百科已经给出了一个比较亲民且容易理解的答案。
问:什么是小程序?它有什么样的功能?
A:小程序是无需下载和安装即可使用的应用程序。实现了“触手可及”的梦想。用户可以扫描或搜索打开应用程序。也体现了“跑完就走”的理念,用户无需担心是否安装了太多应用。应用程序将无处不在,始终可用,无需安装或卸载。对于开发者来说,小程序开发的门槛比较低,难度比APP小。可以满足简单的基础应用,适用于生活服务线下店铺的转换和非刚性低频应用。小程序可实现消息通知、离线扫码、公众号关联等七大功能。其中,通过公众号的关联,用户可以实现公众号与小程序之间的相互跳转。因为小程序没有入口。 [6]
Q:小程序可以与现有应用对接吗?
A:小程序可以在开发者已有的App后台使用微信与用户数据联合登录,但不支持小程序与App之间的直接跳转。
Q:微信已有订阅号、服务号、企业号。小程序和这三者有什么区别?
A:小程序、订阅号、服务号、企业号是并行系统。
Q:有人说小程序的上线意味着微信将成为一个应用分发市场。这是真的吗?
A:微信推出小程序并不是为了做一个应用分发市场,而是为一些优质服务提供一个开放的平台。
但从小程序的开发结构上来说,微信小程序应该属于前端开发,其结构中的wxml、js、wxss同web开发的结构有类似的地方。
二、开发工具和开发环境
这一部分网上有很多帖子可以查找,官方也给出了工具下载和开发api的地址。
微信公众平台给出了小程序的设计、介绍、使用、注册、工具、数据绑定等几乎全部功能的说明,初学者可以先去浏览一遍,心里对小程序有个粗略的认识,将工具下载安装,账号注册,做好一切准备之后,再来进行入门的开发学习。
微信公众平台关于小程序的入口地址:https://mp.weixin.qq.com/debug/wxadoc/dev/index.html?t=2018211
三、新建项目并了解架构
打开工具的时候,会进入这个新建项目的页面。
可以看到,要添加一个新的小程序项目需要填写三部分内容:AppID,项目名称,项目目录。为了能快速开发,我们先选择 无AppID 这个选项,如果正式开发,是需要添加AppId的,关于Appid的部分可以去查询资料。
项目目录,是指你的小程序的代码将放在哪个目录下,你可以自己在本地创建一个文件夹,也可以在github创建一个新项目,都可以。
配置小程序
在本节中,我们将介绍小程序的配置。首先我们来看看项目自动生成的app.json文件长什么样子。
{
“页面”:[
"pages/index/index",
"pages/logs/logs"
],
“窗口”:{
"backgroundTextStyle":"light",
"navigationBarBackgroundColor": "#fff",
"navigationBarTitleText": "WeChat",
"navigationBarTextStyle":"black"
}
}
其实可以配置五个部分,分别是pages、window、tarBar、networkTimeout和debug
pages:定义这个小程序包含哪些页面。
以后需要增加或减少页面时,需要在此处进行设置。几页的pages数组中有几项。
可以看到pages是一个数组,数组的第一项就是小程序的起始页。可以尝试将日志页面移到最前面看看效果。这是一个不错的小技巧。
另外一个小技巧分享给大家,就是当我们需要添加新页面的时候,不用傻傻的手动创建文件夹,然后新建一个xxx.josn,xxx.js,
xxx.wxml、xxx.wxss这四个文件。我们只是在 pages 数组中添加一个你想要创建的页面,然后 Ctrl + s
保存!是不是很酷?
{
“页面”:[
"pages/logs/logs",
"pages/index/index"
],
…
}
window:定义窗口的配置信息。
属性类型默认值说明
navigationBarBackgroundColorHexColor#000000导航栏的背景颜色,如“#000000”
navigationBarTextStyleStringwhite 导航栏标题的颜色,只支持黑/白
navigationBarTitleTextStringa 导航栏标题文本内容
backgroundColorHexColor#ffffff 窗口背景色
backgroundTextStyleString 深色下拉背景字体,加载图片样式微信小程序项目描述,仅支持深色/浅色
enablePullDownRefreshBooleanfalse 是否开启下拉刷新
tarBar:用于定义tabBar的性能
tabBar是一个数组,只能配置最少2个最多5个tab。选项卡按数组顺序排序。
我们可以在项目目录中添加一个图片文件来存放我们的图片文件。
注意:目前小程序只支持网络图片或base64图片。使用本地图片,需要将图片转成base64码。
networkTimeout : 用于设置各种网络请求的超时时间。
如果您不知道 networkTimeout 配置的作用,请忽略它。这对实际开发没有影响。
属性类型为必填项
requestNumber wx.request 没有超时时间,单位毫秒
connectSocketNumber wx.connectSocket 无超时时间,单位毫秒
p>
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吧
首先,我们要告诉小程序有哪些页面。 其次,需要设置小程序的导航栏标题,图如上面的app.json图中所示。
1.首先,打开index.wxml页面,这个页面现在就是首页tab调用的页面,不管在哪里调用,我们现在给页面添加三个按钮。小程序的页面结构与网页有些相似,wxml与html相似。从图中可以看出,将按钮放在视图布局中,bindtab为点击事件的调用名,点击效果会在对应的js页面中展示。被触发。
2.对应上图,我们可以在js和被调用页面中找到对应的事件触发器
3.如果此时运行,点击按钮微信小程序项目描述,可能不会触发页面跳转,也会报页面不存在的错误。这是因为触发的页面跳转事件中写入的目标页面没有在app.json中注册的原因就在这里。
4.按钮或页面的样式是什么,宽扁圆,卸载对应的wxss即可。
在上面展示的四个步骤中,可以编写简单的按钮、文字、标签等进行入口,也可以触发事件。如果你的js非常棒,那么你可以做稍微复杂一些的页面和操作。