export interface Option { /** * 截图的引擎选择,默认使用 “html2canvas”,如果涉及第三方屏幕,插件,或者页面中存在跨域iframe,请使用“mediaDevices” * html2canvas:html转canvas方式实现截图 * mediaDevices:使用浏览器的录屏设备来实现截图 */ engine?: string; /** * 要展示截图操作界面之前 * 截图发生之前,如果是录屏模式截图,则是弹出浏览器是否同意录屏提示框的时候,应该要保证不要有其他模块界面对浏览器主界面进行遮挡,例如浏览器外置的播放插件,需要在这一步隐藏。 * return 判断截图操作是否继续 */ before?: () => boolean; /** * 全屏截图发生时 * 如果是录屏模式截图,则是开始录制屏幕,应该要保证界面元素的完整性,例如需要浏览器外置的播放插件,需要在这一步显示。 * 根据返回值来确定是否继续截图 */ start?: () => void; /** * 全屏截图完成时,此时完成了对整个屏幕的截图,应该要保证不要有其他模块界面对浏览器主界面进行遮挡,例如浏览器外置的播放插件,需要在这一步隐藏。 * 生成全屏图片,全屏图片处于待编辑状态,截图编辑发生之前,如果需要全屏截图,可以在这一步得到 */ end?: (screenImd: string) => void; /** * 用户确认了截图,点击保存了按钮 */ save?: (capImg: string) => void; /** * 关闭截图操作界面后,此时完成关闭截图操作界面。用户点击取消了截图或者确定保存都会触发此事件。 */ after?: () => void; /** * 截图过程中发生异常 */ error?: (e: any) => void; }