当前位置: 首页 > news >正文

手把手开发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(部门)

  • sys_dictionary(系统参数)

  • sys_job(工作岗位)

  • sys_log(系统日志)

  • sys_perm_menu(权限&菜单)

  • sys_profession(职称)

  • sys_role(角色)

  • sys_user(用户)

  • 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                                  运行日志

相关文章:

  • java计算机毕业设计西安财经大学校园一卡通管理系统源码+系统+数据库+lw文档+mybatis+运行部署
  • 丁鹿学堂前端培训:前端性能优化css篇(一)
  • MASA Stack 第四期社区例会
  • 钓鱼 - deb 包篡改
  • Jackson关于Western Blot、IHC 和 ELISA 的显色检测分析
  • ES7+知识点整理使用
  • 一零二五、hexo : 无法加载文件 C:\Users\Tuomasi\AppData\Roaming\npm\hexo.ps1,因为在此系统上禁止运行脚本。
  • Android androidStudio构建项目过程中问题解决方案(持续更新)
  • windows10 使用 postgreSQL
  • NeuN抗体丨SYSY NeuN抗体说明书及相关研究工具
  • java 远程调用 httpclient 调用https接口
  • Jackson 化学发光免疫印迹解决方案
  • GPM 模型剖析【Golang】
  • 将 JavaScript 源文件的全部内容包装在立即调用的函数中的原因是什么?
  • #pragma pack(1)
  • 【css3】浏览器内核及其兼容性
  • Android路由框架AnnoRouter:使用Java接口来定义路由跳转
  • EOS是什么
  • GitUp, 你不可错过的秀外慧中的git工具
  • Invalidate和postInvalidate的区别
  • Linux快速复制或删除大量小文件
  • SpiderData 2019年2月13日 DApp数据排行榜
  • Vue.js源码(2):初探List Rendering
  • win10下安装mysql5.7
  • 深入浏览器事件循环的本质
  • RDS-Mysql 物理备份恢复到本地数据库上
  • ​云纳万物 · 数皆有言|2021 七牛云战略发布会启幕,邀您赴约
  • #免费 苹果M系芯片Macbook电脑MacOS使用Bash脚本写入(读写)NTFS硬盘教程
  • (13)Hive调优——动态分区导致的小文件问题
  • (编译到47%失败)to be deleted
  • (二)正点原子I.MX6ULL u-boot移植
  • (附源码)php投票系统 毕业设计 121500
  • (附源码)springboot 房产中介系统 毕业设计 312341
  • (入门自用)--C++--抽象类--多态原理--虚表--1020
  • (十五)Flask覆写wsgi_app函数实现自定义中间件
  • (转) Face-Resources
  • (转)jQuery 基础
  • ***php进行支付宝开发中return_url和notify_url的区别分析
  • .apk文件,IIS不支持下载解决
  • .net core 控制台应用程序读取配置文件app.config
  • .NET Entity FrameWork 总结 ,在项目中用处个人感觉不大。适合初级用用,不涉及到与数据库通信。
  • .net on S60 ---- Net60 1.1发布 支持VS2008以及新的特性
  • .net 开发怎么实现前后端分离_前后端分离:分离式开发和一体式发布
  • .NET 使用 JustAssembly 比较两个不同版本程序集的 API 变化
  • .Net(C#)自定义WinForm控件之小结篇
  • .NET/C# 的字符串暂存池
  • .NET/C# 解压 Zip 文件时出现异常:System.IO.InvalidDataException: 找不到中央目录结尾记录。
  • .net反混淆脱壳工具de4dot的使用
  • .NET开源快速、强大、免费的电子表格组件
  • @SuppressWarnings(unchecked)代码的作用
  • @zabbix数据库历史与趋势数据占用优化(mysql存储查询)
  • [].slice.call()将类数组转化为真正的数组
  • [8481302]博弈论 斯坦福game theory stanford week 1
  • [BROADCASTING]tensor的扩散机制
  • [BUG] Authentication Error