一、API 基础
小程序开发框架提供丰富的微信原生 API
,可以方便的调起微信提供的能力,如获取用户信息,本地存储,支付功能等,几乎所有小程序的 API
都挂载在 wx
对象底下,例如:wx.chooseMedia()
、wx.request()
, wx
对象实际上就是小程序的宿主环境微信所提供的全局对象
通常,在小程序 API 有以下几种类型:
- 事件监听 API:约定以
on
开头 API 用来监听某个事件是否触发,例如:wx.onThemeChange()
- 同步 API:约定以
Sync
结尾的 API 都是同步 API,例如:wx.setStorageSync()
- 异步 API:大多数 API 都是异步 API,例如:
wx.setStorage()
异步 API 支持 callback & Promise 两种调用方式:
-
当接口参数 Object 对象中不包含 success/fail/complete 时将默认返回 Promise
-
部分接口如 request, uploadFile 本身就有返回值,因此不支持 Promise 风格的调用方式,它们的 promisify 需要开发者自行封装。
二、 网络请求
知识点:
在微信小程序中,如果需要发起 HTTPS 网络请求需要使用:wx.request()
,语法如下:
wx.request({
// 接口地址,仅为示例,并非真实的接口地址
url: 'example.php',
// 请求的参数
data: { x: '' },
// 请求方式
method: 'GET|POST|PUT|DELETE',
success (res) {
console.log(res.data)
},
fail(err) {
console.log(err)
}
})
注意:wx.request() 请求的域名需要在小程序管理平台进行配置,如果小程序正式版使用wx.request请求未配置的域名,在控制台会有相应的报错。
这时候就需要在小程序管理后台进行设置请求的域名,打开微信公众后台:点击左侧 开发 → 开发管理 → 开发设置 → 服务器域名。域名只支持 https 而且要求已备案
但一般我们在开发阶段时,处于开发阶段的服务器接口可能还没部署到对应的域名下,经常会通过另一个域名来进行开发调试,考虑到这一点,为了方便开发者进行开发调试,开发者工具、小程序的开发版和小程序的体验版在某些情况下允许 wx.request
请求任意域名 (只适用于开发环境,只能在小程序开发者工具中生效),在开发工具中设置步骤如下:
将 不校验合法域名、web-view (业务域名)、TLS版本以及HTTPS证书 勾选上:
📌 注意事项:
这两种方式只适用于开发者工具、小程序的开发版和小程序的体验版
项目上线前必须在小程序管理平台进行合法域名的配置
Page({
// 页面的初始数据
data: {},
// 获取数据
getPostInfo() {
wx.request({
url: 'https://jsonplaceholder.typicode.com/posts/1',
method: 'GET',
success(res) {
console.log(res)
},
fail(err) {
console.log(err)
}
})
},
// coding...
}
三、界面交互
小程序还提供了一些用于界面交互的 API,如消息提示框、模态对话框、 loading 提示框等等
1、 loading 提示框
知识点:
小程序提供了一些用于界面交互的 API,例如: loading 提示框、消息提示框、模态对话框等 API。
loading 提示框常配合网络请求来使用,用于增加用户体验,对应的 API 有两个:
wx.showLoading
显示加载提示框wx.hideLoading
隐藏加载提示框
wx.showLoading({
title: '提示内容', // 提示的内容
mask: true, // 是否显示透明蒙层,防止触摸穿透
success() {}, // 接口调用成功的回调函数
fail() {} // 接口调用失败的回调函数
})
官方文档: