Go语言+Vue3开发前后端后台管理系统实战 用户管理的前端界面和表结构分析

首页:

用户管理界面:

到这一步以后来看一下后端代码的表结构是如何设计的:

后端代码中,使用的操作MySQL的技术是gorm:

bash 复制代码
gorm.io/gorm v1.25.5

其中,用户表的定义位置如下:

此时的完整代码如下:

go 复制代码
package authority

import (
	"server/global"
)

// UserModel 用户表对应的gorm模型
type UserModel struct {
	global.BaseModel
	Username    string `json:"username" gorm:"index;unique;comment:用户名" binding:"required"` // 用户名
	Password    string `json:"-"  gorm:"not null;comment:密码"`
	Phone       string `json:"phone"  gorm:"comment:手机号"`                          // 手机号
	Email       string `json:"email"  gorm:"comment:邮箱" binding:"omitempty,email"` // 邮箱
	Active      bool   `json:"active"`                                             // 是否活跃
	RoleModelID uint   `json:"roleId" gorm:"not null" binding:"required"`          // 角色ID
}

// TableName gorm 实现自定义表名的方式
func (UserModel) TableName() string {
	return "authority_user"
}

这里用到了一个全局通用的基础模型,代码如下:

go 复制代码
// BaseModel gorm 通用基础模型
type BaseModel struct {
	ID        uint           `json:"id" gorm:"primarykey"` // 主键ID
	CreatedAt time.Time      `json:"createdAt"`            // 创建时间
	UpdatedAt time.Time      `json:"updatedAt"`            // 更新时间
	DeletedAt gorm.DeletedAt `json:"-" gorm:"index"`       // 删除时间
}

在数据库中,用户表的数据结构如下:

主要包括:

  • username,用户名
  • password,密码
  • phone,手机号
  • email,邮箱
  • active,是否激活
  • role_model_id,角色ID,用于给用户绑定角色

我们再来看看用户管理功能在前端界面是如何显示的:

界面上哟孤儿新增按钮,通过这个按钮,可以实现新增用户的功能,点击按钮弹出界面如下:

表单结构如下:

点击编辑按钮时,会弹出一个表单,表单如下:

点击修改密码时会弹出一个表单,表单结构如下:

不过很明显,我们并不能直接一上来就做用户管理相关的功能,因为在新增用户的时候有一个表单,这个表单里面关于角色是通过下拉框选择的,必须要先有角色,才能有用户。所以我们需要先把角色管理的功能做好。

下个文章我们分析角色管理是如何实现的。

如果您要本套管理系统的完整代码或者视频课程,可以留言哦。

相关推荐
独隅1 分钟前
Claude 高效使用指南深度评测
java·开发语言·claude·claude code
Agent世界2 分钟前
千问Go上线我的应用:一句话生成可部署 AI 软件的技术拆解
开发语言·人工智能·golang·ai智能体
布莱克6053 分钟前
C++ 中 unordered_set 与 unordered_map 有什么不同?一篇讲透
开发语言·c++·哈希
知了清语7 分钟前
SVG 缩放预览:F12 无法定位子元素 & 放大模糊
前端
AN8 分钟前
一个人,带着一群 AI:一个 10 年前端如何做出几十个团队在用的在线文档
前端
ByteCoder.8 分钟前
班前十分钟的清单,按体检引导单来写
java·服务器·前端·助播虾
外收内放13 分钟前
FastAPI猜字谜实战(6):日志与异常
开发语言·python·学习·fastapi
垆边人似月.17 分钟前
预处理与参数调优(让识别率从“能看”到“可用”)
开发语言·python·自然语言处理
小大宇18 分钟前
vue知识点9-标签上的ref
前端·javascript·vue.js
艺杯羹19 分钟前
告别大模型滥用与延迟失控:确定性优先法则与本地规则引擎实战
前端·人工智能·系统架构