AutoGenerateModule.class.php 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. <?php
  2. /**
  3. * @name eolinker ams open source,eolinker开源版本
  4. * @link https://www.eolinker.com/
  5. * @package eolinker
  6. * @author www.eolinker.com 广州银云信息科技有限公司 ©2015-2018
  7. * eoLinker是目前全球领先、国内最大的在线API接口管理平台,提供自动生成API文档、API自动化测试、Mock测试、团队协作等功能,旨在解决由于前后端分离导致的开发效率低下问题。
  8. * 如在使用的过程中有任何问题,欢迎加入用户讨论群进行反馈,我们将会以最快的速度,最好的服务态度为您解决问题。
  9. *
  10. * eoLinker AMS开源版的开源协议遵循Apache License 2.0,如需获取最新的eolinker开源版以及相关资讯,请访问:https://www.eolinker.com/#/os/download
  11. *
  12. * 官方网站:https://www.eolinker.com/
  13. * 官方博客以及社区:http://blog.eolinker.com/
  14. * 使用教程以及帮助:http://help.eolinker.com/
  15. * 商务合作邮箱:market@eolinker.com
  16. * 用户讨论QQ群:284421832
  17. */
  18. class AutoGenerateModule
  19. {
  20. /**
  21. * 导入接口
  22. * @param $data
  23. * @param $project_id
  24. * @param $user_id
  25. * @return bool
  26. */
  27. public function importApi(&$data, &$project_id, &$user_id)
  28. {
  29. $dao = new AutoGenerateDao();
  30. $result = $dao->importApi($data, $project_id);
  31. if ($result) {
  32. $log_dao = new ProjectLogDao();
  33. $log_dao->addOperationLog($project_id, $user_id, ProjectLogDao::$OP_TARGET_PROJECT, $project_id, ProjectLogDao::$OP_TYPE_UPDATE, '通过自动生成文档功能更新接口文档', date('Y-m-d H:i:s', time()));
  34. return $result;
  35. } else {
  36. return FALSE;
  37. }
  38. }
  39. /**
  40. * 检查项目权限
  41. * @param $user_name
  42. * @param $user_password
  43. * @param $project_id
  44. * @return bool|array
  45. */
  46. public function checkProjectPermission(&$user_name, &$user_password, &$project_id)
  47. {
  48. $dao = new GuestDao;
  49. $user_info = $dao->getLoginInfo($user_name);
  50. if (md5($user_password) == $user_info['userPassword']) {
  51. $project_dao = new ProjectDao();
  52. if ($project_dao->checkProjectPermission($project_id, $user_info['userID'])) {
  53. $auth_dao = new AuthorizationDao();
  54. $result = $auth_dao->getProjectUserType($user_info['userID'], $project_id);
  55. if ($result === FALSE) {
  56. return FALSE;
  57. } elseif ($result > 2) {
  58. return FALSE;
  59. } else {
  60. return $user_info;
  61. }
  62. } else {
  63. return FALSE;
  64. }
  65. } else {
  66. return FALSE;
  67. }
  68. }
  69. }