# api 目前开放的api有2个大类,分别是:`event`和`utils`。 全部开放在网页审查工具的`window.HatsuneMiku`对象下。 ## event ### send ```typescript window.HatsuneMiku.event.send(eventName); ``` |参数名称|参数类型|说明|是否必需|备注| |----|----|----|----|----| |eventName|string|发送的事件名称|是|因为只是对原生事件函数的再封装,所以注意不能和已有的事件名称重复。| ### receive 该函数一般与`send`搭配使用。 返回值类型:`void` ```typescript window.HatsuneMiku.event.receive(eventName, callback, once); ``` |参数名称|参数类型|说明|是否必需|备注| |----|----|----|----|----| |eventName|string|监听的事件名称|是|| |callback|Function|回调函数|是|| |once|boolean|是否为一次性监听|否|默认为`false`,若为`true`,则在触发一次后删除该监听。| ## utils 内含4小类,分别为:`icon`、`storage`、`common`和`ui`。 ### icon #### createBarIcon 在输入框上方的图标栏中添加图标。 ```typescript window.HatsuneMiku.utils.icon.createBarIcon(icon, tooltip, onclick); ``` |参数名称|参数类型|说明|是否必需|备注| |----|----|----|----|----| |icon|string|图标名称|是|在[此处](https://www.mdui.org/zh-cn/docs/2/libraries/icons#search)搜索图标名称| |tooltip|string|悬浮在图标上时的标签,用于解释按钮用途|是|仅可传入文本| |onclick|Function|触发点击时的回调函数|是|| |返回值名称|返回值类型|说明| |----|----|----| |icon|Tooltip|图标对应的元素,使用`insertBarIcon`函数插入。| #### insertBarIcon 在输入框上方的图标栏中添加图标。 ```typescript window.HatsuneMiku.utils.icon.insertBarIcon(icon); ``` |参数名称|参数类型|说明|是否必需|备注| |----|----|----|----|----| |icon|Tooltip|图标元素|是|使用`createBarIcon`函数获得| ### common #### observeElement 监听某个元素是否出现。 ```typescript window.HatsuneMiku.utils.common.observeElement(selector, callback, continuous = false); ``` |参数名称|参数类型|说明|是否必需|备注| |----|----|----|----|----| |selector|string|css选择器|是|默认选中匹配该选择器的第一个元素| |callback|Function|如果元素存在,执行的回调函数|是|| |continuous|boolean|是否持续监听|否|默认为`false`| ### storage #### getHanashiroSettings 获取脚本存储的内容。 ```typescript window.HatsuneMiku.utils.storage.getHanashiroSettings(item: string); ``` |参数名称|参数类型|说明|是否必需|备注| |----|----|----|----|----| |item|string|要获取的项目名称|是|具体可通过网页控制台-存储-indexedDB页查看| |返回值名称|返回值类型|说明| |----|----|----| |value|Promise|对应项目的值,不存在的项目返回`Promise`| #### setHanashiroSettings 写入脚本存储的内容。 ```typescript window.HatsuneMiku.utils.storage.setHanashiroSettings(item, value); ``` |参数名称|参数类型|说明|是否必需|备注| |----|----|----|----|----| |item|string|要写入的项目名称|是|具体可通过网页控制台-存储-indexedDB页查看| |value|any|要写入的值|是|| #### getInspectSettings 获取脚本存储的内容。 ```typescript window.HatsuneMiku.utils.storage.getInspectSettings(); ``` |返回值名称|返回值类型|说明| |----|----|----| |inspectSettings|Promise|网页审查工具的设置,不存在返回`Promise`| #### setHanashiroSettings 写入脚本存储的内容。 ```typescript window.HatsuneMiku.utils.storage.setInspectSettings(newSettings); ``` |参数名称|参数类型|说明|是否必需|备注| |----|----|----|----|----| |newSettings|IInspectSettings|新的网页审查工具设置|是|具体可通过网页控制台-存储-indexedDB页查看| ### ui #### snackbar 见 https://www.mdui.org/zh-cn/docs/2/functions/snackbar #### dialog 见 https://www.mdui.org/zh-cn/docs/2/functions/dialog #### confirm 见 https://www.mdui.org/zh-cn/docs/2/functions/confirm