微信小程序——小白入门

微信小程序架构
微信小程序——小白入门

主体:
app.js(初始化逻辑)
app.json(公共配置)
app.wxss(公共样式)
页面:
js(页面逻辑)
json(页面配置)
wxss(页面样式)
wxml(页面结构)


View(页面视图)
View-WXML
支持数据绑定
支持逻辑算数、运算
支持模板、引用
支持添加事件(bindtap)
View-WXSS
支持大部分CSS特性
添加尺寸单位rpx,可根据品目宽度自适应
使用@import语句可以导入外联样式表
不支持多层选择器,避免被组件内结构破坏
View-WXSS Selectors
View-Component

大类
细分
WXML
HTML
视图容器
普通视图容器
view
div、ul、li、article、section...
滚动视图
scroll-view
滑块视图
swiper
基础内容
文本
text
span、em、p...
图标
icon
span、em、i...
进度条
progress
div...
链接、导航
链接、导航
navigator
a
表单
按钮
button
button、input
单选
radio
input
多选
checkbox
input
表单
form
form
输入框
input 
input
改进表单可用性
label
label
滚动选择器
picker
select
开关选择器
switch
input、div...
操作反馈
底部菜单
action-sheet
div、ul...
弹窗
modal
div...
toast
toast
div...
加载
loading
img、span、div...
媒体
图片
image
img
视频
audio
audio
音频
video
video
地图
地图
map
map
画布
画布
canvas
canvas
View-Native Component
Native组件层在WebView层之上


APP Service(逻辑层)
逻辑层将数据进行处理后发送给视图层,同时接受视图层的时间反馈
1、APP()小程序的入口;Page()页面的入口
2、提供丰富的API,如微信用户数据、扫一扫、支付等微信特有能力
3、每个页面有独立的作用域,并提供模块化能力
4、数据绑定、时间分发、生命周期管理、路由管理
数据绑定demo
<view>{{message}}</view>
Page{{                                                                                                 data:{
        message:'Hello Weixin!'
    }
}}
条件渲染demo
<view wx:if="{{length>5}}">1</view>
<view wx:eles="{{length>2}}">2</view>
<view wx:else>3</view>
遍历列表demo
<view wx:for="{{array}}">
    {{index}}
</view>
Page{{
    data:{
        array:[{'aaa','bbb','ccc'}]
    }
}}

运行环境
IOS-JSCore
Android-X5 JS解析器
DevTool-nwjs Chrome内核

APP Service-Life Cylce

APP Service -API

分类
名称
API
网络
发起请求
request
上传下载
uploadFile/downloadFile
WebSocket
connectSocket/onSocketOpen/onScocketError/sendSocketMessage/onSocketMessage/closeSocket/onSocketClose
媒体
图片
chooseImage/previewImage/getImageInfo
视频
chooseVideo
音频
playVoice/pauseVoice/stopVoice
录音
startRecord/stopRecord
文件
saveFile/getSvaedFileList/getSavedFileInfo/removeSavedFile
数据
数据缓存
setStorage/getStorage/removeStorage/clearStorage
位置
获取位置
getLocation
查看位置
openLocation
设备
网络状态
getNetworkType
系统信息
getSystemInfo
重力感应
onAccelerometerChange
罗盘
onCompassChange
拨打电话
makePhoneCall
界面
Canvas
drawCanvas/drawCanvas/canvasToTempFilePath
动画
createAnimation
导航、设置导航条
navigateTo/redirectTo/navigateBack
交互反馈
showToast/showModal/showActioonSheet
开放接口
登录
login
用户信息
getUserInfo
微信支付
requesPayment
模板消息

App Service -Router
navigateTo(Object)
保留当前页面,跳转到应用内的某个页面,使用navigateBack可以返回到原页面。页面路径只能是五层
redirectTo(Object)
关闭当前页面,跳转到应用内某个页面
navigateBack(Object)
关闭当前页面,返回上一个页面或多级页面。可通过getCurrentPages()获取当前的页面栈,决定需要返回几层。