84669 Lernen von Personen
152542 Lernen von Personen
20005 Lernen von Personen
5487 Lernen von Personen
7821 Lernen von Personen
359900 Lernen von Personen
3350 Lernen von Personen
180660 Lernen von Personen
48569 Lernen von Personen
18603 Lernen von Personen
40936 Lernen von Personen
1549 Lernen von Personen
1183 Lernen von Personen
32909 Lernen von Personen
想问下, 前端的接口 如果想封装成 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请求集合。举个小例子:还可以自己扩展封装哈