'暂无订单', -2=>'暂无卡密', 1=>'成功' ); protected string $host = 'http://111.229.68.136:9999/'; public function initialize(): void { #47609e509f946ecbfdba27f16db341c4 parent::initialize(); #获取wechat信息 } #发送文本 public function send_text($content,$receiver,$aters =false) { $url = $this->host.'text'; $request = [ 'aters' =>'', 'msg'=>$content, 'receiver'=>$receiver ]; if($aters){ $request['aters'] = $aters; } return $this->curl('post', $url,$request,true); } public function get_all_contacts() { $url = $this->host.'contacts'; return $this->curl('get', $url); } public function send_image($content,$receiver,$aters =false) { } public function get_contacts($wx_id) { $redis = RedisService::getInstance(); try{ $data = $redis->get('Wechat_all_contacts'); if($data){ foreach ($data as $k=>$v){ if($v['wxid'] == $wx_id){ return $v['name']; } } $all_contacts = $this->get_all_contacts(); $Contacts_array = json_decode($all_contacts,true); if(!is_array($Contacts_array) || !isset( $Contacts_array['data']['contacts']) )return false; $acc = $Contacts_array['data']['contacts']; foreach ($acc as $k=>$v){ if($v['wxid'] == $wx_id){ $redis->delete('Wechat_all_contacts'); $redis->set('Wechat_all_contacts',$Contacts_array['data']['contacts'],86400); return $v['name']; } } }else{ $all_contacts = $this->get_all_contacts(); $Contacts_array = json_decode($all_contacts,true); if(!is_array($Contacts_array) || !isset( $Contacts_array['data']['contacts']) )return false; $acc = $Contacts_array['data']['contacts']; foreach ($acc as $k=>$v){ if($v['wxid'] == $wx_id){ $redis->set('Wechat_all_contacts',$Contacts_array['data']['contacts'],86400); return $v['name']; } } } return false; }catch (\Exception $e){ try{ $all_contacts = $this->get_all_contacts(); $Contacts_array = json_decode($all_contacts,true); if(!is_array($Contacts_array) || !isset( $Contacts_array['data']['contacts']) )return false; $acc = $Contacts_array['data']['contacts']; foreach ($acc as $k=>$v){ if($v['wxid'] == $wx_id){ return $v['name']; } } return false; }catch (\Exception $e){ return false; } } } public function set_manage($wx_id,$type = 1) { $redis = RedisService::getInstance(); $name = $this->get_contacts($wx_id); if($name){ $get = $redis->get('Wechat_manage_' . $wx_id); if($type == 1) { if($get){ if($get != $name){ $redis->set('Wechat_manage_' . $wx_id, $name); } return '已经设置过管理员'; } $redis->set('Wechat_manage_' . $wx_id, $name); return 'ok'; } if($type == 2) { if(!$get){ return '不存在管理员'; } $redis->delete('Wechat_manage_' . $wx_id); return 'ok'; } } return 'fail'; } # 是否检测数据 // protected bool $check = false; # 查询接口 一般用于查询数据,同步执行 # 提交接口 一般用于提交数据,异步执行 public function send($url, $param) { $geturl = 'http://127.0.0.1:7374/' . $url; return http_post($geturl, $param); } public function send_post($notify_url, $post_data, $type): mixed { $postdate = json_encode($post_data); // $postdate = http_build_query($post_data); $options = array( 'http' => array( 'method' => $type, 'header' => 'Content-type:application/json', 'content' => $postdate, 'timeout' => 15 * 60 // 超时时间(单位:s) ) ); $context = stream_context_create($options); return file_get_contents($notify_url, false, $context); } public function curl($method, $url, $param = array(), $json = false, $header = false):mixed { if ($param) { $log['type'] = 'request'; $log['url'] = $url; $log['param'] = $param; $this->log($log); } $curl = CurlService::getInstance($url, $param, $method, $json, $header); $curl->setTimeOut(3600); return $curl->result(); } protected static function log($data, $type = 'request'):void { \dever\Log::write('kami91', $type, $data); // \dever\Log::write('jingdong', $type, $data); } }