import { Context, Controller, Get, Inject } from "@midwayjs/core"; import { JwtService } from "@midwayjs/jwt"; import assert = require("assert"); import { get } from "lodash"; import { RoleService } from "../../service/system/role.service"; import { RF } from "../../response/CustomerResponse"; @Controller('/token') export class TokenController { @Inject() ctx: Context; @Inject() jwtService: JwtService; @Inject() roleService: RoleService; @Get('/tokenView') async tokenView() { const token = get(this.ctx, 'request.header.token'); assert(token, '缺少token信息'); const result: any = this.jwtService.decode(token); const userMenusResult = await this.roleService.getUserMenus(); const menus = get(userMenusResult, 'menus'); const role_code = get(userMenusResult, 'role_code'); result.menus = menus; result.role_code = role_code; return RF.success(result); } }