# Sariel **Repository Path**: veryfine/sariel ## Basic Information - **Project Name**: Sariel - **Description**: 规则引擎,实现业务规则可配置化,适应业务规则动态变化。后端采用springcloud,springboot开发,前端采用react - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 1 - **Created**: 2023-01-03 - **Last Updated**: 2025-04-08 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Sariel规则引擎,用来保护数据不被脏数据污染。 大天使沙利尔,任务是保护人的灵魂不受罪的玷污。 此项目以开源项目URule-2.1.5开源版为模版,并且由大神整合成了springboot版本,并且进行了功能的扩展。 后端是springboot,前端react,项目比较主流。 # springboot-urule 基于URule-2.1.5开源版本集成SpringBoot-2.0,基于内置源码的集成,方便直接二次开发。 因为开源版本的springboot模块只是进行了最基本的集成,文件仓库默认还是存储在磁盘,现在希望基于最新版的SpringBoot-2.0和URule-2.1.5进行集成,并支持数据库存储资源库等,和权限控制等。 同时加之在使用SpringBoot 2.0的时候踩过一些坑,最终顺利完成和各种不同数据源的集成,希望对刚解除或者正好也有集成URule项目做二次开发的朋友少走一些弯路,后续有空会逐步去完善一些东西。 接入springcloud,规则发布同步客户端时从注册中心consul中拉取注册列表。 spring-boot 2.3.5 springcloud Hoxton.SR10 # 后端 ## sariel-rule-server Urule服务配置端 ## sariel-rule-client 开放Urule调用接口服务 ## 运行 1 安装注册中心,consul docker安装命令: docker pull consul docker run -d -p 8500:8500 --restart=always --name=consul consul:latest agent -server -bootstrap -ui -node=1 -client='0.0.0.0' 2 安装mysql,创建空库 3.修改sariel-rule-server里面bootstrap.yml注册中心配置。 consul: host: localhost 3.修改sariel-rule-server里面bootstrap.yml数据库配置。运行后urule会自动创建表。 url: jdbc:mysql://localhost:3306/rotech?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf-8&allowMultiQueries=true&useSSL=false username: user password: admin 2.运行sariel-rule-server的SarielRuleServerApplication启动类 3.打开浏览器访问 http://localhost:8090/urule/ 试试吧 4.如果需要测试调用服务,运行sariel-rule-client的SarielRuleClientApplication启动类 5.sariel-rule-server页面创建知识包等,edas/user_package 6.使用Http请求的工具类,如Postman 调用http://localhost:8787/rule/ageRule + 传参 # 前端 urule-console-js模块为Urule前端源码部分!温馨提醒:urule采用react技术开发,如果要改造 找懂react的人弄吧 哈哈! ## 前端构建 1.执行npm install 2.打包 npm run start 3.将打包后的website/js目录下的js脚本 替换 edas-rule-server/src/main/resources/urule-asserts/js 目录下的即可完成前端更新(打包路径已经改成了server的路径,所以此步骤可以省略了)