修改书签菜单Icon图标大小为21px,新增查询用户菜单接口,查询单个标签信息接口

This commit is contained in:
WangHao 2020-08-16 23:37:37 +08:00
parent 66b12b3a0e
commit b712dd1aa7
9 changed files with 230 additions and 100 deletions

View File

@ -1,16 +1,16 @@
package com.ruoyi.web.controller.yunbookmark;
import java.util.List;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.core.domain.model.LoginUser;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.security.core.Authentication;
import org.springframework.security.core.context.SecurityContext;
import org.springframework.security.core.context.SecurityContextHolder;
import org.springframework.security.core.userdetails.UserDetails;
import org.springframework.web.bind.annotation.*;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
@ -32,6 +32,35 @@ public class SqMenuController extends BaseController
@Autowired
private ISqMenuService sqMenuService;
/**
* 功能描述:查询用户的 所有书签菜单
*/
@GetMapping("/selectMenuByUserID")
public AjaxResult selecByUserID()
{
Authentication auth = SecurityContextHolder.getContext().getAuthentication();
LoginUser user = (LoginUser) auth.getPrincipal();
List<SqMenu> list = sqMenuService.selecByUserID(user.getUser().getUserId());
return AjaxResult.success(list);
}
/**
* 查询MenuID单个书签信息
*/
@GetMapping("/selectByMenuId")
public AjaxResult list(@RequestParam("menuId") Long menuId)
{
Authentication auth = SecurityContextHolder.getContext().getAuthentication();
LoginUser user = (LoginUser) auth.getPrincipal();
Long userId=user.getUser().getUserId();
SqMenu sqMenu=new SqMenu();
sqMenu.setMenuId(menuId);
sqMenu.setUserId(userId);
List<SqMenu> list = sqMenuService.selectSqMenuList(sqMenu);
return AjaxResult.success(list);
}
/**
* 查询书签菜单列表
*/

View File

@ -1,5 +1,16 @@
import request from '@/utils/request'
// 查询用户 书签菜单
export function listMenuByUserId() {
return request({
url: '/bookmark/menu/selectMenuByUserID',
method: 'get'
})
}
// 查询书签菜单列表
export function listMenu(query) {
return request({
@ -50,4 +61,4 @@ export function exportMenu(query) {
method: 'get',
params: query
})
}
}

View File

