天天看点

ProcessMaker REST API 定制开发开发一个获取登录用户ID的REST API

开发一个获取登录用户ID的REST API

ProcessMaker没有提供获取登录用户ID的REST API,需要我们自己定制开发。

1 、运行环境

  • ProcessMaker 版本 :3.2.2 社区版
  • workspace:workflow
  • 操作系统:Ubuntu SMP Mon Feb 12 21:23:04 UTC 2018 x86_64 x86_64 x86_64 GNU/Linu

2、操作步骤

2-1 、切换到Api目录

cd /opt/processmaker-3.2.2-0/apps/processmaker/htdocs/workflow/engine/src/ProcessMaker/Services/Api
           

2-2 、创建类文件LoggedUserId.php

sudo vi LoggedUserId.php           

2-3、输入代码

<?php
namespace ProcessMaker\Services\Api;

use \ProcessMaker\Services\Api;
use \Luracast\Restler\RestException;

/**
 * LoggedUserId Api Controller
 *
 * @protected
 */
class LoggedUserId extends Api
{
    /**
     * Return the ID of the logged-in user
     * 
     * @url GET  
     * @access protected
     * @class  AccessControl {@permission PM_USERS,PM_FACTORY}      
     * 
     * @author genwise <[email protected]>
     * @copyright Public Domain
     */
    public function getLoggedUserId()
    {
                $response['id'] = $this->getUserId();
                return $response;
    }
}
           

2-4 、切换到Services目录

cd ..
           

2-5 、编辑api.ini

sudo vi api.ini           

2-6 、在api.ini 最后添加以下代码

[alias: loggeduserid]
    loggeduserid = "ProcessMaker\Services\Api\LoggedUserId"
           

2-7、删除文件routes.php

cd /opt/processmaker-3.2.2-0/apps/processmaker/htdocs/shared/sites/workflow
sudo rm routes.php           

3、获取登录用户ID的REST API开发完成

访问方法是:GET

访问端点是:/api/1.0/workflow/loggeduserid

参考资料:

  • 电子表单DynaForm访问ProcessMaker REST API