/** * 推送图文消息 */ public function push_news($openid, $articles) { $token = WxConfig::get_token(); foreach ($articles as $k => $v) { if ($k > 0) { $arr .= ','; } $arr .= '{ "title":"' . $v['title'] . '", "description":"' . $v['description'] . '", "url":"' . $v['description'] . '", "picurl":"' . $v['picurl'] . '" }'; } $data = '{ "touser":"******", "msgtype":"news", "news":{ "articles": [' . $arr . '] } }'; $url = "https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token=" . $token; Webown::debug_log('$$articles=======' . $data); $curl = new Curl(); $tmpInfo = $curl->post($url, $data); Webown::debug_log('$$tmpInfo=======' . $tmpInfo); }
/** * 获取发送短信的令牌 * @param Boolean $flag 是否请求新令牌:true-请求(不管本地Redis是否保存令牌) false-不请求(首先从本地Redis中取,没有的话再向服务器请求) * @return String 令牌 */ private static function getAccessToken($flag) { if (!$flag) { // 首先从本地Redis中取 $accesstoken = MyRedis::get('sms.accesstoken'); if ($accesstoken) { return $accesstoken; } } $url = "https://oauth.api.189.cn/emp/oauth2/v3/access_token"; $postData['grant_type'] = 'client_credentials'; $postData['app_id'] = YsSmSService::APPID; $postData['app_secret'] = YsSmSService::APPSECRET; foreach ($postData as $key => $value) { $post[] = $key . '=' . $value; } $curl = new t\Curl(); $resultJson = $curl->post($url, implode('&', $post)); $resObj = json_decode($resultJson); $expiers = intval($resObj->expires_in); $accesstoken = $resObj->access_token; if ($expiers > 0) { MyRedis::set('sms.accesstoken', $accesstoken, $expiers); } return $accesstoken; }
/** * 查询票的状态 * @param string $ticket_sn 票的序列号 可传单个或者多个 多个用英文逗号隔开 */ public function ticket_use_timeAct($ticket_sn) { $type = 'get'; if ($type == 'get') { $token = $this->getToken(md5('ticketusetime')); $url = $this->apiurl . '/sys/ticket/ticket_use_time?token=' . $token . '&ticketNos=' . $ticket_sn; $curl = new t\Curl(); $return = $curl->get($url); $return = json_decode($return, true); } else { $param = array('ticketNos' => $ticket_sn); $token = $this->getToken(md5('ticketusetime')); $data[] = $param; $url = $this->apiurl . '/sys/ticket/ticket_use_time?token=' . $token; $curlData = json_encode($data); $curl = new t\Curl(); $return = $curl->post($url, $curlData, 1); } return $return; }
protected function pushAuthMsg($userID) { //通知APP用户 $superUserToken = $this->getSuperUserToken(); // 获取超级用户的用户凭证 $msg['authcode'] = '123456'; $msg['format'] = 'json'; $msg['usertoken'] = $superUserToken ? $superUserToken : '-1'; $msg['real-name-userid'] = $userID; $curl = new p\Curl(); $url = __JAVA_URL__ . 'ysb/servlet/messages/realname/bound'; // 消息推送接口地址 $tmpInfo = $curl->post($url, json_encode($msg), 1); return $tmpInfo; }