diff --git a/beacon-common/src/main/java/com/mashibing/common/enums/ExceptionEnums.java b/beacon-common/src/main/java/com/mashibing/common/enums/ExceptionEnums.java index d0a8fc5..ab142d3 100644 --- a/beacon-common/src/main/java/com/mashibing/common/enums/ExceptionEnums.java +++ b/beacon-common/src/main/java/com/mashibing/common/enums/ExceptionEnums.java @@ -28,7 +28,9 @@ public enum ExceptionEnums { SEARCH_UPDATE_ERROR(-20,"修改文档信息失败!"), KAPACHA_ERROR(-100,"验证码错误!"), - AUTHEN_ERROR(-101,"用户名或密码错误!") + AUTHEN_ERROR(-101,"用户名或密码错误!"), + NOT_LOGIN(-102,"用户未登录!"), + USER_MENU_ERROR(-103,"查询用户的菜单信息失败!") ; private Integer code; diff --git a/beacon-common/src/main/java/com/mashibing/common/util/R.java b/beacon-common/src/main/java/com/mashibing/common/util/R.java index 108a605..935c9f4 100644 --- a/beacon-common/src/main/java/com/mashibing/common/util/R.java +++ b/beacon-common/src/main/java/com/mashibing/common/util/R.java @@ -20,6 +20,16 @@ public class R { return new ResultVO(0,""); } + /** + * 成功,有数据 + * @return + */ + public static ResultVO ok(Object data){ + ResultVO vo = ok(); + vo.setData(data); + return vo; + } + /** * 失败,指定错误信息 * @param enums diff --git a/beacon-common/src/main/java/com/mashibing/common/vo/ResultVO.java b/beacon-common/src/main/java/com/mashibing/common/vo/ResultVO.java index 99c9300..4ed2fa4 100644 --- a/beacon-common/src/main/java/com/mashibing/common/vo/ResultVO.java +++ b/beacon-common/src/main/java/com/mashibing/common/vo/ResultVO.java @@ -16,6 +16,9 @@ public class ResultVO { private String msg; + private Object data; + + public ResultVO(Integer code, String msg) { this.code = code; this.msg = msg; diff --git a/beacon-webmaster/src/main/java/com/mashibing/webmaster/controller/SmsUserController.java b/beacon-webmaster/src/main/java/com/mashibing/webmaster/controller/SmsUserController.java index 12cf1b6..0369d0a 100644 --- a/beacon-webmaster/src/main/java/com/mashibing/webmaster/controller/SmsUserController.java +++ b/beacon-webmaster/src/main/java/com/mashibing/webmaster/controller/SmsUserController.java @@ -6,17 +6,21 @@ import com.mashibing.common.enums.ExceptionEnums; import com.mashibing.common.util.R; import com.mashibing.common.vo.ResultVO; import com.mashibing.webmaster.dto.UserDTO; +import com.mashibing.webmaster.entity.SmsUser; +import com.mashibing.webmaster.service.SmsMenuService; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.SecurityUtils; import org.apache.shiro.authc.AuthenticationException; import org.apache.shiro.authc.UsernamePasswordToken; +import org.apache.shiro.subject.Subject; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.validation.BindingResult; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import javax.validation.Valid; +import java.util.HashMap; +import java.util.List; +import java.util.Map; /** * 认证,注册等基于用户的操作接口 @@ -29,7 +33,16 @@ import javax.validation.Valid; @Slf4j public class SmsUserController { + @Autowired + private SmsMenuService menuService; + /** + * 登录功能 + * + * @param userDTO 接收用户登录信息 + * @param bindingResult 校验参数 + * @return + */ @PostMapping("/login") public ResultVO login(@RequestBody @Valid UserDTO userDTO, BindingResult bindingResult) { // * 1、请求参数的非空校验 @@ -45,7 +58,7 @@ public class SmsUserController { return R.error(ExceptionEnums.KAPACHA_ERROR); } // * 3、基于用户名和密码做Shiro的认证操作 - UsernamePasswordToken token = new UsernamePasswordToken(userDTO.getUsername(),userDTO.getPassword()); + UsernamePasswordToken token = new UsernamePasswordToken(userDTO.getUsername(), userDTO.getPassword()); token.setRememberMe(userDTO.getRememberMe()); try { SecurityUtils.getSubject().login(token); @@ -59,4 +72,47 @@ public class SmsUserController { } + /** + * 查询登录用户的信息 + * + * @return + */ + @GetMapping("/user/info") + public ResultVO info() { + //1、基于SecurityUtils获取用户信息 + Subject subject = SecurityUtils.getSubject(); + SmsUser smsUser = (SmsUser) subject.getPrincipal(); + if (smsUser == null) { + log.info("【获取登录用户信息】 用户未登录!!"); + return R.error(ExceptionEnums.NOT_LOGIN); + } + + //2、封装结果返回 + Map data = new HashMap<>(); + data.put("nickname", smsUser.getNickname()); + data.put("username", smsUser.getUsername()); + return R.ok(data); + } + + /** + * 查询当前登录用户的菜单信息 + * @return + */ + @GetMapping("/menu/user") + public ResultVO menuUser() { + // 基于用户的id,根据角色表信息查询到菜单表中的详细内容 + SmsUser smsUser = (SmsUser) SecurityUtils.getSubject().getPrincipal(); + if (smsUser == null) { + log.info("【获取用户菜单信息】 用户未登录!!"); + return R.error(ExceptionEnums.NOT_LOGIN); + } + // 封装为具体的下述的这种结构 + List> data = menuService.findUserMenu(smsUser.getId()); + if (data == null){ + log.error("【获取用户菜单信息】 查询用户菜单失败!! id = {}",smsUser.getId()); + return R.error(ExceptionEnums.USER_MENU_ERROR); + } + // 返回结果 + return R.ok(data); + } } diff --git a/beacon-webmaster/src/main/java/com/mashibing/webmaster/mapper/SmsMenuMapper.java b/beacon-webmaster/src/main/java/com/mashibing/webmaster/mapper/SmsMenuMapper.java index 5b77a13..6936534 100644 --- a/beacon-webmaster/src/main/java/com/mashibing/webmaster/mapper/SmsMenuMapper.java +++ b/beacon-webmaster/src/main/java/com/mashibing/webmaster/mapper/SmsMenuMapper.java @@ -3,6 +3,8 @@ package com.mashibing.webmaster.mapper; import com.mashibing.webmaster.entity.SmsMenu; import com.mashibing.webmaster.entity.SmsMenuExample; import java.util.List; +import java.util.Map; + import org.apache.ibatis.annotations.Param; public interface SmsMenuMapper { @@ -27,4 +29,11 @@ public interface SmsMenuMapper { int updateByPrimaryKeySelective(SmsMenu row); int updateByPrimaryKey(SmsMenu row); + + /** + * 根据用户id查询当前用户的一级和二级菜单 + * @param id + * @return + */ + List> findMenuByUserId(@Param("userId") Integer id); } \ No newline at end of file diff --git a/beacon-webmaster/src/main/java/com/mashibing/webmaster/service/SmsMenuService.java b/beacon-webmaster/src/main/java/com/mashibing/webmaster/service/SmsMenuService.java new file mode 100644 index 0000000..9774d7a --- /dev/null +++ b/beacon-webmaster/src/main/java/com/mashibing/webmaster/service/SmsMenuService.java @@ -0,0 +1,18 @@ +package com.mashibing.webmaster.service; + +import java.util.List; +import java.util.Map; + +/** + * 菜单Service + * @author zjw + * @description + */ +public interface SmsMenuService { + /** + * 根据用户id查询用户菜单信息 + * @param id 用户Id + * @return + */ + List> findUserMenu(Integer id); +} diff --git a/beacon-webmaster/src/main/java/com/mashibing/webmaster/service/impl/SmsMenuServiceImpl.java b/beacon-webmaster/src/main/java/com/mashibing/webmaster/service/impl/SmsMenuServiceImpl.java new file mode 100644 index 0000000..facdf49 --- /dev/null +++ b/beacon-webmaster/src/main/java/com/mashibing/webmaster/service/impl/SmsMenuServiceImpl.java @@ -0,0 +1,59 @@ +package com.mashibing.webmaster.service.impl; + +import com.mashibing.webmaster.mapper.SmsMenuMapper; +import com.mashibing.webmaster.service.SmsMenuService; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.List; +import java.util.ListIterator; +import java.util.Map; + +/** + * @author zjw + * @description + */ +@Service +public class SmsMenuServiceImpl implements SmsMenuService { + + @Resource + private SmsMenuMapper menuMapper; + + + @Override + public List> findUserMenu(Integer id) { + //1、将多表查询的结果直接映射,只查询type为0和type为1的数据, 查询到的结果顺序,是type正序排序 + List> list = menuMapper.findMenuByUserId(id); + + //2、封装外层的父级菜单封装到当前的List集合 + List> data = new ArrayList<>(); + //3、使用迭代器遍历所有的菜单信息,封装父级菜单 + ListIterator> parentIterator = list.listIterator(); + while (parentIterator.hasNext()) { + Map menu = parentIterator.next(); + if ((int) menu.get("type") == 0) { + // 是父级菜单 + data.add(menu); + parentIterator.remove(); + } else { + break; + } + } + //4、存放二级菜单 + for (Map parentMenu : data) { + List> sonMenuList = new ArrayList<>(); + ListIterator> sonIterator = list.listIterator(); + while (sonIterator.hasNext()) { + Map sonMenu = sonIterator.next(); + if ((long) parentMenu.get("id") == (long) sonMenu.get("parentId")) { + sonMenuList.add(sonMenu); + sonIterator.remove(); + } + } + parentMenu.put("list", sonMenuList); + } + //5、返回data + return data; + } +} diff --git a/beacon-webmaster/src/main/resources/mapper/SmsMenuMapper.xml b/beacon-webmaster/src/main/resources/mapper/SmsMenuMapper.xml index 2b1769d..192a15b 100644 --- a/beacon-webmaster/src/main/resources/mapper/SmsMenuMapper.xml +++ b/beacon-webmaster/src/main/resources/mapper/SmsMenuMapper.xml @@ -1,117 +1,120 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - and ${criterion.condition} - - - and ${criterion.condition} #{criterion.value} - - - and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} - - - and ${criterion.condition} - - #{listItem} - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value} + + + and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} + + + and ${criterion.condition} + + #{listItem} + + + + + + - - - - - - - - - - - - - - and ${criterion.condition} - - - and ${criterion.condition} #{criterion.value} - - - and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} - - - and ${criterion.condition} - - #{listItem} - - - + + + + + + + + + + + and ${criterion.condition} + + + and ${criterion.condition} #{criterion.value} + + + and ${criterion.condition} #{criterion.value} and #{criterion.secondValue} + + + and ${criterion.condition} + + #{listItem} + + + + + + - - - - - - + + + id, name, parent_id, url, icon, type, sort, created, create_id, updated, update_id, is_delete, extend1, extend2, extend3, extend4 - - - + + + delete from sms_menu where id = #{id,jdbcType=INTEGER} - - delete from sms_menu - - - - - + + delete from sms_menu + + + + + insert into sms_menu (id, name, parent_id, url, icon, type, sort, created, create_id, updated, @@ -125,245 +128,246 @@ #{extend2,jdbcType=VARCHAR}, #{extend3,jdbcType=VARCHAR}, #{extend4,jdbcType=VARCHAR} ) - - insert into sms_menu - - - id, - - - name, - - - parent_id, - - - url, - - - icon, - - - type, - - - sort, - - - created, - - - create_id, - - - updated, - - - update_id, - - - is_delete, - - - extend1, - - - extend2, - - - extend3, - - - extend4, - - - - - #{id,jdbcType=INTEGER}, - - - #{name,jdbcType=VARCHAR}, - - - #{parentId,jdbcType=BIGINT}, - - - #{url,jdbcType=VARCHAR}, - - - #{icon,jdbcType=VARCHAR}, - - - #{type,jdbcType=INTEGER}, - - - #{sort,jdbcType=INTEGER}, - - - #{created,jdbcType=TIMESTAMP}, - - - #{createId,jdbcType=BIGINT}, - - - #{updated,jdbcType=TIMESTAMP}, - - - #{updateId,jdbcType=BIGINT}, - - - #{isDelete,jdbcType=TINYINT}, - - - #{extend1,jdbcType=VARCHAR}, - - - #{extend2,jdbcType=VARCHAR}, - - - #{extend3,jdbcType=VARCHAR}, - - - #{extend4,jdbcType=VARCHAR}, - - - - - - update sms_menu - - - id = #{row.id,jdbcType=INTEGER}, - - + + insert into sms_menu + + + id, + + + name, + + + parent_id, + + + url, + + + icon, + + + type, + + + sort, + + + created, + + + create_id, + + + updated, + + + update_id, + + + is_delete, + + + extend1, + + + extend2, + + + extend3, + + + extend4, + + + + + #{id,jdbcType=INTEGER}, + + + #{name,jdbcType=VARCHAR}, + + + #{parentId,jdbcType=BIGINT}, + + + #{url,jdbcType=VARCHAR}, + + + #{icon,jdbcType=VARCHAR}, + + + #{type,jdbcType=INTEGER}, + + + #{sort,jdbcType=INTEGER}, + + + #{created,jdbcType=TIMESTAMP}, + + + #{createId,jdbcType=BIGINT}, + + + #{updated,jdbcType=TIMESTAMP}, + + + #{updateId,jdbcType=BIGINT}, + + + #{isDelete,jdbcType=TINYINT}, + + + #{extend1,jdbcType=VARCHAR}, + + + #{extend2,jdbcType=VARCHAR}, + + + #{extend3,jdbcType=VARCHAR}, + + + #{extend4,jdbcType=VARCHAR}, + + + + + + update sms_menu + + + id = #{row.id,jdbcType=INTEGER}, + + + name = #{row.name,jdbcType=VARCHAR}, + + + parent_id = #{row.parentId,jdbcType=BIGINT}, + + + url = #{row.url,jdbcType=VARCHAR}, + + + icon = #{row.icon,jdbcType=VARCHAR}, + + + type = #{row.type,jdbcType=INTEGER}, + + + sort = #{row.sort,jdbcType=INTEGER}, + + + created = #{row.created,jdbcType=TIMESTAMP}, + + + create_id = #{row.createId,jdbcType=BIGINT}, + + + updated = #{row.updated,jdbcType=TIMESTAMP}, + + + update_id = #{row.updateId,jdbcType=BIGINT}, + + + is_delete = #{row.isDelete,jdbcType=TINYINT}, + + + extend1 = #{row.extend1,jdbcType=VARCHAR}, + + + extend2 = #{row.extend2,jdbcType=VARCHAR}, + + + extend3 = #{row.extend3,jdbcType=VARCHAR}, + + + extend4 = #{row.extend4,jdbcType=VARCHAR}, + + + + + + + + update sms_menu + set id = #{row.id,jdbcType=INTEGER}, name = #{row.name,jdbcType=VARCHAR}, - - parent_id = #{row.parentId,jdbcType=BIGINT}, - - url = #{row.url,jdbcType=VARCHAR}, - - icon = #{row.icon,jdbcType=VARCHAR}, - - type = #{row.type,jdbcType=INTEGER}, - - sort = #{row.sort,jdbcType=INTEGER}, - - created = #{row.created,jdbcType=TIMESTAMP}, - - create_id = #{row.createId,jdbcType=BIGINT}, - - updated = #{row.updated,jdbcType=TIMESTAMP}, - - update_id = #{row.updateId,jdbcType=BIGINT}, - - is_delete = #{row.isDelete,jdbcType=TINYINT}, - - extend1 = #{row.extend1,jdbcType=VARCHAR}, - - extend2 = #{row.extend2,jdbcType=VARCHAR}, - - extend3 = #{row.extend3,jdbcType=VARCHAR}, - - - extend4 = #{row.extend4,jdbcType=VARCHAR}, - - - - - - - - update sms_menu - set id = #{row.id,jdbcType=INTEGER}, - name = #{row.name,jdbcType=VARCHAR}, - parent_id = #{row.parentId,jdbcType=BIGINT}, - url = #{row.url,jdbcType=VARCHAR}, - icon = #{row.icon,jdbcType=VARCHAR}, - type = #{row.type,jdbcType=INTEGER}, - sort = #{row.sort,jdbcType=INTEGER}, - created = #{row.created,jdbcType=TIMESTAMP}, - create_id = #{row.createId,jdbcType=BIGINT}, - updated = #{row.updated,jdbcType=TIMESTAMP}, - update_id = #{row.updateId,jdbcType=BIGINT}, - is_delete = #{row.isDelete,jdbcType=TINYINT}, - extend1 = #{row.extend1,jdbcType=VARCHAR}, - extend2 = #{row.extend2,jdbcType=VARCHAR}, - extend3 = #{row.extend3,jdbcType=VARCHAR}, - extend4 = #{row.extend4,jdbcType=VARCHAR} - - - - - - update sms_menu - - - name = #{name,jdbcType=VARCHAR}, - - - parent_id = #{parentId,jdbcType=BIGINT}, - - - url = #{url,jdbcType=VARCHAR}, - - - icon = #{icon,jdbcType=VARCHAR}, - - - type = #{type,jdbcType=INTEGER}, - - - sort = #{sort,jdbcType=INTEGER}, - - - created = #{created,jdbcType=TIMESTAMP}, - - - create_id = #{createId,jdbcType=BIGINT}, - - - updated = #{updated,jdbcType=TIMESTAMP}, - - - update_id = #{updateId,jdbcType=BIGINT}, - - - is_delete = #{isDelete,jdbcType=TINYINT}, - - - extend1 = #{extend1,jdbcType=VARCHAR}, - - - extend2 = #{extend2,jdbcType=VARCHAR}, - - - extend3 = #{extend3,jdbcType=VARCHAR}, - - - extend4 = #{extend4,jdbcType=VARCHAR}, - - - where id = #{id,jdbcType=INTEGER} - - + extend4 = #{row.extend4,jdbcType=VARCHAR} + + + + + + update sms_menu + + + name = #{name,jdbcType=VARCHAR}, + + + parent_id = #{parentId,jdbcType=BIGINT}, + + + url = #{url,jdbcType=VARCHAR}, + + + icon = #{icon,jdbcType=VARCHAR}, + + + type = #{type,jdbcType=INTEGER}, + + + sort = #{sort,jdbcType=INTEGER}, + + + created = #{created,jdbcType=TIMESTAMP}, + + + create_id = #{createId,jdbcType=BIGINT}, + + + updated = #{updated,jdbcType=TIMESTAMP}, + + + update_id = #{updateId,jdbcType=BIGINT}, + + + is_delete = #{isDelete,jdbcType=TINYINT}, + + + extend1 = #{extend1,jdbcType=VARCHAR}, + + + extend2 = #{extend2,jdbcType=VARCHAR}, + + + extend3 = #{extend3,jdbcType=VARCHAR}, + + + extend4 = #{extend4,jdbcType=VARCHAR}, + + + where id = #{id,jdbcType=INTEGER} + + update sms_menu set name = #{name,jdbcType=VARCHAR}, parent_id = #{parentId,jdbcType=BIGINT}, @@ -382,4 +386,23 @@ extend4 = #{extend4,jdbcType=VARCHAR} where id = #{id,jdbcType=INTEGER} + + + + + + + + \ No newline at end of file diff --git a/beacon-webmaster/src/main/resources/sql/rbac.sql b/beacon-webmaster/src/main/resources/sql/rbac.sql index 243ecbb..60cb319 100644 --- a/beacon-webmaster/src/main/resources/sql/rbac.sql +++ b/beacon-webmaster/src/main/resources/sql/rbac.sql @@ -83,10 +83,10 @@ INSERT INTO `sms_menu` VALUES ('6', '新增', '2', null, null, '2', '1000', '202 INSERT INTO `sms_menu` VALUES ('7', '修改', '2', null, null, '2', '1000', '2023-07-28 08:29:20', '1', '2023-07-28 08:29:36', '1', '0', null, null, null, null); INSERT INTO `sms_menu` VALUES ('8', '删除', '2', null, null, '2', '1000', '2023-07-28 08:29:34', '1', '2023-07-28 08:29:37', '1', '0', null, null, null, null); -- ---------------------------- --- Table structure for `sys_user_role` +-- Table structure for `sms_user_role` -- ---------------------------- -DROP TABLE IF EXISTS `sys_user_role`; -CREATE TABLE `sys_user_role` ( +DROP TABLE IF EXISTS `sms_user_role`; +CREATE TABLE `sms_user_role` ( `user_id` bigint(11) NOT NULL COMMENT '用户id', `role_id` bigint(11) NOT NULL COMMENT '角色id', `created` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间,默认系统时间', @@ -98,14 +98,14 @@ CREATE TABLE `sys_user_role` ( ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户角色关系表'; -- ---------------------------- --- Records of sys_user_role +-- Records of sms_user_role -- ---------------------------- -INSERT INTO `sys_user_role` VALUES ('1', '1', '2023-07-28 08:25:41', '1', '2023-07-28 08:25:41', '1', '0'); +INSERT INTO `sms_user_role` VALUES ('1', '1', '2023-07-28 08:25:41', '1', '2023-07-28 08:25:41', '1', '0'); -- ---------------------------- --- Table structure for `sys_role_menu` +-- Table structure for `sms_role_menu` -- ---------------------------- -DROP TABLE IF EXISTS `sys_role_menu`; -CREATE TABLE `sys_role_menu` ( +DROP TABLE IF EXISTS `sms_role_menu`; +CREATE TABLE `sms_role_menu` ( `role_id` bigint(11) NOT NULL COMMENT '角色id', `menu_id` bigint(11) NOT NULL COMMENT '菜单id', `created` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间,默认系统时间', @@ -117,13 +117,13 @@ CREATE TABLE `sys_role_menu` ( ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户角色关系表'; -- ---------------------------- --- Records of sys_role_menu +-- Records of sms_role_menu -- ---------------------------- -INSERT INTO `sys_role_menu` VALUES ('1', '1', '2023-07-28 08:30:34', null, '2023-07-28 08:30:34', null, '0'); -INSERT INTO `sys_role_menu` VALUES ('1', '2', '2023-07-28 08:30:38', null, '2023-07-28 08:30:38', null, '0'); -INSERT INTO `sys_role_menu` VALUES ('1', '3', '2023-07-28 08:30:40', null, '2023-07-28 08:30:40', null, '0'); -INSERT INTO `sys_role_menu` VALUES ('1', '4', '2023-07-28 08:30:44', null, '2023-07-28 08:30:44', null, '0'); -INSERT INTO `sys_role_menu` VALUES ('1', '5', '2023-07-28 08:30:46', null, '2023-07-28 08:30:46', null, '0'); -INSERT INTO `sys_role_menu` VALUES ('1', '6', '2023-07-28 08:30:48', null, '2023-07-28 08:30:48', null, '0'); -INSERT INTO `sys_role_menu` VALUES ('1', '7', '2023-07-28 08:30:50', null, '2023-07-28 08:30:50', null, '0'); -INSERT INTO `sys_role_menu` VALUES ('1', '8', '2023-07-28 08:30:50', null, '2023-07-28 08:30:50', null, '0'); +INSERT INTO `sms_role_menu` VALUES ('1', '1', '2023-07-28 08:30:34', null, '2023-07-28 08:30:34', null, '0'); +INSERT INTO `sms_role_menu` VALUES ('1', '2', '2023-07-28 08:30:38', null, '2023-07-28 08:30:38', null, '0'); +INSERT INTO `sms_role_menu` VALUES ('1', '3', '2023-07-28 08:30:40', null, '2023-07-28 08:30:40', null, '0'); +INSERT INTO `sms_role_menu` VALUES ('1', '4', '2023-07-28 08:30:44', null, '2023-07-28 08:30:44', null, '0'); +INSERT INTO `sms_role_menu` VALUES ('1', '5', '2023-07-28 08:30:46', null, '2023-07-28 08:30:46', null, '0'); +INSERT INTO `sms_role_menu` VALUES ('1', '6', '2023-07-28 08:30:48', null, '2023-07-28 08:30:48', null, '0'); +INSERT INTO `sms_role_menu` VALUES ('1', '7', '2023-07-28 08:30:50', null, '2023-07-28 08:30:50', null, '0'); +INSERT INTO `sms_role_menu` VALUES ('1', '8', '2023-07-28 08:30:50', null, '2023-07-28 08:30:50', null, '0'); diff --git a/beacon-webmaster/src/main/resources/static/index.html b/beacon-webmaster/src/main/resources/static/index.html index 4bb5261..9b6f446 100644 --- a/beacon-webmaster/src/main/resources/static/index.html +++ b/beacon-webmaster/src/main/resources/static/index.html @@ -37,7 +37,7 @@ Toggle navigation -
欢迎 {{user.username}}
+
欢迎 {{user.nickname}}