User.php 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187
  1. <?php
  2. namespace app\admin\common;
  3. class User
  4. {
  5. private $appid = 'cx';
  6. private $appkey = 'cx123123';
  7. private $Sign;
  8. private $param = [];
  9. private $header = ["Content-Type" => "multipart/json;charset=utf-8"];
  10. private $host;
  11. private $api = [
  12. "login" => 'login',
  13. "verifyToken" => 'verifyToken',
  14. "register" => 'register',
  15. "userlist" => 'userlist',
  16. "usersave" => 'usersave',
  17. "userstatus" => 'userstatus',
  18. "userinfo" => 'userinfo',
  19. "setpasswd" => 'setpasswd',
  20. "setcompany" => 'setcompany',
  21. "companystatus" => 'companystatus',
  22. "userlistbycompany" => 'userlistbycompany',
  23. "useradd" => 'useradd',
  24. "userDelete" => 'userDelete',//删除
  25. //【公司账号管理】
  26. 'userCompanyBasicList' => 'userCompanyBasicList',//【列表】
  27. 'userCompanyBasicAdd' => 'userCompanyBasicAdd',//【添加】
  28. 'userCompanyBasicDelete' => 'userCompanyBasicDelete',//【删除】
  29. 'userCompanyBasicUpdate' => 'userCompanyBasicUpdate',//【修改】
  30. 'userCompanyBasicStatus' => 'userCompanyBasicStatus',//【启禁用】
  31. 'userCompanyBasicInfo' => 'userCompanyBasicInfo',//【详情】
  32. //【公司账号查询】
  33. 'userCompanyList' => 'userCompanyList',//【列表】
  34. 'userCompanyStatus' => 'userCompanyStatus',//【启禁用】
  35. 'userCompanyInfo' => 'userCompanyInfo',//【详情】
  36. //【公司汇总】
  37. 'hqList' => 'hqList',
  38. 'hqAdd' => 'hqAdd',
  39. 'hqUpdate' => 'hqUpdate',
  40. 'hqInfo' => 'hqInfo',
  41. 'delete' => 'delete',
  42. 'status' => 'status',
  43. 'sGetList' => 'sGetList',
  44. 'sCreate' => 'sCreate',
  45. 'sInfo' => 'sInfo',
  46. 'sEdit' => 'sEdit',
  47. 'bGetList' => 'bGetList',
  48. 'bCreate' => 'bCreate',
  49. 'bInfo' => 'bInfo',
  50. 'bEdit' => 'bEdit',
  51. 'bTitle' => 'bTitle',
  52. 'cTitle' => 'cTitle',
  53. 'getCodeAndName' => 'getCodeAndName',
  54. //组织架构
  55. 'ulist'=>'ulist',
  56. 'add'=>'add',
  57. ];
  58. public function __construct()
  59. {
  60. $this->Sign = new Sign($this->appid, $this->appkey);
  61. $this->host = env("user.hosturl", '');
  62. }
  63. /**
  64. * 生成请求header参数
  65. */
  66. private function makeHeader()
  67. {
  68. $headerArr = ["appid" => $this->appid, "noce" => randomkeys(16), "sign" => '', "timestamp" => time()];
  69. $value = array_merge($this->param, $headerArr);
  70. $headerArr['sign'] = $this->Sign->makeSign($value);
  71. foreach ($headerArr as $key => $value) {
  72. $this->header[] = $key . ":" . $value;
  73. }
  74. }
  75. /**模拟post 请求数据
  76. * @param $url
  77. * @param array $param
  78. */
  79. private function post($url, $param = [])
  80. {
  81. $this->param = $param;
  82. $this->makeHeader();
  83. if (is_array($param)) $post = http_build_query($param);
  84. $curl = curl_init();
  85. curl_setopt($curl, CURLOPT_URL, $url);
  86. curl_setopt($curl, CURLOPT_USERAGENT, 'Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; Trident/6.0)');
  87. curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
  88. curl_setopt($curl, CURLOPT_AUTOREFERER, 1);
  89. curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
  90. if ($post) {
  91. curl_setopt($curl, CURLOPT_POST, 1);
  92. curl_setopt($curl, CURLOPT_POSTFIELDS, $post);
  93. }
  94. curl_setopt($curl, CURLOPT_TIMEOUT, 10);
  95. curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
  96. curl_setopt($curl, CURLOPT_HTTPHEADER, $this->header);
  97. $data = curl_exec($curl);
  98. if (curl_errno($curl)) {
  99. return curl_error($curl);
  100. }
  101. curl_close($curl);
  102. return $data;
  103. }
  104. /** 登录接口
  105. * @param $param
  106. * @return bool|string
  107. */
  108. public function Login($param)
  109. {
  110. return $this->post($this->host . $this->api["login"], $param);
  111. }
  112. public function VerifyTokens($param)
  113. {
  114. return $this->post($this->host . $this->api["verifyToken"], $param);
  115. }
  116. public function GetUserInfo($param)
  117. {
  118. return $this->post($this->host . $this->api["userinfo"], $param);
  119. }
  120. public function GetUserlist($param)
  121. {
  122. return $this->post($this->host . $this->api["userlist"], $param);
  123. }
  124. public function GetList($param)
  125. {
  126. return $this->post($this->host . $this->api["userlistbycompany"], $param);
  127. }
  128. public function GetAccountall($param)
  129. {
  130. return $this->post($this->host . $this->api["userlist"], $param);
  131. }
  132. public function resetPasswd($param)
  133. {
  134. return $this->post($this->host . $this->api["setpasswd"], $param);
  135. }
  136. public function resetInfo($param)
  137. {
  138. return $this->post($this->host . $this->api["usersave"], $param);
  139. }
  140. public function resetState($param)
  141. {
  142. return $this->post($this->host . $this->api["userstatus"], $param);
  143. }
  144. //删除
  145. public function userDelete(array $param = [])
  146. {
  147. return $this->post($this->host . $this->api['userDelete'], $param);
  148. }
  149. //修改
  150. public function userSave(array $param = [])
  151. {
  152. return $this->post($this->host . $this->api['usersave'], $param);
  153. }
  154. //通用
  155. public function handle(string $key = '', array $param = [])
  156. {
  157. $rs = $this->post($this->host . $this->api[$key], $param);
  158. // echo $rs;exit;
  159. return json_decode($rs, true);
  160. }
  161. }