/*! * Copyright(c) 2011-2022 Donghong Technology Inc. * http://www.jxstar.com/license */ /** * 去掉前端where的工具类 * * @author TonyTan * @version 1.0, 2022-04-13 */ JxThree = {}; (function(){ Ext.apply(JxThree, { /** * 获取加密后的参数 **/ getServerParam: function(wsql, wvalue, wtype) { var pre = JxUtil.uuid(2,16); var param = pre+'@#@'+(wsql||'')+'@#@'+(wvalue||'')+'@#@'+(wtype||'')+'@#@Zk'; return this.encrypt(param); }, /** * 通用查询参数处理 **/ getCommonParams: function(options) { if (options.where_sql && options.where_sql.length > 0) { options.server_param = this.getServerParam(options.where_sql, options.where_value, options.where_type); delete options.where_sql; delete options.where_value; delete options.where_type; } return options; }, /** * 处理请求参数中的三个where参数 **/ dealParams: function(params) { if (params == null || params.length == 0) return params; if (params.indexOf('&where_sql') < 0) return params; params = this.dealWhere(params); var options = Ext.urlDecode(params); options.server_param = this.getServerParam(options.where_sql, options.where_value, options.where_type); delete options.where_sql; delete options.where_value; delete options.where_type; return Ext.urlEncode(options); }, // 处理 where_sql 中的 = 特殊字符 dealWhere: function(params) { if (params == null || params.length == 0) return params; //console.log("params=" + params); var ps = []; if (params.indexOf('&where_sql=') >= 0) { ps = params.split('&where_sql='); } else if (params.indexOf('&where_sql =') >= 0) { ps = params.split('&where_sql ='); } if (ps.length > 0) { var end = '', where = ''; //尾部截断,取出where_sql参数的值 var ix = ps[1].indexOf('&'); if (ps[1].length > 0 && ix >= 0) { where = ps[1].substr(0, ix); end = ps[1].substr(ix, ps[1].length); } else { where = ps[1]; } //console.log("where=" + where); params = ps[0] + '&where_sql=' + encodeURIComponent(where) + end; } return params; }, /* // 加密 encrypt: function(str) { var re = /=/g; var pre = JxUtil.uuid(4,16); var str = pre + Base64.encode(str) + 'Dh'; str = str.replace(re, '#'); return str; } */ // 加密 encrypt: function(str) { var re = /=/g; var pre = JxUtil.uuid(4,16); var baseStr=Base64.encode(str); var str_1 = JxUtil.uuid(1,16); var str_2 = JxUtil.uuid(1,16); baseStr=baseStr.substr(0,3)+str_1+baseStr.substr(3,baseStr.length-2)+str_2+baseStr.substr(baseStr.length-2,baseStr.length); //console.log("baseStr=" + baseStr); var str = pre + baseStr + 'Dh'; str = str.replace(re, '#'); //console.log("str=" + str); return str; } });//Ext.apply })();