ajax调用方法重构

This commit is contained in:
结发受长生
2018-05-08 21:29:14 +08:00
parent ff62d72b4f
commit 939deaef3d
4 changed files with 45 additions and 129 deletions
+32 -123
View File
@@ -709,6 +709,18 @@ var JELON = window.JELON || {};
$('JELON__previewBox').innerHTML = '';
}
};
var createSuccessCb = function(callback){
return function (res) {
if (typeof res === 'string') {
if (window.JSON) {
res = JSON.parse(res);
} else {
res = eval('(' + res + ')');
}
}
callback && callback(res);
}
}
JL.Requests = {
getIssueNumberByLabel: function (label, callback) {
ajax({
@@ -718,19 +730,8 @@ var JELON = window.JELON || {};
labels: [ label ],
rnd: Math.random()
},
success: function (res) {
if (typeof res === 'string') {
if (window.JSON) {
res = JSON.parse(res);
} else {
res = eval('(' + res + ')');
}
}
callback && callback(res);
},
fail: function (err) {
callback && callback(err);
}
success: createSuccessCb(callback),
fail: callback
});
},
createIssue: function (data, callback) {
@@ -738,19 +739,8 @@ var JELON = window.JELON || {};
url: constants.API_HOST + '/repos/' + JL.options.owner + '/' + JL.options.repo + '/issues',
method: 'POST',
data: data,
success: function (res) {
if (typeof res === 'string') {
if (window.JSON) {
res = JSON.parse(res);
} else {
res = eval('(' + res + ')');
}
}
callback && callback(res);
},
fail: function (err) {
callback && callback(err);
}
success: createSuccessCb(callback),
fail: callback
});
},
getCommentListByIssueNumber: function (number, data, callback) {
@@ -758,19 +748,8 @@ var JELON = window.JELON || {};
url: constants.API_HOST + '/repos/' + JL.options.owner + '/' + JL.options.repo + '/issues/' + number + '/comments',
method: 'GET',
data: data,
success: function (res) {
if (typeof res === 'string') {
if (window.JSON) {
res = JSON.parse(res);
} else {
res = eval('(' + res + ')');
}
}
callback && callback(res);
},
fail: function (err) {
callback && callback(err);
}
success: createSuccessCb(callback),
fail: callback
});
},
getReactionsByCommentId: function (id, data, callback) {
@@ -781,19 +760,8 @@ var JELON = window.JELON || {};
url: constants.API_HOST + '/repos/' + JL.options.owner + '/' + JL.options.repo + '/issues/comments/' + id + '/reactions',
method: 'GET',
data: data,
success: function (res) {
if (typeof res === 'string') {
if (window.JSON) {
res = JSON.parse(res);
} else {
res = eval('(' + res + ')');
}
}
callback && callback(res);
},
fail: function (err) {
callback && callback(err);
}
success: createSuccessCb(callback),
fail: callback
});
},
editIssue: function (number, data, callback) {
@@ -801,19 +769,8 @@ var JELON = window.JELON || {};
url: constants.API_HOST + '/repos/' + JL.options.owner + '/' + JL.options.owner + '/issues/' + number,
method: 'POST',
data: data,
success: function (res) {
if (typeof res === 'string') {
if (window.JSON) {
res = JSON.parse(res);
} else {
res = eval('(' + res + ')');
}
}
callback && callback(res);
},
fail: function (err) {
callback && callback(err);
}
success: createSuccessCb(callback),
fail: callback
});
},
markdown: function (data, callback) {
@@ -821,12 +778,8 @@ var JELON = window.JELON || {};
url: constants.API_HOST + '/markdown',
method: 'POST',
data: data,
success: function (res) {
callback && callback(res);
},
fail: function (err) {
callback && callback(err);
}
success: callback,
fail: callback
});
},
getAccessToken: function (data, callback) {
@@ -838,19 +791,8 @@ var JELON = window.JELON || {};
'Accept': 'application/json'
},
data: data,
success: function (res) {
if (typeof res === 'string') {
if (window.JSON) {
res = JSON.parse(res);
} else {
res = eval('(' + res + ')');
}
}
callback && callback(res);
},
fail: function (err) {
callback && callback(err);
}
success: createSuccessCb(callback),
fail: callback
});
},
getUserInfo: function (data, callback) {
@@ -858,19 +800,8 @@ var JELON = window.JELON || {};
url: constants.API_HOST + '/user',
method: 'GET',
data: data,
success: function (res) {
if (typeof res === 'string') {
if (window.JSON) {
res = JSON.parse(res);
} else {
res = eval('(' + res + ')');
}
}
callback && callback(res);
},
fail: function (err) {
callback && callback(err);
}
success: createSuccessCb(callback),
fail: callback
});
},
createComment: function (number, data, callback) {
@@ -878,19 +809,8 @@ var JELON = window.JELON || {};
url: constants.API_HOST + '/repos/' + JL.options.owner + '/' + JL.options.repo + '/issues/' + number + '/comments',
method: 'POST',
data: data,
success: function (res) {
if (typeof res === 'string') {
if (window.JSON) {
res = JSON.parse(res);
} else {
res = eval('(' + res + ')');
}
}
callback && callback(res);
},
fail: function (err) {
callback && callback(err);
}
success: createSuccessCb(callback),
fail: callback
});
},
createReaction: function (commentId, data, callback) {
@@ -898,19 +818,8 @@ var JELON = window.JELON || {};
url: constants.API_HOST + '/repos/' + JL.options.owner + '/' + JL.options.repo + '/issues/comments/' + commentId + '/reactions',
method: 'POST',
data: data,
success: function (res) {
if (typeof res === 'string') {
if (window.JSON) {
res = JSON.parse(res);
} else {
res = eval('(' + res + ')');
}
}
callback && callback(res);
},
fail: function (err) {
callback && callback(err);
}
success: createSuccessCb(callback),
fail: callback
});
}
};
@@ -1,5 +1,6 @@
(function(){
var articleDatas = null;
var resultDiv = null;
new Vue({
el: "#search-box",
data: {
@@ -27,12 +28,18 @@ new Vue({
url: item.getElementsByTagName("url")[0].innerHTML,
}
})
resultDiv = document.getElementById("search-result-box")
});
},
watch: {
queryText: function(newVal, oldVal) {
this.searchResult.length = 0;
if(!newVal || !newVal.trim() || !articleDatas) return
if(newVal && newVal.trim() && articleDatas) {
resultDiv.style.display = "block"
} else {
resultDiv.style.display = "none"
return
}
var keywords = newVal.trim().toLowerCase().split(/[\s\-]+/);
var _this = this;
articleDatas.forEach(function(article){
@@ -76,7 +83,6 @@ new Vue({
end = content.length;
}
var matchContent = content.substring(start, end);
debugger
// 高亮关键字
keywords.forEach(function(keyword){
var keywordReg = new RegExp(keyword, "gi");