微信公众号开发笔记2-自定义菜单

前端开发 作者: 2024-08-26 00:40:01
创建菜单的方法 首先确定你的菜单的JSON结构,比如 a)将以下代码保存为menu.php,并且在浏览器中运行该文件(比如 http://1.applinzi.com/menu.php),将直接向微信
{
     "button":[
     {    
          "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"
            }]
       }]
 }
<?php

$appid = "aaaaaa";
$appsecret = "bbbbbbbbbbbbbbbb"$url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=$appid&secret=$appsecret";

$output = https_request($url);
$jsoninfo = json_decode($output,true);

$access_token = $jsoninfo["access_token"];


$jsonmenu = '';


$url = "https://api.weixin.qq.com/cgi-bin/menu/create?access_token=".$access_token$result = https_request($url,$jsonmenu);
var_dump($result);

function https_request($data = null){
    $curl = curl_init();
    curl_setopt($curl,CURLOPT_URL,1)">);
    curl_setopt(FALSE);
    if (!empty($data)){
        curl_setopt();
        curl_setopt();
    }
    curl_setopt();
    $output = curl_exec($curl);
    curl_close(return $output;
}

?>
View Code
<?php

/* 
【版权声明】 
    本软件产品的版权归方倍工作室所有,受《中华人民共和国计算机软件保护条例》等知识产权法律及国际条约与惯例的保护。您获得的只是本软件的使用权。 
 
    您不得: 
    * 在未得到授权的情况下删除、修改本软件及其他副本上一切关于版权的信息; 
    * 销售、出租此软件产品的任何部分; 
    * 从事其他侵害本软件版权的行为。 
 
    如果您未遵守本条款的任一约定,方倍工作室有权立即终止本条款的执行,且您必须立即终止使用本软件并销毁本软件产品的任何副本。这项要求对各种拷贝形式有效。 
 
    您同意承担使用本软件产品的风险,在适用法律允许的最大范围内,方倍工作室在任何情况下不就因使用或不能使用本软件产品所发生的特殊的、意外的、非直接或间接的损失承担赔偿责任。即使已事先被告知该损害发生的可能性。 
 
    如使用本软件所添加的任何信息,发生版权纠纷,方倍工作室不承担任何责任。 
 
    方倍工作室对本条款拥有最终解释权。 
 
    CopyRight 2013  方倍工作室  All Rights Reserved 
 
*/ 

define("TOKEN","weixin"$wechatObj = new wechatCallbackapiTest();
isset($_GET['echostr'])) {
    $wechatObj->responseMsg();
}else{
    valid();
}

class wechatCallbackapiTest
{
    public function valid()
    {
        $echoStr = $_GET["echostr"];
        if($this->checkSignature()){
            echo $echoStr;
            exit;
        }
    }

    private  checkSignature()
    {
        $signature = $_GET["signature"];
        $timestamp = $_GET["timestamp"$nonce = $_GET["nonce"];

        $token = TOKEN;
        $tmpArr = array($token,1)">$timestamp,1)">$nonce);
        sort($tmpArr);
        $tmpStr = implode(  );
        sha1( $tmpStr );

        if( $tmpStr == $signature ){
            return ;
        }{
            false responseMsg()
    {
        $postStr = $GLOBALS["HTTP_RAW_POST_DATA"$postStr)){
            $postObj = simplexml_load_string($postStr,'SimpleXMLElement',1)"> LIBXML_NOCDATA);
            $RX_TYPE = trim($postObj->MsgType);

            switch ($RX_TYPE)
            {
                case "text":
                    $resultStr = $this->receiveText($postObj);
                    break;
                case "event":
                    $this->receiveEvent(default:
                    $resultStr = "";
                    ;
            }
            $resultStr {
            echo ""function receiveText($object)
    {
        $funcFlag = 0;
        $contentStr = "你发送的内容为:".$object->Content;
        $this->transmitText($object,1)">$contentStr,1)">$funcFlag;
    }
    
    function receiveEvent($contentStr = "";
        Event)
        {
            case "subscribe":
                $contentStr = "欢迎关注方倍工作室"case "unsubscribe":
                case "CLICK":
                EventKey)
                {
                    case "company":
                        $contentStr[] = array("Title" =>"公司简介","Description" =>"方倍工作室提供移动互联网相关的产品及服务","PicUrl" =>"http://discuz.comli.com/weixin/weather/icon/cartoon.jpg","Url" =>"weixin://addfriend/pondbaystudio");
                        default:
                        array("Title" =>"默认菜单回复","Description" =>"您正在使用的是方倍工作室的自定义菜单测试接口",1)">;
                }
                default:
                ;      

        }
        if (is_array($contentStr$this->transmitNews();
        }{
            );
        }
        ;
    }

    function transmitText($content,1)">$textTpl = "<xml>
<ToUserName><![CDATA[%s]]></ToUserName>
<FromUserName><![CDATA[%s]]></FromUserName>
<CreateTime>%s</CreateTime>
<MsgType><![CDATA[text]]></MsgType>
<Content><![CDATA[%s]]></Content>
<FuncFlag>%d</FuncFlag>
</xml>"$resultStr = sprintf($textTpl,1)">$object->FromUserName,1)">$object->ToUserName,1)">time(),1)">function transmitNews($arr_item,1)">)
    {
        //首条标题28字,其他标题39字
        if(!$arr_item))
            return;

        $itemTpl = "    <item>
        <Title><![CDATA[%s]]></Title>
        <Description><![CDATA[%s]]></Description>
        <PicUrl><![CDATA[%s]]></PicUrl>
        <Url><![CDATA[%s]]></Url>
    </item>
"$item_str = ""foreach ($arr_item as $item)
            $item_str .= $itemTpl,1)">$item['Title'],1)">$item['Description'],1)">$item['PicUrl'],1)">$item['Url']);

        $newsTpl = "<xml>
<ToUserName><![CDATA[%s]]></ToUserName>
<FromUserName><![CDATA[%s]]></FromUserName>
<CreateTime>%s</CreateTime>
<MsgType><![CDATA[news]]></MsgType>
<Content><![CDATA[]]></Content>
<ArticleCount>%s</ArticleCount>
<Articles>
$item_str</Articles>
<FuncFlag>%s</FuncFlag>
</xml>"$newsTpl,1)">count($arr_item),1)">;
    }
}
?>
View Code
原创声明
本站部分文章基于互联网的整理,我们会把真正“有用/优质”的文章整理提供给各位开发者。本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
本文链接:http://www.jiecseo.com/news/show_68685.html