@ -217,7 +217,7 @@
import "../ztree/demo.css"
import "../ztree/zTreeStyle.css"
import "../ztree/jquery.ztree.exedit.js"
import { listMenuByUserId } from "@/api/bookmark/menu";
export default {
name: 'areaTree',
components:{
@ -265,42 +265,42 @@
}
},
zNodes:[
{ id:1, pId:0, name:"文件夹",icon:"https://favicon.lucq.fun/?url=https://www.baidu.com"},
{ id:2, pId:0, name:"文件夹",icon:"https://favicon.lucq.fun/?url=https://movie.douban.com/"},
{ id:3, pId:2, name:"文件夹",icon:"https://favicon.lucq.fun/?url=https://www.sogou.com/"},
{ id:4, pId:0, name:"文件夹",icon:"https://favicon.lucq.fun/?url=https://www.w3school.com.cn/"},
{ id:5, pId:4, name:"文件夹",icon:"https://favicon.lucq.fun/?url=https://www.sogou.com/"},
{ id:6, pId:0, name:"文件夹",icon:"https://favicon.lucq.fun/?url=https://www.sogou.com/"},
{ id:7, pId:6, name:"文件夹",icon:"https://favicon.lucq.fun/?url=https://www.sogou.com/"},
{ id:8, pId:0, name:"文件夹",icon:"https://favicon.lucq.fun/?url=https://open.163.com/"},
{ id:9, pId:8, name:"文件夹",icon:"https://favicon.lucq.fun/?url=https://www.sogou.com/"},
{ id:1123, pId:0, name:"文件夹",icon:"https://favicon.lucq.fun/?url=https://y.qq.com"},
{ id:1142, pId:1, name:"收件箱",icon:"https://favicon.lucq.fun/?url=https://www.sogou.com/"},
{ id:111, pId:19, name:"收件箱1",icon:"https://favicon.lucq.fun/?url=https://mail.sina.com.cn/"},
{ id:112, pId:111, name:"收件箱2",icon:"https://favicon.lucq.fun/?url=https://www.sogou.com/"},
{ id:113, pId:112, name:"收件箱3",icon:"https://favicon.lucq.fun/?url=https://www.sogou.com/"},
{ id:114, pId:113, name:"收件箱4",icon:"https://favicon.lucq.fun/?url=https://www.sogou.com/"},
{ id:1321, pId:114, name:"照片",icon:"https://favicon.lucq.fun/?url=https://www.sogou.com/"},
{ id:2322, pId:114, name:"照片",icon:"https://favicon.lucq.fun/?url=https://www.sogou.com/"},
{ id:3323, pId:114, name:"照片",icon:"https://favicon.lucq.fun/?url=https://www.sogou.com/"},
{ id:4324, pId:114, name:"照片",icon:"https://favicon.lucq.fun/?url=https://www.sogou.com/"},
{ id:5325, pId:114, name:"照片",icon:"https://favicon.lucq.fun/?url=https://www.sogou.com/"},
{ id:6399, pId:114, name:"照片",icon:"https://favicon.lucq.fun/?url=https://www.sogou.com/"},
{ id:32, pId:399, name:"照片",icon:"https://favicon.lucq.fun/?url=https://www.sogou.com/"},
{ id:12, pId:1, name:"垃圾邮件",icon:"https://favicon.lucq.fun/?url=https://www.google.com/"},
{ id:13, pId:1, name:"草稿",icon:"https://favicon.lucq.fun/?url=https://yz.m.sm.cn/"},
{ id:14, pId:1, name:"已发送邮件",icon:"https://favicon.lucq.fun/?url=https://www.sogou.com/"},
{ id:15, pId:1, name:"已删除邮件",icon:"https://favicon.lucq.fun/?url=https://www.sogou.com/"},
{ id:322, pId:11, name:"快速视图",icon:"https://favicon.lucq.fun/?url=https://taobao.com/"},
{ id:31, pId:3, name:"文档",icon:"https://favicon.lucq.fun/?url=https://www.sogou.com/"},
{ id:131, pId:3, name:"文档",icon:"https://favicon.lucq.fun/?url=https://www.sogou.com/"},
{ id:231, pId:3, name:"文档",icon:"https://favicon.lucq.fun/?url=https://www.sogou.com/"},
{ id:331, pId:3, name:"文档",icon:"https://favicon.lucq.fun/?url=https://www.sogou.com/"},
{ id:431, pId:3, name:"文档",icon:"https://favicon.lucq.fun/?url=https://www.sogou.com/"},
{ id:531, pId:3, name:"文档",icon:"https://favicon.lucq.fun/?url=https://www.sogou.com/"},
{ id:631, pId:3, name:"文档",icon:"https://favicon.lucq.fun/?url=https://www.sogou.com/"},
{ id:731, pId:3, name:"文档",icon:"https://favicon.lucq.fun/?url=https://www.sogou.com/"},
{ id:831, pId:3, name:"文档",icon:"https://favicon.lucq.fun/?url=https://www.sogou.com/"},
// { id:1, pId:0, name:"",icon:"https://favicon.lucq.fun/?url=https://www.baidu.com"},
// { id:2, pId:0, name:"",icon:"https://favicon.lucq.fun/?url=https://movie.douban.com/"},
// { id:3, pId:2, name:"",icon:"https://favicon.lucq.fun/?url=https://www.sogou.com/"},
// { id:4, pId:0, name:"",icon:"https://favicon.lucq.fun/?url=https://www.w3school.com.cn/"},
// { id:5, pId:4, name:"",icon:"https://favicon.lucq.fun/?url=https://www.sogou.com/"},
// { id:6, pId:0, name:"",icon:"https://favicon.lucq.fun/?url=https://www.sogou.com/"},
// { id:7, pId:6, name:"",icon:"https://favicon.lucq.fun/?url=https://www.sogou.com/"},
// { id:8, pId:0, name:"",icon:"https://favicon.lucq.fun/?url=https://open.163.com/"},
// { id:9, pId:8, name:"",icon:"https://favicon.lucq.fun/?url=https://www.sogou.com/"},
// { id:1123, pId:0, name:"",icon:"https://favicon.lucq.fun/?url=https://y.qq.com"},
// { id:1142, pId:1, name:"",icon:"https://favicon.lucq.fun/?url=https://www.sogou.com/"},
// { id:111, pId:19, name:"1",icon:"https://favicon.lucq.fun/?url=https://mail.sina.com.cn/"},
// { id:112, pId:111, name:"2",icon:"https://favicon.lucq.fun/?url=https://www.sogou.com/"},
// { id:113, pId:112, name:"3",icon:"https://favicon.lucq.fun/?url=https://www.sogou.com/"},
// { id:114, pId:113, name:"4",icon:"https://favicon.lucq.fun/?url=https://www.sogou.com/"},
// { id:1321, pId:114, name:"",icon:"https://favicon.lucq.fun/?url=https://www.sogou.com/"},
// { id:2322, pId:114, name:"",icon:"https://favicon.lucq.fun/?url=https://www.sogou.com/"},
// { id:3323, pId:114, name:"",icon:"https://favicon.lucq.fun/?url=https://www.sogou.com/"},
// { id:4324, pId:114, name:"",icon:"https://favicon.lucq.fun/?url=https://www.sogou.com/"},
// { id:5325, pId:114, name:"",icon:"https://favicon.lucq.fun/?url=https://www.sogou.com/"},
// { id:6399, pId:114, name:"",icon:"https://favicon.lucq.fun/?url=https://www.sogou.com/"},
// { id:32, pId:399, name:"",icon:"https://favicon.lucq.fun/?url=https://www.sogou.com/"},
// { id:12, pId:1, name:"",icon:"https://favicon.lucq.fun/?url=https://www.google.com/"},
// { id:13, pId:1, name:"稿",icon:"https://favicon.lucq.fun/?url=https://yz.m.sm.cn/"},
// { id:14, pId:1, name:"",icon:"https://favicon.lucq.fun/?url=https://www.sogou.com/"},
// { id:15, pId:1, name:"",icon:"https://favicon.lucq.fun/?url=https://www.sogou.com/"},
// { id:322, pId:11, name:"",icon:"https://favicon.lucq.fun/?url=https://taobao.com/"},
// { id:31, pId:3, name:"",icon:"https://favicon.lucq.fun/?url=https://www.sogou.com/"},
// { id:131, pId:3, name:"",icon:"https://favicon.lucq.fun/?url=https://www.sogou.com/"},
// { id:231, pId:3, name:"",icon:"https://favicon.lucq.fun/?url=https://www.sogou.com/"},
// { id:331, pId:3, name:"",icon:"https://favicon.lucq.fun/?url=https://www.sogou.com/"},
// { id:431, pId:3, name:"",icon:"https://favicon.lucq.fun/?url=https://www.sogou.com/"},
// { id:531, pId:3, name:"",icon:"https://favicon.lucq.fun/?url=https://www.sogou.com/"},
// { id:631, pId:3, name:"",icon:"https://favicon.lucq.fun/?url=https://www.sogou.com/"},
// { id:731, pId:3, name:"",icon:"https://favicon.lucq.fun/?url=https://www.sogou.com/"},
// { id:831, pId:3, name:"",icon:"https://favicon.lucq.fun/?url=https://www.sogou.com/"},
],
bookmark:[
{id:1,title:"最大的骄傲于最大的自卑都表示心灵的最软弱无力。——斯宾诺莎",description:"阅读使人充实,会谈使人敏捷,写作使人精确。——培根",official:"www.baidu.com",time:"2020-10-08",icon:"https://favicon.lucq.fun/?url=https://www.sogou.com/"},
@ -315,7 +315,23 @@
]
}
},
created() {
var that=this;
//
that.getList();
},
methods:{
/** 查询用户的书签菜单Menu */
getList() {
listMenuByUserId().then(response => {
this.zNodes = response.data;
console.log(response.data)
//Ztree
$.fn.zTree.init($("#treeDemo"), this.setting, this.zNodes).expandAll(this.expandAll);
});
},
addDiyDom:function(treeId, treeNode) {
// console.log("ztree:"+treeId.tId+"___treeNode"+treeNode.tId)
@ -414,13 +430,14 @@
},
mounted(){
var that=this;
$.fn.zTree.init($("#treeDemo"), this.setting, this.zNodes).expandAll(that.expandAll);
},
handleCommand(command) {
this.$message('click on item ' + command);
}
},
@ -449,7 +466,8 @@
.ztree.showIcon li a span.button.switch {visibility:visible}
.ztree li a.curSelectedNode {background-color:#D4D4D4;border:0;height:32px;}
.ztree li span {line-height:32px;}
.ztree li span.button {margin-top: -4px;margin-left:3px}
.ztree li span.button {margin-top: -4px;margin-left:3px;width: 21px;height: 21px;}
.ztree li span.button.switch {width: 16px;height: 16px;}
/*.ztree li a.level0 span {font-size: 100%;font-weight: bold}*/

View File

@ -79,15 +79,15 @@
key: {
isParent: "isParent",
children: "children",
name: "name",
name: "menuName",
title: "",
url: "url",
icon: "icon"
icon: "menuIcon"
},
simpleData: {
enable: false,
idKey: "id",
pIdKey: "pId",
idKey: "menuId",
pIdKey: "parentId",
rootPId: null
},
keep: {
@ -1366,7 +1366,7 @@
if (!node.isAjaxing) {
var isParent = data.nodeIsParent(setting, node);
var icon = (isParent && node.iconOpen && node.iconClose) ? (node.open ? node.iconOpen : node.iconClose) : node[setting.data.key.icon];
if (icon) icoStyle.push("background:url(", icon, ") 0 0 no-repeat;");
if (icon) icoStyle.push("background:url(", icon, ") 0 0 no-repeat;background-position:center;background-size:21px 21px;border-radius: 50%;");
if (setting.view.showIcon == false || !tools.apply(setting.view.showIcon, [setting.treeId, node], true)) {
icoStyle.push("display:none;");
}

View File

@ -1,94 +1,129 @@
package com.ruoyi.bookmark.domain;
import com.fasterxml.jackson.annotation.JsonFormat;
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.TreeEntity;
import javax.persistence.Column;
import javax.persistence.Transient;
import java.util.Date;
/**
* 书签菜单对象 sq_menu
*
*
* @author wanghao
* @date 2020-08-06
*/
public class SqMenu extends TreeEntity
public class SqMenu
{
private static final long serialVersionUID = 1L;
/** 书签菜单ID */
@Column(name = "menu_id")
private Long menuId;
/** 归属用户ID */
@Excel(name = "归属用户ID")
@Column(name = "user_id")
private Long userId;
/** 分类名称 */
@Excel(name = "分类名称")
@Column(name = "menu_name")
private String menuName;
/** 菜单url */
@Excel(name = "菜单url")
@Column(name = "menu_url")
private String menuUrl;
/** 菜单图标 */
@Excel(name = "菜单图标")
@Column(name = "menu_order")
private String menuIcon;
/** 菜单顺序 */
@Excel(name = "菜单顺序")
@Column(name = "menu_order")
private Integer menuOrder;
public void setMenuId(Long menuId)
@Column(name = "parent_id")
private Long parentId;
/** 创建时间 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@Column(name = "create_time")
private Date createTime;
public Date getCreateTime() {
return createTime;
}
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
public Long getParentId() {
return parentId;
}
public void setParentId(Long parentId) {
this.parentId = parentId;
}
public void setMenuId(Long menuId)
{
this.menuId = menuId;
}
public Long getMenuId()
public Long getMenuId()
{
return menuId;
}
public void setUserId(Long userId)
public void setUserId(Long userId)
{
this.userId = userId;
}
public Long getUserId()
public Long getUserId()
{
return userId;
}
public void setMenuName(String menuName)
public void setMenuName(String menuName)
{
this.menuName = menuName;
}
public String getMenuName()
public String getMenuName()
{
return menuName;
}
public void setMenuUrl(String menuUrl)
public void setMenuUrl(String menuUrl)
{
this.menuUrl = menuUrl;
}
public String getMenuUrl()
public String getMenuUrl()
{
return menuUrl;
}
public void setMenuIcon(String menuIcon)
public void setMenuIcon(String menuIcon)
{
this.menuIcon = menuIcon;
}
public String getMenuIcon()
public String getMenuIcon()
{
return menuIcon;
}
public void setMenuOrder(Integer menuOrder)
public void setMenuOrder(Integer menuOrder)
{
this.menuOrder = menuOrder;
}
public Integer getMenuOrder()
public Integer getMenuOrder()
{
return menuOrder;
}

View File

@ -2,18 +2,30 @@ package com.ruoyi.bookmark.mapper;
import java.util.List;
import com.ruoyi.bookmark.domain.SqMenu;
import com.ruoyi.common.mybatisMapper.MyMapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
/**
* 书签菜单Mapper接口
*
*
* @author wanghao
* @date 2020-08-06
*/
public interface SqMenuMapper
public interface SqMenuMapper extends MyMapper<SqMenu>
{
/**
* @auther: Wang
* @date: 2020/08/16 20:04
* 功能描述:查询用户的 所有书签菜单
*/
public List<SqMenu> selecByUserID(Long id);
/**
* 查询书签菜单
*
*
* @param menuId 书签菜单ID
* @return 书签菜单
*/
@ -21,7 +33,7 @@ public interface SqMenuMapper
/**
* 查询书签菜单列表
*
*
* @param sqMenu 书签菜单
* @return 书签菜单集合
*/
@ -29,7 +41,7 @@ public interface SqMenuMapper
/**
* 新增书签菜单
*
*
* @param sqMenu 书签菜单
* @return 结果
*/
@ -37,7 +49,7 @@ public interface SqMenuMapper
/**
* 修改书签菜单
*
*
* @param sqMenu 书签菜单
* @return 结果
*/
@ -45,7 +57,7 @@ public interface SqMenuMapper
/**
* 删除书签菜单
*
*
* @param menuId 书签菜单ID
* @return 结果
*/
@ -53,9 +65,11 @@ public interface SqMenuMapper
/**
* 批量删除书签菜单
*
*
* @param menuIds 需要删除的数据ID
* @return 结果
*/
public int deleteSqMenuByIds(Long[] menuIds);
}

View File

@ -5,15 +5,23 @@ import com.ruoyi.bookmark.domain.SqMenu;
/**
* 书签菜单Service接口
*
*
* @author wanghao
* @date 2020-08-06
*/
public interface ISqMenuService
public interface ISqMenuService
{
/**
* @auther: Wang
* @date: 2020/08/16 20:04
* 功能描述:查询用户的 所有书签菜单
*/
public List<SqMenu> selecByUserID(Long id);
/**
* 查询书签菜单
*
*
* @param menuId 书签菜单ID
* @return 书签菜单
*/
@ -21,7 +29,7 @@ public interface ISqMenuService
/**
* 查询书签菜单列表
*
*
* @param sqMenu 书签菜单
* @return 书签菜单集合
*/
@ -29,7 +37,7 @@ public interface ISqMenuService
/**
* 新增书签菜单
*
*
* @param sqMenu 书签菜单
* @return 结果
*/
@ -37,7 +45,7 @@ public interface ISqMenuService
/**
* 修改书签菜单
*
*
* @param sqMenu 书签菜单
* @return 结果
*/
@ -45,7 +53,7 @@ public interface ISqMenuService
/**
* 批量删除书签菜单
*
*
* @param menuIds 需要删除的书签菜单ID
* @return 结果
*/
@ -53,7 +61,7 @@ public interface ISqMenuService
/**
* 删除书签菜单信息
*
*
* @param menuId 书签菜单ID
* @return 结果
*/

View File

@ -10,19 +10,32 @@ import com.ruoyi.bookmark.service.ISqMenuService;
/**
* 书签菜单Service业务层处理
*
*
* @author wanghao
* @date 2020-08-06
*/
@Service
public class SqMenuServiceImpl implements ISqMenuService
public class SqMenuServiceImpl implements ISqMenuService
{
@Autowired
private SqMenuMapper sqMenuMapper;
/**
* @auther: Wang
* @date: 2020/08/16 20:04
* 功能描述:查询用户的 所有书签菜单
*/
@Override
public List<SqMenu> selecByUserID(Long id) {
SqMenu sqMenu=new SqMenu();
sqMenu.setUserId(id);
return sqMenuMapper.selectSqMenuList(sqMenu);
}
/**
* 查询书签菜单
*
*
* @param menuId 书签菜单ID
* @return 书签菜单
*/
@ -34,7 +47,7 @@ public class SqMenuServiceImpl implements ISqMenuService
/**
* 查询书签菜单列表
*
*
* @param sqMenu 书签菜单
* @return 书签菜单
*/
@ -46,7 +59,7 @@ public class SqMenuServiceImpl implements ISqMenuService
/**
* 新增书签菜单
*
*
* @param sqMenu 书签菜单
* @return 结果
*/
@ -59,7 +72,7 @@ public class SqMenuServiceImpl implements ISqMenuService
/**
* 修改书签菜单
*
*
* @param sqMenu 书签菜单
* @return 结果
*/
@ -71,7 +84,7 @@ public class SqMenuServiceImpl implements ISqMenuService
/**
* 批量删除书签菜单
*
*
* @param menuIds 需要删除的书签菜单ID
* @return 结果
*/
@ -83,7 +96,7 @@ public class SqMenuServiceImpl implements ISqMenuService
/**
* 删除书签菜单信息
*
*
* @param menuId 书签菜单ID
* @return 结果
*/

View File

@ -3,7 +3,7 @@
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.bookmark.mapper.SqMenuMapper">
<resultMap type="SqMenu" id="SqMenuResult">
<result property="menuId" column="menu_id" />
<result property="userId" column="user_id" />
@ -21,7 +21,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<select id="selectSqMenuList" parameterType="SqMenu" resultMap="SqMenuResult">
<include refid="selectSqMenuVo"/>
<where>
<where>
<if test="menuId != null "> and menu_id = #{menuId}</if>
<if test="userId != null "> and user_id = #{userId}</if>
<if test="menuName != null and menuName != ''"> and menu_name like concat('%', #{menuName}, '%')</if>
<if test="menuUrl != null and menuUrl != ''"> and menu_url = #{menuUrl}</if>
@ -30,12 +31,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="menuOrder != null "> and menu_order = #{menuOrder}</if>
</where>
</select>
<select id="selectSqMenuById" parameterType="Long" resultMap="SqMenuResult">
<include refid="selectSqMenuVo"/>
where menu_id = #{menuId}
</select>
<insert id="insertSqMenu" parameterType="SqMenu" useGeneratedKeys="true" keyProperty="menuId">
insert into sq_menu
<trim prefix="(" suffix=")" suffixOverrides=",">
@ -77,10 +78,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</delete>
<delete id="deleteSqMenuByIds" parameterType="String">
delete from sq_menu where menu_id in
delete from sq_menu where menu_id in
<foreach item="menuId" collection="array" open="(" separator="," close=")">
#{menuId}
</foreach>
</delete>
</mapper>
</mapper>