# 后台管理系统 **Repository Path**: aseyun/jr-backend ## Basic Information - **Project Name**: 后台管理系统 - **Description**: ASEYUN 后台管理系统 - **Primary Language**: JavaScript - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 1 - **Created**: 2024-05-11 - **Last Updated**: 2025-10-08 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## 介绍 ``` 本项目的前端是在avue 、avue-cli基础上开发的,后端是java. avue地址:https://avuejs.com/ avue-cli地址:https://gitee.com/smallweigit/avue-cli 基于 vue3.x + vite + element plus+vant + vue-router + vuex,适配手机、平板、pc 的后台管理系统 ``` ``` 演示地址: http://end.aseyun.com 账号: jradmin/111111 gitee: https://gitee.com/aseyun/jr-backend 本人前端能力有限,前端高手有兴趣的,可以关注、联系我,将其开源。 前端为支持多项目将核心代码拆成多个核心包,方便以后升级 https://gitee.com/aseyun/framework-ui-core.git https://gitee.com/aseyun/framework-ui-code.git https://gitee.com/aseyun/avue-design.git https://gitee.com/aseyun/framework-ui-admin.git ``` ![img](https://gitee.com/aseyun/pic/raw/master/a5.png)系统菜单 ![img](https://gitee.com/aseyun/pic/raw/master/a2.png))开发菜单 ![img](https://gitee.com/aseyun/pic/raw/master/a1.png))表单设计 ![img](https://gitee.com/aseyun/pic/raw/master/a3.png)表单PC端预览 ![img](https://gitee.com/aseyun/pic/raw/master/a8.png)移动端预览 ![img](https://gitee.com/aseyun/pic/raw/master/a4.png)表单通用打印预览 ![img](https://gitee.com/aseyun/pic/raw/master/a9.png)查询统计配置 ![img](https://gitee.com/aseyun/pic/raw/master/a6.png) 查询统计预览页 ![img](https://gitee.com/aseyun/pic/raw/master/a7.png)移动端首页 ## 相关组件 ### 1第三方登陆 ​ 新增第三方认证需要处理的事情 1.前端配置图标和code ;2后端表新增与code 相同的字段 和配置相关key、密钥 支持SSO单点认证,有单独的认证服务。 ``` #第三方登录 jr.auths.list[0].name = gitee jr.auths.list[0].clientId = 1111 jr.auths.list[0].clientSecret = 2222 ``` TODO 列表:1.支持人脸或者设置图片登陆 目前向量数据库使用的是:weaviate;没有人脸和AI需求可以不用 ### 2.文件上传 ​ 支持本地和通用文件上传协议:amazonaws,支持绝大多数云厂商比如阿里、百度、腾讯、天翼云、移动云。。。。。 ``` file.bucketName=aseyunfile file.oss.enable=true file.oss.region=cn-south-1 file.oss.endpoint= file.oss.access-key= file.oss.secret-key= file.oss.bucket= file.oss.domain= ``` 没有云的也可以使用本地文件服务 ``` file.local.enable=true file.local.base-path=E://Download/files file.local.domain=http://localhost:8080 file.local.route=resfile ``` 关于大文件超时问题: 1:可以配置超时时间,默认60秒, 2:导入、导出、上传等支持消息提醒 。 3:文件管理中可以查询到历史数据 4:后期支持异步上传 云视频目前支持阿里和七牛; TODO 列表:1.后续支持本地fastdfs、2.异步上传 ### 3.消息 目前暂时支持钉钉、站内信、邮件等 支持以注解方式发送消息、比如接口加上注解可以将执行时间超管ajax请求时间的,发送站内信。 TODO 列表:支持微信等 ### 4.支持移动端 管理功支持移动端展现,可以卡片形式展现列表 新增修改详情页面支持移动端,使用avue 开发的不用额外开发处理即可支持移动端【移动端会自动加载vant组件,PC端加载的是element、avue组件】 表单支持移动端同上 移动端组织渲染方式有3中:1.后端兼容模式 ;2 苹果模式 3 app 模式 TODO 列表:移动端配套的组件开发 ### 5.支持AI 系统目前主要用到AI的有3各方面 1.支持本地知识库,进行AI助手回复 2.支持表单与AI的结合,根据AI口令生成表单 3.支持AI数据查询,通过中文描述查询数据(目前不完善,只能做很简单的) 支持 deep seek 等模型,本地化部署(ollmam+deep seek7b,CPU+32G内存推理的比较慢,建议部署1.5b的,部署时有个坑ollama 版本过低又更新不了 ,直接部署deep seek 后出现没有回复的现象,安装最新的即可) TODO 列表:支持语音、支持表单修改、支持表单知识库、通过配置相关信息查询复杂业务,根据前端业务指定对应的大模型 ### 6.特点 1. 前、后端高度抽象,普通逻辑-特别是单表直接可用,代码很少,主要是数据对象;增删查改、导入导出都是通用的后端仅仅是空类、前端权限等也是通用的。前后端有特需要修改的,前后端都有方法拦截,可在拦截中处理。还不能满足的可以全新类方法覆盖,但是不建议如此。高度抽象就是为了解决标准化,代码风格统一,后期新增通用功能也十分的便利。 2. 前端框架做了分层,core,code,admin; 项目上使用:git submodule add xxxx xxx 后期多个项目可以统一升级,很方便。 3. 各种快速开发的注解 ,接口权限注解 、 字典注解、忽略租户注解、租户权限注解、 通知注解、防止重复提交注解、缓存注解、脱敏注解;本地日志同步---高并发日志处理;任务分解组件;前端常用的组件 4. chatgpt 支持多种大语言模型,百度,文心一言、讯飞、OPEN AI、ollama(llama3、qwen)、支持私有知识库 ## 一 系统管理 ### 1.1 租户管理 #### 1.1.1 支持配置表是否按租户分表 按照租户分表 , 配置如下: ``` jr.tenant.shardingTables=sys_oper_record ``` 创建租户时会自动生成分表 #### 1.1.2 支持配置表数据是否按租户隔离 ​ 所有表数据默认是租户隔离的 ``` # 是否启用租户隔离 jr.tenant.enable=true # 租户隔离设置方式 白名单,黑名单。默认黑名单 jr.tenant.white=false # 设置租户默认的管理员角色 jr.tenant.adminRole=TenantAdmin # 黑名单时,哪些不需要区分租户的,可以使用表达式比如,act_(.*) jr.tenant.tables=sys_dictionary ``` #### 1.1.3 支持配置表数据隔离后可以公用默认租户的数据 ​ 比如菜单表,可以共有默认租户的菜单,也可以有自己私有菜单。而且共有数据设置为私有不可见的,其他租户则看不到。如果业务上有类似需求的,可以参考角色和菜单的配置,对业务表有要求,必须有tenantId和manage 字段。 ``` # 需要共享的租户 jr.tenant.pub-tenant-id= 0 # 需要共享的表 jr.tenant.pub-tables=sys_role,sys_role_menu,sys_menu,q_type # 如果共享的表数据中有不希望其他租户看到的可以配置这个,但是这些表必须有 manage 字段,并设置成1 jr.tenant.manage-tables=sys_role,sys_menu ``` #### 1.1.4 支持租户二级域名 目前支持根据域名获取租户 ​ TODO 列表: ​ 支持租户字段登录时不用选择租户; ​ 支持根据域名显示个性化首页; ### 1.2 用户管理 ​ 包含用户基本信息,第三方登录信息。用户是不区分租户的;用户与租户关联信息是区分租户的 ### 1.3 角色管理 ​ 角色默认是区分租户的,但是其他租户默认可以共享运营租户的角色。如果运营租户不希望共享某一角色可以在此角色数据的的manage 设置成1;如果不希望共享运营租户的角色,可以配置完全租户隔离。业务上有类似需求的可以参考这个进行配置 ### 1.4部门管理 ​ 部门是区分租户的,没有共享运营租部门的角色 ### 1.5 菜单管理 ​ 菜单时默认区分租户的,包含菜单和接口 ​ 接口是自动生成的,菜单需要自己创建或者执行代码生成器生成的SQL ​ 可以设置共有(未登陆时显示的菜单),私有(登陆时显示的菜单); ​ 可以设置是否需要登陆、是否移动端显示、支持不同应用菜单,支持移动端样式设置(app 模式、后端兼容模式、苹果模式) ### 1.6 字典管理 ​ 默认是不区分租户的 ​ 前端vue 可以直接通过this.$initOptionDict获取相关字典,在avue 中配置dicCode='sex' ​ java 中@DicAnnotation(value = "fbzt" ) 注解实现导入导出的字典数据的转化 ​ 与字典不同的是,第三方数据字典 sys_dic3,通过开发人员配置相关信息可以采集其他表数据形成字典。由于第三方数据量不可用预估,前端只能调用通用api获取数据 TODO 列表: ​ 第三方数据字典配置页面 ​ 第三方数据字典前端渲染组件 ​ ### 1.7 文件管理 ​ 按照目前只是按照用户显示文件; ​ 文件包含:导入出错的文件;导出的文件;上传的图片; ​ 如果导入、导出的文件很大建议设置成异步导入、导出,完成后会通过站内信发送消息查看结果和下载文档,也可以在文件管理查看结果文档。 ​ ### 1.8 参数管理 ​ 配置系统全局参数。目前只是在表单中使用 ​ TODO 列表: 全局logo,标题,版权设置 ### 1.9 静态图片 ​ 上传图片后可以根据key 访问图片 ### 1.10 消息通知 ​ 发送消息、通知 ​ 消息:有已读未读 ​ 通知:没有已读未读 ​ 强制提醒:登录或刷新时,通知只要在时间范围类或者消息未读,都会以弹框形式提醒。 ​ TODO 列表:前端选择机构、角色、人员未完成 ​ ## 二 开发管理 ### 2.1 数据源 ​ 多种数据源目前仅支持mysql、Oracle ​ TODO 列表: ​ 支持sql server、mongodb 、oceanbase ### 2.2 代码生成 ​ 1.离线生成前、后端、sql .简单需求直接可以运行 ​ 2.表设计时约定备注含有@dic: 的可以生成字典显示。比如 性别@dic:sex 则可以前后端生成字典 3.在线生成&可在线运行代码 ​ TODO 列表: ​ 1.在线生成代码,本地运行 ​ ​ ### 2.3 查询设计器 ​ 1.根据视图或表配置生成查询页或统计页。统计页可以形成折线图和表格,表格具有下钻功能,并支持移动端渲染 2.表或单表视图可以生成增删改功能,并且支持移动端 ​ 3.权限优化 ​ 列表: ​ ​ 4.报表大屏 大屏设计: ![输入图片说明](public/img/cfc4fb34-5f21-4dd6-b36d-d3517b967830.png) ​ 大屏预览: ![输入图片说明](public/img/43bf72b7-245a-4830-8039-7f1ec6550fb9.png) ### 2.4 表单模型 ​ 根据表单设计器渲染表单、子表; ​ 支持配置数据字典,第三方数据,全局参数、登陆相关信息、接口等; ​ 支持多数据源; ​ 支持有表或者无表2中模式:有表,已经存在业务表了,只是渲染显示或者新增更新表单;无表:根据设计器生成对应的数据库表和渲染显示或者新增更新表; ​ 支持表单共享或者私有模式:共享:设计出来的表单所有租户都可以使用;私有:设计出来的表单只能改租户使用; ​ 支持打印doc文档和简单模式打印 支持表格、子表单 ​ TODO 列表: ​ 1.级联功能优化 ​ 2.新增模板、组件 ​ 3.支持首页【PC,移动端】设计配置 ​ 4.支持AI ​ 目前已有组件: | 组件 | 应用 | 特殊属性 | | -------------- | ---- | ------------------------------------------- | | 文本框 | | 可选择登录人相关属性,比如id,显示名、手号等 | | 密码框 | | | | 多行文本 | | | | 富文本 | | | | 计数器 | | | | 计算公式 | | 支持数字计算、时间差计算,时间计算 | | 单选 | | | | 多选 | | | | 下拉选择器 | | | | 级联选择器 | | | | 树形选择器 | | | | 表格选择器 | | | | 年、月、周 | | | | 日期 | | | | 时间 | | | | 日期时间 | | | | 日期范围 | | | | 时间范围 | | | | 日期时间范围 | | | | 子表单 | | | | 表格、分组 | | | | 评价 | | | | 滑块 | | | | 评价 | | | | 颜色选择器 | | | | 图标选择器 | | | | 开关 | | | | 地图选择 | | 高德地图 | | 上传 | | | | 说明文字 | | | | 轮播图 | | | | 二维码 | | | | 时间轴 | | | | HTML | | | | 内嵌WEB | | | | 签名 | | | | 预约 | | 待完善 | | 机构选择 | | | | 角色选择 | | | | 用户选择 | | | | 省、市、区选择 | | | ​ ### 2.5 .流程管理 ​ 支持多数据源,将业务数据库和流程数据库分离; ​ 支持钉钉模式的设计器 ​ TODO 列表: ​ 1. 同意、拒接、退回委派等 ​ 1.全局监听 ​ 2.二开配置 ​ 3.对接其他类型的消息 ## 三 任务中心 ### 3.1. 我的应用 ### 3.2. 我的代办 ### 3.3. 我的申请 ### 3.4. 我的参与 ### 3.5. 我的抄送 ## 四 开发注意事项 ``` ## 开发#数据字典的使用 #使用this.$dictObject.sex; ``` ## 五 相关应用 ### 5.1. 套红文件 ![img](https://gitee.com/aseyun/pic/raw/master/a10.png)套红文件 ### 5.2. 任务分配 ![img](https://gitee.com/aseyun/pic/raw/master/a11.png)套红文件 ### 5.3. 证书管理 ![img](https://gitee.com/aseyun/pic/raw/master/a12.png)创建证书 ![img](https://gitee.com/aseyun/pic/raw/master/a13.png)设计证书 ![img](https://gitee.com/aseyun/pic/raw/master/a14.png)证书管理 ![img](https://gitee.com/aseyun/pic/raw/master/a15.png)证书预览