<?php include '../models/utils/emoji.php'; $client = \app\models\ClientWechat::findOne(['gh_id' => $wx_user->gh_id])->client; $messages = \app\models\WechatMessage::getRecentMessages($wx_user->id, $reciever->id); $communicatee_ids = \app\models\WechatMessage::getUniqueCommunicateeIds($wx_user->id); \Yii::$app->wx->setGhId($wx_user->gh_id); $gh = \Yii::$app->wx->getGh(); $jssdk = new \app\models\JSSDK($gh['appid'], $gh['appsecret']); $signPackage = $jssdk->GetSignPackage(); ?> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>襄阳联通</title> <!-- Sets initial viewport load and disables zooming --> <meta name="viewport" content="initial-scale=1, maximum-scale=1, user-scalable=no, minimal-ui"> <!-- Makes your prototype chrome-less once bookmarked to your phone's home screen --> <meta name="apple-mobile-web-app-capable" content="yes"> <meta name="apple-mobile-web-app-status-bar-style" content="black"> <!-- Include the compiled Ratchet CSS --> <link href="/wx/web/ratchet/dist/css/ratchet.css?v12" rel="stylesheet"> <style> .bar-footer-secondary { border-top: 0; height: 65px; }
public static function sendMessageAjax($sender_id, $reciever_id, $content_type, $content) { $message_content = new WechatMessageContent(); $message_content->content_type = $content_type; $message_content->content = $content; $message_content->save(false); $messaging = new WechatMessage(); $messaging->sender_id = $sender_id; $messaging->reciever_id = $reciever_id; $messaging->content_id = $message_content->content_id; $messaging->save(false); if (WechatMessageContent::MSGTYPE_TEXT == $content_type) { return json_encode(['code' => 0, 'msgid' => $messaging->message_id, 'send_time' => date('Y-m-d H:i:s'), 'content_type' => $messaging->content->content_type, 'content' => emoji_unified_to_html(emoji_softbank_to_unified($content))]); } else { if (WechatMessageContent::MSGTYPE_VOICE == $content_type) { return json_encode(['code' => 0, 'msgid' => $messaging->message_id, 'send_time' => date('Y-m-d H:i:s'), 'content_type' => $messaging->content->content_type, 'content' => $content]); } else { return json_encode(['code' => -1]); } } }
public function getMessaging() { return $this->hasMany(WechatMessage::className(), ['content_id' => 'content_id']); }
public function afterSave($insert, $changedAttributes) { if (!$insert && isset($changedAttributes['msg_time'])) { // U::W(['MUser::afterSave', $insert, $changedAttributes]); $messages = WechatMessage::find()->where(['reciever_id' => $this->id, 'recieve_time' => '0000-00-00 00:00:00'])->all(); foreach ($messages as $message) { // $sender = MUser::findOne(['id' => $message->sender_id]); // $content = $message->content->content; // $content = $sender->nickname . "说:" . PHP_EOL . PHP_EOL . $content; if ($this->sendWechatMessage($message)) { $message->updateAttributes(['recieve_time' => date('Y-m-d H:i:s')]); } } } parent::afterSave($insert, $changedAttributes); }