Dingtalk.php 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. <?php
  2. namespace app\api\controller;
  3. use app\common\service\DingtalkService;
  4. use hg\apidoc\annotation as Apidoc;
  5. /**
  6. * @Apidoc\Title("Dingtalk")
  7. * @Apidoc\Group("api")
  8. * @Apidoc\Sort("5")
  9. */
  10. class Dingtalk extends Base
  11. {
  12. // 需要登录
  13. protected $need_login = [];
  14. public function initialize()
  15. {
  16. parent::initialize();
  17. }
  18. /**
  19. * 获取鉴权需要的参数
  20. *
  21. * @Apidoc\Desc("设置企业内部应用H5微应用鉴权")
  22. * @Apidoc\Method("POST")
  23. * @Apidoc\Param("url", type="string", require=true, desc="应用URL")
  24. **/
  25. public function get_auth(){
  26. $url = input('url') ?: '';
  27. $this->success('获取鉴权需要的参数',DingtalkService::generateAuthSignature($url));
  28. }
  29. /**
  30. * 更新员工和部门
  31. *
  32. * @Apidoc\Method("POST")
  33. **/
  34. public function renew(){
  35. DingtalkService::renew();
  36. $this->success('更新员工和部门成功');
  37. }
  38. /**
  39. * 获取部门列表
  40. */
  41. public function department_listsub()
  42. {
  43. $dept_id = input('dept_id');
  44. $resp = DingtalkService::department_listsub($dept_id);
  45. $this->success('获取部门列表', $resp);
  46. }
  47. /**
  48. * 获取部门详情
  49. */
  50. public function department_get()
  51. {
  52. $dept_id = input('dept_id');
  53. $resp = DingtalkService::department_get($dept_id);
  54. $this->success('获取部门详情', $resp);
  55. }
  56. /**
  57. * 获取部门用户详情
  58. */
  59. public function user_list()
  60. {
  61. $dept_id = input('dept_id');
  62. $resp = DingtalkService::user_list($dept_id);
  63. $this->success('获取部门用户详情', $resp);
  64. }
  65. /**
  66. * 查询用户详情
  67. */
  68. public function get_users()
  69. {
  70. $userid = input('userid');
  71. $resp = DingtalkService::user_get($userid);
  72. $this->success('查询用户详情', $resp);
  73. }
  74. }