微信小程序开发学习(一)
一、各种JSON配置
1、小程序配置app.json
为小程序全局配置,包括所有页面路径、界面表现、网络超时时间、底部tab等,类比APP开发中manifest配置。
2、工具配置project.config.json
一些个性化配置,暂时没遇到需要用到的地方。
3、页面配置page.json
独立定义每个页面一些属性,如顶部颜色、是否允许下拉刷新。不过色调感觉还是统一定义比较好,适合多个页面情况,一般来说小程序主要是结合tab实现多页面。
二、WXML
1、标签名
类比HTML,不过标签名是view、button、text 等,更贴近APP开发控件名。
2、一些属性与表达式
网页开发时提倡把渲染与逻辑分离,即不让JS直接操控DOM,只需管理状态,小程序也是同样的思路。如:
WXML:
<text>{{msg}}</text>
JS:
this.setData({msg: 'Hello World'})
以上通过{{ }}的语法把一个变量绑定到界面上,即数据绑定。除此之外,还需要 if/else, for等控制能力,这些控制能力都用 wx: 开头的属性来表达。
三、API
1、事件监听API
以on开头的API用来监听某个事件是否触发,如:wx.onSocketOpen
,wx.onCompassChange
等。
这类API接受一个回调函数作为参数,当事件触发时会调用这个回调函数,并将相关数据以参数形式传入。如:
wx.onCompassChange(function (res) {
console.log(res.direction)
})
2、同步API
以Sync结尾的API都是同步API,如wx.setStorageSync
,wx.getSystemInfoSync
等。同步 API 的执行结果可以通过函数返回值直接获取,如果执行出错会抛出异常。如:
try {
wx.setStorageSync('key', 'value')
} catch (e) {
console.error(e)
}
3、异步API
这类 API 接口通常都接受一个 Object 类型的参数,这个参数都支持按需指定以下字段来接收接口调用结果:
Object参数说明
参数名|说明
- | :-: | :-:
success|接口调用成功的回调函数
fail|接口调用失败的回调函数
complete|接口调用结束的回调函数(调用成功、失败都会执行)
回调函数的参数
属性|类型|说明
- | :-: | :-:
errMsg|string|错误信息,如果调用成功返回${apiName}:ok
errCode|number|错误码,仅部分 API 支持,具体含义请参考对应 API 文档,成功时为 0
4、一些示例
获取用户地理位置
wx.getLocation({
type: 'wgs84',
success: (res) => {
const latitude = res.latitude // 纬度
const longitude = res.longitude // 经度
}
})
微信扫一扫
wx.scanCode({
success: (res) => {
console.log(res)
}
})
多数API回调都为异步,异步API的执行结果需要通过Object类型的参数中传入的对应回调函数获取。部分异步API也会有返回值,可以用来实现更丰富的功能。