package com.ruoyi.web.controller.system; 
 | 
  
 | 
import java.util.List; 
 | 
import java.util.Set; 
 | 
  
 | 
import com.ruoyi.common.annotation.Anonymous; 
 | 
import com.ruoyi.system.service.ISysConfigService; 
 | 
import io.swagger.annotations.Api; 
 | 
import io.swagger.annotations.ApiOperation; 
 | 
import org.springframework.beans.factory.annotation.Autowired; 
 | 
import org.springframework.web.bind.annotation.GetMapping; 
 | 
import org.springframework.web.bind.annotation.PostMapping; 
 | 
import org.springframework.web.bind.annotation.RequestBody; 
 | 
import org.springframework.web.bind.annotation.RestController; 
 | 
import com.ruoyi.common.constant.Constants; 
 | 
import com.ruoyi.common.core.domain.AjaxResult; 
 | 
import com.ruoyi.common.core.domain.entity.SysMenu; 
 | 
import com.ruoyi.common.core.domain.entity.SysUser; 
 | 
import com.ruoyi.common.core.domain.model.LoginBody; 
 | 
import com.ruoyi.common.utils.SecurityUtils; 
 | 
import com.ruoyi.framework.web.service.SysLoginService; 
 | 
import com.ruoyi.framework.web.service.SysPermissionService; 
 | 
import com.ruoyi.system.service.ISysMenuService; 
 | 
  
 | 
/** 
 | 
 * 登录验证 
 | 
 *  
 | 
 * @author ruoyi 
 | 
 */ 
 | 
@RestController 
 | 
@Api(tags = "登录验证接口") 
 | 
@Anonymous 
 | 
public class SysLoginController 
 | 
{ 
 | 
    @Autowired 
 | 
    private SysLoginService loginService; 
 | 
  
 | 
    @Autowired 
 | 
    private ISysMenuService menuService; 
 | 
  
 | 
    @Autowired 
 | 
    private SysPermissionService permissionService; 
 | 
  
 | 
    /** 
 | 
     * 登录方法 
 | 
     *  
 | 
     * @param loginBody 登录信息 
 | 
     * @return 结果 
 | 
     */ 
 | 
    @PostMapping("/login") 
 | 
    @ApiOperation(value = "登录") 
 | 
    public AjaxResult login(@RequestBody LoginBody loginBody) 
 | 
    { 
 | 
        AjaxResult ajax = AjaxResult.success(); 
 | 
        // 生成令牌 
 | 
        String token = loginService.login(loginBody.getUsername(), loginBody.getPassword(), loginBody.getCode(), 
 | 
                loginBody.getUuid(),loginBody.getApp()); 
 | 
        ajax.put(Constants.TOKEN, token); 
 | 
        return ajax; 
 | 
    } 
 | 
  
 | 
    /** 
 | 
     * 获取用户信息 
 | 
     *  
 | 
     * @return 用户信息 
 | 
     */ 
 | 
    @GetMapping("getInfo") 
 | 
    @ApiOperation(value = "获取用户信息") 
 | 
    public AjaxResult getInfo() 
 | 
    { 
 | 
        SysUser user = SecurityUtils.getLoginUser().getUser(); 
 | 
        // 角色集合 
 | 
        Set<String> roles = permissionService.getRolePermission(user); 
 | 
        // 权限集合 
 | 
        Set<String> permissions = permissionService.getMenuPermission(user); 
 | 
        AjaxResult ajax = AjaxResult.success(); 
 | 
        ajax.put("user", user); 
 | 
        ajax.put("roles", roles); 
 | 
        ajax.put("permissions", permissions); 
 | 
        return ajax; 
 | 
    } 
 | 
  
 | 
    /** 
 | 
     * 获取路由信息 
 | 
     *  
 | 
     * @return 路由信息 
 | 
     */ 
 | 
    @GetMapping("getRouters") 
 | 
    public AjaxResult getRouters() 
 | 
    { 
 | 
        String userId = SecurityUtils.getUserId(); 
 | 
        List<SysMenu> menus = menuService.selectMenuTreeByUserId(userId); 
 | 
        return AjaxResult.success(menuService.buildMenus(menus)); 
 | 
    } 
 | 
} 
 |