Web 构建主菜单页面

本文介绍了如何在Spring Boot + Vue项目中快速构建主菜单页面,通过Python脚本自动生成目录和.vue组件,MySQL存储菜单数据,Spring Boot接口提供数据。同时讲解了前端vue组件的绑定和配置,包括element-UI和Font Awesome的使用,以及最终展示的效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我们在spring boot + vue前后端分离项目 的开发前期,总会遇到主菜单页面的构建问题,如果子菜单一个一个创建,显然速度又慢,代码复用性又差。

本文作为一个开发笔记,帮助开发者缩短在此过程中消耗的时间。
此笔记会用到

Python:快速创建相应目录,并创建对应.vue组件。(用到了mysql.connector第三方库)
MySQL:用于存储菜单数据,方便后期修改菜单数据。(截图演示时用的navicat)
Spring Boot:写出接口,从MySQL取出菜单数据并发给前端。(用到了mybatis-plus)
vue:绑定每一个子菜单对应的.vue组件。(用到了element-UIFont Awesome)

创建MySQL数据库表

这个表并不只是作为演示用,后面的配置会完全按照此表作为基准。

DROP TABLE IF EXISTS `menu`;
CREATE TABLE `menu` (
  `id` int NOT NULL AUTO_INCREMENT COMMENT '主键',
  `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '菜单名称',
  `path` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '菜单url',
  `icon` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '菜单图标',
  `parent_id` int DEFAULT NULL COMMENT '父菜单id',
  PRIMARY KEY (`id`),
  KEY `parent_id` (`parent_id`),
  CONSTRAINT `menu_ibfk_1` FOREIGN KEY (`parent_id`) REFERENCES `menu` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=65 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

-- ----------------------------
-- Records of menu
-- ----------------------------
INSERT INTO `menu` VALUES ('1', '员工管理', '/home', 'fa fa-address-card-o', null);
INSERT INTO `menu` VALUES ('2', '人事管理', '/home', 'fa fa-users', null);
INSERT INTO `menu` VALUES ('3', '薪资管理', '/home', 'fa fa-money', null);
INSERT INTO `menu` VALUES ('4', '统计管理', '/home', 'fa fa-bar-chart', null);
INSERT INTO `menu` VALUES ('5', '系统管理', '/home', 'fa fa-cogs', null);
INSERT INTO `menu` VALUES ('6', '客户管理', '/home', 'fa fa-address-book-o', null);
INSERT INTO `menu` VALUES ('7', '产品管理', '/home', 'fa fa-cube', null);
INSERT INTO `menu` VALUES ('8', '营销管理', '/home', 'fa fa-line-chart', null);
INSERT INTO `menu` VALUES ('9', '财务管理', '/home', 'fa fa-file-text', null);
INSERT INTO `menu` VALUES ('10', '物流管理', '/home', 'fa fa-map-marker', null);
INSERT INTO `menu` VALUES ('11', '客户订单', '/customer/order', 'fa fa-file-text-o', '6');
INSERT INTO `menu` VALUES ('12', '客户投诉', '/customer/complaint', 'fa fa-commenting-o', '6');
INSERT INTO `menu` VALUES ('13', '库存管理', '/product/inventory', 'fa fa-archive', '7');
INSERT INTO `menu` VALUES ('14', '采购管理', '/product/purchase', 'fa fa-shopping-cart', '7');
INSERT INTO `menu` VALUES ('15', '销售管理', '/product/sales', 'fa fa-shopping-bag', '7');
INSERT INTO `menu` VALUES ('16', '市场调研', '/marketing/research', 'fa fa-line-chart', '8');
INSERT INTO `menu` VALUES ('17', '广告宣传', '/marketing/advertising', 'fa fa-bullhorn', '8');
INSERT INTO `menu` VALUES ('18', '促销活动', '/marketing/promotion', 'fa fa-gift', '8');
INSERT INTO `menu` VALUES ('19', '财务报表', '/finance/report', 'fa fa-file-text', '9');
INSERT INTO `menu` VALUES ('20', '账户管理', '/finance/account', 'fa fa-credit-card', '9');
INSERT INTO `menu` VALUES ('21', '收支管理', '/finance/payment', 'fa fa-money', '9');
INSERT INTO `menu` VALUES ('22', '物流跟踪', '/logistics/track', 'fa fa-map-marker', '10');
INSERT INTO `menu` VALUES ('23', '仓库管理', '/logistics/warehouse', 'fa fa-building-o', '10');
INSERT INTO `menu` VALUES ('24',<
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值