PHP code example of hsinlu / wechat

1. Go to this page and download the library: Download hsinlu/wechat library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

hsinlu / wechat example snippets



json_encode(['group' => [ 'id' => $groupid, 'name' => '我的家人' ],], JSON_UNESCAPED_UNICODE);




// 一下内容中的$app均是`Hsin\Wechat\Application`对象
$app = new Hsin\Wechat\Application([
  // 应用ID
    'app_id' => '应用ID',
    // 应用密钥
    'app_secret' => '应用密钥',
    // 令牌
    'token' => '令牌',
    // 消息是否加密 
    'encrypt' => false,
    // 消息加解密密钥
    'encoding_AES_key' => '消息加解密密钥',
]);


$app->on('text', function($message) {
	return 'Hello Wechat';
});



namespace App\Wechat\Handlers;

class TextHandler
{
    /**
     * 处理微信发来的文本消息
     *
     * @param  SimpleXMLElement  $message
     * @return void
     */
    public function handle($message)
    {
    	// 处理逻辑
    }
}

$app->on('event.subscribe', function($message) {
	return '您已关注。';
});

Hsin\Wechat\Results\TextResult  // 对应文本消息
Hsin\Wechat\Results\ImageResult // 对应图片消息
Hsin\Wechat\Results\VoiceResult // 对应语音消息
Hsin\Wechat\Results\VideoResult // 对应视频消息
Hsin\Wechat\Results\MusicResult // 对应音乐消息
Hsin\Wechat\Results\NewsResult  // 对应图文消息


$app->on('text', function ($message) {
     return new TextResult([
          'fromUserName' => trim($message->ToUserName),
          'toUserName' => trim($message->FromUserName),
          'content' => '这是一条文本消息。',
     ]);
});


// 返回access token
$app->getAccessToken();

// 移除缓存中的access token
$app->forgetAccessToken();

// 获取微信服务器IP地址列表
$app->getCallbackIP();

// {
//		"ip_list":["127.0.0.1","127.0.0.1"]
// }

// 添加客服账号
// $account => 'test1@test'
// $nickname => '客服1'
// $password => 'pswmd5'
$app->addKFAccount($account, $nickname, $password);

// bool 是否添加成功

// 修改客服账号
// $account => 'test1@test'
// $nickname => '客服1'
// $password => 'pswmd5'
$app->modifyKFAccount($account, $nickname, $password);

// bool 是否修改成功

// 删除客服账号
// $account => 'test1@test'
// $nickname => '客服1'
// $password => 'pswmd5'
$app->deleteKFAccount($account, $nickname, $password);

// bool 是否删除成功

// 设置客服帐号的头像
// $account => 'test1@test'
// $avatar => '头像文件'
$app->uploadKFAccountAvatar($account, $avatar);

// bool 是否设置成功

// 获取所有客服账号
// $account => 'test1@test'
// $avatar => '头像文件'
$app->getAllKFAccount();

/*
{
    "kf_list": [
        {
            "kf_account": "test1@test", 
            "kf_nick": "ntest1", 
            "kf_id": "1001"
            "kf_headimgurl": " http://mmbiz.qpic.cn/mmbiz/4whpV1VZl2iccsvYbHvnphkyGtnvjfUS8Ym0GSaLic0FD3vN0V8PILcibEGb2fPfEOmw/0"
        }, 
        {
            "kf_account": "test2@test", 
            "kf_nick": "ntest2", 
            "kf_id": "1002"
            "kf_headimgurl": " http://mmbiz.qpic.cn/mmbiz/4whpV1VZl2iccsvYbHvnphkyGtnvjfUS8Ym0GSaLic0FD3vN0V8PILcibEGb2fPfEOmw /0"
        }, 
        {
            "kf_account": "test3@test", 
            "kf_nick": "ntest3", 
            "kf_id": "1003"
            "kf_headimgurl": " http://mmbiz.qpic.cn/mmbiz/4whpV1VZl2iccsvYbHvnphkyGtnvjfUS8Ym0GSaLic0FD3vN0V8PILcibEGb2fPfEOmw /0"
        }
    ]
}
*/

// 发送客服消息
/* $message => '{
    		"touser":"OPENID",
    		"msgtype":"text",
    		"text":
    		{
         		"content":"Hello World"
    		}
	}'
	
	$message可以为json字符串、json对象、数组,为对象或数组时会自动转化为json字符串。
*/
// 具体参见:http://mp.weixin.qq.com/wiki/1/70a29afed17f56d537c833f89be979c9.html
$app->sendKFMessage($message);

// bool 是否发送成功

/*
$articles = '{
   "articles": [
		 {
          "thumb_media_id":"qI6_Ze_6PtV7svjolgs-rN6stStuHIjs9_DidOHaj0Q-mwvBelOXCFZiq2OsIU-p",
          "author":"xxx",
			  "title":"Happy Day",
			  "content_source_url":"www.qq.com",
			  "content":"content",
			  "digest":"digest",
          "show_cover_pic":"1"
		 },
		 {
         "thumb_media_id":"qI6_Ze_6PtV7svjolgs-rN6stStuHIjs9_DidOHaj0Q-mwvBelOXCFZiq2OsIU-p",
         "author":"xxx",
			 "title":"Happy Day",
			 "content_source_url":"www.qq.com",
			 "content":"content",
			 "digest":"digest",
         "show_cover_pic":"0"
		 }
   ]
}'

$articles可以为json字符串、json对象、数组,为对象或数组时会自动转化为json字符串。
*/
$app->uploadNews($articles);

/*
{
   "type":"news",
   "media_id":"CsEf3ldqkAYJAU6EJeIkStVDSvffUJ54vqbThMgplD-VJXXof6ctX5fI6-aYyUiQ",
   "created_at":1391857799
}
*/

/*
$message = '{
   "filter":{
      "is_to_all":false
      "group_id":"2"
   },
   "text":{
      "content":"CONTENT"
   },
    "msgtype":"text"
}'

$message可以为json字符串、json对象、数组,为对象或数组时会自动转化为json字符串。
*/
// 具体参见:http://mp.weixin.qq.com/wiki/15/5380a4e6f02f2ffdc7981a8ed7a40753.html

$app->massSendByGroup($message);

/*
{
   "errcode":0,
   "errmsg":"send job submission success",
   "msg_id":34182
}
*/