码迷,mamicode.com
首页 > 其他好文 > 详细

190、angular1之请求封装

时间:2020-04-03 21:46:51      阅读:61      评论:0      收藏:0      [点我收藏+]

标签:ack   module   service   login   reject   finally   message   hat   OLE   

弹窗与表格、表单联合展示
弹窗与双层请求联合展示

(function () { angular .module(
CY) .service(finalRequest, function (/* 依赖 */) { /* var allDatas = { method: ‘post‘, url: ‘‘, warn: ‘‘, responseType: ‘‘, isWholeCircle: true, alertOneIsShow: true, alertOneIsShowCancelButton: true, alertOneConcelText: ‘‘, alertOneConfirmText: ‘‘,//alertOne.set({confirmText:allDatas.alertOneConfirmText||‘确定‘,}) alertOneConfirmCallback: fn } */ this.originRequest = function (allDatas/* 此data包含的所有可能内容如上 */) { var that = this; var deferred = $q.defer(); if (data.q) { if (data.q.type === layer) { layer.open({ title: 系统信息, content: data.q.msg || 未定义信息, skin: layui-ext-yourskin, yes: function (index) { if (data.q.dir_load) { dir_load.show = true; } that.http(data, deferred); layer.close(index); } }); } else { dir_alert.set({ button: true, content: data.q.msg || 未定义信息, ok: function () { if (data.q.dir_load) { dir_load.show = true; } that.http(data, deferred); } }); } } else { if (data.dir_load) { dir_load.show = true; } that.http(data, deferred); } return deferred.promise; } this.http = function (data, deferred) { var request_params = { method: data.method, url: ./ + data.root + data.url, params: data.params || {}, data: data.data || {} }; if (data.responseType) { angular.merge(request_params, { responseType: data.responseType }); } if (data.url_change) { request_params.url = data.url_change; } if (data.headers) { request_params.headers = data.headers; } if (angular.isObject(data.load)) { angular.isFunction(data.load.table) ? data.load.table(true) : angular.noop(); angular.isFunction(data.load.page) ? data.load.page(true) : angular.noop(); if (angular.isFunction(data.load.initload)) { data.load.initload(true, data.scope.scope, data.scope.initload_key); } if (angular.isObject(data.load.button)) { for (var i in data.load.button) { data.load.button[i](true); } } } $http(request_params) .then(function (res) { //res.status(不是res.data.status)===200时进入这里,否则进入catch var err; if (data.check_status === never) { deferred.resolve(res); } else { if (res.data.status === 1000 || res.data.status === 1000) { dir_alert.set({ theme: { width: 300px }, button: true, cancel_hiden: true, click_other_hidden: false, icon_close: false, title: 错误, content: 当前会话已过期,即将跳到登录页。 }); $timeout(function () { dir_alert.view = false; app_data.root(user_info, null); sessionStorage.removeItem(g_user_info); cookie_m.del(session); $state.go(login); }, 2000); err = new Error(会话过期!); throw err; } if ( res.data && res.data.hasOwnProperty(status) && (res.data.status === 0 || res.data.status === 0) ) { if (res.data.msg || res.data.message) { //“|| res.data.message”这个内容2019年12月31日 15:03添加 if (data.handleCofirmType === layer) { layer.open({ title: 系统信息, skin: layui-ext-yourskin, content: res.data.msg || res.data.message }); } else { dir_alert.set({ theme: { width: 300px }, button: true, cancel_hiden: data.no_cancel_hiden === 1 ? false : true, content: res.data.msg || res.data.message, okTxt: data.confirm_text || 确定, //set-ump.js第71行,用到这个配置钱成2019年8月7日 17:19 ok: angular.isFunction(data.confirm) ? data.confirm : null }); } } err = new Error(res.data.msg || res.data.message || 错误); throw err; } if ( res.data && res.data.hasOwnProperty(status) && (res.data.status === 2 || res.data.status === -2) ) { deferred.reject(res.data); } if ( res.data && res.data.hasOwnProperty(status) && (res.data.status === 1100 || res.data.status === 1100) ) { layer.open({ title: 系统信息, content: res.msg || 无相关访问权限!, skin: layui-ext-yourskin }); deferred.reject(res.data); } } deferred.resolve(res.data); }) .catch(function (err) { deferred.reject(err); }) .finally(function () { if (data.q && data.q.dir_load) { dir_load.show = false; } if (data.dir_load) { dir_load.show = false; } if (angular.isObject(data.load)) { angular.isFunction(data.load.table) ? data.load.table(false) : angular.noop(); angular.isFunction(data.load.page) ? data.load.page(false) : angular.noop(); if (angular.isFunction(data.load.initload)) { data.load.initload( false, data.scope.scope, data.scope.initload_key ); } if (angular.isObject(data.load.button)) { for (var i in data.load.button) { data.load.button[i](false); } } } }); }; } })(angular);

 

190、angular1之请求封装

标签:ack   module   service   login   reject   finally   message   hat   OLE   

原文地址:https://www.cnblogs.com/gushixianqiancheng/p/12628847.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!