| | |
| | | data: qs.stringify(data) |
| | | }) |
| | | } |
| | | |
| | | /** |
| | | * @description sql检验 |
| | | */ |
| | | sDebug (sql, rduri = null) { |
| | | let param = { |
| | | func: 's_debug_sql', |
| | | exec_type: 'y', |
| | | timestamp: moment().format('YYYY-MM-DD HH:mm:ss'), |
| | | userid: sessionStorage.getItem('UserID') || '', |
| | | lang: sessionStorage.getItem('lang') || '', |
| | | SessionUid: localStorage.getItem('SessionUid') || '', |
| | | LoginUID: sessionStorage.getItem('LoginUID') || '', |
| | | appkey: window.GLOB.appkey || '' |
| | | } |
| | | |
| | | if (window.GLOB.externalDatabase !== null) { |
| | | sql = sql.replace(/@db@/ig, window.GLOB.externalDatabase) |
| | | } |
| | | |
| | | console.info(`/* sql 验证 */\n${sql.replace(/\n\s{6,20}/ig, '\n')}`) |
| | | |
| | | sql = sql.replace(/\n/ig, ' ') |
| | | |
| | | param.LText = Utils.formatOptions(sql) |
| | | param.secretkey = Utils.encrypt('', param.timestamp) |
| | | |
| | | param = this.encryptParam(param) |
| | | |
| | | let url = '/webapi/dostars' |
| | | |
| | | if (rduri) { |
| | | url = rduri |
| | | } |
| | | |
| | | let timer = setTimeout(() => { |
| | | let _param = { |
| | | func: 's_debug_sql_cancel', |
| | | userid: sessionStorage.getItem('UserID') || '', |
| | | lang: sessionStorage.getItem('lang') || '', |
| | | SessionUid: localStorage.getItem('SessionUid') || '', |
| | | LoginUID: sessionStorage.getItem('LoginUID') || '', |
| | | appkey: window.GLOB.appkey || '' |
| | | } |
| | | _param = this.encryptParam(_param) |
| | | axios({ |
| | | url: `${url}/s_debug_sql_cancel`, |
| | | method: 'post', |
| | | data: JSON.stringify(_param) |
| | | }) |
| | | }, 20000) |
| | | |
| | | return new Promise(resolve => { |
| | | axios({ |
| | | url: `${url}/s_debug_sql`, |
| | | method: 'post', |
| | | data: JSON.stringify(param) |
| | | }).then(res => { |
| | | clearTimeout(timer) |
| | | if (/Shared Memory Provider|会话处于终止状态|当前命令发生了严重错误/.test(res.message)) { |
| | | res.message = '验证失败,请检查SQL中是否存在死循环。' |
| | | } |
| | | resolve(res) |
| | | }, () => { |
| | | clearTimeout(timer) |
| | | resolve({status: false, ErrCode: 'E', message: '验证失败:1请检查SQL中是否存在死循环;2请检查网络连接是否正常。'}) |
| | | }) |
| | | }) |
| | | } |
| | | } |
| | | |
| | | export default new Api() |