fix: 删除无效的文件。
This commit is contained in:
parent
80c3b280aa
commit
2e2efded78
@ -1,5 +0,0 @@
|
|||||||
# 会签
|
|
||||||
|
|
||||||
当在一个阶段出现多个处理人的时候,同时也需要多个处理人都处理完成,才可以进入下一个阶段的时候,则需要选择上会签的功能。
|
|
||||||
|
|
||||||
也就说,如果选择了会签,则需要当前阶段的所有人处理完成,才能进入下一个阶段。
|
|
@ -1,29 +0,0 @@
|
|||||||
# Mac、Linux、Windows下分别进行交叉编译
|
|
||||||
|
|
||||||
Golang 支持交叉编译,在一个平台上生成另一个平台的可执行程序。
|
|
||||||
|
|
||||||
Mac 下编译 Linux 和 Windows 64位可执行程序
|
|
||||||
|
|
||||||
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build main.go
|
|
||||||
CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build main.go
|
|
||||||
|
|
||||||
Linux 下编译 Mac 和 Windows 64位可执行程序
|
|
||||||
|
|
||||||
CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build main.go
|
|
||||||
CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build main.go
|
|
||||||
|
|
||||||
Windows 下编译 Mac 和 Linux 64位可执行程序
|
|
||||||
|
|
||||||
SET CGO_ENABLED=0
|
|
||||||
SET GOOS=darwin
|
|
||||||
SET GOARCH=amd64
|
|
||||||
go build main.go
|
|
||||||
-------------------------------------------------
|
|
||||||
SET CGO_ENABLED=0
|
|
||||||
SET GOOS=linux
|
|
||||||
SET GOARCH=amd64
|
|
||||||
go build main.go
|
|
||||||
|
|
||||||
GOOS:目标平台的操作系统(darwin、freebsd、linux、windows)。
|
|
||||||
GOARCH:目标平台的体系架构(386、amd64、arm)。
|
|
||||||
CGO_ENABLED:交叉编译不支持 CGO 所以要禁用它。
|
|
@ -1,5 +0,0 @@
|
|||||||
# 结单
|
|
||||||
|
|
||||||
当发现提交的工单有误,可以根据实际情况,直接结束工单。
|
|
||||||
|
|
||||||

|
|
@ -1,17 +0,0 @@
|
|||||||
# 排他网关
|
|
||||||
|
|
||||||
在平时的业务中,有的时候需要根据表单数据的值来判断跳转到啥位置。
|
|
||||||
|
|
||||||
例如:如果申请的服务器价格低于1000元就是部门领导审批,如果超过1000元,那么就是CTO审批。为兼容这种情况因此加入了排他网关的概念。
|
|
||||||
|
|
||||||
此外还需注意,如果使用了排他网关,则必须有一个条件判断是正确的,否则流程将无法进行下去,报错失败。
|
|
||||||
|
|
||||||
将下面的Json格式数据,修改为自己的表单数据,写入到对应的流转线条中即可,但是流转线条的源阶段必须要排他网关的图标。
|
|
||||||
|
|
||||||
[
|
|
||||||
{
|
|
||||||
"key":"字段名称",
|
|
||||||
"sign":"==",
|
|
||||||
"value":"需要判断的值"
|
|
||||||
}
|
|
||||||
]
|
|
@ -1,5 +0,0 @@
|
|||||||
# 转交
|
|
||||||
|
|
||||||
进行工单转交,只能在当前阶段将工单转交给他人。
|
|
||||||
|
|
||||||

