xydata-tools 1.1.29 → 1.1.31
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/index.js +1 -0
- package/dist/components/log-query/components/LogTextPreviewModal.js +78 -0
- package/dist/components/log-query/components/LogTextPreviewModal.less +93 -0
- package/dist/components/log-query/index.js +220 -0
- package/dist/components/log-query/service.js +63 -0
- package/dist/components/uni-app/media-picker/shmily-drag-media.vue +28 -8
- package/dist/components/xyAuthLayout/index.js +18 -8
- package/dist/services/service.js +4 -4
- package/dist/types/components/index.d.ts +1 -0
- package/dist/types/components/log-query/components/LogTextPreviewModal.d.ts +7 -0
- package/dist/types/components/log-query/index.d.ts +2 -0
- package/dist/utils/request.js +18 -12
- package/dist/utils/utils.js +6 -4
- package/package.json +1 -1
package/dist/components/index.js
CHANGED
|
@@ -8,5 +8,6 @@ export { default as UploadFile } from "./uploadFile";
|
|
|
8
8
|
export { default as DownloadFile } from "./downloadFile";
|
|
9
9
|
export { default as Version } from "./tools/version";
|
|
10
10
|
export { default as MaterialCard } from "./materialCard";
|
|
11
|
+
export { default as LogQuery } from "./log-query";
|
|
11
12
|
export * from "./payment";
|
|
12
13
|
export * from "./sms";
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
2
|
+
import { Modal } from 'antd';
|
|
3
|
+
import ReactJson from 'react-json-view';
|
|
4
|
+
import "./LogTextPreviewModal.less";
|
|
5
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
6
|
+
var parseContent = function parseContent(content) {
|
|
7
|
+
if (!content) return null;
|
|
8
|
+
if (_typeof(content) === 'object') return content;
|
|
9
|
+
try {
|
|
10
|
+
return JSON.parse(content);
|
|
11
|
+
} catch (error) {
|
|
12
|
+
return content;
|
|
13
|
+
}
|
|
14
|
+
};
|
|
15
|
+
var LogTextPreviewModal = function LogTextPreviewModal(_ref) {
|
|
16
|
+
var open = _ref.open,
|
|
17
|
+
title = _ref.title,
|
|
18
|
+
content = _ref.content,
|
|
19
|
+
onCancel = _ref.onCancel;
|
|
20
|
+
var parsedContent = parseContent(content);
|
|
21
|
+
var isJsonObject = parsedContent && _typeof(parsedContent) === 'object';
|
|
22
|
+
var isStackTrace = title === '异常堆栈' && typeof content === 'string';
|
|
23
|
+
var stackLines = isStackTrace ? content.split('\n').map(function (line) {
|
|
24
|
+
return line.trim();
|
|
25
|
+
}).filter(Boolean) : [];
|
|
26
|
+
var stackSummary = stackLines[0] || '';
|
|
27
|
+
var stackFrames = stackLines.slice(1);
|
|
28
|
+
return /*#__PURE__*/_jsx(Modal, {
|
|
29
|
+
title: title,
|
|
30
|
+
open: open,
|
|
31
|
+
onCancel: onCancel,
|
|
32
|
+
footer: null,
|
|
33
|
+
width: 960,
|
|
34
|
+
destroyOnClose: true,
|
|
35
|
+
style: {
|
|
36
|
+
top: 20
|
|
37
|
+
},
|
|
38
|
+
className: "log-text-preview-modal",
|
|
39
|
+
children: /*#__PURE__*/_jsx("div", {
|
|
40
|
+
className: "content-wrapper",
|
|
41
|
+
children: isJsonObject ? /*#__PURE__*/_jsx("div", {
|
|
42
|
+
className: "json-container",
|
|
43
|
+
children: /*#__PURE__*/_jsx(ReactJson, {
|
|
44
|
+
src: parsedContent,
|
|
45
|
+
name: false,
|
|
46
|
+
collapsed: 2,
|
|
47
|
+
displayDataTypes: false,
|
|
48
|
+
enableClipboard: false,
|
|
49
|
+
theme: "monokai"
|
|
50
|
+
})
|
|
51
|
+
}) : isStackTrace ? /*#__PURE__*/_jsxs("div", {
|
|
52
|
+
className: "stack-trace-wrapper",
|
|
53
|
+
children: [/*#__PURE__*/_jsx("div", {
|
|
54
|
+
className: "stack-summary",
|
|
55
|
+
children: stackSummary || '-'
|
|
56
|
+
}), /*#__PURE__*/_jsx("div", {
|
|
57
|
+
className: "stack-panel",
|
|
58
|
+
children: stackFrames.length > 0 ? stackFrames.map(function (line, index) {
|
|
59
|
+
return /*#__PURE__*/_jsx("div", {
|
|
60
|
+
className: "stack-line",
|
|
61
|
+
children: /*#__PURE__*/_jsx("code", {
|
|
62
|
+
className: "stack-line-text",
|
|
63
|
+
children: line
|
|
64
|
+
})
|
|
65
|
+
}, "".concat(line, "-").concat(index));
|
|
66
|
+
}) : /*#__PURE__*/_jsx("pre", {
|
|
67
|
+
className: "text-block",
|
|
68
|
+
children: content || '-'
|
|
69
|
+
})
|
|
70
|
+
})]
|
|
71
|
+
}) : /*#__PURE__*/_jsx("pre", {
|
|
72
|
+
className: "text-block",
|
|
73
|
+
children: content || '-'
|
|
74
|
+
})
|
|
75
|
+
})
|
|
76
|
+
});
|
|
77
|
+
};
|
|
78
|
+
export default LogTextPreviewModal;
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
@primary-color: #1890ff;
|
|
2
|
+
|
|
3
|
+
.log-text-preview-modal {
|
|
4
|
+
|
|
5
|
+
.content-wrapper {
|
|
6
|
+
max-height: calc(100vh - 200px);
|
|
7
|
+
overflow-y: auto;
|
|
8
|
+
padding-right: 8px;
|
|
9
|
+
|
|
10
|
+
&::-webkit-scrollbar {
|
|
11
|
+
width: 6px;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
&::-webkit-scrollbar-thumb {
|
|
15
|
+
background: rgba(0, 0, 0, 0.18);
|
|
16
|
+
border-radius: 999px;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
.json-container {
|
|
21
|
+
padding: 12px;
|
|
22
|
+
border: 1px solid #3e3d32;
|
|
23
|
+
background: #272822;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
.stack-trace-wrapper {
|
|
27
|
+
display: flex;
|
|
28
|
+
flex-direction: column;
|
|
29
|
+
background: #000000;
|
|
30
|
+
border: 1px solid #1f2937;
|
|
31
|
+
overflow: hidden;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
.stack-summary {
|
|
35
|
+
padding: 14px 18px;
|
|
36
|
+
background: rgba(255, 255, 255, 0.05);
|
|
37
|
+
border-bottom: 1px solid #1f2937;
|
|
38
|
+
color: #ef4444;
|
|
39
|
+
font-size: 14px;
|
|
40
|
+
line-height: 1.6;
|
|
41
|
+
font-weight: 600;
|
|
42
|
+
word-break: break-word;
|
|
43
|
+
font-family: Menlo, Monaco, Consolas, 'Courier New', monospace;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
.stack-panel {
|
|
47
|
+
background: transparent;
|
|
48
|
+
padding: 16px 0;
|
|
49
|
+
overflow: auto;
|
|
50
|
+
|
|
51
|
+
.text-block {
|
|
52
|
+
background: transparent;
|
|
53
|
+
border: none;
|
|
54
|
+
color: #e2e8f0;
|
|
55
|
+
padding: 0 16px;
|
|
56
|
+
font-size: 13px;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
.stack-line {
|
|
61
|
+
display: flex;
|
|
62
|
+
align-items: flex-start;
|
|
63
|
+
padding: 4px 16px;
|
|
64
|
+
min-width: max-content;
|
|
65
|
+
transition: background-color 0.2s;
|
|
66
|
+
|
|
67
|
+
&:hover {
|
|
68
|
+
background-color: rgba(255, 255, 255, 0.05);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
.stack-line-text {
|
|
73
|
+
color: #e2e8f0;
|
|
74
|
+
font-size: 13px;
|
|
75
|
+
line-height: 1.8;
|
|
76
|
+
white-space: pre-wrap;
|
|
77
|
+
word-break: break-all;
|
|
78
|
+
font-family: Menlo, Monaco, Consolas, 'Courier New', monospace;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
.text-block {
|
|
82
|
+
margin: 0;
|
|
83
|
+
padding: 16px;
|
|
84
|
+
border: 1px solid #1f2937;
|
|
85
|
+
background: #0f172a;
|
|
86
|
+
color: #e2e8f0;
|
|
87
|
+
font-size: 13px;
|
|
88
|
+
line-height: 1.7;
|
|
89
|
+
white-space: pre-wrap;
|
|
90
|
+
word-break: break-word;
|
|
91
|
+
font-family: Menlo, Monaco, Consolas, 'Courier New', monospace;
|
|
92
|
+
}
|
|
93
|
+
}
|
|
@@ -0,0 +1,220 @@
|
|
|
1
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
2
|
+
function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw new Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator.return && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw new Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, catch: function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; }
|
|
3
|
+
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
|
|
4
|
+
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
|
|
5
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
6
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
7
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
8
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
9
|
+
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
10
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
11
|
+
import { useRef, useState } from 'react';
|
|
12
|
+
import { Tabs } from 'antd';
|
|
13
|
+
import ProTable from '@ant-design/pro-table';
|
|
14
|
+
import moment from 'moment';
|
|
15
|
+
import { handleTableResponse } from "../../utils/utils";
|
|
16
|
+
import { queryErrorLogsPage, queryOperationLogsPage } from "./service";
|
|
17
|
+
import LogTextPreviewModal from "./components/LogTextPreviewModal";
|
|
18
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
19
|
+
var DEFAULT_DATE = moment().format('YYYY-MM-DD');
|
|
20
|
+
var LOG_TYPE_OPTIONS = ['api', 'front', 'service'].map(function (value) {
|
|
21
|
+
return {
|
|
22
|
+
label: value,
|
|
23
|
+
value: value
|
|
24
|
+
};
|
|
25
|
+
});
|
|
26
|
+
var previewText = function previewText(value) {
|
|
27
|
+
if (!value && value !== 0) return '-';
|
|
28
|
+
var text = typeof value === 'string' ? value : JSON.stringify(value);
|
|
29
|
+
return text.length > 32 ? "".concat(text.slice(0, 32), "...") : text;
|
|
30
|
+
};
|
|
31
|
+
var LogQuery = function LogQuery() {
|
|
32
|
+
var operationActionRef = useRef();
|
|
33
|
+
var errorActionRef = useRef();
|
|
34
|
+
var _useState = useState('operation'),
|
|
35
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
36
|
+
activeKey = _useState2[0],
|
|
37
|
+
setActiveKey = _useState2[1];
|
|
38
|
+
var _useState3 = useState({
|
|
39
|
+
open: false,
|
|
40
|
+
title: '',
|
|
41
|
+
content: ''
|
|
42
|
+
}),
|
|
43
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
44
|
+
previewState = _useState4[0],
|
|
45
|
+
setPreviewState = _useState4[1];
|
|
46
|
+
var baseTableColumns = [{
|
|
47
|
+
title: '操作日期',
|
|
48
|
+
dataIndex: 'operationDate',
|
|
49
|
+
valueType: 'date',
|
|
50
|
+
width: 100,
|
|
51
|
+
initialValue: moment(),
|
|
52
|
+
fieldProps: {
|
|
53
|
+
allowClear: true
|
|
54
|
+
},
|
|
55
|
+
search: {
|
|
56
|
+
transform: function transform(value) {
|
|
57
|
+
return {
|
|
58
|
+
operationDate: value ? moment(value).format('YYYY-MM-DD') : DEFAULT_DATE
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}, {
|
|
63
|
+
title: '操作时间',
|
|
64
|
+
dataIndex: 'operationTime',
|
|
65
|
+
width: 100,
|
|
66
|
+
search: false
|
|
67
|
+
}, {
|
|
68
|
+
title: '日志类型',
|
|
69
|
+
dataIndex: 'logType',
|
|
70
|
+
valueType: 'select',
|
|
71
|
+
width: 100,
|
|
72
|
+
fieldProps: {
|
|
73
|
+
options: LOG_TYPE_OPTIONS,
|
|
74
|
+
allowClear: true
|
|
75
|
+
}
|
|
76
|
+
}, {
|
|
77
|
+
title: '操作人',
|
|
78
|
+
dataIndex: 'operationUserName',
|
|
79
|
+
width: 120
|
|
80
|
+
}, {
|
|
81
|
+
title: '描述',
|
|
82
|
+
dataIndex: 'description',
|
|
83
|
+
ellipsis: true,
|
|
84
|
+
width: 220
|
|
85
|
+
}, {
|
|
86
|
+
title: '执行时间(ms)',
|
|
87
|
+
dataIndex: 'executeTime',
|
|
88
|
+
width: 100,
|
|
89
|
+
search: false
|
|
90
|
+
}, {
|
|
91
|
+
title: '接口地址',
|
|
92
|
+
dataIndex: 'url',
|
|
93
|
+
ellipsis: true,
|
|
94
|
+
width: 220,
|
|
95
|
+
search: false,
|
|
96
|
+
copyable: true
|
|
97
|
+
}, {
|
|
98
|
+
title: 'IP地址',
|
|
99
|
+
dataIndex: 'ip',
|
|
100
|
+
width: 140,
|
|
101
|
+
search: false
|
|
102
|
+
}];
|
|
103
|
+
var createTextColumn = function createTextColumn(title, dataIndex) {
|
|
104
|
+
return {
|
|
105
|
+
title: title,
|
|
106
|
+
dataIndex: dataIndex,
|
|
107
|
+
search: false,
|
|
108
|
+
width: 220,
|
|
109
|
+
render: function render(_, record) {
|
|
110
|
+
var value = record[dataIndex];
|
|
111
|
+
if (!value) return '-';
|
|
112
|
+
return /*#__PURE__*/_jsx("a", {
|
|
113
|
+
onClick: function onClick() {
|
|
114
|
+
return setPreviewState({
|
|
115
|
+
open: true,
|
|
116
|
+
title: title,
|
|
117
|
+
content: value
|
|
118
|
+
});
|
|
119
|
+
},
|
|
120
|
+
children: previewText(value)
|
|
121
|
+
});
|
|
122
|
+
}
|
|
123
|
+
};
|
|
124
|
+
};
|
|
125
|
+
var operationColumns = [].concat(baseTableColumns, [createTextColumn('请求参数', 'params'), createTextColumn('返回数据', 'returnData')]);
|
|
126
|
+
var errorColumns = [].concat(baseTableColumns, [createTextColumn('异常堆栈', 'throwable'), createTextColumn('请求参数', 'params')]);
|
|
127
|
+
var buildRequest = function buildRequest(queryFn, actionRef) {
|
|
128
|
+
return /*#__PURE__*/function () {
|
|
129
|
+
var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(params) {
|
|
130
|
+
var current, pageSize, operationDate, operationUser, description, logType, res;
|
|
131
|
+
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
132
|
+
while (1) switch (_context.prev = _context.next) {
|
|
133
|
+
case 0:
|
|
134
|
+
current = params.current, pageSize = params.pageSize, operationDate = params.operationDate, operationUser = params.operationUser, description = params.description, logType = params.logType;
|
|
135
|
+
_context.next = 3;
|
|
136
|
+
return queryFn({
|
|
137
|
+
current: current,
|
|
138
|
+
pageSize: pageSize,
|
|
139
|
+
searchObject: {
|
|
140
|
+
operationDate: operationDate || DEFAULT_DATE,
|
|
141
|
+
operationUser: operationUser,
|
|
142
|
+
description: description,
|
|
143
|
+
logType: logType
|
|
144
|
+
}
|
|
145
|
+
});
|
|
146
|
+
case 3:
|
|
147
|
+
res = _context.sent;
|
|
148
|
+
return _context.abrupt("return", handleTableResponse({
|
|
149
|
+
res: res,
|
|
150
|
+
actionRef: actionRef
|
|
151
|
+
}));
|
|
152
|
+
case 5:
|
|
153
|
+
case "end":
|
|
154
|
+
return _context.stop();
|
|
155
|
+
}
|
|
156
|
+
}, _callee);
|
|
157
|
+
}));
|
|
158
|
+
return function (_x) {
|
|
159
|
+
return _ref.apply(this, arguments);
|
|
160
|
+
};
|
|
161
|
+
}();
|
|
162
|
+
};
|
|
163
|
+
return /*#__PURE__*/_jsxs(_Fragment, {
|
|
164
|
+
children: [/*#__PURE__*/_jsx(Tabs, {
|
|
165
|
+
activeKey: activeKey,
|
|
166
|
+
onChange: setActiveKey,
|
|
167
|
+
items: [{
|
|
168
|
+
key: 'operation',
|
|
169
|
+
label: '操作日志',
|
|
170
|
+
children: /*#__PURE__*/_jsx(ProTable, {
|
|
171
|
+
headerTitle: "\u64CD\u4F5C\u65E5\u5FD7",
|
|
172
|
+
actionRef: operationActionRef,
|
|
173
|
+
rowKey: "id",
|
|
174
|
+
search: {
|
|
175
|
+
labelWidth: 100
|
|
176
|
+
},
|
|
177
|
+
columns: operationColumns,
|
|
178
|
+
request: buildRequest(queryOperationLogsPage, operationActionRef),
|
|
179
|
+
form: {
|
|
180
|
+
ignoreRules: false
|
|
181
|
+
},
|
|
182
|
+
scroll: {
|
|
183
|
+
x: 1600
|
|
184
|
+
}
|
|
185
|
+
})
|
|
186
|
+
}, {
|
|
187
|
+
key: 'error',
|
|
188
|
+
label: '错误日志',
|
|
189
|
+
children: /*#__PURE__*/_jsx(ProTable, {
|
|
190
|
+
headerTitle: "\u9519\u8BEF\u65E5\u5FD7",
|
|
191
|
+
actionRef: errorActionRef,
|
|
192
|
+
rowKey: "id",
|
|
193
|
+
search: {
|
|
194
|
+
labelWidth: 100
|
|
195
|
+
},
|
|
196
|
+
columns: errorColumns,
|
|
197
|
+
request: buildRequest(queryErrorLogsPage, errorActionRef),
|
|
198
|
+
form: {
|
|
199
|
+
ignoreRules: false
|
|
200
|
+
},
|
|
201
|
+
scroll: {
|
|
202
|
+
x: 1600
|
|
203
|
+
}
|
|
204
|
+
})
|
|
205
|
+
}]
|
|
206
|
+
}), /*#__PURE__*/_jsx(LogTextPreviewModal, {
|
|
207
|
+
open: previewState.open,
|
|
208
|
+
title: previewState.title,
|
|
209
|
+
content: previewState.content,
|
|
210
|
+
onCancel: function onCancel() {
|
|
211
|
+
return setPreviewState({
|
|
212
|
+
open: false,
|
|
213
|
+
title: '',
|
|
214
|
+
content: ''
|
|
215
|
+
});
|
|
216
|
+
}
|
|
217
|
+
})]
|
|
218
|
+
});
|
|
219
|
+
};
|
|
220
|
+
export default LogQuery;
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
2
|
+
function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw new Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator.return && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw new Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, catch: function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; }
|
|
3
|
+
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
|
|
4
|
+
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
|
|
5
|
+
import doRequest from "../../utils/request.js";
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* @api 分页查询操作日志
|
|
9
|
+
*
|
|
10
|
+
* @param {Number} params.current 当前页码 @example 1【非必填】
|
|
11
|
+
* @param {Number} params.pageSize 每页条数 @example 10【非必填】
|
|
12
|
+
* @param {Object} params.searchObject 查询条件【非必填】
|
|
13
|
+
* @param {String} params.searchObject.logType 日志类型【非必填】
|
|
14
|
+
* @param {String} params.searchObject.description 描述【非必填】
|
|
15
|
+
* @param {String} params.searchObject.operationDate 操作日期【非必填】
|
|
16
|
+
* @param {String} params.searchObject.operationUser 操作人【非必填】
|
|
17
|
+
*/
|
|
18
|
+
export function queryOperationLogsPage(_x) {
|
|
19
|
+
return _queryOperationLogsPage.apply(this, arguments);
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* @api 分页查询错误日志
|
|
24
|
+
*
|
|
25
|
+
* @param {Number} params.current 当前页码 @example 1【非必填】
|
|
26
|
+
* @param {Number} params.pageSize 每页条数 @example 10【非必填】
|
|
27
|
+
* @param {Object} params.searchObject 查询条件【非必填】
|
|
28
|
+
* @param {String} params.searchObject.logType 日志类型【非必填】
|
|
29
|
+
* @param {String} params.searchObject.description 描述【非必填】
|
|
30
|
+
* @param {String} params.searchObject.operationDate 操作日期【非必填】
|
|
31
|
+
* @param {String} params.searchObject.operationUser 操作人【非必填】
|
|
32
|
+
*/
|
|
33
|
+
function _queryOperationLogsPage() {
|
|
34
|
+
_queryOperationLogsPage = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(params) {
|
|
35
|
+
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
36
|
+
while (1) switch (_context.prev = _context.next) {
|
|
37
|
+
case 0:
|
|
38
|
+
return _context.abrupt("return", doRequest('/api/log/queryLogsPage', 'POST', params));
|
|
39
|
+
case 1:
|
|
40
|
+
case "end":
|
|
41
|
+
return _context.stop();
|
|
42
|
+
}
|
|
43
|
+
}, _callee);
|
|
44
|
+
}));
|
|
45
|
+
return _queryOperationLogsPage.apply(this, arguments);
|
|
46
|
+
}
|
|
47
|
+
export function queryErrorLogsPage(_x2) {
|
|
48
|
+
return _queryErrorLogsPage.apply(this, arguments);
|
|
49
|
+
}
|
|
50
|
+
function _queryErrorLogsPage() {
|
|
51
|
+
_queryErrorLogsPage = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(params) {
|
|
52
|
+
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
53
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
54
|
+
case 0:
|
|
55
|
+
return _context2.abrupt("return", doRequest('/api/log/queryErrorLogsPage', 'POST', params));
|
|
56
|
+
case 1:
|
|
57
|
+
case "end":
|
|
58
|
+
return _context2.stop();
|
|
59
|
+
}
|
|
60
|
+
}, _callee2);
|
|
61
|
+
}));
|
|
62
|
+
return _queryErrorLogsPage.apply(this, arguments);
|
|
63
|
+
}
|
|
@@ -186,7 +186,8 @@ export default {
|
|
|
186
186
|
enableAddButton: {
|
|
187
187
|
type: Boolean,
|
|
188
188
|
default: false
|
|
189
|
-
}
|
|
189
|
+
},
|
|
190
|
+
|
|
190
191
|
},
|
|
191
192
|
data() {
|
|
192
193
|
return {
|
|
@@ -205,7 +206,9 @@ export default {
|
|
|
205
206
|
changeStatus: true,
|
|
206
207
|
preStatus: true,
|
|
207
208
|
first: true,
|
|
208
|
-
lastTouchEndTime: null // 记录最后一次 touchend 的时间,用于避免重复触发
|
|
209
|
+
lastTouchEndTime: null, // 记录最后一次 touchend 的时间,用于避免重复触发
|
|
210
|
+
clickThreshold: 20,
|
|
211
|
+
longPressTime: 300
|
|
209
212
|
};
|
|
210
213
|
},
|
|
211
214
|
computed: {
|
|
@@ -447,12 +450,19 @@ export default {
|
|
|
447
450
|
item.zIndex = 99;
|
|
448
451
|
item.moveEnd = true;
|
|
449
452
|
this.tempItem = item;
|
|
453
|
+
|
|
454
|
+
// 记录起始坐标,用于通过位移判断点击
|
|
455
|
+
item.startX = item.oldX;
|
|
456
|
+
item.startY = item.oldY;
|
|
457
|
+
|
|
450
458
|
this.timer = setTimeout(() => {
|
|
451
459
|
item.scale = this.scale;
|
|
452
460
|
item.opacity = this.opacity;
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
461
|
+
if (this.timer) {
|
|
462
|
+
clearTimeout(this.timer);
|
|
463
|
+
this.timer = null;
|
|
464
|
+
}
|
|
465
|
+
}, this.longPressTime);
|
|
456
466
|
},
|
|
457
467
|
handleClick(item, type) {
|
|
458
468
|
// 设为disable后无法触发touch事件
|
|
@@ -485,13 +495,21 @@ export default {
|
|
|
485
495
|
}
|
|
486
496
|
|
|
487
497
|
// 判断是否为点击操作(而非拖动)
|
|
488
|
-
|
|
498
|
+
const moveDistance = Math.sqrt(Math.pow(item.oldX - (item.startX || 0), 2) + Math.pow(item.oldY - (item.startY || 0), 2));
|
|
499
|
+
const isClickAction = this.timer && moveDistance < this.rpx2px(this.clickThreshold);
|
|
500
|
+
|
|
501
|
+
if (isClickAction && this.preStatus && this.changeStatus) {
|
|
489
502
|
if (this.moveType === 'video') {
|
|
490
503
|
this.playVideo(item);
|
|
491
504
|
} else {
|
|
492
|
-
|
|
505
|
+
setTimeout(()=>{
|
|
506
|
+
this.previewImage(item);
|
|
507
|
+
},0)
|
|
493
508
|
}
|
|
494
|
-
}
|
|
509
|
+
}
|
|
510
|
+
|
|
511
|
+
// 无论是否触发点击,都需清理计时器防止后续意外放大
|
|
512
|
+
if (this.timer) {
|
|
495
513
|
clearTimeout(this.timer);
|
|
496
514
|
this.timer = null;
|
|
497
515
|
}
|
|
@@ -688,6 +706,8 @@ export default {
|
|
|
688
706
|
id: this.guid(16),
|
|
689
707
|
disable: false,
|
|
690
708
|
offset: 0,
|
|
709
|
+
startX: 0,
|
|
710
|
+
startY: 0,
|
|
691
711
|
moveEnd: false,
|
|
692
712
|
loading: true
|
|
693
713
|
});
|
|
@@ -6,6 +6,7 @@ import { useEffect } from 'react';
|
|
|
6
6
|
import { getSessionStorage, setSessionStorage, removeSessionStorage } from "../../utils/token.js";
|
|
7
7
|
import { message, Spin } from 'antd';
|
|
8
8
|
import { queryAaaCurrent, queryCurrent, accountAAALogout } from "../../services/service.js";
|
|
9
|
+
import { getQueryVariable } from "../../utils/utils";
|
|
9
10
|
|
|
10
11
|
// ========== 公共辅助函数 ==========
|
|
11
12
|
|
|
@@ -187,11 +188,13 @@ var ssoTypeByOld = /*#__PURE__*/function () {
|
|
|
187
188
|
return response.json();
|
|
188
189
|
case 10:
|
|
189
190
|
data = _context3.sent;
|
|
190
|
-
token = data.
|
|
191
|
+
token = data.data;
|
|
191
192
|
if (token) {
|
|
192
193
|
saveTokenAndRedirect(token);
|
|
193
|
-
} else {
|
|
194
|
+
} else if (data.rspCode !== '000000') {
|
|
194
195
|
message.error(data.rspMsg);
|
|
196
|
+
} else {
|
|
197
|
+
message.error('token获取失败');
|
|
195
198
|
}
|
|
196
199
|
_context3.next = 19;
|
|
197
200
|
break;
|
|
@@ -240,8 +243,9 @@ var XyAuthLayout = function XyAuthLayout(props) {
|
|
|
240
243
|
var token = getSessionStorage('Token');
|
|
241
244
|
var loginType = envData.login_type || 'BOTH';
|
|
242
245
|
var pathName = window.location.pathname;
|
|
246
|
+
var loginId = getQueryVariable('loginId');
|
|
243
247
|
useEffect(function () {
|
|
244
|
-
if (!token) {
|
|
248
|
+
if (!token && !(loginId && ['BOTH', 'AAA'].includes(loginType))) {
|
|
245
249
|
// 当登录方式为SSO_NEW或BOTH时,可在路径加上sso进行统一登陆,当登录方式固定为SSO或SSO_NEW时,直接跳转到SSO登录
|
|
246
250
|
if (['SSO_NEW', 'BOTH'].includes(loginType) && pathName.indexOf('/sso') >= 0 || ['SSO', 'SSO_NEW'].includes(loginType)) {
|
|
247
251
|
setSessionStorage('sso_redirect_url', window.location.href);
|
|
@@ -251,11 +255,12 @@ var XyAuthLayout = function XyAuthLayout(props) {
|
|
|
251
255
|
window.location.href = "".concat(window.publicPath || '/', "user/login");
|
|
252
256
|
}
|
|
253
257
|
} else {
|
|
254
|
-
|
|
258
|
+
// 当有TOKEN或者AAA登录并携带loginId时可进入
|
|
259
|
+
getUserinfo(loginId);
|
|
255
260
|
}
|
|
256
261
|
}, []);
|
|
257
262
|
var getUserinfo = /*#__PURE__*/function () {
|
|
258
|
-
var _ref4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4() {
|
|
263
|
+
var _ref4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4(loginId) {
|
|
259
264
|
var response;
|
|
260
265
|
return _regeneratorRuntime().wrap(function _callee4$(_context4) {
|
|
261
266
|
while (1) switch (_context4.prev = _context4.next) {
|
|
@@ -273,12 +278,16 @@ var XyAuthLayout = function XyAuthLayout(props) {
|
|
|
273
278
|
break;
|
|
274
279
|
case 7:
|
|
275
280
|
_context4.next = 9;
|
|
276
|
-
return queryAaaCurrent({}
|
|
281
|
+
return queryAaaCurrent({}, {
|
|
282
|
+
headers: {
|
|
283
|
+
loginId: loginId
|
|
284
|
+
}
|
|
285
|
+
});
|
|
277
286
|
case 9:
|
|
278
287
|
_context4.t0 = _context4.sent;
|
|
279
288
|
case 10:
|
|
280
289
|
response = _context4.t0;
|
|
281
|
-
if (!((response === null || response === void 0 ? void 0 : response.status) === 401
|
|
290
|
+
if (!((response === null || response === void 0 ? void 0 : response.status) === 401)) {
|
|
282
291
|
_context4.next = 17;
|
|
283
292
|
break;
|
|
284
293
|
}
|
|
@@ -311,7 +320,7 @@ var XyAuthLayout = function XyAuthLayout(props) {
|
|
|
311
320
|
}
|
|
312
321
|
}, _callee4, null, [[0, 20]]);
|
|
313
322
|
}));
|
|
314
|
-
return function getUserinfo() {
|
|
323
|
+
return function getUserinfo(_x) {
|
|
315
324
|
return _ref4.apply(this, arguments);
|
|
316
325
|
};
|
|
317
326
|
}();
|
|
@@ -319,6 +328,7 @@ var XyAuthLayout = function XyAuthLayout(props) {
|
|
|
319
328
|
// 加载状态
|
|
320
329
|
if (!token) {
|
|
321
330
|
return /*#__PURE__*/_jsx("div", {
|
|
331
|
+
className: "xyAuthLayoutLoading",
|
|
322
332
|
style: {
|
|
323
333
|
display: 'flex',
|
|
324
334
|
justifyContent: 'center',
|
package/dist/services/service.js
CHANGED
|
@@ -24,17 +24,17 @@ function _queryCurrent() {
|
|
|
24
24
|
}));
|
|
25
25
|
return _queryCurrent.apply(this, arguments);
|
|
26
26
|
}
|
|
27
|
-
export function queryAaaCurrent(_x2) {
|
|
27
|
+
export function queryAaaCurrent(_x2, _x3) {
|
|
28
28
|
return _queryAaaCurrent.apply(this, arguments);
|
|
29
29
|
}
|
|
30
30
|
|
|
31
31
|
// 退出登录 | aaa
|
|
32
32
|
function _queryAaaCurrent() {
|
|
33
|
-
_queryAaaCurrent = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(params) {
|
|
33
|
+
_queryAaaCurrent = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(params, options) {
|
|
34
34
|
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
35
35
|
while (1) switch (_context2.prev = _context2.next) {
|
|
36
36
|
case 0:
|
|
37
|
-
return _context2.abrupt("return", doRequest('/api/aaa/current', 'POST', params));
|
|
37
|
+
return _context2.abrupt("return", doRequest('/api/aaa/current', 'POST', params, options));
|
|
38
38
|
case 1:
|
|
39
39
|
case "end":
|
|
40
40
|
return _context2.stop();
|
|
@@ -43,7 +43,7 @@ function _queryAaaCurrent() {
|
|
|
43
43
|
}));
|
|
44
44
|
return _queryAaaCurrent.apply(this, arguments);
|
|
45
45
|
}
|
|
46
|
-
export function accountAAALogout(
|
|
46
|
+
export function accountAAALogout(_x4) {
|
|
47
47
|
return _accountAAALogout.apply(this, arguments);
|
|
48
48
|
}
|
|
49
49
|
function _accountAAALogout() {
|
|
@@ -7,6 +7,7 @@ export { default as UploadFile } from "./uploadFile";
|
|
|
7
7
|
export { default as DownloadFile } from "./downloadFile";
|
|
8
8
|
export { default as Version } from "./tools/version";
|
|
9
9
|
export { default as MaterialCard } from "./materialCard";
|
|
10
|
+
export { default as LogQuery } from "./log-query";
|
|
10
11
|
export * from "./payment";
|
|
11
12
|
export * from "./sms";
|
|
12
13
|
export { default as XyAuthLayout, logout, handleUnauthorized } from "./xyAuthLayout";
|
package/dist/utils/request.js
CHANGED
|
@@ -11,7 +11,7 @@ function _asyncToGenerator(fn) { return function () { var self = this, args = ar
|
|
|
11
11
|
* request 网络请求工具
|
|
12
12
|
*/
|
|
13
13
|
import { notification, message } from 'antd';
|
|
14
|
-
import { getSessionStorage } from "./token.js";
|
|
14
|
+
import { getSessionStorage, setSessionStorage } from "./token.js";
|
|
15
15
|
import { handleUnauthorized } from "../components";
|
|
16
16
|
|
|
17
17
|
/* ********************************************************************************************************************************* */
|
|
@@ -133,6 +133,7 @@ function _doRequest() {
|
|
|
133
133
|
token,
|
|
134
134
|
response,
|
|
135
135
|
fetchOptions,
|
|
136
|
+
_token,
|
|
136
137
|
result,
|
|
137
138
|
rspCode,
|
|
138
139
|
_args2 = arguments;
|
|
@@ -177,36 +178,41 @@ function _doRequest() {
|
|
|
177
178
|
return _context2.abrupt("return", errorHandler(null));
|
|
178
179
|
case 16:
|
|
179
180
|
if (!response.ok) {
|
|
180
|
-
_context2.next =
|
|
181
|
+
_context2.next = 32;
|
|
181
182
|
break;
|
|
182
183
|
}
|
|
183
184
|
_context2.prev = 17;
|
|
184
|
-
|
|
185
|
+
// 如果获取用户的接口上有返回token,那么存储token
|
|
186
|
+
_token = response.headers.get('Authorization');
|
|
187
|
+
if (response.url.indexOf('/api/aaa/current') && _token) {
|
|
188
|
+
setSessionStorage('Token', _token);
|
|
189
|
+
}
|
|
190
|
+
_context2.next = 22;
|
|
185
191
|
return response.clone().json();
|
|
186
|
-
case
|
|
192
|
+
case 22:
|
|
187
193
|
result = _context2.sent;
|
|
188
194
|
rspCode = result.rspCode; // 状态编码只有在已定义的,需要处理的编码里才会返回响应,否则会进入错误回调
|
|
189
195
|
if (!(rspCode && PROCESS_RESPONSE_CODES.includes(rspCode))) {
|
|
190
|
-
_context2.next =
|
|
196
|
+
_context2.next = 26;
|
|
191
197
|
break;
|
|
192
198
|
}
|
|
193
199
|
return _context2.abrupt("return", result);
|
|
194
|
-
case 24:
|
|
195
|
-
_context2.next = 30;
|
|
196
|
-
break;
|
|
197
200
|
case 26:
|
|
198
|
-
_context2.
|
|
201
|
+
_context2.next = 32;
|
|
202
|
+
break;
|
|
203
|
+
case 28:
|
|
204
|
+
_context2.prev = 28;
|
|
199
205
|
_context2.t1 = _context2["catch"](17);
|
|
200
206
|
// JSON 解析失败,按网络异常处理
|
|
201
207
|
console.error(_context2.t1);
|
|
202
208
|
return _context2.abrupt("return", errorHandler(null));
|
|
203
|
-
case
|
|
209
|
+
case 32:
|
|
204
210
|
return _context2.abrupt("return", errorHandler(response));
|
|
205
|
-
case
|
|
211
|
+
case 33:
|
|
206
212
|
case "end":
|
|
207
213
|
return _context2.stop();
|
|
208
214
|
}
|
|
209
|
-
}, _callee2, null, [[4, 12], [17,
|
|
215
|
+
}, _callee2, null, [[4, 12], [17, 28]]);
|
|
210
216
|
}));
|
|
211
217
|
return _doRequest.apply(this, arguments);
|
|
212
218
|
}
|
package/dist/utils/utils.js
CHANGED
|
@@ -31,15 +31,17 @@ export var asyncCallback = function asyncCallback(res, isTip) {
|
|
|
31
31
|
* @returns {string|boolean} - 返回查询参数的值,如果不存在则返回 false
|
|
32
32
|
*/
|
|
33
33
|
export function getQueryVariable(variable) {
|
|
34
|
-
var
|
|
34
|
+
var parts = window.location.href.split('?');
|
|
35
|
+
if (parts.length < 2) return null;
|
|
36
|
+
var query = parts[1];
|
|
35
37
|
var vars = query.split('&');
|
|
36
38
|
for (var i = 0; i < vars.length; i++) {
|
|
37
39
|
var pair = vars[i].split('=');
|
|
38
|
-
if (pair[0]
|
|
39
|
-
return pair[1];
|
|
40
|
+
if (decodeURIComponent(pair[0]) === variable) {
|
|
41
|
+
return decodeURIComponent(pair[1]);
|
|
40
42
|
}
|
|
41
43
|
}
|
|
42
|
-
return
|
|
44
|
+
return null;
|
|
43
45
|
}
|
|
44
46
|
|
|
45
47
|
/**
|