Token.controller.ts 920 B

1234567891011121314151617181920212223242526272829
  1. import { Context, Controller, Get, Inject } from "@midwayjs/core";
  2. import { JwtService } from "@midwayjs/jwt";
  3. import assert = require("assert");
  4. import { get } from "lodash";
  5. import { RoleService } from "../../service/system/role.service";
  6. import { RF } from "../../response/CustomerResponse";
  7. @Controller('/token')
  8. export class TokenController {
  9. @Inject()
  10. ctx: Context;
  11. @Inject()
  12. jwtService: JwtService;
  13. @Inject()
  14. roleService: RoleService;
  15. @Get('/tokenView')
  16. async tokenView() {
  17. const token = get(this.ctx, 'request.header.token');
  18. assert(token, '缺少token信息');
  19. const result: any = this.jwtService.decode(token);
  20. const userMenusResult = await this.roleService.getUserMenus();
  21. const menus = get(userMenusResult, 'menus');
  22. const role_code = get(userMenusResult, 'role_code');
  23. result.menus = menus;
  24. result.role_code = role_code;
  25. return RF.success(result);
  26. }
  27. }