• 后端 hookList
  • 前端 hookList

    后端 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. };