오늘날 WeChat 공개 플랫폼 개발의 역사에서
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['echostr'])) { $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; } } ?>

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제









