| | |
| | | import { Component } from 'react' |
| | | import { notification } from 'antd' |
| | | import moment from 'moment' |
| | | |
| | | import Api from '@/api' |
| | |
| | | import MKEmitter from '@/utils/events.js' |
| | | |
| | | /** |
| | | * @description 操作记录,每隔六分钟更新一次 |
| | | * @description 操作记录,每隔10分钟更新一次 |
| | | */ |
| | | class QueryLog extends Component { |
| | | state = { |
| | |
| | | } |
| | | |
| | | componentDidMount () { |
| | | if (window.GLOB.systemType === 'production') { |
| | | MKEmitter.addListener('queryTrigger', this.queryTrigger) |
| | | setTimeout(() => { |
| | | this.sendLog() |
| | | }, 300000) |
| | | } |
| | | MKEmitter.addListener('queryTrigger', this.queryTrigger) |
| | | setTimeout(() => { |
| | | this.sendLog() |
| | | }, 600000) |
| | | } |
| | | |
| | | /** |
| | |
| | | sendLog = () => { |
| | | const { logs } = this.state |
| | | |
| | | if (logs && logs.length > 0 && sessionStorage.getItem('isEditState') !== 'true') { |
| | | let logMap = new Map() |
| | | let logMap = new Map() |
| | | |
| | | logs.forEach(item => { |
| | | if (logMap.has(item.menuId)) { |
| | | let _item = logMap.get(item.menuId) |
| | | _item.times++ |
| | | logMap.set(item.menuId, _item) |
| | | } else { |
| | | item.times = 1 |
| | | logMap.set(item.menuId, item) |
| | | } |
| | | }) |
| | | let userid = sessionStorage.getItem('UserID') || '' |
| | | let LText = [...logMap.values()].map(item => `select '${item.menuId}','${item.times}','${item.name}','${window.GLOB.appkey}','${userid}'`) |
| | | logs.forEach(item => { |
| | | if (logMap.has(item.menuId)) { |
| | | let _item = logMap.get(item.menuId) |
| | | _item.times++ |
| | | logMap.set(item.menuId, _item) |
| | | } else { |
| | | item.times = 1 |
| | | logMap.set(item.menuId, item) |
| | | } |
| | | }) |
| | | |
| | | let userid = sessionStorage.getItem('UserID') || '' |
| | | let LText = [...logMap.values()].map(item => `select '${item.menuId}','${item.times}','${item.name}','${window.GLOB.appkey}','${userid}'`) |
| | | |
| | | Api.genericInterface({func: 's_get_local_users_operation_log'}).then(res => { |
| | | if (!res.status) { |
| | | notification.warning({ |
| | | top: 92, |
| | | message: res.message, |
| | | duration: 3 |
| | | }) |
| | | return |
| | | } |
| | | |
| | | if (LText.length === 0 && !res.long_param) { |
| | | setTimeout(() => { |
| | | this.sendLog() |
| | | }, 600000) |
| | | return |
| | | } |
| | | |
| | | let param = { |
| | | func: 's_get_users_operation_log', |
| | | exec_type: 'y', // 后台解码 |
| | | LText: LText.join(' union all ') |
| | | exec_type: 'y', |
| | | LText: LText.join(' union all '), |
| | | long_param: res.long_param |
| | | } |
| | | |
| | | param.timestamp = moment().format('YYYY-MM-DD HH:mm:ss') |
| | | param.secretkey = Utils.encrypt('', param.timestamp) |
| | | param.LText = Utils.formatOptions(param.LText) |
| | | |
| | | Api.getSystemConfig(param) |
| | | Api.getSystemConfig(param).then(result => { |
| | | if (!result.status) { |
| | | notification.warning({ |
| | | top: 92, |
| | | message: result.message, |
| | | duration: 3 |
| | | }) |
| | | return |
| | | } |
| | | |
| | | this.setState({logs: []}) |
| | | } |
| | | |
| | | setTimeout(() => { |
| | | this.sendLog() |
| | | }, 300000) |
| | | setTimeout(() => { |
| | | this.sendLog() |
| | | }, 600000) |
| | | this.setState({logs: []}) |
| | | }) |
| | | }) |
| | | } |
| | | |
| | | queryTrigger = (item) => { |