From edc8a11af8c7a30a9c6d3a505bfe7d5575834210 Mon Sep 17 00:00:00 2001 From: YuleiLan Date: Thu, 3 Sep 2020 13:18:50 +0800 Subject: [PATCH] fix bug. --- document/_config.yml | 1 - document/countersign.md | 5 - document/cross_compile.md | 29 ----- document/end_process.md | 5 - document/exclusive_gateway.md | 17 --- document/forward.md | 5 - document/ide_development.md | 59 --------- document/index.md | 15 --- document/install.md | 226 ---------------------------------- document/introduction.md | 55 --------- document/new_process.md | 25 ---- document/parallel_gateway.md | 7 -- document/system_manager.md | 31 ----- document/urge.md | 5 - 14 files changed, 485 deletions(-) delete mode 100644 document/_config.yml delete mode 100644 document/countersign.md delete mode 100644 document/cross_compile.md delete mode 100644 document/end_process.md delete mode 100644 document/exclusive_gateway.md delete mode 100644 document/forward.md delete mode 100644 document/ide_development.md delete mode 100644 document/index.md delete mode 100644 document/install.md delete mode 100644 document/introduction.md delete mode 100644 document/new_process.md delete mode 100644 document/parallel_gateway.md delete mode 100644 document/system_manager.md delete mode 100644 document/urge.md diff --git a/document/_config.yml b/document/_config.yml deleted file mode 100644 index c419263..0000000 --- a/document/_config.yml +++ /dev/null @@ -1 +0,0 @@ -theme: jekyll-theme-cayman \ No newline at end of file diff --git a/document/countersign.md b/document/countersign.md deleted file mode 100644 index 8217a29..0000000 --- a/document/countersign.md +++ /dev/null @@ -1,5 +0,0 @@ -# 会签 - -当在一个阶段出现多个处理人的时候,同时也需要多个处理人都处理完成,才可以进入下一个阶段的时候,则需要选择上会签的功能。 - -也就说,如果选择了会签,则需要当前阶段的所有人处理完成,才能进入下一个阶段。 diff --git a/document/cross_compile.md b/document/cross_compile.md deleted file mode 100644 index bd17633..0000000 --- a/document/cross_compile.md +++ /dev/null @@ -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 所以要禁用它。 diff --git a/document/end_process.md b/document/end_process.md deleted file mode 100644 index c855bcd..0000000 --- a/document/end_process.md +++ /dev/null @@ -1,5 +0,0 @@ -# 结单 - -当发现提交的工单有误,可以根据实际情况,直接结束工单。 - -![](https://www.fdevops.com/wp-content/uploads/2020/07/image-12.png) diff --git a/document/exclusive_gateway.md b/document/exclusive_gateway.md deleted file mode 100644 index e465418..0000000 --- a/document/exclusive_gateway.md +++ /dev/null @@ -1,17 +0,0 @@ -# 排他网关 - -在平时的业务中,有的时候需要根据表单数据的值来判断跳转到啥位置。 - -例如:如果申请的服务器价格低于1000元就是部门领导审批,如果超过1000元,那么就是CTO审批。为兼容这种情况因此加入了排他网关的概念。 - -此外还需注意,如果使用了排他网关,则必须有一个条件判断是正确的,否则流程将无法进行下去,报错失败。 - -将下面的Json格式数据,修改为自己的表单数据,写入到对应的流转线条中即可,但是流转线条的源阶段必须要排他网关的图标。 - - [ - { - "key":"字段名称", - "sign":"==", - "value":"需要判断的值" - } - ] diff --git a/document/forward.md b/document/forward.md deleted file mode 100644 index 1fcbc35..0000000 --- a/document/forward.md +++ /dev/null @@ -1,5 +0,0 @@ -# 转交 - -进行工单转交,只能在当前阶段将工单转交给他人。 - -![](https://www.fdevops.com/wp-content/uploads/2020/07/image-11.png) diff --git a/document/ide_development.md b/document/ide_development.md deleted file mode 100644 index c92a7cc..0000000 --- a/document/ide_development.md +++ /dev/null @@ -1,59 +0,0 @@ -# IDE开发 - -众多 IDE 里边,推荐使用 `goland IDE`进行调试 - -首先我们启动 `Goland` , 点击 `Open Project`,下图红框圈选部分; - -![](https://www.fdevops.com/wp-content/uploads/2020/08/image.png) - -选择 ferry 存放的路径,找到并打开; - -# 配置 GOPORXY - -然后选择`Goland` > `Preferences` ; - -![](https://www.fdevops.com/wp-content/uploads/2020/08/image-1.png) - -# 添加运行或调试配置 - -### 添加 init 配置 - -1\. 打开`Edit Configurations` - -![](https://www.fdevops.com/wp-content/uploads/2020/08/image-2.png) - -2\. 选择 `+` > `go build` - -![](https://www.fdevops.com/wp-content/uploads/2020/08/image-3.png) - -3\. 按照下图所示进行配置,注意:填写 `Program arguments` 为 `init -c=config/settings.dev.yml`,完成之后点击保存 - -![](https://www.fdevops.com/wp-content/uploads/2020/08/image-4.png) - -4\. 修改数据库 - -![](https://www.fdevops.com/wp-content/uploads/2020/08/image-5.png) - -5\. 初使化 - -![](https://www.fdevops.com/wp-content/uploads/2020/08/image-6.png) - -### 添加 server 配置 - -1\. 打开`Edit Configurations` - -![](https://www.fdevops.com/wp-content/uploads/2020/08/image-7.png) - -2\. 选择 `+` > `go build` - -![](https://www.fdevops.com/wp-content/uploads/2020/08/image-8.png) - -3\. 按照下图所示进行配置,注意:填写 `Program arguments` 为`server -c=config/settings.dev.yml`,完成之后点击保存 - -![](https://www.fdevops.com/wp-content/uploads/2020/08/image-9.png) - -4\. 启动 debug - -![](https://www.fdevops.com/wp-content/uploads/2020/08/image-10.png) - -转载自:[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) diff --git a/document/index.md b/document/index.md deleted file mode 100644 index c866a94..0000000 --- a/document/index.md +++ /dev/null @@ -1,15 +0,0 @@ -# 目录 - -* [介绍](https://lanyulei.github.io/ferry_docs/introduction "介绍") -* [安装](https://lanyulei.github.io/ferry_docs/install "安装") -* [IDE 开发](https://lanyulei.github.io/ferry_docs/ide_development "IDE 开发") -* [系统管理](https://lanyulei.github.io/ferry_docs/system_manager "系统管理") -* 工单系统 -* * [创建一个新流程](https://lanyulei.github.io/ferry_docs/new_process "创建一个新流程") -* * [催办](https://lanyulei.github.io/ferry_docs/urge "催办") -* * [转交](https://lanyulei.github.io/ferry_docs/forward "转交") -* * [结单](https://lanyulei.github.io/ferry_docs/end_process "结单") -* * [排他网关](https://lanyulei.github.io/ferry_docs/exclusive_gateway "排他网关") -* * [并行网关](https://lanyulei.github.io/ferry_docs/parallel_gateway "并行网关") -* * [会签](https://lanyulei.github.io/ferry_docs/countersign "会签") -* [Mac、Linux、Windows下分别进行交叉编译](https://lanyulei.github.io/ferry_docs/cross_compile "Mac、Linux、Windows下分别进行交叉编译") diff --git a/document/install.md b/document/install.md deleted file mode 100644 index 7313946..0000000 --- a/document/install.md +++ /dev/null @@ -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; - } - } diff --git a/document/introduction.md b/document/introduction.md deleted file mode 100644 index 2c7df56..0000000 --- a/document/introduction.md +++ /dev/null @@ -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接口权限控制 - -目前大致上就是以上功能了,如果您觉得我有拉下的功能,还请留言提醒我,感谢。 diff --git a/document/new_process.md b/document/new_process.md deleted file mode 100644 index 1aa2d4d..0000000 --- a/document/new_process.md +++ /dev/null @@ -1,25 +0,0 @@ -# 创建一个新流程 - -## 流程分类 - -为区分不同功能,不同类型的流程,因此加入分类的概念,方便管理和维护不同功能的流程。 - -分类创建较为简单,不在过多赘述。 - -## 创建模版 - -根据实际情况,填写下面的数据。 - -## 创建流程 - -![](https://www.fdevops.com/wp-content/uploads/2020/07/image-7.png) - -## 创建任务 - -根据实际情况创建Python或者Shell的脚本任务,这个步骤相对简单,不在过多赘述。 - -## 申请新创建的流程 - -![](https://www.fdevops.com/wp-content/uploads/2020/07/image-8.png) - -![](https://www.fdevops.com/wp-content/uploads/2020/07/image-9.png) diff --git a/document/parallel_gateway.md b/document/parallel_gateway.md deleted file mode 100644 index 22cd246..0000000 --- a/document/parallel_gateway.md +++ /dev/null @@ -1,7 +0,0 @@ -# 并行网关 - -在日常的工作中,可能会有需要多个处理人并行进行处理,只有所有的处理人都完成处理才可以跳转到下一个阶段。基于这种情况的出现,因此有了并行网关的概念。 - -在这种并行处理的情况下,处理的顺序无所谓,但是需要全部处理完成。才能进入下一个阶段,同时并行网关的情况下,会无视条件判断。 - -![](https://www.fdevops.com/wp-content/uploads/2020/07/image-14.png) diff --git a/document/system_manager.md b/document/system_manager.md deleted file mode 100644 index 1b7a712..0000000 --- a/document/system_manager.md +++ /dev/null @@ -1,31 +0,0 @@ -# 系统管理 - -本文主要是介绍以下非增删改查的功能。 - -## 角色管理 - -对角色的增删查改、权限的管控、批量删除、导出功能。 - -## 菜单管理 - -菜单的增删查改。 - -![](https://www.fdevops.com/wp-content/uploads/2020/07/image-14.png) - -* 上级菜单:菜单或者按钮的父亲。 -* 菜单标题:就是菜单的名字。 -* 显示顺序:菜单展示时候的顺序。 -* 菜单类型:啥功能的菜单。 - * 目录:对菜单进行区分维护。 - * 菜单:可跳转对对应的页面。 - * 按钮:页面上对应的按钮操作。 - * 接口:后端对应的API地址。 -* 菜单图标:左菜单栏展示需要展示的图标。 -* 路由名称:Vue路由设置的名称。 -* 组件路径:前端程序View对应下文件路径,包括文件名称。 -* 是否外链:是否是外部链接。 -* 路由地址:可访问的url地址。 -* 权限标识:权限控制需要的标识。 -* 菜单状态:显示或者隐藏菜单项。 - -此外需要注意的是,每个后端需要跟前端交互的接口,都需要写入到菜单中的接口权限中。 diff --git a/document/urge.md b/document/urge.md deleted file mode 100644 index 7c1c18f..0000000 --- a/document/urge.md +++ /dev/null @@ -1,5 +0,0 @@ -# 催办 - -通过邮件的方式,来对当前处理人进行工单催促,十分钟内只能催促一次。 - -![](https://www.fdevops.com/wp-content/uploads/2020/07/image-10.png)