前端api
在控制台输入
console.log(window.core)例如:
core.path2url(path,true):将path转为直链
artDialog
kodApp
console.log(window.kodApp)kodApi
console.log(window.kodApi)Tips

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
后端
-
全局钩子:
globalRequestBefore- 全局请求开始前globalRequestAfter- 全局请求结束后beforeShutdown- 系统关闭前
-
用户相关钩子:
user.index.loginBefore- 用户登录前user.index.loginSubmitBefore- 用户提交登录前user.index.logoutBefore- 用户登出前user.index.index- 用户首页加载user.commonJs.insert- 插入公共JSuser.view.options.after- 用户视图选项后user.account.initViewAfter- 用户账户初始化视图后user.login.initViewAfter- 登录页面初始化视图后
-
文件操作钩子:
explorer.fileOut- 文件输出前explorer.kodApp.before- 应用列表加载前explorer.list.path- 文件列表路径加载
-
插件相关钩子:
pluginApp.changeStatus- 插件状态改变pluginApp.changeStatus.userAsync- 插件状态改变异步处理
-
存储相关钩子:
admin.storage.add.before- 存储添加前admin.storage.edit.before- 存储编辑前
-
通知相关钩子:
admin.notice.add.after- 通知添加后admin.notice.edit.after- 通知编辑后admin.notice.remove.after- 通知删除后
-
评论相关钩子:
comment.index.add.after- 评论添加后comment.index.remove.after- 评论删除后
-
绑定相关钩子:
user.bind.withApp- APP绑定user.bind.bind.before- 绑定前user.bind.unbind.before- 解绑前user.bind.bindmetainfo.before- 绑定元信息前user.bind.log- 绑定日志
-
日志相关钩子:
admin.log.typelist.after- 日志类型列表后admin.log.get.after- 获取日志后
-
请求处理钩子:
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){
// 处理应用列表
}