commands定制
- 支持环境:通用型 api,支持所有环境
注册自定义命令(registerCommand)
- 注册自定义命令,可用该命令自定义事件(点击事件),命令事件可以手动执行也可以从ui中执行
js
export function registerCommand(id: string, callback: (...args: any[]) => any, thisArg?: any): IDisposable- 示例
js
ksxz.commands.registerCommand(
'custom.tab.click',
() => {
console.log('command')
}
)执行自定义命令事件(executeCommand)
- 执行自定义命令事件
js
export function executeCommand<T>(id: string, ...args: any[]): Promise<T>- 示例
js
ksxz.commands.executeCommand('custom.tab.click', ...args)- 支持 node 插件和 web 插件互相调用
- 示例
js
// node 插件注册 command
ksxz.commands.registerCommand('caixin.joinMeeting', () => {
tangSDK.joinMeeting({
userName: 'hello',
meetingCode: '',
});
});
// web 插件调用
ksxz.commands.executeCommand('caixin.joinMeeting')内置的command
- 基座提供内置的command,插件可以通过ksxz.commands.executeCommand(BuiltInCommandId)直接调起相应的功能。
js
// 内置的commandId
export enum BuiltInCommandIds {
ShowCollectionView = 'ksxz.showCollectionView', // 跳转到收藏页
ShowInviteDialog = 'ksxz.showInviteDialog', // 打开邀请弹框
Logout = 'ksxz.logout', // 退出登录,
ExtKdocsRegisterDocsMainViewHeaderTab = 'ext.kdocs.registerDocsMainViewHeaderTab' // 添加文档主视图头部 tab
}- 示例
js
// 打开收藏页面
ksxz.commands.executeCommand(BuiltInCommandIds.ShowCollectionView, 'hideAside')