From 1a568102c53e4e0dc6be39a4c3fa7a6275a9c71e Mon Sep 17 00:00:00 2001 From: "@t2652009480" <2652009480@qq.com> Date: Fri, 18 Aug 2023 11:39:56 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=A2=E6=88=B7=E7=AB=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 11 ++ .../zhiyun/zhiyun03/Zhiyun03Application.java | 3 +- .../controller/AcademicController.java | 25 ++- .../academic/service/AcademicService.java | 7 + .../service/impl/AcademicServiceImpl.java | 82 +++++++++- .../controller/ApplicationController.java | 8 +- .../application/entity/Directory.java | 2 +- .../service/impl/ApplicationServiceImpl.java | 48 +++++- .../zhiyun/zhiyun03/filter/LoginFilter.java | 50 ++++++ .../game/controller/GameController.java | 22 ++- .../zhiyun03/game/service/GameService.java | 5 + .../game/service/impl/GameServiceImpl.java | 70 +++++++- .../controller/KnowledgeController.java | 24 ++- .../knowledge/service/KnowledgeService.java | 7 + .../service/impl/KnowledgeServiceImpl.java | 76 ++++++++- .../textual/controller/TextualController.java | 24 ++- .../textual/service/TextualService.java | 9 ++ .../service/impl/TextualServiceImpl.java | 73 ++++++++- .../zhiyun03/utils/common/ResultCode.java | 5 +- .../exception/GlobalExceptionHandler.java | 5 + src/main/resources/application.yml | 7 +- .../templates/layui-v2.6.8/academicList.html | 10 +- .../templates/layui-v2.6.8/gameList.html | 6 +- .../templates/layui-v2.6.8/index.html | 2 +- .../templates/layui-v2.6.8/knowledgeList.html | 6 +- .../layui-v2.6.8/layui/css/admin.css | 2 + .../templates/layui-v2.6.8/layui/css/log.css | 2 + .../templates/layui-v2.6.8/login.html | 150 ++++++++---------- .../templates/layui-v2.6.8/textualList.html | 6 +- 29 files changed, 619 insertions(+), 128 deletions(-) create mode 100644 src/main/java/com/zhiyun/zhiyun03/filter/LoginFilter.java create mode 100644 src/main/resources/templates/layui-v2.6.8/layui/css/admin.css create mode 100644 src/main/resources/templates/layui-v2.6.8/layui/css/log.css diff --git a/pom.xml b/pom.xml index 7eaa992..696d351 100644 --- a/pom.xml +++ b/pom.xml @@ -100,7 +100,18 @@ + + + + src/main/resources + + **/*.* + + true + + + org.springframework.boot diff --git a/src/main/java/com/zhiyun/zhiyun03/Zhiyun03Application.java b/src/main/java/com/zhiyun/zhiyun03/Zhiyun03Application.java index aa812b3..50f3a04 100644 --- a/src/main/java/com/zhiyun/zhiyun03/Zhiyun03Application.java +++ b/src/main/java/com/zhiyun/zhiyun03/Zhiyun03Application.java @@ -3,10 +3,11 @@ package com.zhiyun.zhiyun03; import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.boot.web.servlet.ServletComponentScan; import org.springframework.context.annotation.ComponentScan; @SpringBootApplication - +@ServletComponentScan public class Zhiyun03Application { public static void main(String[] args) { diff --git a/src/main/java/com/zhiyun/zhiyun03/academic/controller/AcademicController.java b/src/main/java/com/zhiyun/zhiyun03/academic/controller/AcademicController.java index bab78d3..e638a4f 100644 --- a/src/main/java/com/zhiyun/zhiyun03/academic/controller/AcademicController.java +++ b/src/main/java/com/zhiyun/zhiyun03/academic/controller/AcademicController.java @@ -3,6 +3,7 @@ package com.zhiyun.zhiyun03.academic.controller; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.zhiyun.zhiyun03.academic.service.AcademicService; import com.zhiyun.zhiyun03.academic.vo.AcademicVo; +import com.zhiyun.zhiyun03.application.entity.Directory; import com.zhiyun.zhiyun03.course.vo.CourseVo; import com.zhiyun.zhiyun03.course.vo.PageVO; import com.zhiyun.zhiyun03.game.vo.GameVo; @@ -18,6 +19,7 @@ import org.springframework.web.multipart.MultipartFile; import javax.annotation.Resource; import java.io.File; import java.io.FileOutputStream; +import java.util.List; @RestController @RequestMapping("/academic") @@ -41,6 +43,13 @@ public class AcademicController { return JsonResult.success(lists).setCount(lists.getTotal()); } + @GetMapping ("/queryDir") + @ApiOperation("查询目录") + public JsonResult queryDir(){ + List list = academicService.queryDir(); + return JsonResult.success(list); + } + @PostMapping("/addAcademic") @ApiOperation("新增学术信息") public JsonResult addAcademic(AcademicVo academicVo){ @@ -55,8 +64,11 @@ public class AcademicController { @RequestMapping("/selectByIdAcademic") @ApiOperation("根据id查询学术信息") public JsonResult selectByIdAcademic(Integer id){ - AcademicVo academicVo = academicService.selectByIdAcademic(id); - return JsonResult.success(academicVo); + if (id!=null){ + AcademicVo academicVo = academicService.selectByIdAcademic(id); + return JsonResult.success(academicVo); + } + return JsonResult.error(); } @PostMapping("/updateAcademic") @@ -106,4 +118,13 @@ public class AcademicController { return JsonResult.success(path); } + @RequestMapping("/addDirectory") + @ApiOperation("新增目录") + public JsonResult addDirectory( Directory directory){ + int result = academicService.addDirectory(directory); + if(result>0){ + return JsonResult.success(ResultCode.SUCCESS); + } + return JsonResult.error(ResultCode.Fail,"失败"); + } } diff --git a/src/main/java/com/zhiyun/zhiyun03/academic/service/AcademicService.java b/src/main/java/com/zhiyun/zhiyun03/academic/service/AcademicService.java index c900396..0bee7e9 100644 --- a/src/main/java/com/zhiyun/zhiyun03/academic/service/AcademicService.java +++ b/src/main/java/com/zhiyun/zhiyun03/academic/service/AcademicService.java @@ -4,10 +4,13 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.zhiyun.zhiyun03.academic.entity.Academic; import com.zhiyun.zhiyun03.academic.vo.AcademicVo; +import com.zhiyun.zhiyun03.application.entity.Directory; import com.zhiyun.zhiyun03.course.vo.CourseVo; import com.zhiyun.zhiyun03.course.vo.PageVO; import com.zhiyun.zhiyun03.game.vo.GameVo; +import java.util.List; + public interface AcademicService extends IService { PageVO queryAcademic(Integer page, Integer limit); @@ -18,4 +21,8 @@ public interface AcademicService extends IService { int updateAcademic(AcademicVo academicVo); int deleteAcademic(Integer id); + + List queryDir(); + + int addDirectory(Directory directory); } diff --git a/src/main/java/com/zhiyun/zhiyun03/academic/service/impl/AcademicServiceImpl.java b/src/main/java/com/zhiyun/zhiyun03/academic/service/impl/AcademicServiceImpl.java index a002c37..751043d 100644 --- a/src/main/java/com/zhiyun/zhiyun03/academic/service/impl/AcademicServiceImpl.java +++ b/src/main/java/com/zhiyun/zhiyun03/academic/service/impl/AcademicServiceImpl.java @@ -23,6 +23,7 @@ import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.Date; import java.util.List; +import java.util.UUID; @Service public class AcademicServiceImpl extends ServiceImpl implements AcademicService { @@ -43,7 +44,7 @@ public class AcademicServiceImpl extends ServiceImpl i List academicVoList = academicMapper.queryAcademic(); if (academicVoList.isEmpty()) { - throw new ServiceException("400","课程数据为空"); + throw new ServiceException("400","学术数据为空"); } PageInfo pageInfo = new PageInfo(academicVoList); PageVO academicVoPageVO = new PageVO<>(); @@ -62,12 +63,31 @@ public class AcademicServiceImpl extends ServiceImpl i */ @Override public int addAcademic(AcademicVo academicVo) { + if(academicVo.getAcademicName().isEmpty()){ + throw new ServiceException("400","学术名称不能为空"); + } + if(academicVo.getAcademicUrl().isEmpty()){ + throw new ServiceException("400","学术链接不能为空"); + } + if (academicVo.getDirName().isEmpty()){ + throw new ServiceException("400","归属目录不能为空"); + } + if (academicVo.getAcademicImg().isEmpty()){ + throw new ServiceException("400","学术图片不能为空"); + } + + QueryWrapper qwa=new QueryWrapper<>(); + qwa.lambda().eq(Academic::getAcademicName,academicVo.getAcademicName()).or().eq(Academic::getAcademicUrl,academicVo.getAcademicUrl()); + Academic academic1 = academicMapper.selectOne(qwa); + if(academic1!=null){ + throw new ServiceException("403","学术名称或链接已存在"); + } //将vo类转换为实体类 ConvertUtil convertUtil=new ConvertUtil(); Academic academic = convertUtil.VoToEntity(academicVo, Academic.class); //根据目录名称查询目录id QueryWrapper qwd=new QueryWrapper<>(); - qwd.lambda().eq(Directory::getDirName,academicVo.getDirName()); + qwd.lambda().eq(Directory::getDirName,academicVo.getDirName()).eq(Directory::getDirIden,6); Directory directory = directoryMapper.selectOne(qwd); //将目录id封装到实体类 academic.setDirId(directory.getId()); @@ -101,12 +121,24 @@ public class AcademicServiceImpl extends ServiceImpl i */ @Override public int updateAcademic(AcademicVo academicVo) { + if(academicVo.getAcademicName().isEmpty()){ + throw new ServiceException("400","学术名称不能为空"); + } + if(academicVo.getAcademicUrl().isEmpty()){ + throw new ServiceException("400","学术链接不能为空"); + } + if (academicVo.getDirName().isEmpty()){ + throw new ServiceException("400","归属目录不能为空"); + } + if (academicVo.getAcademicImg().isEmpty()){ + throw new ServiceException("400","学术图片不能为空"); + } //将vo类转换为实体类 ConvertUtil convertUtil=new ConvertUtil(); Academic academic = convertUtil.VoToEntity(academicVo, Academic.class); //根据目录名称查询目录id QueryWrapper qwd=new QueryWrapper<>(); - qwd.lambda().eq(Directory::getDirName,academicVo.getDirName()); + qwd.lambda().eq(Directory::getDirName,academicVo.getDirName()).eq(Directory::getDirIden,6); Directory directory = directoryMapper.selectOne(qwd); //将目录id封装到实体类 academic.setDirId(directory.getId()); @@ -126,4 +158,48 @@ public class AcademicServiceImpl extends ServiceImpl i } return 0; } + + /** + * 目录查询 + * @return + */ + @Override + public List queryDir() { + QueryWrapper qwd=new QueryWrapper<>(); + qwd.lambda().eq(Directory::getDirIden,6); + List list = directoryMapper.selectList(qwd); + if(list.isEmpty()){ + throw new ServiceException("400","目录数据为空"); + } + return list; + } + + /** + * 添加目录 + * @param directory + * @return + */ + @Override + public int addDirectory(Directory directory) { + if (directory.getDirName().isEmpty() && directory.getDirImg().isEmpty()){ + throw new ServiceException("400","目录名称和图片不能为空"); + } + QueryWrapper qwd=new QueryWrapper<>(); + qwd.lambda().eq(Directory::getDirName,directory.getDirName()).eq(Directory::getDirIden,6); + Directory directory1 = directoryMapper.selectOne(qwd); + if(directory1!=null){ + throw new ServiceException("403","目录名称已存在"); + } + int uuid= UUID.randomUUID().hashCode(); + if(uuid<0){ + uuid=-uuid; + } + directory.setDirAddtime(new Date()); + directory.setId(uuid); + directory.setDirIden(6); + int insert = directoryMapper.insert(directory); + return insert; + } + + } diff --git a/src/main/java/com/zhiyun/zhiyun03/application/controller/ApplicationController.java b/src/main/java/com/zhiyun/zhiyun03/application/controller/ApplicationController.java index e9ea535..258e1f3 100644 --- a/src/main/java/com/zhiyun/zhiyun03/application/controller/ApplicationController.java +++ b/src/main/java/com/zhiyun/zhiyun03/application/controller/ApplicationController.java @@ -1,6 +1,7 @@ package com.zhiyun.zhiyun03.application.controller; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.github.pagehelper.util.StringUtil; import com.zhiyun.zhiyun03.academic.vo.AcademicVo; import com.zhiyun.zhiyun03.application.config.HospConfig; import com.zhiyun.zhiyun03.application.entity.Application; @@ -60,8 +61,11 @@ public class ApplicationController { @RequestMapping("/selectByIdApplication") @ApiOperation("根据id查询应用") public JsonResult selectByIdApplication(Integer id){ - ApplicationVo applicationVo = applicationService.selectByIdApplication(id); - return JsonResult.success(applicationVo); + if(id!=null){ + ApplicationVo applicationVo = applicationService.selectByIdApplication(id); + return JsonResult.success(applicationVo); + } + return JsonResult.error(); } @PostMapping("/updateApplication") diff --git a/src/main/java/com/zhiyun/zhiyun03/application/entity/Directory.java b/src/main/java/com/zhiyun/zhiyun03/application/entity/Directory.java index 397f270..813760e 100644 --- a/src/main/java/com/zhiyun/zhiyun03/application/entity/Directory.java +++ b/src/main/java/com/zhiyun/zhiyun03/application/entity/Directory.java @@ -31,7 +31,7 @@ public class Directory { * 目录名称 */ @TableField(value = "dir_iden") - private String dirIden; + private Integer dirIden; /** * 目录图片 diff --git a/src/main/java/com/zhiyun/zhiyun03/application/service/impl/ApplicationServiceImpl.java b/src/main/java/com/zhiyun/zhiyun03/application/service/impl/ApplicationServiceImpl.java index 6908c70..185cf2b 100644 --- a/src/main/java/com/zhiyun/zhiyun03/application/service/impl/ApplicationServiceImpl.java +++ b/src/main/java/com/zhiyun/zhiyun03/application/service/impl/ApplicationServiceImpl.java @@ -46,7 +46,7 @@ public class ApplicationServiceImpl extends ServiceImpl applicationVos = applicationMapper.queryApplication(); if (applicationVos.isEmpty()) { - throw new ServiceException("400","课程数据为空"); + throw new ServiceException("400","应用数据为空"); } PageInfo pageInfo = new PageInfo(applicationVos); PageVO applicationVoPageVO = new PageVO<>(); @@ -66,7 +66,11 @@ public class ApplicationServiceImpl extends ServiceImpl queryDir() { QueryWrapper qwd=new QueryWrapper<>(); + qwd.lambda().eq(Directory::getDirIden,2); List list = directoryMapper.selectList(qwd); + if(list.isEmpty()){ + throw new ServiceException("400","目录数据为空"); + } return list; } @@ -96,10 +100,22 @@ public class ApplicationServiceImpl extends ServiceImpl qwd=new QueryWrapper<>(); - qwd.lambda().eq(Directory::getDirName,applicationVo.getDirName()); + qwd.lambda().eq(Directory::getDirName,applicationVo.getDirName()).eq(Directory::getDirIden,2); Directory directory = directoryMapper.selectOne(qwd); application.setDirId(directory.getId()); application.setAppUpdatetime(new Date()); @@ -126,11 +142,14 @@ public class ApplicationServiceImpl extends ServiceImpl qwd=new QueryWrapper<>(); - qwd.lambda().eq(Directory::getDirName,directory.getDirName()); + qwd.lambda().eq(Directory::getDirName,directory.getDirName()).eq(Directory::getDirIden,2); Directory directory1 = directoryMapper.selectOne(qwd); if(directory1!=null){ - return 0; + throw new ServiceException("403","目录名称已存在"); } int uuid=UUID.randomUUID().hashCode(); if(uuid<0){ @@ -138,6 +157,7 @@ public class ApplicationServiceImpl extends ServiceImpl qwa=new QueryWrapper<>(); + qwa.lambda().eq(Application::getAppName,applicationVo.getAppName()).or().eq(Application::getAppUrl,applicationVo.getAppUrl()); + List applications = applicationMapper.selectList(qwa); + if(applications.size()!=0){ + throw new ServiceException("403","应用名称或链接已存在"); + } ConvertUtil convertUtil=new ConvertUtil(); Application application = convertUtil.VoToEntity(applicationVo, Application.class); QueryWrapper qwd=new QueryWrapper<>(); - qwd.lambda().eq(Directory::getDirName,applicationVo.getDirName()); + qwd.lambda().eq(Directory::getDirName,applicationVo.getDirName()).eq(Directory::getDirIden,2); Directory directory = directoryMapper.selectOne(qwd); application.setDirId(directory.getId()); application.setAppAddtime(new Date()); diff --git a/src/main/java/com/zhiyun/zhiyun03/filter/LoginFilter.java b/src/main/java/com/zhiyun/zhiyun03/filter/LoginFilter.java new file mode 100644 index 0000000..57b7a9f --- /dev/null +++ b/src/main/java/com/zhiyun/zhiyun03/filter/LoginFilter.java @@ -0,0 +1,50 @@ +package com.zhiyun.zhiyun03.filter; + +import javax.servlet.*; +import javax.servlet.annotation.WebFilter; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; + +@WebFilter(urlPatterns = "*")//表示所有请求都走这个过滤器(可以用来设置编码) +public class LoginFilter implements Filter { + @Override + public void init(FilterConfig filterConfig) throws ServletException { + //服务器启动时执行init方法 + } + + @Override//有请求就执行,且无论是前端到后端还是后端到前端都会走过滤器,真的很形象(就像量有滤网的水杯,装水和倒水都会经过滤网,前提是你有滤网(过滤器)) + public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException { + //filter是抽象类,所以要强转 + HttpServletRequest request = (HttpServletRequest) servletRequest; + HttpServletResponse response = (HttpServletResponse) servletResponse; + //统一资源标识符(Uniform Resource Identifier)得到一个uri + //URI和URL都定义了资源是什么,但URL还定义了该如何访问资源。URL是一种具体的URI,它是URI的一个子集,它不仅唯一标识资源,而且还提供了定位该资源的信息。URI 是一种语义上的抽象概念,可以是绝对的,也可以是相对的,而URL则必须提供足够的信息来定位,是绝对的。 + //只要能唯一标识资源的就是URI,在URI的基础上给出其资源的访问方式的就是URL + String requestURI = request.getRequestURI(); + System.out.println("requestURI=" + requestURI); + //这个user得先存才能取(作用范围是session,也就是其存值时是存于session中的) + Object user = request.getSession().getAttribute("USER"); + System.out.println(user);//只是打印在控制台,为了测试 + if (ignore(requestURI) || user != null)//满足其一就让其通过 + filterChain.doFilter(request, response); + else + response.sendRedirect("/login.html");//重定向到login.jsp页面 + } + + private boolean ignore(String requestURI) { + //login请求 和 login.jsp页面 要让行,不然永远无法登录 + String[] uris = {"login", "login.html"}; + for (String u : uris) { + if (requestURI.endsWith(u)) + //只能用上面的方式,不然会一直输出下面两行 + // requestURI=/login.jsp + //null + //if (u.endsWith(requestURI)) + return true; + } + return false; + } +} + + \ No newline at end of file diff --git a/src/main/java/com/zhiyun/zhiyun03/game/controller/GameController.java b/src/main/java/com/zhiyun/zhiyun03/game/controller/GameController.java index f4ba23f..1525989 100644 --- a/src/main/java/com/zhiyun/zhiyun03/game/controller/GameController.java +++ b/src/main/java/com/zhiyun/zhiyun03/game/controller/GameController.java @@ -58,8 +58,11 @@ public class GameController { @RequestMapping("/selectByIdGame") @ApiOperation("根据id查询大赛信息") public JsonResult selectByIdGame(Integer id){ - GameVo gameVo = gameService.selectByIdGame(id); - return JsonResult.success(gameVo); + if (id!=null){ + GameVo gameVo = gameService.selectByIdGame(id); + return JsonResult.success(gameVo); + } + return JsonResult.error(); } @PostMapping(value = "/updateGame") @@ -109,5 +112,20 @@ public class GameController { path = "https://zhiyun03.oss-cn-beijing.aliyuncs.com/"+ upload; return JsonResult.success(path); } + @GetMapping ("/queryDir") + @ApiOperation("查询目录") + public JsonResult queryDir(){ + List list = gameService.queryDir(); + return JsonResult.success(list); + } + @RequestMapping("/addDirectory") + @ApiOperation("新增目录") + public JsonResult addDirectory( Directory directory){ + int result = gameService.addDirectory(directory); + if(result>0){ + return JsonResult.success(ResultCode.SUCCESS); + } + return JsonResult.error(ResultCode.Fail,"失败"); + } } diff --git a/src/main/java/com/zhiyun/zhiyun03/game/service/GameService.java b/src/main/java/com/zhiyun/zhiyun03/game/service/GameService.java index 4727dd9..745b335 100644 --- a/src/main/java/com/zhiyun/zhiyun03/game/service/GameService.java +++ b/src/main/java/com/zhiyun/zhiyun03/game/service/GameService.java @@ -2,6 +2,7 @@ package com.zhiyun.zhiyun03.game.service; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; +import com.zhiyun.zhiyun03.application.entity.Directory; import com.zhiyun.zhiyun03.course.vo.PageVO; import com.zhiyun.zhiyun03.game.entity.Game; import com.zhiyun.zhiyun03.game.vo.GameVo; @@ -18,4 +19,8 @@ public interface GameService extends IService { int updateGame(GameVo gameVo); int deleteGame(Integer id); + + List queryDir(); + + int addDirectory(Directory directory); } diff --git a/src/main/java/com/zhiyun/zhiyun03/game/service/impl/GameServiceImpl.java b/src/main/java/com/zhiyun/zhiyun03/game/service/impl/GameServiceImpl.java index 43695dd..e376b7c 100644 --- a/src/main/java/com/zhiyun/zhiyun03/game/service/impl/GameServiceImpl.java +++ b/src/main/java/com/zhiyun/zhiyun03/game/service/impl/GameServiceImpl.java @@ -22,6 +22,7 @@ import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.Date; import java.util.List; +import java.util.UUID; @Service public class GameServiceImpl extends ServiceImpl implements GameService { @@ -41,7 +42,7 @@ public class GameServiceImpl extends ServiceImpl implements Ga List gameVoList = gameMapper.queryGame(); if (gameVoList.isEmpty()) { - throw new ServiceException("400","课程数据为空"); + throw new ServiceException("400","大赛数据为空"); } PageInfo pageInfo = new PageInfo(gameVoList); PageVO gameVoPageVO = new PageVO<>(); @@ -60,12 +61,30 @@ public class GameServiceImpl extends ServiceImpl implements Ga */ @Override public int addApplication(GameVo gameVo) { + if(gameVo.getGameName().isEmpty()){ + throw new ServiceException("400","大赛名称不能为空"); + } + if(gameVo.getGameUrl().isEmpty()){ + throw new ServiceException("400","大赛链接不能为空"); + } + if (gameVo.getDirName().isEmpty()){ + throw new ServiceException("400","归属目录不能为空"); + } + if (gameVo.getGameImg().isEmpty()){ + throw new ServiceException("400","大赛图片不能为空"); + } + QueryWrapper qwg=new QueryWrapper<>(); + qwg.lambda().eq(Game::getGameName,gameVo.getGameName()).or().eq(Game::getGameUrl,gameVo.getGameUrl()); + List games = gameMapper.selectList(qwg); + if (games.size()!=0){ + throw new ServiceException("403","大赛名称或链接已存在"); + } //将vo类转换为实体类 ConvertUtil convertUtil=new ConvertUtil(); Game game = convertUtil.VoToEntity(gameVo, Game.class); //根据目录名称查询目录id QueryWrapper qwd=new QueryWrapper<>(); - qwd.lambda().eq(Directory::getDirName,gameVo.getDirName()); + qwd.lambda().eq(Directory::getDirName,gameVo.getDirName()).eq(Directory::getDirIden,5); Directory directory = directoryMapper.selectOne(qwd); //将目录id封装到实体类 game.setDirId(directory.getId()); @@ -99,12 +118,24 @@ public class GameServiceImpl extends ServiceImpl implements Ga */ @Override public int updateGame(GameVo gameVo) { + if(gameVo.getGameName().isEmpty()){ + throw new ServiceException("400","大赛名称不能为空"); + } + if(gameVo.getGameUrl().isEmpty()){ + throw new ServiceException("400","大赛链接不能为空"); + } + if (gameVo.getDirName().isEmpty()){ + throw new ServiceException("400","归属目录不能为空"); + } + if (gameVo.getGameImg().isEmpty()){ + throw new ServiceException("400","大赛图片不能为空"); + } //将vo类转换为实体类 ConvertUtil convertUtil=new ConvertUtil(); Game game = convertUtil.VoToEntity(gameVo, Game.class); //根据目录名称查询目录id QueryWrapper qwd=new QueryWrapper<>(); - qwd.lambda().eq(Directory::getDirName,gameVo.getDirName()); + qwd.lambda().eq(Directory::getDirName,gameVo.getDirName()).eq(Directory::getDirIden,5); Directory directory = directoryMapper.selectOne(qwd); //将目录id封装到实体类 game.setDirId(directory.getId()); @@ -124,4 +155,37 @@ public class GameServiceImpl extends ServiceImpl implements Ga } return 0; } + + @Override + public List queryDir() { + QueryWrapper qwd=new QueryWrapper<>(); + qwd.lambda().eq(Directory::getDirIden,5); + List list = directoryMapper.selectList(qwd); + if(list.isEmpty()){ + throw new ServiceException("400","目录数据为空"); + } + return list; + } + + @Override + public int addDirectory(Directory directory) { + if (directory.getDirName().isEmpty() && directory.getDirImg().isEmpty()){ + throw new ServiceException("400","目录名称和图片不能为空"); + } + QueryWrapper qwd=new QueryWrapper<>(); + qwd.lambda().eq(Directory::getDirName,directory.getDirName()).eq(Directory::getDirIden,5); + Directory directory1 = directoryMapper.selectOne(qwd); + if(directory1!=null){ + throw new ServiceException("403","目录名称已存在"); + } + int uuid= UUID.randomUUID().hashCode(); + if(uuid<0){ + uuid=-uuid; + } + directory.setDirAddtime(new Date()); + directory.setId(uuid); + directory.setDirIden(5); + int insert = directoryMapper.insert(directory); + return insert; + } } diff --git a/src/main/java/com/zhiyun/zhiyun03/knowledge/controller/KnowledgeController.java b/src/main/java/com/zhiyun/zhiyun03/knowledge/controller/KnowledgeController.java index 1ec612e..4084b5d 100644 --- a/src/main/java/com/zhiyun/zhiyun03/knowledge/controller/KnowledgeController.java +++ b/src/main/java/com/zhiyun/zhiyun03/knowledge/controller/KnowledgeController.java @@ -1,6 +1,7 @@ package com.zhiyun.zhiyun03.knowledge.controller; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.zhiyun.zhiyun03.application.entity.Directory; import com.zhiyun.zhiyun03.application.vo.ApplicationVo; import com.zhiyun.zhiyun03.course.vo.PageVO; import com.zhiyun.zhiyun03.knowledge.service.KnowledgeService; @@ -18,6 +19,7 @@ import org.springframework.web.multipart.MultipartFile; import javax.annotation.Resource; import java.io.File; import java.io.FileOutputStream; +import java.util.List; @RestController @RequestMapping("/knowledge") @@ -55,8 +57,11 @@ public class KnowledgeController { @RequestMapping("/selectByIdKnowledge") @ApiOperation("根据id查询大赛信息") public JsonResult selectByIdKnowledge(Integer id){ - KnowledgeVo knowledgeVo = knowledgeService.selectByIdKnowledge(id); - return JsonResult.success(knowledgeVo); + if(id!=null){ + KnowledgeVo knowledgeVo = knowledgeService.selectByIdKnowledge(id); + return JsonResult.success(knowledgeVo); + } + return JsonResult.error(); } @PostMapping("/updateKnowledge") @@ -109,4 +114,19 @@ public class KnowledgeController { return JsonResult.success(path); } + @RequestMapping("/addDirectory") + @ApiOperation("新增目录") + public JsonResult addDirectory( Directory directory){ + int result = knowledgeService.addDirectory(directory); + if(result>0){ + return JsonResult.success(ResultCode.SUCCESS); + } + return JsonResult.error(ResultCode.Fail,"失败"); + } + @GetMapping ("/queryDir") + @ApiOperation("查询目录") + public JsonResult queryDir(){ + List list = knowledgeService.queryDir(); + return JsonResult.success(list); + } } diff --git a/src/main/java/com/zhiyun/zhiyun03/knowledge/service/KnowledgeService.java b/src/main/java/com/zhiyun/zhiyun03/knowledge/service/KnowledgeService.java index 1b7c235..a706336 100644 --- a/src/main/java/com/zhiyun/zhiyun03/knowledge/service/KnowledgeService.java +++ b/src/main/java/com/zhiyun/zhiyun03/knowledge/service/KnowledgeService.java @@ -2,10 +2,13 @@ package com.zhiyun.zhiyun03.knowledge.service; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; +import com.zhiyun.zhiyun03.application.entity.Directory; import com.zhiyun.zhiyun03.course.vo.PageVO; import com.zhiyun.zhiyun03.knowledge.entity.Knowledge; import com.zhiyun.zhiyun03.knowledge.vo.KnowledgeVo; +import java.util.List; + public interface KnowledgeService extends IService { PageVO queryKnowledge(Integer page, Integer limit); @@ -16,4 +19,8 @@ public interface KnowledgeService extends IService { int updateKnowledge(KnowledgeVo knowledgeVo); int deleteKnowledge(Integer id); + + int addDirectory(Directory directory); + + List queryDir(); } diff --git a/src/main/java/com/zhiyun/zhiyun03/knowledge/service/impl/KnowledgeServiceImpl.java b/src/main/java/com/zhiyun/zhiyun03/knowledge/service/impl/KnowledgeServiceImpl.java index 73b15e7..cf6fcc6 100644 --- a/src/main/java/com/zhiyun/zhiyun03/knowledge/service/impl/KnowledgeServiceImpl.java +++ b/src/main/java/com/zhiyun/zhiyun03/knowledge/service/impl/KnowledgeServiceImpl.java @@ -23,6 +23,7 @@ import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.Date; import java.util.List; +import java.util.UUID; @Service public class KnowledgeServiceImpl extends ServiceImpl implements KnowledgeService { @@ -64,12 +65,33 @@ public class KnowledgeServiceImpl extends ServiceImpl */ @Override public int addKnowledge(KnowledgeVo knowledgeVo) { + if(knowledgeVo.getKnowledgeName().isEmpty()){ + throw new ServiceException("400","知识名称不能为空"); + } + if(knowledgeVo.getKnowledgeUrl().isEmpty()){ + throw new ServiceException("400","知识链接不能为空"); + } + if (knowledgeVo.getDirName().isEmpty()){ + throw new ServiceException("400","归属目录不能为空"); + } + if (knowledgeVo.getKnowledgeImg().isEmpty()){ + throw new ServiceException("400","知识图片不能为空"); + } + + + QueryWrapper qwk=new QueryWrapper<>(); + qwk.lambda().eq(Knowledge::getKnowledgeName,knowledgeVo.getKnowledgeName()).or().eq(Knowledge::getKnowledgeUrl,knowledgeVo.getKnowledgeUrl()); + List knowledges = knowledgeMapper.selectList(qwk); + if(knowledges.size()!=0){ + throw new ServiceException("403","知识名称或链接已存在"); + } + //将vo类转换为实体类 ConvertUtil convertUtil=new ConvertUtil(); Knowledge knowledge = convertUtil.VoToEntity(knowledgeVo, Knowledge.class); //根据目录名称查询目录id QueryWrapper qwd=new QueryWrapper<>(); - qwd.lambda().eq(Directory::getDirName,knowledgeVo.getDirName()); + qwd.lambda().eq(Directory::getDirName,knowledgeVo.getDirName()).eq(Directory::getDirIden,7); Directory directory = directoryMapper.selectOne(qwd); //将目录id封装到实体类 knowledge.setDirId(directory.getId()); @@ -103,12 +125,24 @@ public class KnowledgeServiceImpl extends ServiceImpl */ @Override public int updateKnowledge(KnowledgeVo knowledgeVo) { + if(knowledgeVo.getKnowledgeName().isEmpty()){ + throw new ServiceException("400","知识名称不能为空"); + } + if(knowledgeVo.getKnowledgeUrl().isEmpty()){ + throw new ServiceException("400","知识链接不能为空"); + } + if (knowledgeVo.getDirName().isEmpty()){ + throw new ServiceException("400","归属目录不能为空"); + } + if (knowledgeVo.getKnowledgeImg().isEmpty()){ + throw new ServiceException("400","知识图片不能为空"); + } //将vo类转换为实体类 ConvertUtil convertUtil=new ConvertUtil(); Knowledge knowledge = convertUtil.VoToEntity(knowledgeVo, Knowledge.class); //根据目录名称查询目录id QueryWrapper qwd=new QueryWrapper<>(); - qwd.lambda().eq(Directory::getDirName,knowledgeVo.getDirName()); + qwd.lambda().eq(Directory::getDirName,knowledgeVo.getDirName()).eq(Directory::getDirIden,7); Directory directory = directoryMapper.selectOne(qwd); //将目录id封装到实体类 knowledge.setDirId(directory.getId()); @@ -129,4 +163,42 @@ public class KnowledgeServiceImpl extends ServiceImpl } return 0; } + + /** + * 添加目录 + * @param directory + * @return + */ + @Override + public int addDirectory(Directory directory) { + if (directory.getDirName().isEmpty() && directory.getDirImg().isEmpty()){ + throw new ServiceException("400","目录名称和图片不能为空"); + } + QueryWrapper qwd=new QueryWrapper<>(); + qwd.lambda().eq(Directory::getDirName,directory.getDirName()).eq(Directory::getDirIden,7); + Directory directory1 = directoryMapper.selectOne(qwd); + if(directory1!=null){ + throw new ServiceException("403","目录名称已存在"); + } + int uuid= UUID.randomUUID().hashCode(); + if(uuid<0){ + uuid=-uuid; + } + directory.setDirAddtime(new Date()); + directory.setId(uuid); + directory.setDirIden(7); + int insert = directoryMapper.insert(directory); + return insert; + } + + @Override + public List queryDir() { + QueryWrapper qwd=new QueryWrapper<>(); + qwd.lambda().eq(Directory::getDirIden,7); + List list = directoryMapper.selectList(qwd); + if(list.isEmpty()){ + throw new ServiceException("400","目录数据为空"); + } + return list; + } } diff --git a/src/main/java/com/zhiyun/zhiyun03/textual/controller/TextualController.java b/src/main/java/com/zhiyun/zhiyun03/textual/controller/TextualController.java index e3a19a2..c788839 100644 --- a/src/main/java/com/zhiyun/zhiyun03/textual/controller/TextualController.java +++ b/src/main/java/com/zhiyun/zhiyun03/textual/controller/TextualController.java @@ -1,6 +1,7 @@ package com.zhiyun.zhiyun03.textual.controller; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.zhiyun.zhiyun03.application.entity.Directory; import com.zhiyun.zhiyun03.course.vo.PageVO; import com.zhiyun.zhiyun03.game.vo.GameVo; import com.zhiyun.zhiyun03.knowledge.vo.KnowledgeVo; @@ -13,6 +14,7 @@ import io.swagger.annotations.ApiParam; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; +import java.util.List; @RestController @RequestMapping("/textual") @@ -43,8 +45,11 @@ public class TextualController { @RequestMapping("/selectByIdTextual") @ApiOperation("根据id查询大赛信息") public JsonResult selectByIdTextual(Integer id){ - TextualVo textualVo = textualService.selectByIdTextual(id); - return JsonResult.success(textualVo); + if(id!=null){ + TextualVo textualVo = textualService.selectByIdTextual(id); + return JsonResult.success(textualVo); + } + return JsonResult.error(); } @PostMapping(value = "/updateTextual") @@ -66,4 +71,19 @@ public class TextualController { } return JsonResult.success(ResultCode.Fail); } + @GetMapping ("/queryDir") + @ApiOperation("查询目录") + public JsonResult queryDir(){ + List list = textualService.queryDir(); + return JsonResult.success(list); + } + @RequestMapping("/addDirectory") + @ApiOperation("新增目录") + public JsonResult addDirectory( Directory directory){ + int result = textualService.addDirectory(directory); + if(result>0){ + return JsonResult.success(ResultCode.SUCCESS); + } + return JsonResult.error(ResultCode.Fail,"失败"); + } } diff --git a/src/main/java/com/zhiyun/zhiyun03/textual/service/TextualService.java b/src/main/java/com/zhiyun/zhiyun03/textual/service/TextualService.java index bfd0d77..c403798 100644 --- a/src/main/java/com/zhiyun/zhiyun03/textual/service/TextualService.java +++ b/src/main/java/com/zhiyun/zhiyun03/textual/service/TextualService.java @@ -2,10 +2,13 @@ package com.zhiyun.zhiyun03.textual.service; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; +import com.zhiyun.zhiyun03.application.entity.Directory; import com.zhiyun.zhiyun03.course.vo.PageVO; import com.zhiyun.zhiyun03.textual.entity.Textual; import com.zhiyun.zhiyun03.textual.vo.TextualVo; +import java.util.List; + public interface TextualService extends IService { PageVO queryTextual(Integer page, Integer limit); @@ -16,4 +19,10 @@ public interface TextualService extends IService { int updateTextual(TextualVo textualVo); int deleteGame(Integer id); + + List queryDir(); + + int addDirectory(Directory directory); + + } diff --git a/src/main/java/com/zhiyun/zhiyun03/textual/service/impl/TextualServiceImpl.java b/src/main/java/com/zhiyun/zhiyun03/textual/service/impl/TextualServiceImpl.java index 7a436a9..e33abaf 100644 --- a/src/main/java/com/zhiyun/zhiyun03/textual/service/impl/TextualServiceImpl.java +++ b/src/main/java/com/zhiyun/zhiyun03/textual/service/impl/TextualServiceImpl.java @@ -23,6 +23,7 @@ import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.Date; import java.util.List; +import java.util.UUID; @Service public class TextualServiceImpl extends ServiceImpl implements TextualService { @@ -61,6 +62,25 @@ public class TextualServiceImpl extends ServiceImpl impl */ @Override public int addTextual(TextualVo textualVo) { + if(textualVo.getTextualName().isEmpty()){ + throw new ServiceException("400","学术名称不能为空"); + } + if(textualVo.getTextualUrl().isEmpty()){ + throw new ServiceException("400","学术链接不能为空"); + } + if (textualVo.getDirName().isEmpty()){ + throw new ServiceException("400","归属目录不能为空"); + } + if (textualVo.getTextualImg().isEmpty()){ + throw new ServiceException("400","学术图片不能为空"); + } + + QueryWrapper qwt=new QueryWrapper<>(); + qwt.lambda().eq(Textual::getTextualName,textualVo.getTextualName()).or().eq(Textual::getTextualUrl,textualVo.getTextualUrl()); + List textuals = textualMapper.selectList(qwt); + if(textuals.size()!=0) { + throw new ServiceException("403","考证名称或链接已存在"); + } //将vo类转换为实体类 ConvertUtil convertUtil=new ConvertUtil(); Textual textual = convertUtil.VoToEntity(textualVo, Textual.class); @@ -86,7 +106,7 @@ public class TextualServiceImpl extends ServiceImpl impl Textual textual = textualMapper.selectOne(qwa); //查询目录 QueryWrapper qwd=new QueryWrapper<>(); - qwd.lambda().eq(Directory::getId,textual.getDirId()); + qwd.lambda().eq(Directory::getId,textual.getDirId()).eq(Directory::getDirIden,4); Directory directory = directoryMapper.selectOne(qwd); ConvertUtil convertUtil=new ConvertUtil(); TextualVo textualVo = convertUtil.entityToVo(textual, TextualVo.class); @@ -100,12 +120,24 @@ public class TextualServiceImpl extends ServiceImpl impl */ @Override public int updateTextual(TextualVo textualVo) { + if(textualVo.getTextualName().isEmpty()){ + throw new ServiceException("400","学术名称不能为空"); + } + if(textualVo.getTextualUrl().isEmpty()){ + throw new ServiceException("400","学术链接不能为空"); + } + if (textualVo.getDirName().isEmpty()){ + throw new ServiceException("400","归属目录不能为空"); + } + if (textualVo.getTextualImg().isEmpty()){ + throw new ServiceException("400","学术图片不能为空"); + } //将vo类转换为实体类 ConvertUtil convertUtil=new ConvertUtil(); Textual textual = convertUtil.VoToEntity(textualVo, Textual.class); //根据目录名称查询目录id QueryWrapper qwd=new QueryWrapper<>(); - qwd.lambda().eq(Directory::getDirName,textualVo.getDirName()); + qwd.lambda().eq(Directory::getDirName,textualVo.getDirName()).eq(Directory::getDirIden,4); Directory directory = directoryMapper.selectOne(qwd); //将目录id封装到实体类 textual.setDirId(directory.getId()); @@ -125,4 +157,41 @@ public class TextualServiceImpl extends ServiceImpl impl } return 0; } + + /** + * 查询目录 + * @return + */ + @Override + public List queryDir() { + QueryWrapper qwd=new QueryWrapper<>(); + qwd.lambda().eq(Directory::getDirIden,4); + List list = directoryMapper.selectList(qwd); + if(list.isEmpty()){ + throw new ServiceException("400","目录数据为空"); + } + return list; + } + + @Override + public int addDirectory(Directory directory) { + if (directory.getDirName().isEmpty() && directory.getDirImg().isEmpty()){ + throw new ServiceException("400","目录名称和图片不能为空"); + } + QueryWrapper qwd=new QueryWrapper<>(); + qwd.lambda().eq(Directory::getDirName,directory.getDirName()).eq(Directory::getDirIden,4); + Directory directory1 = directoryMapper.selectOne(qwd); + if(directory1!=null){ + throw new ServiceException("403","目录名称已存在"); + } + int uuid= UUID.randomUUID().hashCode(); + if(uuid<0){ + uuid=-uuid; + } + directory.setDirAddtime(new Date()); + directory.setId(uuid); + directory.setDirIden(4); + int insert = directoryMapper.insert(directory); + return insert; + } } diff --git a/src/main/java/com/zhiyun/zhiyun03/utils/common/ResultCode.java b/src/main/java/com/zhiyun/zhiyun03/utils/common/ResultCode.java index 8be8e27..8c12acd 100644 --- a/src/main/java/com/zhiyun/zhiyun03/utils/common/ResultCode.java +++ b/src/main/java/com/zhiyun/zhiyun03/utils/common/ResultCode.java @@ -3,12 +3,13 @@ package com.zhiyun.zhiyun03.utils.common; public enum ResultCode { SUCCESS("200", "成功"), Fail("500","失败"), - ERROR("-1", "系统异常"), + + ERROR("-1", "NOTLOGIN"), PARAM_ERROR("1001", "参数异常"), USER_EXIST_ERROR("2001", "用户已存在"), USER_ACCOUNT_ERROR("2002", "账号或密码错误"), USER_NOT_EXIST_ERROR("2003", "未找到用户"), - ORDER_PAY_ERROR("3001", "库存不足,下单失败"), + NO_NULL_ERROR("3001", "账号或密码错误"), PARAM_LOST_ERROR("2004", "参数缺失"), PARAM_PASSWORD_ERROR("2005", "原密码输入错误"), ; diff --git a/src/main/java/com/zhiyun/zhiyun03/utils/exception/GlobalExceptionHandler.java b/src/main/java/com/zhiyun/zhiyun03/utils/exception/GlobalExceptionHandler.java index d892f9f..f9d2784 100644 --- a/src/main/java/com/zhiyun/zhiyun03/utils/exception/GlobalExceptionHandler.java +++ b/src/main/java/com/zhiyun/zhiyun03/utils/exception/GlobalExceptionHandler.java @@ -3,9 +3,13 @@ package com.zhiyun.zhiyun03.utils.exception; import com.zhiyun.zhiyun03.utils.common.JsonResult; import com.zhiyun.zhiyun03.utils.common.ResultCode; import lombok.extern.slf4j.Slf4j; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.ExceptionHandler; import org.springframework.web.bind.annotation.RestControllerAdvice; +import javax.servlet.http.HttpServletRequest; + // @RestController + @ResponseBody @RestControllerAdvice @Slf4j @@ -18,6 +22,7 @@ public class GlobalExceptionHandler { return JsonResult.error(ResultCode.Fail, e.getMsg()); } + @ExceptionHandler(Exception.class) public JsonResult exceptionHandler(Exception e) { log.error("未知异常", e); diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index e3c5ca5..3225b70 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -20,7 +20,12 @@ spring: url: jdbc:mysql://localhost:3306/zhiyun?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai username: root password: 123456 - + thymeleaf: + cache: false + prefix: classpath:/templates + encoding: UTF-8 #编码 + suffix: .html # 模板后缀 + mode: HTML #模板 # mybatis plus的配置和mybatis类似,之前在mybatis的配置,使用mybtis-plus替换 diff --git a/src/main/resources/templates/layui-v2.6.8/academicList.html b/src/main/resources/templates/layui-v2.6.8/academicList.html index 00c3c99..22049dd 100644 --- a/src/main/resources/templates/layui-v2.6.8/academicList.html +++ b/src/main/resources/templates/layui-v2.6.8/academicList.html @@ -151,7 +151,7 @@ layui.use(['form'], function () { var form = layui.form; $.ajax({ - url: 'http://localhost:8080/application/queryDir', + url: 'http://localhost:8080/academic/queryDir', type: "get", success: function (data) { if (data.msg === "success") { @@ -264,7 +264,7 @@ btn: ['提交', '取消'] , yes: function (index, layero) { //修改操作 - $.get("http://localhost:8080/application/addDirectory", $("#addDirectory").serialize(), + $.get("http://localhost:8080/academic/addDirectory", $("#addDirectory").serialize(), function (data) { if ("success" == data.msg) { layer.msg(data.msg); @@ -297,9 +297,9 @@
- +
-
@@ -344,7 +344,7 @@ layui.use(['form'], function() { var form = layui.form; $.ajax({ - url: 'http://localhost:8080/application/queryDir', + url: 'http://localhost:8080/academic/queryDir', type:"get", success: function(data) { if(data.msg === "success"){ diff --git a/src/main/resources/templates/layui-v2.6.8/gameList.html b/src/main/resources/templates/layui-v2.6.8/gameList.html index 65ccfa6..dff2eca 100644 --- a/src/main/resources/templates/layui-v2.6.8/gameList.html +++ b/src/main/resources/templates/layui-v2.6.8/gameList.html @@ -146,7 +146,7 @@ layui.use(['form'], function () { var form = layui.form; $.ajax({ - url: 'http://localhost:8080/application/queryDir', + url: 'http://localhost:8080/game/queryDir', type: "get", success: function (data) { if (data.msg === "success") { @@ -257,7 +257,7 @@ btn: ['提交', '取消'] , yes: function (index, layero) { //修改操作 - $.get("http://localhost:8080/application/addDirectory", $("#addDirectory").serialize(), + $.get("http://localhost:8080/game/addDirectory", $("#addDirectory").serialize(), function (data) { if ("success" == data.msg) { layer.msg(data.msg); @@ -328,7 +328,7 @@ layui.use(['form'], function() { var form = layui.form; $.ajax({ - url: 'http://localhost:8080/application/queryDir', + url: 'http://localhost:8080/game/queryDir', type:"get", success: function(data) { if(data.msg === "success"){ diff --git a/src/main/resources/templates/layui-v2.6.8/index.html b/src/main/resources/templates/layui-v2.6.8/index.html index 96e0245..6156717 100644 --- a/src/main/resources/templates/layui-v2.6.8/index.html +++ b/src/main/resources/templates/layui-v2.6.8/index.html @@ -38,7 +38,7 @@
Your Profile
Settings
-
Sign out
+
Sign out
  • diff --git a/src/main/resources/templates/layui-v2.6.8/knowledgeList.html b/src/main/resources/templates/layui-v2.6.8/knowledgeList.html index 3794f44..e0c4587 100644 --- a/src/main/resources/templates/layui-v2.6.8/knowledgeList.html +++ b/src/main/resources/templates/layui-v2.6.8/knowledgeList.html @@ -150,7 +150,7 @@ layui.use(['form'], function () { var form = layui.form; $.ajax({ - url: 'http://localhost:8080/application/queryDir', + url: 'http://localhost:8080/knowledge/queryDir', type: "get", success: function (data) { if (data.msg === "success") { @@ -254,7 +254,7 @@ btn: ['提交', '取消'] , yes: function (index, layero) { //修改操作 - $.get("http://localhost:8080/application/addDirectory", $("#addDirectory").serialize(), + $.get("http://localhost:8080/knowledge/addDirectory", $("#addDirectory").serialize(), function (data) { if ("success" == data.msg) { layer.msg(data.msg); @@ -334,7 +334,7 @@ layui.use(['form'], function() { var form = layui.form; $.ajax({ - url: 'http://localhost:8080/application/queryDir', + url: 'http://localhost:8080/knowledge/queryDir', type:"get", success: function(data) { if(data.msg === "success"){ diff --git a/src/main/resources/templates/layui-v2.6.8/layui/css/admin.css b/src/main/resources/templates/layui-v2.6.8/layui/css/admin.css new file mode 100644 index 0000000..7708acf --- /dev/null +++ b/src/main/resources/templates/layui-v2.6.8/layui/css/admin.css @@ -0,0 +1,2 @@ +/** layuiAdmin.std-v1.2.1 LPPL License By http://www.layui.com/admin/ */ +html #layuicss-layuiAdmin{display:none;position:absolute;width:1989px}::-webkit-input-placeholder{color:#ccc}html{background-color:#f2f2f2;color:#666}.layadmin-tabsbody-item,[template]{display:none}[lay-href],[lay-tips],[layadmin-event]{cursor:pointer}.layui-layout-admin .layui-header{position:fixed;top:0;left:0;width:100%;height:50px}.layui-layout-admin .layui-header .layui-nav .layui-nav-child a{color:#333}.layui-layout-admin .layui-side{width:220px;top:0;z-index:1001}.layui-layout-admin .layui-header .layui-nav .layui-nav-item,.layui-layout-admin .layui-logo{height:50px;line-height:50px}.layui-layout-admin .layui-logo{position:fixed;left:0;top:0;z-index:1002;width:220px;height:49px;padding:0 15px;box-sizing:border-box;overflow:hidden;font-weight:300;background-repeat:no-repeat;background-position:center center}.layadmin-pagetabs,.layui-layout-admin .layui-body,.layui-layout-admin .layui-footer,.layui-layout-admin .layui-layout-left{left:220px}.layadmin-pagetabs{position:fixed;top:50px;right:0;z-index:999}.layadmin-pagetabs .layui-breadcrumb{padding:0 15px}.layui-layout-admin .layui-body{position:fixed;top:90px;bottom:0}.layui-layout-admin .layui-body .layadmin-tabsbody-item{position:absolute;top:0;bottom:0;left:0;right:0;overflow:hidden}.layui-layout-admin .layui-header .layui-nav-img{width:26px;height:26px}.layui-layout-admin .layui-header .layui-nav-child{top:55px}.layui-layout-admin .layui-header .layui-layout-right .layui-nav-child{left:auto;right:0}.layui-layout-admin .layui-header .layui-nav .layui-nav-child dd.layui-this,.layui-layout-admin .layui-header .layui-nav .layui-nav-child dd.layui-this a{background:0 0}.layadmin-pagetabs,.layui-layout-admin .layui-body,.layui-layout-admin .layui-footer,.layui-layout-admin .layui-header .layui-layout-right,.layui-layout-admin .layui-header .layui-nav .layui-nav-item,.layui-layout-admin .layui-layout-left,.layui-layout-admin .layui-logo,.layui-layout-admin .layui-side{transition:all .3s;-webkit-transition:all .3s}.layui-icon-login-qq{color:#3492ED}.layui-icon-login-wechat{color:#4DAF29}.layui-icon-login-weibo{color:#CF1900}.layui-form[wid100] .layui-form-label{width:100px}.layui-form[wid100] .layui-input-block{margin-left:130px}@media screen and (max-width:450px){.layui-form[wid100] .layui-form-item .layui-input-inline{margin-left:132px}.layui-form[wid100] .layui-form-item .layui-input-inline+.layui-form-mid{margin-left:130px}}.layui-form-item .layui-input-company{width:auto;padding-right:10px;line-height:38px}.layui-bg-white{background-color:#fff}.layadmin-loading{position:absolute;left:50%;top:50%;margin:-16px -15px;font-size:30px;color:#c2c2c2}.layadmin-fixed{position:fixed;left:0;top:0;z-index:999}.layadmin-link{color:#029789!important}.layadmin-link:hover{opacity:.8}.layui-layer-admin .layui-layer-title{height:50px;line-height:50px;border:0;background-color:#20222A;color:#fff}.layui-layer-admin i[close]{position:absolute;padding:5px;right:10px;top:12px;color:#fff;cursor:pointer}.layui-layer-admin .layui-layer-content{padding:20px;line-height:22px}.layui-layer-admin .layui-layer-content cite{font-style:normal;color:#FF5722}.layui-layer-adminRight{top:50px!important;bottom:0;box-shadow:1px 1px 10px rgba(0,0,0,.1);border-radius:0;overflow:auto}.layadmin-note .layui-layer-content{padding:0}.layadmin-note textarea{display:block;width:300px;height:132px;min-width:300px;min-height:132px;line-height:20px;padding:10px 20px;border:none;box-sizing:border-box;color:#666;word-wrap:break-word}.layui-layout-admin .layui-layout-left{padding:0 10px}.layui-layout-admin .layui-layout-left .layui-nav-item{margin:0 20px}.layui-layout-admin .layui-input-search{display:inline-block;vertical-align:middle;height:32px;border:none;cursor:text}.layui-layout-admin .layui-layout-left a,.layui-layout-admin .layui-layout-right{padding:0}.layui-header .layui-nav-item .layui-icon{position:relative;top:1px;font-size:16px}.layui-header .layui-layout-right .layui-badge-dot{margin-left:11px}.layui-header .layui-nav .layui-this:after,.layui-layout-admin .layui-header .layui-nav-bar{top:0!important;bottom:auto;height:3px;background-color:#fff;background-color:rgba(255,255,255,.3)}.layadmin-body-shade{position:fixed;display:none;left:0;right:0;top:0;bottom:0;background-color:rgba(0,0,0,.3);z-index:1000}.layui-side-menu .layui-side-scroll{width:240px}.layui-side-menu .layui-nav{width:220px;margin-top:50px;background:0 0}.layui-side-menu .layui-nav .layui-nav-item a{height:40px;line-height:40px;padding-left:45px;padding-right:30px}.layui-side-menu .layui-nav .layui-nav-item>a{padding-top:8px;padding-bottom:8px}.layui-side-menu .layui-nav .layui-nav-item a:hover{background:0 0}.layui-side-menu .layui-nav .layui-nav-itemed>.layui-nav-child{padding:5px 0}.layui-side-menu .layui-nav .layui-nav-item .layui-icon{position:absolute;top:50%;left:20px;margin-top:-19px}.layui-side-menu .layui-nav .layui-nav-child .layui-nav-child{background:0 0!important}.layui-side-menu .layui-nav .layui-nav-child .layui-nav-child a{padding-left:60px}.layui-side-menu .layui-nav .layui-nav-more{right:15px}@media screen and (max-width:992px){.layui-layout-admin .layui-side{transform:translate3d(-220px,0,0);-webkit-transform:translate3d(-220px,0,0);width:220px}.layadmin-pagetabs,.layui-layout-admin .layui-body,.layui-layout-admin .layui-footer,.layui-layout-admin .layui-layout-left{left:0}}.layadmin-side-shrink .layui-layout-admin .layui-logo{width:60px;background-image:url(res/logo.png)}.layadmin-side-shrink .layui-layout-admin .layui-logo span{display:none}.layadmin-side-shrink .layui-side{left:0;width:60px}.layadmin-side-shrink .layadmin-pagetabs,.layadmin-side-shrink .layui-layout-admin .layui-body,.layadmin-side-shrink .layui-layout-admin .layui-footer,.layadmin-side-shrink .layui-layout-admin .layui-layout-left{left:60px}.layadmin-side-shrink .layui-side-menu .layui-nav{position:static;width:60px}.layadmin-side-shrink .layui-side-menu .layui-nav-item{position:static}.layadmin-side-shrink .layui-side-menu .layui-nav-item>a{padding-right:0}.layadmin-side-shrink .layui-side-menu .layui-nav-item cite,.layadmin-side-shrink .layui-side-menu .layui-nav>.layui-nav-item>.layui-nav-child,.layadmin-side-shrink .layui-side-menu .layui-nav>.layui-nav-item>a .layui-nav-more{display:none;padding:8px 0;width:200px}.layadmin-side-shrink .layui-side-menu .layui-nav>.layui-nav-itemed>a{background:rgba(0,0,0,.3)}.layadmin-side-spread-sm .layadmin-pagetabs,.layadmin-side-spread-sm .layui-layout-admin .layui-body,.layadmin-side-spread-sm .layui-layout-admin .layui-footer,.layadmin-side-spread-sm .layui-layout-admin .layui-layout-left{left:0;transform:translate3d(220px,0,0);-webkit-transform:translate3d(220px,0,0)}.layadmin-side-spread-sm .layui-layout-admin .layui-layout-right{transform:translate3d(220px,0,0);-webkit-transform:translate3d(220px,0,0)}.layadmin-side-spread-sm .layui-side{transform:translate3d(0,0,0);-webkit-transform:translate3d(0,0,0)}.layadmin-side-spread-sm .layadmin-body-shade{display:block}.layadmin-pagetabs .layui-tab-title li:first-child .layui-tab-close,.layadmin-tabs-select.layui-nav .layui-nav-bar,.layadmin-tabs-select.layui-nav .layui-nav-more{display:none}.layadmin-pagetabs{height:40px;line-height:40px;padding:0 80px 0 40px;background-color:#fff;box-sizing:border-box;box-shadow:0 1px 2px 0 rgba(0,0,0,.1)}.layadmin-pagetabs .layadmin-tabs-control{position:absolute;top:0;width:40px;height:100%;text-align:center;cursor:pointer;transition:all .3s;-webkit-transition:all .3s;box-sizing:border-box;border-left:1px solid #f6f6f6}.layadmin-pagetabs .layadmin-tabs-control:hover{background-color:#f6f6f6}.layadmin-pagetabs .layui-icon-prev{left:0;border-left:none;border-right:1px solid #f6f6f6}.layadmin-pagetabs .layui-icon-next{right:40px}.layadmin-pagetabs .layui-icon-down{right:0}.layadmin-tabs-select.layui-nav{position:absolute;left:0;top:0;width:100%;height:100%;padding:0;background:0 0}.layadmin-tabs-select.layui-nav .layui-nav-item{line-height:40px}.layadmin-tabs-select.layui-nav .layui-nav-item>a{height:40px}.layadmin-tabs-select.layui-nav .layui-nav-item a{color:#666}.layadmin-tabs-select.layui-nav .layui-nav-child{top:40px;left:auto;right:0}.layadmin-tabs-select.layui-nav .layui-nav-child dd.layui-this,.layadmin-tabs-select.layui-nav .layui-nav-child dd.layui-this a{background-color:#f2f2f2!important;color:#333}.layadmin-pagetabs .layui-tab{margin:0;overflow:hidden}.layadmin-pagetabs .layui-tab-title{height:40px;border:none}.layadmin-pagetabs .layui-tab-title li{min-width:0;line-height:40px;max-width:160px;text-overflow:ellipsis;padding-right:40px;overflow:hidden;border-right:1px solid #f6f6f6;vertical-align:top}.layadmin-pagetabs .layui-tab-title li:first-child{padding-right:15px}.layadmin-pagetabs .layui-tab-title li .layui-tab-close{position:absolute;right:8px;top:50%;margin:-7px 0 0;width:16px;height:16px;line-height:16px;border-radius:50%;font-size:12px}.layadmin-pagetabs .layui-tab-title li:after{content:'';position:absolute;top:0;left:0;width:0;height:2px;border-radius:0;background-color:#292B34;transition:all .3s;-webkit-transition:all .3s}.layadmin-pagetabs .layui-tab-title li:hover:after{width:100%}.layadmin-pagetabs .layui-tab-title li.layui-this,.layadmin-pagetabs .layui-tab-title li:hover{background-color:#f6f6f6}.layadmin-pagetabs .layui-tab-title li.layui-this:after{width:100%;border:none;height:2px;background-color:#292B34}.layadmin-tabspage-none .layui-layout-admin .layui-header{border-bottom:none;box-shadow:0 1px 2px 0 rgba(0,0,0,.05)}.layadmin-tabspage-none .layui-layout-admin .layui-body{top:50px}.layadmin-tabspage-none .layadmin-header{display:block}.layadmin-tabspage-none .layadmin-header .layui-breadcrumb{border-top:1px solid #f6f6f6}.layui-layout-admin .layui-header{border-bottom:1px solid #f6f6f6;box-sizing:border-box;background-color:#fff}.layui-layout-admin .layui-header a,.layui-layout-admin .layui-header a cite{color:#333}.layui-layout-admin .layui-header a:hover{color:#000}.layui-layout-admin .layui-header .layui-nav .layui-nav-more{border-top-color:#666}.layui-layout-admin .layui-header .layui-nav .layui-nav-mored{border-color:transparent transparent #666}.layui-layout-admin .layui-header .layui-nav .layui-this:after,.layui-layout-admin .layui-header .layui-nav-bar{height:2px;background-color:#20222A}.layui-layout-admin .layui-logo{background-color:#20222A;box-shadow:0 1px 2px 0 rgba(0,0,0,.15)}.layui-layout-admin .layui-logo,.layui-layout-admin .layui-logo a{color:#fff;color:rgba(255,255,255,.8)}.layui-side-menu{box-shadow:1px 0 2px 0 rgba(0,0,0,.05)}.layui-layout-admin .layui-footer{padding:10px 0;text-align:center;box-shadow:0 -1px 2px 0 rgba(0,0,0,.05)}.layadmin-setTheme-side,.layui-side-menu{background-color:#20222A;color:#fff}.layadmin-setTheme-header,.layui-layout-admin .layui-footer{background-color:#fff}.layui-tab-admin .layui-tab-title{background-color:#393D49;color:#fff}.layui-fluid{padding:15px}.layadmin-header{display:none;height:50px;line-height:50px;margin-bottom:0;border-radius:0}.layadmin-header .layui-breadcrumb{padding:0 15px}.layui-card-header{position:relative}.layui-card-header .layui-icon{line-height:initial;position:absolute;right:15px;top:50%;margin-top:-7px}.layadmin-iframe{position:absolute;width:100%;height:100%;left:0;top:0;right:0;bottom:0}.layadmin-carousel{height:185px!important;background-color:#fff}.layadmin-carousel .layui-carousel-ind li{background-color:#e2e2e2}.layadmin-carousel .layui-carousel-ind li:hover{background-color:#c2c2c2}.layadmin-carousel .layui-carousel-ind li.layui-this{background-color:#999}.layadmin-carousel .layui-carousel,.layadmin-carousel>[carousel-item]>*{background-color:#fff}.layadmin-carousel .layui-col-space10{margin:0}.layadmin-carousel .layui-carousel-ind{position:absolute;top:-41px;text-align:right}.layadmin-carousel .layui-carousel-ind ul{background:0 0}.layui-card .layui-tab-brief .layui-tab-title{height:42px;border-bottom-color:#f6f6f6}.layui-card .layui-tab-brief .layui-tab-title li{margin:0 15px;padding:0;line-height:42px}.layui-card .layui-tab-brief .layui-tab-title li.layui-this{color:#333}.layui-card .layui-tab-brief .layui-tab-title .layui-this:after{height:43px}.layui-card .layui-tab-brief .layui-tab-content{padding:15px}.layui-card .layui-table-view{margin:0}.layadmin-shortcut li{text-align:center}.layadmin-shortcut li .layui-icon{display:inline-block;width:100%;height:60px;line-height:60px;text-align:center;border-radius:2px;font-size:30px;background-color:#F8F8F8;color:#333;transition:all .3s;-webkit-transition:all .3s}.layadmin-shortcut li cite{position:relative;top:2px;display:block;color:#666;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;font-size:14px}.layadmin-shortcut li:hover .layui-icon{background-color:#f2f2f2}.layadmin-backlog .layadmin-backlog-body{display:block;padding:10px 15px;background-color:#f8f8f8;color:#999;border-radius:2px;transition:all .3s;-webkit-transition:all .3s}.layadmin-backlog-body h3{padding-bottom:10px;font-size:12px}.layadmin-backlog-body p cite{font-style:normal;font-size:30px;font-weight:300;color:#009688}.layadmin-backlog-body:hover{background-color:#f2f2f2;color:#888}.layadmin-dataview{height:332px!important}.layadmin-dataview>[carousel-item]:before{display:none}.layadmin-dataview>[carousel-item]>div{height:332px}.layadmin-takerates{padding-top:5px}.layadmin-takerates .layui-progress{margin:50px 0 60px}.layadmin-takerates .layui-progress:last-child{margin-bottom:10px}.layadmin-takerates .layui-progress h3{position:absolute;right:0;top:-35px;color:#999;font-size:14px}.layadmin-takerates .layui-progress-bar{text-align:left}.layadmin-takerates .layui-progress-text{top:-35px;line-height:26px;font-size:26px}.layadmin-news{height:60px!important;padding:5px 0}.layadmin-news a{display:block;line-height:60px;text-align:center}.layadmin-news .layui-carousel-ind{height:45px}.layadmin-list li{margin-bottom:6px;padding-bottom:6px;border-bottom-color:#f6f6f6;list-style-position:inside;list-style-type:disc;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.layadmin-list li a{color:#666}.layadmin-list li a:hover{color:#009688}.layadmin-list li:last-child{border:none;padding:0;margin:0}.layadmin-text p{margin-bottom:10px;text-indent:2em}.layadmin-text p:last-child{margin:0}.layadmin-font-em{font-size:13px;color:#758697}.layui-card-header .layui-a-tips{position:absolute;right:15px;color:#01AAED}.layuiadmin-card-text{background-color:#f8f8f8;color:#777;padding:24px}.layuiadmin-card-text .layui-text-top{padding-bottom:10px}.layuiadmin-card-text .layui-text-top i{margin-right:10px;font-size:24px;color:#009688}.layuiadmin-card-text .layui-text-top a{line-height:24px;font-size:16px;vertical-align:top}.layuiadmin-card-text .layui-text-center{height:44px;line-height:22px;margin-bottom:10px;overflow:hidden}.layuiadmin-card-text .layui-text-bottom{position:relative}.layuiadmin-card-text .layui-text-bottom a{color:#777;font-size:12px;text-overflow:ellipsis;word-break:break-all}.layuiadmin-card-text .layui-text-bottom span{color:#CCC;font-size:12px;position:absolute;right:0}.layuiadmin-badge,.layuiadmin-btn-group,.layuiadmin-span-color{position:absolute;right:15px}.layuiadmin-card-link a:hover,.layuiadmin-card-team li a:hover,.layuiadmin-card-text a:hover{color:#01AAED;transition:all .3s}.layuiadmin-card-status{padding:0 10px 10px}.layuiadmin-card-status dd{padding:15px 0;border-bottom:1px solid #EEE;display:-webkit-flex;display:flex}.layuiadmin-card-status dd:last-child{border:none}.layuiadmin-card-status dd div.layui-status-img,.layuiadmin-card-team .layui-team-img{width:32px;height:32px;border-radius:50%;background-color:#009688;margin-right:15px}.layuiadmin-card-status dd div.layui-status-img a{width:100%;height:100%;display:inline-block;text-align:center;line-height:32px}.layuiadmin-card-status dd div.layui-status-img img,.layuiadmin-card-team .layui-team-img img{width:50%;height:50%}.layuiadmin-card-status dd div a{color:#01AAED}.layuiadmin-card-status dd div span{color:#BBB}.layuiadmin-card-link{padding-left:10px;font-size:0}.layuiadmin-card-link a{display:inline-block;width:25%;color:#666;font-size:14px;margin-bottom:12px}.layuiadmin-card-link button{vertical-align:top}.layuiadmin-card-link button:hover{color:#009688}.layuiadmin-card-team li{padding:10px 0 10px 10px}.layuiadmin-card-team .layui-team-img{display:inline-block;margin-right:8px;width:24px;height:24px;text-align:center;line-height:24px}.layuiadmin-card-team span{color:#777}.layuiadmin-badge{top:50%;margin-top:-9px;color:#01AAED}.layuiadmin-card-list{padding:15px}.layuiadmin-card-list p.layuiadmin-big-font{font-size:36px;color:#666;line-height:36px;padding:5px 0 10px;overflow:hidden;text-overflow:ellipsis;word-break:break-all;white-space:nowrap}.layuiadmin-card-list p.layuiadmin-normal-font{padding-bottom:10px;font-size:20px;color:#666;line-height:24px}.layuiadmin-span-color{font-size:14px}.layuiadmin-span-color i{padding-left:5px}.layuiadmin-card-status li{position:relative;padding:10px 0;border-bottom:1px solid #EEE}.layuiadmin-card-status li h3{padding-bottom:5px;font-weight:700}.layuiadmin-card-status li p{padding-bottom:10px}.layuiadmin-card-status li>span{color:#999}.layuiadmin-home2-usernote .layuiadmin-reply{display:none;position:absolute;right:0;bottom:12px}.layuiadmin-home2-usernote li:hover .layuiadmin-reply{display:block}.layuiadmin-page-table td span{color:#2F4056}.layuiadmin-page-table td span.first{color:#FF5722}.layuiadmin-page-table td span.second{color:#FFB800}.layuiadmin-page-table td span.third{color:#5FB878}.layuiAdmin-msg-detail h1{font-size:16px}.layuiAdmin-msg-detail .layui-card-header{height:auto;line-height:30px;padding:15px}.layuiAdmin-msg-detail .layui-card-header span{padding:0 5px;color:#999}.layuiAdmin-msg-detail .layui-card-header span:first-child{padding-left:0}.layuiAdmin-msg-detail .layui-card-body{padding:15px}.layuiadmin-content-bread{padding-bottom:20px}.layuiadmin-order-progress{position:relative;top:12px}.layui-card-header.layuiadmin-card-header-auto{padding-top:15px;padding-bottom:15px;height:auto}.layuiadmin-card-header-auto i.layuiadmin-button-btn{position:relative;right:0;top:0;vertical-align:middle}.layuiadmin-card-header-auto .layui-form-item:last-child{margin-bottom:0}.layadmin-setTheme{padding:15px;overflow-x:hidden}.layadmin-setTheme>h5{padding:20px 0 10px;color:#000}.layadmin-setTheme>h5:first-child{padding-top:0}.layadmin-setTheme-color{width:330px;font-size:0}.layadmin-setTheme-color li{position:relative;display:inline-block;vertical-align:top;width:80px;height:50px;margin:0 15px 15px 0;background-color:#f2f2f2;cursor:pointer;font-size:12px;color:#666}.layadmin-setTheme-color li:after{content:'';position:absolute;z-index:20;top:50%;left:50%;width:1px;height:0;border:1px solid #f2f2f2;transition:all .3s;-webkit-transition:all .3s;opacity:0}.layadmin-setTheme-color li.layui-this:after,.layadmin-setTheme-color li:hover:after{width:100%;height:100%;padding:4px;top:-5px;left:-5px;border-color:#5FB878;opacity:1}.layadmin-setTheme-header{position:relative;z-index:10;height:10px;border-top:1px solid #f2f2f2;border-right:1px solid #f2f2f2}.layadmin-setTheme-side{position:absolute;left:0;top:0;width:20px;height:100%;z-index:11;box-shadow:1px 0 2px 0 rgba(0,0,0,.05)}.layadmin-setTheme-logo{position:absolute;left:0;top:0;width:100%;height:10px;box-shadow:0 1px 2px 0 rgba(0,0,0,.15)}.layadmin-form-right{text-align:right}.layadmin-about p{margin-bottom:10px}.layadmin-menu-list .layui-card-header{height:50px;line-height:50px;font-size:16px}.layadmin-menu-list .layui-card-header:active{background-color:#f2f2f2}.layadmin-menu-list .layui-card-header .layui-icon{position:relative;top:1px;left:0;display:inline-block;margin:0 10px;font-size:18px}@-webkit-keyframes layui-rl{from{-webkit-transform:translate3d(100%,0,0)}to{-webkit-transform:translate3d(0,0,0)}}@keyframes layui-rl{from{transform:translate3d(100%,0,0)}to{transform:translate3d(0,0,0)}}.layui-anim-rl{-webkit-animation-name:layui-rl;animation-name:layui-rl}@-webkit-keyframes layui-lr{from{-webkit-transform:translate3d(0 0,0);opacity:1}to{-webkit-transform:translate3d(100%,0,0);opacity:1}}@keyframes layui-lr{from{transform:translate3d(0,0,0)}to{transform:translate3d(100%,0,0)}}.layui-anim-lr,.layui-anim-rl.layer-anim-close{-webkit-animation-name:layui-lr;animation-name:layui-lr}.layadmin-tips{margin-top:30px;text-align:center}.layadmin-tips .layui-icon[face]{display:inline-block;font-size:300px;color:#393D49}.layadmin-tips .layui-text{width:500px;margin:30px auto;padding-top:20px;border-top:5px solid #009688;font-size:16px}.layadmin-tips h1{font-size:100px;line-height:100px;color:#009688}.layadmin-tips .layui-text .layui-anim{display:inline-block}@media screen and (max-width:768px){.layadmin-panel-selection{margin:0;width:auto}.layui-body .layui-nav .layui-nav-item{display:block}.layui-layout-admin .layui-body .layadmin-tabsbody-item{-webkit-overflow-scrolling:touch;overflow:auto}} diff --git a/src/main/resources/templates/layui-v2.6.8/layui/css/log.css b/src/main/resources/templates/layui-v2.6.8/layui/css/log.css new file mode 100644 index 0000000..789003b --- /dev/null +++ b/src/main/resources/templates/layui-v2.6.8/layui/css/log.css @@ -0,0 +1,2 @@ +/** layuiAdmin.std-v1.2.1 LPPL License By http://www.layui.com/admin/ */ +#LAY_app,body,html{height:100%}.layui-layout-body{overflow:auto}#LAY-user-login,.layadmin-user-display-show{display:block!important}.layadmin-user-login{position:relative;left:0;top:0;padding:110px 0;min-height:100%;box-sizing:border-box}.layadmin-user-login-main{width:375px;margin:0 auto;box-sizing:border-box}.layadmin-user-login-box{padding:20px}.layadmin-user-login-header{text-align:center}.layadmin-user-login-header h2{margin-bottom:10px;font-weight:300;font-size:30px;color:#000}.layadmin-user-login-header p{font-weight:300;color:#999}.layadmin-user-login-body .layui-form-item{position:relative}.layadmin-user-login-icon{position:absolute;left:1px;top:1px;width:38px;line-height:36px;text-align:center;color:#d2d2d2}.layadmin-user-login-body .layui-form-item .layui-input{padding-left:38px}.layadmin-user-login-codeimg{max-height:38px;width:100%;cursor:pointer;box-sizing:border-box}.layadmin-user-login-other{position:relative;font-size:0;line-height:38px;padding-top:20px}.layadmin-user-login-other>*{display:inline-block;vertical-align:middle;margin-right:10px;font-size:14px}.layadmin-user-login-other .layui-icon{position:relative;top:2px;font-size:26px}.layadmin-user-login-other a:hover{opacity:.8}.layadmin-user-jump-change{float:right}.layadmin-user-login-footer{position:absolute;left:0;bottom:0;width:100%;line-height:30px;padding:20px;text-align:center;box-sizing:border-box;color:rgba(0,0,0,.5)}.layadmin-user-login-footer span{padding:0 5px}.layadmin-user-login-footer a{padding:0 5px;color:rgba(0,0,0,.5)}.layadmin-user-login-footer a:hover{color:rgba(0,0,0,1)}.layadmin-user-login-main[bgimg]{background-color:#fff;box-shadow:0 0 5px rgba(0,0,0,.05)}.ladmin-user-login-theme{position:fixed;bottom:0;left:0;width:100%;text-align:center}.ladmin-user-login-theme ul{display:inline-block;padding:5px;background-color:#fff}.ladmin-user-login-theme ul li{display:inline-block;vertical-align:top;width:64px;height:43px;cursor:pointer;transition:all .3s;-webkit-transition:all .3s;background-color:#f2f2f2}.ladmin-user-login-theme ul li:hover{opacity:.9}@media screen and (max-width:768px){.layadmin-user-login{padding-top:60px}.layadmin-user-login-main{width:300px}.layadmin-user-login-box{padding:10px}} diff --git a/src/main/resources/templates/layui-v2.6.8/login.html b/src/main/resources/templates/layui-v2.6.8/login.html index 8a3958f..4a66899 100644 --- a/src/main/resources/templates/layui-v2.6.8/login.html +++ b/src/main/resources/templates/layui-v2.6.8/login.html @@ -1,92 +1,76 @@ - + - - Title - - - - + + + 登录 + + + -
    -