标签: 微信

我的故事是我内心的狂想

开篇之作,本想矫情一番,写点心灵鸡汤什么的,但是一逛朋友圈就全是汤,湿得不行,对于这种我是避而远之的,发现一个拉黑一个,而不管你是领导朋友小伙伴,还是绿茶土豪黑木耳。对于自己喜欢的事情我一向都是爱憎分明的,有时甚至是极端。

 

我关注你,并是不因为你发的鸡汤就真的能让我一下子成长为凤凰;我关注你,是因为我敬你爱你惜你。我想知道你的现状、你的喜怒哀乐、你的一颦一笑,仅此而已。

 

吐槽完了,开始写我自己。

 

说实话我一直觉得自己没有出众的文采,没有登峰造极的特长,可世事就是这样,每个人都有自己平凡的一生,不管你年少如何轻狂,不管你二代如何嚣张,三十年河东河西的事情谁也说不准,到头来,白灰一坛风没了,放古代,至少还有个一簇土一块碑。

 

也不知道是从何时开始,我喜欢给自己身边的每个人、每件物都取一个名字,觉着对自己重要的人或物是有资格让它们有名有份的。这习惯不知道是好是坏,但是至少我已经习惯了。

 

【我的小美】

 

说起习惯,我自认为有很多的恶习,也一直打内心的想改变。比如说晚睡这事,其实现在写这篇文章已经是凌晨两点了,明早六点半就要起床,熬夜也就成了家常便饭,每天给自己上十个闹钟,睡四小时,我都搞不懂我自己。

 

人总是喜欢为自己找这样或者那样的借口,晚睡就晚睡了吧,还要千方百计的扪心自问一下究竟是怎么晚睡的,什么原因晚睡的。傻吧!

 

我喜欢旅行,但是没时间;我喜欢摄影,却一直没有潜心研究。有时候对自己挺失望的。也许人生就是这样,不能尽全力爱你所爱之物,爱你所爱之人。值得庆幸的是,自己还在一直坚持着两件事:诗词网微信和骑行。

 

【和小伙伴一起骑大学城】

 

关于骑行,最初也是因朋友而起,然后每天骑车上班,差不多一年多的时间了,并不是为了省车费,而是因为广州的公车太难挤,更因为我喜欢那种自由自在的感觉,喜欢那种操控一切的酣畅。也因此渐渐的喜欢上骑车,天天骑行,下雨除外,以致每天起床就站在窗口探个头看看是否下雨。

 

【一百七十多公里的距离】

 

更深层次的说,其实我一直都向往着骑行西藏,去走走517、318,看看那条被人们称为心灵净化之路的旅途,看看那些三叩九拜虔诚的朝圣者,看看那朵无名路边娇艳的格桑花。之前我也曾从广州骑行到深圳、中山,犹记得夏天骑去深圳,没做防晒,结果晒得我整个脸都浮肿了,回来后脖子、手臂红肿,结果硬是腿了一层皮才完事。

 

【朋友骑行的一点纪念】

 

【有时候也会跑跑山路】

 

不过相对于一点点皮外伤而言,毅力的锻炼以及心灵的成长才是最重要的,一圈圈前进的车轮仿佛就像我正在延伸的生命一样。一次次的伤害,人才会懂得成长。

 

总之,坚持我所认为正确的事,我所决计付出的事,持之以恒的坚持着,我坚信,总有一天,我会看见阳光。

 

【骑行中的景色】

 

【骑行中的景色】

 

【骑行中的景色】

 

【骑行中的景色】

 

【唠嗑】

所有的文字,甚至配图,我会尽量保证是自己一下一下打出来,一张一张拍出来的,写的也是我自己内心的一些想法。

如何判断微信内置浏览器

如何判断微信内置浏览器,首先需要获取微信内置浏览器的User Agent,经过在 iPhone 上微信的浏览器的检测,它的 User Agent 是:

Mozilla/5.0 (iPhone; CPU iPhone OS 6_1_3 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Mobile/10B329 MicroMessenger/5.0.1

所以通过识别 MicroMessenger 这个关键字来确定是否微信内置的浏览器了。

通过 JavaScript 判断

function is_weixn(){
var ua = navigator.userAgent.toLowerCase();
if(ua.match(/MicroMessenger/i)==”micromessenger”) {
return true;
} else {
return false;
}
}

通过 PHP 判断

function is_weixin(){
if ( strpos($_SERVER[‘HTTP_USER_AGENT’], ‘MicroMessenger’) !== false ) {
return true;
}
return false;
}

【更新的有效代码】

<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”>
<html xmlns=”http://www.w3.org/1999/xhtml”>
<head>

</head>

<body>

<?php
$user_agent = $_SERVER[‘HTTP_USER_AGENT’];

if (strpos($user_agent, ‘MicroMessenger’) === false)
{
echo “非微信浏览器禁止浏览”;
} else
{
echo “微信浏览器,允许访问”;
preg_match(‘/.*?(MicroMessenger/([0-9.]+))s*/’, $user_agent, $matches);
echo ‘<br>你的微信版本号为:’.$matches[2];
}
?>

</body>

诗词网微信版本更新日志

2013-08-17更新日志:
1、代码更新至2.0.1版:增加24小时内的用户关注、取消、文本、图片、位置、事件、语言数统计;
2、增加用户消息的发送时间、类型、内容数统计;记录回复消息的类型、增加后台删除数据功能。
3、修改微信Token,对应URL保持不变。
4、取消图文消息回复的图片链接(代码内及后台均不设置,统一图片存放路径),提高手机端加载速度,回复消息默认增加至10条。
5、增加收到语音消息后回复文本提示。
6、文本消息回复隐藏URL;微博浏览页面默认修改为手机触屏版。
7、延续、更新上一版本的自定义音乐回复代码(自行添加音乐回复格式及其他自定义关键字代码)

{To Be A Coder}【一小白关于弄代码的那些事】

写在前面:
近期因为要考试,每天几百题的量,看得吐血,打印出来废纸张,不环保,整天拿着纸跑来跑去的有点二,于是乎萌发把题库放微信公众账号上来复习,这样利己,还能利人。怎样实现,这便是接下来要说的事。

有了想法,下一步是整理思路、制定方案、然后执行。

【思路】:
只要发送任意题目序号,就可以获得该题目内容及答案。

【方案】:
[1]、用户关注

[2]、引导用户开始查询

[3]、获取用户发送的数据

[3.1]、若数据不为空,则匹配数据库。

[3.1.1]、如存在该题号,则文本回复相关内容。

[3.1.2]、若不存在该题号,则进行提醒。

[3.2]、若数据为空,则无需匹配数据库,直接进行提醒。

[4]、结束。

有了方案,下一步需要分析存在的难点是什么,以及寻求解决的方法:
1、用户关注如何进行引导?
2、如何获取用户发送的数据?
3、如何匹配数据库?
4、如何以文本的形式进行回复?
5、数据库如何建议及数据如何导入?

因为从未学过系统的编程知识,变量、条件判断….什么的都不懂,只能找代码一个人慢慢琢磨,删删改改以便达到自己的要求。在此特别要谢谢@青龙老贼、@ZTalk技术群、w3cschool以及除度娘以外的搜索引擎。

之前@青龙老贼 有一个企业通讯录的教程,我的方案中所存在的问题都有涉及,所以就直接拿他的代码来学习。

【执行】:
1、首先用户关注如何进行引导:
判断消息类型为订阅事件,便引出欢迎语及操作提示。
代码示例:

 

2、获取用户发送的数据:
判断用户消息为文本类型,则匹配数据库,如存在则进行文本回复。
难点在于如何匹配数据库?如何以文本返回数据库的内容。
代码如下:

第65行代码:if($show_value=check_user($form_Content)),设定了变量$show_value、函数check_user(进行数据库匹配)、变量$form_Content(实际为用户发送的数据)。

3、匹配数据库:
函数check_user的主要作用就是匹配数据库,此代码根据@青龙老贼 的代码进行修改成自己的数据库内容。
函数check_user的代码如下:

其中“bigshow”为数据库表名,“show_id“为表内字段,即题库序号。

4、以文本消息的形式回复数据库内容给用户:
@青龙老贼的企业通讯录代码里是以图文的形式进行回复,我参考文本回复的内容设置变量$show_value以及$contentStr,$show_value里面就包含了数据库内相关内容,再赋值给$contentStr,最后回复$contentStr的内容给用户,完成文本消息回复。

代码在第65-73行,其中show_id、show_type、show、show_mood、show_answer均为数据库表“bigshow”内字段。

5、数据库的建立及数据导入:
使用的是SAE,参照之前企业通讯录的内容,建立了一个表及所需字段:

因考虑到题目内容较多,所以字段类型除“show_id”为int外,其余均设置成text。(不知是否正确)

数据导入的问题,因为源数据为excel,且不熟悉数据库,我就只能用了个比较笨的方法,将excel内的题目组合成数据库语句,然后执行导入。

最终得到SQL语句:

INSERT INTO `app_feng`.`bigshow` (`show_id`, `show_type`, `show`, `show_mood`, `show_answer`) VALUES (‘1 ‘, ‘单选题’, ‘n题目1 ‘, ‘n选项An选项Bn选项Cn选项D ‘, ‘n答案:B ‘);

最后执行导入。

虽然当初的想法已经实现,但最大的问题仍旧是数据库导入。几十几百的题目可以应付,但是上千的就有点费时间,希望有更好的解决办法。希望大家跟我交流下。
Coder势必要弄代码,但弄代码的未必是Coder,我便是后者。希望对像我一样的朋友有所帮助吧,再次谢谢@青龙老贼