Compare commits
3 Commits
f7d6369f39
...
8d500a947b
Author | SHA1 | Date | |
---|---|---|---|
|
8d500a947b | ||
|
bceca96070 | ||
|
bd99606db1 |
@ -0,0 +1,46 @@
|
||||
package com.ruoyi.cms.api;
|
||||
|
||||
import com.ruoyi.cms.domain.CmsCategory;
|
||||
import com.ruoyi.cms.service.ICmsCategoryService;
|
||||
import com.ruoyi.common.annotation.Anonymous;
|
||||
import com.ruoyi.common.core.controller.BaseController;
|
||||
import com.ruoyi.common.core.domain.AjaxResult;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PathVariable;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
@Anonymous
|
||||
@RequestMapping("/api/category")
|
||||
@RestController
|
||||
public class CMSCategoryAPI extends BaseController {
|
||||
|
||||
@Autowired
|
||||
private ICmsCategoryService categoryService;
|
||||
|
||||
/**
|
||||
* 获取栏目及文章
|
||||
*/
|
||||
@GetMapping("/list")
|
||||
public AjaxResult getCategory(CmsCategory category){
|
||||
return success(categoryService.selectCmsCategoryTreeList(category));
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取栏目下的子栏目及文章
|
||||
* @param id 顶层栏目ID
|
||||
*/
|
||||
@GetMapping("/{id}")
|
||||
public AjaxResult getContents(@PathVariable Long id){
|
||||
return success(categoryService.selectCmsCategoryAndContentTreeList(id));
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取某个子栏目的文章
|
||||
*/
|
||||
@GetMapping("/content/{id}")
|
||||
public AjaxResult getContentById(@PathVariable Long id){
|
||||
return success(categoryService.getContentById(id));
|
||||
}
|
||||
}
|
@ -0,0 +1,31 @@
|
||||
package com.ruoyi.cms.api;
|
||||
|
||||
import com.ruoyi.cms.service.ICmsContentService;
|
||||
import com.ruoyi.common.annotation.Anonymous;
|
||||
import com.ruoyi.common.core.controller.BaseController;
|
||||
import com.ruoyi.common.core.domain.AjaxResult;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.PathVariable;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
@Anonymous
|
||||
@RestController
|
||||
@RequestMapping("/api/content")
|
||||
public class CMSContentAPI extends BaseController {
|
||||
|
||||
@Autowired
|
||||
private ICmsContentService contentService;
|
||||
|
||||
/**
|
||||
* 文章详情
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
@GetMapping("/{id}")
|
||||
public AjaxResult getContentById(@PathVariable Long id){
|
||||
return success(contentService.selectCmsContentById(id));
|
||||
}
|
||||
|
||||
}
|
@ -1,11 +1,17 @@
|
||||
package com.ruoyi.cms.controller;
|
||||
|
||||
import cn.hutool.core.io.resource.ResourceUtil;
|
||||
import com.alibaba.fastjson2.JSON;
|
||||
import com.baidu.ueditor.ActionEnter;
|
||||
import com.ruoyi.cms.service.ICmsCategoryService;
|
||||
import com.ruoyi.common.annotation.Anonymous;
|
||||
import com.ruoyi.common.config.RuoYiConfig;
|
||||
import com.ruoyi.common.core.domain.AjaxResult;
|
||||
import com.ruoyi.common.utils.file.FileUploadUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.util.ClassUtils;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
@ -22,6 +28,9 @@ import java.util.Map;
|
||||
@RequestMapping("/ueditor")
|
||||
public class UeditorController {
|
||||
|
||||
@Autowired
|
||||
private ICmsCategoryService categoryService;
|
||||
|
||||
//配置ueditor后端上传接口的验证
|
||||
@RequestMapping("/config")
|
||||
public String config(HttpServletRequest request, HttpServletResponse response, String action, MultipartFile[] upfile) throws IOException {
|
||||
@ -84,4 +93,13 @@ public class UeditorController {
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取所有的叶子节点
|
||||
* @return
|
||||
*/
|
||||
@GetMapping("/leavesCategoryList")
|
||||
public AjaxResult getLeavesCategoryList(){
|
||||
return AjaxResult.success(categoryService.getLeavesCategoryList());
|
||||
}
|
||||
}
|
||||
|
@ -1,10 +1,9 @@
|
||||
package com.ruoyi.cms.domain;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
||||
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
||||
import lombok.Data;
|
||||
import org.apache.commons.lang3.builder.ToStringBuilder;
|
||||
import org.apache.commons.lang3.builder.ToStringStyle;
|
||||
import com.ruoyi.common.annotation.Excel;
|
||||
import com.ruoyi.common.core.domain.BaseEntity;
|
||||
|
||||
@ -54,5 +53,6 @@ public class CmsCategory extends BaseEntity
|
||||
/** 逻辑删除0未删除1真删除 */
|
||||
private Integer delFlag;
|
||||
|
||||
@TableField(exist = false)
|
||||
private List<CmsCategory> children = new ArrayList<CmsCategory>();
|
||||
}
|
||||
|
@ -93,6 +93,12 @@ public class CmsContent extends BaseEntity
|
||||
@Excel(name = "附件路径")
|
||||
private String accessoryUrl;
|
||||
|
||||
/** 图片地址 */
|
||||
private String imageUrl;
|
||||
|
||||
/** 视频地址 */
|
||||
private String videoUrl;
|
||||
|
||||
/** 逻辑删除0未删除1真删除 */
|
||||
private Integer delFlag;
|
||||
}
|
||||
|
@ -0,0 +1,49 @@
|
||||
package com.ruoyi.cms.domain.vo;
|
||||
|
||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
||||
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
||||
import com.github.pagehelper.PageInfo;
|
||||
import com.ruoyi.cms.domain.CmsContent;
|
||||
import com.ruoyi.common.annotation.Excel;
|
||||
import com.ruoyi.common.core.domain.BaseEntity;
|
||||
import lombok.Data;
|
||||
|
||||
|
||||
@Data
|
||||
public class CMSCategoryVo extends BaseEntity {
|
||||
|
||||
@JsonSerialize(using = ToStringSerializer.class)
|
||||
/** 栏目ID */
|
||||
private Long id;
|
||||
|
||||
/** 栏目名称 */
|
||||
@Excel(name = "栏目名称")
|
||||
private String categoryName;
|
||||
|
||||
/** 栏目排序(默认0) */
|
||||
@Excel(name = "栏目排序(默认0)")
|
||||
private Long categorySort;
|
||||
|
||||
/** 栏目路径 */
|
||||
@Excel(name = "栏目路径")
|
||||
private String categoryUrl;
|
||||
|
||||
@JsonSerialize(using = ToStringSerializer.class)
|
||||
/** 父栏目ID */
|
||||
@Excel(name = "父栏目ID")
|
||||
private Long parentId;
|
||||
|
||||
/** 是否外链(0:否,1:是) */
|
||||
@Excel(name = "是否外链", readConverterExp = "0=:否,1:是")
|
||||
private String isFrame;
|
||||
|
||||
/** 是否显示(0:显示,1:不显示,默认0) */
|
||||
@Excel(name = "是否显示(0:显示,1:不显示,默认0)")
|
||||
private String isDisable;
|
||||
|
||||
/** 逻辑删除0未删除1真删除 */
|
||||
private Integer delFlag;
|
||||
|
||||
/** 栏目下的文章 */
|
||||
private PageInfo<CmsContent> children;
|
||||
}
|
@ -3,7 +3,10 @@ package com.ruoyi.cms.service;
|
||||
import java.util.List;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.github.pagehelper.PageInfo;
|
||||
import com.ruoyi.cms.domain.CmsCategory;
|
||||
import com.ruoyi.cms.domain.CmsContent;
|
||||
import com.ruoyi.cms.domain.vo.CMSCategoryVo;
|
||||
import com.ruoyi.common.core.domain.TreeSelect;
|
||||
import com.ruoyi.common.core.domain.entity.SysDept;
|
||||
import com.ruoyi.common.core.domain.entity.SysMenu;
|
||||
@ -95,4 +98,23 @@ public interface ICmsCategoryService extends IService<CmsCategory>
|
||||
* @return 下拉树结构列表
|
||||
*/
|
||||
public List<TreeSelect> buildCmsCategoryTreeSelect(List<CmsCategory> categorys);
|
||||
|
||||
/**
|
||||
* 获取栏目下的子栏目及文章
|
||||
* @param id 顶层栏目ID
|
||||
*/
|
||||
List<CMSCategoryVo> selectCmsCategoryAndContentTreeList(Long id);
|
||||
|
||||
/**
|
||||
* 按ID查文章
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
public PageInfo<CmsContent> getContentById(Long id);
|
||||
|
||||
/**
|
||||
* 获取所有的叶子节点
|
||||
* @return
|
||||
*/
|
||||
List<CmsCategory> getLeavesCategoryList();
|
||||
}
|
||||
|
@ -5,9 +5,16 @@ import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.lang.Snowflake;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.github.pagehelper.PageHelper;
|
||||
import com.github.pagehelper.PageInfo;
|
||||
import com.ruoyi.cms.core.NewTreeSelect;
|
||||
import com.ruoyi.cms.domain.CmsContent;
|
||||
import com.ruoyi.cms.domain.vo.CMSCategoryVo;
|
||||
import com.ruoyi.cms.mapper.CmsContentMapper;
|
||||
import com.ruoyi.common.constant.UserConstants;
|
||||
import com.ruoyi.common.core.domain.TreeSelect;
|
||||
import com.ruoyi.common.utils.DateUtils;
|
||||
@ -19,6 +26,8 @@ import com.ruoyi.cms.mapper.CmsCategoryMapper;
|
||||
import com.ruoyi.cms.domain.CmsCategory;
|
||||
import com.ruoyi.cms.service.ICmsCategoryService;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
/**
|
||||
* 栏目Service业务层处理
|
||||
*
|
||||
@ -31,6 +40,9 @@ public class CmsCategoryServiceImpl extends ServiceImpl<CmsCategoryMapper, CmsCa
|
||||
@Autowired
|
||||
private Snowflake snowflake;
|
||||
|
||||
@Autowired
|
||||
private CmsContentMapper contentMapper;
|
||||
|
||||
/**
|
||||
* 查询栏目
|
||||
*
|
||||
@ -218,4 +230,42 @@ public class CmsCategoryServiceImpl extends ServiceImpl<CmsCategoryMapper, CmsCa
|
||||
{
|
||||
return getChildList(list, t).size() > 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取栏目下的子栏目及文章
|
||||
* @param id 顶层栏目ID
|
||||
*/
|
||||
@Override
|
||||
public List<CMSCategoryVo> selectCmsCategoryAndContentTreeList(Long id) {
|
||||
List<CmsCategory> categories = baseMapper.selectList(new QueryWrapper<CmsCategory>().eq("parent_id", id));
|
||||
List<CMSCategoryVo> categoryVoList = new ArrayList<>();
|
||||
for (CmsCategory category : categories){
|
||||
CMSCategoryVo categoryVo = new CMSCategoryVo();
|
||||
BeanUtil.copyProperties(category, categoryVo);
|
||||
categoryVo.setChildren(getContentById(category.getId()));
|
||||
categoryVoList.add(categoryVo);
|
||||
}
|
||||
return categoryVoList;
|
||||
}
|
||||
|
||||
/**
|
||||
* 按ID查文章
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public PageInfo<CmsContent> getContentById(Long id){
|
||||
PageHelper.startPage(1, 10);
|
||||
List<CmsContent> contents = contentMapper.selectList(new QueryWrapper<CmsContent>().eq("category_id", id));
|
||||
return new PageInfo<CmsContent>(contents);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取所有的叶子节点
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public List<CmsCategory> getLeavesCategoryList(){
|
||||
return baseMapper.selectList(new QueryWrapper<CmsCategory>().ne("parent_id", 0));
|
||||
}
|
||||
}
|
||||
|
@ -3,7 +3,7 @@
|
||||
"imageActionName": "uploadimage", /* 执行上传图片的action名称 */
|
||||
"imageFieldName": "upfile", /* 提交的图片表单名称 */
|
||||
"imageMaxSize": 2048000, /* 上传大小限制,单位B */
|
||||
"imageAllowFiles": [".png", ".jpg", ".jpeg", ".gif", ".bmp"], /* 上传图片格式显示 */
|
||||
"imageAllowFiles": [".png", ".jpg", ".jpeg", ".gif", ".bmp", '.webp'], /* 上传图片格式显示 */
|
||||
"imageCompressEnable": true, /* 是否压缩图片,默认是true */
|
||||
"imageCompressBorder": 1600, /* 图片压缩最长边限制 */
|
||||
"imageInsertAlign": "none", /* 插入的图片浮动方式 */
|
@ -28,10 +28,12 @@
|
||||
<result property="createBy" column="create_by" />
|
||||
<result property="updateTime" column="update_time" />
|
||||
<result property="updateBy" column="update_by" />
|
||||
<result property="imageUrl" column="image_url" />
|
||||
<result property="videoUrl" column="video_url" />
|
||||
</resultMap>
|
||||
|
||||
<sql id="selectCmsContentVo">
|
||||
select id, category_id, content_type, content_title, content_img, content_detail, source, source_url, original, author, editor, summary, status, publish_date, offline_date, is_accessory, accessory_url, remark, del_flag, create_time, create_by, update_time, update_by from cms_content
|
||||
select id, category_id, content_type,image_url, video_url content_title, content_img, content_detail, source, source_url, original, author, editor, summary, status, publish_date, offline_date, is_accessory, accessory_url, remark, del_flag, create_time, create_by, update_time, update_by from cms_content
|
||||
</sql>
|
||||
|
||||
<select id="selectCmsContentList" parameterType="CmsContent" resultMap="CmsContentResult">
|
||||
|
@ -1,69 +0,0 @@
|
||||
{
|
||||
/* 上传图片配置项 */
|
||||
"imageActionName": "uploadimage", /* 执行上传图片的action名称 */
|
||||
"imageFieldName": "upfile", /* 提交的图片表单名称 */
|
||||
"imageMaxSize": 2048000, /* 上传大小限制,单位B */
|
||||
"imageAllowFiles": [".png", ".jpg", ".jpeg", ".gif", ".bmp"], /* 上传图片格式显示 */
|
||||
"imageCompressEnable": true, /* 是否压缩图片,默认是true */
|
||||
"imageCompressBorder": 1600, /* 图片压缩最长边限制 */
|
||||
"imageInsertAlign": "none", /* 插入的图片浮动方式 */
|
||||
"imageUrlPrefix": "http://localhost:8080/", /* 图片访问路径前缀 */
|
||||
"imagePathFormat": "image/{yyyy}{mm}{dd}/{time}{rand:6}", /* 上传保存路径,可以自定义保存路径和文件名格式 */
|
||||
/* {filename} 会替换成原文件名,配置这项需要注意中文乱码问题 */
|
||||
/* {rand:6} 会替换成随机数,后面的数字是随机数的位数 */
|
||||
/* {time} 会替换成时间戳 */ /* {yyyy} 会替换成四位年份 */
|
||||
/* {yy} 会替换成两位年份 */
|
||||
/* {mm} 会替换成两位月份 */
|
||||
/* {dd} 会替换成两位日期 */
|
||||
/* {hh} 会替换成两位小时 */
|
||||
/* {ii} 会替换成两位分钟 */
|
||||
/* {ss} 会替换成两位秒 */
|
||||
/* 非法字符 \ : * ? " < > | */
|
||||
/* 具请体看线上文档: fex.baidu.com/ueditor/#use-format_upload_filename */
|
||||
/* 涂鸦图片上传配置项 */
|
||||
"scrawlActionName": "uploadscrawl", /* 执行上传涂鸦的action名称 */
|
||||
"scrawlFieldName": "upfile", /* 提交的图片表单名称 */
|
||||
"scrawlPathFormat": "image/{yyyy}{mm}{dd}/{time}{rand:6}", /* 上传保存路径,可以自定义保存路径和文件名格式 */
|
||||
"scrawlMaxSize": 2048000, /* 上传大小限制,单位B */
|
||||
"scrawlUrlPrefix": "", /* 图片访问路径前缀 */
|
||||
"scrawlInsertAlign": "none", /* 截图工具上传 */
|
||||
"snapscreenActionName": "uploadimage", /* 执行上传截图的action名称 */
|
||||
"snapscreenPathFormat": "image/{yyyy}{mm}{dd}/{time}{rand:6}", /* 上传保存路径,可以自定义保存路径和文件名格式 */
|
||||
"snapscreenUrlPrefix": "", /* 图片访问路径前缀 */
|
||||
"snapscreenInsertAlign": "none", /* 插入的图片浮动方式 */
|
||||
/* 抓取远程图片配置 */
|
||||
"catcherLocalDomain": ["127.0.0.1", "localhost", "img.baidu.com"],
|
||||
"catcherActionName": "catchimage", /* 执行抓取远程图片的action名称 */
|
||||
"catcherFieldName": "source", /* 提交的图片列表表单名称 */
|
||||
"catcherPathFormat": "image/{yyyy}{mm}{dd}/{time}{rand:6}", /* 上传保存路径,可以自定义保存路径和文件名格式 */
|
||||
"catcherUrlPrefix": "", /* 图片访问路径前缀 */
|
||||
"catcherMaxSize": 2048000, /* 上传大小限制,单位B */
|
||||
"catcherAllowFiles": [".png", ".jpg", ".jpeg", ".gif", ".bmp"], /* 抓取图片格式显示 */
|
||||
/* 上传视频配置 */
|
||||
"videoActionName": "uploadvideo", /* 执行上传视频的action名称 */
|
||||
"videoFieldName": "upfile", /* 提交的视频表单名称 */
|
||||
"videoPathFormat": "video/{yyyy}{mm}{dd}/{time}{rand:6}", /* 上传保存路径,可以自定义保存路径和文件名格式 */
|
||||
"videoUrlPrefix": "http://localhost:8080/", /* 视频访问路径前缀 */
|
||||
"videoMaxSize": 102400000, /* 上传大小限制,单位B,默认100MB */
|
||||
"videoAllowFiles": [ ".flv", ".swf", ".mkv", ".avi", ".rm", ".rmvb", ".mpeg", ".mpg", ".ogg", ".ogv", ".mov", ".wmv", ".mp4", ".webm", ".mp3", ".wav", ".mid"], /* 上传视频格式显示 */
|
||||
/* 上传文件配置 */
|
||||
"fileActionName": "uploadfile", /* controller里,执行上传视频的action名称 */
|
||||
"fileFieldName": "upfile", /* 提交的文件表单名称 */
|
||||
"filePathFormat": "file/{yyyy}{mm}{dd}/{time}{rand:6}", /* 上传保存路径,可以自定义保存路径和文件名格式 */
|
||||
"fileUrlPrefix": "", /* 文件访问路径前缀 */
|
||||
"fileMaxSize": 51200000, /* 上传大小限制,单位B,默认50MB */
|
||||
"fileAllowFiles": [ ".png", ".jpg", ".jpeg", ".gif", ".bmp", ".flv", ".swf", ".mkv", ".avi", ".rm", ".rmvb", ".mpeg", ".mpg", ".ogg", ".ogv", ".mov", ".wmv", ".mp4", ".webm", ".mp3", ".wav", ".mid", ".rar", ".zip", ".tar", ".gz", ".7z", ".bz2", ".cab", ".iso", ".doc", ".docx", ".xls", ".xlsx", ".ppt", ".pptx", ".pdf", ".txt", ".md", ".xml" ], /* 上传文件格式显示 */
|
||||
/* 列出指定目录下的图片 */
|
||||
"imageManagerActionName": "listimage", /* 执行图片管理的action名称 */
|
||||
"imageManagerListPath": "image/", /* 指定要列出图片的目录 */
|
||||
"imageManagerListSize": 20, /* 每次列出文件数量 */
|
||||
"imageManagerUrlPrefix": "", /* 图片访问路径前缀 */
|
||||
"imageManagerInsertAlign": "none", /* 插入的图片浮动方式 */
|
||||
"imageManagerAllowFiles": [".png", ".jpg", ".jpeg", ".gif", ".bmp"], /* 列出的文件类型 */
|
||||
/* 列出指定目录下的文件 */
|
||||
"fileManagerActionName": "listfile", /* 执行文件管理的action名称 */
|
||||
"fileManagerListPath": "file/", /* 指定要列出文件的目录 */
|
||||
"fileManagerUrlPrefix": "", /* 文件访问路径前缀 */
|
||||
"fileManagerListSize": 20, /* 每次列出文件数量 */
|
||||
"fileManagerAllowFiles": [ ".png", ".jpg", ".jpeg", ".gif", ".bmp", ".flv", ".swf", ".mkv", ".avi", ".rm", ".rmvb", ".mpeg", ".mpg", ".ogg", ".ogv", ".mov", ".wmv", ".mp4", ".webm", ".mp3", ".wav", ".mid", ".rar", ".zip", ".tar", ".gz", ".7z", ".bz2", ".cab", ".iso", ".doc", ".docx", ".xls", ".xlsx", ".ppt", ".pptx", ".pdf", ".txt", ".md", ".xml" ] /* 列出的文件类型 */
|
||||
}
|
@ -28,10 +28,12 @@
|
||||
<result property="createBy" column="create_by" />
|
||||
<result property="updateTime" column="update_time" />
|
||||
<result property="updateBy" column="update_by" />
|
||||
<result property="imageUrl" column="image_url" />
|
||||
<result property="videoUrl" column="video_url" />
|
||||
</resultMap>
|
||||
|
||||
<sql id="selectCmsContentVo">
|
||||
select id, category_id, content_type, content_title, content_img, content_detail, source, source_url, original, author, editor, summary, status, publish_date, offline_date, is_accessory, accessory_url, remark, del_flag, create_time, create_by, update_time, update_by from cms_content
|
||||
select id, category_id, content_type,image_url, video_url content_title, content_img, content_detail, source, source_url, original, author, editor, summary, status, publish_date, offline_date, is_accessory, accessory_url, remark, del_flag, create_time, create_by, update_time, update_by from cms_content
|
||||
</sql>
|
||||
|
||||
<select id="selectCmsContentList" parameterType="CmsContent" resultMap="CmsContentResult">
|
||||
|
@ -4,6 +4,8 @@ import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||
import com.fasterxml.jackson.annotation.JsonInclude;
|
||||
@ -19,6 +21,7 @@ public class BaseEntity implements Serializable
|
||||
|
||||
/** 搜索值 */
|
||||
@JsonIgnore
|
||||
@TableField(exist = false)
|
||||
private String searchValue;
|
||||
|
||||
/** 创建者 */
|
||||
@ -39,6 +42,7 @@ public class BaseEntity implements Serializable
|
||||
private String remark;
|
||||
|
||||
/** 请求参数 */
|
||||
@TableField(exist = false)
|
||||
@JsonInclude(JsonInclude.Include.NON_EMPTY)
|
||||
private Map<String, Object> params;
|
||||
|
||||
|
@ -115,7 +115,7 @@ public class SecurityConfig
|
||||
// 静态资源,可匿名访问
|
||||
.antMatchers(HttpMethod.GET, "/", "/*.html", "/**/*.html", "/**/*.css", "/**/*.js", "/profile/**").permitAll()
|
||||
.antMatchers("/swagger-ui.html", "/swagger-resources/**", "/webjars/**", "/*/api-docs", "/druid/**").permitAll()
|
||||
// 除上面外的所有请求全部需要鉴权认证
|
||||
// 除上面外的所有请求全部需要鉴权认证
|
||||
.anyRequest().authenticated();
|
||||
})
|
||||
// 添加Logout filter
|
||||
|
Before Width: | Height: | Size: 1.0 KiB After Width: | Height: | Size: 1.0 KiB |
Before Width: | Height: | Size: 3.6 KiB After Width: | Height: | Size: 3.6 KiB |
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 2.7 KiB |
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 20 KiB |
Before Width: | Height: | Size: 43 KiB After Width: | Height: | Size: 43 KiB |
Before Width: | Height: | Size: 453 B After Width: | Height: | Size: 453 B |
Before Width: | Height: | Size: 2.6 KiB After Width: | Height: | Size: 2.6 KiB |
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.6 KiB |
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 445 B After Width: | Height: | Size: 445 B |
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.6 KiB |
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 2.7 KiB |
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 20 KiB |
Before Width: | Height: | Size: 43 KiB After Width: | Height: | Size: 43 KiB |
Before Width: | Height: | Size: 453 B After Width: | Height: | Size: 453 B |
Before Width: | Height: | Size: 2.6 KiB After Width: | Height: | Size: 2.6 KiB |
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.6 KiB |
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 11 KiB |
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 11 KiB |
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 11 KiB |
Before Width: | Height: | Size: 445 B After Width: | Height: | Size: 445 B |
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.6 KiB |
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 2.7 KiB |
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.6 KiB |
Before Width: | Height: | Size: 43 B After Width: | Height: | Size: 43 B |
Before Width: | Height: | Size: 26 KiB After Width: | Height: | Size: 26 KiB |
Before Width: | Height: | Size: 8.4 KiB After Width: | Height: | Size: 8.4 KiB |
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 18 KiB |
Before Width: | Height: | Size: 40 KiB After Width: | Height: | Size: 40 KiB |
Before Width: | Height: | Size: 216 B After Width: | Height: | Size: 216 B |
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 19 KiB |
Before Width: | Height: | Size: 49 KiB After Width: | Height: | Size: 49 KiB |
Before Width: | Height: | Size: 28 KiB After Width: | Height: | Size: 28 KiB |
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 16 KiB |
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 2.7 KiB |
Before Width: | Height: | Size: 453 B After Width: | Height: | Size: 453 B |
Before Width: | Height: | Size: 2.6 KiB After Width: | Height: | Size: 2.6 KiB |
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.6 KiB |
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 445 B After Width: | Height: | Size: 445 B |
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.6 KiB |
Before Width: | Height: | Size: 628 B After Width: | Height: | Size: 628 B |
Before Width: | Height: | Size: 608 B After Width: | Height: | Size: 608 B |
Before Width: | Height: | Size: 516 B After Width: | Height: | Size: 516 B |
Before Width: | Height: | Size: 578 B After Width: | Height: | Size: 578 B |
Before Width: | Height: | Size: 519 B After Width: | Height: | Size: 519 B |
Before Width: | Height: | Size: 657 B After Width: | Height: | Size: 657 B |
Before Width: | Height: | Size: 42 KiB After Width: | Height: | Size: 42 KiB |
Before Width: | Height: | Size: 454 B After Width: | Height: | Size: 454 B |
Before Width: | Height: | Size: 536 B After Width: | Height: | Size: 536 B |
Before Width: | Height: | Size: 435 B After Width: | Height: | Size: 435 B |
Before Width: | Height: | Size: 330 B After Width: | Height: | Size: 330 B |
Before Width: | Height: | Size: 775 B After Width: | Height: | Size: 775 B |
Before Width: | Height: | Size: 444 B After Width: | Height: | Size: 444 B |
Before Width: | Height: | Size: 511 B After Width: | Height: | Size: 511 B |