285 lines
5.0 KiB
Markdown
285 lines
5.0 KiB
Markdown
## 后端 hookList
|
||
|
||
目前 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: []
|
||
}
|
||
};
|
||
```
|
||
|
||
## 前端 hookList
|
||
|
||
```
|
||
/**
|
||
* 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: []
|
||
}
|
||
};
|
||
```
|