最近看了一篇博文是说微信公众平台搭建,于是心血来潮自己也尝试了一下。
1.不用多讲了,申请微信公众号,对于个人来说,只能申请订阅号。
可以看这个链接的文章,http://jingyan.baidu.com/article/414eccf6011ff06b431f0aec.html
2.采用的是Sina App Engine来脱管服务,就要申请sae开发者权限。
再看这个链接http://jingyan.baidu.com/article/4f7d57129a60531a20192796.html
3.在sae上新建一个应用


我选择的PHP,PHP几乎免费。Java应用的话,有点小贵了。
虽然没有学过PHP,摸着石头过河吧。
将php代码上传后,就有一个可调试的url了,PHP代码后面上。

4.再在微信公众平台中的开发者中心(这个要经过一段时间的审核),填入一下内容即可

5.然后就是对接数据了,为了测试,我对接的是图灵机器人的数据、12306和百度地图API
12306是为了查余票和车次,百度地图API是为了查天气预报、图灵机器人见链接:http://www.tuling123.com/openapi/
php代码如下,本人不是搞PHP的,因此只能在网上拷贝了,如有复制,纯属巧合。


<?<span>php
</span><span>define</span>("TOKEN", "weixin"<span>);
</span><span>Session_start</span><span>();
</span><span>Session_Register</span>("kw"<span>);
</span><span>$wechatObj</span> = <span>new</span><span> wechatCallbackapiTest();
</span><span>require_once</span>("train.php"<span>);
</span><span>$tqTpl</span> = "<xml> <ToUserName><![CDATA[%s]]></ToUserName> <FromUserName><![CDATA[%s]]></FromUserName> <CreateTime>%s</CreateTime> <MsgType><![CDATA[%s]]></MsgType> <ArticleCount>5</ArticleCount> <Articles> <item> <Title><![CDATA[%s]]></Title> <Description><![CDATA[%s]]></Description> <PicUrl><![CDATA[%s]]></PicUrl> <Url><![CDATA[%s]]></Url> </item> <item> <Title><![CDATA[%s]]></Title> <Description><![CDATA[%s]]></Description> <PicUrl><![CDATA[%s]]></PicUrl> <Url><![CDATA[%s]]></Url> </item> <item> <Title><![CDATA[%s]]></Title> <Description><![CDATA[%s]]></Description> <PicUrl><![CDATA[%s]]></PicUrl> <Url><![CDATA[%s]]></Url> </item> <item> <Title><![CDATA[%s]]></Title> <Description><![CDATA[%s]]></Description> <PicUrl><![CDATA[%s]]></PicUrl> <Url><![CDATA[%s]]></Url> </item> <item> <Title><![CDATA[%s]]></Title> <Description><![CDATA[%s]]></Description> <PicUrl><![CDATA[%s]]></PicUrl> <Url><![CDATA[%s]]></Url> </item> <item> <Title><![CDATA[%s]]></Title> <Description><![CDATA[%s]]></Description> <PicUrl><![CDATA[%s]]></PicUrl> <Url><![CDATA[%s]]></Url> </item> </Articles> </xml> "<span>;
</span><span>if</span> (!<span>isset</span>(<span>$_GET</span>['echostr'<span>])) {
</span><span>$wechatObj</span>-><span>responseMsg();
}</span><span>else</span><span>{
</span><span>$wechatObj</span>-><span>valid();
}
</span><span>class</span><span> wechatCallbackapiTest
{
</span><span>//</span><span>验证签名</span>
<span>public</span> <span>function</span><span> valid()
{
</span><span>$echoStr</span> = <span>$_GET</span>["echostr"<span>];
</span><span>$signature</span> = <span>$_GET</span>["signature"<span>];
</span><span>$timestamp</span> = <span>$_GET</span>["timestamp"<span>];
</span><span>$nonce</span> = <span>$_GET</span>["nonce"<span>];
</span><span>$token</span> =<span> TOKEN;
</span><span>$tmpArr</span> = <span>array</span>(<span>$token</span>, <span>$timestamp</span>, <span>$nonce</span><span>);
</span><span>sort</span>(<span>$tmpArr</span><span>);
</span><span>$tmpStr</span> = <span>implode</span>(<span>$tmpArr</span><span>);
</span><span>$tmpStr</span> = <span>sha1</span>(<span>$tmpStr</span><span>);
</span><span>if</span>(<span>$tmpStr</span> == <span>$signature</span><span>){
</span><span>echo</span> <span>$echoStr</span><span>;
</span><span>exit</span><span>;
}
}
</span><span>//</span><span>响应消息</span>
<span>public</span> <span>function</span><span> responseMsg()
{
</span><span>$postStr</span> = <span>$GLOBALS</span>["HTTP_RAW_POST_DATA"<span>];
</span><span>if</span> (!<span>empty</span>(<span>$postStr</span><span>)){
</span><span>$this</span>->logger("R ".<span>$postStr</span><span>);
</span><span>$postObj</span> = <span>simplexml_load_string</span>(<span>$postStr</span>, 'SimpleXMLElement',<span> LIBXML_NOCDATA);
</span><span>$RX_TYPE</span> = <span>trim</span>(<span>$postObj</span>-><span>MsgType);
</span><span>//</span><span>消息类型分离</span>
<span>switch</span> (<span>$RX_TYPE</span><span>)
{
</span><span>case</span> "event":
<span>$result</span> = <span>$this</span>->receiveEvent(<span>$postObj</span><span>);
</span><span>break</span><span>;
</span><span>case</span> "text":
<span>$result</span> = <span>$this</span>->receiveTulingText(<span>$postObj</span><span>);
</span><span>break</span><span>;
</span><span>case</span> "image":
<span>$result</span> = <span>$this</span>->receiveImage(<span>$postObj</span><span>);
</span><span>break</span><span>;
</span><span>case</span> "location":
<span>$result</span> = <span>$this</span>->receiveLocation(<span>$postObj</span><span>);
</span><span>break</span><span>;
</span><span>case</span> "voice":
<span>$result</span> = <span>$this</span>->receiveVoice(<span>$postObj</span><span>);
</span><span>break</span><span>;
</span><span>case</span> "video":
<span>$result</span> = <span>$this</span>->receiveVideo(<span>$postObj</span><span>);
</span><span>break</span><span>;
</span><span>case</span> "link":
<span>$result</span> = <span>$this</span>->receiveLink(<span>$postObj</span><span>);
</span><span>break</span><span>;
</span><span>default</span>:
<span>$result</span> = "unknown msg type: ".<span>$RX_TYPE</span><span>;
</span><span>break</span><span>;
}
</span><span>$this</span>->logger("T ".<span>$result</span><span>);
</span><span>echo</span> <span>$result</span><span>;
}</span><span>else</span><span> {
</span><span>echo</span> ""<span>;
</span><span>exit</span><span>;
}
}
</span><span>//</span><span>接收事件消息</span>
<span>private</span> <span>function</span> receiveEvent(<span>$object</span><span>)
{
</span><span>$content</span> = ""<span>;
</span><span>switch</span> (<span>$object</span>-><span>Event)
{
</span><span>case</span> "subscribe":
<span>$content</span> = "欢迎关注TomSnail "<span>;
</span><span>$content</span> .= (!<span>empty</span>(<span>$object</span>->EventKey))?("\n来自二维码场景 ".<span>str_replace</span>("qrscene_","",<span>$object</span>->EventKey)):""<span>;
</span><span>break</span><span>;
</span><span>case</span> "unsubscribe":
<span>$content</span> = "取消关注"<span>;
</span><span>break</span><span>;
</span><span>case</span> "SCAN":
<span>$content</span> = "扫描场景 ".<span>$object</span>-><span>EventKey;
</span><span>break</span><span>;
</span><span>case</span> "CLICK":
<span>switch</span> (<span>$object</span>-><span>EventKey)
{
</span><span>case</span> "COMPANY":
<span>$content</span> = <span>array</span><span>();
</span><span>$content</span>[] = <span>array</span>("Title"=>"多图文1标题", "Description"=>"", "PicUrl"=>"http://discuz.comli.com/weixin/weather/icon/cartoon.jpg", "Url" =>"http://m.cnblogs.com/?u=txw1958"<span>);
</span><span>break</span><span>;
</span><span>default</span>:
<span>$content</span> = "点击菜单:".<span>$object</span>-><span>EventKey;
</span><span>break</span><span>;
}
</span><span>break</span><span>;
</span><span>case</span> "LOCATION":
<span>$content</span> = "上传位置:纬度 ".<span>$object</span>->Latitude.";经度 ".<span>$object</span>-><span>Longitude;
</span><span>break</span><span>;
</span><span>case</span> "VIEW":
<span>$content</span> = "跳转链接 ".<span>$object</span>-><span>EventKey;
</span><span>break</span><span>;
</span><span>case</span> "MASSSENDJOBFINISH":
<span>$content</span> = "消息ID:".<span>$object</span>->MsgID.",结果:".<span>$object</span>->Status.",粉丝数:".<span>$object</span>->TotalCount.",过滤:".<span>$object</span>->FilterCount.",发送成功:".<span>$object</span>->SentCount.",发送失败:".<span>$object</span>-><span>ErrorCount;
</span><span>break</span><span>;
</span><span>default</span>:
<span>$content</span> = "receive a new event: ".<span>$object</span>-><span>Event;
</span><span>break</span><span>;
}
</span><span>if</span>(<span>is_array</span>(<span>$content</span><span>)){
</span><span>if</span> (<span>isset</span>(<span>$content</span>[0<span>])){
</span><span>$result</span> = <span>$this</span>->transmitNews(<span>$object</span>, <span>$content</span><span>);
}</span><span>else</span> <span>if</span> (<span>isset</span>(<span>$content</span>['MusicUrl'<span>])){
</span><span>$result</span> = <span>$this</span>->transmitMusic(<span>$object</span>, <span>$content</span><span>);
}
}</span><span>else</span><span>{
</span><span>$result</span> = <span>$this</span>->transmitText(<span>$object</span>, <span>$content</span><span>);
}
</span><span>return</span> <span>$result</span><span>;
}
</span><span>private</span> <span>function</span> receiveTulingText(<span>$object</span><span>){
</span><span>try</span><span>{
</span><span>$keyword</span> = <span>trim</span>(<span>$object</span>-><span>Content);
</span><span>$userid</span> = <span>trim</span>(<span>$object</span>-><span>FromUserName);
</span><span>$apiKey</span> = "*******************************"<span>;
</span><span>$apiURL</span> = "http://www.tuling123.com/openapi/api?key=".<span>$apiKey</span>."&info=".<span>$keyword</span>."&userid=".<span>userid;
</span><span>if</span>((<span>substr_count</span>(<span>$keyword</span>,'天气')!=0)||<span>$_SESSION</span>["kw"]=="天气"){ <span>//</span><span>百度地图API</span>
<span>if</span>(<span>$keyword</span>=="天气"<span>){
</span><span>$_SESSION</span>["kw"]="天气"<span>;
</span><span>$content</span> = "请输入城市".<span>$_SESSION</span>["kw"<span>];
}</span><span>else</span><span>{
</span><span>$geshu</span> = <span>substr_count</span>(<span>$keyword</span>,'天气'<span>);
</span><span>if</span>(<span>$geshu</span>==0<span>){
</span><span>$city</span> = <span>$keyword</span><span>;
}</span><span>else</span><span>{
</span><span>$t</span> = <span>explode</span>("天气",<span>$keyword</span><span>);
</span><span>for</span>(<span>$i</span>=0;<span>$i</span><=<span>$geshu</span>;<span>$i</span>++<span>)
{
</span><span>if</span>(<span>$t</span>[<span>$i</span>]!=''<span>)
{
</span><span>$city</span> = <span>$t</span>[<span>$i</span><span>];
</span><span>break</span><span>;
}
}
}
</span><span>$mykey</span> ="*********************"<span>;
</span><span>$url</span> = "http://api.map.baidu.com/telematics/v3/weather?location=".<span>$city</span>."&output=json&ak=".<span>$mykey</span><span>;
</span><span>$output</span> = <span>file_get_contents</span>(<span>$url</span><span>);
</span><span>$contentStr</span> = json_decode(<span>$output</span>, <span>true</span><span>);
</span><span>if</span>(<span>$contentStr</span>['status']=='success'<span>)
{
</span><span>$T</span>[0]['Title']=<span>$contentStr</span>['date']." ".<span>$contentStr</span>['results'][0]['currentCity']."天气"<span>;
</span><span>$T</span>[0]['PicUrl']="http://zhengwairen-try2.stor.sinaapp.com/xytq.jpg"<span>;
</span><span>$T</span>[0]['Url']="http://zhengwairen-try2.stor.sinaapp.com/xytq.jpg"<span>;
</span><span>if</span>(<span>is_array</span>(<span>$contentStr</span>['results'][0]['index'<span>]))
{
</span><span>$T</span>[2]['Title']="【pm2.5】".<span>$contentStr</span>['results'][0]['pm25']."\n"."【".<span>$contentStr</span>['results'][0]['index'][0]['title']."】"."(".<span>$contentStr</span>['results'][0]['index'][0]['zs'].") ".<span>$contentStr</span>['results'][0]['index'][0]['des'<span>];
</span><span>//</span><span>下一行是洗车指数,感觉不对主题还是不要的好。。 //$T[2]['Title']=$T[2]['Title']."\n"."【".$contentStr['results'][0]['index'][1]['title']."】(".$contentStr['results'][0]['index'][1]['zs'].")".$contentStr['results'][0]['index'][1]['des']; </span>
<span>$T</span>[2]['Title']=<span>$T</span>[2]['Title']."\n"."【".<span>$contentStr</span>['results'][0]['index'][2]['title']."】(".<span>$contentStr</span>['results'][0]['index'][2]['zs'].")".<span>$contentStr</span>['results'][0]['index'][2]['des'<span>];
}
</span><span>else</span>
<span>$guowai</span>=1<span>;
</span><span>for</span>(<span>$i</span>=1,<span>$aaa</span>=0;<span>$i</span><=5;<span>$i</span>++<span>)
{
</span><span>if</span>(<span>$i</span>==2 && <span>$guowai</span>!=1<span>)
</span><span>continue</span><span>;
</span><span>if</span>(<span>$guowai</span>==1 && <span>$i</span>==5<span>)
</span><span>continue</span><span>;
</span><span>$T</span>[<span>$i</span>]['Title']=<span>$contentStr</span>['results'][0]['weather_data'][<span>$aaa</span>]['date']."".<span>$contentStr</span>['results'][0]['weather_data'][<span>$aaa</span>]['temperature']."".<span>$contentStr</span>['results'][0]['weather_data'][<span>$aaa</span>]['weather']." ".<span>$contentStr</span>['results'][0]['weather_data'][<span>$aaa</span>]['wind'<span>];
</span><span>$T</span>[<span>$i</span>]['PicUrl']=<span>$contentStr</span>['results'][0]['weather_data'][<span>$aaa</span>]['dayPictureUrl'<span>];
</span><span>$T</span>[<span>$i</span>]['Url']=<span>$contentStr</span>['results'][0]['weather_data'][<span>$aaa</span>]['dayPictureUrl'<span>];
</span><span>$aaa</span>++<span>;
}
</span><span>$content</span> = <span>$T</span><span>;
}
}
}</span><span>else</span> <span>if</span>(<span>substr_count</span>(<span>$keyword</span>,'火车')!=0 && <span>$keyword</span>!='火车'){<span>//</span><span>12306</span>
<span>$geshu</span> = <span>substr_count</span>(<span>$keyword</span>,'火车:'<span>);
</span><span>$k</span> = <span>str_replace</span>('火车 ', "", <span>$keyword</span><span>);
</span><span>$t</span> = <span>explode</span>(" ",<span>$k</span><span>);
</span><span>$startstaion</span> = <span>$t</span>[0<span>];
</span><span>$endstation</span> = <span>$t</span>[1<span>];
</span><span>$date</span> =<span>$t</span>[2<span>];
</span><span>if</span>(<span>$date</span>==<span>null</span><span>){
</span><span>$date</span> = <span>date</span>("Y-m-d",<span>time</span><span>());
}
</span><span>if</span>(<span>substr_count</span>(<span>$date</span>,'-')==0<span>){
</span><span>$date</span> = <span>date</span>("Y-m",<span>time</span>())."-".<span>$date</span><span>;
}
</span><span>$time</span> =<span>$t</span>[3<span>];
</span><span>if</span>(<span>$time</span>==<span>null</span><span>){
</span><span>$time</span> = "00:00"<span>;
}
</span><span>if</span>(<span>substr_count</span>(<span>$time</span>,':')==0<span>){
</span><span>$time</span> = <span>$time</span>.":00"<span>;
}
</span><span>$data</span> = gettrain(<span>$startstaion</span>,<span>$endstation</span>,<span>$date</span>,<span>$time</span><span>);
</span><span>$str</span>=""<span>;
</span><span>$T</span>[0]['Title']=<span>$startstaion</span>."到".<span>$endstation</span>." ".<span>$date</span>." ".<span>$time</span>."以后10列火车信息"<span>;
</span><span>$T</span>[0]['PicUrl']="http://zhengwairen-try2.stor.sinaapp.com/xytq.jpg"<span>;
</span><span>$T</span>[0]['Url']="http://zhengwairen-try2.stor.sinaapp.com/xytq.jpg"<span>;
</span><span>$count</span> = 1<span>;
</span><span>foreach</span>(<span>$data</span> <span>as</span> <span>$key</span> =><span>$value</span><span>){
</span><span>$str</span>=<span>$count</span>." "<span>;
</span><span>$str</span>.="火车列次:{<span>$data</span>[<span>$key</span>]['station_train_code']}\n"<span>;
</span><span>$str</span>.="始发站:{<span>$data</span>[<span>$key</span>]['start_station_name']},终点站:{<span>$data</span>[<span>$key</span>]['end_station_name']}\n"<span>;
</span><span>$str</span>.="出发时间:{<span>$data</span>[<span>$key</span>]['start_time']},到站时间:{<span>$data</span>[<span>$key</span>]['arrive_time']},历时:{<span>$data</span>[<span>$key</span>]['lishi']}\n"<span>;
</span><span>$str</span>.="一等座:{<span>$data</span>[<span>$key</span>]['zy_num']}\n二等座:{<span>$data</span>[<span>$key</span>]['ze_num']}\n硬座:{<span>$data</span>[<span>$key</span>]['yz_num']}\n硬卧:{<span>$data</span>[<span>$key</span>]['yw_num']}\n"<span>;
</span><span>$str</span>.="软卧:{<span>$data</span>[<span>$key</span>]['rw_num']}\n软座:{<span>$data</span>[<span>$key</span>]['rz_num']}\n特等座:{<span>$data</span>[<span>$key</span>]['tz_num']}\n无座:{<span>$data</span>[<span>$key</span>]['wz_num']}"<span>;
</span><span>$count</span> = <span>$count</span>+1<span>;
</span><span>$T</span>[<span>$count</span>]['Title'] = <span>$str</span><span>;
</span><span>//</span><span> $T[$count]['Url']="http://kyfw.12306.cn/otn/leftTicket/queryTicketPrice?train_no=".$data[$key]["train_no"]."&from_station_no=".$data[$key]["from_station_no"]."&to_station_no=".$data[$key]["to_station_no"]."&seat_types=".$data[$key]["seat_types"]."&train_date=$date";</span>
<span>$T</span>[<span>$count</span>]['Url'] = "https://kyfw.12306.cn/otn/login/init"<span>;
</span><span>if</span>(<span>$count</span>==10<span>){
</span><span>break</span><span>;}
}
</span><span>$content</span> = <span>$T</span><span>;
}</span><span>else</span>{<span>//</span><span>图灵机器人</span>
<span>$file_contents</span> = <span>file_get_contents</span>(<span>$apiURL</span><span>);
</span><span>$file_contents</span> = json_decode(<span>$file_contents</span>,<span>true</span><span>);
</span><span>$code</span> = <span>$file_contents</span>["code"<span>];
</span><span>if</span>(<span>$code</span>==100000<span>){
</span><span>$content</span> = <span>$file_contents</span>["text"<span>];
}</span><span>else</span> <span>if</span>(<span>$code</span>==200000<span>){
</span><span>$T</span>[0]['Title']=<span>$file_contents</span>["text"<span>];
</span><span>//</span><span>$T[0]['PicUrl']="http://zhengwairen-try2.stor.sinaapp.com/xytq.jpg"; </span>
<span>$T</span>[0]['Url']=<span>$file_contents</span>["url"<span>];
</span><span>$content</span> = <span>$T</span><span>;
}</span><span>else</span> <span>if</span>(<span>$code</span>==302000<span>){
</span><span>$T</span>[0]['Title']=<span>$file_contents</span>["text"<span>];
</span><span>$T</span>[0]['PicUrl']="http://zhengwairen-try2.stor.sinaapp.com/xytq.jpg"<span>;
</span><span>$T</span>[0]['Url']="http://zhengwairen-try2.stor.sinaapp.com/xytq.jpg"<span>;
</span><span>$data</span> = <span>$file_contents</span>["list"<span>];
</span><span>$count</span> = 1<span>;
</span><span>foreach</span>(<span>$data</span> <span>as</span> <span>$key</span> =><span>$value</span><span>){
</span><span>$T</span>[<span>$count</span>]['Title']=<span>$data</span>[<span>$key</span>]["article"<span>];
</span><span>$T</span>[<span>$count</span>]['PicUrl']=<span>$data</span>[<span>$key</span>]["icon"<span>];
</span><span>$T</span>[<span>$count</span>]['Url']=<span>$data</span>[<span>$key</span>]["detailurl"<span>];
</span><span>$count</span>++<span>;
}
</span><span>$content</span> = <span>$T</span><span>;
}</span><span>else</span> <span>if</span>(<span>$code</span>==305000<span>){
</span><span>$T</span>[0]['Title']=<span>$file_contents</span>["text"<span>];
</span><span>$T</span>[0]['PicUrl']="http://zhengwairen-try2.stor.sinaapp.com/xytq.jpg"<span>;
</span><span>$T</span>[0]['Url']="http://zhengwairen-try2.stor.sinaapp.com/xytq.jpg"<span>;
</span><span>$data</span> = <span>$file_contents</span>["list"<span>];
</span><span>$count</span> = 1<span>;
</span><span>foreach</span>(<span>$data</span> <span>as</span> <span>$key</span> =><span>$value</span><span>){
</span><span>$T</span>[<span>$count</span>]['Title']="车次".<span>$data</span>[<span>$key</span>]["trainnum"]."\n起始站:".<span>$data</span>[<span>$key</span>]["start"]."\n到达站:".<span>$data</span>[<span>$key</span>]["terminal"]."\n开车时间:".<span>$data</span>[<span>$key</span>]["starttime"]."\n到达时间:".<span>$data</span>[<span>$key</span>]["endtime"<span>];
</span><span>$T</span>[<span>$count</span>]['PicUrl']=<span>$data</span>[<span>$key</span>]["icon"<span>];
</span><span>$T</span>[<span>$count</span>]['Url']=<span>$data</span>[<span>$key</span>]["detailurl"<span>];
</span><span>$count</span>++<span>;
</span><span>if</span>(<span>$count</span>==10<span>){
</span><span>break</span><span>;
}
}
</span><span>$content</span> = <span>$T</span><span>;
}</span><span>else</span> <span>if</span>(<span>$code</span>==306000<span>){
</span><span>$T</span>[0]['Title']=<span>$file_contents</span>["text"<span>];
</span><span>$T</span>[0]['PicUrl']="http://zhengwairen-try2.stor.sinaapp.com/xytq.jpg"<span>;
</span><span>$T</span>[0]['Url']="http://zhengwairen-try2.stor.sinaapp.com/xytq.jpg"<span>;
</span><span>$data</span> = <span>$file_contents</span>["list"<span>];
</span><span>$count</span> = 1<span>;
</span><span>foreach</span>(<span>$data</span> <span>as</span> <span>$key</span> =><span>$value</span><span>){
</span><span>$T</span>[<span>$count</span>]['Title']="航班号".<span>$data</span>[<span>$key</span>]["flight"]."航班路线".<span>$data</span>[<span>$key</span>]["route"]."\n起飞时间:".<span>$data</span>[<span>$key</span>]["starttime"]."\n到达时间:".<span>$data</span>[<span>$key</span>]["endtime"]."\n状态:".<span>$data</span>[<span>$key</span>]["state"<span>];
</span><span>$T</span>[<span>$count</span>]['PicUrl']=<span>$data</span>[<span>$key</span>]["icon"<span>];
</span><span>$T</span>[<span>$count</span>]['Url']=<span>$data</span>[<span>$key</span>]["detailurl"<span>];
</span><span>$count</span>++<span>;
}
</span><span>$content</span> = <span>$T</span><span>;
}</span><span>else</span> <span>if</span>(<span>$code</span>==308000<span>){
</span><span>$T</span>[0]['Title']=<span>$file_contents</span>["text"<span>];
</span><span>$T</span>[0]['PicUrl']="http://zhengwairen-try2.stor.sinaapp.com/xytq.jpg"<span>;
</span><span>$T</span>[0]['Url']="http://zhengwairen-try2.stor.sinaapp.com/xytq.jpg"<span>;
</span><span>$data</span> = <span>$file_contents</span>["list"<span>];
</span><span>$count</span> = 1<span>;
</span><span>foreach</span>(<span>$data</span> <span>as</span> <span>$key</span> =><span>$value</span><span>){
</span><span>$T</span>[<span>$count</span>]['Title']="名称".<span>$data</span>[<span>$key</span>]["name"]."详情".<span>$data</span>[<span>$key</span>]["info"<span>];
</span><span>$T</span>[<span>$count</span>]['PicUrl']=<span>$data</span>[<span>$key</span>]["icon"<span>];
</span><span>$T</span>[<span>$count</span>]['Url']=<span>$data</span>[<span>$key</span>]["detailurl"<span>];
</span><span>$count</span>++<span>;
}
</span><span>$content</span> = <span>$T</span><span>;
}</span><span>else</span><span>{
</span><span>$content</span> = <span>$file_contents</span>["text"<span>];
}
}
</span><span>if</span>(<span>is_array</span>(<span>$content</span><span>)){
</span><span>if</span> (<span>isset</span>(<span>$content</span>[0]['PicUrl'<span>])){
</span><span>$result</span> = <span>$this</span>->transmitNews(<span>$object</span>, <span>$content</span><span>);
}</span><span>else</span> <span>if</span> (<span>isset</span>(<span>$content</span>['MusicUrl'<span>])){
</span><span>$result</span> = <span>$this</span>->transmitMusic(<span>$object</span>, <span>$content</span><span>);
}
}</span><span>else</span><span>{
</span><span>$result</span> = <span>$this</span>->transmitText(<span>$object</span>, <span>$content</span><span>);
}
}</span><span>catch</span>(<span>Exception</span> <span>$e</span><span>){
</span><span>$content</span>=<span>$e</span>-><span>getMessage();
</span><span>$result</span> = <span>$this</span>->transmitText(<span>$object</span>, <span>$content</span><span>);
}
</span><span>return</span> <span>$result</span><span>;
}
</span><span>//</span><span>接收图片消息</span>
<span>private</span> <span>function</span> receiveImage(<span>$object</span><span>)
{
</span><span>$content</span> = <span>array</span>("MediaId"=><span>$object</span>-><span>MediaId);
</span><span>$result</span> = <span>$this</span>->transmitImage(<span>$object</span>, <span>$content</span><span>);
</span><span>return</span> <span>$result</span><span>;
}
</span><span>//</span><span>接收位置消息</span>
<span>private</span> <span>function</span> receiveLocation(<span>$object</span><span>)
{
</span><span>$content</span> = "你发送的是位置,纬度为:".<span>$object</span>->Location_X.";经度为:".<span>$object</span>->Location_Y.";缩放级别为:".<span>$object</span>->Scale.";位置为:".<span>$object</span>-><span>Label;
</span><span>$result</span> = <span>$this</span>->transmitText(<span>$object</span>, <span>$content</span><span>);
</span><span>return</span> <span>$result</span><span>;
}
</span><span>//</span><span>接收语音消息</span>
<span>private</span> <span>function</span> receiveVoice(<span>$object</span><span>)
{
</span><span>if</span> (<span>isset</span>(<span>$object</span>->Recognition) && !<span>empty</span>(<span>$object</span>-><span>Recognition)){
</span><span>$content</span> = "你刚才说的是:".<span>$object</span>-><span>Recognition;
</span><span>$result</span> = <span>$this</span>->transmitText(<span>$object</span>, <span>$content</span><span>);
}</span><span>else</span><span>{
</span><span>$content</span> = <span>array</span>("MediaId"=><span>$object</span>-><span>MediaId);
</span><span>$result</span> = <span>$this</span>->transmitVoice(<span>$object</span>, <span>$content</span><span>);
}
</span><span>return</span> <span>$result</span><span>;
}
</span><span>//</span><span>接收视频消息</span>
<span>private</span> <span>function</span> receiveVideo(<span>$object</span><span>)
{
</span><span>$content</span> = <span>array</span>("MediaId"=><span>$object</span>->MediaId, "ThumbMediaId"=><span>$object</span>->ThumbMediaId, "Title"=>"", "Description"=>""<span>);
</span><span>$result</span> = <span>$this</span>->transmitVideo(<span>$object</span>, <span>$content</span><span>);
</span><span>return</span> <span>$result</span><span>;
}
</span><span>//</span><span>接收链接消息</span>
<span>private</span> <span>function</span> receiveLink(<span>$object</span><span>)
{
</span><span>$content</span> = "你发送的是链接,标题为:".<span>$object</span>->Title.";内容为:".<span>$object</span>->Description.";链接地址为:".<span>$object</span>-><span>Url;
</span><span>$result</span> = <span>$this</span>->transmitText(<span>$object</span>, <span>$content</span><span>);
</span><span>return</span> <span>$result</span><span>;
}
</span><span>//</span><span>回复文本消息</span>
<span>private</span> <span>function</span> transmitText(<span>$object</span>, <span>$content</span><span>)
{
</span><span>$xmlTpl</span> = "<span><xml>
<ToUserName><![CDATA[%s]]></ToUserName>
<FromUserName><![CDATA[%s]]></FromUserName>
<CreateTime>%s</CreateTime>
<MsgType><![CDATA[text]]></MsgType>
<Content><![CDATA[%s]]></Content>
</xml></span>"<span>;
</span><span>$result</span> = <span>sprintf</span>(<span>$xmlTpl</span>, <span>$object</span>->FromUserName, <span>$object</span>->ToUserName, <span>time</span>(), <span>$content</span><span>);
</span><span>return</span> <span>$result</span><span>;
}
</span><span>//</span><span>回复图片消息</span>
<span>private</span> <span>function</span> transmitImage(<span>$object</span>, <span>$imageArray</span><span>)
{
</span><span>$itemTpl</span> = "<span><Image>
<MediaId><![CDATA[%s]]></MediaId>
</Image></span>"<span>;
</span><span>$item_str</span> = <span>sprintf</span>(<span>$itemTpl</span>, <span>$imageArray</span>['MediaId'<span>]);
</span><span>$xmlTpl</span> = "<span><xml>
<ToUserName><![CDATA[%s]]></ToUserName>
<FromUserName><![CDATA[%s]]></FromUserName>
<CreateTime>%s</CreateTime>
<MsgType><![CDATA[image]]></MsgType>
</span><span>$item_str</span><span>
</xml></span>"<span>;
</span><span>$result</span> = <span>sprintf</span>(<span>$xmlTpl</span>, <span>$object</span>->FromUserName, <span>$object</span>->ToUserName, <span>time</span><span>());
</span><span>return</span> <span>$result</span><span>;
}
</span><span>//</span><span>回复语音消息</span>
<span>private</span> <span>function</span> transmitVoice(<span>$object</span>, <span>$voiceArray</span><span>)
{
</span><span>$itemTpl</span> = "<span><Voice>
<MediaId><![CDATA[%s]]></MediaId>
</Voice></span>"<span>;
</span><span>$item_str</span> = <span>sprintf</span>(<span>$itemTpl</span>, <span>$voiceArray</span>['MediaId'<span>]);
</span><span>$xmlTpl</span> = "<span><xml>
<ToUserName><![CDATA[%s]]></ToUserName>
<FromUserName><![CDATA[%s]]></FromUserName>
<CreateTime>%s</CreateTime>
<MsgType><![CDATA[voice]]></MsgType>
</span><span>$item_str</span><span>
</xml></span>"<span>;
</span><span>$result</span> = <span>sprintf</span>(<span>$xmlTpl</span>, <span>$object</span>->FromUserName, <span>$object</span>->ToUserName, <span>time</span><span>());
</span><span>return</span> <span>$result</span><span>;
}
</span><span>//</span><span>回复视频消息</span>
<span>private</span> <span>function</span> transmitVideo(<span>$object</span>, <span>$videoArray</span><span>)
{
</span><span>$itemTpl</span> = "<span><Video>
<MediaId><![CDATA[%s]]></MediaId>
<ThumbMediaId><![CDATA[%s]]></ThumbMediaId>
<Title><![CDATA[%s]]></Title>
<Description><![CDATA[%s]]></Description>
</Video></span>"<span>;
</span><span>$item_str</span> = <span>sprintf</span>(<span>$itemTpl</span>, <span>$videoArray</span>['MediaId'], <span>$videoArray</span>['ThumbMediaId'], <span>$videoArray</span>['Title'], <span>$videoArray</span>['Description'<span>]);
</span><span>$xmlTpl</span> = "<span><xml>
<ToUserName><![CDATA[%s]]></ToUserName>
<FromUserName><![CDATA[%s]]></FromUserName>
<CreateTime>%s</CreateTime>
<MsgType><![CDATA[video]]></MsgType>
</span><span>$item_str</span><span>
</xml></span>"<span>;
</span><span>$result</span> = <span>sprintf</span>(<span>$xmlTpl</span>, <span>$object</span>->FromUserName, <span>$object</span>->ToUserName, <span>time</span><span>());
</span><span>return</span> <span>$result</span><span>;
}
</span><span>//</span><span>回复图文消息</span>
<span>private</span> <span>function</span> transmitNews(<span>$object</span>, <span>$newsArray</span><span>)
{
</span><span>if</span>(!<span>is_array</span>(<span>$newsArray</span><span>)){
</span><span>return</span><span>;
}
</span><span>$itemTpl</span> = "<span> <item>
<Title><![CDATA[%s]]></Title>
<Description><![CDATA[%s]]></Description>
<PicUrl><![CDATA[%s]]></PicUrl>
<Url><![CDATA[%s]]></Url>
</item>
</span>"<span>;
</span><span>$item_str</span> = ""<span>;
</span><span>foreach</span> (<span>$newsArray</span> <span>as</span> <span>$item</span><span>){
</span><span>$item_str</span> .= <span>sprintf</span>(<span>$itemTpl</span>, <span>$item</span>['Title'], <span>$item</span>['Description'], <span>$item</span>['PicUrl'], <span>$item</span>['Url'<span>]);
}
</span><span>$xmlTpl</span> = "<span><xml>
<ToUserName><![CDATA[%s]]></ToUserName>
<FromUserName><![CDATA[%s]]></FromUserName>
<CreateTime>%s</CreateTime>
<MsgType><![CDATA[news]]></MsgType>
<ArticleCount>%s</ArticleCount>
<Articles>
</span><span>$item_str</span><span></Articles>
</xml></span>"<span>;
</span><span>$result</span> = <span>sprintf</span>(<span>$xmlTpl</span>, <span>$object</span>->FromUserName, <span>$object</span>->ToUserName, <span>time</span>(), <span>count</span>(<span>$newsArray</span><span>));
</span><span>return</span> <span>$result</span><span>;
}
</span><span>//</span><span>回复音乐消息</span>
<span>private</span> <span>function</span> transmitMusic(<span>$object</span>, <span>$musicArray</span><span>)
{
</span><span>$itemTpl</span> = "<span><Music>
<Title><![CDATA[%s]]></Title>
<Description><![CDATA[%s]]></Description>
<MusicUrl><![CDATA[%s]]></MusicUrl>
<HQMusicUrl><![CDATA[%s]]></HQMusicUrl>
</Music></span>"<span>;
</span><span>$item_str</span> = <span>sprintf</span>(<span>$itemTpl</span>, <span>$musicArray</span>['Title'], <span>$musicArray</span>['Description'], <span>$musicArray</span>['MusicUrl'], <span>$musicArray</span>['HQMusicUrl'<span>]);
</span><span>$xmlTpl</span> = "<span><xml>
<ToUserName><![CDATA[%s]]></ToUserName>
<FromUserName><![CDATA[%s]]></FromUserName>
<CreateTime>%s</CreateTime>
<MsgType><![CDATA[music]]></MsgType>
</span><span>$item_str</span><span>
</xml></span>"<span>;
</span><span>$result</span> = <span>sprintf</span>(<span>$xmlTpl</span>, <span>$object</span>->FromUserName, <span>$object</span>->ToUserName, <span>time</span><span>());
</span><span>return</span> <span>$result</span><span>;
}
</span><span>//</span><span>回复多客服消息</span>
<span>private</span> <span>function</span> transmitService(<span>$object</span><span>)
{
</span><span>$xmlTpl</span> = "<span><xml>
<ToUserName><![CDATA[%s]]></ToUserName>
<FromUserName><![CDATA[%s]]></FromUserName>
<CreateTime>%s</CreateTime>
<MsgType><![CDATA[transfer_customer_service]]></MsgType>
</xml></span>"<span>;
</span><span>$result</span> = <span>sprintf</span>(<span>$xmlTpl</span>, <span>$object</span>->FromUserName, <span>$object</span>->ToUserName, <span>time</span><span>());
</span><span>return</span> <span>$result</span><span>;
}
</span><span>//</span><span>日志记录</span>
<span>private</span> <span>function</span> logger(<span>$log_content</span><span>)
{
</span><span>if</span>(<span>isset</span>(<span>$_SERVER</span>['HTTP_APPNAME'])){ <span>//</span><span>SAE</span>
sae_set_display_errors(<span>false</span><span>);
sae_debug(</span><span>$log_content</span><span>);
sae_set_display_errors(</span><span>true</span><span>);
}</span><span>else</span> <span>if</span>(<span>$_SERVER</span>['REMOTE_ADDR'] != "127.0.0.1"){ <span>//</span><span>LOCAL</span>
<span>$max_size</span> = 10000<span>;
</span><span>$log_filename</span> = "log.xml"<span>;
</span><span>if</span>(<span>file_exists</span>(<span>$log_filename</span>) and (<span>abs</span>(<span>filesize</span>(<span>$log_filename</span>)) > <span>$max_size</span>)){<span>unlink</span>(<span>$log_filename</span><span>);}
</span><span>file_put_contents</span>(<span>$log_filename</span>, <span>date</span>('H:i:s')." ".<span>$log_content</span>."\r\n",<span> FILE_APPEND);
}
}
}
</span>?>

