目前 hooksList 只有下面列出的部分,如果您有其他的需求,可提建议到 github 或者 qq 群
/**
* 钩子配置
*/
var hooks = {
/**
* 第三方sso登录钩子,暂只支持设置一个
* @param ctx
* @return 必需返回一个 promise 对象,resolve({username: '', email: ''})
*/
'third_login': {
type: 'single',
listener: null
},
/**
* 客户端增加接口成功后触发
* @param data 接口的详细信息
*/
interface_add: {
type: 'multi',
listener: []
},
/**
* 客户端删除接口成功后触发
* @param data 接口id
*/
interface_del: {
type: 'multi',
listener: []
},
/**
* 客户端更新接口成功后触发
* @param id 接口id
*/
interface_update: {
type: 'multi',
listener: []
},
/**
* 客户端获取接口数据列表
* @param list 返回接口的数据列表
*/
interface_list: {
type: 'multi',
listener: []
},
/**
* 客户端获取一条接口信息触发
* @param data 接口的详细信息
*/
interface_get: {
type: 'multi',
listener: []
},
/**
* 客户端增加一个新项目
* @param id 项目id
*/
'project_add':{
type: 'multi',
listener: []
},
/**
* 客户端删除删除一个项目
* @param id 项目id
*/
'project_del':{
type: 'multi',
listener: []
},
/**
* MockServer生成mock数据后触发
* @param context Object
* {
* projectData: project,
interfaceData: interfaceData,
ctx: ctx,
mockJson: res
* }
*
*/
mock_after: {
type: 'multi',
listener: []
},
/**
* 增加路由的钩子
* type Sync
* @param addPluginRouter Function
* addPLuginPLugin(config)
* config = {
* path, // String
* method, // String
* controller // Class 继承baseController的class
* action // String controller的Action
* }
*/
add_router: {
type: 'multi',
listener: []
}
};
/**
* type component 组件
* listener 监听函数
* mulit 是否绑定多个监听函数
*
*/
hooks = {
/**
* 第三方登录 //可参考 yapi-plugin-qsso 插件
*/
third_login: {
type: 'component',
mulit: false,
listener: null
},
/**
* 导入数据
* @param Object importDataModule
*
* @info
* 可参考 vendors/exts/yapi-plugin-import-swagger插件
* importDataModule = {};
*
*/
import_data: {
type: 'listener',
mulit: true,
listener: []
},
/**
* 导出数据
* @param Object exportDataModule
* @param projectId
* @info
* exportDataModule = {};
* exportDataModule.pdf = {
* name: 'Pdf',
* route: '/api/plugin/export/pdf',
* desc: '导出项目接口文档为 pdf 文件'
* }
*/
export_data: {
type: 'listener',
mulit: true,
listener: []
},
/**
* 接口页面 tab 钩子
* @param InterfaceTabs
*
* @info
* 可参考 vendors/exts/yapi-plugin-advanced-mock
* let InterfaceTabs = {
view: {
component: View,
name: '预览'
},
edit: {
component: Edit,
name: '编辑'
},
run: {
component: Run,
name: '运行'
}
}
*/
interface_tab: {
type: 'listener',
mulit: true,
listener: []
},
/**
* header下拉菜单 menu 钩子
* @param HeaderMenu
*
* @info
* 可参考 vendors/exts/yapi-plugin-statistics
* let HeaderMenu = {
user: {
path: '/user/profile',
name: '个人中心',
icon: 'user',
adminFlag: false
},
star: {
path: '/follow',
name: '我的关注',
icon: 'star-o',
adminFlag: false
},
solution: {
path: '/user/list',
name: '用户管理',
icon: 'solution',
adminFlag: true
},
logout: {
path: '',
name: '退出',
icon: 'logout',
adminFlag: false
}
};
*/
header_menu: {
type: 'listener',
mulit: true,
listener: []
},
/**
* Route路由列表钩子
* @param AppRoute
*
* @info
* 可参考 vendors/exts/yapi-plugin-statistics
* 添加位置在Application.js 中
* let AppRoute = {
home: {
path: '/',
component: Home
},
group: {
path: '/group',
component: Group
},
project: {
path: '/project/:id',
component: Project
},
user: {
path: '/user',
component: User
},
follow: {
path: '/follow',
component: Follows
},
addProject: {
path: '/add-project',
component: AddProject
},
login: {
path: '/login',
component: Login
}
};
};
*/
app_route: {
type: 'listener',
mulit: true,
listener: []
},
/*
* 添加 reducer
* @param Object reducerModules
*
* @info
* importDataModule = {};
*
*/
add_reducer: {
type: 'listener',
mulit: true,
listener: []
}
};