From 8d66ff34fae5b048a6b7923cc75d34f13a08be9d Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期二, 02 八月 2022 11:42:43 +0800 Subject: [PATCH] Merge branch 'develop' --- src/views/interface/workspace/request/index.jsx | 26 ++++++++++++++++---------- 1 files changed, 16 insertions(+), 10 deletions(-) diff --git a/src/views/interface/workspace/request/index.jsx b/src/views/interface/workspace/request/index.jsx index 33a114d..ae73278 100644 --- a/src/views/interface/workspace/request/index.jsx +++ b/src/views/interface/workspace/request/index.jsx @@ -1,7 +1,7 @@ import React, {Component} from 'react' import { fromJS } from 'immutable' import md5 from 'md5' -import { Input, Select, Button, Tabs, Radio, Modal } from 'antd' +import { Input, Select, Button, Tabs, Radio, Modal, Spin } from 'antd' import Api from '@/views/interface/api' import Utils from '@/utils/utils.js' @@ -18,7 +18,8 @@ active: 'raw', body: null, response: null, - status: '' + status: '', + loading: false } UNSAFE_componentWillMount() { @@ -95,7 +96,7 @@ if (config.raw) { try { raws = JSON.parse(config.raw) - } catch { + } catch (e) { Modal.error({ title: '鍙傛暟鏍煎紡閿欒锛屽繀椤讳负JSON鏍煎紡锛�' }) @@ -145,6 +146,8 @@ n = JSON.stringify(n) } + this.setState({loading: true}) + if (/logon/ig.test(url)) { Api.dologon(url, config.method, header, n).then(res => { this.handleResponse(res) @@ -154,6 +157,7 @@ } else if (/dostars/ig.test(url)) { if (n) { n = JSON.parse(n) + n = this.encryptParam(n) n = JSON.stringify(n) } @@ -180,7 +184,7 @@ body = body.replace(/\n/ig, '<br/>') body = body.replace(/\s/ig, ' ') - } catch { + } catch (e) { body = null } } @@ -193,17 +197,17 @@ body = `璇锋眰寮傚父${status === 'Network Error' ? '锛屽彲鑳藉師鍥狅細1銆佺綉缁滃紓甯革紱2銆佹帴鍙h法鍩熴��' : '锛�'}` } - this.setState({response: res, body, status}) + this.setState({response: res, body, status, loading: false}) } encryptParam (param) { - param.nonc = Utils.getuuid() + param.nonc = param.nonc || Utils.getuuid() let keys = Object.keys(param).sort() let values = '' keys.forEach(key => { - if (key.toLowerCase() === 'rduri') return - if (key.toLowerCase() === 't' || key.toLowerCase() === 'sign' || param[key] === undefined) { + if (key.toLowerCase() === 'rduri' || key === 't') return + if (key.toLowerCase() === 'sign' || param[key] === undefined) { delete param[key] return } @@ -217,8 +221,9 @@ values += key + param[key] } }) + param.sign = md5(values) - param.t = new Date().getTime() + param.t = param.t || new Date().getTime() return param } @@ -237,7 +242,7 @@ } render () { - const { active, config, response, body, status } = this.state + const { active, config, response, body, status, loading } = this.state let hasParam = config.params.filter(item => item.selected && item.key).length > 0 let hasHeader = config.headers.filter(item => item.selected && item.key).length @@ -297,6 +302,7 @@ <span className="empty">Hit the Send button to get a response.</span> </div>} <div style={{paddingLeft: '3px', paddingTop: '3px'}} dangerouslySetInnerHTML={{__html: body}}></div> + {loading ? <div className="pending"><Spin size="large"/></div> : null} </div> </div> ) -- Gitblit v1.8.0