Skip to content

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')