鉴于之前不熟练的业务逻辑,几乎每一个请求都是原班套用,随着熟练度,自己封装了一个函数,
如下,请求带三个参数,url,请求参数,回调函数,
举例如下:
我把需要的公用参数封装在了一个Js文件,需要的时候调用
var url = Fn.requestUrl+'接口';
params={参数}
Fn.postRequest(url,params,function(data){
//你的操作
})
//网络请求GET
getRequest(url,params,callback){
if (params) {
let paramsArray = \[\];
//拼接参数
Object.keys(params).forEach(key => paramsArray.push(key + '=' + params\[key\]))
if (url.search(/\\?/) === -1) {
url += '?' + paramsArray.join('&')
} else {
url += '&' + paramsArray.join('&')
}
}
fetch(url,{
method:'GET',
headers:{
'Accept': 'application/json',
'Content-Type': 'application/json'
},
})
.then((response)=>response.json())
.then((json)=>{
callback(json);
})
.catch((error)=>{
console.error('error',error)
alert(error);
});
},
//网络请求POST
postRequest(url,params,callback){
fetch(url, {
method: 'POST',
headers: {
'Content-Type':'application/json',
},
body:JSON.stringify(params),
})
.then((response) => response.json() )
.then((json)=>{
callback(json)
})
.catch((error)=>{console.error('error',error)
alert(error)
});
},
时间函数,调用的时候change(参数)即可,一个月之前的显示格式为2018/08/04 上午10:51:40
如不需要显示这么全,可以把最后一句的字符串截取数更改一下即可。
时间转换函数
change(timestamp) {
let currentUnixTime = Math.round((new Date()).getTime() / 1000); // 当前时间的秒数
let deltaSecond = currentUnixTime - parseInt(timestamp, 10); // 当前时间与要转换的时间差( s )
let result;
if (deltaSecond < 60) {
result = '刚刚'; //发现之前的几秒前会有bug,
} else if (deltaSecond < 3600) {
result = Math.floor(deltaSecond / 60) + '分钟前';
} else if (deltaSecond < 86400) {
result = Math.floor(deltaSecond / 3600) + '小时前';
} else if(deltaSecond <2592000) {
result = Math.floor(deltaSecond / 86400) + '天前';
}else{
result=new Date(parseInt(timestamp) * 1000).toLocaleString().substr(0,19) //大于一个月显示日期格式
}
return result;
},
文章完,之前的note项目还在继续,每天晚上搞一搞,很快就能用了,目前功能基本完善,还有一个定位的判断
请关注我的上一篇文章查看进度。目前进度70%
更新一下时间函数:后台php直接转换:
* 精确时间间隔函数
* $time 发布时间 如 1356973323
* $str 输出格式 如 Y-m-d H:i:s
* 半年的秒数为15552000,1年为31104000,此处用半年的时间
function fromTime($time,$str='')
{
isset($str)?$str:$str='m-d';
$way = time() - $time;
$r = '';
if($way < 60){
$r = '刚刚';
}elseif($way >= 60 && $way <3600){
$r = floor($way/60).'分钟前';
}elseif($way >=3600 && $way <86400){
$r = floor($way/3600).'小时前';
}elseif($way >=86400 && $way <2592000){
$r = floor($way/86400).'天前';
}elseif($way >=2592000 && $way <15552000){
$r = floor($way/2592000).'个月前';
}else{
$r = date("$str",$time);
}
return $r;
}
2018-12-22 冬至 南京 雨 更新
评论 (0)