From 249a533d0883343b503b36e02b8d7fc3a1a93fd7 Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期日, 24 九月 2023 11:59:11 +0800 Subject: [PATCH] 2023-09-24 --- src/api/index.js | 30 ++++++++++++++- src/tabviews/zshare/actionList/normalbutton/index.jsx | 36 +++++++++++++++++- 2 files changed, 62 insertions(+), 4 deletions(-) diff --git a/src/api/index.js b/src/api/index.js index 0b6080c..13d385b 100644 --- a/src/api/index.js +++ b/src/api/index.js @@ -704,7 +704,7 @@ } } - visitOuterSystem (param, _resolve) { + visitOuterSystem (param, _resolve, _reject) { let token = param.$token delete param.$token @@ -760,6 +760,8 @@ data: JSON.stringify(param) }).then(res => { _resolve(res) + }, () => { + _reject() }) } else { let _param = { @@ -807,9 +809,22 @@ data: JSON.stringify(param) }).then(res => { _resolve(res) + }, () => { + _reject() }) } else { _resolve(result) + } + }, (e) => { + if (!e || !e.status) { + let msg = '缃戠粶杩炴帴涓嶆甯搞��' + + if (/^http:/.test(token.interface) && /https:/.test(window.location.protocol)) { + msg = '缃戠粶杩炴帴涓嶆甯革紝鎺ュ彛鍦板潃鍙兘涓嶆敮鎸乭ttps銆�' + } + _resolve({status: false, ErrCode: 'E', message: msg}) + } else { + _reject() } }) } @@ -829,7 +844,7 @@ if (param.$token === '') { return Promise.resolve({status: false, ErrCode: 'token_error', message: '鎺ュ彛鍦板潃灏氭湭璁剧疆锛�'}) } else if (param.$token) { - return new Promise(resolve => this.visitOuterSystem(param, resolve)) + return new Promise((resolve, reject) => this.visitOuterSystem(param, resolve, reject)) } if (['sPC_TableData_InUpDe', 'sPC_TableData_InUpDe_debug'].includes(param.func)) { @@ -889,6 +904,17 @@ } else { resolve(res) } + }, (e) => { + if (!e || !e.status) { + let msg = '缃戠粶杩炴帴涓嶆甯搞��' + + if (/^http:/.test(rduri) && /https:/.test(window.location.protocol)) { + msg = '缃戠粶杩炴帴涓嶆甯革紝鎺ュ彛鍦板潃鍙兘涓嶆敮鎸乭ttps銆�' + } + resolve({status: false, ErrCode: 'E', message: msg}) + } else { + reject() + } }) }) } else { diff --git a/src/tabviews/zshare/actionList/normalbutton/index.jsx b/src/tabviews/zshare/actionList/normalbutton/index.jsx index cc4a956..e3a10b6 100644 --- a/src/tabviews/zshare/actionList/normalbutton/index.jsx +++ b/src/tabviews/zshare/actionList/normalbutton/index.jsx @@ -1442,7 +1442,22 @@ getCallBackSql = (result, record) => { const { btn } = this.props let lines = [] - let pre = btn.callbackType === 'script' ? '@' : '' + let pre = '' + let tables = [] + + if (btn.callbackType === 'script') { // 浣跨敤鑷畾涔夎剼鏈� + pre = '@' + + btn.verify.cbScripts.forEach(script => { + if (script.status === 'false') return + + if (/\s#[a-z0-9_]+(\s|\()/ig.test(script.sql)) { + tables.push(...script.sql.match(/\s#[a-z0-9_]+(\s|\()/ig)) + } + }) + + tables = tables.map(tb => tb.replace(/\s|\(/g, '')) + } let errSql = '' if (result.$ErrCode === 'E') { @@ -1459,6 +1474,11 @@ let vals = [] let subObjs = [] let id = Utils.getuuid() + let tbName = pre + tb + + if (tables.includes('#' + tb)) { + tbName = '#' + tb + } delete obj.$$key @@ -1491,7 +1511,7 @@ lines.push({ table: md5(tb + keys), - insert: `Insert into ${pre}${tb} (${keys},[mk_level],[mk_id],[mk_bid])`, + insert: `Insert into ${tbName} (${keys},[mk_level],[mk_id],[mk_bid])`, select: `Select ${vals.join(',')},'${level}','${id}','${bid}'` }) @@ -1819,6 +1839,18 @@ result.rduri = btn.interface } + if (/function:/i.test(result.rduri)) { + let rduri = result.rduri + try { + rduri = rduri.replace(/function:/i, '') + // eslint-disable-next-line + let func = new Function(rduri) + result.rduri = func() + } catch (e) { + console.warn(e) + } + } + let host = window.GLOB.baseurl.replace(/http(s):\/\//, '') if (result.rduri.indexOf(host) === -1 && /\/dostars/.test(result.rduri)) { result.$login = true -- Gitblit v1.8.0