标签: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);
标签:ack module service login reject finally message hat OLE
原文地址:https://www.cnblogs.com/gushixianqiancheng/p/12628847.html