想问下, 前端的接口 如果想封装成 js-sdk(就是后端给前端封装好的一个js模块, 前端无需理会后台接口的具体url路径,前端只需要调用里面的一个方法即可, 总的来说就像微信sdk那玩意) 的形式,该如何封装呢?另外有没有例子参考一下或者建议呢?
拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...
总的来说这玩意就是一个封装好的若干个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); });
总的来说这玩意就是一个封装好的若干个ajax请求集合。举个小例子:还可以自己扩展封装哈