gitee地址
jqp-admin
介绍
基于百度amis,springboot2.6,magic-api开发的一套低代码后台管理平台,从建表开始,配置页面,表单,复杂的关联关系,实现了功能权限,数据权限,工作流,sass运营商模式,其中大部分页面(90%以上)都是通过配置出来的
软件架构
软件架构说明
安装教程
- mysql5.8,数据库备份文件在db/20220308172121.nb3,可以通过Navicat复制到数据库备份目录,直接还原备份
- jdk8
- maven
- 使用idea开发的
演示
- http://jqp.hyz792901324.com/
- 账号密码admin,1
统一说明
- table_name为表名 比如dic_item
- model为实体名字会自动进行驼峰转换,比如dic_item会转换为 DicItem,反过来也可以
使用说明
系统启动后,管理员账号密码为 admin,1
更新/保存
/admin/common/{formCode}/saveOrUpdate
删除
/admin/common/{model}/delete/{id}
查询关联id
/admin/common/{model}/getRelationIds/{mainField}/{relationField}/{id}
查询关联id,且携带企业id,企业id值为当前登录人的企业id
/admin/common/{model}/getRelationIdsForEnterprise/{mainField}/{relationField}/{id}
重新保存关联关系,这个场景是有限列表里面勾选的,比如下拉树多选的情况,比如岗位菜单,会删除原数据,重新保存
/admin/common/{model}/reSaveRelation/{mainField}/{relationField}
重新保存关联关系,携带企业id
/admin/common/{model}/reSaveRelationForEnterprise/{mainField}/{relationField}
增加关联关系
/admin/common/{model}/addRelation/{mainField}/{relationField}
默认表单initApi接口,获取数据,如果表单配置了初始化sql,会自动携带数据
/admin/common/{formCode}/get
查询数据字典接口
/options/{dicCode}
页面访问页面
/crud/{pageCode}
一对多左右布局的访问页面,关联关系只能是parentId
/oneToMany/{pageCode}/{childPageCode}
按钮配置
- 弹出表单,配置值为表单编号
- 弹出iframe,配置值为页面url
- 弹出页面,配置值为 页面编号,关联字段
- 弹出ajax请求,配置值为url,前面可以加 post:url 会携带requestBody当前表单全部参数 或者get:url
日志页面
/admin/operationLog/page/{model}/{id}
流程审核配置 ajax请求
- /admin/process/{code}/{nodeCode}/{auditResult}/{id}
- code为流程编号
- nodeCode为流程节点编号
- auditResult为是否审核通过,pass为通过,back为打回
- 配置流程审核表单可以通过复制的方式,审核记录也是
菜单初始化按钮
- 会自动初始化这个页面下面的关联按钮
- 会自动查找页面按钮,表单按钮,表单关联页面按钮
- 会自动初始化菜单,按钮对应的url请求
页面查询可以携带变量参数
- $userId 用户id
- $enterpriseId 企业id
- $deptId 部门id
- $service 为templateService,里面有树转换接口,和数据权限接口
rbac 人员组织设计说明
- 菜单 sys_menu
- 用户 user 用户,用户分为普通用户和管理员,管理员可以拥有全部企业,全部企业菜单功能
- 企业 enterprise
- 企业管理员 enterprise_manager 企业管理员拥有此企业下全部菜单功能
- 企业菜单 enterprise_menu
- 岗位 position,岗位分固定岗位和自定义岗位,岗位编码全局唯一,岗位配置菜单是配置当前所在企业的菜单
- 企业岗位菜单 position_menu
- 企业人员 ,enterprise_user,创建企业用户会自动创建user表和enterprise_user关联,也可以关联其他企业用户
- 企业人员岗位 enterprise_user_position
- 权限定义 permission,字典为selfOrAll 的是自己/全部,字典为dept为部门级别数据权限
- position_permission 岗位数据权限
- dept_permission 部门数据权限
- 用户菜单逻辑,管理员取企业全部菜单,包含系统管理员和企业管理员
- 关联关系,用户->用户岗位->用户岗位菜单
- 数据权限,用户所在部门的数据权限和用户拥有全部岗位的数据权限和用户数据权限进行合并,取并集,最大范围
- 数据权限使用,在页面配置的查询sql里面 增加$service.permission('{code}','{field}') code为权限编码,field为当前查询对应的权限字段
- magicApi是表单前后置逻辑,返回字符串表示失败,返回null表示成功,最主要的写业务逻辑的地方,注意不要使用数据库增删改不要用magicApi内置的db接口,这样会导致无法记录字段日志
关联字段
关联字段为destField=${srcId},将srcId的值以destField名称传入此页面,多个用&隔开