carole-admin代码生成使用教程carole-admin代码生成的使用,一键生成菜单目录权限,后端crud接口以
代码生成的使用
前置准备
-- 建表
CREATE TABLE `test_user` (
`id` int unsigned NOT NULL AUTO_INCREMENT COMMENT 'id',
`username` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '用户账号',
`password` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '密码',
`nickname` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '昵称',
`avatar` varchar(400) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '头像',
`status` char(1) COLLATE utf8mb4_general_ci NOT NULL DEFAULT '1' COMMENT '状态(0禁用,1正常)',
`create_time` varchar(25) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '注册时间',
`update_time` varchar(25) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '修改时间',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='测试用户表';
-- 插入数据
INSERT INTO `test_user` (`id`, `username`, `password`, `nickname`, `avatar`, `status`, `create_time`, `update_time`) VALUES (1, 'Steve', 'U4GC3q7QRo', 'Liao Wai Lam', NULL, '1', '2022-12-15 08:24:00', '2001-02-06');
INSERT INTO `test_user` (`id`, `username`, `password`, `nickname`, `avatar`, `status`, `create_time`, `update_time`) VALUES (2, 'Sarah', '1oQl45QK1b', 'Kwong Tin Lok', NULL, '0', '2020-08-02 06:48:56', '2024-02-02');
INSERT INTO `test_user` (`id`, `username`, `password`, `nickname`, `avatar`, `status`, `create_time`, `update_time`) VALUES (3, 'Jose', 'JvVL0dC243', 'Tong Ka Ming', NULL, '1', '2007-10-03 09:13:04', '2009-08-16');
INSERT INTO `test_user` (`id`, `username`, `password`, `nickname`, `avatar`, `status`, `create_time`, `update_time`) VALUES (4, 'Matthew', 'qAEgP7NxFY', 'Kwok Ka Keung', NULL, '0', '2012-04-07 15:29:30', '2021-02-25');
INSERT INTO `test_user` (`id`, `username`, `password`, `nickname`, `avatar`, `status`, `create_time`, `update_time`) VALUES (5, 'Ronald', '2qME1z0UhZ', 'Choi Tsz Ching', NULL, '1', '2006-04-08 01:21:21', '2010-01-29');
INSERT INTO `test_user` (`id`, `username`, `password`, `nickname`, `avatar`, `status`, `create_time`, `update_time`) VALUES (6, 'Ellen', 'FRuTzGFgWj', 'Yip Sze Yu', NULL, '1', '2012-04-21 17:20:16', '2003-12-24');
INSERT INTO `test_user` (`id`, `username`, `password`, `nickname`, `avatar`, `status`, `create_time`, `update_time`) VALUES (7, 'Shirley', 'pouCHlM5jm', 'Yue Kar Yan', NULL, '1', '2011-03-13 21:45:26', '2003-12-02');
导入表
- 登录系统,进入系统工具-代码生成,点击导入,勾选需要生成的表,点击确定。
字典添加
这里我们用户有两种状态(禁用,正常),咋们可以使用字典进行管理,后期进行添加修改比较方便,比如再添加一个状态为封禁。
-
添加字典类型
-
点击字典类型,为此类型添加数据
按需修改生成配置
这里按照自己的需求设置即可,用户状态选择单选或者下拉,字典类型选择刚才新建的那个。
注意
系统中已经有 system/user了,所以我们可以把业务名改为user1,或者把子系统名改一下,不然接口url路径会冲突
生成的菜单信息name使用了业务名,请确保不要重复,系统默认有一个user了,我们可以修改业务名,或者继续执行,生成代码,执行菜单创建sql,然后在菜单管理里修改一下。
如果在菜单管理里面修改
添加菜单和权限
如果你已经有此表对应的菜单,不需要再执行
- 点击代码预览,sql,复制代码
-
执行sql
生成prisma模型
如果你已经有这表的模型了,可以不用生成
- 点击server目录下的
驼峰生成prisma的model.bat
-
生成完毕后,会在prisma里生成一个文件,introspected.prisma,我们可以自己改名移动到schema里面,或者把model复制粘贴到schema里面的某个文件中(记得删除文件),这里我就改为test移动到schema里面。
下载&导入代码
- 下载代码
- 解压得到,node就是后端的代码,vue前端代码
导入后端代码
如果您使用了eslint,请格式化代码
如果你生成时没有用默认的admin模块,请确保已存在你填写的模块,没有的话:执行
nest g mo 模块名
生成模块
进入node目录, 复制整个模块目录
使用资源管理器,打开项目目录的server/src目录,把刚才复制的代码粘贴进去
在代码生成的模块中,注册service和controller
注意
系统中默认有个UserService了,如果生成的代码重复的话,会产生冲突,我们可以手动改下类名
导入前端代码
进入下载的代码里面的vue目录,复制全部
资源管理器打开管理前台的src目录,直接粘贴即可
查看效果
刷新后台,点击菜单
测试修改:
有什么问题可以留言哦!
转载自:https://juejin.cn/post/7385743189636808719