微信小程序开发学习(一)

时间:2024-04-21 11:04:34

一、各种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.onSocketOpenwx.onCompassChange等。

这类API接受一个回调函数作为参数,当事件触发时会调用这个回调函数,并将相关数据以参数形式传入。如:

wx.onCompassChange(function (res) {
console.log(res.direction)
})

2、同步API

以Sync结尾的API都是同步API,如wx.setStorageSyncwx.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也会有返回值,可以用来实现更丰富的功能。