手把手开发Admin 系列一(设计篇)

文档:https://docs.arklnk.com

前端:https://github.com/arklnk/ark-admin-vuenext

后端:https://github.com/arklnk/ark-admin-zero

go-zero:https://go-zero.dev/cn

演示: http://arkadmin.si-yee.com

账号密码备注
demo123456演示账号

业务结构

在这里插入图片描述

工作台

工作台可以作为系统常用功能的入口,也可作为数据分析的展示面板,具体实现根据业务而定。

系统管理

菜单管理、角色管理、部门管理、岗位管理、职称管理、用户管理

配置管理

字典管理

日志管理

登录日志

个人中心

个人系列、修改密码

数据表结构

在这里插入图片描述

RBAC模型

用户(sys_user)

角色(sys_role)

权限(sys_perm_menu)

RBAC通过定义角色的权限,并对用户关联某个角色从而获得权限,实现了用户和权限的逻辑分离。ark-admin采用RBAC-1模型,使角色具有上下级的关系,这样上级角色就拥有了下级角色的所有权限,更利于角色权限的管理。

部门

部门(sys_dept)

用户(sys_user)

部门采用了树状结构设计,具有上下级关系。

部门关联用户,一个部门下可以有多个用户,一个用户只属于一个部门,属于一对多的关系。如果当前部门被禁用的话,则当前部门的下的用户无法登录系统。

岗位

岗位(sys_job)

用户(sys_user)

岗位关联用户,一个岗位下可以有多个用户,一个用户只拥有一个岗位,属于一对多的关系。如果当前岗位正在使用的话,则无法直接禁用当前岗位。

职称

职称(sys_profession)

用户(sys_user)

职称关联用户,一个职称下可以有多个用户,一个用户只拥有一个职称,属于一对多的关系。如果当前职称正在使用的话,则无法直接禁用当前职称。

日志

日志(sys_log)

用户(sys_user)

记录用户登录信息

字典

字典(sys_dictionary)

字典采用了树状结构设计,具有上下级关系。顶级数据属于字典集,一个字典集下可以拥有多个配置项。

配置项的类型:1文本 、2数字 、3数组 、4单选 、5多选 、6下拉 、7日期 、8时间 、9单图 、10多图 、11单文件 、12多文件

数据表列表

  • sys_dept表(部门)
字段名称字段类型字段含义
idint(11)编号
parent_idint(11)父级id
namevarchar(50)部门简称
full_namevarchar(50)部门全称
unique_keyvarchar(50)唯一值
typetinyint(1)1=公司 2=子公司 3=部门
statustinyint(1)0=禁用 1=开启
order_numint(11)排序值
remarkvarchar(200)备注
create_timetimestamp创建时间
update_timetimestamp更新时间

  • sys_dictionary表(系统参数)
字段名称字段类型字段含义
idint(11)编号
parent_idint(11)0=配置集 !0=父级id
namevarchar(50)名称
typetinyint(2)1文本 2数字 3数组 4单选 5多选 6下拉 7日期 8时间 9单图 10多图 11单文件 12多文件
unique_keyvarchar(50)唯一值
valuevarchar(2048)配置值
statustinyint(1)0=禁用 1=开启
order_numint(11)排序值
remarkvarchar(200)备注
create_timetimestamp创建时间
update_timetimestamp更新时间

  • sys_job表(工作岗位)
字段名称字段类型字段含义
idint(11)编号
namevarchar(50)岗位名称
statustinyint(1)0=禁用 1=开启
order_numint(11)排序值
create_timetimestamp创建时间
update_timetimestamp开启时间

  • sys_log表(系统日志)
字段名称字段类型字段含义
idint(10)编号
user_idint(11)操作账号
ipvarchar(100)ip
urivarchar(200)请求路径
typetinyint(1)1=登录日志 2=操作日志
requestvarchar(2048)请求数据
statustinyint(1)0=失败 1=成功
create_timetimestamp创建时间
update_timetimestamp更新时间

  • sys_perm_menu表(权限&菜单)
字段名称字段类型字段含义
idint(11)编号
parent_idint(11)父级id
namevarchar(50)名称
routervarchar(200)路由
permsvarchar(200)权限
typetinyint(1)0=目录 1=菜单 2=权限
iconvarchar(50)图标
order_numint(11)排序值
view_pathvarchar(200)页面路径
is_showtinyint(1)0=隐藏 1=显示
active_routervarchar(200)当前激活的菜单
create_timetimestamp创建时间
update_timetimestamp更新时间

  • sys_profession表(职称)
字段名称字段类型字段含义
idint(11)编号
namevarchar(50)职称
statustinyint(1)0=禁用 1=开启
order_numint(11)排序值
create_timetimestamp创建时间
update_timetimestamp更新时间

  • sys_role表(角色)
字段名称字段类型字段含义
idint(10)编号
parent_idint(11)父级id
namevarchar(50)名称
unique_keyvarchar(50)唯一标识
remarkvarchar(200)备注
perm_menu_idsjson权限集
statustinyint(1)0=禁用 1=开启
order_numint(11)排序值
create_timetimestamp创建时间
update_timetimestamp更新时间

  • sys_user表(用户)
字段名称字段类型字段含义
idint(10)编号
accountvarchar(50)账号
passwordchar(32)密码
usernamevarchar(50)姓名
nicknamevarchar(50)昵称
avatarvarchar(400)头像
gendertinyint(1)0=保密 1=女 2=男
emailvarchar(50)邮件
mobilechar(11)手机号
profession_idint(11)职称
job_idint(11)岗位
dept_idint(11)部门
role_idsjson角色集
statustinyint(1)0=禁用 1=开启
order_numint(11)排序值
remarkvarchar(200)备注
create_timetimestamp创建时间
update_timetimestamp更新时间

项目结构

ark-admin
├─app
│  └─core
│      ├─cmd
│      │  └─api
│      │      ├─desc
│      │      ├─etc
│      │      └─internal
│      │          ├─config                  
│      │          ├─handler
│      │          ├─logic
│      │          │  ├─config               
│      │          │  │  └─dict          配置字典
│      │          │  ├─log
│      │          │  │  └─login         登录日志
│      │          │  ├─sys
│      │          │  │  ├─dept          部门管理
│      │          │  │  ├─job           岗位管理
│      │          │  │  ├─menu          权限菜单
│      │          │  │  ├─profession    职称管理
│      │          │  │  ├─role          角色管理
│      │          │  │  └─user          用户管理
│      │          │  └─user             用户模块
│      │          ├─middleware          权限中间件
│      │          ├─svc
│      │          └─types
│      └─model                          model
├─common
│  ├─errorx                             自定义错误
│  ├─response                           自定义响应
│  └─utils                              工具集
├─config                                默认配置
├─data                                  运行数据
├─deploy                                部署时所依赖的配置文件
├─dev
│  ├─goctl                              自定义goctl模板
│  └─script                              
└─logs                                  运行日志
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值