Beispiel #1
0
 /**
  * 接受用户发送的消息
  */
 public static function receiveMsg($paramArr)
 {
     $options = array('subscribeCallback' => false, 'unsubscribeCallback' => false, 'clickCallback' => false);
     if (is_array($paramArr)) {
         $options = array_merge($options, $paramArr);
     }
     extract($options);
     $postStr = $GLOBALS["HTTP_RAW_POST_DATA"];
     if (!$postStr) {
         return array();
     }
     $outArr = array();
     $postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);
     self::$userOpenId = $postObj->FromUserName ? (string) $postObj->FromUserName : "";
     self::$ourWxId = $postObj->ToUserName ? (string) $postObj->ToUserName : "";
     $msgType = (string) $postObj->MsgType;
     $outArr = (array) $postObj;
     $outArr["OurWeixinId"] = (string) self::$ourWxId;
     $outArr["UserOpenId"] = (string) self::$userOpenId;
     if ('event' == $msgType) {
         #事件的处理
         switch ((string) $postObj->Event) {
             case "subscribe":
                 #订阅事件
                 if ($subscribeCallback) {
                     call_user_func($subscribeCallback, $outArr);
                 }
                 break;
             case "unsubscribe":
                 #取消订阅
                 if ($unsubscribeCallback) {
                     call_user_func($unsubscribeCallback, $outArr);
                 }
                 break;
             case "CLICK":
                 #自定义菜单点击事件
                 self::$EventKey = $postObj->EventKey ? (string) $postObj->EventKey : "";
                 $outArr["MenuKey"] = (string) self::$EventKey;
                 if ($clickCallback) {
                     call_user_func($clickCallback, $outArr);
                 }
                 break;
         }
     } else {
         #普通消息
         if ("text" == $msgType) {
             $outArr["Content"] = (string) $postObj->Content;
         } elseif ("image" == $msgType) {
             $outArr["PicUrl"] = (string) $postObj->PicUrl;
         }
         return $outArr;
     }
 }
Beispiel #2
0
function sendMessage($msg)
{
    return API_Item_Open_Weixin::answerText(array('content' => $msg));
}
Beispiel #3
0
          "type":"click",
          "name":"今日歌曲",
          "key":"V1001_TODAY_MUSIC"
      },
      {
           "name":"菜单",
           "sub_button":[
           {	
               "type":"view",
               "name":"搜索",
               "url":"http://www.soso.com/"
            },
            {
               "type":"view",
               "name":"视频",
               "url":"http://v.qq.com/"
            },
            {
               "type":"click",
               "name":"赞一下我们",
               "key":"V1001_GOOD"
            }]
       }]
 }';
//获得一个AccessToken
$accessToken = API_Item_Open_Weixin::getAccessToken(array('appId' => AppID, 'appSecret' => AppSecret));
$menuData = array('button' => array(array('name' => '会员', 'sub_button' => array(array('type' => 'click', 'name' => 'AA1', 'key' => 'BTN_MEMBER_VIEWSCORE'), array('type' => 'view', 'name' => 'AA2', 'url' => 'http://m.zol.com.cn/'), array('type' => 'scancode_push', 'name' => 'AA3', "key" => "rselfmenu_0_1", "sub_button" => array()))), array('name' => 'BB', 'sub_button' => array(array('type' => 'pic_sysphoto', 'name' => 'BB1', "key" => "rselfmenu_1_1", "sub_button" => array()), array('type' => 'pic_photo_or_album', 'name' => 'BB2', "key" => "rselfmenu_1_2", "sub_button" => array()), array('type' => 'location_select', 'name' => 'BB3', "key" => "rselfmenu_1_3", "sub_button" => array())))));
$menuData = api_json_encode($menuData);
//创建菜单
$msg = API_Item_Open_Weixin::createManu(array('appId' => AppID, 'appSecret' => AppSecret, 'data' => $menuData));
var_dump($msg);