javascript - 想问下, 前端的接口如果封装成 js-sdk 的形式,该如何封装呢?
本文介绍了javascript - 想问下, 前端的接口如果封装成 js-sdk 的形式,该如何封装呢?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
想问下, 前端的接口
如果想封装成 js-sdk
(就是后端给前端封装好的一个js模块, 前端无需理会后台接口的具体url路径,前端只需要调用里面的一个方法即可, 总的来说就像微信sdk那玩意) 的形式,该如何封装呢?另外有没有例子参考一下或者建议呢?
解决方案
总的来说这玩意就是一个封装好的若干个ajax请求集合。
举个小例子:还可以自己扩展封装哈
!(function(win, doc) {
function SDK(opt) {
this.opt = opt;
}
SDK.prototype._ajax = function(param, callback) {
// 省略代码,举个例子,直接返回参数
if (typeof callback === 'function') callback(param);
}
// 私有方法,一般不提供的,为了扩展性
SDK.prototype._update = function(key, defaultParam) {
this[key] = function(param, callback) {
param = Object.assign({}, defaultParam, param);
this._ajax(param, callback);
}
return this;
};
SDK.prototype._remove = function(url) {
delete this[url];
return this;
};
// common 方法
SDK.prototype.loginApi = function(param, callback) {
param.time = new Date();
return this._ajax(param, callback);
}
win.JSsdk = new SDK();
})(window, document);
// test
JSsdk.loginApi({ username: 'admin', pwd: '123456' }, function(res) {
console.log(res);
});
JSsdk._update('logout', { redirect: 'http://aaa.com/bbb' });
JSsdk.logout({}, function(res) {
console.log(res);
});
这篇关于javascript - 想问下, 前端的接口如果封装成 js-sdk 的形式,该如何封装呢?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文