微信公众平台开发 历史上的今天 当年今日
作者:方倍工作室 
原文: http://www.cnblogs.com/txw1958/p/weixin-44-history.html

一、历史上的今天

回顾历史的长河,历史是生活的一面镜子;以史为鉴,可以知兴衰;历史上的每一天,都是喜忧参半;可以了解历史的这一天发生的事件,借古可以鉴今,历史是不能忘记的。 这里你可以阅读每一天的历史故事,每天发生了哪些大事,历史上谁诞生和逝世了,每天都是什么纪念日、节日,在这里你都可以容易浏览到!
在我们生活中,日历是一个简单而重要的工具,只要翻开不同年份的日历,你会发现日期的排布总是一样的,在每一年我们都会经历相同的一天,比如元旦或圣诞节,就好像我们每一天出门,总会从门口经过一样。就在这简单的一天里,在历史上曾经发生过许多不同寻常的事情,甚至是改变世界历史的事情。这些历史事件发生的时间和意义被牢牢地记录在历史书籍上,也许你会碰巧发现一些重要的历史事件发生的日期就是你出生的那一天。如果幸运的话,也许你的生日会和某一个重要节日重合,这是多么有趣的事情啊!因此我们编写了这一套以日期为顺序的阅读百科书籍,让读者知道在自己生日那一天,或者是在自己感兴趣的那一天里,在历史上都发生过什么重要的事情,使读者为自己出生的那天而自豪,激励读者为自己的理想而努力奋斗

二、数据源

下列一年三百六十六天(含闰年2月29日)。点击某天,可查阅以往该日历史。

1月
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        
2月
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29            
3月
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        
4月
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30          
5月
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        
6月
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30          
7月
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        
8月
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        
9月
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30          
10月
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        
11月
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30          
12月
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        

三、预览

实现代码:

<?php
/*方倍工作室CopyRight 2013 All Rights Reserved
*/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;}
}
?>

转载于:https://www.cnblogs.com/txw1958/p/weixin-44-history.html

微信公众平台开发(44)历史上的今天相关推荐

  1. PHP实现微信公众平台开发---提升篇(上传素材并回复)

    一.HTTP接收事件订阅与恢复响应消息 i. 接收事件推送 并回复 1. 无连接:当用户关注微信公众账号的时候  微信公众平台会向我们推送post请求  关注推送的并不是数组  而是XML 2. 接收 ...

  2. java微信公众平台开发四(上传素材)

    最近公司要做微信方面的开发,今天说下,如何使用微信的素材管理的接口,这里主要讲下素材的上传接口,下载之类的比较简单(就是解析json而已),今天会把所有的素材上传写道一个方法里供大家参考,关于上传的接 ...

  3. 微信公众平台开发最佳实践(第2版)

    <微信公众平台开发最佳实践 第2版> 微信公众平台开发经典之作全新改版,精心挑选最经典的商业项目开发,成千上万人次微信公众平台开发者从中受益 前言 出版说明 自从方倍工作室在博客园推出微信 ...

  4. 微信公众平台开发(82) 天气预报

    在这篇教程中,我们将介绍如何在微信公众平台上开发天气预报功能.我们将使用中国天气网的气象数据接口来获取天气信息. 这篇教程将介绍以下内容: 获取中国天气网的气象数据 在微信公众平台中回复天气 一.中国 ...

  5. 微信公众平台开发(104) 自定义菜单扫一扫、发图片、发地理位置

    关键字:微信公众平台 自定义菜单 扫一扫 发图片 发地理位置 作者:方倍工作室 原文:http://www.cnblogs.com/txw1958/p/weixin-menu-new-type.htm ...

  6. 微信公众平台开发中-SAE不支持XStream框架的解决方案

    问题描述 最近几天(2014年8月20日之后),突然有不少网友反应,柳峰博客中的微信公众平台开发代码在SAE上运行会报错,或者是能正常部署,但向公众号发消息没反应.以前也有一些初学者质疑过我博客中的代 ...

  7. 《微信公众平台开发:从零基础到ThinkPHP5高性能框架实践》——3.3 微信开发者中心...

    本节书摘来自华章计算机<微信公众平台开发:从零基础到ThinkPHP5高性能框架实践>一书中的第3章,第3.3节,作者 方倍工作室,更多章节内容可以访问云栖社区"华章计算机&qu ...

  8. 第六篇 :微信公众平台开发实战Java版之如何自定义微信公众号菜单

    我们来了解一下 自定义菜单创建接口: http请求方式:POST(请使用https协议) https://api.weixin.qq.com/cgi-bin/menu/create?access_to ...

  9. 微信公众平台开发(110) 微信连Wi-Fi

    微信连Wi-Fi是为商家的线下场所提供一套完整和便捷的微信连Wi-Fi的方案.商家接入微信连Wi-Fi后,顾客无需输入繁琐的Wi-Fi密码,通过微信扫二维码等方式即可快速上网.微信连Wi-Fi还帮助商 ...

最新文章

  1. ubuntu16.04系统下创建python隔离环境
  2. 如何一眼识别蚂蚁集团身价千万的阿里人
  3. python开发工程师面试题-超实用面试必看,Python工程师面试题
  4. Microsoft Bot Framework 上手
  5. 中国机器人市场前景开阔 本土企业如何突围?
  6. uiswitch样式_Swift - 表格UITableView的plain、grouped两种样式详解(附分组头悬停)
  7. 使用Apex进行混合精度训练
  8. QT 提示之右下角冒泡
  9. 每天定时打开某个网页_纯技术分享,不借助任何工具下载网页中的视频、音乐等~...
  10. 法拉利杀手Koenigsegg CCX
  11. 000001 Kick off
  12. openlayers4+中高德导航路径的实现
  13. 计算机组装考核记录表,计算机组装与维护考核方案(必修).doc
  14. Windows自带远程连接Ubuntu桌面
  15. iPhone SE2外观酷似iPhone 8,香吗?
  16. Python数据分析知识汇总
  17. C#基础知识点个人整理【菜鸟教程】
  18. 华为交换机日志格式和级别说明
  19. 33岁适合学java吗_33岁女生想学习Java好不好
  20. 程序运行程序是出现的this application has requested the runtime to terminate it in an unusual way. 异常分析

热门文章

  1. linux 检测远程端口是否打开---nmap命令
  2. php mysql 登录注销_PHP与MYSQL实现用户登录注销
  3. Linux命令pdm -cli,pdm下载器下载 Persepolis Download Manager(aria2下载器) v3.1.0 Linux 官方安装免费版 下载-脚本之家...
  4. kudu大量数据更新_i2Stream提升异构数据库数据的互联互通
  5. 矩阵的秩到底描述了什么?
  6. VMware Fusion 静态ip
  7. VS Code,请还我文件!!!
  8. 用Python轻松开发数据库取数下载工具
  9. Python的3种字符串格式化,做个超全对比!
  10. 靠 GitHub 打赏谋生的程序员,他们是怎么做的?