项目的组成结构
pages: 用来存放所有小程序的页面
utils: 用来存放工具性质的模块
app.js:小程序项目的吐口文件
app.json:小程序项目的全局配置文件
app.wxss: 全局样式文件
project.config.json 项目的配置文件
sitemap.json 用来配置小程序及其页面是否允许被微信搜索
小程序页面(pages)的组成部分
在pages 文件夹下,一个文件存放一个页面。每个页面由四个基本文件组成
.js 文件: 页面的脚本文件,存放页面的数据,处理函数等
.json文件:当前页面的配置文件,配置窗口的外观,表现
.wxml文件: 页面的模板结构文件
.wxss文件: 页面的样式表文件
app.json
app.json 是小程序的全局配置。包括了小程序的所有页面路径,窗口外观,界面表现,底部tab等
pages: 用来记录当前小程序的所有页面的路径
windows: 全局定义小程序所有页面的背景色,文字颜色等
style: 全局定义小程序组件所使用的样式版本
sitemapLocation: 用来指明sitemap.json 的位置
页面的.json
配置文件对本页面的窗口外观进行配置,页面中的配置项会覆盖app.json的window中的配置项
WXML 模板
WXML(WeiXin Markup Language)是小程序框架设计的一套标签语言,用来构建小程序页面的结构,其作用类似于网页开发中的HTML。
WXSS样式
WXSS(Weixin Style Sheet) 是一套样式语言,用于描述WXML的组件样式,类似于网页开发中的CSS。
.JS文件
通过.js文件处理用户的操作,例如响应用户的点击,获取用户的位置等等。
app.js: 是整个小程序的入口文件,通过调用App() 函数来启动整个小程序
页面的.js文件:是页面的入口文件,通过调用Page() 函数来创建并运行页面
普通的.js 文件:是普通的功能模块文件,用来封装公共的函数或者属性供页面使用
小程序中的组件是由宿主环境提供的,主要分为9大类:
视图容器、基础内容、表单组件、导航组件、媒体组件、map地图组件、canvas画布组件、开放能力、无障碍访问
<view class="container1">
<view>Aview>
<view>Bview>
<view>Cview>
view>
/* pages/list/list.wxss */
.container1 view{
width:100px;
height:100px;
text-align: center;
line-height: 50px;
}
.container1 view:nth-child(1){
background-color: lightblue;
}
.container1 view:nth-child(2){
background-color: lightgreen;
}
.container1 view:nth-child(3){
background-color: lightpink;
}
.container1{
display: flex;
justify-content: space-around;
}
height: view的高度
width: view的宽度
line-height: view文字距顶部的距离
background-color: 背景颜色
display: 默认竖向排列,flex表示横向排列
justify-content: 布局方式
<scroll-view class="container1" scroll-y="true" >
<view>Aview>
<view>Bview>
<view>Cview>
scroll-view>
/* pages/list/list.wxss */
.container1 view{
width:200px;
height:100px;
text-align: center;
line-height: 50px;
}
.container1 view:nth-child(1){
background-color: lightblue;
}
.container1 view:nth-child(2){
background-color: lightgreen;
}
.container1 view:nth-child(3){
background-color: lightpink;
}
.container1{
border: 1ex solid rgb(168, 179, 211);
height: 150px;
width: 250px;
}
<scroll-view class="container1" scroll-x="true">
<view>Aview>
<view>Bview>
<view>Cview>
scroll-view>
设置每个view的display属性为inline-block,以及滚动容器的white-space的属性为nowrap
/* pages/list/list.wxss */
.container1 view{
width:200px;
height:100px;
text-align: center;
line-height: 50px;
display: inline-block;
}
.container1 view:nth-child(1){
background-color: lightblue;
}
.container1 view:nth-child(2){
background-color: lightgreen;
}
.container1 view:nth-child(3){
background-color: lightpink;
}
.container1{
border: 1ex solid rgb(168, 179, 211);
height: 100px;
width: 250px;
white-space: nowrap;
}
<swiper class="swiper-container">
<swiper-item >
<view class="item">Aview>
swiper-item>
<swiper-item >
<view class="item">Bview>
swiper-item>
<swiper-item >
<view class="item">Cview>
swiper-item>
swiper>
.swiper-container{
height:150px;
}
.item{
height: 100%;
line-height:150px;
text-align: center;
}
swiper-item:nth-child(1){
background-color: rgb(179, 218, 243);
}
swiper-item:nth-child(2){
background-color: rgb(237, 241, 168);
}
swiper-item:nth-child(3){
background-color: rgb(215, 238, 206);
}
swiper组件的常用属性
实现每隔3000ms自动滑动,A->B->C->A…
<swiper class="swiper-container" indicator-dots="true" indicator-color="white" indicator-active-color="gray" autoplay="true" interval="3000" circular="true">
...
swiper>
selectable 属性: 选中效果
<view>
手机号长按选中效果
<text selectable="true">12344567890text>
view>
nodes属性:把html字符串渲染为对应的UI结构
<rich-text nodes=" style='color:red;'>title </h1>">
rich-text>
<button>普通按钮button>
<button type="primary">主色调按钮button>
<button type="warn">警告按钮button>
<button size="mini">默认按钮button>
<button plain>镂空按钮button>
<image src="/images/img1.jpg" mode="widthFix">image>
image{
border: 1px solid lightgrey;
}
wx.onWindowResize(funtion callback)
监听窗口尺寸变化的事件wx.setStorageSync('key','value')
向本地存储中写入内容wx.request()
发起网络数据请求,通过success回调函数接收数据