一
视图与渲染:1.动态改变文字------在JS中this.setData({text: …})在JS data中定义变量show:true
2.通过按钮点击事件改变文字------在函数中var isShow;this.setData({text: …,show:!isShow})
3.wx:for中{{index}}代表数组下标,{{item}}代表数组内容
事件:点击事件 tap、长按事件 longtap、触摸事件touch…、其他事件,前三种属于冒泡事件绑定事件的方法有bind绑定和catch绑定(可以阻止冒泡事件的发生),在函数的括号中加event—》dataset
如果要添加自己的数据,比如在view中使用date-title赋值,会在dataset中显示出来
配置:1.app.json的pages中第一个定义的页面为显示的页面
2.tabBar中的路径必须有一个是首页,否则不会显示
3.页面的配置是为了覆盖app中的设置
二
主体文件: 微信主体部分由3个文件组成,这3个文件必须放在项目的目录中,负责小程序的整体配置,他们的名称是固定的。
1.app. js小程序逻辑文件,主要用来注册小程序全局实例。在编译时,app. js文件会和其他页 面的逻辑文件打包成一个JavaScript 文件。该文件在项目中不可缺少。
2.app. json 小程序公共设置文件,配置小程序全局设置。该文件在项目中不可缺少。
3.app. wxss小程序主样式表文件,类似 HITML的:css 文件。在主样式表文件中设置的样式在其他页面文件中同样有效。该文件在项目中不是必需的。
页面文件:小程序通常是由多个页面组成的,每个页面包含4个文件,同一页面的这4个文件必须具有相同的路径与文件名。当小程序被启动或小程序内的页面进行跳转时,小程序会根据app.json设置的路径找到相对的资源进行数据绑定。
1.js文件 页面逻辑文件,在该文件中编写JavaSoript 代码控制页面的逻辑。该文件在每个小程序的页面中不可缺少。
2.wxnl文件 页面结构文件,用于设计页面的布局、致据鄉定等,类似EITMI 页面中的.html 文件。该文件在页面中不可缺少。
3.wxss文件 页面样式表文件,用于定义本灭面中用到的各类样式表。当页面中有样式表文件时,文什中的样式规测会层發理益 aor woas 中的样式现则:否则,直按使用app.wxss 中指定的样式规则。该文件在页面中不可缺少。
4.json 文件 页面配置文件。该文件在页面中不可缺少。
视图层: MINA 框架的视图层由 WXML 与WXSS 编写,由组件来进行展示。对于微信小程序而言,视图层就是所有。wxml 文件与.wxss 文件的集合:wxml 文件用于描述页面的结构;.wxss 文件用于描达页面的样式。
逻辑层:用于处理事务逻辑,实现数据管理,网络通信
数据层: 数据层在逻辑上包括页面临时数据或缓存。文件存储(本地存储)和网络存储与调用。
1.页面临时数据或缓存2.文件存储(本地存储)3.网络存储与调用
配置文件:小程序的全局配置保存在全局配置文件(app.json)中,使用全局配置来配置页面文件(pages)的路径、设置窗口(window)表现、设定网络请求API的超时时间值(network Timeout)以及配置多个切换页面(tabBar)等。
1.pages配置项
pages 配置项接受一个数组,用来指定小程序由哪些页面组成,数组的每一项都是字符串,代表对应页面的”路径“+”文件名“。 设置pages配置项时,注意:①数组的第一项用于设定小程序的初始页面。②在小程序中新增或减少页面时,都需要对数组进行修改。③文件名不需要写文件扩展名。小程序框架会自动寻找路径及对.js、.json、.wxml、.wxss文件进行整合数据绑定。
2.window配置项: window配置项负责设置小程序状态栏、导航条、标题、窗口背景色等系统样式。
3.taBar配置项:当需要在程序顶部或底部设置菜单栏时,可以通过配置tabBar配置项来实现。
4.networkTimeout配置项:小程序中各种网络请求API的超时时间只能通过networkTimeout配置项进行统一设置,不能在API中单独设置。
5.debug配置项: debug配置项用于开启开发者工具的调试模式,默认为false。开启后,页面的注册、路由、数据更新、事件触发等调试信息将以info的形式输出到Console(控制台)面板上。
页面配置文件: 页面配置文件(*.json)只能设置本页面的窗口表现,而且只能设置window配置项的内容。在配置页面配置文件后,页面中的window配置值将覆盖全局配置文件(app.json)中的配置值。
页面事件:①定义事件函数在.js文件中定义事件函数来实现相关功能,当事件响应后就会执行事件处理代码。②调用事件 调用事件也称为注册事件。调用事件就是告诉小程序要监听哪个组件的什么事件,通常在页面文件中的组件上注册事件。③冒泡事件 冒泡事件是指某个组件上的事件被触发后,事件会向父级元素传递,父级元素再向其父级元素传递,一直到页面的顶级元素。
④非冒泡事件 非骨泡事件是指某个组件上的事件被触发后,该事件不会向父节点传递
三
块级元素:块级元素默认占一行高度,一行内通常只有一个块级元素(浮动后除外),添加新的块级元素时,会自动换行,块级元素一般作为盒子出现。块级元素的特点如下:(一个为一行,可以设置长宽高)1.一个块级元素占一行2.块级元素的默认高度由内容决定,除非自定义高度。3.块级元素的默认宽度是父级元素的内容区宽度,除非自定义宽度。4.块级元素的宽度、高度、外边距及内边距都可以自定义设置。5.块级元素可以容纳块级元素和行内元素。
行内元素:不必从新一行开始,通常会与前后的其他行内元素显示在同一行中,它们不占有独立的区域,仅靠自身内容支撑结构,一般不可以设置大小,常用于控制页面中文本的样式。将一个元素的display属性设置为inline后,该元素即被设置为行内元素。行内元素的特点如下:(由内容决定,text最常见的行内元素,不能设置长宽高,文字在后面点缀叠加)1.行内元素不能被设置高度和宽度,其高度和宽度由内容决定。2.行内元素内不能放置块级元素,只级容纳文本或其他行内元素。
3.同一块内,行内元素和其他行内元素显示在同一行。
flex布局:flex布局是万维网联盟(World Wide Web Consortium,局方案,该布局可以简单快速地完成各种可以伸缩的设计,以便很好地支持响应式布0ex是fexible box的缩写,意为弹性盒子模型,可以简便、完整、响应式地实现各种页布局。
Aex布局主要由容器和项目组成,采用fex布局的元素称为ex容器(fexcontaine0ex布局的所有直接子元素自动成为容器的成员,称为fex项目(flexitem)。
容器默认存在两根轴:水平的主轴(main axis)和垂直的交叉轴(cross axis)。主辆开始位置(与边框的交叉点)叫做main start,结束位置叫做main end;交叉轴的开始位置做cross start,结束位置叫做 cross end。
四
组件:组件是页面视图层(wxml)基本组成单元,组件组合可以构建功能强大的页面结构小程序为开发者提供了30多个基础组件(容器视图、导航、媒体......)每个组件都由一对标签组成(开始和结束标签)内容可以放在其中,也可以为组件
image:图像组件,与HTML的<img/>类似,系统默认image高2250px宽300px,image 组件中的 mode 属性有 13 种模式,其中缩放模式有4种,裁剪模式有9种。
1.缩放模式:scaleToFill 不保持纵横比缩放图片,使图片的宽高完全拉伸至填满image 元素。aspectFit 保持纵横比缩放图片,使图片的长边能完全显示出来。也就是说,可以将图片完整地显示出来。aspecFill保持纵横比缩放图片,只保证图片的短边能完全显示出来。也就是说图片通常只在水平或垂直方向是完整的,在另一个方向将会发生截取。widihFix 宽度不变,高度自动变化,保持原图宽高比不变
2.载剪模式:top不缩放图片,只显示图片的顶部区域;bottom不缩放图片,只显示图片的底部区域;centern不缩放图片,只显示图片的中间区域;left不缩放图片,只显示图片的左边区域;right不缩放图片,只显示图片的右边区域;top_left 不缩放图片,只显示图片的左上边区域;right-right不缩放图片,只显示图片的右上边区域;bottom_left不缩放图片,只显示图片的左下边区域;bottom_right不缩放图片,只显示图片的右下边区域;
map:页面显示路径和地图(地图的绘制图标,路线等等),用于lbs位置服务或路径指引(不能在croll-view,swiper,picker-view,movable-view使用);markers用于地图显示标记位置
polyline指定一系列坐标,数组 第一项连线到最后一项,(可以指定颜色,宽度,线型以及带箭头等等)
五
即速应用:无须编辑,开发流程简单,零门槛制作;使用即速应用来开发微信小程序的过程非常简单,无须储备相关代码知识,没有开发经验的人也可以轻松上手。登录即速应用的官方网站(www.jisuapp.cn),进入制作界面,从众多行业模板中选择一个合适的模板。在模板的基础上进行简单编辑和个性化制作。制作完成后,将代码一键打包并下载。将代码上传至微信开发者工具。上传成功后,等待审核通过即可。
即速应用为广大开发者提供了非常齐全的行业解决方案;这些小程序行业模板可以有效地帮助企业拓宽资源整合渠道,降低运营成本,提高管理效率。
即速应用的功能组件和管理后台非常实用,可以根据实际情况解决商家的不同需求。例如,到店体系可以实现电子点餐、排队预约和线上快速结算;社区体系可以实现评论留言和话题管理;多商家系统可以实现分店统一管理、多门店统一运营;营销工具可以实现会员卡、优惠券的设置等营销方式……
双栏组件:用来布局整体,它可以把一个区块分为两部分,操作时显示一个分隔的标志,便于操作,预览时则不会出现分割线组件被放置于任意组件之间,用于实现分割。
面板组件:相当于一个大画板,用户可以将很多基本(甚至高级)的组件(如文本组件、图片组件、按钮组件、标题组件、分类组件、音频组件、双栏组件、计数组件等)放进面板组件里一起管理。
自由面板组件:是指放置在该面板内的组件可以自由拖动,调节组件大小。用户既可以向自由面板内拖入部分组件(包括文本组件、图片组件和按钮组件),也可以拖入任意相关容器组件,用于不规则布局 。
顶部导航组件:固定于页面顶部,用于编辑顶部的导航。常用的手机应用在顶部有一条导航,上面写有手机应用App的名称或logo,以及返回键等,底部导航组件固定于页面底部,用于编辑底部的导航。
动态分类组件:仅适用于电商、到店类小程序。用户通过选择动态分类组件的样式,可以实现顶部分类、侧边栏分类来展示应用数据、商品数据等。动态分类的二级有图模式只适用于电商类小程序
基本组件:文本,图片,按钮,标题,轮播,分类,图片列表,图文集,视频;文本组件:用于展示文字、设置点击事件,是小程序页面中最常用的组件; 图片组件:用于在页面中展示图片;
按钮组件:用于在页面中设置按钮;标题组件:用于在页面中设置标题;分类组件:可以设置不同内容展示在不同类别中,还可以添加、删除分类的个数及进行相应的设置;
图片列表组件:可以将图片以列表的形式展示,还可以设置图片的名称、标题和点击事件;
轮播组件:用于实现图片的轮播展示;图文集组件:用于展示图片、标题和简介;
视频组件:用于展示视频,视频组件提供网页应用、小程序和云服务3种视频来源,网页应用使用视频通用代码来确定视频来源;
高级组件:通常需要后台数据,通过设置后台数据来实现数据后台化,让小程序的数据随时更新,及时修改 。
动态列表组件:是容纳基础组件来展示后台数据的容器,通过添加基础组件来展示对应的后台数据
个人中心组件:显示个人相关信息的组件,包括图像、昵称、我的订单、收货地址、购物车等
动态表单组件:相当于HTML中的<form>标签,是一个容器组件,可以添加子表单组件和基本组件,用来收集用户提交的相关信息给后台数据对象 评论组件:提供信息发布或回复信息的组件
计数组件:可以用于点赞、统计浏览量等类似的计数功能
六
网络App:1.wx.request(Object)接口 用于发起HTTPS 请求。
2.wx.uploadFile(Objec)接口 用于将本地资源上传到后台服务器。
3.wx.downloadFile(Object)接口 用于下载文件资源到本地。
4.wx.connectSocket(Object)接口 用于创建一个WebSocket 连接。
5.wx.sendSocketMessage(Object)接口用于实现通过 WebSocket 连接发送数据。
6.wx.closeSocket(0bject)接口 用于关闭 WebSocket 连接。
7.wx.onSocketOpen(CallBack)接口用于监听WebSocket 连接打开事件。
8.wx.onSocketErmr(CallBack)接口 用于监听 WebSocket 错误。
9.wx.onSocketMessage(CallBack)接口 用于实现监听WebSocket接收到服务器的消息事件
10.wx.onSocketClase(CallBack)接口 用于实现监听 WebSocket 关闭。
图片API:实现对相机拍照图片或本地相册图片进行处理,主要包括以下4个AP接口:
wx.chooselmage(Objec)接口 用于从本地相册选择图片或使用相机拍照。wx.previewlmage(Object)接口用于预览图片。
wx.getmagelnfo(0bjeet)接口 用于获取图片信息。
wx.savefmageTo
录音API: wx.startRecord(0bject)接口 用于实现开始录音;wx.stopRecord(0bject)接口 用于实现主动调用停止录音.PhotosAlbum(Objeet)接口用于保存图片到系统相册。
频播放控制API主要用于对语音媒体文件的控制,包括播放、暂停、停止及audio 组4的控制,主要包括以下3个API:wx.playVoice(Object)接口 用于实现开始播放语音;wx.pauseVoice(Object)接口 用于实现暂停正在播放的语音;wx.stopVoice(Object)接口 用于结束播放语音。
音乐播放控制 API主要用于实现对背景音乐的控制,音乐文件只能是网络流媒体,不能是本地音乐文件。音乐播放控制API主要包括以下8个API:wx.playBackgroundAudio(0bject)接口 用于播放音乐;wx. getBackgroundAudioPlayerState(0bject)接口 用于获取音乐播放状态;wx.seekBackgroundAudio(0bject)接口 用于定位音乐播放进度;wx.pauseBackgroundAudio()接口用于实现暂停播放音乐;wx.stopBackgroundAudio()接口 用于实现停止播放音乐;wx.onBackgroundAudioPlay(CallBack)接口用于实现监听音乐播放;wx.onBackgroundAudioPause(CallBack)接口用于实现监听音乐暂停;wx.onBackgroundAudioStop(CallBack)接口用于实现监听音乐停止。
文件App:主要包括以下5个API接口:wx.saveFile(Object)接口 用于保存文件到本地;wx.getSavedFileList(Object)接口 用于获取本地已保存的文件列表;wx.getSaveFileInfo(0bject)接口 用于获取本地文件的文件信息;wx.removeSaveFile(Object)接口 用于删除本地存储的文件;
wx.openDocument(0bject)接口用于新开页面打开文档,支持格式:doc、xsppt、pdf、docx、xlsx、ppts。
本地数据即缓存API: 小程序提供了以键值对的形式进行本地数据缓存功能,并且是永久存储的,但最大不趣过10MB,其目的是提高加载速度。数据缓存的接口主要有4个:
wx.setStorage(0bject)或wx.setStorageSyne(key,data)接口 用于设置缓存数据;wx.getStorage(0bject)或wx.getStorageSync(key)接口 用于获取缓存数据;wx.removeStorage(Object)或wx.removeStorageSync(key)接口用于删除指定缓在
数据;wx.clearStorage()或wx.clearStorageSync()接口 用于清除缓存数据其中,带 Syc 后缀的为同步接口,不带 Syne 后缀的为异步接口。
位置信息API:小程序可以通过位置信息API来获取或显示本地位置信息,小程序支持WGS84和CCm标准、WGS84 标准为地球坐标系,是国际上通用的坐标系;CCj02标准是中国国家测绘局制定的地理信息系统的坐标系统,是由WGS84坐标系经加密后的坐标系,又称为火星坐标系默认为WGS84标准,若要查看位置需要使用GCj02标准。主要包括以下3个API接口:
wx.getLocation(0bject)接口 用于获取位置信息;wx.chooseLocation(0bject)接口 用于选择位置信息;wx.openLocation(0bject)接口用于通过地图显示位置。
设备相关API:设备相关的接口用于获取设备相关信息,主要包括系统信息、网络状态、拨打电话及扫码等。主要包括以下5个接口API:wx.peuSystemlnfo(0bject)接口、wx.getSystemInfoSyne()接口用于获取系统信息;wx.geNetworkType(0bject)接口 用于获取网络类型;wx.onNetworkStatusChange(CallBack)接口用于监测网络状态改变;wx.makePhoneCall(Objeet)接口用于拨打电话;wx.scanCode(0bjeet)接口用于扫描二维码。