11. 开发用户管理功能

815 字约 2 分钟读完1171 次阅读更新于 2026/5/3

SQL

CREATE TABLE `user` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'ID',
  `username` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '账号',
  `password` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '密码',
  `name` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '名称',
  `avatar` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '头像',
  `role` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '角色',
  PRIMARY KEY (`id`) USING BTREE,
  UNIQUE KEY `username` (`username`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci ROW_FORMAT=DYNAMIC COMMENT='用户信息';

后端开发

完全 copy 管理员模块即可,注意把 admin 改成 user

前端页面

完全 copy 管理员 Admin.vue 即可

注意添加路由和菜单

普通用户登录

普通用户查询自己的电影评论

普通用户查询的 sql,在前端传过去自己的 userId

select comment.*, film.name as filmName, user.name as userName from comment left join film on comment.film_id = film.id left join user on comment.user_id = user.id **WHERE comment.user_id = ? **order by comment.id desc LIMIT ?

管理员查询的 sql,没有 userId 的查询条件

select comment.*, film.name as filmName, user.name as userName from comment left join film on comment.film_id = film.id left join user on comment.user_id = user.id order by comment.id desc LIMIT ?

个人信息页面

修改密码