前端api

在控制台输入

console.log(window.core)

例如:

core.path2url(path,true):将path转为直链

artDialog

kodApp

console.log(window.kodApp)

kodApi

console.log(window.kodApi)

Tips

image-3

Tips.tips('不在本地索引库中,将使用默认方式打开。', 'warning');

前端事件

console.log(Events._events)

可打印出所有的前端事件监听器

例如下面代码可在控制台测试path.pathChange这个事件

// 监听 path.pathChange 事件
Events.bind('path.pathChange', function(path, data) {
    console.log('Path changed:', path);
    console.log('Event data:', data);
});
rightMenu.beforeShow
dialog.afterShow
rightMenu.beforeHide
dialog.afterClose
rightMenu.afterShow@.dialog-menu
router.after.admin/index
RequestAfter[recycleDelete]
admin.setting.initViewBefore
admin.autoTask.listBefore
router.aftera
updateCheck.finished
user.loginInfo
view.initBefore
explorer.kodApp.before
admin.leftMenu.before
admin.setting.initViewAfter
RequestAfter[login]
RequestBefore[login]
playSound
rightMenu.beforeShow@.menu-path-more
rightMenu.beforeShow@.menu-toolbar-source-more
rightMenu.beforeShow@.menu-path-guest-more
rightMenu.beforeShow@.menu-toolbar-pathDefault-more
rightMenu.beforeShow@.menu-simple-more
rightMenu.beforeShow@.menu-toolbar-userRencent-more
plugin.config.formBefore
plugin.config.formAfter
user.account.initViewAfter
user.login.initViewAfter
explorer.desktop.load
admin.leftMenu.after
user.leftMenu.before
storage.init.load
storage.config.view.load
RequestAfter[groupList]
main.menu.loadBefore
router.after.explorer
router.after.admin/storage/index
router.after
view.system.notice
user.themeChange
user.themeChangeNotify
explorer.desktop.changeWall
RequestAfter[setConfig]
window.sizeChange
user.settingChange.menuBarAutoHide
explorer.clipbard.change
path.pathChange
pathData.parse.before
aceEditor.fileOpenModeInit
path.list.fileIconMake
explorer.tag.change
router.change
view.beforeRemove
explorer.panel.history.change
explorer.panel.auth.change

后端

  1. 全局钩子

    • globalRequestBefore - 全局请求开始前
    • globalRequestAfter - 全局请求结束后
    • beforeShutdown - 系统关闭前
  2. 用户相关钩子

    • user.index.loginBefore - 用户登录前
    • user.index.loginSubmitBefore - 用户提交登录前
    • user.index.logoutBefore - 用户登出前
    • user.index.index - 用户首页加载
    • user.commonJs.insert - 插入公共JS
    • user.view.options.after - 用户视图选项后
    • user.account.initViewAfter - 用户账户初始化视图后
    • user.login.initViewAfter - 登录页面初始化视图后
  3. 文件操作钩子

    • explorer.fileOut - 文件输出前
    • explorer.kodApp.before - 应用列表加载前
    • explorer.list.path - 文件列表路径加载
  4. 插件相关钩子

    • pluginApp.changeStatus - 插件状态改变
    • pluginApp.changeStatus.userAsync - 插件状态改变异步处理
  5. 存储相关钩子

    • admin.storage.add.before - 存储添加前
    • admin.storage.edit.before - 存储编辑前
  6. 通知相关钩子

    • admin.notice.add.after - 通知添加后
    • admin.notice.edit.after - 通知编辑后
    • admin.notice.remove.after - 通知删除后
  7. 评论相关钩子

    • comment.index.add.after - 评论添加后
    • comment.index.remove.after - 评论删除后
  8. 绑定相关钩子

    • user.bind.withApp - APP绑定
    • user.bind.bind.before - 绑定前
    • user.bind.unbind.before - 解绑前
    • user.bind.bindmetainfo.before - 绑定元信息前
    • user.bind.log - 绑定日志
  9. 日志相关钩子

    • admin.log.typelist.after - 日志类型列表后
    • admin.log.get.after - 获取日志后
  10. 请求处理钩子

    • show_json - 显示JSON数据前
    • Task.init - 任务初始化

要使用这些钩子,您可以在插件中这样注册:

public function regist(){
    $this->hookRegist(array(
        'user.commonJs.insert' => 'yourPlugin.echoJs',
        'explorer.kodApp.before' => 'yourPlugin.handleAppList',
        // 其他钩子...
    ));
}

然后在插件类中实现对应的方法:

public function echoJs(){
    $this->echoFile('static/main.js');
}
 
public function handleAppList($appList){
    // 处理应用列表
}