Commit e71f4e1c by HanSon

增加上传

1 parent f24efc01
...@@ -304,6 +304,8 @@ $robot->server->setCustomHandler(function(){ ...@@ -304,6 +304,8 @@ $robot->server->setCustomHandler(function(){
- [ ] 命令行操作信息发送 - [ ] 命令行操作信息发送
- [ ] 消息抽象成每个类
- [x] 增加消息集合存储 - [x] 增加消息集合存储
- [ ] 消息发送 - [ ] 消息发送
...@@ -322,6 +324,7 @@ $robot->server->setCustomHandler(function(){ ...@@ -322,6 +324,7 @@ $robot->server->setCustomHandler(function(){
- [ ] 表情 - [ ] 表情
- [ ] 分享 - [ ] 分享
- [ ] 视频 - [ ] 视频
- [ ] 小程序
# 已知bug # 已知bug
......
...@@ -75,6 +75,8 @@ class Message ...@@ -75,6 +75,8 @@ class Message
public $rawMsg; public $rawMsg;
private $mediaCount = -1;
public function make($selector, $msg) public function make($selector, $msg)
{ {
$this->rawMsg = $msg; $this->rawMsg = $msg;
...@@ -155,7 +157,6 @@ class Message ...@@ -155,7 +157,6 @@ class Message
*/ */
private function handleMessageByType() private function handleMessageByType()
{ {
print_r($this->rawMsg);
switch($this->rawMsg['MsgType']){ switch($this->rawMsg['MsgType']){
case 1: //文本消息 case 1: //文本消息
if(Location::isLocation($this->rawMsg)){ if(Location::isLocation($this->rawMsg)){
...@@ -215,8 +216,6 @@ class Message ...@@ -215,8 +216,6 @@ class Message
$msgId = $this->parseMsgId($this->rawMsg['Content']); $msgId = $this->parseMsgId($this->rawMsg['Content']);
$message = message()->get($msgId); $message = message()->get($msgId);
$nickname = $message['sender'] ? $message['sender']['NickName'] : account()->getAccount($message['username'])['NickName']; $nickname = $message['sender'] ? $message['sender']['NickName'] : account()->getAccount($message['username'])['NickName'];
print_r($message);
Console::log('nickname:'.$nickname);
$this->content = "{$nickname} 刚撤回了消息 \"{$message['content']}\""; $this->content = "{$nickname} 刚撤回了消息 \"{$message['content']}\"";
break; break;
default: default:
...@@ -334,13 +333,11 @@ class Message ...@@ -334,13 +333,11 @@ class Message
); );
if($result['BaseResponse']['Ret'] != 0){ if($result['BaseResponse']['Ret'] != 0){
Console::log('发送消息失败'); Console::log('发送图片失败');
return false; return false;
} }
return true; return true;
} }
// pri
} }
\ No newline at end of file \ No newline at end of file
<?php
/**
* Created by PhpStorm.
* User: HanSon
* Date: 2017/1/9
* Time: 16:18
*/
namespace Hanson\Robot\Message;
/**
* Class UploadAble
* @package Hanson\Robot\Message\
*
* @property string $mediaCount
*/
trait UploadAble
{
/**
* @param $username
* @param $file
*/
public function uploadMedia($username, $file)
{
$url = 'https://file.wx.qq.com/cgi-bin/mmwebwx-bin/webwxuploadmedia?f=json';
$this->mediaCount = ++$this->mediaCount;
$lastModifyDate = gmdate('D M d Y H:i:s TO', filemtime($file));
list($mime, $mediaType) = $this->getMediaType($file);
http()->post($url, [
'id' => 'WU_FILE_' .$this->mediaCount,
'name' => $file,
'type' => $mime,
'lastModifieDate' => $lastModifyDate,
'size' => filesize($file),
'mediatype' => $mediaType,
'uploadmediarequest' => json_encode([
'BaseRequest' => server()->baseRequest,
'ClientMediaId' => (time() * 1000).mt_rand(10000,99999),
'TotalLen' => filesize($file),
'StartPos' => 0,
'DataLen' => filesize($file),
'MediaType' => 4,
'UploadType' => 2,
'FromUserName' => myself()->username,
'ToUserName' => $username,
'FileMd5' => md5_file($file)
],JSON_UNESCAPED_UNICODE|JSON_UNESCAPED_SLASHES),
'webwx_data_ticket' => http()->getClient()->get,
'pass_ticket' => $pass_ticket,
'filename' => '@'.$file_name
]);
}
private function getMediaType($file)
{
$info = finfo_open(FILEINFO_MIME_TYPE);
$mime = finfo_file($info, $file);
finfo_close($info);
return [$mime, explode('/', $mime)[0] === 'image' ? 'pic' : 'doc'];
}
}
\ No newline at end of file \ No newline at end of file
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!