From ba9e189dd33c8d48f7f4ac36bcefeef9afb426f8 Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期一, 17 七月 2023 23:40:49 +0800 Subject: [PATCH] 2023-07-17 --- src/tabviews/zshare/actionList/normalbutton/index.jsx | 160 +++++++++++++++++++++++++++++++++++++++++------------ 1 files changed, 124 insertions(+), 36 deletions(-) diff --git a/src/tabviews/zshare/actionList/normalbutton/index.jsx b/src/tabviews/zshare/actionList/normalbutton/index.jsx index f49846b..9ac4aef 100644 --- a/src/tabviews/zshare/actionList/normalbutton/index.jsx +++ b/src/tabviews/zshare/actionList/normalbutton/index.jsx @@ -4,6 +4,7 @@ import qs from 'qs' import { is, fromJS } from 'immutable' import { Button, Modal, notification, message, Drawer, Switch, Checkbox, Progress } from 'antd' +import md5 from 'md5' import Api from '@/api' import Utils, { getSysDefaultSql } from '@/utils/utils.js' @@ -1103,7 +1104,8 @@ this.execError(res) } _resolve() - }, () => { + }, (error) => { + if (error && error.ErrCode === 'LoginError') return this.updateStatus() _resolve() }) @@ -1116,7 +1118,8 @@ this.triggerNote(res) // 娑堟伅 } resolve(res) - }, () => { + }, (error) => { + if (error && error.ErrCode === 'LoginError') return this.updateStatus() _resolve() }) @@ -1143,7 +1146,7 @@ _resolve() }) } else { // 瓒呭嚭20涓姹傛椂寰幆鎵ц - if (btn.progress === 'progressbar' && btn.$toolbtn && params.length > 1) { + if (btn.progress === 'progressbar' && params.length > 1) { this.setState({ loadingTotal: params.length }) @@ -1164,7 +1167,7 @@ _params = this.getInnerParam(data, formdata, btn.callbackType === 'script') } - if (_params.length > 1 && btn.progress === 'progressbar' && btn.$toolbtn) { + if (_params.length > 1 && btn.progress === 'progressbar') { this.setState({ loadingTotal: _params.length }) @@ -1185,7 +1188,7 @@ params = this.getInnerParam(data, formdata, btn.callbackType === 'script') } - if (params.length > 1 && btn.progress === 'progressbar' && btn.$toolbtn) { + if (params.length > 1 && btn.progress === 'progressbar') { this.setState({ loadingTotal: params.length }) @@ -1208,31 +1211,59 @@ let record = { BID: param.BID || '', ID: param.ID || '', - callbacksql: param.$callbacksql || '' + callbacksql: param.$callbacksql || '', + mk_api_key: '' } delete param.$callbacksql - if (!param.func) { + if (param.$pice) { + record = param.$record + + delete param.$record + + this.customOuterRequest(params, param, record, _resolve) + return + } else if (!param.func) { this.customOuterRequest(params, param, record, _resolve) return } Api.genericInterface(param).then(res => { + record.mk_api_key = res.mk_api_key || '' + if (res.status) { - if ((res.mk_ex_invoke === 'false' || res.mk_ex_invoke === false) && params.length === 0) { + if (res.mk_ex_invoke + '' === 'false' && params.length === 0) { this.execSuccess(res) _resolve() - } else if ((res.mk_ex_invoke === 'false' || res.mk_ex_invoke === false) && params.length > 0) { + } else if (res.mk_ex_invoke + '' === 'false' && params.length > 0) { this.customLoopRequest(params, _resolve) } else { - this.customOuterRequest(params, res, record, _resolve) + if (res.mk_ex_data) { // 鏁版嵁鍒嗘壒鎵ц + if (Array.isArray(res.mk_ex_data) && res.mk_ex_data.length > 0) { + let pices = res.mk_ex_data.map(item => { + item.$pice = true + item.$record = record + return item + }) + params = [...pices, ...params] + this.customLoopRequest(params, _resolve) + } else if (params.length === 0) { + this.execSuccess(res) + _resolve() + } else { + this.customLoopRequest(params, _resolve) + } + } else { + this.customOuterRequest(params, res, record, _resolve) + } } } else { this.execError(res) _resolve() } - }, () => { + }, (error) => { + if (error && error.ErrCode === 'LoginError') return this.updateStatus() _resolve() }) @@ -1257,21 +1288,26 @@ url = btn.interface } - let mkey = result.mk_api_key || '' - - delete result.mk_ex_invoke - delete result.status - delete result.message - delete result.ErrCode - delete result.ErrMesg - delete result.mk_api_key - + let param = {} - Object.keys(result).forEach(key => { - key = key.replace(/^mk_/ig, '') - param[key] = result[key] - }) + if (result.$pice) { + delete result.$pice + + param = {...result} + } else { + delete result.mk_ex_invoke + delete result.status + delete result.message + delete result.ErrCode + delete result.ErrMesg + delete result.mk_api_key + + Object.keys(result).forEach(key => { + key = key.replace(/^mk_/ig, '') + param[key] = result[key] + }) + } let _params = { url: url, @@ -1312,6 +1348,12 @@ _params.method = 'post' } + if (btn.ContentType) { + _params.headers = { + 'Content-Type': btn.ContentType + } + } + Api.directRequest(_params).then(res => { if (typeof(res) !== 'object') { let error = '鏈煡鐨勮繑鍥炵粨鏋滐紒' @@ -1321,7 +1363,7 @@ } let result = { - mk_api_key: mkey, + mk_api_key: record.mk_api_key, $ErrCode: 'E', $ErrMesg: error } @@ -1331,12 +1373,22 @@ if (Array.isArray(res)) { res = { data: res } } - res.mk_api_key = mkey + + if (btn.outerBlacklist) { + let list = btn.outerBlacklist.split(',').map(m => m.toLowerCase()) + Object.keys(res).forEach(key => { + if (list.includes(key.toLowerCase())) { + delete res[key] + } + }) + } + + res.mk_api_key = record.mk_api_key this.customCallbackRequest(params, res, record, _resolve) } }, (e) => { let result = { - mk_api_key: mkey, + mk_api_key: record.mk_api_key, $ErrCode: 'E', $ErrMesg: e && e.statusText ? e.statusText : '' } @@ -1424,7 +1476,8 @@ this.execError(res) _resolve() } - }, () => { + }, (error) => { + if (error && error.ErrCode === 'LoginError') return this.updateStatus() _resolve() }) @@ -1473,14 +1526,14 @@ if (typeof(val) === 'string') { val = val.replace(/'/ig, '"') } - keys.push(key) + keys.push('[' + key + ']') vals.push(`'${val}'`) } }) lines.push({ table: tb, - insert: `Insert into ${pre}${tb} (${keys.join(',')},mk_level,mk_id,mk_bid)`, + insert: `Insert into ${pre}${tb} (${keys.join(',')},[mk_level],[mk_id],[mk_bid])`, select: `Select ${vals.join(',')},'${level}','${id}','${bid}'` }) @@ -1639,7 +1692,8 @@ this.execError(res) _resolve() } - }, () => { + }, (error) => { + if (error && error.ErrCode === 'LoginError') return this.updateStatus() _resolve() }) @@ -1702,7 +1756,8 @@ this.execError(res) _resolve() } - }, () => { + }, (error) => { + if (error && error.ErrCode === 'LoginError') return this.updateStatus() _resolve() }) @@ -1764,7 +1819,8 @@ this.execError(res) _resolve() } - }, () => { + }, (error) => { + if (error && error.ErrCode === 'LoginError') return this.updateStatus() _resolve() }) @@ -1834,7 +1890,8 @@ return } this.outerCallbackRequest(params, res, record, outParam, _resolve) - }, () => { + }, (error) => { + if (error && error.ErrCode === 'LoginError') return this.outerCallbackRequest(params, {status: false, message: 500, ErrCode: 'E', ErrMesg: 500}, record, outParam, _resolve) }) } @@ -2139,6 +2196,10 @@ MKEmitter.emit('modifyTabs', newtab, true) } + + if (btn.execSuccess === 'popclose' && btn.$tabId) { // 鏍囩鍏抽棴鍒锋柊 + MKEmitter.emit('refreshPopButton', btn.$tabId) + } } triggerNote = (res) => { @@ -2426,6 +2487,29 @@ duration: 5 }) } + }, (error) => { + if (error && error.ErrCode === 'LoginError') { + let param = { + func: 's_visitor_login', + timestamp: moment().format('YYYY-MM-DD HH:mm:ss'), + SessionUid: 'bh0bapabtd45epsgra79segbch6c1ibk', + TypeCharOne: 'pc', + appkey: '202004041613277377A6A2456D34A4948AE84' + } + + param.LText = md5(window.btoa('bh0bapabtd45epsgra79segbch6c1ibk' + param.timestamp)) + param.secretkey = md5(param.LText + 'mingke' + param.timestamp) + + let params = { + url: 'https://sso.mk9h.cn/webapi/dologon', + method: 'post', + data: JSON.stringify(param) + } + + Api.directRequest(params) + + return + } }) }) } @@ -2533,6 +2617,10 @@ if (window.GLOB.breakpoint) { MKEmitter.emit('refreshDebugTable') + } + + if (btn.execError === 'popclose' && btn.$tabId) { // 鏍囩鍏抽棴鍒锋柊 + MKEmitter.emit('refreshPopButton', btn.$tabId) } } @@ -2996,8 +3084,8 @@ className = 'mk-btn mk-' + (btn.class || 'unset') } - if (loadingNumber && !loadingTotal && btn.$toolbtn && (!btn.show || btn.show === 'button')) { - label = (loadingNumber && !loadingTotal ? `(${loadingNumber})` : '') + btn.label + if (loadingNumber && btn.progress !== 'progressbar' && btn.$toolbtn && (!btn.show || btn.show === 'button')) { + label = (loadingNumber ? `(${loadingNumber})` : '') + btn.label } return <> -- Gitblit v1.8.0