forked from huge/frontEnd/hugeOA

Mr Ke
2020-05-06 fc68f6006949a91fced69951778a7c88859cbb6c
Merge branch 'master' of http://120.79.193.119:9090/r/huge/frontEnd/hugeOA
4 files added
7 files modified
1032 ■■■■■ changed files
report.20200430.142209.12268.0.001.json 638 ●●●●● patch | view | raw | blame | history
src/components/common/MenuView/index.jsx 4 ●●●● patch | view | raw | blame | history
src/components/page/logManage/Rawler/index.jsx 240 ●●●●● patch | view | raw | blame | history
src/components/page/logManage/Rawler/index.scss 14 ●●●●● patch | view | raw | blame | history
src/components/page/logManage/browseLog/index.jsx 41 ●●●● patch | view | raw | blame | history
src/components/page/logManage/operLog/index.jsx 34 ●●●● patch | view | raw | blame | history
src/index.js 3 ●●●●● patch | view | raw | blame | history
src/menu/menu.data.js 8 ●●●●● patch | view | raw | blame | history
src/pages/logManage/Rawler.jsx 34 ●●●●● patch | view | raw | blame | history
src/pages/login/login.jsx 6 ●●●● patch | view | raw | blame | history
src/pages/login/login.scss 10 ●●●● patch | view | raw | blame | history
report.20200430.142209.12268.0.001.json
New file
@@ -0,0 +1,638 @@
{
  "header": {
    "reportVersion": 1,
    "event": "Allocation failed - JavaScript heap out of memory",
    "trigger": "FatalError",
    "filename": "report.20200430.142209.12268.0.001.json",
    "dumpEventTime": "2020-04-30T14:22:09Z",
    "dumpEventTimeStamp": "1588227729407",
    "processId": 12268,
    "cwd": "C:\\Users\\31208\\Desktop\\OA系统\\hugeOA",
    "commandLine": [
      "node",
      "C:\\Users\\31208\\Desktop\\OA系统\\hugeOA\\node_modules\\_react-app-rewired@2.1.5@react-app-rewired\\scripts\\start.js"
    ],
    "nodejsVersion": "v12.16.1",
    "wordSize": 64,
    "arch": "x64",
    "platform": "win32",
    "componentVersions": {
      "node": "12.16.1",
      "v8": "7.8.279.23-node.31",
      "uv": "1.34.0",
      "zlib": "1.2.11",
      "brotli": "1.0.7",
      "ares": "1.15.0",
      "modules": "72",
      "nghttp2": "1.40.0",
      "napi": "5",
      "llhttp": "2.0.4",
      "http_parser": "2.9.3",
      "openssl": "1.1.1d",
      "cldr": "35.1",
      "icu": "64.2",
      "tz": "2019c",
      "unicode": "12.1"
    },
    "release": {
      "name": "node",
      "lts": "Erbium",
      "headersUrl": "https://nodejs.org/download/release/v12.16.1/node-v12.16.1-headers.tar.gz",
      "sourceUrl": "https://nodejs.org/download/release/v12.16.1/node-v12.16.1.tar.gz",
      "libUrl": "https://nodejs.org/download/release/v12.16.1/win-x64/node.lib"
    },
    "osName": "Windows_NT",
    "osRelease": "10.0.18362",
    "osVersion": "Windows 10 Home China",
    "osMachine": "x86_64",
    "cpus": [
      {
        "model": "Intel(R) Core(TM) i5-8265U CPU @ 1.60GHz",
        "speed": 1800,
        "user": 9048078,
        "nice": 0,
        "sys": 13516265,
        "idle": 183495984,
        "irq": 5877468
      },
      {
        "model": "Intel(R) Core(TM) i5-8265U CPU @ 1.60GHz",
        "speed": 1800,
        "user": 4246593,
        "nice": 0,
        "sys": 3249671,
        "idle": 198563437,
        "irq": 297359
      },
      {
        "model": "Intel(R) Core(TM) i5-8265U CPU @ 1.60GHz",
        "speed": 1800,
        "user": 15028234,
        "nice": 0,
        "sys": 6677046,
        "idle": 184354421,
        "irq": 125187
      },
      {
        "model": "Intel(R) Core(TM) i5-8265U CPU @ 1.60GHz",
        "speed": 1800,
        "user": 5804343,
        "nice": 0,
        "sys": 2473093,
        "idle": 197782265,
        "irq": 50890
      },
      {
        "model": "Intel(R) Core(TM) i5-8265U CPU @ 1.60GHz",
        "speed": 1800,
        "user": 12651687,
        "nice": 0,
        "sys": 5315218,
        "idle": 188092796,
        "irq": 107531
      },
      {
        "model": "Intel(R) Core(TM) i5-8265U CPU @ 1.60GHz",
        "speed": 1800,
        "user": 5635984,
        "nice": 0,
        "sys": 3603453,
        "idle": 196820265,
        "irq": 54156
      },
      {
        "model": "Intel(R) Core(TM) i5-8265U CPU @ 1.60GHz",
        "speed": 1800,
        "user": 9591375,
        "nice": 0,
        "sys": 5498265,
        "idle": 190970062,
        "irq": 94703
      },
      {
        "model": "Intel(R) Core(TM) i5-8265U CPU @ 1.60GHz",
        "speed": 1800,
        "user": 7499328,
        "nice": 0,
        "sys": 4336812,
        "idle": 194223546,
        "irq": 52875
      }
    ],
    "networkInterfaces": [
      {
        "name": "WLAN",
        "internal": false,
        "mac": "10:63:c8:6c:42:5d",
        "address": "fe80::f097:53c0:9f1e:8049",
        "netmask": "ffff:ffff:ffff:ffff::",
        "family": "IPv6",
        "scopeid": 17
      },
      {
        "name": "WLAN",
        "internal": false,
        "mac": "10:63:c8:6c:42:5d",
        "address": "192.168.0.119",
        "netmask": "255.255.255.0",
        "family": "IPv4"
      },
      {
        "name": "Loopback Pseudo-Interface 1",
        "internal": true,
        "mac": "00:00:00:00:00:00",
        "address": "::1",
        "netmask": "ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff",
        "family": "IPv6",
        "scopeid": 0
      },
      {
        "name": "Loopback Pseudo-Interface 1",
        "internal": true,
        "mac": "00:00:00:00:00:00",
        "address": "127.0.0.1",
        "netmask": "255.0.0.0",
        "family": "IPv4"
      }
    ],
    "host": "LAPTOP-F2POFSFG"
  },
  "javascriptStack": {
    "message": "No stack.",
    "stack": [
      "Unavailable."
    ]
  },
  "nativeStack": [
    {
      "pc": "0x00007ff7117619f9",
      "symbol": "std::basic_ostream<char,std::char_traits<char> >::operator<<+10873"
    },
    {
      "pc": "0x00007ff711765e1c",
      "symbol": "std::basic_ostream<char,std::char_traits<char> >::operator<<+28316"
    },
    {
      "pc": "0x00007ff711764dd8",
      "symbol": "std::basic_ostream<char,std::char_traits<char> >::operator<<+24152"
    },
    {
      "pc": "0x00007ff7118634cb",
      "symbol": "v8::base::CPU::has_sse+38363"
    },
    {
      "pc": "0x00007ff712079f4e",
      "symbol": "v8::Isolate::ReportExternalAllocationLimitReached+94"
    },
    {
      "pc": "0x00007ff712062021",
      "symbol": "v8::SharedArrayBuffer::Externalize+833"
    },
    {
      "pc": "0x00007ff711f2e57c",
      "symbol": "v8::internal::Heap::EphemeronKeyWriteBarrierFromCode+1436"
    },
    {
      "pc": "0x00007ff711f397d0",
      "symbol": "v8::internal::Heap::ProtectUnprotectedMemoryChunks+1312"
    },
    {
      "pc": "0x00007ff711f362f4",
      "symbol": "v8::internal::Heap::PageFlagsAreConsistent+3204"
    },
    {
      "pc": "0x00007ff711f2bb13",
      "symbol": "v8::internal::Heap::CollectGarbage+1283"
    },
    {
      "pc": "0x00007ff711f2a184",
      "symbol": "v8::internal::Heap::AddRetainedMap+2452"
    },
    {
      "pc": "0x00007ff711f51e1f",
      "symbol": "v8::internal::Factory::NewRawTwoByteString+95"
    },
    {
      "pc": "0x00007ff711f49c23",
      "symbol": "v8::internal::Factory::NewConsString+755"
    },
    {
      "pc": "0x00007ff711c74cd5",
      "symbol": "v8::internal::StubCache::value_reference+6053"
    },
    {
      "pc": "0x00007ff7124c4ddd",
      "symbol": "v8::internal::SetupIsolateDelegate::SetupHeap+546637"
    },
    {
      "pc": "0x00007ff7124c603c",
      "symbol": "v8::internal::SetupIsolateDelegate::SetupHeap+551340"
    },
    {
      "pc": "0x00000202f4b33289",
      "symbol": ""
    }
  ],
  "javascriptHeap": {
    "totalMemory": 2165256192,
    "totalCommittedMemory": 2165256192,
    "usedMemory": 1996833296,
    "availableMemory": 101749672,
    "memoryLimit": 2197815296,
    "heapSpaces": {
      "read_only_space": {
        "memorySize": 262144,
        "committedMemory": 262144,
        "capacity": 32808,
        "used": 32808,
        "available": 0
      },
      "new_space": {
        "memorySize": 33554432,
        "committedMemory": 33554432,
        "capacity": 16759296,
        "used": 2713248,
        "available": 14046048
      },
      "old_space": {
        "memorySize": 2033074176,
        "committedMemory": 2033074176,
        "capacity": 1941080144,
        "used": 1902694920,
        "available": 38385224
      },
      "code_space": {
        "memorySize": 2527232,
        "committedMemory": 2527232,
        "capacity": 2233920,
        "used": 2233920,
        "available": 0
      },
      "map_space": {
        "memorySize": 9703424,
        "committedMemory": 9703424,
        "capacity": 3228080,
        "used": 3228080,
        "available": 0
      },
      "large_object_space": {
        "memorySize": 85512192,
        "committedMemory": 85512192,
        "capacity": 85386032,
        "used": 85386032,
        "available": 0
      },
      "code_large_object_space": {
        "memorySize": 622592,
        "committedMemory": 622592,
        "capacity": 544288,
        "used": 544288,
        "available": 0
      },
      "new_large_object_space": {
        "memorySize": 0,
        "committedMemory": 0,
        "capacity": 16759296,
        "used": 0,
        "available": 16759296
      }
    }
  },
  "resourceUsage": {
    "userCpuSeconds": 206.171,
    "kernelCpuSeconds": 196.609,
    "cpuConsumptionPercent": 294,
    "maxRss": 2815991808,
    "pageFaults": {
      "IORequired": 1457834,
      "IONotRequired": 0
    },
    "fsActivity": {
      "reads": 9772,
      "writes": 79
    }
  },
  "libuv": [
  ],
  "environmentVariables": {
    "ACLOCAL_PATH": "C:\\Program Files\\Git\\mingw64\\share\\aclocal;C:\\Program Files\\Git\\usr\\share\\aclocal",
    "ALLUSERSPROFILE": "C:\\ProgramData",
    "APPDATA": "C:\\Users\\31208\\AppData\\Roaming",
    "APPLICATION_INSIGHTS_NO_DIAGNOSTIC_CHANNEL": "true",
    "BABEL_ENV": "development",
    "COLORTERM": "truecolor",
    "CommonProgramFiles": "C:\\Program Files\\Common Files",
    "CommonProgramFiles(x86)": "C:\\Program Files (x86)\\Common Files",
    "CommonProgramW6432": "C:\\Program Files\\Common Files",
    "COMPUTERNAME": "LAPTOP-F2POFSFG",
    "ComSpec": "C:\\windows\\system32\\cmd.exe",
    "CONFIG_SITE": "C:/Program Files/Git/mingw64/etc/config.site",
    "DISPLAY": "needs-to-be-defined",
    "dp0": "C:\\Users\\31208\\Desktop\\OA系统\\hugeOA\\node_modules\\.bin\\",
    "DriverData": "C:\\Windows\\System32\\Drivers\\DriverData",
    "EXEPATH": "C:\\Program Files\\Git",
    "HOME": "C:\\Users\\31208",
    "HOMEDRIVE": "C:",
    "HOMEPATH": "\\Users\\31208",
    "HOSTNAME": "LAPTOP-F2POFSFG",
    "INFOPATH": "C:\\Program Files\\Git\\usr\\local\\info;C:\\Program Files\\Git\\usr\\share\\info;C:\\Program Files\\Git\\usr\\info;C:\\Program Files\\Git\\share\\info",
    "INIT_CWD": "C:\\Users\\31208\\Desktop\\OA系统\\hugeOA\\src",
    "IOJS_ORG_MIRROR": "https://npm.taobao.org/mirrors/iojs",
    "LANG": "zh_CN.UTF-8",
    "LOCALAPPDATA": "C:\\Users\\31208\\AppData\\Local",
    "LOGONSERVER": "\\\\LAPTOP-F2POFSFG",
    "MANPATH": "C:\\Program Files\\Git\\mingw64\\local\\man;C:\\Program Files\\Git\\mingw64\\share\\man;C:\\Program Files\\Git\\usr\\local\\man;C:\\Program Files\\Git\\usr\\share\\man;C:\\Program Files\\Git\\usr\\man;C:\\Program Files\\Git\\share\\man",
    "MINGW_CHOST": "x86_64-w64-mingw32",
    "MINGW_PACKAGE_PREFIX": "mingw-w64-x86_64",
    "MINGW_PREFIX": "C:/Program Files/Git/mingw64",
    "MSYSTEM": "MINGW64",
    "MSYSTEM_CARCH": "x86_64",
    "MSYSTEM_CHOST": "x86_64-w64-mingw32",
    "MSYSTEM_PREFIX": "C:/Program Files/Git/mingw64",
    "NODE": "C:\\Program Files\\nodejs\\node.exe",
    "NODEJS_ORG_MIRROR": "https://npm.taobao.org/mirrors/node",
    "NODE_ENV": "development",
    "NODE_EXE": "C:\\Program Files\\nodejs\\\\node.exe",
    "NODE_PATH": "",
    "NODIST_IOJS_MIRROR": "https://npm.taobao.org/mirrors/iojs",
    "NODIST_NODE_MIRROR": "https://npm.taobao.org/mirrors/node",
    "NPM_CLI_JS": "C:\\Program Files\\nodejs\\\\node_modules\\npm\\bin\\npm-cli.js",
    "npm_config_access": "",
    "npm_config_allow_same_version": "",
    "npm_config_also": "",
    "npm_config_always_auth": "",
    "npm_config_argv": "{\"remain\":[],\"cooked\":[\"run\",\"start\"],\"original\":[\"run\",\"start\"]}",
    "npm_config_audit": "true",
    "npm_config_audit_level": "low",
    "npm_config_auth_type": "legacy",
    "npm_config_before": "",
    "npm_config_bin_links": "true",
    "npm_config_browser": "",
    "npm_config_ca": "",
    "npm_config_cache": "C:\\Users\\31208\\AppData\\Roaming\\npm-cache",
    "npm_config_cache_lock_retries": "10",
    "npm_config_cache_lock_stale": "60000",
    "npm_config_cache_lock_wait": "10000",
    "npm_config_cache_max": "Infinity",
    "npm_config_cache_min": "10",
    "npm_config_cafile": "",
    "npm_config_cert": "",
    "npm_config_cidr": "",
    "npm_config_color": "true",
    "npm_config_commit_hooks": "true",
    "npm_config_depth": "Infinity",
    "npm_config_description": "true",
    "npm_config_dev": "",
    "npm_config_dry_run": "",
    "npm_config_editor": "notepad.exe",
    "npm_config_engine_strict": "",
    "npm_config_fetch_retries": "2",
    "npm_config_fetch_retry_factor": "10",
    "npm_config_fetch_retry_maxtimeout": "60000",
    "npm_config_fetch_retry_mintimeout": "10000",
    "npm_config_force": "",
    "npm_config_format_package_lock": "true",
    "npm_config_fund": "true",
    "npm_config_git": "git",
    "npm_config_git_tag_version": "true",
    "npm_config_global": "",
    "npm_config_globalconfig": "C:\\Users\\31208\\AppData\\Roaming\\npm\\etc\\npmrc",
    "npm_config_globalignorefile": "C:\\Users\\31208\\AppData\\Roaming\\npm\\etc\\npmignore",
    "npm_config_global_style": "",
    "npm_config_group": "",
    "npm_config_ham_it_up": "",
    "npm_config_heading": "npm",
    "npm_config_https_proxy": "",
    "npm_config_if_present": "",
    "npm_config_ignore_prepublish": "",
    "npm_config_ignore_scripts": "",
    "npm_config_init_author_email": "",
    "npm_config_init_author_name": "",
    "npm_config_init_author_url": "",
    "npm_config_init_license": "ISC",
    "npm_config_init_module": "C:\\Users\\31208\\.npm-init.js",
    "npm_config_init_version": "1.0.0",
    "npm_config_json": "",
    "npm_config_key": "",
    "npm_config_legacy_bundling": "",
    "npm_config_link": "",
    "npm_config_local_address": "",
    "npm_config_loglevel": "notice",
    "npm_config_logs_max": "10",
    "npm_config_long": "",
    "npm_config_maxsockets": "50",
    "npm_config_message": "%s",
    "npm_config_metrics_registry": "https://registry.npmjs.org/",
    "npm_config_node_gyp": "C:\\Program Files\\nodejs\\node_modules\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js",
    "npm_config_node_options": "",
    "npm_config_node_version": "12.16.1",
    "npm_config_noproxy": "",
    "npm_config_offline": "",
    "npm_config_onload_script": "",
    "npm_config_only": "",
    "npm_config_optional": "true",
    "npm_config_otp": "",
    "npm_config_package_lock": "true",
    "npm_config_package_lock_only": "",
    "npm_config_parseable": "",
    "npm_config_prefer_offline": "",
    "npm_config_prefer_online": "",
    "npm_config_prefix": "C:\\Users\\31208\\AppData\\Roaming\\npm",
    "npm_config_preid": "",
    "npm_config_production": "",
    "npm_config_progress": "true",
    "npm_config_proxy": "",
    "npm_config_read_only": "",
    "npm_config_rebuild_bundle": "true",
    "npm_config_registry": "https://registry.npmjs.org/",
    "npm_config_rollback": "true",
    "npm_config_save": "true",
    "npm_config_save_bundle": "",
    "npm_config_save_dev": "",
    "npm_config_save_exact": "",
    "npm_config_save_optional": "",
    "npm_config_save_prefix": "^",
    "npm_config_save_prod": "",
    "npm_config_scope": "",
    "npm_config_scripts_prepend_node_path": "warn-only",
    "npm_config_script_shell": "",
    "npm_config_searchexclude": "",
    "npm_config_searchlimit": "20",
    "npm_config_searchopts": "",
    "npm_config_searchstaleness": "900",
    "npm_config_send_metrics": "",
    "npm_config_shell": "C:\\windows\\system32\\cmd.exe",
    "npm_config_shrinkwrap": "true",
    "npm_config_sign_git_commit": "",
    "npm_config_sign_git_tag": "",
    "npm_config_sso_poll_frequency": "500",
    "npm_config_sso_type": "oauth",
    "npm_config_strict_ssl": "true",
    "npm_config_tag": "latest",
    "npm_config_tag_version_prefix": "v",
    "npm_config_timing": "",
    "npm_config_tmp": "C:\\Users\\31208\\AppData\\Local\\Temp",
    "npm_config_umask": "0000",
    "npm_config_unicode": "",
    "npm_config_unsafe_perm": "true",
    "npm_config_update_notifier": "true",
    "npm_config_usage": "",
    "npm_config_user": "",
    "npm_config_userconfig": "C:\\Users\\31208\\.npmrc",
    "npm_config_user_agent": "npm/6.13.4 node/v12.16.1 win32 x64",
    "npm_config_version": "",
    "npm_config_versions": "",
    "npm_config_viewer": "browser",
    "npm_execpath": "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js",
    "npm_lifecycle_event": "start",
    "npm_lifecycle_script": "react-app-rewired start",
    "npm_node_execpath": "C:\\Program Files\\nodejs\\node.exe",
    "npm_package_browserslist_development_0": "ie 8",
    "npm_package_browserslist_development_1": "last 1 chrome version",
    "npm_package_browserslist_development_2": "last 1 firefox version",
    "npm_package_browserslist_development_3": "last 1 safari version",
    "npm_package_browserslist_production_0": ">0.2%",
    "npm_package_browserslist_production_1": "not dead",
    "npm_package_browserslist_production_2": "not op_mini all",
    "npm_package_dependencies_antd": "^3.26.11",
    "npm_package_dependencies_axios": "^0.19.2",
    "npm_package_dependencies_braft_editor": "^2.3.9",
    "npm_package_dependencies_mocker_api": "^1.9.0",
    "npm_package_dependencies_node_sass": "^4.13.1",
    "npm_package_dependencies_react": "^16.12.0",
    "npm_package_dependencies_react_app_polyfill": "^1.0.6",
    "npm_package_dependencies_react_dom": "^16.12.0",
    "npm_package_dependencies_react_router_dom": "^5.1.2",
    "npm_package_dependencies_react_scripts": "3.4.0",
    "npm_package_dependencies_sass_loader": "^8.0.2",
    "npm_package_dependencies_wangeditor": "^3.1.1",
    "npm_package_dependencies__testing_library_jest_dom": "^4.2.4",
    "npm_package_dependencies__testing_library_react": "^9.3.2",
    "npm_package_dependencies__testing_library_user_event": "^7.1.2",
    "npm_package_description": "This project was bootstrapped with [Create React App](https://github.com/facebook/create-react-app).",
    "npm_package_devDependencies_babel_plugin_import": "^1.13.0",
    "npm_package_devDependencies_customize_cra": "^0.9.1",
    "npm_package_devDependencies_es6_promise": "^4.2.8",
    "npm_package_devDependencies_less": "^3.11.1",
    "npm_package_devDependencies_less_loader": "^5.0.0",
    "npm_package_devDependencies_mockjs": "^1.0.1-beta3",
    "npm_package_devDependencies_moment": "^2.24.0",
    "npm_package_devDependencies_react_app_rewired": "^2.1.5",
    "npm_package_devDependencies__babel_plugin_proposal_class_properties": "^7.8.3",
    "npm_package_eslintConfig_extends": "react-app",
    "npm_package_gitHead": "2ea56ed08b58386f0612635101b1acd51cd4a44c",
    "npm_package_homepage": "http://.",
    "npm_package_name": "my-app",
    "npm_package_private": "true",
    "npm_package_readmeFilename": "README.md",
    "npm_package_scripts_build": "react-app-rewired build",
    "npm_package_scripts_eject": "react-app-rewired eject",
    "npm_package_scripts_mock": "mocker ./mock",
    "npm_package_scripts_page": "node .pjcode/page",
    "npm_package_scripts_start": "react-app-rewired start",
    "npm_package_scripts_test": "react-app-rewired test",
    "npm_package_scripts_view": "node .pjcode/view",
    "npm_package_version": "0.1.0",
    "NPM_PREFIX_NPM_CLI_JS": "C:\\Users\\31208\\AppData\\Roaming\\npm\\node_modules\\npm\\bin\\npm-cli.js",
    "NUMBER_OF_PROCESSORS": "8",
    "NVMW_IOJS_ORG_MIRROR": "https://npm.taobao.org/mirrors/iojs",
    "NVMW_NODEJS_ORG_MIRROR": "https://npm.taobao.org/mirrors/node",
    "NVMW_NPM_MIRROR": "https://npm.taobao.org/mirrors/npm",
    "NVM_IOJS_ORG_MIRROR": "https://npm.taobao.org/mirrors/iojs",
    "NVM_NODEJS_ORG_MIRROR": "https://npm.taobao.org/mirrors/node",
    "OneDrive": "C:\\Users\\31208\\OneDrive",
    "OneDriveConsumer": "C:\\Users\\31208\\OneDrive",
    "ORIGINAL_PATH": "C:\\Program Files\\Git\\mingw64\\bin;C:\\Program Files\\Git\\usr\\bin;C:\\Users\\31208\\bin;C:\\windows\\system32;C:\\windows;C:\\windows\\System32\\Wbem;C:\\windows\\System32\\WindowsPowerShell\\v1.0;C:\\windows\\System32\\OpenSSH;C:\\Program Files (x86)\\NVIDIA Corporation\\PhysX\\Common;C:\\Program Files\\NVIDIA Corporation\\NVIDIA NvDLISR;C:\\Program Files\\Git\\cmd;C:\\Program Files\\nodejs;C:\\Users\\31208\\AppData\\Local\\Microsoft\\WindowsApps;D:\\Microsoft VS Code\\bin;C:\\Users\\31208\\AppData\\Roaming\\npm",
    "ORIGINAL_TEMP": "C:/Users/31208/AppData/Local/Temp",
    "ORIGINAL_TMP": "C:/Users/31208/AppData/Local/Temp",
    "OS": "Windows_NT",
    "Path": "C:\\Program Files\\nodejs\\node_modules\\npm\\node_modules\\npm-lifecycle\\node-gyp-bin;C:\\Users\\31208\\Desktop\\OA系统\\hugeOA\\node_modules\\.bin;C:\\Users\\31208\\bin;C:\\Program Files\\Git\\mingw64\\bin;C:\\Program Files\\Git\\usr\\local\\bin;C:\\Program Files\\Git\\usr\\bin;C:\\Program Files\\Git\\usr\\bin;C:\\Program Files\\Git\\mingw64\\bin;C:\\Program Files\\Git\\usr\\bin;C:\\Users\\31208\\bin;C:\\windows\\system32;C:\\windows;C:\\windows\\System32\\Wbem;C:\\windows\\System32\\WindowsPowerShell\\v1.0;C:\\windows\\System32\\OpenSSH;C:\\Program Files (x86)\\NVIDIA Corporation\\PhysX\\Common;C:\\Program Files\\NVIDIA Corporation\\NVIDIA NvDLISR;C:\\Program Files\\Git\\cmd;C:\\Program Files\\nodejs;C:\\Users\\31208\\AppData\\Local\\Microsoft\\WindowsApps;D:\\Microsoft VS Code\\bin;C:\\Users\\31208\\AppData\\Roaming\\npm;C:\\Program Files\\Git\\usr\\bin\\vendor_perl;C:\\Program Files\\Git\\usr\\bin\\core_perl",
    "PATHEXT": ".COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JSE;.WSF;.WSH;.MSC;.CPL",
    "PKG_CONFIG_PATH": "C:\\Program Files\\Git\\mingw64\\lib\\pkgconfig;C:\\Program Files\\Git\\mingw64\\share\\pkgconfig",
    "PLINK_PROTOCOL": "ssh",
    "PROCESSOR_ARCHITECTURE": "AMD64",
    "PROCESSOR_IDENTIFIER": "Intel64 Family 6 Model 142 Stepping 12, GenuineIntel",
    "PROCESSOR_LEVEL": "6",
    "PROCESSOR_REVISION": "8e0c",
    "ProgramData": "C:\\ProgramData",
    "ProgramFiles": "C:\\Program Files",
    "ProgramFiles(x86)": "C:\\Program Files (x86)",
    "ProgramW6432": "C:\\Program Files",
    "PROMPT": "$P$G",
    "PSModulePath": "C:\\Users\\31208\\Documents\\WindowsPowerShell\\Modules;C:\\Program Files\\WindowsPowerShell\\Modules;C:\\windows\\system32\\WindowsPowerShell\\v1.0\\Modules",
    "PUBLIC": "C:\\Users\\Public",
    "PWD": "C:/Users/31208/Desktop/OA系统/hugeOA",
    "REACT_APP_CODER": "liuwh",
    "REACT_APP_EMAIL": "",
    "SESSIONNAME": "Console",
    "SHELL": "C:\\Program Files\\Git\\usr\\bin\\bash.exe",
    "SHLVL": "2",
    "SSH_ASKPASS": "C:/Program Files/Git/mingw64/libexec/git-core/git-gui--askpass",
    "SystemDrive": "C:",
    "SystemRoot": "C:\\windows",
    "TEMP": "C:\\Users\\31208\\AppData\\Local\\Temp",
    "TERM": "xterm",
    "TERM_PROGRAM": "vscode",
    "TERM_PROGRAM_VERSION": "1.44.2",
    "TMP": "C:\\Users\\31208\\AppData\\Local\\Temp",
    "TMPDIR": "C:\\Users\\31208\\AppData\\Local\\Temp",
    "USERDOMAIN": "LAPTOP-F2POFSFG",
    "USERDOMAIN_ROAMINGPROFILE": "LAPTOP-F2POFSFG",
    "USERNAME": "31208",
    "USERPROFILE": "C:\\Users\\31208",
    "WEBPACK_DEV_SERVER": "true",
    "windir": "C:\\windows",
    "_": "D:/Microsoft VS Code/Code.exe",
    "_prog": "node"
  },
  "sharedObjects": [
    "C:\\Program Files\\nodejs\\node.exe",
    "C:\\windows\\SYSTEM32\\ntdll.dll",
    "C:\\windows\\System32\\KERNEL32.DLL",
    "C:\\windows\\System32\\KERNELBASE.dll",
    "C:\\windows\\System32\\WS2_32.dll",
    "C:\\windows\\System32\\RPCRT4.dll",
    "C:\\windows\\SYSTEM32\\dbghelp.dll",
    "C:\\windows\\System32\\PSAPI.DLL",
    "C:\\windows\\System32\\ADVAPI32.dll",
    "C:\\windows\\System32\\ucrtbase.dll",
    "C:\\windows\\System32\\msvcrt.dll",
    "C:\\windows\\System32\\sechost.dll",
    "C:\\windows\\SYSTEM32\\USERENV.dll",
    "C:\\windows\\SYSTEM32\\IPHLPAPI.DLL",
    "C:\\windows\\System32\\USER32.dll",
    "C:\\windows\\System32\\profapi.dll",
    "C:\\windows\\System32\\win32u.dll",
    "C:\\windows\\System32\\GDI32.dll",
    "C:\\windows\\System32\\gdi32full.dll",
    "C:\\windows\\System32\\msvcp_win.dll",
    "C:\\windows\\System32\\CRYPT32.dll",
    "C:\\windows\\System32\\MSASN1.dll",
    "C:\\windows\\System32\\bcrypt.dll",
    "C:\\windows\\SYSTEM32\\WINMM.dll",
    "C:\\windows\\SYSTEM32\\WINMMBASE.dll",
    "C:\\windows\\System32\\cfgmgr32.dll",
    "C:\\windows\\System32\\bcryptPrimitives.dll",
    "C:\\windows\\System32\\IMM32.DLL",
    "C:\\windows\\System32\\powrprof.dll",
    "C:\\windows\\System32\\UMPDC.dll",
    "C:\\windows\\SYSTEM32\\CRYPTBASE.DLL",
    "C:\\windows\\system32\\uxtheme.dll",
    "C:\\windows\\System32\\combase.dll",
    "C:\\windows\\system32\\mswsock.dll",
    "C:\\windows\\System32\\kernel.appcore.dll",
    "C:\\windows\\System32\\NSI.dll",
    "C:\\windows\\SYSTEM32\\dhcpcsvc6.DLL",
    "C:\\windows\\SYSTEM32\\dhcpcsvc.DLL",
    "C:\\windows\\SYSTEM32\\DNSAPI.dll",
    "C:\\windows\\system32\\napinsp.dll",
    "C:\\windows\\system32\\pnrpnsp.dll",
    "C:\\windows\\System32\\winrnr.dll",
    "C:\\windows\\system32\\NLAapi.dll",
    "C:\\windows\\system32\\wshbth.dll",
    "C:\\Windows\\System32\\rasadhlp.dll",
    "C:\\windows\\System32\\fwpuclnt.dll",
    "\\\\?\\C:\\Users\\31208\\Desktop\\OA系统\\hugeOA\\node_modules\\_node-sass@4.13.1@node-sass\\vendor\\win32-x64-72\\binding.node"
  ]
}
src/components/common/MenuView/index.jsx
@@ -25,9 +25,9 @@
    if (name) {
        const index = name.indexOf(' - ');
        if (index > -1) {
            document.title = `${name.substr(index)}`;
            document.title = `恒巨信息OA-${name.substr(index)}`;
        } else {
            document.title = `${name}`;
            document.title = `恒巨信息OA-${name}`;
        }
    } else {
        document.title = `恒巨信息`;
src/components/page/logManage/Rawler/index.jsx
New file
@@ -0,0 +1,240 @@
/* eslint-disable */
/**liuwh
 * 4/30/2020, 2:39:21 PM
 * doc comment for the file goes here
 */
/** 爬虫词条管理 */
import React, { ReactNode, ReactEventHandler, Component } from 'react';
import { Badge, Button, Divider, Popconfirm, Modal, Row, Col, Input, message } from 'antd';
import TableView from '../../../common/TableView';
import SearchFormView from '../../../common/SearchFormView';
import './index.scss';
import moment from 'moment';
import './index.scss';
import fetch from '../../../../api/request';
export default class Rawler extends Component {
  constructor(props) {
    super(props);
    this.config = {
    };
    this.state = {
      formData: {
        __key: Date.now(),
        page: 1,
        size: 10,
      },
      visible: false,
      btnLoading: false,
      data: {}
    };
  }
  componentDidMount() { }
  onAdd = () => {
    this.setState({
      visible: true
    })
  }
  setFormData = data => {
    console.log('form', data);
    this.setState({
      formData: data,
    });
  }
  renderColumns = () => {
    return [
      { title: '序号', dataIndex: 'index' },
      { title: '关键词', dataIndex: 'keyword' },
      {
        title: '创建时间', dataIndex: 'createTime', render: (cur, item) => {
          return cur ? moment(cur).format("YYYY-MM-DD HH:mm") : ""
        }
      },
      {
        title: '操作',
        key: 'operation',
        render: (text, record) => {
          return (
            <React.Fragment>
              <a onClick={() => this.linkDetail(record)}>修改</a>
              <Divider type="vertical" />
              <Popconfirm title="确定删除吗?" onConfirm={() => this.handleDelete(record.id, 0)}>
                <a>删除</a>
              </Popconfirm>
              <Divider type="vertical" />
              {
                record.status == '1' ?
                  <Popconfirm title="确定停用吗?" onConfirm={() => this.handleDelete(record.id, '99')}>
                    <a>停用</a>
                  </Popconfirm> :
                  <Popconfirm title="确定启用吗?" onConfirm={() => this.handleDelete(record.id, '1')}>
                    <a style={{ color: 'gray' }}>启用</a>
                  </Popconfirm>
              }
            </React.Fragment>
          );
        },
      },
    ];
  }
  //修改
  linkDetail = record => {
    this.setState({
      data: record,
      visible: true
    })
  }
  onCancel = () => {
    this.setState({
      visible: false
    })
  }
  onSave = () => {
    let _this = this;
    const { data } = _this.state;
    _this.setState({
      btnLoading: true
    })
    fetch({
      url: `api/param/saveSpiderParam`,
      method: 'POST',
      data: {
        ...data
      }
    }).then(res => {
      console.log(res)
      _this.setState({
        btnLoading: false,
      });
      message.success("更新成功!");
      _this.setState({
        formData: {
          ..._this.state.formData,
          __key: Date.now(),
        },
        visible: false,
        data: {}
      })
    })
  }
  //停用或者启用关键词
  handleDelete = (id, status) => {
    const that = this;
    if (status == 0) {
      fetch({
        url: `api/param/deleteParam`,
        params: {
          id
        }
      }).then(res => {
        that.setState({
          formData: {
            ...that.state.formData,
            __key: Date.now(),
          },
        })
      })
    } else {
      fetch({
        url: `api/param/deleteOrStartParam`,
        params: {
          id,
          status
        }
      }).then(res => {
        that.setState({
          formData: {
            ...that.state.formData,
            __key: Date.now(),
          },
        })
      })
    }
  }
  inputChange = ({ target: { value, name } }) => {
    this.setState(({ data }) => ({
      data: {
        ...data,
        [name]: value
      }
    }))
  }
  render() {
    const { formData, visible, data, btnLoading } = this.state;
    let tableParams = {
      url: `api/param/queryParam`,
      formData,
      key: formData.__key,
      columns: this.renderColumns(),
      extraFromData: {
        logType: '2',
      },
      setFormData: this.setFormData
    }
    const formItemLayout = {
      labelCol: {
        xs: { span: 24 },
        sm: { span: 6 },
      },
      wrapperCol: {
        xs: { span: 24 },
        sm: { span: 18 },
      },
    };
    return (
      <div className="rawler-main">
        <Button type="primary" danger onClick={this.onAdd} >新增关键词</Button>
        <Divider />
        <TableView {...tableParams} />
        <Modal
          destroyOnClose
          title="新增关键词"
          visible={visible}
          footer={null}
          onCancel={this.onCancel}>
          <Row
            type="flex"
            gutter={20}
            style={{ margin: '20px 0 0 20px', alignItems: 'center ' }}>
            <Col>
              关键词:
            </Col>
            <Col style={{ flex: '1' }}>
              <Input value={data.keyword || ''} name='keyword' onChange={this.inputChange} placeholder="请输入关键词" />
            </Col>
          </Row>
          <Row
            type="flex"
            gutter={20}
            justify="end"
            style={{ marginTop: '20px' }}>
            <Col>
              <Button onClick={this.onCancel}>取消</Button>
            </Col>
            <Col>
              <Button type="primary" htmlType="submit" onClick={this.onSave} loading={btnLoading}>
                确定
                </Button>
            </Col>
          </Row>
        </Modal>
      </div>
    )
  }
}
src/components/page/logManage/Rawler/index.scss
New file
@@ -0,0 +1,14 @@
/* eslint-disable */
/**liuwh
 * 4/30/2020, 2:39:21 PM
 * doc comment for the file goes here
 */
/** Happy Coding */
.rawler {
  &-main {
    background: #fff;
    margin: 20px;
    padding: 20px;
  }
}
src/components/page/logManage/browseLog/index.jsx
@@ -6,7 +6,7 @@
/** 浏览日志 */
import React, { ReactNode, ReactEventHandler, Component } from 'react';
import { Badge } from 'antd';
import { Badge, Tooltip } from 'antd';
import TableView from '../../../common/TableView';
import SearchFormView from '../../../common/SearchFormView';
import './index.scss';
@@ -41,26 +41,51 @@
      { title: '序号', dataIndex: 'index' },
      { title: '浏览者', dataIndex: 'userName' },
      { title: '浏览模块', dataIndex: 'moduleName' },
      { title: '浏览功能', dataIndex: 'functionName' },
      { title: '浏览描述', dataIndex: 'operDesc' },
      {
        title: '浏览功能', dataIndex: 'functionName',
        render: (cur, item) => {
          return <Tooltip title={cur}><span>{this.fontNumber(cur||'')}</span></Tooltip>
        }
      },
      {
        title: '浏览描述', dataIndex: 'operDesc',
        render: (cur, item) => {
          return <Tooltip title={cur}><span>{this.fontNumber(cur||'')}</span></Tooltip>
        }
      },
      {
        title: '浏览日期', dataIndex: 'createTime', render: (cur, item) => {
          return cur ? moment(cur).format("YYYY-MM-DD HH:mm") : ""
          return cur ? moment(cur).format("YYYY-MM-DD HH:mm:ss") : ""
        }
      },
      { title: 'IP地址', dataIndex: 'operIp' },
      { title: '访问终端', dataIndex: 'operTerminal' },
      { title: '访问浏览器', dataIndex: 'operBrowser' },
      { title: '状态', dataIndex: 'operStatus', render: (cur, item)=> {
        return this.operStatus(cur)
      }}
      {
        title: '状态', dataIndex: 'operStatus', render: (cur, item) => {
          return cur == '1' ? <Badge count={'成功'} style={{ backgroundColor: '#52c41a' }} /> : <Badge count={'失败'} />
        }
      }
    ];
  }
  fontNumber(date) {
    const length = date.length
    if (length > 16) {
      var str = ''
      str = date.substring(0, 16) + '......'
      return str
    } else {
      return date
    }
  }
  operStatus = (status) => {
    switch (status) {
      case '1':
        return <Badge count={'成功'} style={{ backgroundColor: '#52c41a' }}/>
        return <Badge count={'成功'} style={{ backgroundColor: '#52c41a' }} />
      case '99':
        return <Badge count={'失败'} />
    }
src/components/page/logManage/operLog/index.jsx
@@ -6,7 +6,7 @@
/** 操作日志 */
import React, { ReactNode, ReactEventHandler, Component } from 'react';
import { Badge } from 'antd';
import { Badge, Tooltip } from 'antd';
import TableView from '../../../common/TableView';
import SearchFormView from '../../../common/SearchFormView';
import './index.scss';
@@ -43,11 +43,22 @@
      { title: '序号', dataIndex: 'index' },
      { title: '操作者', dataIndex: 'userName' },
      { title: '操作模块', dataIndex: 'moduleName' },
      { title: '操作功能', dataIndex: 'functionName' },
      { title: '操作描述', dataIndex: 'operDesc' },
      {
        title: '操作功能',
        dataIndex: 'functionName',
        render: (cur, item) => {
          return <Tooltip title={cur}><span>{this.fontNumber(cur || '')}</span></Tooltip>
        }
      },
      {
        title: '操作描述', dataIndex: 'operDesc',
        render: (cur, item) => {
          return <Tooltip title={cur}><span>{this.fontNumber(cur || '')}</span></Tooltip>
        }
      },
      {
        title: '操作日期', dataIndex: 'createTime', render: (cur, item) => {
          return cur ? moment(cur).format("YYYY-MM-DD HH:mm") : ""
          return cur ? moment(cur).format("YYYY-MM-DD HH:mm:ss") : ""
        }
      },
      { title: 'IP地址', dataIndex: 'operIp' },
@@ -55,16 +66,27 @@
      { title: '访问浏览器', dataIndex: 'operBrowser' },
      {
        title: '状态', dataIndex: 'operStatus', render: (cur, item) => {
          return this.operStatus(cur)
          return cur == '1' ? <Badge count={'成功'} style={{ backgroundColor: '#52c41a' }} /> : <Badge count={'失败'} />
        }
      }
    ];
  }
  fontNumber(date) {
    const length = date.length
    if (length > 16) {
      var str = ''
      str = date.substring(0, 16) + '......'
      return str
    } else {
      return date
    }
  }
  operStatus = (status) => {
    switch (status) {
      case '1':
        return <Badge count={'成功'} style={{ backgroundColor: '#52c41a' }}/>
        return <Badge count={'成功'} style={{ backgroundColor: '#52c41a' }} />
      case '99':
        return <Badge count={'失败'} />
    }
src/index.js
@@ -28,6 +28,7 @@
import DocumentDetail from './pages/document/DocumentDetail';//文档详情
import BrowseLog from './pages/logManage/browseLog';//浏览日志
import OperLog from './pages/logManage/operLog';//操作日志
import Rawler from './pages/logManage/Rawler';//爬虫词条管理
import Information from './pages/personal/information';//个人信息
const { Content } = Layout;
@@ -64,6 +65,8 @@
              <Route path="/logManage/browseLog" component={BrowseLog} />
              {/* 操作日志 */}
              <Route path="/logManage/operLog" component={OperLog} />
              {/* 爬虫词条管理 */}
              <Route path="/logManage/rawler" component={Rawler} />
              {/* 个人信息 */}
              <Route path="/personal/information" component={Information} />
src/menu/menu.data.js
@@ -96,6 +96,14 @@
        parentKey: '/logManage',
        children: [],
      },
      {
        key: '/logManage/rawler',
        name: "爬虫词条管理",
        path: "/logManage/rawler",
        permKey: '/logManage/rawler',
        parentKey: '/logManage',
        children: [],
      },
    ],
  },
  {
src/pages/logManage/Rawler.jsx
New file
@@ -0,0 +1,34 @@
/* eslint-disable */
/**liuwh
 * 4/30/2020, 2:37:29 PM
 * doc comment for the file goes here
 */
/** 爬虫词条管理 */
import React, { ReactNode, ReactEventHandler, Component } from 'react';
import RawlerPage from '../../components/page/logManage/Rawler'
export default class Rawler extends Component {
  constructor(props) {
    super(props);
    this.config = {
    };
    this.state = {
    };
  }
  componentWillMount() { }
  componentDidMount() { }
  componentDidShow() { }
  render() {
    return (
      <div className="rawler-main">
        <RawlerPage />
      </div>
    )
  }
}
src/pages/login/login.jsx
@@ -24,7 +24,7 @@
    };
  }
  componentWillMount() {
    document.title = '用户登录'
    document.title = '恒巨信息OA-用户登录'
  }
  handleSubmit = e => {
@@ -90,7 +90,7 @@
                    rules: [{ required: true, message: '请输入账号!' }],
                  })(
                    <Input
                      style={{ width: '32vh', height: '5vh', margin: '12px' }}
                      style={{ width: '300px', height: '48px', margin: '12px' }}
                      prefix={<Icon type="user" style={{ color: 'rgba(0,0,0,.25)' }} />}
                      placeholder="请输入账号"
                    />,
@@ -102,7 +102,7 @@
                    initialValue: 'admin'
                  })(
                    <Input
                      style={{ width: '32vh', height: '5vh', margin: '12px' }}
                      style={{ width: '300px', height: '48px', margin: '12px' }}
                      prefix={<Icon type="lock" style={{ color: 'rgba(0,0,0,.25)' }} />}
                      type="password"
                      placeholder="请输入密码"
src/pages/login/login.scss
@@ -12,8 +12,8 @@
  float: right;
}
.login-main .login-form-button {
  width: 32vh;
  height: 5vh;
  width: 300px;
  height: 48px;
}
.login-div-top-img {
@@ -58,11 +58,11 @@
}
.login-div-content-div{
  width: 40.8vh;
  width: 382px;
  background: #fff;
  height: 44.8vh;
  height: 420px;
  position: absolute;
  right: 19vh;
  right: 108px;
  border-radius: 8px;
  margin-top: 10vh;
}