最近购买了一个快递查询网站,原程序用的时方卡的系统,查看了一下代码,还是跟以前一样让人不敢恭维。程序不支持CURL,文件名大小写不分,用户名和密码以明文方式保存,屁大个系统还要使用模板缓存,目录混乱……吐槽无力
为了省去所谓的更新时间,打算直接使用爱查快递的API。废乱不多说了,直接上代码
备份好以前的model/ajax.php,注意,这个文件在后台点击更新后会被更新
第一步:修改model/ajax.php为
<?php
include './ickd.php';
$type=$_GET['type'];
$nu=$_GET['no'];
$com=$ickd[$type];
$id=123456;
$secret='xxxxxxxxxxxxxxxxx';//$id和$secret是爱查快递提供的API相关东西,可以到http://api.ickd.cn/users/注册后申请
$ch=curl_init('http://api.ickd.cn/?id='.$id.'&secret='.$secret.'&type=json&encode=utf8&com='.$com.'&nu='.$nu);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
curl_setopt($ch,CURLOPT_HEADER,false);
$resp=curl_exec($ch);
curl_close($ch);
echo $resp;
?>
第二步:在model目录下新建ickd.php,内容如下:
这个文件主要是将type与API对应起来,如果没有修改过的话,直接使用下面的就行
<?php
$ickd=array(
38 => 'aae',
40 => 'anjie',
39 => 'anxinda',
19 => 'quanyi',
21 => 'quanritong',
53 => 'bht',
26 => 'yafeng',
31 => 'jinyue',
44 => 'minhang',
16 => 'cces',
48 => 'zhongyou',
30 => 'zhongtie',
41 => 'changyu',
18 => 'debang',
11 => 'dhl',
52 => 'dsu',
55 => 'datian',
24 => 'yibang',
54 => 'ees',
101 => 'ems',
23 => 'kuaijie',
12 => 'fedex',
13 => 'fedex2',
32 => 'fkd',
37 => 'fkdex',
10 => 'post',
17 => 'nengda',
29 => 'huayu',
9 => 'huitong',
49 => 'jiaji',
42 => 'jiayi',
43 => 'joust',
20 => 'longbang',
34 => 'lianhaotong',
51 => 'qfkd',
50 => 'rufengda',
4 => 'shunfeng',
22 => 'xingchenjibian',
2 => 'shentong',
27 => 'sure',
46 => 'teneng',
45 => 'tnt',
5 => 'tiantian',
25 => 'yousu',
14 => 'ups',
35 => 'xinbang',
36 => 'xinfeng',
15 => 'xinfeihong',
6 => 'yunda',
47 => 'yuefeng',
33 => 'yuanzhi',
3 => 'yuantong',
28 => 'yuntong',
8 => 'zhaijisong',
7 => 'zhongtong',
);
?>
第三步是修改sysjs/ajax.js文件
var reg;//xmlhttp组件
var timeout=30000;//超时间隔,单位毫秒
var httpxml;
var s_stat=0;
var tempUrl=unescape(window.location.href);
var s_no="";
var s_type="";
var s_code="";
var s_other="";
var s_content="";
var s_dir="";
var s_abate="";
var s_skintype=0;
var s_msg_abate="";
var s_msg_none="";
var s_msg_codeerr="";
var s_msg_autoerr="";
var s_msg_timeout="";
var s_color1="";
var s_color2="";
var s_color3="";
//HTML带单号查询
$(document).ready(function(){
var tempUrl=unescape(window.location.href);
if($('#s #no').length>0&&tempUrl.indexOf("?no=")>0){
var tempArr=tempUrl.split("&");
var expressNo=tempArr[0].split("no=")[1].toUpperCase();
var expressOther="";
$('#s #no').val(expressNo);
ajax_search('s');
}
});
//切换内容
function SetRContent(Urls,DivId){
$.get(Urls,
function(data){
$('#'+DivId).html(data);
return true;
}
);
}
//首页查询快递切换
function index_s(s_tag,s_a,forms){
var exTag,exId,exRName,exRFile,exPhone,exWebSkin;
$('.check').removeClass('mouseon');
$(s_a).addClass('mouseon');
$('#result_box').hide();
$('#'+forms+' #codebox').hide();
$('#'+forms+' #otherbox').hide();
$.get('express/'+s_tag+'.xml', function(data){
exTag=$(data).find('exTag').text();
exId=$(data).find('exId').text();
exRName=$(data).find('exRName').text();
exRFile=$(data).find('exRFile').text();
exPhone=$(data).find('exPhone').text();
exWebSkin=$(data).find('exWebSkin').text();
$('#i_Name').html(exRName);
$('#i_Phone').html(exPhone);
$('#i_Url').attr('href',s_dir+exRFile+'.html');
$('#'+forms+' #no').val('请输入您的快递单号');
$('#'+forms+' #type').val(exId);
if(exWebSkin=='show2'){
//$('#'+forms+' #codebox').show();
//$('#'+forms+' #code').val('');
//$('#'+forms+' #code_img').attr('src',s_dir+'model/checkcode.php?type='+exTag+'&'+Math.random());
}
if(exWebSkin=='show3'){
//$('#'+forms+' #otherbox').show();
}
});
}
//ajax查询
function ajax_search(forms){
if(parent.document.URL!=document.URL){
return false;
}
s_no=$('#'+forms+' #no').val();
s_type=$('#'+forms+' #type').val();
if($('#'+forms+' #code').length>0){
s_code=$('#'+forms+' #code').val();
}else{
s_code='none';
}
if($('#'+forms+' #other').length>0){
s_other=$('#'+forms+' #other').val();
}else{
s_other='none';
}
$('#result_box').hide();
$('#info_box').hide();
if(s_no==""||s_no=="请输入您的快递单号"){
$('#info_box').html("请输入单号!");
$('#info_box').show();
return;
}
if(s_no.length<5||s_no.length>20){
$('#info_box').html("单号长度不对哦!!");
$('#info_box').show();
return;
}
if($('#'+forms+' #codebox').css("display")!='none'&&s_code==''){
$('#info_box').html("请输入验证码进行查询!");
$('#info_box').show();
return;
}
$('#loading_box').show();
var g_url=s_dir+"model/ajax.php?type="+s_type+"&no="+s_no+"&code="+s_code+"&other="+s_other
//alert("model/ajax.php?type="+s_type+"&no="+s_no+"&code="+s_code+"&other="+s_other);
//location.href="model/ajax.php?type="+s_type+"&no="+s_no+"&code="+s_code+"&other="+s_other;
$.ajax({
type: "GET",
url: g_url+'&tmp='+Date.parse(new Date()),
timeout: 30000,
dataType:'json',
error: function(XMLHttpRequest, textStatus, errorThrown){
$('#loading_box').hide();
$('#info_box').html(s_msg_timeout);
$('#info_box').show();
},
success: function(result) {
$('#loading_box').hide();
var resultcontext=result;
if(result.status==0){
$('#info_box').html(result.message);
$('#info_box').show();
}else{
json_arr=result.data;
json_return_str='';
if(json_arr.length>0){
json_return_str+='<table width="100%" border="1" style="color:'+s_color3+';" bordercolor="'+s_color1+'" cellspacing="0" cellpadding="5">';
json_return_str+='<tr style="background:#F1F1F1"><td height="20" width="150" style="padding:3px">时间</td><td style="padding:3px">进度</td></tr>';
$.each(json_arr,function(index,item){
json_return_str+='<tr><td height="20" width="150" style="padding:3px">'+item.time+'</td><td style="padding:3px">'+item.context+'</td></tr>';
});
json_return_str+='</table>';
}
$('#result_box').html(json_return_str);
$('#result_box').show();
s_content=json_return_str;
if($('#'+forms+' #codebox').css("display")!='none'){
$('#'+forms+' #code').val('');
$('#'+forms+' #code_img').attr('src',$('#'+forms+' #code_img').attr("src")+'&'+Math.random());
}
$.get(s_dir+"model/dbin.php?s_no="+s_no.toUpperCase()+"&s_type="+s_type);
}
}
});
}
function clearExpress(eid){
eid=eid.toString().toUpperCase().replace(".","");
eid=ltrim(rtrim(eid));
return eid;
}
function ltrim(s){
return s.replace( /^\s*/,"");
}
function rtrim(s){
return s.replace( /\s*$/,"");
}
if(typeof($)!='undefined'){
$(function(){
$('#codebox').hide();
});
}
上传到空间里就OK了