<span>php
</span><span>return</span> <span>array</span><span>(
</span>"北京北" => "VAP",
"北京东" => "BOP",
"北京" => "BJP",
"北京南" => "VNP",
"北京西" => "BXP",
"重庆北" => "CUW",
"重庆" => "CQW",
"重庆南" => "CRW",
"长春" => "CCT",
"长春南" => "CET",
"长春西" => "CRT",
"成都东" => "ICW",
"成都南" => "CNW",
"成都" => "CDW",
"长沙" => "CSQ",
"长沙南" => "CWQ",
"阿尔山" => "ART",
"安康" => "AKY",
"阿克苏" => "ASR",
"阿里河" => "AHX",
"阿拉山口" => "AKR",
"安平" => "APT",
"安庆" => "AQH",
"安顺" => "ASW",
"鞍山" => "AST",
"安阳" => "AYF",
"北安" => "BAB",
"蚌埠" => "BBH",
"白城" => "BCT",
"北海" => "BHZ",
"白河" => "BEL",
"白涧" => "BAP",
"宝鸡" => "BJY",
"滨江" => "BJB",
"博克图" => "BKX",
"百色" => "BIZ",
"白山市" => "HJL",
"北台" => "BTT",
"包头东" => "BDC",
"包头" => "BTC",
"北屯市" => "BXR",
"本溪" => "BXT",
"白云鄂博" => "BEC",
"白银西" => "BXJ",
"亳州" => "BZH",
"赤壁" => "CBN",
"常德" => "VGQ",
"承德" => "CDP",
"长甸" => "CDT",
"赤峰" => "CFD",
"茶陵" => "CDG",
"苍南" => "CEH",
"昌平" => "CPP",
"崇仁" => "CRG",
"昌图" => "CTT",
"长汀镇" => "CDB",
"崇信" => "CIJ",
"曹县" => "CXK",
"楚雄" => "COM",
"陈相屯" => "CXT",
"长治北" => "CBF",
"长征" => "CZJ",
"池州" => "IYH",
"常州" => "CZH",
"郴州" => "CZQ",
"长治" => "CZF",
"沧州" => "COP",
"崇左" => "CZZ",
"大安北" => "RNT",
"大成" => "DCT",
"丹东" => "DUT",
"东方红" => "DFB",
"东莞东" => "DMQ",
"大虎山" => "DHD",
"敦煌" => "DHJ",
"敦化" => "DHL",
"德惠" => "DHT",
"东京城" => "DJB",
"大涧" => "DFP",
"都江堰" => "DDW",
"大连北" => "DFT",
"大理" => "DKM",
"大连" => "DLT",
"定南" => "DNG",
"大庆" => "DZX",
"东胜" => "DOC",
"大石桥" => "DQT",
"大同" => "DTV",
"东营" => "DPK",
"大杨树" => "DUX",
"都匀" => "RYW",
"邓州" => "DOF",
"达州" => "RXW",
"德州" => "DZP",
"额济纳" => "EJC",
"二连" => "RLC",
"恩施" => "ESN",
"昂昂溪" => "AAX",
"阿城" => "ACB",
"安达" => "ADX",
"安定" => "ADP",
"安广" => "AGT",
"艾河" => "AHP",
"安化" => "PKQ",
"艾家村" => "AJJ",
"鳌江" => "ARH",
"安家" => "AJB",
"阿金" => "AJD",
"阿克陶" => "AER",
"安口窑" => "AYY",
"敖力布告" => "ALD",
"安龙" => "AUZ",
"阿龙山" => "ASX",
"安陆" => "ALN",
"阿木尔" => "JTX",
"阿南庄" => "AZM",
"安庆西" => "APH",
"鞍山西" => "AXT",
"安塘" => "ATV",
"安亭北" => "ASH",
"阿图什" => "ATR",
"安图" => "ATL",
"安溪" => "AXS",
"博鳌" => "BWQ",
"白壁关" => "BGV",
"蚌埠南" => "BMH",
"巴楚" => "BCR",
"板城" => "BUP",
"北戴河" => "BEP",
"保定" => "BDP",
"宝坻" => "BPP",
"八达岭" => "ILP",
"巴东" => "BNN",
"柏果" => "BGM",
"布海" => "BUT",
"白河东" => "BIY",
"贲红" => "BVC",
"宝华山" => "BWH",
"白河县" => "BEY",
"白芨沟" => "BJJ",
"碧鸡关" => "BJM",
"北滘" => "IBQ",
"碧江" => "BLQ",
"白鸡坡" => "BBM",
"笔架山" => "BSB",
"八角台" => "BTD",
"保康" => "BKD",
"白奎堡" => "BKB",
"白狼" => "BAT",
"百浪" => "BRZ",
"博乐" => "BOR",
"宝拉格" => "BQC",
"巴林" => "BLX",
"宝林" => "BNB",
"北流" => "BOZ",
"勃利" => "BLB",
"布列开" => "BLR",
"宝龙山" => "BND",
"八面城" => "BMD",
"班猫箐" => "BNM",
"八面通" => "BMB",
"北马圈子" => "BRP",
"北票南" => "RPD",
"白旗" => "BQP",
"宝泉岭" => "BQB",
"白泉" => "BQL",
"白沙" => "BSW",
"巴山" => "BAY",
"白水江" => "BSY",
"白沙坡" => "BPM",
"白石山" => "BAL",
"白水镇" => "BUM",
"坂田" => "BTQ",
"泊头" => "BZP",
"北屯" => "BYP",
"本溪湖" => "BHT",
"博兴" => "BXK",
"八仙筒" => "VXD",
"白音察干" => "BYC",
"背荫河" => "BYB",
"北营" => "BIV",
"巴彦高勒" => "BAC",
"白音他拉" => "BID",
"鲅鱼圈" => "BYT",
"白银市" => "BNJ",
"白音胡硕" => "BCD",
"巴中" => "IEW",
"霸州" => "RMP",
"北宅" => "BVP",
"赤壁北" => "CIN",
"查布嘎" => "CBC",
"长城" => "CEJ",
"长冲" => "CCM",
"承德东" => "CCP",
"赤峰西" => "CID",
"嵯岗" => "CAX",
"柴岗" => "CGT",
"长葛" => "CEF",
"柴沟堡" => "CGV",
"城固" => "CGY",
"陈官营" => "CAJ",
"成高子" => "CZB",
"草海" => "WBW",
"柴河" => "CHB",
"册亨" => "CHZ",
"草河口" => "CKT",
"崔黄口" => "CHP",
"巢湖" => "CIH",
"蔡家沟" => "CJT",
"成吉思汗" => "CJX",
"岔江" => "CAM",
"蔡家坡" => "CJY",
"沧口" => "CKK",
"昌乐" => "CLK",
"超梁沟" => "CYP",
"慈利" => "CUQ",
"昌黎" => "CLP",
"长岭子" => "CLT",
"晨明" => "CMB",
"长农" => "CNJ",
"昌平北" => "VBP",
"长坡岭" => "CPM",
"辰清" => "CQB",
"楚山" => "CSB",
"长寿" => "EFW",
"磁山" => "CSP",
"苍石" => "CST",
"草市" => "CSL",
"察素齐" => "CSC",
"长山屯" => "CVT",
"长汀" => "CES",
"昌图西" => "CPT",
"春湾" => "CQQ",
"磁县" => "CIP",
"岑溪" => "CNZ",
"辰溪" => "CXQ",
"磁西" => "CRP",
"长兴南" => "CFH",
"磁窑" => "CYK",
"朝阳" => "CYD",
"春阳" => "CAL",
"城阳" => "CEK",
"创业村" => "CEX",
"朝阳川" => "CYL",
"朝阳地" => "CDD",
"长垣" => "CYF",
"朝阳镇" => "CZL",
"滁州北" => "CUH",
"常州北" => "ESH",
"滁州" => "CXH",
"潮州" => "CKQ",
"常庄" => "CVK",
"曹子里" => "CFP",
"车转湾" => "CWM",
"郴州西" => "ICQ",
"沧州西" => "CBP",
"德安" => "DAG",
"大安" => "RAT",
"东安" => "DAZ",
"大坝" => "DBJ",
"大板" => "DBC",
"大巴" => "DBD",
"到保" => "RBT",
"定边" => "DYJ",
"东边井" => "DBB",
"德伯斯" => "RDT",
"打柴沟" => "DGJ",
"德昌" => "DVW",
"滴道" => "DDB",
"大德" => "DEM",
"大磴沟" => "DKJ",
"刀尔登" => "DRD",
"得耳布尔" => "DRX",
"东方" => "UFQ",
"丹凤" => "DGY",
"东丰" => "DIL",
"都格" => "DMM",
"大官屯" => "DTT",
"大关" => "RGW",
"东光" => "DGP",
"东莞" => "DAQ",
"东海" => "DHB",
"大灰厂" => "DHP",
"大红旗" => "DQD",
"东海县" => "DQH",
"德惠西" => "DXT",
"达家沟" => "DJT",
"东津" => "DKB",
"杜家" => "DJL",
"大旧庄" => "DJM",
"大口屯" => "DKP",
"东来" => "RVD",
"德令哈" => "DHO",
"大陆号" => "DLC",
"带岭" => "DLB",
"大林" => "DLD",
"达拉特旗" => "DIC",
"独立屯" => "DTX",
"豆罗" => "DLV",
"达拉特西" => "DNC",
"东明村" => "DMD",
"洞庙河" => "DEP",
"东明县" => "DNF",
"大拟" => "DNZ",
"大平房" => "DPD",
"大盘石" => "RPP",
"大埔" => "DPI",
"大堡" => "DVT",
"大其拉哈" => "DQX",
"道清" => "DML",
"对青山" => "DQB",
"德清西" => "MOH",
"东升" => "DRQ",
"独山" => "RWW",
"砀山" => "DKH",
"登沙河" => "DWT",
"读书铺" => "DPM",
"大石头" => "DSL",
"大石寨" => "RZT",
"东台" => "DBH",
"定陶" => "DQK",
"灯塔" => "DGT",
"大田边" => "DBM",
"东通化" => "DTL",
"丹徒" => "RUH",
"大屯" => "DNT",
"东湾" => "DRJ",
"大武口" => "DFJ",
"低窝铺" => "DWJ",
"大王滩" => "DZZ",
"大湾子" => "DFM",
"大兴沟" => "DXL",
"大兴" => "DXX",
"定西" => "DSJ",
"甸心" => "DXM",
"东乡" => "DXG",
"代县" => "DKV",
"定襄" => "DXV",
"东戌" => "RXP",
"东辛庄" => "DXD",
"丹阳" => "DYH",
"大雁" => "DYX",
"德阳" => "DYW",
"当阳" => "DYN",
"丹阳北" => "EXH",
"大英东" => "IAW",
"东淤地" => "DBV",
"大营" => "DYV",
"定远" => "EWH",
"岱岳" => "RYV",
"大元" => "DYZ",
"大营镇" => "DJP",
"大营子" => "DZD",
"大战场" => "DTJ",
"德州东" => "DIP",
"低庄" => "DVQ",
"东镇" => "DNV",
"道州" => "DFZ",
"东至" => "DCH",
"东庄" => "DZV",
"兑镇" => "DWV",
"豆庄" => "ROP",
"定州" => "DXP",
"大竹园" => "DZY",
"大杖子" => "DAP",
"豆张庄" => "RZP",
"峨边" => "EBW",
"二道沟门" => "RDP",
"二道湾" => "RDX",
"二龙" => "RLD",
"二龙山屯" => "ELA",
"峨眉" => "EMW",
"二密河" => "RML",
"二营" => "RYJ",
"鄂州" => "ECN",
"安阳东" => "ADF",
"保定东" => "BMP",
"长阳" => "CYN",
"东二道河" => "DRB",
"大苴" => "DIM",
"大青沟" => "DSD",
"定州东" => "DOP",
"福州" => "FZS",
"福州南" => "FYS",
"贵阳" => "GIW",
"广州北" => "GBQ",
"广州东" => "GGQ",
"广州" => "GZQ",
"广州南" => "IZQ",
"哈尔滨" => "HBB",
"哈尔滨东" => "VBB",
"哈尔滨西" => "VAB",
"合肥" => "HFH",
"合肥西" => "HTH",
"呼和浩特东" => "NDC",
"呼和浩特" => "HHC",
"海口东" => "HMQ",
"海口" => "VUQ",
"杭州" => "HZH",
"杭州南" => "XHH",
"济南" => "JNK",
"济南东" => "JAK",
"济南西" => "JGK",
"防城港" => "FEZ",
"福鼎" => "FES",
"风陵渡" => "FLV",
"涪陵" => "FLW",
"富拉尔基" => "FRX",
"抚顺北" => "FET",
"佛山" => "FSQ",
"阜新" => "FXD",
"阜阳" => "FYH",
"格尔木" => "GRO",
"广汉" => "GHW",
"古交" => "GJV",
"桂林北" => "GBZ",
"古莲" => "GRX",
"桂林" => "GLZ",
"固始" => "GXN",
"广水" => "GSN",
"干塘" => "GNJ",
"广元" => "GYW",
"赣州" => "GZG",
"公主岭" => "GLT",
"公主岭南" => "GBT",
"淮安" => "AUH",
"鹤北" => "HMB",
"淮北" => "HRH",
"淮滨" => "HVN",
"河边" => "HBV",
"潢川" => "KCN",
"韩城" => "HCY",
"邯郸" => "HDP",
"横道河子" => "HDB",
"鹤岗" => "HGB",
"皇姑屯" => "HTT",
"红果" => "HEM",
"黑河" => "HJB",
"怀化" => "HHQ",
"汉口" => "HKN",
"葫芦岛" => "HLD",
"海拉尔" => "HRX",
"霍林郭勒" => "HWD",
"海伦" => "HLB",
"侯马" => "HMV",
"哈密" => "HMR",
"淮南" => "HAH",
"桦南" => "HNB",
"海宁西" => "EUH",
"鹤庆" => "HQM",
"怀柔北" => "HBP",
"怀柔" => "HRP",
"黄石东" => "OSN",
"华山" => "HSY",
"黄石" => "HSN",
"黄山" => "HKH",
"衡水" => "HSP",
"衡阳" => "HYQ",
"菏泽" => "HIK",
"贺州" => "HXZ",
"汉中" => "HOY",
"惠州" => "HCQ",
"吉安" => "VAG",
"集安" => "JAL",
"江边村" => "JBG",
"晋城" => "JCF",
"金城江" => "JJZ",
"景德镇" => "JCG",
"嘉峰" => "JFF",
"加格达奇" => "JGX",
"井冈山" => "JGG",
"蛟河" => "JHL",
"金华南" => "RNH",
"金华西" => "JBH",
"九江" => "JJG",
"吉林" => "JLL",
"荆门" => "JMN",
"佳木斯" => "JMB",
"济宁" => "JIK",
"集宁南" => "JAC",
"酒泉" => "JQJ",
"江山" => "JUH",
"吉首" => "JIQ",
"九台" => "JTL",
"镜铁山" => "JVJ",
"鸡西" => "JXB",
"蓟县" => "JKP",
"绩溪县" => "JRH",
"嘉峪关" => "JGJ",
"江油" => "JFW",
"锦州" => "JZD",
"金州" => "JZT",
"福安" => "FAS",
"防城" => "FAZ",
"丰城" => "FCG",
"丰城南" => "FNG",
"肥东" => "FIH",
"发耳" => "FEM",
"富海" => "FHX",
"福海" => "FHR",
"凤凰城" => "FHT",
"奉化" => "FHH",
"富锦" => "FIB",
"范家屯" => "FTT",
"福利屯" => "FTB",
"丰乐镇" => "FZB",
"阜南" => "FNH",
"阜宁" => "AKH",
"抚宁" => "FNP",
"福清" => "FQS",
"福泉" => "VMW",
"丰水村" => "FSJ",
"丰顺" => "FUQ",
"繁峙" => "FSV",
"抚顺" => "FST",
"福山口" => "FKP",
"扶绥" => "FSZ",
"冯屯" => "FTX",
"浮图峪" => "FYP",
"富县东" => "FDY",
"凤县" => "FXY",
"富县" => "FEY",
"费县" => "FXK",
"凤阳" => "FUH",
"汾阳" => "FAV",
"扶余北" => "FBT",
"分宜" => "FYG",
"富源" => "FYM",
"扶余" => "FYT",
"富裕" => "FYX",
"抚州北" => "FBG",
"凤州" => "FZY",
"丰镇" => "FZC",
"范镇" => "VZK",
"固安" => "GFP",
"广安" => "VJW",
"高碑店" => "GBP",
"沟帮子" => "GBD",
"甘草店" => "GDJ",
"谷城" => "GCN",
"藁城" => "GEP",
"高村" => "GCV",
"古城镇" => "GZB",
"广德" => "GRH",
"贵定" => "GTW",
"贵定南" => "IDW",
"古东" => "GDV",
"贵港" => "GGZ",
"官高" => "GVP",
"葛根庙" => "GGT",
"干沟" => "GGL",
"甘谷" => "GGJ",
"高各庄" => "GGP",
"甘河" => "GAX",
"根河" => "GEX",
"郭家店" => "GDT",
"孤家子" => "GKT",
"高老" => "GOB",
"古浪" => "GLJ",
"皋兰" => "GEJ",
"高楼房" => "GFM",
"归流河" => "GHT",
"关林" => "GLF",
"甘洛" => "VOW",
"郭磊庄" => "GLP",
"高密" => "GMK",
"公庙子" => "GMC",
"工农湖" => "GRT",
"广宁寺" => "GNT",
"广南卫" => "GNM",
"高平" => "GPF",
"甘泉北" => "GEY",
"共青城" => "GAG",
"甘旗卡" => "GQD",
"甘泉" => "GQY",
"高桥镇" => "GZD",
"赶水" => "GSW",
"灌水" => "GST",
"孤山口" => "GSP",
"果松" => "GSL",
"高山子" => "GSD",
"嘎什甸子" => "GXD",
"高台" => "GTJ",
"高滩" => "GAY",
"古田" => "GTS",
"官厅" => "GTP",
"广通" => "GOM",
"官厅西" => "KEP",
"贵溪" => "GXG",
"涡阳" => "GYH",
"巩义" => "GXF",
"高邑" => "GIP",
"巩义南" => "GYF",
"固原" => "GUJ",
"菇园" => "GYL",
"公营子" => "GYD",
"光泽" => "GZS",
"古镇" => "GNQ",
"瓜州" => "GZJ",
"高州" => "GSQ",
"固镇" => "GEH",
"盖州" => "GXT",
"官字井" => "GOT",
"革镇堡" => "GZT",
"冠豸山" => "GSS",
"盖州西" => "GAT",
"红安" => "HWN",
"淮安南" => "AMH",
"红安西" => "VXN",
"海安县" => "HIH",
"黄柏" => "HBL",
"海北" => "HEB",
"鹤壁" => "HAF",
"华城" => "VCQ",
"合川" => "WKW",
"河唇" => "HCZ",
"汉川" => "HCN",
"海城" => "HCT",
"黑冲滩" => "HCJ",
"黄村" => "HCP",
"海城西" => "HXT",
"化德" => "HGC",
"洪洞" => "HDV",
"横峰" => "HFG",
"韩府湾" => "HXJ",
"汉沽" => "HGP",
"黄瓜园" => "HYM",
"红光镇" => "IGW",
"浑河" => "HHT",
"红花沟" => "VHD",
"黄花筒" => "HUD",
"贺家店" => "HJJ",
"和静" => "HJR",
"红江" => "HFM",
"黑井" => "HIM",
"获嘉" => "HJF",
"河津" => "HJV",
"涵江" => "HJS",
"华家" => "HJT",
"河间西" => "HXP",
"花家庄" => "HJM",
"河口南" => "HKJ",
"黄口" => "KOH",
"湖口" => "HKG",
"呼兰" => "HUB",
"葫芦岛北" => "HPD",
"浩良河" => "HHB",
"哈拉海" => "HIT",
"鹤立" => "HOB",
"桦林" =&
微信是一款手机通信软件,支持通过手机网络发送语音短信、视频、图片和文字。微信可以单聊及群聊,还能根据地理位置找到附近的人,带给大家全新的移动沟通体验,有需要的小伙伴快来保存下载体验吧!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号