以前做了个微信平台;被自己不小心删除了程序;今天又得重做一个;并决定把微信的制作过程和程序与大家共享;今天先分享微信天气预报开发
工具/原料
国家天气预报接口http://m.weather.com.cn/data/101010100.html
discuz源程序
方法/步骤
1、收集天气预报城市代码并导入数据库;
2、通过微信的输入找到对应的appid;通过getweat丝群闻栝her(appid)函数获取城市对应的天气;下面是找到对应a禊诬娱飑ppid的程序if(preg_match("/^[A-Za-z]{2,}$/",$keyword)){//如果输入的是字母;$appid=C::t('weixin_tianqi')->fetch_appid_by_zimu($keyword);if($appid){$weather=getw($appid['appid'}return$weather;}else{//如果输入的是汉子;$appid=C::t('weixin_tianqi')->fetch_appid_by_diqu($keyword);if($appid){$weather=getw($appid['appid']);return$weather;}}下面这个是数据库的程序publicfunctionfetch_appid_by_zimu($zimu){$appid=DB::fetch_first("SELECTappidFROM%tWHEREzimu=%s",array($this->_table,$zimu));if(!$appid){$appid=DB::fetch_first("SELECTappidFROM%tWHEREtpinyin=%s",array($this->_table,$zimu));}if($appid){return$appid;}}publicfunctionfetch_appid_by_diqu($diqu){$appid=DB::fetch_first("SELECTappidFROM%tWHEREdiqu=%s",array($this->_table,$diqu));if($appid){return$appid;}}
3、这个是通过城市代码获谀薜频扰得城市天气预报情况functiongetweather($appid){$appid=trim($appid);if($appid){$content租涫疼迟=file_get_contents("http://m.weather.com.cn/data/{$appid}.html");if(!$content){//mysql_query("insertintoerrorlogvalues(null,'没有取到天气接口数据','$date',$time)",$link);//echomysql_error();file_put_contents('weather.txt','没有接受到天气数据',FILE_APPEND);return'暂时没有取到天气数据,请稍后再试';}$result=json_decode($content,true);$info=$result['weatherinfo'];$strw="{$info['city']}的天气情况\n";$strw.="今天:({$info['temp1']}){$info['weather1']}{$info['wind1']}{$info['fl1']},";$strw.="明天:({$info['temp2']}){$info['weather2']}{$info['wind2']}{$info['fl2']},";$strw.="今天:{$info['date_y']}{$info['week']}。";return$strw;}else{return'没有获取到该城市的天气,请确定输入了正确的城市名称,如\'北京\'或者\'beijing\'';}}
4、下面是效果图: