平台提供一系列后端接口或服务。
有些可以在前端直接调用,比如上一章讲述的【内部数据库】接口;
有些只能在后端调用,主要是出于安全考虑没开发给前端的,如Redis接口,如批量删除/更新的数据库接口;
有些是提供了完整功能的服务,如内部数据库接口;
有些仅仅提供空接口,具体的服务功能需要自行开发,如$srv自定义后端服务,如微信公众号的消息响应服务$wx.onMsg()和扫码事件服务$wx.onScan();
前端直接调用的接口有些并不经由平台后端,如上传资源$asset.upload()直接上传到阿里云OSS,$api.request()请求第三方接口;
大部分接口是调用平台服务,平台提供执行前拦截函数,开发者可以验证调用者权限,更改参数,甚至阻止接口调用;平台还提供执行后钩子函数做必要的事后处理。
$l,$r,$exp,$x,$i,$arr,$p,$w
$w在前端是指window对象,后端是没有window对象的,为了方便使用平台也把一些常用对象或函数放在$w里:
JSON, Object, Array, Number, Date, Math, RegExp, URL, Map, Set, NaN, isNaN, decodeURI, encodeURI, decodeURIComponent, encodeURIComponent, crypto
crypto是后端独有的,用于加密算法,其它的跟前端$w一致。
有些仅在request请求(获取第一个页面)中可用,而在后端服务中不可用,如$page,$id,$query,$c,$v,$V。
前端特有的关键字在后端也不可用,如$ev,$el,$f,$ctx。