后端 hookList

目前 hooksList 只有下面列出的部分,如果您有其他的需求,可提建议到 github 或者 qq 群

  1. /**
  2. * 钩子配置
  3. */
  4. var hooks = {
  5. /**
  6. * 第三方sso登录钩子,暂只支持设置一个
  7. * @param ctx
  8. * @return 必需返回一个 promise 对象,resolve({username: '', email: ''})
  9. */
  10. 'third_login': {
  11. type: 'single',
  12. listener: null
  13. },
  14. /**
  15. * 客户端增加接口成功后触发
  16. * @param data 接口的详细信息
  17. */
  18. interface_add: {
  19. type: 'multi',
  20. listener: []
  21. },
  22. /**
  23. * 客户端删除接口成功后触发
  24. * @param data 删除接口的详细信息
  25. */
  26. interface_del: {
  27. type: 'multi',
  28. listener: []
  29. },
  30. /**
  31. * 客户端更新接口成功后触发
  32. * @param id 接口id
  33. */
  34. interface_update: {
  35. type: 'multi',
  36. listener: []
  37. },
  38. /**
  39. * 客户端获取接口数据列表
  40. * @param list 返回接口的数据列表
  41. */
  42. interface_list: {
  43. type: 'multi',
  44. listener: []
  45. },
  46. /**
  47. * 客户端获取一条接口信息触发
  48. * @param data 接口的详细信息
  49. */
  50. interface_get: {
  51. type: 'multi',
  52. listener: []
  53. },
  54. /**
  55. * 客户端增加一个新项目
  56. * @param id 项目id
  57. */
  58. 'project_add':{
  59. type: 'multi',
  60. listener: []
  61. },
  62. /**
  63. * 客户端删除删除一个项目
  64. * @param id 项目id
  65. */
  66. 'project_del':{
  67. type: 'multi',
  68. listener: []
  69. },
  70. /**
  71. * MockServer生成mock数据后触发
  72. * @param context Object
  73. * {
  74. * projectData: project,
  75. interfaceData: interfaceData,
  76. ctx: ctx,
  77. mockJson: res
  78. * }
  79. *
  80. */
  81. mock_after: {
  82. type: 'multi',
  83. listener: []
  84. },
  85. /**
  86. * 增加路由的钩子
  87. * type Sync
  88. * @param addPluginRouter Function
  89. * addPLuginPLugin(config)
  90. * config = {
  91. * path, // String
  92. * method, // String
  93. * controller // Class 继承baseController的class
  94. * action // String controller的Action
  95. * }
  96. */
  97. add_router: {
  98. type: 'multi',
  99. listener: []
  100. }
  101. };

前端 hookList

  1. /**
  2. * type component 组件
  3. * listener 监听函数
  4. * mulit 是否绑定多个监听函数
  5. *
  6. */
  7. hooks = {
  8. /**
  9. * 第三方登录 //可参考 yapi-plugin-qsso 插件
  10. */
  11. third_login: {
  12. type: 'component',
  13. mulit: false,
  14. listener: null
  15. },
  16. /**
  17. * 导入数据
  18. * @param Object importDataModule
  19. *
  20. * @info
  21. * 可参考 vendors/exts/yapi-plugin-import-swagger插件
  22. * importDataModule = {};
  23. *
  24. */
  25. import_data: {
  26. type: 'listener',
  27. mulit: true,
  28. listener: []
  29. },
  30. /**
  31. * 导出数据
  32. * @param Object exportDataModule
  33. * @param projectId
  34. * @info
  35. * exportDataModule = {};
  36. * exportDataModule.pdf = {
  37. * name: 'Pdf',
  38. * route: '/api/plugin/export/pdf',
  39. * desc: '导出项目接口文档为 pdf 文件'
  40. * }
  41. */
  42. export_data: {
  43. type: 'listener',
  44. mulit: true,
  45. listener: []
  46. },
  47. /**
  48. * 接口页面 tab 钩子
  49. * @param InterfaceTabs
  50. *
  51. * @info
  52. * 可参考 vendors/exts/yapi-plugin-advanced-mock
  53. * let InterfaceTabs = {
  54. view: {
  55. component: View,
  56. name: '预览'
  57. },
  58. edit: {
  59. component: Edit,
  60. name: '编辑'
  61. },
  62. run: {
  63. component: Run,
  64. name: '运行'
  65. }
  66. }
  67. */
  68. interface_tab: {
  69. type: 'listener',
  70. mulit: true,
  71. listener: []
  72. },
  73. /**
  74. * header下拉菜单 menu 钩子
  75. * @param HeaderMenu
  76. *
  77. * @info
  78. * 可参考 vendors/exts/yapi-plugin-statistics
  79. * let HeaderMenu = {
  80. user: {
  81. path: '/user/profile',
  82. name: '个人中心',
  83. icon: 'user',
  84. adminFlag: false
  85. },
  86. star: {
  87. path: '/follow',
  88. name: '我的关注',
  89. icon: 'star-o',
  90. adminFlag: false
  91. },
  92. solution: {
  93. path: '/user/list',
  94. name: '用户管理',
  95. icon: 'solution',
  96. adminFlag: true
  97. },
  98. logout: {
  99. path: '',
  100. name: '退出',
  101. icon: 'logout',
  102. adminFlag: false
  103. }
  104. };
  105. */
  106. header_menu: {
  107. type: 'listener',
  108. mulit: true,
  109. listener: []
  110. },
  111. /**
  112. * Route路由列表钩子
  113. * @param AppRoute
  114. *
  115. * @info
  116. * 可参考 vendors/exts/yapi-plugin-statistics
  117. * 添加位置在Application.js 中
  118. * let AppRoute = {
  119. home: {
  120. path: '/',
  121. component: Home
  122. },
  123. group: {
  124. path: '/group',
  125. component: Group
  126. },
  127. project: {
  128. path: '/project/:id',
  129. component: Project
  130. },
  131. user: {
  132. path: '/user',
  133. component: User
  134. },
  135. follow: {
  136. path: '/follow',
  137. component: Follows
  138. },
  139. addProject: {
  140. path: '/add-project',
  141. component: AddProject
  142. },
  143. login: {
  144. path: '/login',
  145. component: Login
  146. }
  147. };
  148. };
  149. */
  150. app_route: {
  151. type: 'listener',
  152. mulit: true,
  153. listener: []
  154. },
  155. /*
  156. * 添加 reducer
  157. * @param Object reducerModules
  158. *
  159. * @info
  160. * importDataModule = {};
  161. *
  162. */
  163. add_reducer: {
  164. type: 'listener',
  165. mulit: true,
  166. listener: []
  167. }
  168. };