前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >golang flow工作流引擎-自己挖坑自己填

golang flow工作流引擎-自己挖坑自己填

作者头像
hotqin888
发布2021-12-06 15:29:18
1K0
发布2021-12-06 15:29:18
举报
文章被收录于专栏:hotqin888的专栏hotqin888的专栏

Flow质量流程挖坑自己填

——待完善

一、问题和坑

1.为何手机上添加后自己却看不到呢

因为手机登录后记录微信的openid,每个微信对应唯一的openid,不管这个微信切换哪个用户名来登录“鲁班宝”小程序,它都是一个openid。在engineercms这个服务端,它只记录这一个openid对应第一次登录的用户名。所以,不管用户切换哪个用户,小程序都只认第一次登录用的用户名。

因此,当用户添加文章后,小程序里要找出用户id,然后在addquality里将接收groupid设置为这个用户id,他才能看到。——服务端来获取这个single group ID。

比如qin.xc,他的用户id是8,add里就要设置gid为8。

Cms这边根据openid查出用户名为qin.xc,到mysql流程数据这边查qin.xc用户名(firstname),其id为8。

2.为何发布的质量文章没有提交流程等权限呀?

要将用户赋予权限。实际上用户是无法直接赋权(permission)的,见下文。

上图user的firstname为qin.xc,到下图group name为qin.xc@163.com

到下图的group_role表中这个qin.xc用户组的角色role。

注意,它只认group,不认user,所以,user一旦建立,自动建立一个对应的group(同名),叫single group。

加上这个用户组的角色,这个角色提前已经定义好了权限permission(见下文)。小程序上这个用户就有了提交按钮了。

实际使用过程中,不必为single group设置角色role和权限,新建一个group(比如下文中的all这个用户组),里面加入多个用户,再将这个group赋予角色role,将角色role赋予权限permission。

二、下面讲怎么配置流程吧——很绕

先在草稿上画好流程。画好流程后,再到系统上一步步设置。

①先画节点(node)。

如下图:

发起

审核

上图中nodetype是什么?它代表节点连接的逻辑,比如开始节点,结束节点,中间的节点有单线(linear)的,有多分支(branch)的对吧(这个没测试过)。Doctype(文档类型)是下文提前定义好的,见后面。Docstate(状态)也是下文提前建立好的,见下文。

②再画连线(transition)

节点之间是怎么连接的呢,节点先后顺序逻辑需要流(transition)来定义,但是流不是直接针对节点node的,它是针对状态state的,哈哈。

③当文档处于这个节点时,给文章起一个状态(state)名字。

④当状态(state)改变时,需要动作(action)来让它改变。

或者说,从一个节点(node)到另外一个节点,需要一个动作(action)

⑤那么谁有权限(permission)来执行这个动作(action)

先要知道这个概念:

用户user——用户组group——角色role——权限permission;

每次新建一个user会自动建立一个对应的single group;group则自己建立;

所以group有single group和group,大写字母S和G,前者用于给个人用,比如添加文章。后者用于角色用,比如赋权;

角色role只能对应group或single group,无法对应user;

Permission只能对应角色role,无法对应group或user;

一个用户组可以加入多个用户。这个用户组必须设置为G,而不是S。

比如all这个用户组:

用户组建好后加入了几个用户后的效果:

Mysql数据库表中的样子:

先定义角色(role),这个略过,仅仅命名个role角色名字而已。

然后添加角色拥有动作action的权限(permission)

添加完效果如下图所示。Action未直接显示,是vue界面bug,待修复。

上述流程只是从理解角度来叙述。而实际定义角度,需要按照界面左侧菜单,一路next下来,比如先要定义doctype(某一类流程,比如质量类,安全类)——docstate……

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2021-10-04 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、问题和坑
    • 1.为何手机上添加后自己却看不到呢
      • 2.为何发布的质量文章没有提交流程等权限呀?
      • 二、下面讲怎么配置流程吧——很绕
        • ①先画节点(node)。
          • ②再画连线(transition)
            • ③当文档处于这个节点时,给文章起一个状态(state)名字。
              • ④当状态(state)改变时,需要动作(action)来让它改变。
                • ⑤那么谁有权限(permission)来执行这个动作(action)
                相关产品与服务
                访问管理
                访问管理(Cloud Access Management,CAM)可以帮助您安全、便捷地管理对腾讯云服务和资源的访问。您可以使用CAM创建子用户、用户组和角色,并通过策略控制其访问范围。CAM支持用户和角色SSO能力,您可以根据具体管理场景针对性设置企业内用户和腾讯云的互通能力。
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档