| | |
| | | let _customScript = '' |
| | | let arr_field = columns.map(item => item.field).join(',') |
| | | |
| | | if (scripts.length > 0) { |
| | | scripts.forEach(item => { |
| | | _customScript += ` |
| | | ${item.sql} |
| | | ` |
| | | }) |
| | | } |
| | | scripts.forEach(item => { |
| | | _customScript += ` |
| | | ${item.sql} |
| | | ` |
| | | }) |
| | | |
| | | if (!arr_field) { |
| | | arr_field = '*' |
| | |
| | | // error = '系统函数' + _customScript.match(/\$ex@.{1,50}@ex\$/g)[0].replace(/\$ex@|@ex\$/g, '') + '未定义' |
| | | // } |
| | | |
| | | _dataresource = _dataresource.replace(/@(BID|ID|LoginUID|SessionUid|UserID|Appkey|time_id|datam|upid)@/ig, `'${timestamp}'`) |
| | | _customScript = _customScript.replace(/@(BID|ID|LoginUID|SessionUid|UserID|Appkey|time_id|datam|upid)@/ig, `'${timestamp}'`) |
| | | _dataresource = _dataresource.replace(/@(BID|LoginUID|SessionUid|UserID|Appkey|time_id|datam|upid|typename)@/ig, `'${timestamp}'`) |
| | | _customScript = _customScript.replace(/@(BID|LoginUID|SessionUid|UserID|Appkey|time_id|datam|upid|typename)@/ig, `'${timestamp}'`) |
| | | |
| | | _dataresource = _dataresource.replace(/@\$|\$@/ig, '') |
| | | _customScript = _customScript.replace(/@\$|\$@/ig, '') |
| | |
| | | if (/@[0-9a-zA-Z_]+@/ig.test(sql)) { |
| | | let arr = sql.match(/@[0-9a-zA-Z_]+@/ig) |
| | | |
| | | let getTrueSql = (sl) => { |
| | | if (!/\/\*/.test(sl)) return sl |
| | | let index = 0 |
| | | |
| | | sl = sl.replace(/\s/ig, ' ') |
| | | sl = sl.replace(/\*\//ig, 'm_k@') |
| | | sl = sl.replace(/\/\*/ig, () => { |
| | | index++ |
| | | return '@m_k' + index |
| | | }) |
| | | |
| | | for (let i = index; i > 0; i--) { |
| | | let reg = new RegExp(`@m_k${i}.+m_k@`, 'ig') |
| | | sl = sl.replace(reg, '') |
| | | } |
| | | |
| | | return sl |
| | | } |
| | | |
| | | let _scripts = [] |
| | | _dataresource = _dataresource.replace('/*system_query*/', '') |
| | | _dataresource = getTrueSql(_dataresource) |
| | | scripts.forEach(item => { |
| | | _scripts.push({...item, sql: getTrueSql(item.sql)}) |
| | | }) |
| | | |
| | | arr.forEach(item => { |
| | | let reg = new RegExp(item, 'ig') |
| | | if (reg.test(_dataresource)) { |
| | | errors.push(`数据源中存在未替换值${item}`) |
| | | } |
| | | scripts && scripts.forEach(script => { |
| | | _scripts.forEach(script => { |
| | | if (reg.test(script.sql)) { |
| | | errors.push(`自定义脚本(${script.$index || ''})存在未替换值${item}`) |
| | | } |