UNPKG

igi_orion_cignacmb

Version:

Censors words out of text

238 lines (230 loc) 9.74 kB
var CentralWidget = require('./CentralWidget'); var CentralService = require('../service/CentralService'); var input = $.extend({}, CentralWidget, { type: 'order_form', //组件的类别,用于service层动态对比配置进行实例化 effectiveDate: "", startDate: "", order: {}, form: {}, ownOrder: "", userInfo: "", urlParams: '', orderToFormTransform: function () { }, formToOrderTransform: function () { }, setUpWidgetService: function (form, widgetConfig) { var deferred = Deferred(); var that = this; var index = 0; //将配置自动化复制进组件 for (var x in widgetConfig) { //取得组件实例 (创建一个独立的新对象) widgetConfig[x].serieNo = index; //这里是直接添加一个序号 index += 1; var widget = $.extend({}, require('../widget/index')[widgetConfig[x].type]); //将配置放进组件实例 for (var y in widgetConfig[x]) { widget[y] = widgetConfig[x][y]; } var value = form[x]; widget.setValue(value); //设置值的时候,组件会进行单位转换、拆解等操作 form[x] = widget // avalon.log(widgetConfig[x].type, widget) } deferred.resolve(form); // deferred.reject(); return deferred.promise; }, converWidgetToData: function (object) { //统一对组件进行数据转换 var data = {} for (var x in object) { if (object[x] && typeof object[x] == 'object' && object[x].getValue) { avalon.log(object[x] + '即将被转换') object[x] = data[x] = object[x].getValue(); } else { data[x] = object[x] } } return data; }, widgetFix: function (object) { //统一对组件进行自修复 var that = this; var deferred = Deferred() for (var x in object) { if (object[x] && typeof object[x] == 'object' && object[x].fix) { object[x].fix(); } } return deferred.promise }, widgetValidate: function (object) { //统一对组件进行自修复 var errors = []; var index = 0; for (var y in object) { for (var x in object) { if (object[x] && typeof object[x] == 'object' && object[x].validate) { if (object[x].serieNo == index) { var error = object[x].validate(); errors = errors.concat(error) index += 1; break; } } } } return errors; }, hasCache: function (interfaceOrder) { var that = this; if (interfaceOrder) { return true; } var cachePreFix = CentralService.getCacheNamePrefix(that.urlParams); var cacheName = cachePreFix + 'order'; var orderString = window.newStorage.getItem(cacheName + '-' + 'names'); var orderString_ = window.newStorage.getItem('orion-order-names'); var orionLoginState = window.newStorage.getItem('orionLoginState'); console.log('cachePreFix',cachePreFix,window.newStorage.getItem('orion-order-product'),orderString_,orionLoginState) if((window.newStorage.getItem('orion-order-product') && (window.newStorage.getItem('orion-order-product') != 'undefined')) && (cachePreFix != window.newStorage.getItem('orion-order-product'))){ try { var all_order = window.newStorage.getItem('orion-order-names'); all_order = JSON.parse(all_order) for (var i = 0; i < all_order.length; i++) { window.newStorage.removeItem('orion-order-' + all_order[i]); } window.newStorage.removeItem('orion-order-names'); } catch (error) { } orionLoginState = 1; } if(orionLoginState != 1 && orderString_){ return true; } if (orderString) { return true; } else { return false; } }, getOrderCache: function (interfaceOrder) { var that = this; if (interfaceOrder) { return interfaceOrder; } else { var myBrowserType = CentralService.myBrowserType(); var cachePreFix = CentralService.getCacheNamePrefix(that.urlParams); var cacheName = cachePreFix + 'order'; var orionLoginState = window.newStorage.getItem('orionLoginState'); if(orionLoginState != 1 && myBrowserType){ cacheName = 'orion-order'; } var all_order = window.newStorage.getItem(cacheName + '-' + 'names'); all_order = JSON.parse(all_order) var order = {}; for (var i = 0; i < all_order.length; i++) { order[all_order[i]] = window.newStorage.getItem(cacheName + '-' + all_order[i]); if (order[all_order[i]]) { order[all_order[i]] = JSON.parse(order[all_order[i]]); } } return order; } }, judgeOrionLoginState:function(){ var that = this; var cacheName = 'orion-order'; var all_order = []; for (var x in that.order) { window.newStorage.setItem(cacheName + '-' + x, JSON.stringify(that.order[x])); all_order.push(x) } var cachePreFix = CentralService.getCacheNamePrefix(that.urlParams); window.newStorage.setItem(cacheName + '-product', cachePreFix); window.newStorage.setItem(cacheName + '-' + 'names', JSON.stringify(all_order)); }, orderToCache: function () { var that = this; var myBrowserType = CentralService.myBrowserType(); var cachePreFix = CentralService.getCacheNamePrefix(that.urlParams); var cacheName = cachePreFix + 'order'; if (myBrowserType) { var orionLoginState = window.newStorage.getItem('orionLoginState'); if(orionLoginState != 1){ that.judgeOrionLoginState(); }else{ CentralService.setOpCache(that.urlParams, cacheName, JSON.stringify(that.order)); } } else { var all_order = [] for (var x in that.order) { window.newStorage.setItem(cacheName + '-' + x, JSON.stringify(that.order[x])); all_order.push(x) } window.newStorage.setItem(cacheName + '-' + 'names', JSON.stringify(all_order)); } }, cacheToOrder: function (interfaceOrder) { var that = this; if (interfaceOrder) { that.order = interfaceOrder; console.log('从接口获取的数据') return that.order; } else { console.log('从浏览器缓存获取的数据') var myBrowserType = CentralService.myBrowserType(); var cachePreFix = CentralService.getCacheNamePrefix(that.urlParams); var cacheName = cachePreFix + 'order'; var orionLoginState = window.newStorage.getItem('orionLoginState'); if(orionLoginState != 1 && myBrowserType){ cacheName = 'orion-order'; } var all_order = window.newStorage.getItem(cacheName + '-' + 'names'); all_order = JSON.parse(all_order) var order = {}; if(all_order){ for (var i = 0; i < all_order.length; i++) { order[all_order[i]] = window.newStorage.getItem(cacheName + '-' + all_order[i]); if (order[all_order[i]] && (order[all_order[i]] != 'undefined')) { order[all_order[i]] = JSON.parse(order[all_order[i]]); } } } if (order) { that.order = order; } if(window.location.href.indexOf('login.html?') != -1){ try { for (var i = 0; i < all_order.length; i++) { window.newStorage.removeItem('orion-order' + '-' + all_order[i]); } window.newStorage.removeItem('orion-order' + '-' + 'names'); } catch (error) { } CentralService.setOpCache(that.urlParams, cachePreFix + 'order', JSON.stringify(that.order)); } return order; } }, removeCache: function () { var that = this; var myBrowserType = CentralService.myBrowserType(); var cachePreFix = CentralService.getCacheNamePrefix(that.urlParams); var cacheName = cachePreFix + 'order'; if (myBrowserType) { CentralService.setOpCache(that.urlParams, cacheName, null); } else { var all_order = window.newStorage.getItem(cacheName + '-' + 'names'); all_order = JSON.parse(all_order); if (!all_order) { return; } for (var i = 0; i < all_order.length; i++) { window.newStorage.removeItem(cacheName + '-' + all_order[i]); } window.newStorage.removeItem(cacheName + '-' + 'names'); } } }); module.exports = input;