mina:api_interface
差别
这里会显示出您选择的修订版和当前版本之间的差别。
| 两侧同时换到之前的修订记录前一修订版后一修订版 | 前一修订版 | ||
| mina:api_interface [2020/08/22 12:34] – [联网框架Retrofit 后台进行交互] sabertoy | mina:api_interface [未知日期] (当前版本) – 外部编辑 (未知日期) 127.0.0.1 | ||
|---|---|---|---|
| 行 1: | 行 1: | ||
| ====== 6.API 接口 ====== | ====== 6.API 接口 ====== | ||
| + | |||
| + | [[https:// | ||
| + | |||
| + | ===== -#1 类型 ===== | ||
| + | |||
| + | ==== - 事件监听 API ==== | ||
| + | |||
| + | 以<wrap em> on</ | ||
| + | |||
| + | 接受一个< | ||
| + | |||
| + | <code javascript> | ||
| + | wx.onCompassChange(function (res) { | ||
| + | console.log(res.direction) | ||
| + | }) | ||
| + | </ | ||
| + | |||
| + | ==== - 同步 API ==== | ||
| + | |||
| + | 以 Sync 结尾的 API 都是同步 API, 如 wx.setStorageSync,wx.getSystemInfoSync 等。 | ||
| + | |||
| + | 同步 API 的执行结果可以通过函数返回值直接获取,如果执行出错会抛出异常。 | ||
| + | |||
| + | <code javascript> | ||
| + | try { | ||
| + | wx.setStorageSync(' | ||
| + | } catch (e) { | ||
| + | console.error(e) | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | ==== - 异步 API ==== | ||
| + | |||
| + | 大多数 API 都是异步 API,如 wx.request,wx.login 等。这类 API 接口通常都接受一个 Object 类型的参数。 | ||
| + | |||
| + | [[https:// | ||
| + | |||
| + | [[https:// | ||
| + | |||
| + | success,fail,complete 函数调用时会传入一个 Object 类型参数 | ||
| + | |||
| + | ==== - 异步API返回Promise ==== | ||
| + | |||
| + | 异步 API 支持 callback & promise 两种调用方式。 | ||
| + | |||
| + | <code javascript> | ||
| + | // callback 形式调用 | ||
| + | wx.chooseImage({ | ||
| + | success(res) { | ||
| + | console.log(' | ||
| + | } | ||
| + | }) | ||
| + | </ | ||
| + | |||
| + | <code javascript> | ||
| + | // promise 形式调用 | ||
| + | wx.chooseImage().then(res => console.log(' | ||
| + | </ | ||
| ===== API发起请求 wx.request ===== | ===== API发起请求 wx.request ===== | ||
| 行 98: | 行 156: | ||
| </ | </ | ||
| - | ==== Retrofit后台进行交互 | + | ==== 封装公共参数 |
| [[https:// | [[https:// | ||
| + | |||
| + | ===== wx.setStorageSync ===== | ||
| + | |||
| + | * 参数 string key 本地缓存中指定的 key | ||
| + | * any data 需要存储的内容。只支持原生类型、Date、及能够通过JSON.stringify序列化的对象。 | ||
| + | |||
| + | <code javascript> | ||
| + | try { | ||
| + | wx.setStorageSync(' | ||
| + | } catch (e) { } | ||
| + | </ | ||
| + | |||
| + | 使用场景 | ||
| + | |||
| + | 小程序在获取用户授权后,获取用户的昵称和头像且会从数据库查询两个值显示到首页页面。 | ||
| + | 已经取得授权的情况下刷新,可以不弹框直接获取昵称和头像。此时也需要将数据库中的值显示到首页页面。 | ||
| + | 显然,再次向后台发出请求,获取数据库中的值是无法实现的。因为在页面显示的变量名是固定的,两次请求返回的值赋给同一个变量无法实现,且网络请求的先后顺序也不能确定。 | ||
| + | |||
| + | 使用 | ||
| + | |||
| + | 此种情况,就需要将首次查询(点击授权按钮)的值存入到本地缓存中, | ||
| + | 当再次刷新时,将缓存中的值显示到页面上。 | ||
| + | [[https:// | ||
| + | |||
| + | |||
| + | ===== wx.getStorageSync ===== | ||
| + | |||
| + | 从本地缓存中获取指定 key 的内容,wx.getStorage 的同步版本 [[https:// | ||
| + | |||
| + | |||
| + | * 参数 string key 本地缓存中指定的 key | ||
| + | * 返回值 any data key对应的内容 | ||
| + | |||
| + | <code javascript> | ||
| + | try { | ||
| + | var value = wx.getStorageSync(' | ||
| + | if (value) { | ||
| + | // Do something with return value | ||
| + | } | ||
| + | } catch (e) { | ||
| + | // Do something when catch error | ||
| + | } | ||
| + | </ | ||
| ===== 媒体 ===== | ===== 媒体 ===== | ||
mina/api_interface.1598070853.txt.gz · 最后更改: 2020/08/22 12:34 (外部编辑)