|
|
@ -1,59 +0,0 @@
|
|||||||
# IDE开发
|
|
||||||
|
|
||||||
众多 IDE 里边,推荐使用 `goland IDE`进行调试
|
|
||||||
|
|
||||||
首先我们启动 `Goland` , 点击 `Open Project`,下图红框圈选部分;
|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
选择 ferry 存放的路径,找到并打开;
|
|
||||||
|
|
||||||
# 配置 GOPORXY
|
|
||||||
|
|
||||||
然后选择`Goland` > `Preferences` ;
|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
# 添加运行或调试配置
|
|
||||||
|
|
||||||
### 添加 init 配置
|
|
||||||
|
|
||||||
1\. 打开`Edit Configurations`
|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
2\. 选择 `+` > `go build`
|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
3\. 按照下图所示进行配置,注意:填写 `Program arguments` 为 `init -c=config/settings.dev.yml`,完成之后点击保存
|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
4\. 修改数据库
|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
5\. 初使化
|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
### 添加 server 配置
|
|
||||||
|
|
||||||
1\. 打开`Edit Configurations`
|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
2\. 选择 `+` > `go build`
|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
3\. 按照下图所示进行配置,注意:填写 `Program arguments` 为`server -c=config/settings.dev.yml`,完成之后点击保存
|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
4\. 启动 debug
|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
转载自:[http://doc.zhangwj.com/go-admin-site/guide/ide.html#%E6%B7%BB%E5%8A%A0-server-%E9%85%8D%E7%BD%AE](http://doc.zhangwj.com/go-admin-site/guide/ide.html#%E6%B7%BB%E5%8A%A0-server-%E9%85%8D%E7%BD%AE)
|
|
@ -1,226 +0,0 @@
|
|||||||
# 安装
|
|
||||||
|
|
||||||
> 需注意因使用到了json类型的字段,因此MySQL需是5.7以上的版本。
|
|
||||||
>
|
|
||||||
> MySQL > 5.7
|
|
||||||
>
|
|
||||||
> Go >= 1.14
|
|
||||||
>
|
|
||||||
> Redis
|
|
||||||
|
|
||||||
若是安装出错,请先确认redis及MySQL是否安装配置成功,若是还有问题,可在群内提问。
|
|
||||||
|
|
||||||
## 配置文件介绍
|
|
||||||
|
|
||||||
script:
|
|
||||||
path: ./static/scripts # 任务脚本路径
|
|
||||||
settings:
|
|
||||||
application:
|
|
||||||
domain: localhost:8002 # 用于将HTTP请求重定向到HTTPS的主机名
|
|
||||||
host: 0.0.0.0 # 启动的地址,主机ip 或者域名,默认0.0.0.0
|
|
||||||
ishttps: false # 是否为HTTPS
|
|
||||||
mode: dev # 开发模式
|
|
||||||
name: ferry-test # 服务名称
|
|
||||||
port: "8002" # 启动端口
|
|
||||||
readtimeout: 1 # 请求读取超时时间,从连接被接受(accept)到request body完全被读取(如果你不读取body,那么时间截止到读完header为止)
|
|
||||||
writertimeout: 2 # 从request header的读取结束开始,到response write结束为止(也就是ServeHTTP 方法的声明周期)
|
|
||||||
database:
|
|
||||||
dbtype: mysql # 数据库类型
|
|
||||||
host: 127.0.0.1 # 数据库地址
|
|
||||||
name: ferry # 数据库名称
|
|
||||||
password: 123456 # 数据库密码
|
|
||||||
port: 3306 # 数据库端口
|
|
||||||
username: ferry # 数据库用户名
|
|
||||||
email:
|
|
||||||
alias: ferry # 邮箱别名
|
|
||||||
host: smtp.163.com # 邮件服务器
|
|
||||||
pass: your password # 邮箱密码
|
|
||||||
port: 465 # 邮件服务器端口
|
|
||||||
user: fdevops@163.com # 邮箱账号
|
|
||||||
gorm:
|
|
||||||
logmode: 0 # gorm详细日志输出,0表示不输出,1表示输出
|
|
||||||
maxidleconn: 0 # 最大空闲连接
|
|
||||||
maxopenconn: 20000 # 最大连接数据
|
|
||||||
jwt:
|
|
||||||
secret: ferry # JWT加密字符串
|
|
||||||
timeout: 3600 # 过期时间单位:秒
|
|
||||||
log:
|
|
||||||
dir: logs # 日志路径
|
|
||||||
operdb: false
|
|
||||||
ssl:
|
|
||||||
key: keystring
|
|
||||||
pem: temp/pem.pem
|
|
||||||
|
|
||||||
## 本地开发
|
|
||||||
|
|
||||||
后端程序启动:
|
|
||||||
|
|
||||||
# 1\. 拉取代码,以下命令二选一即可:
|
|
||||||
git clone https://github.com/lanyulei/ferry.git
|
|
||||||
git clone https://gitee.com/yllan/ferry.git
|
|
||||||
|
|
||||||
# 2\. 进入工作路径
|
|
||||||
cd ferry
|
|
||||||
|
|
||||||
# 3\. 修改配置
|
|
||||||
vim config/settings.dev.yml
|
|
||||||
1). 修改为自己的数据库信息
|
|
||||||
2). 修改为自己的邮件服务器地址
|
|
||||||
其他的根据情况来修改调整
|
|
||||||
|
|
||||||
# 4\. 安装依赖
|
|
||||||
go get
|
|
||||||
|
|
||||||
# 5\. 连接数据库,并创建数据库
|
|
||||||
create database ferry charset 'utf8mb4';
|
|
||||||
|
|
||||||
# 6\. 初始化数据结构
|
|
||||||
go run main.go init -c=config/settings.dev.yml
|
|
||||||
|
|
||||||
# 7\. 测试启动程序,没有报错及没有问题
|
|
||||||
go run main.go server -c=config/settings.dev.yml
|
|
||||||
|
|
||||||
# 8\. 热加载方式启动
|
|
||||||
air
|
|
||||||
|
|
||||||
前端程序启动:
|
|
||||||
|
|
||||||
# 1\. 拉取代码,以下命令二选一即可:
|
|
||||||
git clone https://github.com/lanyulei/ferry_web.git
|
|
||||||
git clone https://gitee.com/yllan/ferry_web.git
|
|
||||||
|
|
||||||
# 2\. 进入工作路径
|
|
||||||
cd ferry_web
|
|
||||||
|
|
||||||
# 3\. 安装依赖
|
|
||||||
npm config set registry https://registry.npm.taobao.org
|
|
||||||
npm install
|
|
||||||
# 若npm install安装失败,可尝试使用一下命令安装
|
|
||||||
npm install --unsafe-perm
|
|
||||||
|
|
||||||
# 推荐使用cnpm
|
|
||||||
npm install -g cnpm --registry=https://registry.npm.taobao.org
|
|
||||||
cnpm install
|
|
||||||
|
|
||||||
# 4\. 启动程序
|
|
||||||
npm run dev
|
|
||||||
|
|
||||||
# 5\. 访问http://localhost:9527,是否可正常访问
|
|
||||||
|
|
||||||
## 部署线上
|
|
||||||
|
|
||||||
后端部署:
|
|
||||||
|
|
||||||
# 1\. 拉取代码,以下命令二选一即可:
|
|
||||||
git clone https://github.com/lanyulei/ferry.git
|
|
||||||
git clone https://gitee.com/yllan/ferry.git
|
|
||||||
|
|
||||||
# 2\. 进入工作路径
|
|
||||||
cd ferry
|
|
||||||
|
|
||||||
# 3\. 交叉编译(centos)
|
|
||||||
env GOOS=linux GOARCH=amd64 go build
|
|
||||||
更多交叉编译内容,请访问 https://www.fdevops.com/2020/03/08/go-locale-configuration
|
|
||||||
|
|
||||||
# 4\. config目录上传到项目根路径下,并确认配置信息是否正确
|
|
||||||
vim config/settings.yml
|
|
||||||
1). 修改为自己的数据库信息
|
|
||||||
2). 修改为自己的邮件服务器地址
|
|
||||||
其他的根据情况来修改调整
|
|
||||||
|
|
||||||
# 4\. 创建日志路径及静态文件经历
|
|
||||||
mkdir -p log static/uploadfile static/scripts static/template
|
|
||||||
|
|
||||||
# 5\. 将本地项目下static/template目录下的所有文件上传的到,服务器对应的项目目录下static/template
|
|
||||||
|
|
||||||
# 6\. 连接数据库,并创建数据库
|
|
||||||
create database ferry charset 'utf8mb4';
|
|
||||||
|
|
||||||
# 7\. 初始化数据
|
|
||||||
./ferry init -c=config/settings.yml
|
|
||||||
|
|
||||||
# 8\. 启动程序,推荐通过"进程管理工具"进行启动维护
|
|
||||||
nohup ./ferry server -c=config/settings.yml > /dev/null 2>&1 &
|
|
||||||
|
|
||||||
前端部署:
|
|
||||||
|
|
||||||
# 1\. 拉取代码,以下命令二选一即可:
|
|
||||||
git clone https://github.com/lanyulei/ferry_web.git
|
|
||||||
git clone https://gitee.com/yllan/ferry_web.git
|
|
||||||
|
|
||||||
# 2\. 进入工作路径
|
|
||||||
cd ferry_web
|
|
||||||
|
|
||||||
# 3\. 安装依赖
|
|
||||||
npm config set registry https://registry.npm.taobao.org
|
|
||||||
npm install
|
|
||||||
# 若npm install安装失败,可尝试使用一下命令安装
|
|
||||||
npm install --unsafe-perm
|
|
||||||
|
|
||||||
# 推荐使用cnpm
|
|
||||||
npm install -g cnpm --registry=https://registry.npm.taobao.org
|
|
||||||
cnpm install
|
|
||||||
|
|
||||||
# 4\. 修改 .env.production 文件
|
|
||||||
# base api
|
|
||||||
VUE_APP_BASE_API = 'http://fdevops.com:8001' # 修改为您自己的域名
|
|
||||||
|
|
||||||
# 5\. 编译
|
|
||||||
npm run build:prod
|
|
||||||
|
|
||||||
# 6\. 将dist目录上传至项目路径下即可。
|
|
||||||
mv dist web
|
|
||||||
|
|
||||||
# 7\. nginx配置,根据业务自行调整即可
|
|
||||||
server {
|
|
||||||
listen 8001; # 监听端口
|
|
||||||
server_name localhost; # 域名可以有多个,用空格隔开
|
|
||||||
|
|
||||||
#charset koi8-r;
|
|
||||||
|
|
||||||
#access_log logs/host.access.log main;
|
|
||||||
location / {
|
|
||||||
root /data/ferry/web;
|
|
||||||
index index.html index.htm; #目录内的默认打开文件,如果没有匹配到index.html,则搜索index.htm,依次类推
|
|
||||||
}
|
|
||||||
|
|
||||||
#ssl配置省略
|
|
||||||
location /api {
|
|
||||||
# rewrite ^.+api/?(.*)$ /$1 break;
|
|
||||||
proxy_pass http://127.0.0.1:8002; #node api server 即需要代理的IP地址
|
|
||||||
proxy_redirect off;
|
|
||||||
proxy_set_header Host $host;
|
|
||||||
proxy_set_header X-Real-IP $remote_addr;
|
|
||||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
|
||||||
}
|
|
||||||
|
|
||||||
# 登陆
|
|
||||||
location /login {
|
|
||||||
proxy_pass http://127.0.0.1:8002; #node api server 即需要代理的IP地址
|
|
||||||
}
|
|
||||||
|
|
||||||
# 刷新token
|
|
||||||
location /refresh_token {
|
|
||||||
proxy_pass http://127.0.0.1:8002; #node api server 即需要代理的IP地址
|
|
||||||
}
|
|
||||||
|
|
||||||
# 接口地址
|
|
||||||
location /swagger {
|
|
||||||
proxy_pass http://127.0.0.1:8002; #node api server 即需要代理的IP地址
|
|
||||||
}
|
|
||||||
|
|
||||||
# 后端静态文件路径
|
|
||||||
location /static/uploadfile {
|
|
||||||
proxy_pass http://127.0.0.1:8002; #node api server 即需要代理的IP地址
|
|
||||||
}
|
|
||||||
|
|
||||||
#error_page 404 /404.html; #对错误页面404.html 做了定向配置
|
|
||||||
|
|
||||||
# redirect server error pages to the static page /50x.html
|
|
||||||
#将服务器错误页面重定向到静态页面/50x.html
|
|
||||||
#
|
|
||||||
error_page 500 502 503 504 /50x.html;
|
|
||||||
location = /50x.html {
|
|
||||||
root html;
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,55 +0,0 @@
|
|||||||
# 简介
|
|
||||||
|
|
||||||
本系统是集工单统计、任务钩子、权限管理、灵活配置流程与模版等等于一身的开源工单系统,当然也可以称之为工作流引擎。
|
|
||||||
|
|
||||||
致力于减少跨部门之间的沟通,自动任务的执行,提升工作效率与工作质量,减少不必要的工作量与人为出错率。
|
|
||||||
|
|
||||||
演示Demo: [http://fdevops.com:8001/](http://fdevops.com:8001/)
|
|
||||||
|
|
||||||
账号密码:admin/123456
|
|
||||||
|
|
||||||
Github: [https://github.com/lanyulei/ferry](https://github.com/lanyulei/ferry)
|
|
||||||
|
|
||||||
Gitee: [https://gitee.com/yllan/ferry](https://gitee.com/yllan/ferry)
|
|
||||||
|
|
||||||
文档:[https://www.fdevops.com/docs/ferry-tutorial-document/introduction](https://www.fdevops.com/docs/ferry-tutorial-document/introduction)
|
|
||||||
|
|
||||||
演示Demo上,将删除的功能全部隐藏了,因为之前发生过,有人恶意删除所有可删除的数据,包括流程数据和用户数据,因此,clone下来的代码是有删除之类的动作的。
|
|
||||||
|
|
||||||
## 功能
|
|
||||||
|
|
||||||
下面对本系统的功能做一个简单介绍。
|
|
||||||
|
|
||||||
工单系统相关功能:
|
|
||||||
|
|
||||||
* 工单提交申请
|
|
||||||
* 工单统计
|
|
||||||
* 多维度工单列表,包括(我创建的、我相关的、我待办的、所有工单)
|
|
||||||
* 自定义流程
|
|
||||||
* 自定义模版
|
|
||||||
* 任务钩子
|
|
||||||
* 任务管理
|
|
||||||
* 催办
|
|
||||||
* 转交
|
|
||||||
* 手动结单
|
|
||||||
* 加签
|
|
||||||
* 多维度处理人,包括(个人,变量(创建者、创建者负责人))
|
|
||||||
* 排他网关,即根据条件判断进行工单跳转
|
|
||||||
* 并行网关,即多个节点同时进行审批处理
|
|
||||||
* 通知提醒(目前仅支持邮件)
|
|
||||||
* 流程分类管理
|
|
||||||
|
|
||||||
权限管理相关功能,使用casbin实现接口权限控制:
|
|
||||||
|
|
||||||
* 用户、角色、岗位的增删查改,批量删除,多条件搜索
|
|
||||||
* 角色、岗位数据导出Excel
|
|
||||||
* 重置用户密码
|
|
||||||
* 维护个人信息,上传管理头像,修改当前账户密码
|
|
||||||
* 部门的增删查改
|
|
||||||
* 菜单目录、跳转、按钮及API接口的增删查改
|
|
||||||
* 登陆日志管理
|
|
||||||
* 左菜单权限控制
|
|
||||||
* 页面按钮权限控制
|
|
||||||
* API接口权限控制
|
|
||||||
|
|
||||||
目前大致上就是以上功能了,如果您觉得我有拉下的功能,还请留言提醒我,感谢。
|
|
@ -1,25 +0,0 @@
|
|||||||
# 创建一个新流程
|
|
||||||
|
|
||||||
## 流程分类
|
|
||||||
|
|
||||||
为区分不同功能,不同类型的流程,因此加入分类的概念,方便管理和维护不同功能的流程。
|
|
||||||
|
|
||||||
分类创建较为简单,不在过多赘述。
|
|
||||||
|
|
||||||
## 创建模版
|
|
||||||
|
|
||||||
根据实际情况,填写下面的数据。
|
|
||||||
|
|
||||||
## 创建流程
|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
## 创建任务
|
|
||||||
|
|
||||||
根据实际情况创建Python或者Shell的脚本任务,这个步骤相对简单,不在过多赘述。
|
|
||||||
|
|
||||||
## 申请新创建的流程
|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||

|
|
@ -1,7 +0,0 @@
|
|||||||
# 并行网关
|
|
||||||
|
|
||||||
在日常的工作中,可能会有需要多个处理人并行进行处理,只有所有的处理人都完成处理才可以跳转到下一个阶段。基于这种情况的出现,因此有了并行网关的概念。
|
|
||||||
|
|
||||||
在这种并行处理的情况下,处理的顺序无所谓,但是需要全部处理完成。才能进入下一个阶段,同时并行网关的情况下,会无视条件判断。
|
|
||||||
|
|
||||||

|
|
@ -1,31 +0,0 @@
|
|||||||
# 系统管理
|
|
||||||
|
|
||||||
本文主要是介绍以下非增删改查的功能。
|
|
||||||
|
|
||||||
## 角色管理
|
|
||||||
|
|
||||||
对角色的增删查改、权限的管控、批量删除、导出功能。
|
|
||||||
|
|
||||||
## 菜单管理
|
|
||||||
|
|
||||||
菜单的增删查改。
|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
* 上级菜单:菜单或者按钮的父亲。
|
|
||||||
* 菜单标题:就是菜单的名字。
|
|
||||||
* 显示顺序:菜单展示时候的顺序。
|
|
||||||
* 菜单类型:啥功能的菜单。
|
|
||||||
* 目录:对菜单进行区分维护。
|
|
||||||
* 菜单:可跳转对对应的页面。
|
|
||||||
* 按钮:页面上对应的按钮操作。
|
|
||||||
* 接口:后端对应的API地址。
|
|
||||||
* 菜单图标:左菜单栏展示需要展示的图标。
|
|
||||||
* 路由名称:Vue路由设置的名称。
|
|
||||||
* 组件路径:前端程序View对应下文件路径,包括文件名称。
|
|
||||||
* 是否外链:是否是外部链接。
|
|
||||||
* 路由地址:可访问的url地址。
|
|
||||||
* 权限标识:权限控制需要的标识。
|
|
||||||
* 菜单状态:显示或者隐藏菜单项。
|
|
||||||
|
|
||||||
此外需要注意的是,每个后端需要跟前端交互的接口,都需要写入到菜单中的接口权限中。
|
|
@ -1,5 +0,0 @@
|
|||||||
# 催办
|
|
||||||
|
|
||||||
通过邮件的方式,来对当前处理人进行工单催促,十分钟内只能催促一次。
|
|
||||||
|
|
||||||

|
|
Loading…
x
Reference in New Issue
Block a user