오늘날 WeChat 공개 플랫폼 개발의 역사에서

高洛峰
풀어 주다: 2017-03-04 11:33:50
원래의
1881명이 탐색했습니다.

1. 역사 속 오늘

역사의 긴 강을 되돌아보면 역사는 삶의 거울이며, 역사를 거울로 삼아 우리는 흥망성쇠를 알 수 있습니다. 역사 속의 매일매일은 혼합된 축복입니다. 역사상 오늘 일어난 사건을 이해하는 것은 과거로부터 교훈을 얻는 데 도움이 될 수 있으며 역사는 잊혀질 수 없습니다. 여기에서 매일의 역사적인 이야기를 읽을 수 있고, 매일 어떤 주요 사건이 일어났는지, 역사 속에서 누가 태어나고 죽었는지, 매일 어떤 기념일과 축제를 기념하는지 등을 여기에서 쉽게 찾아볼 수 있습니다!
달력은 우리 삶에 있어서 간단하지만 중요한 도구입니다. 다양한 연도의 달력을 열어보면 새해 첫날과 같이 매년 같은 날을 경험하게 됩니다. 혹은 크리스마스, 매일 밖에 나갈 때처럼 우리는 늘 문앞을 지나갑니다. 이 단순한 날, 역사상 놀라운 일들이 많이 일어났고, 심지어 세계의 역사를 바꾸는 일들도 일어났습니다. 이러한 역사적 사건의 시기와 의미는 역사책에 확고하게 기록되어 있습니다. 어쩌면 중요한 역사적 사건의 날짜가 자신이 태어난 날이라는 것을 알게 될 수도 있습니다. 운이 좋다면, 당신의 생일이 중요한 휴일과 일치할 수도 있습니다. 그래서 독자들이 자신이 태어난 날을 자랑스러워하고 영감을 얻을 수 있도록 독자들의 생일이나 관심 있는 날에 역사에서 어떤 중요한 일이 일어났는지 알려드리기 위해 이 독서백과사전을 날짜별로 정리했습니다. 독자 여러분의 이상을 위해 열심히 노력해주세요

2. 자료 출처

다음은 1년에 366년 16일입니다. (윤년의 경우 2월 29일 포함) 해당 날짜를 클릭하시면 과거 해당 날짜의 기록을 보실 수 있습니다.

1月12345678910111213141516171819202122232425262728293031     2月1234567891011121314151617181920212223242526272829       3月12345678910111213141516171819202122232425262728293031    
4月123456789101112131415161718192021222324252627282930      5月12345678910111213141516171819202122232425262728293031     6月123456789101112131415161718192021222324252627282930     
7月12345678910111213141516171819202122232425262728293031     8月12345678910111213141516171819202122232425262728293031     9月123456789101112131415161718192021222324252627282930     
10月12345678910111213141516171819202122232425262728293031     11月123456789101112131415161718192021222324252627282930      12月12345678910111213141516171819202122232425262728293031    

3. 미리보기

微信公众平台开发历史上的今天

구현 코드:

<?php

define("TOKEN", "weixin");

$wechatObj = new wechatCallbackapiTest();
if (!isset($_GET[&#39;echostr&#39;])) {
    $wechatObj->responseMsg();
}else{
    $wechatObj->valid();
}

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

    private function checkSignature()
    {
        $signature = $_GET["signature"];
        $timestamp = $_GET["timestamp"];
        $nonce = $_GET["nonce"];
        $token = TOKEN;
        $tmpArr = array($token, $timestamp, $nonce);
        sort($tmpArr);
        $tmpStr = implode($tmpArr);
        $tmpStr = sha1($tmpStr);

        if($tmpStr == $signature){
            return true;
        }else{
            return false;
        }
    }

    public function responseMsg()
    {
        $postStr = $GLOBALS["HTTP_RAW_POST_DATA"];
        if (!empty($postStr)){
            $postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);
            $RX_TYPE = trim($postObj->MsgType);

            switch ($RX_TYPE)
            {
                case "text":
                    $resultStr = $this->receiveText($postObj);
                    break;
                case "event":
                    $resultStr = $this->receiveEvent($postObj);
                    break;
                default:
                    $resultStr = "";
                    break;
            }
            echo $resultStr;
        }else {
            echo "";
            exit;
        }
    }

    private function receiveText($object)
    {
        $keyword = trim($object->Content);
        $url = "http://api100.duapp.com/history/?appkey=trialuser";
        $output = file_get_contents($url);
        $contentStr = json_decode($output, true);
        
        if (is_array($contentStr)){
            $resultStr = $this->transmitNews($object, $contentStr);
        }else{
            $resultStr = $this->transmitText($object, $contentStr);
        }
        return $resultStr;
    }

    private function receiveEvent($object)
    {
        $contentStr = "";
        switch ($object->Event)
        {
            case "subscribe":
                $contentStr = "欢迎关注方倍工作室";
                break;
            default:
                break;
        }
        $resultStr = $this->transmitText($object, $contentStr);
        return $resultStr;
    }
    
    private function transmitText($object, $content)
    {
        $textTpl = "<xml>
<ToUserName><![CDATA[%s]]></ToUserName>
<FromUserName><![CDATA[%s]]></FromUserName>
<CreateTime>%s</CreateTime>
<MsgType><![CDATA[text]]></MsgType>
<Content><![CDATA[%s]]></Content>
</xml>";
        $resultStr = sprintf($textTpl, $object->FromUserName, $object->ToUserName, time(), $content);
        return $resultStr;
    }

    private function transmitNews($object, $arr_item)
    {
        if(!is_array($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 .= sprintf($itemTpl, $item['Title'], $item['Description'], $item['PicUrl'], $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>
</xml>";

        $resultStr = sprintf($newsTpl, $object->FromUserName, $object->ToUserName, time(), count($arr_item));
        return $resultStr;
    }
}
?>
로그인 후 복사

이날 WeChat 공개 플랫폼 개발 역사에 관한 더 많은 관련 기사를 보려면 , PHP 중국어 웹사이트를 주목해주세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!