Commit 67bfdb79 authored by ml's avatar ml

逻辑调整、新增接口

parent b85ea206
......@@ -507,9 +507,9 @@
}
},
"node_modules/@eslint-community/regexpp": {
"version": "4.11.0",
"resolved": "https://packages.aliyun.com/646341b481b284e28f47a25b/npm/npm-registry/@eslint-community/regexpp/-/regexpp-4.11.0.tgz",
"integrity": "sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A==",
"version": "4.11.1",
"resolved": "https://packages.aliyun.com/646341b481b284e28f47a25b/npm/npm-registry/@eslint-community/regexpp/-/regexpp-4.11.1.tgz",
"integrity": "sha512-m4DVN9ZqskZoLU5GlWZadwDnYo3vAEydiUayB9widCl9ffWx2IvPnp6n3on5rJmziJSw9Bv+Z3ChDVdMwXCY8Q==",
"dev": true,
"license": "MIT",
"engines": {
......@@ -654,9 +654,9 @@
}
},
"node_modules/@isaacs/cliui/node_modules/ansi-regex": {
"version": "6.0.1",
"resolved": "https://packages.aliyun.com/646341b481b284e28f47a25b/npm/npm-registry/ansi-regex/-/ansi-regex-6.0.1.tgz",
"integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==",
"version": "6.1.0",
"resolved": "https://packages.aliyun.com/646341b481b284e28f47a25b/npm/npm-registry/ansi-regex/-/ansi-regex-6.1.0.tgz",
"integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==",
"license": "MIT",
"engines": {
"node": ">=12"
......@@ -941,7 +941,7 @@
},
"node_modules/@madex/ex-js-dao": {
"version": "1.0.0",
"resolved": "git+ssh://git@bitbucket.org/biiigle/ex-js-dao.git#37d36528608cbd7affb29aa88ba022cc073495c5",
"resolved": "git+ssh://git@bitbucket.org/biiigle/ex-js-dao.git#253c679ccc1854270244111f78694f86197c3207",
"license": "ISC",
"dependencies": {
"@madex/ex-js-public": "git+ssh://git@bitbucket.org/biiigle/ex-js-public.git#master",
......@@ -957,7 +957,7 @@
},
"node_modules/@madex/ex-js-public": {
"version": "1.0.0",
"resolved": "git+ssh://git@bitbucket.org/biiigle/ex-js-public.git#a328aeba78ae3f4860368a6c790ef434f7dd53be",
"resolved": "git+ssh://git@bitbucket.org/biiigle/ex-js-public.git#17659c3d3b1dbf778ad69fa9d9785093da0879d3",
"license": "ISC",
"dependencies": {
"axios": "^0.18.0",
......@@ -1069,9 +1069,9 @@
}
},
"node_modules/@madex/ex-ts-dao": {
"version": "0.0.30",
"resolved": "https://packages.aliyun.com/646341b481b284e28f47a25b/npm/npm-registry/@madex/ex-ts-dao/-/@madex/ex-ts-dao-0.0.30.tgz",
"integrity": "sha512-U16LCJEkLpSNlNMQSHQFKpC41u1IQOvNC/m8didC/xBUJjUq8sGTIKNfsM+lA653XAWW4ltCEgainx8effPCwg==",
"version": "0.0.31",
"resolved": "https://packages.aliyun.com/646341b481b284e28f47a25b/npm/npm-registry/@madex/ex-ts-dao/-/@madex/ex-ts-dao-0.0.31.tgz",
"integrity": "sha512-dpH/F0uTthmlnz6abSyA/l3MiwV4pGYdjI2W5K1ShlXhxMhLvAKnWlHX8Fg5O/sG7p7b4/iAtJ6/qcp9lGFrdQ==",
"license": "ISC",
"dependencies": {
"@madex/ex-js-public": "git+ssh://git@bitbucket.org/biiigle/ex-js-public.git#master",
......@@ -1626,9 +1626,9 @@
}
},
"node_modules/@types/qs": {
"version": "6.9.15",
"resolved": "https://packages.aliyun.com/646341b481b284e28f47a25b/npm/npm-registry/@types/qs/-/qs-6.9.15.tgz",
"integrity": "sha512-uXHQKES6DQKKCLh441Xv/dwxOq1TVS3JPUMlEqoEglvlhR6Mxnlew/Xq/LRVHpLyk7iK3zODe1qYHIMltO7XGg==",
"version": "6.9.16",
"resolved": "https://packages.aliyun.com/646341b481b284e28f47a25b/npm/npm-registry/@types/qs/-/qs-6.9.16.tgz",
"integrity": "sha512-7i+zxXdPD0T4cKDuxCUXJ4wHcsJLwENa6Z3dCu8cfCK743OGy5Nu1RmAGqDPsoTDINVEcdXKRvR/zre+P2Ku1A==",
"license": "MIT"
},
"node_modules/@types/range-parser": {
......@@ -1697,9 +1697,9 @@
"license": "MIT"
},
"node_modules/@types/validator": {
"version": "13.12.1",
"resolved": "https://packages.aliyun.com/646341b481b284e28f47a25b/npm/npm-registry/@types/validator/-/validator-13.12.1.tgz",
"integrity": "sha512-w0URwf7BQb0rD/EuiG12KP0bailHKHP5YVviJG9zw3ykAokL0TuxU2TUqMB7EwZ59bDHYdeTIvjI5m0S7qHfOA==",
"version": "13.12.2",
"resolved": "https://packages.aliyun.com/646341b481b284e28f47a25b/npm/npm-registry/@types/validator/-/validator-13.12.2.tgz",
"integrity": "sha512-6SlHBzUW8Jhf3liqrGGXyTJSIFe4nqlJ5A5KaMZ2l/vbM3Wh3KSybots/wfWVzNLK4D1NZluDlSQIbIEPx6oyA==",
"dev": true,
"license": "MIT"
},
......@@ -2931,9 +2931,9 @@
"license": "MIT"
},
"node_modules/body-parser": {
"version": "1.20.2",
"resolved": "https://packages.aliyun.com/646341b481b284e28f47a25b/npm/npm-registry/body-parser/-/body-parser-1.20.2.tgz",
"integrity": "sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==",
"version": "1.20.3",
"resolved": "https://packages.aliyun.com/646341b481b284e28f47a25b/npm/npm-registry/body-parser/-/body-parser-1.20.3.tgz",
"integrity": "sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==",
"license": "MIT",
"dependencies": {
"bytes": "3.1.2",
......@@ -2944,7 +2944,7 @@
"http-errors": "2.0.0",
"iconv-lite": "0.4.24",
"on-finished": "2.4.1",
"qs": "6.11.0",
"qs": "6.13.0",
"raw-body": "2.5.2",
"type-is": "~1.6.18",
"unpipe": "1.0.0"
......@@ -2969,21 +2969,6 @@
"integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
"license": "MIT"
},
"node_modules/body-parser/node_modules/qs": {
"version": "6.11.0",
"resolved": "https://packages.aliyun.com/646341b481b284e28f47a25b/npm/npm-registry/qs/-/qs-6.11.0.tgz",
"integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==",
"license": "BSD-3-Clause",
"dependencies": {
"side-channel": "^1.0.4"
},
"engines": {
"node": ">=0.6"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/boom": {
"version": "5.3.3",
"resolved": "https://packages.aliyun.com/646341b481b284e28f47a25b/npm/npm-registry/boom/-/boom-5.3.3.tgz",
......@@ -3322,9 +3307,9 @@
}
},
"node_modules/caniuse-lite": {
"version": "1.0.30001658",
"resolved": "https://packages.aliyun.com/646341b481b284e28f47a25b/npm/npm-registry/caniuse-lite/-/caniuse-lite-1.0.30001658.tgz",
"integrity": "sha512-N2YVqWbJELVdrnsW5p+apoQyYt51aBMSsBZki1XZEfeBCexcM/sf4xiAHcXQBkuOwJBXtWF7aW1sYX6tKebPHw==",
"version": "1.0.30001662",
"resolved": "https://packages.aliyun.com/646341b481b284e28f47a25b/npm/npm-registry/caniuse-lite/-/caniuse-lite-1.0.30001662.tgz",
"integrity": "sha512-sgMUVwLmGseH8ZIrm1d51UbrhqMCH3jvS7gF/M6byuHOnKyLOBL7W8yz5V02OHwgLGA36o/AFhWzzh4uc5aqTA==",
"dev": true,
"funding": [
{
......@@ -4456,9 +4441,9 @@
}
},
"node_modules/electron-to-chromium": {
"version": "1.5.18",
"resolved": "https://packages.aliyun.com/646341b481b284e28f47a25b/npm/npm-registry/electron-to-chromium/-/electron-to-chromium-1.5.18.tgz",
"integrity": "sha512-1OfuVACu+zKlmjsNdcJuVQuVE61sZOLbNM4JAQ1Rvh6EOj0/EUKhMJjRH73InPlXSh8HIJk1cVZ8pyOV/FMdUQ==",
"version": "1.5.25",
"resolved": "https://packages.aliyun.com/646341b481b284e28f47a25b/npm/npm-registry/electron-to-chromium/-/electron-to-chromium-1.5.25.tgz",
"integrity": "sha512-kMb204zvK3PsSlgvvwzI3wBIcAw15tRkYk+NQdsjdDtcQWTp2RABbMQ9rUBy8KNEOM+/E6ep+XC3AykiWZld4g==",
"dev": true,
"license": "ISC"
},
......@@ -4469,9 +4454,9 @@
"license": "MIT"
},
"node_modules/encodeurl": {
"version": "1.0.2",
"resolved": "https://packages.aliyun.com/646341b481b284e28f47a25b/npm/npm-registry/encodeurl/-/encodeurl-1.0.2.tgz",
"integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==",
"version": "2.0.0",
"resolved": "https://packages.aliyun.com/646341b481b284e28f47a25b/npm/npm-registry/encodeurl/-/encodeurl-2.0.0.tgz",
"integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==",
"license": "MIT",
"engines": {
"node": ">= 0.8"
......@@ -5320,37 +5305,37 @@
}
},
"node_modules/express": {
"version": "4.19.2",
"resolved": "https://packages.aliyun.com/646341b481b284e28f47a25b/npm/npm-registry/express/-/express-4.19.2.tgz",
"integrity": "sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==",
"version": "4.21.0",
"resolved": "https://packages.aliyun.com/646341b481b284e28f47a25b/npm/npm-registry/express/-/express-4.21.0.tgz",
"integrity": "sha512-VqcNGcj/Id5ZT1LZ/cfihi3ttTn+NJmkli2eZADigjq29qTlWi/hAQ43t/VLPq8+UX06FCEx3ByOYet6ZFblng==",
"license": "MIT",
"dependencies": {
"accepts": "~1.3.8",
"array-flatten": "1.1.1",
"body-parser": "1.20.2",
"body-parser": "1.20.3",
"content-disposition": "0.5.4",
"content-type": "~1.0.4",
"cookie": "0.6.0",
"cookie-signature": "1.0.6",
"debug": "2.6.9",
"depd": "2.0.0",
"encodeurl": "~1.0.2",
"encodeurl": "~2.0.0",
"escape-html": "~1.0.3",
"etag": "~1.8.1",
"finalhandler": "1.2.0",
"finalhandler": "1.3.1",
"fresh": "0.5.2",
"http-errors": "2.0.0",
"merge-descriptors": "1.0.1",
"merge-descriptors": "1.0.3",
"methods": "~1.1.2",
"on-finished": "2.4.1",
"parseurl": "~1.3.3",
"path-to-regexp": "0.1.7",
"path-to-regexp": "0.1.10",
"proxy-addr": "~2.0.7",
"qs": "6.11.0",
"qs": "6.13.0",
"range-parser": "~1.2.1",
"safe-buffer": "5.2.1",
"send": "0.18.0",
"serve-static": "1.15.0",
"send": "0.19.0",
"serve-static": "1.16.2",
"setprototypeof": "1.2.0",
"statuses": "2.0.1",
"type-is": "~1.6.18",
......@@ -5471,33 +5456,12 @@
"ms": "2.0.0"
}
},
"node_modules/express/node_modules/merge-descriptors": {
"version": "1.0.1",
"resolved": "https://packages.aliyun.com/646341b481b284e28f47a25b/npm/npm-registry/merge-descriptors/-/merge-descriptors-1.0.1.tgz",
"integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==",
"license": "MIT"
},
"node_modules/express/node_modules/ms": {
"version": "2.0.0",
"resolved": "https://packages.aliyun.com/646341b481b284e28f47a25b/npm/npm-registry/ms/-/ms-2.0.0.tgz",
"integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
"license": "MIT"
},
"node_modules/express/node_modules/qs": {
"version": "6.11.0",
"resolved": "https://packages.aliyun.com/646341b481b284e28f47a25b/npm/npm-registry/qs/-/qs-6.11.0.tgz",
"integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==",
"license": "BSD-3-Clause",
"dependencies": {
"side-channel": "^1.0.4"
},
"engines": {
"node": ">=0.6"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/express/node_modules/safe-buffer": {
"version": "5.2.1",
"resolved": "https://packages.aliyun.com/646341b481b284e28f47a25b/npm/npm-registry/safe-buffer/-/safe-buffer-5.2.1.tgz",
......@@ -5668,13 +5632,13 @@
}
},
"node_modules/finalhandler": {
"version": "1.2.0",
"resolved": "https://packages.aliyun.com/646341b481b284e28f47a25b/npm/npm-registry/finalhandler/-/finalhandler-1.2.0.tgz",
"integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==",
"version": "1.3.1",
"resolved": "https://packages.aliyun.com/646341b481b284e28f47a25b/npm/npm-registry/finalhandler/-/finalhandler-1.3.1.tgz",
"integrity": "sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==",
"license": "MIT",
"dependencies": {
"debug": "2.6.9",
"encodeurl": "~1.0.2",
"encodeurl": "~2.0.0",
"escape-html": "~1.0.3",
"on-finished": "2.4.1",
"parseurl": "~1.3.3",
......@@ -9596,9 +9560,9 @@
}
},
"node_modules/mongodb": {
"version": "6.8.1",
"resolved": "https://packages.aliyun.com/646341b481b284e28f47a25b/npm/npm-registry/mongodb/-/mongodb-6.8.1.tgz",
"integrity": "sha512-qsS+gl5EJb+VzJqUjXSZ5Y5rbuM/GZlZUEJ2OIVYP10L9rO9DQ0DGp+ceTzsmoADh6QYMWd9MSdG9IxRyYUkEA==",
"version": "6.9.0",
"resolved": "https://packages.aliyun.com/646341b481b284e28f47a25b/npm/npm-registry/mongodb/-/mongodb-6.9.0.tgz",
"integrity": "sha512-UMopBVx1LmEUbW/QE0Hw18u583PEDVQmUmVzzBRH0o/xtE9DBRA5ZYLOjpLIa03i8FXjzvQECJcqoMvCXftTUA==",
"dev": true,
"license": "Apache-2.0",
"dependencies": {
......@@ -11065,9 +11029,9 @@
"license": "ISC"
},
"node_modules/path-to-regexp": {
"version": "0.1.7",
"resolved": "https://packages.aliyun.com/646341b481b284e28f47a25b/npm/npm-registry/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
"integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==",
"version": "0.1.10",
"resolved": "https://packages.aliyun.com/646341b481b284e28f47a25b/npm/npm-registry/path-to-regexp/-/path-to-regexp-0.1.10.tgz",
"integrity": "sha512-7lf7qcQidTku0Gu3YDPc8DJ1q7OOucfa/BSsIwjuh56VU7katFvuM8hULfkwB3Fns/rsVF7PwPKVw1sl5KQS9w==",
"license": "MIT"
},
"node_modules/path-type": {
......@@ -11424,9 +11388,9 @@
"license": "MIT"
},
"node_modules/pump": {
"version": "3.0.0",
"resolved": "https://packages.aliyun.com/646341b481b284e28f47a25b/npm/npm-registry/pump/-/pump-3.0.0.tgz",
"integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
"version": "3.0.2",
"resolved": "https://packages.aliyun.com/646341b481b284e28f47a25b/npm/npm-registry/pump/-/pump-3.0.2.tgz",
"integrity": "sha512-tUPXtzlGM8FE3P0ZL6DVs/3P58k9nk8/jZeQCurTJylQA8qFYzHFfhBJkuqyE0FifOsQ0uKWekiZ5g8wtr28cw==",
"license": "MIT",
"dependencies": {
"end-of-stream": "^1.1.0",
......@@ -12100,9 +12064,9 @@
}
},
"node_modules/send": {
"version": "0.18.0",
"resolved": "https://packages.aliyun.com/646341b481b284e28f47a25b/npm/npm-registry/send/-/send-0.18.0.tgz",
"integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==",
"version": "0.19.0",
"resolved": "https://packages.aliyun.com/646341b481b284e28f47a25b/npm/npm-registry/send/-/send-0.19.0.tgz",
"integrity": "sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==",
"license": "MIT",
"dependencies": {
"debug": "2.6.9",
......@@ -12138,6 +12102,15 @@
"integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
"license": "MIT"
},
"node_modules/send/node_modules/encodeurl": {
"version": "1.0.2",
"resolved": "https://packages.aliyun.com/646341b481b284e28f47a25b/npm/npm-registry/encodeurl/-/encodeurl-1.0.2.tgz",
"integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==",
"license": "MIT",
"engines": {
"node": ">= 0.8"
}
},
"node_modules/send/node_modules/mime": {
"version": "1.6.0",
"resolved": "https://packages.aliyun.com/646341b481b284e28f47a25b/npm/npm-registry/mime/-/mime-1.6.0.tgz",
......@@ -12254,15 +12227,15 @@
}
},
"node_modules/serve-static": {
"version": "1.15.0",
"resolved": "https://packages.aliyun.com/646341b481b284e28f47a25b/npm/npm-registry/serve-static/-/serve-static-1.15.0.tgz",
"integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==",
"version": "1.16.2",
"resolved": "https://packages.aliyun.com/646341b481b284e28f47a25b/npm/npm-registry/serve-static/-/serve-static-1.16.2.tgz",
"integrity": "sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==",
"license": "MIT",
"dependencies": {
"encodeurl": "~1.0.2",
"encodeurl": "~2.0.0",
"escape-html": "~1.0.3",
"parseurl": "~1.3.3",
"send": "0.18.0"
"send": "0.19.0"
},
"engines": {
"node": ">= 0.8.0"
......@@ -12954,9 +12927,9 @@
"license": "MIT"
},
"node_modules/string-width/node_modules/ansi-regex": {
"version": "6.0.1",
"resolved": "https://packages.aliyun.com/646341b481b284e28f47a25b/npm/npm-registry/ansi-regex/-/ansi-regex-6.0.1.tgz",
"integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==",
"version": "6.1.0",
"resolved": "https://packages.aliyun.com/646341b481b284e28f47a25b/npm/npm-registry/ansi-regex/-/ansi-regex-6.1.0.tgz",
"integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==",
"license": "MIT",
"engines": {
"node": ">=12"
......@@ -13743,9 +13716,9 @@
}
},
"node_modules/ts-node/node_modules/acorn-walk": {
"version": "8.3.3",
"resolved": "https://packages.aliyun.com/646341b481b284e28f47a25b/npm/npm-registry/acorn-walk/-/acorn-walk-8.3.3.tgz",
"integrity": "sha512-MxXdReSRhGO7VlFe1bRG/oI7/mdLV9B9JJT0N8vZOhF7gFRR5l3M8W9G8JxmKV+JC5mGqJ0QvqfSOLsCPa4nUw==",
"version": "8.3.4",
"resolved": "https://packages.aliyun.com/646341b481b284e28f47a25b/npm/npm-registry/acorn-walk/-/acorn-walk-8.3.4.tgz",
"integrity": "sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==",
"dev": true,
"license": "MIT",
"dependencies": {
......@@ -14390,9 +14363,9 @@
}
},
"node_modules/vm2/node_modules/acorn-walk": {
"version": "8.3.3",
"resolved": "https://packages.aliyun.com/646341b481b284e28f47a25b/npm/npm-registry/acorn-walk/-/acorn-walk-8.3.3.tgz",
"integrity": "sha512-MxXdReSRhGO7VlFe1bRG/oI7/mdLV9B9JJT0N8vZOhF7gFRR5l3M8W9G8JxmKV+JC5mGqJ0QvqfSOLsCPa4nUw==",
"version": "8.3.4",
"resolved": "https://packages.aliyun.com/646341b481b284e28f47a25b/npm/npm-registry/acorn-walk/-/acorn-walk-8.3.4.tgz",
"integrity": "sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==",
"license": "MIT",
"optional": true,
"peer": true,
......@@ -14676,9 +14649,9 @@
}
},
"node_modules/wrap-ansi/node_modules/ansi-regex": {
"version": "6.0.1",
"resolved": "https://packages.aliyun.com/646341b481b284e28f47a25b/npm/npm-registry/ansi-regex/-/ansi-regex-6.0.1.tgz",
"integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==",
"version": "6.1.0",
"resolved": "https://packages.aliyun.com/646341b481b284e28f47a25b/npm/npm-registry/ansi-regex/-/ansi-regex-6.1.0.tgz",
"integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==",
"license": "MIT",
"engines": {
"node": ">=12"
......
/**
* 设备类型
*/
export const DEVICE = {
IOS: 3,
ANDROID: 4,
MAC: 5,
WINDOWS_64: 6,
WINDOWS_32: 7,
ANDROID_BACKUP: 8,
ANDROID_BOX_PRO: 9,
ANDROID_HUAWEI: 10,
}
export const DEVICE_ARR = [DEVICE.IOS, DEVICE.ANDROID, DEVICE.MAC, DEVICE.WINDOWS_32, DEVICE.WINDOWS_64,
DEVICE.ANDROID_BACKUP, DEVICE.ANDROID_BOX_PRO, DEVICE.ANDROID_HUAWEI,]
export const STATUS = {
/**
* 更新状态: 不更新。
*/
UPDATE_NO: 0,
/**
* 更新状态: 可选择更新。
*/
STATUS_UPDATE_CHOOSE: 1,
/**
* 更新状态: 强制更新。
*/
STATUS_UPDATE_FORCE: 2,
}
export const STATUS_ARR = [STATUS.UPDATE_NO, STATUS.STATUS_UPDATE_CHOOSE, STATUS.STATUS_UPDATE_FORCE]
export const PLATFORM = {
/**
* 发布平台: 官网。
*/
WEB: 1,
/**
* 发布平台: APP STORE。
*/
STORE: 2,
/**
* 发布平台: testFlight
*/
TEST_FLIGHT: 3,
/**
* 发布平台: 华为商店
*/
HUAWEI_STORE: 4,
}
export const PLATFORM_ARR = [PLATFORM.WEB, PLATFORM.STORE, PLATFORM.TEST_FLIGHT, PLATFORM.HUAWEI_STORE]
\ No newline at end of file
......@@ -11,3 +11,8 @@ export const RedisVal = {
loginErrTimesKey: (userId: any) => `${userId}${RedisValInner.LOGIN_ERROR_TIMES_SUFFIX}`,
sessionListKey: (userId: any) => `${userId}${RedisValInner.SESSION_ID_LIST_SUFFIX}`,
}
/**
* App审核管理
*/
export const APP_VERSION_KEY = "app:apply:version:"; // 防止之后会有android
\ No newline at end of file
......@@ -143,7 +143,6 @@ async function updatePreCheck(aclUserInfoVO: AclUserInfoVO) {
ApiAssert.notNull(ErrorCode.PARAM_MISS, aclUserInfoVO.position_id);
ApiAssert.notNull(ErrorCode.PARAM_MISS, aclUserInfoVO.role_ids);
ApiAssert.notNull(ErrorCode.PARAM_MISS, aclUserInfoVO.totp_encrypt);
ApiAssert.notNull(ErrorCode.PARAM_MISS, aclUserInfoVO.pwd);
if (aclUserInfoVO.pwd && (aclUserInfoVO.pwd.length < 8 || aclUserInfoVO.pwd.length > 30)) {
throw ErrorCode.PWD_ILLEGAL;
}
......
import { AppVersionPageVO } from "../service/appVersion.service";
let { logger, Res3Utils, optionalUtils: Optional, apiAssertUtils: ApiAssert, datetimeUtils } = require('@madex/ex-js-public');
import { ErrorCode } from "../../../constant/errorCode";
import { getCurrentUserId } from "../../../utils/aclUserUtils";
import { APP_VERSION_KEY } from "../../../constant/redis-val";
import { addOptLog } from "../service/userOptLog.service";
let { authCommon: AuthCommon, redisUtilsCommon: RedisClient, } = require('@madex/ex-js-common');
let isIp = require('is-ip');
/**
* app审核管理列表
* @param req
* @param infoVO
*/
export const list = async (req: any, pageVO: AppVersionPageVO) => {
let func_name = "appApplyVersion.control.list";
try {
let key = APP_VERSION_KEY + 'ios';
let data = await RedisClient.getSync(key);
let res = {
ios: data
}
return Res3Utils.result(res);
}
catch (e) {
logger.error(`${func_name} error:${e}`);
return Res3Utils.getErrorResult(e);
}
};
/**
* 修改
* @param req
* @param authConfigVO
*/
export const modify = async (req: any, pageVO: AppVersionPageVO) => {
let func_name = "appApplyVersion.control.update";
try {
let ip = isIp(req.ip) ? req.ip : '*.*.*.*';
let currentUserId = await getCurrentUserId(req.cookies.session_id);
if (!pageVO.type || !pageVO.version) {
throw ErrorCode.PARAM_MISS
}
if (!['ios', 'android'].includes(String(pageVO.type))) {
throw ErrorCode.PARAM_MISS;
}
let key = APP_VERSION_KEY + pageVO.type;
await RedisClient.writeSync(key, pageVO.version);
//管理后台操作日志
addOptLog(currentUserId, 0, 'App审核管理修改', ip, `key:${key},value:${pageVO.version}`, 'App审核管理');
return Res3Utils.result('ok');
}
catch (e) {
logger.error(`${func_name} error:${e}`);
return Res3Utils.getErrorResult(e);
}
};
import * as appVersionService from "../service/appVersion.service";
import { AppVersionVO, AppVersionPageVO } from "../service/appVersion.service";
let { logger, Res3Utils, optionalUtils: Optional, apiAssertUtils: ApiAssert, datetimeUtils } = require('@madex/ex-js-public');
import { ErrorCode } from "../../../constant/errorCode";
import { getCurrentUserId } from "../../../utils/aclUserUtils";
import { DEVICE_ARR, PLATFORM_ARR, STATUS_ARR } from "../../../constant/appVersionConstant";
let isIp = require('is-ip');
/**
* app版本列表
* @param req
* @param infoVO
*/
export const list = async (req: any, pageVO: AppVersionPageVO) => {
let func_name = "appVersion.control.list";
try {
pageVO.page = Optional.opt(pageVO, 'page', 1);
pageVO.size = Optional.opt(pageVO, 'size', 20);
let res = await appVersionService.list(pageVO);
return Res3Utils.result(res);
}
catch (e) {
logger.error(`${func_name} error:${e}`);
return Res3Utils.getErrorResult(e);
}
};
/**
* 添加新的App版本
* @param req
* @param authConfigVO
*/
export const add = async (req: any, appVersionVO: AppVersionVO) => {
let func_name = "appVersion.control.add";
try {
let ip = isIp(req.ip) ? req.ip : '*.*.*.*';
let currentUserId = await getCurrentUserId(req.cookies.session_id);
await paramValid(appVersionVO);
let res = await appVersionService.add(appVersionVO, currentUserId, ip);
return Res3Utils.result(res);
}
catch (e) {
logger.error(`${func_name} error:${e}`);
return Res3Utils.getErrorResult(e);
}
};
/**
* 修改用户App版本
* @param req
* @param authConfigVO
*/
export const update = async (req: any, appVersionVO: AppVersionVO) => {
let func_name = "appVersion.control.update";
try {
let ip = isIp(req.ip) ? req.ip : '*.*.*.*';
let currentUserId = await getCurrentUserId(req.cookies.session_id);
if (!appVersionVO.id) {
throw ErrorCode.PARAM_MISS
}
await paramValid(appVersionVO);
let res = await appVersionService.update(appVersionVO, currentUserId, ip);
return Res3Utils.result(res);
}
catch (e) {
logger.error(`${func_name} error:${e}`);
return Res3Utils.getErrorResult(e);
}
};
async function paramValid(appVersionVO: AppVersionVO) {
if (!appVersionVO.version || !appVersionVO.version_url || !appVersionVO.download_url) {
throw ErrorCode.PARAM_MISS
}
if (!DEVICE_ARR.includes(Number(appVersionVO.device_type)) || !STATUS_ARR.includes(Number(appVersionVO.status))
|| !PLATFORM_ARR.includes(Number(appVersionVO.platform))) {
throw ErrorCode.PARAM_MISS
}
if (!appVersionVO.grayscale_value || appVersionVO.grayscale_value < 0) {
appVersionVO.grayscale_value = 0
}
else {
if (appVersionVO.grayscale_value > 100) {
appVersionVO.grayscale_value = 10
}
}
}
......@@ -121,6 +121,23 @@ export const submit = async (req: any, commonUserFeeVO: CommonUserFeeVO) => {
}
};
/**
* 用户等级费率列表
* @param req
* @param infoVO
*/
export const vipLevelList = async (req: any, pageVO: CommonUserFeePageVO) => {
let func_name = "commonUserFeeSetting.control.vipLevelList";
try {
let res = await commonUserFeeSettingService.vipLevelList();
return Res3Utils.result(res);
}
catch (e) {
logger.error(`${func_name} error:${e}`);
return Res3Utils.getErrorResult(e);
}
};
async function addParamValid(commonUserFeeVO: CommonUserFeeVO) {
let userId = commonUserFeeVO.user_id;
......
......@@ -54,3 +54,16 @@ export const pushToCoreSystem = async (req: any, id: any) => {
return Res3Utils.getErrorResult(e);
}
};
export const getAllSubmitSuccess = async (req: any, param: ListParam) => {
let func_name = "spotPairCtl.getAllSubmitSuccess";
let cmd = req.path;
try {
let res = await service.getAllSubmitSuccess();
return Res3Utils.result(res);
}
catch (e) {
logger.error(`${func_name} error:${e}`);
return Res3Utils.getErrorResult(e);
}
};
......@@ -215,7 +215,7 @@ export const update = async (aclUserInfoVO: AclUserInfoVO, session_id: any) => {
if (aclUserInfoVO.allow_ips != dbInfo.allow_ips) {
updateInfo['allow_ips'] = aclUserInfoVO.allow_ips
}
if (aclUserInfoVO.pwd != dbInfo.pwd) {
if ( aclUserInfoVO.pwd && aclUserInfoVO.pwd != dbInfo.pwd) {
let encrypted = await AuthCommon.getPasswordEncrypt(aclUserInfoVO.pwd, dbInfo.pwd_salt);
updateInfo['pwd'] = encrypted;
updateInfo['pwd_status'] = 1;
......
import { ormDB, appVersion, } from "@madex/ex-ts-dao";
import { ErrorCode } from "../../../constant/errorCode";
import { addOptLog } from "./userOptLog.service";
let _ = require('lodash');
let { logger } = require('@madex/ex-js-public');
export interface AppVersionVO {
id?: number;
version?: string | any;
status?: number;
device_type?: number;
version_url?: string;
download_url?: string;
comment?: string;
comment_en?: string;
platform?: number,
grayscale_value?: number,
createdAt?: Date | any,
updatedAt?: Date | any,
}
export interface AppVersionPageVO extends AppVersionVO {
page?: number,
size?: number,
type?: string,
}
export async function list(pageVO: AppVersionPageVO) {
let where = {};
if (pageVO.version) {
where['version'] = pageVO.version
}
if (pageVO.status || pageVO.status === 0) {
where['status'] = pageVO.status
}
if (pageVO.device_type) {
where['device_type'] = pageVO.device_type
}
let resList = await appVersion.prototype.findAndCount({
where: where,
limit: pageVO.size,
offset: (Number(pageVO.page) - 1) * Number(pageVO.size),
order: [["createdAt", "desc"]],
raw: true
});
return resList;
}
export async function add(appVersionVO: AppVersionVO, currentUserId: any, ip: string | undefined) {
let dbInfo = await appVersion.prototype.findOne({
where: {
device_type: appVersionVO.device_type,
version: appVersionVO.version,
platform: appVersionVO.platform,
},
raw: true
});
if (dbInfo) {
throw ErrorCode.DATA_EXIST;
}
appVersionVO.createdAt = new Date();
appVersionVO.updatedAt = new Date();
await appVersion.prototype.create(appVersionVO);
//管理后台操作日志
addOptLog(currentUserId, 0, '新增App版本', ip, JSON.stringify(appVersionVO), 'App版本管理');
}
export async function update(appVersionVO: AppVersionVO, currentUserId: any, ip: string | undefined) {
let exist = await appVersion.prototype.findOne({
where: {
id: appVersionVO.id
},
raw: true
});
if (!exist) {
throw ErrorCode.DATA_NOT_EXIST
}
let dbInfo = await appVersion.prototype.findOne({
where: {
device_type: appVersionVO.device_type,
version: appVersionVO.version,
platform: appVersionVO.platform,
},
raw: true
});
if (dbInfo && dbInfo.id != appVersionVO.id) {
throw ErrorCode.DATA_EXIST;
}
appVersionVO.updatedAt = new Date();
await appVersion.prototype.update(appVersionVO, {
where: {
id: Number(appVersionVO.id)
}
})
//管理后台操作日志
addOptLog(currentUserId, 0, '修改App版本', ip, JSON.stringify(appVersionVO), 'App版本管理');
}
import { ormDB, usefulLink, commonUserFeeSetting, feeRateContractLog, feeRateBaseCoinContractLog, feeRateSpotLog } from "@madex/ex-ts-dao";
import { ormDB, usefulLink, commonUserFeeSetting, feeRateContractLog, feeRateBaseCoinContractLog, feeRateSpotLog, vipLevelFeeSetting } from "@madex/ex-ts-dao";
import { ErrorCode } from "../../../constant/errorCode";
import { addOptLog } from "./userOptLog.service";
import { COMMENT_USER_FEE_SUBMIT, FEE_STATUS, FEE_TYPE } from "../../../constant/marketMakerConst";
......@@ -401,6 +401,14 @@ export async function submit(id: number, currentUserId: any, ip: string | undefi
}
export async function vipLevelList() {
let resList = await vipLevelFeeSetting.prototype.findAll({
order: [['id', 'desc']],
raw: true
});
return resList;
}
function dealData(commonUserFeeVO: CommonUserFeeVO) {
......
......@@ -89,3 +89,15 @@ export const pushToCoreSystem = async (id: any) => {
return 'ok';
};
export async function getAllSubmitSuccess() {
let resList = await spotPairs.prototype.findAll({
where: {
status: 2
},
order: [["id", "desc"]],
raw: true
});
return resList;
}
......@@ -29,6 +29,9 @@ import * as mUserAssetsCtrl from "../../mvc/control/mUserAssets.control";
import * as departmentCtrl from "../../mvc/control/aclDepartment.control";
import * as positionCtrl from "../../mvc/control/aclPosition.control";
import * as orderPendingAndHistoryCtrl from "../../mvc/control/mUserOrderPendingAndHistory.control";
import * as appVersionCtrl from "../../mvc/control/appVersion.control";
import * as appApplyVersionCtrl from "../../mvc/control/appApplyVersion.control";
const getFunc = {
'user/info': userController.getUserInfo,
};
......@@ -45,6 +48,7 @@ const postFunc = {
'spotPair/add': spotPairCtrl.save,
'spotPair/list': spotPairCtrl.list,
'spotPair/spotPairCtl': spotPairCtrl.pushToCoreSystem,
'spotPair/getAllSubmitSuccess': spotPairCtrl.getAllSubmitSuccess,
'coinType/add': coinTypeCtrl.save,
'coinType/list': coinTypeCtrl.list,
......@@ -55,14 +59,14 @@ const postFunc = {
'user/getInfoByUserId': userOptCtrl.getInfoByUserId,
'user/getInfoDetailByUserId': userOptCtrl.getInfoDetailByUserId,
//权限管理 - 组织结构
'department/pageList':departmentCtrl.pageList,
'department/allList':departmentCtrl.allList,
'department/getDepartmentTree':departmentCtrl.getDepartmentTree,
'department/add':departmentCtrl.add,
'department/update':departmentCtrl.update,
'department/del':departmentCtrl.del,
'department/userList/dpIdsOrAccount':departmentCtrl.getUserList,
'position/allList':positionCtrl.allList,
'department/pageList': departmentCtrl.pageList,
'department/allList': departmentCtrl.allList,
'department/getDepartmentTree': departmentCtrl.getDepartmentTree,
'department/add': departmentCtrl.add,
'department/update': departmentCtrl.update,
'department/del': departmentCtrl.del,
'department/userList/dpIdsOrAccount': departmentCtrl.getUserList,
'position/allList': positionCtrl.allList,
//权限管理 - 后台角色管理
'acl/role/list': aclRoleAuthCtrl.roleList,
......@@ -146,6 +150,15 @@ const postFunc = {
'mUser/fee/setting/update': commonUserFeeSettingCtrl.update,//修改普通用户手续费
'mUser/fee/setting/delete': commonUserFeeSettingCtrl.del,//删除普通用户手续费
'mUser/fee/setting/submit': commonUserFeeSettingCtrl.submit,//提交普通用户手续费
'mUser/fee/vip/level/list': commonUserFeeSettingCtrl.vipLevelList,//用户等级费率列表
//技术部-App版本管理
'tech/app/version/list': appVersionCtrl.list,
'tech/app/version/add': appVersionCtrl.add,
'tech/app/version/update': appVersionCtrl.update,
//技术部-App审核管理
'tech/app/apply/version/list': appApplyVersionCtrl.list,
'tech/app/apply/version/modify': appApplyVersionCtrl.modify,
};
......
......@@ -19,6 +19,7 @@ let cmdWhiteList = {
'spotPair/add': 1,
'spotPair/list': 1,
'spotPair/spotPairCtl': 1,
'spotPair/getAllSubmitSuccess': 1,
'coinType/add': 1,
'coinType/list': 1,
......@@ -112,6 +113,14 @@ let cmdWhiteList = {
'mUser/fee/setting/update': 1,
'mUser/fee/setting/delete': 1,
'mUser/fee/setting/submit': 1,
'mUser/fee/vip/level/list': 1,
//技术部-App版本管理
'tech/app/version/list': 1,
'tech/app/version/add': 1,
'tech/app/version/update': 1,
//技术部-App审核管理
'tech/app/apply/version/list': 1,
'tech/app/apply/version/modify': 1,
};
......
......@@ -14,6 +14,8 @@ const ExcludeApi = {
"user/login": 1,
"user/logout": 1,
"user/login/confirm": 1,
"mUser/fee/vip/level/list": 1,
"spotPair/getAllSubmitSuccess": 1,
};
//管理员需要强制绑定,该位置做特殊处理
const AdminExcludeApi = {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment