update 重构 与cloud版本统一接口路径

This commit is contained in:
疯狂的狮子li 2023-03-15 15:52:39 +08:00
parent b14fa6e12f
commit 0ad45df788
10 changed files with 71 additions and 107 deletions

View File

@ -4,50 +4,43 @@ import cn.dev33.satoken.annotation.SaIgnore;
import cn.hutool.core.collection.CollUtil;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.domain.model.LoginBody;
import com.ruoyi.common.core.domain.model.LoginUser;
import com.ruoyi.common.core.domain.model.RegisterBody;
import com.ruoyi.common.core.domain.model.SmsLoginBody;
import com.ruoyi.common.core.utils.MapstructUtils;
import com.ruoyi.common.core.utils.StreamUtils;
import com.ruoyi.common.core.utils.StringUtils;
import com.ruoyi.common.satoken.utils.LoginHelper;
import com.ruoyi.common.tenant.helper.TenantHelper;
import com.ruoyi.system.domain.SysMenu;
import com.ruoyi.system.domain.bo.SysTenantBo;
import com.ruoyi.system.domain.vo.RouterVo;
import com.ruoyi.system.domain.vo.SysTenantVo;
import com.ruoyi.system.domain.vo.SysUserVo;
import com.ruoyi.system.service.ISysMenuService;
import com.ruoyi.system.service.ISysConfigService;
import com.ruoyi.system.service.ISysTenantService;
import com.ruoyi.system.service.ISysUserService;
import com.ruoyi.web.domain.vo.LoginVo;
import com.ruoyi.web.domain.vo.TenantListVo;
import com.ruoyi.web.domain.vo.UserInfoVo;
import com.ruoyi.web.service.SysLoginService;
import com.ruoyi.web.service.SysRegisterService;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.validation.constraints.NotBlank;
import lombok.RequiredArgsConstructor;
import org.springframework.validation.annotation.Validated;
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 org.springframework.web.bind.annotation.*;
import java.net.URL;
import java.util.List;
/**
* 登录验
*
*
* @author Lion Li
*/
@SaIgnore
@Validated
@RequiredArgsConstructor
@RestController
public class SysLoginController {
@RequestMapping("/auth")
public class AuthController {
private final SysLoginService loginService;
private final ISysMenuService menuService;
private final ISysUserService userService;
private final SysRegisterService registerService;
private final ISysConfigService configService;
private final ISysTenantService tenantService;
/**
@ -56,7 +49,6 @@ public class SysLoginController {
* @param body 登录信息
* @return 结果
*/
@SaIgnore
@PostMapping("/login")
public R<LoginVo> login(@Validated @RequestBody LoginBody body) {
LoginVo loginVo = new LoginVo();
@ -75,7 +67,6 @@ public class SysLoginController {
* @param body 登录信息
* @return 结果
*/
@SaIgnore
@PostMapping("/smsLogin")
public R<LoginVo> smsLogin(@Validated @RequestBody SmsLoginBody body) {
LoginVo loginVo = new LoginVo();
@ -91,7 +82,6 @@ public class SysLoginController {
* @param xcxCode 小程序code
* @return 结果
*/
@SaIgnore
@PostMapping("/xcxLogin")
public R<LoginVo> xcxLogin(@NotBlank(message = "{xcx.code.not.blank}") String xcxCode) {
LoginVo loginVo = new LoginVo();
@ -104,19 +94,29 @@ public class SysLoginController {
/**
* 退出登录
*/
@SaIgnore
@PostMapping("/logout")
public R<Void> logout() {
loginService.logout();
return R.ok("退出成功");
}
/**
* 用户注册
*/
@PostMapping("/register")
public R<Void> register(@Validated @RequestBody RegisterBody user) {
if (!configService.selectRegisterEnabled(user.getTenantId())) {
return R.fail("当前系统没有开启注册功能!");
}
registerService.register(user);
return R.ok();
}
/**
* 登录页面租户下拉框
*
* @return 租户列表
*/
@SaIgnore
@GetMapping("/tenant/list")
public R<List<TenantListVo>> tenantList(HttpServletRequest request) throws Exception {
List<SysTenantVo> tenantList = tenantService.queryList(new SysTenantBo());
@ -128,34 +128,4 @@ public class SysLoginController {
return R.ok(CollUtil.isNotEmpty(list) ? list : voList);
}
/**
* 获取用户信息
*
* @return 用户信息
*/
@GetMapping("getInfo")
public R<UserInfoVo> getInfo() {
UserInfoVo userInfoVo = new UserInfoVo();
LoginUser loginUser = LoginHelper.getLoginUser();
if (TenantHelper.isEnable() && LoginHelper.isSuperAdmin()) {
// 超级管理员 如果重新加载用户信息需清除动态租户
TenantHelper.clearDynamic();
}
SysUserVo user = userService.selectUserById(loginUser.getUserId());
userInfoVo.setUser(user);
userInfoVo.setPermissions(loginUser.getMenuPermission());
userInfoVo.setRoles(loginUser.getRolePermission());
return R.ok(userInfoVo);
}
/**
* 获取路由信息
*
* @return 路由信息
*/
@GetMapping("getRouters")
public R<List<RouterVo>> getRouters() {
List<SysMenu> menus = menuService.selectMenuTreeByUserId(LoginHelper.getUserId());
return R.ok(menuService.buildMenus(menus));
}
}

View File

@ -52,7 +52,7 @@ public class CaptchaController {
*
* @param phonenumber 用户手机号
*/
@GetMapping("/captchaSms")
@GetMapping("/sms/code")
public R<Void> smsCaptcha(@NotBlank(message = "{user.phonenumber.not.blank}")
String phonenumber) {
if (!smsProperties.getEnabled()) {
@ -77,7 +77,7 @@ public class CaptchaController {
/**
* 生成验证码
*/
@GetMapping("/captchaImage")
@GetMapping("/code")
public R<CaptchaVo> getCode() {
CaptchaVo captchaVo = new CaptchaVo();
boolean captchaEnabled = captchaProperties.getEnable();

View File

@ -12,9 +12,10 @@ import org.springframework.web.bind.annotation.RestController;
*
* @author Lion Li
*/
@SaIgnore
@RequiredArgsConstructor
@RestController
public class SysIndexController {
public class IndexController {
/**
* 系统基础配置
@ -24,7 +25,6 @@ public class SysIndexController {
/**
* 访问首页提示语
*/
@SaIgnore
@GetMapping("/")
public String index() {
return StringUtils.format("欢迎使用{}后台管理框架当前版本v{},请通过前端地址访问。", ruoyiConfig.getName(), ruoyiConfig.getVersion());

View File

@ -1,40 +0,0 @@
package com.ruoyi.web.controller;
import cn.dev33.satoken.annotation.SaIgnore;
import com.ruoyi.common.web.core.BaseController;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.domain.model.RegisterBody;
import com.ruoyi.system.service.ISysConfigService;
import com.ruoyi.web.service.SysRegisterService;
import lombok.RequiredArgsConstructor;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
/**
* 注册验证
*
* @author Lion Li
*/
@Validated
@RequiredArgsConstructor
@RestController
public class SysRegisterController extends BaseController {
private final SysRegisterService registerService;
private final ISysConfigService configService;
/**
* 用户注册
*/
@SaIgnore
@PostMapping("/register")
public R<Void> register(@Validated @RequestBody RegisterBody user) {
if (!configService.selectRegisterEnabled(user.getTenantId())) {
return R.fail("当前系统没有开启注册功能!");
}
registerService.register(user);
return R.ok();
}
}

View File

@ -3,7 +3,7 @@ ruoyi:
# 名称
name: RuoYi-Vue-Plus
# 版本
version: ${ruoyi-vue-plus.version}
version: ${revision}
# 版权年份
copyrightYear: 2022
# 实例演示开关

View File

@ -12,8 +12,10 @@ import com.ruoyi.common.log.annotation.Log;
import com.ruoyi.common.log.enums.BusinessType;
import com.ruoyi.common.satoken.utils.LoginHelper;
import com.ruoyi.common.web.core.BaseController;
import com.ruoyi.system.domain.SysMenu;
import com.ruoyi.system.domain.bo.SysMenuBo;
import com.ruoyi.system.domain.vo.MenuTreeSelectVo;
import com.ruoyi.system.domain.vo.RouterVo;
import com.ruoyi.system.domain.vo.SysMenuVo;
import com.ruoyi.system.service.ISysMenuService;
import lombok.RequiredArgsConstructor;
@ -35,6 +37,17 @@ public class SysMenuController extends BaseController {
private final ISysMenuService menuService;
/**
* 获取路由信息
*
* @return 路由信息
*/
@GetMapping("/getRouters")
public R<List<RouterVo>> getRouters() {
List<SysMenu> menus = menuService.selectMenuTreeByUserId(LoginHelper.getUserId());
return R.ok(menuService.buildMenus(menus));
}
/**
* 获取菜单列表
*/

View File

@ -6,6 +6,7 @@ import cn.hutool.core.lang.tree.Tree;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.util.ObjectUtil;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.domain.model.LoginUser;
import com.ruoyi.common.core.utils.MapstructUtils;
import com.ruoyi.common.core.utils.StreamUtils;
import com.ruoyi.common.core.utils.StringUtils;
@ -93,6 +94,26 @@ public class SysUserController extends BaseController {
ExcelUtil.exportExcel(new ArrayList<>(), "用户数据", SysUserImportVo.class, response);
}
/**
* 获取用户信息
*
* @return 用户信息
*/
@GetMapping("/getInfo")
public R<UserInfoVo> getInfo() {
UserInfoVo userInfoVo = new UserInfoVo();
LoginUser loginUser = LoginHelper.getLoginUser();
if (TenantHelper.isEnable() && LoginHelper.isSuperAdmin()) {
// 超级管理员 如果重新加载用户信息需清除动态租户
TenantHelper.clearDynamic();
}
SysUserVo user = userService.selectUserById(loginUser.getUserId());
userInfoVo.setUser(user);
userInfoVo.setPermissions(loginUser.getMenuPermission());
userInfoVo.setRoles(loginUser.getRolePermission());
return R.ok(userInfoVo);
}
/**
* 根据用户编号获取详细信息
*

View File

@ -1,4 +1,4 @@
package com.ruoyi.web.domain.vo;
package com.ruoyi.system.domain.vo;
import com.ruoyi.system.domain.vo.SysUserVo;
import lombok.Data;

View File

@ -10,7 +10,7 @@ export function login(tenantId, username, password, code, uuid) {
uuid
}
return request({
url: '/login',
url: '/auth/login',
headers: {
isToken: false
},
@ -22,7 +22,7 @@ export function login(tenantId, username, password, code, uuid) {
// 注册方法
export function register(data) {
return request({
url: '/register',
url: '/auth/register',
headers: {
isToken: false
},
@ -34,7 +34,7 @@ export function register(data) {
// 获取用户详细信息
export function getInfo() {
return request({
url: '/getInfo',
url: '/system/user/getInfo',
method: 'get'
})
}
@ -42,7 +42,7 @@ export function getInfo() {
// 退出方法
export function logout() {
return request({
url: '/logout',
url: '/auth/logout',
method: 'post'
})
}
@ -50,7 +50,7 @@ export function logout() {
// 获取验证码
export function getCodeImg() {
return request({
url: '/captchaImage',
url: '/code',
headers: {
isToken: false
},
@ -62,7 +62,7 @@ export function getCodeImg() {
// 短信验证码
export function getCodeSms() {
return request({
url: '/captchaSms',
url: '/sms/code',
headers: {
isToken: false
},
@ -74,7 +74,7 @@ export function getCodeSms() {
// 获取租户列表
export function tenantList() {
return request({
url: '/tenant/list',
url: '/auth/tenant/list',
headers: {
isToken: false
},

View File

@ -3,7 +3,7 @@ import request from '@/utils/request'
// 获取路由
export const getRouters = () => {
return request({
url: '/getRouters',
url: '/system/menu/getRouters',
method: 'get'
})
}
}