program.js 1.3 KB

12345678910111213141516171819202122232425262728
  1. 'use strict';
  2. // 测试接口
  3. const rKey = 'program'; // routerKey,路由前缀变量
  4. const cKey = 'program'; // controllerKey,controller名
  5. const zhKey = '节目表';
  6. const routes = [
  7. { method: 'get', path: `/${rKey}`, controller: `${cKey}.index`, name: `${cKey}Query`, zh: `${zhKey}列表查询` },
  8. { method: 'get', path: `/${rKey}/:id`, controller: `${cKey}.show`, name: `${cKey}Show`, zh: `${zhKey}查询` },
  9. { method: 'post', path: `/${rKey}`, controller: `${cKey}.create`, name: `${cKey}Create`, zh: `创建${zhKey}` },
  10. { method: 'post', path: `/${rKey}/:id`, controller: `${cKey}.update`, name: `${cKey}Update`, zh: `修改${zhKey}` },
  11. { method: 'delete', path: `/${rKey}/:id`, controller: `${cKey}.destroy`, name: `${cKey}Delete`, zh: `删除${zhKey}` },
  12. ];
  13. module.exports = app => {
  14. const { router, config } = app;
  15. const mwares = app.middleware;
  16. for (const route of routes) {
  17. const { method, path, controller: ctl, zh } = route;
  18. let { middleware = [] } = route;
  19. if (!method || !path || !ctl) continue;
  20. // 拼全路径
  21. const allPath = `${config.routePrefix}${path}`;
  22. // 处理中间件
  23. if (middleware.length > 0) middleware = middleware.map(i => mwares[i]());
  24. // 注册路由
  25. router[method](zh, allPath, ...middleware, ctl);
  26. }
  27. };