|
@ -8,95 +8,94 @@ |
|
|
<a href="https://gitee.com/y_project/RuoYi"><img src="https://img.shields.io/badge/RuoYi-v4.7.9-brightgreen.svg"></a> |
|
|
<a href="https://gitee.com/y_project/RuoYi"><img src="https://img.shields.io/badge/RuoYi-v4.7.9-brightgreen.svg"></a> |
|
|
<a href="https://gitee.com/y_project/RuoYi/blob/master/LICENSE"><img src="https://img.shields.io/github/license/mashape/apistatus.svg"></a> |
|
|
<a href="https://gitee.com/y_project/RuoYi/blob/master/LICENSE"><img src="https://img.shields.io/github/license/mashape/apistatus.svg"></a> |
|
|
</p> |
|
|
</p> |
|
|
|
|
|
#技术方案 |
|
|
|
|
|
|
|
|
## 平台简介 |
|
|
##方案介绍 |
|
|
|
|
|
轻量级独立的打印服务,用于打印集中管理,远程打印服务,提供远程接口访问,打印任务下发,打印日志,打印方案配置,模版管理,是否用户鉴权(IP校验、客户端ID)的能力 |
|
|
|
|
|
|
|
|
一直想做一款后台管理系统,看了很多优秀的开源项目但是发现没有合适的。于是利用空闲休息时间开始自己写了一套后台系统。如此有了若依。她可以用于所有的Web应用程序,如网站管理后台,网站会员中心,CMS,CRM,OA。所有前端后台代码封装过后十分精简易上手,出错概率低。同时支持移动客户端访问。系统会陆续更新一些实用功能。 |
|
|
#核心内容 |
|
|
|
|
|
1、打印服务模块:使用JPS进行无状态的打印任务下发; |
|
|
|
|
|
2、服务接口:提供rest接口,通过接口调用进行打印数据、打印任务的创建;任务创建的结果反馈 |
|
|
|
|
|
3、打印日志:打印任务的创建、模版、数据、方案配置等历史记录的查询和补打 |
|
|
|
|
|
4、模版管理:设置打印的模版、纸张类型、打印参数等配置 |
|
|
|
|
|
|
|
|
性别男,若依是给女儿取的名字(寓意:你若不离不弃,我必生死相依) |
|
|
#架构图 |
|
|
|
|
|
|
|
|
若依是一套全部开源的快速开发平台,毫无保留给个人及企业免费使用。 |
|
|
技术路线: |
|
|
|
|
|
若依单体框架-最新班4.7.9-springboot3版本 |
|
|
|
|
|
springBoot 3.3.1 |
|
|
|
|
|
springboot-freemarker-3.3.1 |
|
|
|
|
|
com.itextpdf-5.5.13 |
|
|
|
|
|
com.google.zxing-3.5.3 |
|
|
|
|
|
ueeditor |
|
|
|
|
|
jdk17版本 |
|
|
|
|
|
|
|
|
* 前后端分离版本,请移步[RuoYi-Vue](https://gitee.com/y_project/RuoYi-Vue),微服务版本,请移步[RuoYi-Cloud](https://gitee.com/y_project/RuoYi-Cloud) |
|
|
系统结构图 |
|
|
* 感谢 [hplus](https://gitee.com/hplus_admin/hplus) 后台主题 UI 框架。 |
|
|
![img.png](img.png) |
|
|
* 阿里云折扣场:[点我进入](http://aly.ruoyi.vip),腾讯云秒杀场:[点我进入](http://txy.ruoyi.vip) |
|
|
系统功能 |
|
|
* 阿里云优惠券:[点我领取](https://www.aliyun.com/minisite/goods?userCode=brki8iof&share_source=copy_link),腾讯云优惠券:[点我领取](https://cloud.tencent.com/redirect.php?redirect=1025&cps_key=198c8df2ed259157187173bc7f4f32fd&from=console) |
|
|
![img_1.png](img_1.png) |
|
|
|
|
|
|
|
|
## 内置功能 |
|
|
模版的说明 |
|
|
|
|
|
目前系统只支持thymeleaf的模版、freemarker和纯html的模版渲染打印 |
|
|
|
|
|
|
|
|
1. 用户管理:用户是系统操作者,该功能主要完成系统用户配置。 |
|
|
基础配置说明: |
|
|
2. 部门管理:配置系统组织机构(公司、部门、小组),树结构展现支持数据权限。 |
|
|
外置模版路径配置:aplication.yml win.path.template 路径 默认当前应用路径下/models |
|
|
3. 岗位管理:配置系统用户所属担任职务。 |
|
|
客户端编码设置 : aplication.yml win.clientCode 多客户端端时配置,服务根据此编码获取打印任务 |
|
|
4. 菜单管理:配置系统菜单,操作权限,按钮权限标识等。 |
|
|
数据字典: |
|
|
5. 角色管理:角色菜单权限分配、设置角色按机构进行数据范围权限划分。 |
|
|
模版类型 :系统内置(CLASS),文件路径(FILE),数据模版(STRING) |
|
|
6. 字典管理:对系统中经常使用的一些较为固定的数据进行维护。 |
|
|
系统内置:集成在系统class目录中,不能修改 |
|
|
7. 参数管理:对系统动态配置常用参数。 |
|
|
文件路径:可配置模版的存储路径 |
|
|
8. 通知公告:系统通知公告信息发布维护。 |
|
|
数据模版:存储在数据库中的字符串模版 |
|
|
9. 操作日志:系统正常操作日志记录和查询;系统异常信息日志记录和查询。 |
|
|
参数类型:STRING 字符串 ,QRIMG,二维码类型(系统将吧传入的内容转换成Base64格式的二维码图片) |
|
|
10. 登录日志:系统登录日志记录查询包含登录异常。 |
|
|
接口说明: |
|
|
11. 在线用户:当前系统中活跃用户状态监控。 |
|
|
/service/print/model |
|
|
12. 定时任务:在线(添加、修改、删除)任务调度包含执行结果日志。 |
|
|
post 方法 |
|
|
13. 代码生成:前后端代码的生成(java、html、xml、sql)支持CRUD下载 。 |
|
|
参数说明 |
|
|
14. 系统接口:根据业务代码自动生成相关的api接口文档。 |
|
|
/**客户端编码-目标打印机的客户端*/ |
|
|
15. 服务监控:监视当前系统CPU、内存、磁盘、堆栈等相关信息。 |
|
|
private String clientCode; |
|
|
16. 缓存监控:对系统的缓存查询,删除、清空等操作。 |
|
|
/**要打印的数据集合,根据配置的打印模版参数,参数编码需要和配置一致,*/ |
|
|
17. 在线构建器:拖动表单元素生成相应的HTML代码。 |
|
|
private List<JSONObject> printData; |
|
|
18. 连接池监视:监视当前系统数据库连接池状态,可进行分析SQL找出系统性能瓶颈。 |
|
|
/** |
|
|
|
|
|
* 模版编码 使用的模版编码,如果为空,则使用配置的默认模版,如果不为空优先使用传入的模版编号 |
|
|
|
|
|
* */ |
|
|
|
|
|
private String modelCode; |
|
|
|
|
|
/** |
|
|
|
|
|
* 单页模式还是多页模式,默认1单页单任务,多条数据时所有数据合成一个页面打印; 2 一条数据一个打印文件 |
|
|
|
|
|
* */ |
|
|
|
|
|
private String docModel="1"; |
|
|
|
|
|
/** |
|
|
|
|
|
* 打印机名称必须传 |
|
|
|
|
|
* */ |
|
|
|
|
|
private String printerName; |
|
|
|
|
|
/** |
|
|
|
|
|
* 计划打印时间, |
|
|
|
|
|
* */ |
|
|
|
|
|
private String printDate; |
|
|
|
|
|
/**任务ID |
|
|
|
|
|
* */ |
|
|
|
|
|
private String taskId; |
|
|
|
|
|
/**打印类型 |
|
|
|
|
|
* */ |
|
|
|
|
|
private String printType; |
|
|
|
|
|
/**打印分数 |
|
|
|
|
|
* */ |
|
|
|
|
|
private Integer copyCount; |
|
|
|
|
|
请求格式样例: |
|
|
|
|
|
{"clientCode":"node_001", |
|
|
|
|
|
"modelCode":"test_file_model001", |
|
|
|
|
|
"docModel":"1", 不传默认为1 |
|
|
|
|
|
"printerName":"大厅 (HP Color LaserJet MFP M277dw)", |
|
|
|
|
|
"printType":"code", 不传默认为空 |
|
|
|
|
|
“printTime”:“2024-07-25 ” ,不传默认为当前系统时间 |
|
|
|
|
|
copyCount:1 不传默认为1 |
|
|
|
|
|
"printData":[根据模版的参数进行设置,支持多条数据]} |
|
|
|
|
|
|
|
|
## 在线体验 |
|
|
文档打印接口 |
|
|
|
|
|
/service/print/doc |
|
|
- admin/admin123 |
|
|
POST方法 |
|
|
- 陆陆续续收到一些打赏,为了更好的体验已用于演示服务器升级。谢谢各位小伙伴。 |
|
|
参数说明 MultipartFile file:打印的文件 |
|
|
|
|
|
String clientCode, /**客户端编码-目标打印机的客户端*/ |
|
|
演示地址:http://ruoyi.vip |
|
|
String printerName, 打印机名称必须传 |
|
|
文档地址:http://doc.ruoyi.vip |
|
|
String printType,不传默认为空 |
|
|
|
|
|
String printTime,计划打印时间,不传默认为当前系统时间 |
|
|
## 演示图 |
|
|
Integer copyCounts 打印数量不传默认为1 |
|
|
|
|
|
|
|
|
<table> |
|
|
|
|
|
<tr> |
|
|
|
|
|
<td><img src="https://oscimg.oschina.net/oscnet/up-42e518aa72a24d228427a1261cb3679f395.png"/></td> |
|
|
|
|
|
<td><img src="https://oscimg.oschina.net/oscnet/up-7f20dd0edba25e5187c5c4dd3ec7d3d9797.png"/></td> |
|
|
|
|
|
</tr> |
|
|
|
|
|
<tr> |
|
|
|
|
|
<td><img src="https://oscimg.oschina.net/oscnet/up-2dae3d87f6a8ca05057db059cd9a411d51d.png"/></td> |
|
|
|
|
|
<td><img src="https://oscimg.oschina.net/oscnet/up-ea4d98423471e55fba784694e45d12bd4bb.png"/></td> |
|
|
|
|
|
</tr> |
|
|
|
|
|
<tr> |
|
|
|
|
|
<td><img src="https://oscimg.oschina.net/oscnet/up-7f6c6e9f5873efca09bd2870ee8468b8fce.png"/></td> |
|
|
|
|
|
<td><img src="https://oscimg.oschina.net/oscnet/up-c708b65f2c382a03f69fe1efa8d341e6cff.png"/></td> |
|
|
|
|
|
</tr> |
|
|
|
|
|
<tr> |
|
|
|
|
|
<td><img src="https://oscimg.oschina.net/oscnet/up-9ab586c47dd5c7b92bca0d727962c90e3b8.png"/></td> |
|
|
|
|
|
<td><img src="https://oscimg.oschina.net/oscnet/up-ef954122a2080e02013112db21754b955c6.png"/></td> |
|
|
|
|
|
</tr> |
|
|
|
|
|
<tr> |
|
|
|
|
|
<td><img src="https://oscimg.oschina.net/oscnet/up-088edb4d531e122415a1e2342bccb1a9691.png"/></td> |
|
|
|
|
|
<td><img src="https://oscimg.oschina.net/oscnet/up-f886fe19bd820c0efae82f680223cac196c.png"/></td> |
|
|
|
|
|
</tr> |
|
|
|
|
|
<tr> |
|
|
|
|
|
<td><img src="https://oscimg.oschina.net/oscnet/up-c7a2eb71fa65d6e660294b4bccca613d638.png"/></td> |
|
|
|
|
|
<td><img src="https://oscimg.oschina.net/oscnet/up-e60137fb0787defe613bd83331dc4755a70.png"/></td> |
|
|
|
|
|
</tr> |
|
|
|
|
|
<tr> |
|
|
|
|
|
<td><img src="https://oscimg.oschina.net/oscnet/up-7c51c1b5758f0a0f92ed3c60469b7526f9f.png"/></td> |
|
|
|
|
|
<td><img src="https://oscimg.oschina.net/oscnet/up-15181aed45bb2461aa97b594cbf2f86ea5f.png"/></td> |
|
|
|
|
|
</tr> |
|
|
|
|
|
<tr> |
|
|
|
|
|
<td><img src="https://oscimg.oschina.net/oscnet/up-83326ad52ea63f67233d126226738054d98.png"/></td> |
|
|
|
|
|
<td><img src="https://oscimg.oschina.net/oscnet/up-3bd6d31e913b70df00107db51d64ef81df7.png"/></td> |
|
|
|
|
|
</tr> |
|
|
|
|
|
<tr> |
|
|
|
|
|
<td><img src="https://oscimg.oschina.net/oscnet/up-70a2225836bc82042a6785edf6299e2586a.png"/></td> |
|
|
|
|
|
<td><img src="https://oscimg.oschina.net/oscnet/up-0184d6ab01fdc6667a14327fcaf8b46345d.png"/></td> |
|
|
|
|
|
</tr> |
|
|
|
|
|
<tr> |
|
|
|
|
|
<td><img src="https://oscimg.oschina.net/oscnet/up-64d8086dc2c02c8f71170290482f7640098.png"/></td> |
|
|
|
|
|
<td><img src="https://oscimg.oschina.net/oscnet/up-5e4daac0bb59612c5038448acbcef235e3a.png"/></td> |
|
|
|
|
|
</tr> |
|
|
|
|
|
</table> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## 若依交流群 |
|
|
|
|
|
|
|
|
|
|
|
QQ群: [![加入QQ群](https://img.shields.io/badge/已满-1389287-blue.svg)](https://jq.qq.com/?_wv=1027&k=5HBAaYN) [![加入QQ群](https://img.shields.io/badge/已满-1679294-blue.svg)](https://jq.qq.com/?_wv=1027&k=5cHeRVW) [![加入QQ群](https://img.shields.io/badge/已满-1529866-blue.svg)](https://jq.qq.com/?_wv=1027&k=53R0L5Z) [![加入QQ群](https://img.shields.io/badge/已满-1772718-blue.svg)](https://jq.qq.com/?_wv=1027&k=5g75dCU) [![加入QQ群](https://img.shields.io/badge/已满-1366522-blue.svg)](https://jq.qq.com/?_wv=1027&k=58cPoHA) [![加入QQ群](https://img.shields.io/badge/已满-1382251-blue.svg)](https://jq.qq.com/?_wv=1027&k=5Ofd4Pb) [![加入QQ群](https://img.shields.io/badge/已满-1145125-blue.svg)](https://jq.qq.com/?_wv=1027&k=5yugASz) [![加入QQ群](https://img.shields.io/badge/已满-86752435-blue.svg)](https://jq.qq.com/?_wv=1027&k=5Rf3d2P) [![加入QQ群](https://img.shields.io/badge/已满-134072510-blue.svg)](https://jq.qq.com/?_wv=1027&k=5ZIjaeP) [![加入QQ群](https://img.shields.io/badge/已满-210336300-blue.svg)](https://jq.qq.com/?_wv=1027&k=5CJw1jY) [![加入QQ群](https://img.shields.io/badge/已满-339522636-blue.svg)](https://jq.qq.com/?_wv=1027&k=5omzbKc) [![加入QQ群](https://img.shields.io/badge/已满-130035985-blue.svg)](https://jq.qq.com/?_wv=1027&k=qPIKBb7s) [![加入QQ群](https://img.shields.io/badge/已满-143151071-blue.svg)](https://jq.qq.com/?_wv=1027&k=4NsjKbtU) [![加入QQ群](https://img.shields.io/badge/已满-158781320-blue.svg)](https://jq.qq.com/?_wv=1027&k=VD2pkz2G) [![加入QQ群](https://img.shields.io/badge/已满-201531282-blue.svg)](https://jq.qq.com/?_wv=1027&k=HlshFwkJ) [![加入QQ群](https://img.shields.io/badge/已满-101526938-blue.svg)](https://jq.qq.com/?_wv=1027&k=0ARRrO9V) [![加入QQ群](https://img.shields.io/badge/已满-264355400-blue.svg)](https://jq.qq.com/?_wv=1027&k=up9k3ZXJ) [![加入QQ群](https://img.shields.io/badge/已满-298522656-blue.svg)](https://jq.qq.com/?_wv=1027&k=540WfdEr) [![加入QQ群](https://img.shields.io/badge/已满-139845794-blue.svg)](https://jq.qq.com/?_wv=1027&k=ss91fC4t) [![加入QQ群](https://img.shields.io/badge/已满-185760789-blue.svg)](https://jq.qq.com/?_wv=1027&k=Cqd66IKe) [![加入QQ群](https://img.shields.io/badge/已满-175104288-blue.svg)](https://jq.qq.com/?_wv=1027&k=7FplYUnR) [![加入QQ群](https://img.shields.io/badge/已满-174942938-blue.svg)](http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=lqMHu_5Fskm7H2S1vNAQTtzAUokVydwc&authKey=ptw0Fpch5pbNocML3CIJKKqZBaq2DI7cusKuzIgfMNiY3t9Pvd9hP%2BA8WYx3yaY1&noverify=0&group_code=174942938) [![加入QQ群](https://img.shields.io/badge/287843737-blue.svg)](http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=blYlRDmwZXSXI5pVrPPU7ZJ1stFJ6Q2Q&authKey=ForGBWffHVlPt9NE3d7g4DoOIouBh%2BqvAj2lp1CLReHfZAUaK7SRrdwsChKpRJDJ&noverify=0&group_code=287843737) |
|
|
|