From 0c439ced2c97905cb2b02f5f689a37b19369fb8a Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期五, 22 七月 2022 15:00:58 +0800 Subject: [PATCH] 2022-07-22 --- src/utils/utils-datamanage.js | 164 ++++++++++++++++++++++++++++++++++++------------------ 1 files changed, 110 insertions(+), 54 deletions(-) diff --git a/src/utils/utils-datamanage.js b/src/utils/utils-datamanage.js index bed57a6..a7411ae 100644 --- a/src/utils/utils-datamanage.js +++ b/src/utils/utils-datamanage.js @@ -13,16 +13,15 @@ * @param {Number} pageIndex 椤电爜 * @param {Number} pageSize 姣忛〉鏁伴噺 * @param {String} BID 涓婄骇ID - * @param {String} menuType 鑿滃崟绫诲瀷锛屾櫘閫氳彍鍗曚笌HS * @return {Object} param */ - static getQueryDataParams (setting, arrFields, search = [], orderBy = '', pageIndex = 1, pageSize = 10, BID, menuType, id) { + static getQueryDataParams (setting, arrFields, search = [], orderBy = '', pageIndex = 1, pageSize = 10, BID, id) { let param = null if (setting.interType === 'system' || (setting.interType === 'custom' && setting.requestMode === 'system')) { - param = this.getDefaultQueryParam(setting, arrFields, search, orderBy, pageIndex, pageSize, menuType, id) + param = this.getDefaultQueryParam(setting, arrFields, search, orderBy, pageIndex, pageSize, id, BID) } else { - param = this.getCustomQueryParam(setting, search, orderBy, pageIndex, pageSize, menuType, id) + param = this.getCustomQueryParam(setting, search, orderBy, pageIndex, pageSize, id) } if (BID) { @@ -39,7 +38,7 @@ /** * @description 鑾峰彇鐢ㄦ埛鑷畾涔夊瓨鍌ㄨ繃绋嬩紶鍙� */ - static getCustomQueryParam (setting, search, orderBy, pageIndex, pageSize, menuType, id) { + static getCustomQueryParam (setting, search, orderBy, pageIndex, pageSize, id) { let param = Utils.formatCustomMainSearch(search) if (orderBy) { @@ -56,7 +55,7 @@ if (setting.interType === 'inner' || (setting.interType === 'custom' && setting.requestMode === 'inner')) { param.func = setting.innerFunc } else { - if (menuType === 'HS') { + if (window.GLOB.mkHS) { if (setting.sysInterface === 'true' && options.cloudServiceApi) { param.rduri = options.cloudServiceApi } else if (setting.sysInterface !== 'true') { @@ -81,7 +80,7 @@ /** * @description 鑾峰彇绯荤粺瀛樺偍杩囩▼ sPC_Get_TableData 鐨勫弬鏁� */ - static getDefaultQueryParam (setting, arrFields, search, orderBy, pageIndex, pageSize, menuType, id) { + static getDefaultQueryParam (setting, arrFields, search, orderBy, pageIndex, pageSize, id, BID) { let param = { func: 'sPC_Get_TableData', obj_name: 'data', @@ -127,6 +126,22 @@ _dataresource = _dataresource.replace(/@sum\$/ig, '*/') _customScript = _customScript.replace(/\$sum@/ig, '/*') _customScript = _customScript.replace(/@sum\$/ig, '*/') + + let time_id = Utils.getguid().substring(0, 32) || '' + _dataresource = _dataresource.replace(/@ID@/ig, `''`) + _customScript = _customScript.replace(/@ID@/ig, `''`) + _dataresource = _dataresource.replace(/@BID@/ig, `'${BID || ''}'`) + _customScript = _customScript.replace(/@BID@/ig, `'${BID || ''}'`) + _dataresource = _dataresource.replace(/@LoginUID@/ig, `'${sessionStorage.getItem('LoginUID') || ''}'`) + _customScript = _customScript.replace(/@LoginUID@/ig, `'${sessionStorage.getItem('LoginUID') || ''}'`) + _dataresource = _dataresource.replace(/@SessionUid@/ig, `'${localStorage.getItem('SessionUid') || ''}'`) + _customScript = _customScript.replace(/@SessionUid@/ig, `'${localStorage.getItem('SessionUid') || ''}'`) + _dataresource = _dataresource.replace(/@UserID@/ig, `'${sessionStorage.getItem('UserID') || ''}'`) + _customScript = _customScript.replace(/@UserID@/ig, `'${sessionStorage.getItem('UserID') || ''}'`) + _dataresource = _dataresource.replace(/@Appkey@/ig, `'${window.GLOB.appkey || ''}'`) + _customScript = _customScript.replace(/@Appkey@/ig, `'${window.GLOB.appkey || ''}'`) + _dataresource = _dataresource.replace(/@time_id@/ig, `'${time_id}'`) + _customScript = _customScript.replace(/@time_id@/ig, `'${time_id}'`) let regoptions = null if (setting.queryType === 'statistics' || _customScript) { @@ -247,7 +262,7 @@ param.timestamp = moment().format('YYYY-MM-DD HH:mm:ss') param.secretkey = Utils.encrypt('', param.timestamp) - if (menuType === 'HS') { // 浜戠鏁版嵁楠岃瘉 + if (window.GLOB.mkHS) { // 浜戠鏁版嵁楠岃瘉 param.open_key = Utils.encryptOpenKey(param.secretkey, param.timestamp) } @@ -257,7 +272,7 @@ /** * @description 鑾峰彇绯荤粺瀛樺偍杩囩▼ sPC_Get_TableData 鍚堣鍊肩殑鍙傛暟 */ - static getStatQueryDataParams (setting, statFields, search, orderBy, BID, menuType) { + static getStatQueryDataParams (setting, statFields, search, orderBy, BID) { let param = { func: 'sPC_Get_TableData', obj_name: 'data', @@ -302,6 +317,22 @@ _dataresource = _dataresource.replace(/@select\$/ig, '*/') _customScript = _customScript.replace(/\$select@/ig, '/*') _customScript = _customScript.replace(/@select\$/ig, '*/') + + let time_id = Utils.getguid().substring(0, 32) || '' + _dataresource = _dataresource.replace(/@ID@/ig, `''`) + _customScript = _customScript.replace(/@ID@/ig, `''`) + _dataresource = _dataresource.replace(/@BID@/ig, `'${BID || ''}'`) + _customScript = _customScript.replace(/@BID@/ig, `'${BID || ''}'`) + _dataresource = _dataresource.replace(/@LoginUID@/ig, `'${sessionStorage.getItem('LoginUID') || ''}'`) + _customScript = _customScript.replace(/@LoginUID@/ig, `'${sessionStorage.getItem('LoginUID') || ''}'`) + _dataresource = _dataresource.replace(/@SessionUid@/ig, `'${localStorage.getItem('SessionUid') || ''}'`) + _customScript = _customScript.replace(/@SessionUid@/ig, `'${localStorage.getItem('SessionUid') || ''}'`) + _dataresource = _dataresource.replace(/@UserID@/ig, `'${sessionStorage.getItem('UserID') || ''}'`) + _customScript = _customScript.replace(/@UserID@/ig, `'${sessionStorage.getItem('UserID') || ''}'`) + _dataresource = _dataresource.replace(/@Appkey@/ig, `'${window.GLOB.appkey || ''}'`) + _customScript = _customScript.replace(/@Appkey@/ig, `'${window.GLOB.appkey || ''}'`) + _dataresource = _dataresource.replace(/@time_id@/ig, `'${time_id}'`) + _customScript = _customScript.replace(/@time_id@/ig, `'${time_id}'`) let regoptions = null if (setting.queryType === 'statistics' || _customScript) { @@ -375,7 +406,7 @@ param.timestamp = moment().format('YYYY-MM-DD HH:mm:ss') param.secretkey = Utils.encrypt('', param.timestamp) - if (menuType === 'HS') { // 浜戠鏁版嵁楠岃瘉 + if (window.GLOB.mkHS) { // 浜戠鏁版嵁楠岃瘉 param.open_key = Utils.encryptOpenKey(param.secretkey, param.timestamp) } @@ -400,14 +431,13 @@ * @param {Number} pageIndex 椤电爜 * @param {Number} pageSize 姣忛〉鏁伴噺 * @param {String} BID 涓婄骇ID - * @param {String} menuType 鑿滃崟绫诲瀷锛屾櫘閫氳彍鍗曚笌HS * @return {Object} param */ - static getPrevQueryParams (setting, search = [], BID, menuType) { + static getPrevQueryParams (setting, search = [], BID) { let param = null if (setting.procMode !== 'inner') { - param = this.getDefaultPrevQueryParam(setting, search, menuType) + param = this.getDefaultPrevQueryParam(setting, search, BID) } else { param = Utils.formatCustomMainSearch(search) param.func = setting.prevFunc || '' @@ -423,7 +453,7 @@ /** * @description 鑾峰彇绯荤粺鍓嶇疆鑴氭湰 */ - static getDefaultPrevQueryParam (setting, search, menuType) { + static getDefaultPrevQueryParam (setting, search, BID) { let param = { func: 'sPC_TableData_InUpDe', exec_type: 'y', @@ -465,23 +495,27 @@ ` let allSearch = Utils.getAllSearchOptions(search) - let regoptions = allSearch.map(item => { - return { - reg: new RegExp('@' + item.key + '@', 'ig'), - value: `'${item.value}'` - } - }) - regoptions.push({ - reg: new RegExp('@userName@', 'ig'), - value: `'${userName}'` - }, { - reg: new RegExp('@fullName@', 'ig'), - value: `'${fullName}'` + allSearch.forEach(item => { + sql = sql.replace(new RegExp('@' + item.key + '@', 'ig'), `'${item.value}'`) }) - regoptions.forEach(item => { - sql = sql.replace(item.reg, item.value) - }) + if (sessionStorage.getItem('dataM') === 'true') { // 鏁版嵁鏉冮檺 + sql = sql.replace(/\$@/ig, '/*') + sql = sql.replace(/@\$/ig, '*/') + } else { + sql = sql.replace(/@\$|\$@/ig, '') + } + + sql = sql.replace(/@userName@/ig, `'${userName}'`) + sql = sql.replace(/@fullName@/ig, `'${fullName}'`) + + sql = sql.replace(/@ID@/ig, `''`) + sql = sql.replace(/@BID@/ig, `'${BID || ''}'`) + sql = sql.replace(/@LoginUID@/ig, `'${sessionStorage.getItem('LoginUID') || ''}'`) + sql = sql.replace(/@SessionUid@/ig, `'${localStorage.getItem('SessionUid') || ''}'`) + sql = sql.replace(/@UserID@/ig, `'${sessionStorage.getItem('UserID') || ''}'`) + sql = sql.replace(/@Appkey@/ig, `'${window.GLOB.appkey || ''}'`) + sql = sql.replace(/@time_id@/ig, `'${Utils.getguid().substring(0, 32) || ''}'`) // 娴嬭瘯绯荤粺鎵撳嵃鏌ヨ璇彞 if (window.GLOB.debugger === true || (window.debugger === true && options.sysType !== 'cloud')) { @@ -489,18 +523,11 @@ } } - if (sessionStorage.getItem('dataM') === 'true') { // 鏁版嵁鏉冮檺 - sql = sql.replace(/\$@/ig, '/*') - sql = sql.replace(/@\$/ig, '*/') - } else { - sql = sql.replace(/@\$|\$@/ig, '') - } - param.LText = Utils.formatOptions(sql) param.timestamp = moment().format('YYYY-MM-DD HH:mm:ss') param.secretkey = Utils.encrypt('', param.timestamp) - if (menuType === 'HS') { // 鍑芥暟 sPC_TableData_InUpDe 浜戠楠岃瘉 + if (window.GLOB.mkHS) { // 鍑芥暟 sPC_TableData_InUpDe 浜戠楠岃瘉 param.open_key = Utils.encryptOpenKey(param.secretkey, param.timestamp) } @@ -512,7 +539,7 @@ /** * @description 鑾峰彇绯荤粺鍥炶皟鑴氭湰 */ - static getCallBackQueryParams (setting, sql, errSql) { + static getCallBackQueryParams (setting, sql, errSql, BID) { let param = { func: 'sPC_TableData_InUpDe', exec_type: 'y', @@ -563,19 +590,27 @@ sql = _prevCustomScript + sql sql = sql + _backCustomScript + + if (sessionStorage.getItem('dataM') === 'true') { // 鏁版嵁鏉冮檺 + sql = sql.replace(/\$@/ig, '/*') + sql = sql.replace(/@\$/ig, '*/') + } else { + sql = sql.replace(/@\$|\$@/ig, '') + } + + sql = sql.replace(/@ID@/ig, `''`) + sql = sql.replace(/@BID@/ig, `'${BID || ''}'`) + sql = sql.replace(/@LoginUID@/ig, `'${sessionStorage.getItem('LoginUID') || ''}'`) + sql = sql.replace(/@SessionUid@/ig, `'${localStorage.getItem('SessionUid') || ''}'`) + sql = sql.replace(/@UserID@/ig, `'${sessionStorage.getItem('UserID') || ''}'`) + sql = sql.replace(/@Appkey@/ig, `'${window.GLOB.appkey || ''}'`) + sql = sql.replace(/@time_id@/ig, `'${Utils.getguid().substring(0, 32) || ''}'`) if (window.GLOB.debugger === true || (window.debugger === true && options.sysType !== 'cloud')) { console.info(sql.replace(/\n\s{8}/ig, '\n')) } param.LText = sql - - if (sessionStorage.getItem('dataM') === 'true') { // 鏁版嵁鏉冮檺 - param.LText = param.LText.replace(/\$@/ig, '/*') - param.LText = param.LText.replace(/@\$/ig, '*/') - } else { - param.LText = param.LText.replace(/@\$|\$@/ig, '') - } param.timestamp = moment().format('YYYY-MM-DD HH:mm:ss') param.secretkey = Utils.encrypt('', param.timestamp) @@ -726,14 +761,9 @@ ` } - // 娴嬭瘯绯荤粺鎵撳嵃鏌ヨ璇彞 - if (window.GLOB.debugger === true || (window.debugger === true && options.sysType !== 'cloud')) { - _customScript && console.info(`${setting.$name ? `/*${setting.$name} 鑷畾涔夎剼鏈紙鍚屾鏌ヨ锛�*/\n` : ''}${_dataresource ? '' : '/*涓嶆墽琛岄粯璁ql*/\n'}${_customScript}`) - _dataresource && console.info(`${setting.$name ? `/*${setting.$name} 鏁版嵁婧愶紙鍚屾鏌ヨ锛�*/\n` : ''}` + _dataresource) - } - return { name: dataName, + $name: setting.$name, columns: columns, par_tablename: '', type: format === 'array' ? format : '', @@ -749,13 +779,18 @@ * @description 鐢熸垚sPC_Get_structured_data璇锋眰鍙傛暟 * 1銆佹妸澶ф帴鍙PC_Get_structured_data鐨刲text鎷嗘垚涓変唤锛岀涓�娈碉細@LText1锛岀浜屾@LText锛岀涓夋@LText2 */ -export function getStructuredParams (params, config, BID = '') { +export function getStructuredParams (params, config, BID) { let LText_field = [] let diffUser = false let transaction = false - + let time_id = Utils.getguid().substring(0, 32) || '' + let loginId = `'${sessionStorage.getItem('LoginUID') || ''}'` + let sessionId = `'${localStorage.getItem('SessionUid') || ''}'` + let userId = `'${sessionStorage.getItem('UserID') || ''}'` + let _LText = params.map((item, index) => { let _script = item.script + let _sql = item.sql if (!diffUser && (/@userid@/ig.test(item.sql) || /@userid@/ig.test(_script))) { diffUser = true @@ -764,10 +799,31 @@ transaction = true } + _sql = _sql.replace(/@ID@/ig, `''`) + _script = _script.replace(/@ID@/ig, `''`) + _sql = _sql.replace(/@BID@/ig, `'${BID || ''}'`) + _script = _script.replace(/@BID@/ig, `'${BID || ''}'`) + _sql = _sql.replace(/@LoginUID@/ig, loginId) + _script = _script.replace(/@LoginUID@/ig, loginId) + _sql = _sql.replace(/@SessionUid@/ig, sessionId) + _script = _script.replace(/@SessionUid@/ig, sessionId) + _sql = _sql.replace(/@UserID@/ig, userId) + _script = _script.replace(/@UserID@/ig, userId) + _sql = _sql.replace(/@Appkey@/ig, `'${window.GLOB.appkey || ''}'`) + _script = _script.replace(/@Appkey@/ig, `'${window.GLOB.appkey || ''}'`) + _sql = _sql.replace(/@time_id@/ig, `'${time_id}'`) + _script = _script.replace(/@time_id@/ig, `'${time_id}'`) + + // 娴嬭瘯绯荤粺鎵撳嵃鏌ヨ璇彞 + if (window.GLOB.debugger === true || (window.debugger === true && options.sysType !== 'cloud')) { + _script && console.info(`${item.$name ? `/*${item.$name} 鑷畾涔夎剼鏈紙鍚屾鏌ヨ锛�*/\n` : ''}${_sql ? '' : '/*涓嶆墽琛岄粯璁ql*/\n'}${_script}`) + _sql && console.info(`${item.$name ? `/*${item.$name} 鏁版嵁婧愶紙鍚屾鏌ヨ锛�*/\n` : ''}` + _sql) + } + item.columns.forEach(cell => { LText_field.push(`Select '${item.name}' as tablename,'${cell.field}' as fieldname,'${cell.datatype}' as field_type`) }) - return `Select '${item.name}' as tablename,'${window.btoa(window.encodeURIComponent(item.sql))}' as LText,'${window.btoa(window.encodeURIComponent(_script))}' as Lcustomize,'${item.type}' as table_type,'${item.primaryKey}' as primary_key,'${item.par_tablename}' as par_tablename,'${item.foreign_key}' as foreign_key,'${index}' as Sort` + return `Select '${item.name}' as tablename,'${window.btoa(window.encodeURIComponent(_sql))}' as LText,'${window.btoa(window.encodeURIComponent(_script))}' as Lcustomize,'${item.type}' as table_type,'${item.primaryKey}' as primary_key,'${item.par_tablename}' as par_tablename,'${item.foreign_key}' as foreign_key,'${index}' as Sort` }) let param = { -- Gitblit v1.8.0