# 系统 API 系统 API 处于对象 `Mota` 上,是使用新样板 API 的根对象 ## require() ```ts declare function require(type: InterfaceType, key: string): any ``` - 参数说明 - `type`: 要获取的 API 类型,目前包含 `class` `fn` `var` `module` 四种类型,分别表示类、函数、变量、模块 - `key`: 要获取的 API 的名称 - 方法说明 获取一个样板接口 ## requireAll() ```ts declare function requireAll(type: InterfaceType): any ``` - 方法说明 获取一种 API 类型的所有接口,并以对象的形式返回 ## rewrite() ```ts declare function rewrite( base: any, key: string, type: 'full' | 'add' | 'front', re: Function, bind?: any, rebind?: any ): Function ``` - 方法说明 复写函数,参考[函数复写](../guide/system.md#函数复写) ## r() ```ts declare function r(fn: (packages: PackageInterface) => void, thisArg?: any): void ``` - 参数说明 - `fn`: 要执行的函数,包含一个参数,表示系统使用的第三方库 - `thisArg`: 函数执行时绑定的上下文(this 指向) - 方法说明 在渲染进程包裹下执行一个函数 ## rf() ```ts declare function rf(fn: Function, thisArg: any): Function ``` - 参数说明 - `fn`: 要绑定的函数 - `thisArg`: 函数调用时传入的上下文(this 指向) - 方法说明 将一个函数包裹为渲染进程函数 ## Plugin ```ts interface Plugin { require(key: string): any requireAll(): any register(key: string, data: any, init?: any): void } ``` 参考[指南](../guide/system.md#motaplugin) 系统自带插件包括 - 渲染进程插件 - `shadow_r` - `gameShadow_r` - `fly_r` - `pop_r` - `frag_r` - `use_r` - `gameCanvas_r` - `smooth_r` - `shader_r` - 游戏进程插件 - `utils_g` - `shop_g` - `replay_g` - `removeMap_g` - `heroFourFrames_g` - `rewrite_g` - `itemDetail_g` - `remainEnemy_g` ## Package ```ts interface Package { require(key: string): any requireAll(): any } ``` 参考[指南](../guide/system.md#motapackage) 系统暴露出的第三方库: - `axios` - `chart.js` - `jszip` - `lodash` - `lz-string` - `mutate-animate` - `vue`