第四章 页面组件
一、组件定义及属性
组件是页面视图层(WXML)的基本组成单元,组件组合可以构建功能强大的页面结构。
id:组件的唯一表示
class:组件的样式类,对应WXSS中定义的样式、
style:组件的内联样式,可以动态的设置内联样式
hidden:组件是否显示,所有组件默认显示。
data-* :自定义属性,组件触发事件,会发送给事件处理函数。
bind*/catch* :组件的事件,绑定逻辑层相关的处理函数。
二、容器视图组件
容器视图组件是能够容纳其他的组件,是构建小程序页面布局的基础组件。主要包括:
view 、scroll -view 和swiper组件
view组件是块级组件 相当于HTML中的div
scroll-view组件
设置scroll-view 组件的相关属性可以实现滚动视图的功能。
Swoper组件
swiper组件可以实现轮播图,图片浏览,滑动页面等效果。
一个完整的swiper组件 由<swiper>和<swiper-item>两个标签组成,不能单独使用
三、基础组件
基础内容组件包括 icon、text 、和progress ,主要用于视图页面中展示图标、文本和进度条等信息。
icon组件是图标组件,通常用于表示一种状态。
text组件用于展示内容、支持长按选中、支持转义字符 “ \ ” ,属于行内元素
progress组件用于显示进度状态、属于块级元素。
四、表单组件
表单组件主要功能是收集用户信息,并将这些信息传递给后台服务器,实现小程序与用户之间的沟通。
button组件用来实现用户与应用之间的交互,同时按钮的颜色起引导作用。
当被<from>包含时可以通过设置 form-type 属性触发表单对应的事件
radio :单选框组件 单选框用来从一组选项中选取一个按钮。
在小程序中有<radio-group/>(单项选择器)和</radio>(单选项目)两个组件组合而成,redio是互斥的。
checkbox:复选框组件 用于从一组选项中选取多个选项
由<checkbox-group>(多项选择器)<checkbox/>(多选项目)两个组件组成
Switch:Switch组件类似于开关选择器
Slider:slider组件为滑块选择器
picker
picker滚动选择器 用户点击picker组件时,弹出选择器选择
picker组件目前支持5种选择器分别是
1、selector(普通选择器)
2、multiSelector(多列选择器)
3、time(时间选择器)
4、dete(日期选择器)
5、region(省市选择器)
textarer:textarer 组件为多行输入框组件。
label:标签组件,用于提升表单的可用性
可以绑定的控件有:<button/> <checkbox/> <radio/> <switch/>
form :form为表单组件,用来实现将组件内的用户信息进行提交。
image
image 组件为图像组件, 与HTML中的< img/ > 类似,
image组件中的mode 属性有13 种模式, 其中缩放模式有4 种, 裁剪模式有9 种
1.缩放模式
(1)scaleToFill
不保持纵横比缩放图片, 使图片的宽高完全拉伸至填满image 元素。
(2)aspectFit
保持纵横比缩放图片, 使图片的长边能完全显示出来。 也就是说, 可以将图片完整地显示出来。
(3)aspectFill
保持纵横比缩放图片, 只保证图片的短边能完全显示出来。 也就是说,图片通常只在水平或垂直方向是完整的, 在另一个方向将会发生截取。
(4)widthFix
宽度不变, 高度自动变化, 保持原图宽高比不变
audio:audio组件用来实现音乐播放,暂停等。属性表如下:
video
video组件用来实现组件的播放,暂停等
map: map组件用于在页面中显示地图或者路径,常用于LBS(基于位置服务)目前具备绘制图标,路线,半径等能力。
canvas
cavas组件用来绘制图形,相当于一块无色透明的普通画布。
canvas组件本身没有绘制图的能力,仅仅是图形容器,通过API实现绘图功能。
实现绘图需要三步:
(1)创建一个canvas绘图上下文。
var context=wx.createCanvasContext('myCanvas')
(2)使用canvas绘图上下文进行绘图描述。
context.setFillStyle('green') //设置绘图上下文的填充色为绿色
context.fillRect(10,10,200,100) //方法画出一个矩形,填充色为设置的绿色
(3)画图
context.draw
第五章 即速应用
一、特点
1、即速应用的功能特点主要体现在以下几个方面:
开发流程简单, 零门槛制作 使用即速应用来开发微信小程序的过程非常简单, 无须储备相关代码知识, 没有开发经验的人也可以轻松上手。
(1) 登录即速应用的官方网站(www.jisuapp.cn), 进入制作界面, 从众多行业模板中选择一个合适的模板。
(2) 在模板的基础上进行简单编辑和个性化制作。
(3) 制作完成后, 将代码一键打包并下载。
(4) 将代码上传至微信开发者工具。
(5) 上传成功后, 等待审核通过即可。
2.行业模板多样, 种类齐全
3、丰富的功能组件和强大的管理后台
即速应用的功能组件和管理后台非常实用, 可以根据实际情况解决商家的不同需求。
二、界面介绍
即速应用的主界面主要分为4个区域,分别为
菜单栏: 菜单栏中的“风格” 选项用于设置小程序页面的风格颜色, “管理” 选项用于进入后台管理页面, “帮助” 选项用于提示帮助功能, “客服” 选项用于进入客服界面, “历史”选项用来恢复前项操作, “预览” 选项用在PC端预览制作效果, “保存” 选项用于保存已制作的内容, “生成” 选项用于实现小程序打包上线设置。
工具栏:工具栏包括“页面管理” “组件库” 2 个选项卡,
“页面管理” 实现添加页面和添加分组以及对某一页面进行改名、收藏、复制、删除操作。 “组件库” 有9 个基础组件、7 个布局组件、18 个高级组件和2 个其他组件。
编辑区:编辑区是用来制作小程序页面的主要区域,
通过拖拽组件实现页面制作, 右边的“前进” “后退” 选项可以进行恢复操作, “模板” 选项可以用来选择模板, “元素” 选项可以用来显示页面中的组件及其层次关系, “数据” 选项可以用来进行页面数据管理, “模块” 选项可以用来选择模块
属性面板:属性面板用来设置选定组件的属性及样式, 包括“组件” 和“组件样式” 两个选项卡。 “
组件” 选项卡用来设置组件内容及点击事件; “组件样式” 选项卡用来设置组件的样式,不同组件有不同的样式需要设置。
三、即速应用组件
即速应用提供了大量的组件供用户快速布局页面, 包括7 个布局组件、9 个基本组件、18 个高级组件和2 个其他组件。
布局组件
布局组件用于设计页面布局, 主要包括双栏、面板、自由面板、顶部导航、底部导航、分割线和动态分类。
基本组件
基本组件是小程序页面常用的组件,包括文本、图片、按钮、标题、轮播、分类、图片、列表、图文集和视频。
高级组件
高级组件通常需要后台数据,通过设置后台数据来实现数据后台化,让小程序的数据随时更新,及时修改 。分为8个组件
1.动态列表组件:动态列表组件是容纳基础组件来展示后台数据的容器,通过添加基础组件来展示对应的后台数据。
2.个人中心组件:个人中心组件显示个人相关信息,包括图像,昵称,我的订单,收货地址,购物车等
3.动态表单组件:动态表单组件相当于HTML中的<form>标签,是一个容器组件,可以添加子表单组件和基本组件,用来收集用户提交的相关信息给后台数据对象
4.评论组件:评论组件提供信息发布或回复信息的组件,
5.计数组件:计数组件可以用于点赞,统计浏览量等类似的计数功能。
6.地图组件:地图组件用于显示指定地址的地图,常用于实现定位及导航功能,
7.城市定位组件:城市定位组件通常与列表类组件搭配使用,常见搭配有动态列表和商品列表
8.悬浮窗组件:悬浮窗组件的固定搭配有:客服,我的订单,购物车,回到顶部
四、后台管理
即速应用后台管理提供了非常强大的后台管理,开发者在后台进行修改操作就可以让数据即时更新,开发者还可以通过后台来查看小程序数据管理,用户管理,商品管理,营销工具,多商家管理等功能。
第六章 网络API
微信原生API接口或第三方API提供了各类接口实现前后端交互。
网络API可以帮助开发者实现网络URL访问调用、文件的上传和下载、网络套接字的使用等功能处理。微信开发团队提供了10个网络API接口。
wx. request(Object)接口用于发起 HTTPS请求。
wx.uploadFile(Object)接口用于将本地资源上传到后台服务器。
wx. downloadFile( Object)接口用于下载文件资源到本地。
wx. connectSocket( Object)接口用于创建一个WebSocket连接。
wx. sendSocketMessage(Object)接口用于实现通过WebSocket连接发送数据。
wx. closeSocket( Object)接口用于关闭WebSocket连接。
wx.onSocketOpen(CallBack)接口用于监听WebSocket连接打开事件。
wx.onSocketError(CallBack)接口用于监听WebSocket错误。
wx. onSocketMessage(CallBack)接口用于实现监听WebSocket接收到服务器的消息事件。
wx.onSocketClose(CallBack)接口 用于实现监听WedSocket关闭。
常用3个网络API
wx. request(Object)接口用于发起 HTTPS请求。 发起网络请求
wx.uploadFile(Object)接口用于将本地资源上传到后台服务器。 上传文件
wx. downloadFile( Object)接口用于下载文件资源到本地。
多媒体API
图片API实现对相机拍照图片或本地相册图片进行处理,主要包括以下4个API接口:
wx.chooseImage(Object)接口用于从本地相册选择图片或使用相机拍照。
wx. previewImage(Object)接口用于预览图片。
wx. getImageInfo( Object)接口用于获取图片信息。
wx. saveImageToPhotosAlbum(Object)接口用于保存图片到系统相册。
录音API:录音API提供了语音录制的功能,主要包括以下两个API接口:
wx.startRecord (Object) 接口 用于实现开始录音。
wx.stopRecord (Object) 接口 用于实现主动调用停止录音。
6.3.文件API
从网络上下载或录音的文件都是临时保存的,若要持久保存,需要用到文件API。文件API提供了打开、保存、删除等操作本地文件的能力,主要包括以下5个API接口:
wx.saveFile(Object) 接口用于保存文件到本地。
wx.getSaveFileList(Object) 接口用于获取本地已保存的文件列表。
wx.getSaveFileInfo(Object) 接口用于获取本地文件的文件信息。
wx.removeSaveFile(Object) 接口用于删除本地存储的文件。
wx.openDocument(Object) 接口用于新开页面打开文档,支持格式:doc、xls、ppt、pdf、docx、xlsx、ppts。
本地数据及缓存 API
小程序提供了以键值对的形式进行本地数据缓存功能,并且是永久存储的,但最大不超过10MB,其目的是提高加载速度。数据缓存的接口主要有4个:
wx.setStorage( Object)或wx.setStorageSync(key,data)接口用于设置缓存数据。
wx.getStorage(Object)或wx.getStorageSyne(key)接口用于获取缓存数据。
wx.removeStorage( Object)或wx.removeStorageSyne(key)接口用于删除指定缓存数据。
wx.clearStorage( )或wx.clearStorageSync()接口用于清除缓存数据。其中,带Syne后缀的为同步接口,不带Sync后缀的为异步接口
位置信息API
小程序可以通过位置信息API来获取或显示本地位置信息,小程序支持WCS84 和CCj02标准,WGS84标准为地球坐标系,是国际上通用的坐标系;CCj02标准是中国国家测绘局制定的地理信息系统的坐标系统,是由WGS84坐标系经加密后的坐标系,又称为火星坐标系。默认为WGS84标准,若要查看位置需要使用GCj02标准。主要包括以下3个API接口:
wx. getLocation (Object)接口用于获取位置信息。
wx.chooseLocation(Object)接口用于选择位置信息。
wx.openLocation(Object)接口用于通过地图显示位置。
设备相关 API
设备相关的接口用于获取设备相关信息,主要包括系统信息、网络状态、拨打电话及扫码等。主要包括以下5个接口API:
wx.getSystemInfo( Object)接口、wx. getSystemInfoSync()接口用于获取系统信息。
wx.getNetworkType( Object) 接口用于获取网络类型。
wx.onNetworkStatusChange(CallBack)接口用于监测网络状态改变。
wx. makePhoneCall(Object)接口用于拨打电话。
wx.scanCode(Object)接口用于扫描二维码
获取系统信息
wx. getSystemInfo( Object)接口、wx.getSystemInfoSync()接口分别用于异步和同步获取系统信息
回调成功后返回的相关信息
获取网络状态
wx. getNetworkType(Object)用于获取网络类型。
拨打电话
wx. makePhoneCall(Object)接口用于实现调用手机拨打电话。相关参数如下
扫描二维码
wx. scanCode(Object)接口用于调起客户端扫码界面,扫码成功后返回相应的内容。
成功返回的数据如表: