Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
A
amos-convertor-view
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
station
amos-convertor-view
Commits
1d6d1687
Commit
1d6d1687
authored
Mar 13, 2020
by
tangwei
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
换流站升级
parent
c1597939
Hide whitespace changes
Inline
Side-by-side
Showing
53 changed files
with
4024 additions
and
206 deletions
+4024
-206
amos.config.js
amos.config.js
+4
-3
report.20200311.173644.21048.0.001.json
report.20200311.173644.21048.0.001.json
+608
-0
report.20200311.181020.24232.0.001.json
report.20200311.181020.24232.0.001.json
+608
-0
report.20200312.114330.4224.0.001.json
report.20200312.114330.4224.0.001.json
+608
-0
index.js
server/index.js
+1
-1
urlConsts.js
src/consts/urlConsts.js
+46
-26
wsUrlConsts.js
src/consts/wsUrlConsts.js
+7
-2
index.js
src/entry/index.js
+48
-5
index.prod.js
src/entry/index.prod.js
+49
-8
index.js
src/model/reducers/index.js
+0
-2
asyncRoutes.js
src/routes/asyncRoutes.js
+6
-13
asyncView.js
src/routes/asyncView.js
+1
-6
calcRoutes.js
src/routes/calcRoutes.js
+4
-2
index.js
src/routes/index.js
+10
-11
view.js
src/routes/view.js
+0
-7
securityService.js
src/services/securityService.js
+33
-5
index.scss
src/styles/view/region/index.scss
+18
-4
FileUtils.js
src/utils/FileUtils.js
+4
-1
payload.js
src/utils/payload.js
+26
-0
request.js
src/utils/request.js
+97
-4
UserSetting.js
src/view/3dview/datapane/setting/UserSetting.js
+23
-12
AutoLogin.js
src/view/autoLogin/AutoLogin.js
+35
-17
EquipmentModel.js
src/view/bizview/equipmentLedger/Equipment/EquipmentModel.js
+4
-1
index.js
src/view/bizview/equipmentLedger/Equipment/index.js
+4
-1
FireEquipmentToolBar.js
...edger/FireResources/FireEquipment/FireEquipmentToolBar.js
+4
-1
PointToolBar.js
...uipmentLedger/FireResources/FireEquipment/PointToolBar.js
+4
-1
fireStation.js
.../equipmentLedger/FireResources/FireStation/fireStation.js
+4
-1
FireTruckDetailInfo.js
...mentLedger/FireResources/FireTruck/FireTruckDetailInfo.js
+4
-1
fireFoam.js
...izview/equipmentLedger/FireResources/fireFoam/fireFoam.js
+4
-1
FireWaterToolBar.js
...w/equipmentLedger/FireResources/water/FireWaterToolBar.js
+4
-1
index.js
src/view/bizview/equipmentLedger/Monitor/index.js
+4
-1
NavList.js
src/view/common/header/NavList.js
+3
-2
ExtraTools.js
src/view/common/mainframe/ExtraTools.js
+113
-0
Header.js
src/view/common/mainframe/Header.js
+88
-0
LevelMenu.js
src/view/common/mainframe/LevelMenu.js
+60
-0
Logo.js
src/view/common/mainframe/Logo.js
+32
-0
MainFrameView.js
src/view/common/mainframe/MainFrameView.js
+175
-0
MenuItem.js
src/view/common/mainframe/MenuItem.js
+190
-0
MenuList.js
src/view/common/mainframe/MenuList.js
+113
-0
SubMenuItem.js
src/view/common/mainframe/SubMenuItem.js
+117
-0
connectMenu.js
src/view/common/mainframe/connectMenu.js
+60
-0
index.js
src/view/common/mainframe/index.js
+12
-0
index.scss
src/view/common/mainframe/style/index.scss
+2
-0
main.scss
src/view/common/mainframe/style/main.scss
+426
-0
vars.scss
src/view/common/mainframe/style/vars.scss
+74
-0
BizFrame.js
src/view/mainframe/BizFrame.js
+4
-4
Root3DView.js
src/view/mainframe/Root3DView.js
+41
-3
RootBizView.js
src/view/mainframe/RootBizView.js
+8
-2
index.js
src/view/mainframe/index.js
+1
-1
index.js
src/view/planMgmt/cusVizLib/index.js
+4
-1
index.js
src/view/region/index.js
+228
-51
index.js
src/view/userInfo/index.js
+0
-3
webpack.config.js
webpack.config.js
+1
-1
No files found.
amos.config.js
View file @
1d6d1687
...
...
@@ -7,10 +7,11 @@
Amos
.
config
=
{
// 普通http
httpURI
:
{
baseURI
:
'http://172.16.10.91:8083/'
,
patrolURI
:
'http://172.16.10.91:8082/'
,
// baseURI: 'http://172.16.3.41:8083/',
baseURI
:
'http://172.16.3.41:10005/'
,
//patrolURI: 'http://172.16.10.91:8082/',
// 安全模块api地址
securityBaseURI
:
'http://172.16.10.
91:8800
/'
,
securityBaseURI
:
'http://172.16.10.
72:10005
/'
,
rulesConfigURI
:
'http://172.16.10.91:8080/'
,
// 监控视图 url
view3dURI
:
'http://172.16.10.91:9000/'
,
...
...
report.20200311.173644.21048.0.001.json
0 → 100644
View file @
1d6d1687
{
"header"
:
{
"reportVersion"
:
1
,
"event"
:
"Allocation failed - JavaScript heap out of memory"
,
"trigger"
:
"FatalError"
,
"filename"
:
"report.20200311.173644.21048.0.001.json"
,
"dumpEventTime"
:
"2020-03-11T17:36:44Z"
,
"dumpEventTimeStamp"
:
"1583919404118"
,
"processId"
:
21048
,
"cwd"
:
"F:
\\
huan20200309
\\
front_x"
,
"commandLine"
:
[
"node"
,
"F:
\\
huan20200309
\\
front_x
\\
node_modules
\\
.bin
\\\\
..
\\
webpack-dev-server
\\
bin
\\
webpack-dev-server.js"
],
"nodejsVersion"
:
"v12.13.1"
,
"wordSize"
:
64
,
"arch"
:
"x64"
,
"platform"
:
"win32"
,
"componentVersions"
:
{
"node"
:
"12.13.1"
,
"v8"
:
"7.7.299.13-node.16"
,
"uv"
:
"1.33.1"
,
"zlib"
:
"1.2.11"
,
"brotli"
:
"1.0.7"
,
"ares"
:
"1.15.0"
,
"modules"
:
"72"
,
"nghttp2"
:
"1.39.2"
,
"napi"
:
"5"
,
"llhttp"
:
"1.1.4"
,
"http_parser"
:
"2.8.0"
,
"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.13.1/node-v12.13.1-headers.tar.gz"
,
"sourceUrl"
:
"https://nodejs.org/download/release/v12.13.1/node-v12.13.1.tar.gz"
,
"libUrl"
:
"https://nodejs.org/download/release/v12.13.1/win-x64/node.lib"
},
"osName"
:
"Windows_NT"
,
"osRelease"
:
"10.0.18362"
,
"osVersion"
:
"Windows 10 Pro"
,
"osMachine"
:
"x86_64"
,
"cpus"
:
[
{
"model"
:
"Intel(R) Core(TM) i7-9700 CPU @ 3.00GHz"
,
"speed"
:
3000
,
"user"
:
19152734
,
"nice"
:
0
,
"sys"
:
41871453
,
"idle"
:
2074451500
,
"irq"
:
21576359
},
{
"model"
:
"Intel(R) Core(TM) i7-9700 CPU @ 3.00GHz"
,
"speed"
:
3000
,
"user"
:
94543234
,
"nice"
:
0
,
"sys"
:
31828000
,
"idle"
:
2009104078
,
"irq"
:
354625
},
{
"model"
:
"Intel(R) Core(TM) i7-9700 CPU @ 3.00GHz"
,
"speed"
:
3000
,
"user"
:
30919656
,
"nice"
:
0
,
"sys"
:
13667734
,
"idle"
:
2090887906
,
"irq"
:
168734
},
{
"model"
:
"Intel(R) Core(TM) i7-9700 CPU @ 3.00GHz"
,
"speed"
:
3000
,
"user"
:
20630031
,
"nice"
:
0
,
"sys"
:
10033234
,
"idle"
:
2104812046
,
"irq"
:
134796
},
{
"model"
:
"Intel(R) Core(TM) i7-9700 CPU @ 3.00GHz"
,
"speed"
:
3000
,
"user"
:
14784671
,
"nice"
:
0
,
"sys"
:
9005328
,
"idle"
:
2111685296
,
"irq"
:
246000
},
{
"model"
:
"Intel(R) Core(TM) i7-9700 CPU @ 3.00GHz"
,
"speed"
:
3000
,
"user"
:
14702328
,
"nice"
:
0
,
"sys"
:
12472703
,
"idle"
:
2108300281
,
"irq"
:
397140
},
{
"model"
:
"Intel(R) Core(TM) i7-9700 CPU @ 3.00GHz"
,
"speed"
:
3000
,
"user"
:
16313281
,
"nice"
:
0
,
"sys"
:
14167531
,
"idle"
:
2104994500
,
"irq"
:
411203
},
{
"model"
:
"Intel(R) Core(TM) i7-9700 CPU @ 3.00GHz"
,
"speed"
:
3000
,
"user"
:
21939234
,
"nice"
:
0
,
"sys"
:
16800062
,
"idle"
:
2096736000
,
"irq"
:
238937
}
],
"networkInterfaces"
:
[
{
"name"
:
"以太网"
,
"internal"
:
false
,
"mac"
:
"e4:54:e8:bc:0d:68"
,
"address"
:
"fe80::5187:c49f:b157:6651"
,
"netmask"
:
"ffff:ffff:ffff:ffff::"
,
"family"
:
"IPv6"
,
"scopeid"
:
9
},
{
"name"
:
"以太网"
,
"internal"
:
false
,
"mac"
:
"e4:54:e8:bc:0d:68"
,
"address"
:
"172.16.3.41"
,
"netmask"
:
"255.255.0.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"
:
"DESKTOP-KKH52JE"
},
"javascriptStack"
:
{
"message"
:
"No stack."
,
"stack"
:
[
"Unavailable."
]
},
"nativeStack"
:
[
{
"pc"
:
"0x00007ff63f2e1729"
,
"symbol"
:
"std::basic_ostream<char,std::char_traits<char> >::operator<<+10873"
},
{
"pc"
:
"0x00007ff63f2e5b4c"
,
"symbol"
:
"std::basic_ostream<char,std::char_traits<char> >::operator<<+28316"
},
{
"pc"
:
"0x00007ff63f2e4b08"
,
"symbol"
:
"std::basic_ostream<char,std::char_traits<char> >::operator<<+24152"
},
{
"pc"
:
"0x00007ff63f3d369b"
,
"symbol"
:
"v8::base::CPU::has_sse+37723"
},
{
"pc"
:
"0x00007ff63fbd82de"
,
"symbol"
:
"v8::Isolate::ReportExternalAllocationLimitReached+94"
},
{
"pc"
:
"0x00007ff63fbc0321"
,
"symbol"
:
"v8::SharedArrayBuffer::Externalize+833"
},
{
"pc"
:
"0x00007ff63fa8dbec"
,
"symbol"
:
"v8::internal::Heap::EphemeronKeyWriteBarrierFromCode+1436"
},
{
"pc"
:
"0x00007ff63fa89c20"
,
"symbol"
:
"v8::internal::Heap::AddRetainedMap+2608"
},
{
"pc"
:
"0x00007ff63faa3c2e"
,
"symbol"
:
"v8::internal::Factory::AllocateRawFixedArray+94"
},
{
"pc"
:
"0x00007ff63faaafc4"
,
"symbol"
:
"v8::internal::Factory::NewFixedArrayWithFiller+52"
},
{
"pc"
:
"0x00007ff63faaaf81"
,
"symbol"
:
"v8::internal::Factory::NewUninitializedFixedArray+65"
},
{
"pc"
:
"0x00007ff63f98c12f"
,
"symbol"
:
"v8::Object::GetIsolate+7663"
},
{
"pc"
:
"0x00007ff63f83f13a"
,
"symbol"
:
"v8::internal::OrderedHashMap::ValueAt+61274"
},
{
"pc"
:
"0x00007ff64000404d"
,
"symbol"
:
"v8::internal::SetupIsolateDelegate::SetupHeap+567949"
},
{
"pc"
:
"0x00000083c2761a38"
,
"symbol"
:
""
}
],
"javascriptHeap"
:
{
"totalMemory"
:
2199273472
,
"totalCommittedMemory"
:
2199273472
,
"usedMemory"
:
2182595896
,
"availableMemory"
:
7798352
,
"memoryLimit"
:
2197815296
,
"heapSpaces"
:
{
"read_only_space"
:
{
"memorySize"
:
262144
,
"committedMemory"
:
262144
,
"capacity"
:
261872
,
"used"
:
32296
,
"available"
:
229576
},
"new_space"
:
{
"memorySize"
:
1048576
,
"committedMemory"
:
1048576
,
"capacity"
:
1047488
,
"used"
:
0
,
"available"
:
1047488
},
"old_space"
:
{
"memorySize"
:
433172480
,
"committedMemory"
:
433172480
,
"capacity"
:
430527704
,
"used"
:
425053904
,
"available"
:
5473800
},
"code_space"
:
{
"memorySize"
:
1736704
,
"committedMemory"
:
1736704
,
"capacity"
:
1452160
,
"used"
:
1452160
,
"available"
:
0
},
"map_space"
:
{
"memorySize"
:
8654848
,
"committedMemory"
:
8654848
,
"capacity"
:
2318800
,
"used"
:
2318800
,
"available"
:
0
},
"large_object_space"
:
{
"memorySize"
:
1753776128
,
"committedMemory"
:
1753776128
,
"capacity"
:
1753188336
,
"used"
:
1753188336
,
"available"
:
0
},
"code_large_object_space"
:
{
"memorySize"
:
622592
,
"committedMemory"
:
622592
,
"capacity"
:
550400
,
"used"
:
550400
,
"available"
:
0
},
"new_large_object_space"
:
{
"memorySize"
:
0
,
"committedMemory"
:
0
,
"capacity"
:
1047488
,
"used"
:
0
,
"available"
:
1047488
}
}
},
"resourceUsage"
:
{
"userCpuSeconds"
:
233.062
,
"kernelCpuSeconds"
:
27.687
,
"cpuConsumptionPercent"
:
3.2251
,
"maxRss"
:
2263011328
,
"pageFaults"
:
{
"IORequired"
:
16712744
,
"IONotRequired"
:
0
},
"fsActivity"
:
{
"reads"
:
10261
,
"writes"
:
335
}
},
"libuv"
:
[
],
"environmentVariables"
:
{
"=C:"
:
"C:
\\
"
,
"=F:"
:
"F:
\\
huan20200309
\\
front_x"
,
"ALLUSERSPROFILE"
:
"C:
\\
ProgramData"
,
"APPDATA"
:
"C:
\\
Users
\\
DELL
\\
AppData
\\
Roaming"
,
"APR_ICONV_PATH"
:
"D:
\\
get
\\
iconv"
,
"CLASSPATH"
:
".C:
\\
Program Files
\\
Java
\\
jdk1.8.0_181/lib;C:
\\
Program Files
\\
Java
\\
jdk1.8.0_181/lib/tools.jar"
,
"COLORTERM"
:
"truecolor"
,
"CommonProgramFiles"
:
"C:
\\
Program Files
\\
Common Files"
,
"CommonProgramFiles(x86)"
:
"C:
\\
Program Files (x86)
\\
Common Files"
,
"CommonProgramW6432"
:
"C:
\\
Program Files
\\
Common Files"
,
"COMPUTERNAME"
:
"DESKTOP-KKH52JE"
,
"ComSpec"
:
"C:
\\
Windows
\\
system32
\\
cmd.exe"
,
"dp0"
:
"F:
\\
huan20200309
\\
front_x
\\
node_modules
\\
.bin
\\
"
,
"DriverData"
:
"C:
\\
Windows
\\
System32
\\
Drivers
\\
DriverData"
,
"FPS_BROWSER_APP_PROFILE_STRING"
:
"Internet Explorer"
,
"FPS_BROWSER_USER_PROFILE_STRING"
:
"Default"
,
"HOME"
:
"C:
\\
Users
\\
DELL"
,
"HOMEDRIVE"
:
"C:"
,
"HOMEPATH"
:
"
\\
Users
\\
DELL"
,
"INIT_CWD"
:
"F:
\\
huan20200309
\\
front_x"
,
"JAVA_HOME"
:
"C:
\\
Program Files
\\
Java
\\
jdk1.8.0_181"
,
"LANG"
:
"zh_CN.UTF-8"
,
"LOCALAPPDATA"
:
"C:
\\
Users
\\
DELL
\\
AppData
\\
Local"
,
"LOGONSERVER"
:
"
\\\\
DESKTOP-KKH52JE"
,
"maven_home"
:
"F:
\\
apache-maven-3.6.3"
,
"MYSQL_HOME"
:
"F:
\\
mysql
\\
mysql-5.7.22-winx64"
,
"NODE"
:
"C:
\\
Program Files
\\
nodejs
\\
node.exe"
,
"NODE_ENV"
:
"development "
,
"NODE_EXE"
:
"C:
\\
Program Files
\\
nodejs
\\\\
node.exe"
,
"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
\"
:[
\"
start
\"
],
\"
original
\"
:[
\"
start
\"
]}"
,
"npm_config_audit"
:
"true"
,
"npm_config_audit_level"
:
"low"
,
"npm_config_auth_type"
:
"legacy"
,
"npm_config_bin_links"
:
"true"
,
"npm_config_browser"
:
""
,
"npm_config_ca"
:
""
,
"npm_config_cache"
:
"C:
\\
Users
\\
DELL
\\
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_git"
:
"git"
,
"npm_config_git_tag_version"
:
"true"
,
"npm_config_global"
:
""
,
"npm_config_globalconfig"
:
"C:
\\
Program Files
\\
nodejs
\\
etc
\\
npmrc"
,
"npm_config_globalignorefile"
:
"C:
\\
Program Files
\\
nodejs
\\
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
\\
DELL
\\
.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"
:
"http://172.16.11.26:9696/"
,
"npm_config_node_gyp"
:
"C:
\\
Users
\\
DELL
\\
AppData
\\
Roaming
\\
nvm
\\
v12.13.1
\\
node_modules
\\
npm
\\
node_modules
\\
node-gyp
\\
bin
\\
node-gyp.js"
,
"npm_config_node_options"
:
""
,
"npm_config_node_version"
:
"12.13.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"
:
""
,
"npm_config_package_lock_only"
:
""
,
"npm_config_parseable"
:
""
,
"npm_config_prefer_offline"
:
""
,
"npm_config_prefer_online"
:
""
,
"npm_config_prefix"
:
"C:
\\
Program Files
\\
nodejs"
,
"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"
:
"http://172.16.11.26:9696/"
,
"npm_config_rollback"
:
"true"
,
"npm_config_sass_binary_site"
:
"http://172.16.11.26:8888/node-sass"
,
"npm_config_save"
:
""
,
"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
\\
DELL
\\
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
\\
DELL
\\
.npmrc"
,
"npm_config_user_agent"
:
"npm/6.4.1 node/v12.13.1 win32 x64"
,
"npm_config_version"
:
""
,
"npm_config_versions"
:
""
,
"npm_config_viewer"
:
"browser"
,
"npm_execpath"
:
"C:
\\
Users
\\
DELL
\\
AppData
\\
Roaming
\\
nvm
\\
v12.13.1
\\
node_modules
\\
npm
\\
bin
\\
npm-cli.js"
,
"npm_lifecycle_event"
:
"start"
,
"npm_lifecycle_script"
:
"set NODE_ENV=development && webpack-dev-server"
,
"npm_node_execpath"
:
"C:
\\
Program Files
\\
nodejs
\\
node.exe"
,
"npm_package_author_name"
:
"ilex.h"
,
"npm_package_dependencies_amos_3d"
:
"^2.1.5"
,
"npm_package_dependencies_amos_antd"
:
"^2.0.22"
,
"npm_package_dependencies_amos_devgrid"
:
"^1.0.10"
,
"npm_package_dependencies_amos_dll"
:
"^2.0.1"
,
"npm_package_dependencies_amos_icon"
:
"^1.0.3"
,
"npm_package_dependencies_amos_pluggable"
:
"^1.0.6"
,
"npm_package_dependencies_amos_processor"
:
"^1.2.17"
,
"npm_package_dependencies_amos_rules_config"
:
"^1.0.4"
,
"npm_package_dependencies_amos_security"
:
"^2.0.19"
,
"npm_package_dependencies_amos_tool"
:
"^1.x"
,
"npm_package_dependencies_amos_viz"
:
"^1.x"
,
"npm_package_dependencies_amos_websocket"
:
"^1.0.3"
,
"npm_package_dependencies_classnames"
:
"^2.2.5"
,
"npm_package_dependencies_dt2react"
:
"^1.x"
,
"npm_package_dependencies_ray_code_split"
:
"^1.0.1"
,
"npm_package_dependencies_ray_eventpool"
:
"^1.0.0"
,
"npm_package_dependencies_ray_mediaquery"
:
"^1.0.0"
,
"npm_package_dependencies_ray_progress"
:
"^1.0.0"
,
"npm_package_dependencies_react"
:
"~16.0.0"
,
"npm_package_dependencies_react_dom"
:
"~16.0.0"
,
"npm_package_description"
:
"发布模式下,默认开启 code split"
,
"npm_package_devDependencies_amos_build"
:
"^3.x"
,
"npm_package_devDependencies_amos_framework"
:
"^1.2.2"
,
"npm_package_devDependencies_amos_iot_3dgraph"
:
"^1.0.0"
,
"npm_package_devDependencies_amos_iot_webstudio"
:
"^1.0.4"
,
"npm_package_devDependencies_eslint_config_ray"
:
"^1.0.26"
,
"npm_package_devDependencies_mockjs"
:
"^1.0.1-beta3"
,
"npm_package_devDependencies_stylelint_config_ray"
:
"^2.0.4"
,
"npm_package_gitHead"
:
"c15979390baeb29b612068134a880f8e8e64f166"
,
"npm_package_lint_staged____js_json_css__0"
:
"prettier --write"
,
"npm_package_lint_staged____js_json_css__1"
:
"git add"
,
"npm_package_name"
:
"amos-convertor-view"
,
"npm_package_private"
:
"true"
,
"npm_package_readmeFilename"
:
"readme.md"
,
"npm_package_scripts_build"
:
"set NODE_ENV=production && npm run clean && webpack"
,
"npm_package_scripts_build_dev"
:
"set NODE_ENV=development && npm run clean && webpack"
,
"npm_package_scripts_clean"
:
"rimraf dist released"
,
"npm_package_scripts_format"
:
"prettier --write
\"
src/**/*.{js,jsx,css,scss,less,sass}
\"
"
,
"npm_package_scripts_lint"
:
"eslint src tests"
,
"npm_package_scripts_lint_fix"
:
"npm run lint -- --fix"
,
"npm_package_scripts_precommit"
:
"lint-staged"
,
"npm_package_scripts_pub"
:
"npm run build && amos-run dllreleased"
,
"npm_package_scripts_pub1"
:
"amos-run dllreleased"
,
"npm_package_scripts_pub2"
:
"amos-run dllreleased-test"
,
"npm_package_scripts_pub_dev"
:
"npm run build:dev && amos-run dllreleased"
,
"npm_package_scripts_server"
:
"nodemon server/index.js --watch server"
,
"npm_package_scripts_start"
:
"set NODE_ENV=development && webpack-dev-server"
,
"npm_package_scripts_start1"
:
"set NODE_ENV=development && nodemon --exec
\"
webpack-dev-server
\"
"
,
"npm_package_scripts_stylelint"
:
"stylelint src"
,
"npm_package_scripts_watch"
:
"webpack -w"
,
"npm_package_scripts_zip"
:
"amos-run released2zip"
,
"npm_package_version"
:
"1.0.0"
,
"NPM_PREFIX_NPM_CLI_JS"
:
"C:
\\
Program Files
\\
nodejs
\\
node_modules
\\
npm
\\
bin
\\
npm-cli.js"
,
"NUMBER_OF_PROCESSORS"
:
"8"
,
"NVM_HOME"
:
"C:
\\
Users
\\
DELL
\\
AppData
\\
Roaming
\\
nvm"
,
"NVM_SYMLINK"
:
"C:
\\
Program Files
\\
nodejs"
,
"OneDrive"
:
"C:
\\
Users
\\
DELL
\\
OneDrive"
,
"OS"
:
"Windows_NT"
,
"Path"
:
"C:
\\
Users
\\
DELL
\\
AppData
\\
Roaming
\\
nvm
\\
v12.13.1
\\
node_modules
\\
npm
\\
node_modules
\\
npm-lifecycle
\\
node-gyp-bin;F:
\\
huan20200309
\\
front_x
\\
node_modules
\\
.bin;C:
\\
Program Files (x86)
\\
Common Files
\\
Oracle
\\
Java
\\
javapath;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
\\
Java
\\
jdk1.8.0_181/bin;C:
\\
Program Files
\\
Java
\\
jdk1.8.0_181/jre/bin;%maven_home%
\\
bin;D:
\\
get
\\
bin;D:
\\
svn
\\
bin;C:
\\
Users
\\
DELL
\\
AppData
\\
Roaming
\\
nvm;C:
\\
Program Files
\\
nodejs;F:
\\
mysql
\\
mysql-5.7.22-winx64
\\
bin;C:
\\
Users
\\
DELL
\\
AppData
\\
Local
\\
Microsoft
\\
WindowsApps;C:
\\
Users
\\
DELL
\\
AppData
\\
Roaming
\\
nvm;C:
\\
Program Files
\\
nodejs"
,
"PATHEXT"
:
".COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JSE;.WSF;.WSH;.MSC;.CPL"
,
"PROCESSOR_ARCHITECTURE"
:
"AMD64"
,
"PROCESSOR_IDENTIFIER"
:
"Intel64 Family 6 Model 158 Stepping 13, GenuineIntel"
,
"PROCESSOR_LEVEL"
:
"6"
,
"PROCESSOR_REVISION"
:
"9e0d"
,
"ProgramData"
:
"C:
\\
ProgramData"
,
"ProgramFiles"
:
"C:
\\
Program Files"
,
"ProgramFiles(x86)"
:
"C:
\\
Program Files (x86)"
,
"ProgramW6432"
:
"C:
\\
Program Files"
,
"PROMPT"
:
"$P$G"
,
"PSModulePath"
:
"C:
\\
Users
\\
DELL
\\
Documents
\\
WindowsPowerShell
\\
Modules;C:
\\
Program Files
\\
WindowsPowerShell
\\
Modules;C:
\\
Windows
\\
system32
\\
WindowsPowerShell
\\
v1.0
\\
Modules"
,
"PUBLIC"
:
"C:
\\
Users
\\
Public"
,
"SESSIONNAME"
:
"Console"
,
"SystemDrive"
:
"C:"
,
"SystemRoot"
:
"C:
\\
Windows"
,
"TEMP"
:
"C:
\\
Users
\\
DELL
\\
AppData
\\
Local
\\
Temp"
,
"TERM_PROGRAM"
:
"vscode"
,
"TERM_PROGRAM_VERSION"
:
"1.40.1"
,
"TMP"
:
"C:
\\
Users
\\
DELL
\\
AppData
\\
Local
\\
Temp"
,
"USERDOMAIN"
:
"DESKTOP-KKH52JE"
,
"USERDOMAIN_ROAMINGPROFILE"
:
"DESKTOP-KKH52JE"
,
"USERNAME"
:
"DELL"
,
"USERPROFILE"
:
"C:
\\
Users
\\
DELL"
,
"windir"
:
"C:
\\
Windows"
,
"_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
\\
ADVAPI32.dll"
,
"C:
\\
Windows
\\
System32
\\
msvcrt.dll"
,
"C:
\\
Windows
\\
System32
\\
sechost.dll"
,
"C:
\\
Windows
\\
System32
\\
USER32.dll"
,
"C:
\\
Windows
\\
System32
\\
win32u.dll"
,
"C:
\\
Windows
\\
System32
\\
GDI32.dll"
,
"C:
\\
Windows
\\
System32
\\
gdi32full.dll"
,
"C:
\\
Windows
\\
SYSTEM32
\\
dbghelp.dll"
,
"C:
\\
Windows
\\
System32
\\
msvcp_win.dll"
,
"C:
\\
Windows
\\
System32
\\
ucrtbase.dll"
,
"C:
\\
Windows
\\
System32
\\
PSAPI.DLL"
,
"C:
\\
Windows
\\
System32
\\
CRYPT32.dll"
,
"C:
\\
Windows
\\
System32
\\
MSASN1.dll"
,
"C:
\\
Windows
\\
System32
\\
bcrypt.dll"
,
"C:
\\
Windows
\\
SYSTEM32
\\
IPHLPAPI.DLL"
,
"C:
\\
Windows
\\
SYSTEM32
\\
WINMM.dll"
,
"C:
\\
Windows
\\
SYSTEM32
\\
USERENV.dll"
,
"C:
\\
Windows
\\
System32
\\
profapi.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:
\\
Program Files (x86)
\\
Sangfor
\\
SSL
\\
VPN
\\
Sessions
\\
0
\\
ClientComponent
\\
SangforNspX64.dll"
,
"C:
\\
Windows
\\
System32
\\
ole32.dll"
,
"C:
\\
Windows
\\
System32
\\
OLEAUT32.dll"
,
"C:
\\
Windows
\\
System32
\\
SHLWAPI.dll"
,
"C:
\\
Program Files (x86)
\\
Sangfor
\\
SSL
\\
ClientComponent2
\\
SangforNspX64.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"
,
"
\\\\
?
\\
F:
\\
huan20200309
\\
front_x
\\
node_modules
\\
node-sass
\\
vendor
\\
win32-x64-72
\\
binding.node"
]
}
\ No newline at end of file
report.20200311.181020.24232.0.001.json
0 → 100644
View file @
1d6d1687
{
"header"
:
{
"reportVersion"
:
1
,
"event"
:
"Allocation failed - JavaScript heap out of memory"
,
"trigger"
:
"FatalError"
,
"filename"
:
"report.20200311.181020.24232.0.001.json"
,
"dumpEventTime"
:
"2020-03-11T18:10:20Z"
,
"dumpEventTimeStamp"
:
"1583921420422"
,
"processId"
:
24232
,
"cwd"
:
"F:
\\
huan20200309
\\
front_x"
,
"commandLine"
:
[
"node"
,
"F:
\\
huan20200309
\\
front_x
\\
node_modules
\\
.bin
\\\\
..
\\
webpack-dev-server
\\
bin
\\
webpack-dev-server.js"
],
"nodejsVersion"
:
"v12.13.1"
,
"wordSize"
:
64
,
"arch"
:
"x64"
,
"platform"
:
"win32"
,
"componentVersions"
:
{
"node"
:
"12.13.1"
,
"v8"
:
"7.7.299.13-node.16"
,
"uv"
:
"1.33.1"
,
"zlib"
:
"1.2.11"
,
"brotli"
:
"1.0.7"
,
"ares"
:
"1.15.0"
,
"modules"
:
"72"
,
"nghttp2"
:
"1.39.2"
,
"napi"
:
"5"
,
"llhttp"
:
"1.1.4"
,
"http_parser"
:
"2.8.0"
,
"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.13.1/node-v12.13.1-headers.tar.gz"
,
"sourceUrl"
:
"https://nodejs.org/download/release/v12.13.1/node-v12.13.1.tar.gz"
,
"libUrl"
:
"https://nodejs.org/download/release/v12.13.1/win-x64/node.lib"
},
"osName"
:
"Windows_NT"
,
"osRelease"
:
"10.0.18362"
,
"osVersion"
:
"Windows 10 Pro"
,
"osMachine"
:
"x86_64"
,
"cpus"
:
[
{
"model"
:
"Intel(R) Core(TM) i7-9700 CPU @ 3.00GHz"
,
"speed"
:
3000
,
"user"
:
19231265
,
"nice"
:
0
,
"sys"
:
41962156
,
"idle"
:
2076298562
,
"irq"
:
21615937
},
{
"model"
:
"Intel(R) Core(TM) i7-9700 CPU @ 3.00GHz"
,
"speed"
:
3000
,
"user"
:
94756187
,
"nice"
:
0
,
"sys"
:
31895843
,
"idle"
:
2010839578
,
"irq"
:
356687
},
{
"model"
:
"Intel(R) Core(TM) i7-9700 CPU @ 3.00GHz"
,
"speed"
:
3000
,
"user"
:
31043000
,
"nice"
:
0
,
"sys"
:
13713062
,
"idle"
:
2092735531
,
"irq"
:
169375
},
{
"model"
:
"Intel(R) Core(TM) i7-9700 CPU @ 3.00GHz"
,
"speed"
:
3000
,
"user"
:
20735265
,
"nice"
:
0
,
"sys"
:
10066046
,
"idle"
:
2106690296
,
"irq"
:
135296
},
{
"model"
:
"Intel(R) Core(TM) i7-9700 CPU @ 3.00GHz"
,
"speed"
:
3000
,
"user"
:
14904078
,
"nice"
:
0
,
"sys"
:
9046953
,
"idle"
:
2113540562
,
"irq"
:
246703
},
{
"model"
:
"Intel(R) Core(TM) i7-9700 CPU @ 3.00GHz"
,
"speed"
:
3000
,
"user"
:
14823375
,
"nice"
:
0
,
"sys"
:
12512015
,
"idle"
:
2110156218
,
"irq"
:
397718
},
{
"model"
:
"Intel(R) Core(TM) i7-9700 CPU @ 3.00GHz"
,
"speed"
:
3000
,
"user"
:
16439437
,
"nice"
:
0
,
"sys"
:
14207312
,
"idle"
:
2106844859
,
"irq"
:
411625
},
{
"model"
:
"Intel(R) Core(TM) i7-9700 CPU @ 3.00GHz"
,
"speed"
:
3000
,
"user"
:
22108109
,
"nice"
:
0
,
"sys"
:
16859953
,
"idle"
:
2098523531
,
"irq"
:
239687
}
],
"networkInterfaces"
:
[
{
"name"
:
"以太网"
,
"internal"
:
false
,
"mac"
:
"e4:54:e8:bc:0d:68"
,
"address"
:
"fe80::5187:c49f:b157:6651"
,
"netmask"
:
"ffff:ffff:ffff:ffff::"
,
"family"
:
"IPv6"
,
"scopeid"
:
9
},
{
"name"
:
"以太网"
,
"internal"
:
false
,
"mac"
:
"e4:54:e8:bc:0d:68"
,
"address"
:
"172.16.3.41"
,
"netmask"
:
"255.255.0.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"
:
"DESKTOP-KKH52JE"
},
"javascriptStack"
:
{
"message"
:
"No stack."
,
"stack"
:
[
"Unavailable."
]
},
"nativeStack"
:
[
{
"pc"
:
"0x00007ff63f2e1729"
,
"symbol"
:
"std::basic_ostream<char,std::char_traits<char> >::operator<<+10873"
},
{
"pc"
:
"0x00007ff63f2e5b4c"
,
"symbol"
:
"std::basic_ostream<char,std::char_traits<char> >::operator<<+28316"
},
{
"pc"
:
"0x00007ff63f2e4b08"
,
"symbol"
:
"std::basic_ostream<char,std::char_traits<char> >::operator<<+24152"
},
{
"pc"
:
"0x00007ff63f3d369b"
,
"symbol"
:
"v8::base::CPU::has_sse+37723"
},
{
"pc"
:
"0x00007ff63fbd82de"
,
"symbol"
:
"v8::Isolate::ReportExternalAllocationLimitReached+94"
},
{
"pc"
:
"0x00007ff63fbc0321"
,
"symbol"
:
"v8::SharedArrayBuffer::Externalize+833"
},
{
"pc"
:
"0x00007ff63fa8dbec"
,
"symbol"
:
"v8::internal::Heap::EphemeronKeyWriteBarrierFromCode+1436"
},
{
"pc"
:
"0x00007ff63fa98f90"
,
"symbol"
:
"v8::internal::Heap::ProtectUnprotectedMemoryChunks+1312"
},
{
"pc"
:
"0x00007ff63fa95ac4"
,
"symbol"
:
"v8::internal::Heap::PageFlagsAreConsistent+3204"
},
{
"pc"
:
"0x00007ff63fa8b353"
,
"symbol"
:
"v8::internal::Heap::CollectGarbage+1283"
},
{
"pc"
:
"0x00007ff63fa89b24"
,
"symbol"
:
"v8::internal::Heap::AddRetainedMap+2356"
},
{
"pc"
:
"0x00007ff63faaadf5"
,
"symbol"
:
"v8::internal::Factory::NewFillerObject+53"
},
{
"pc"
:
"0x00007ff63f816e19"
,
"symbol"
:
"v8::internal::interpreter::JumpTableTargetOffsets::iterator::operator=+4057"
},
{
"pc"
:
"0x00007ff64000404d"
,
"symbol"
:
"v8::internal::SetupIsolateDelegate::SetupHeap+567949"
},
{
"pc"
:
"0x000002e8ae00a4fe"
,
"symbol"
:
""
}
],
"javascriptHeap"
:
{
"totalMemory"
:
2162847744
,
"totalCommittedMemory"
:
2162847744
,
"usedMemory"
:
2146170160
,
"availableMemory"
:
37292088
,
"memoryLimit"
:
2197815296
,
"heapSpaces"
:
{
"read_only_space"
:
{
"memorySize"
:
262144
,
"committedMemory"
:
262144
,
"capacity"
:
261872
,
"used"
:
32296
,
"available"
:
229576
},
"new_space"
:
{
"memorySize"
:
2097152
,
"committedMemory"
:
2097152
,
"capacity"
:
1047488
,
"used"
:
16
,
"available"
:
1047472
},
"old_space"
:
{
"memorySize"
:
442609664
,
"committedMemory"
:
442609664
,
"capacity"
:
435478112
,
"used"
:
435478112
,
"available"
:
0
},
"code_space"
:
{
"memorySize"
:
1736704
,
"committedMemory"
:
1736704
,
"capacity"
:
1490880
,
"used"
:
1490880
,
"available"
:
0
},
"map_space"
:
{
"memorySize"
:
8654848
,
"committedMemory"
:
8654848
,
"capacity"
:
2311840
,
"used"
:
2311840
,
"available"
:
0
},
"large_object_space"
:
{
"memorySize"
:
1706864640
,
"committedMemory"
:
1706864640
,
"capacity"
:
1706306616
,
"used"
:
1706306616
,
"available"
:
0
},
"code_large_object_space"
:
{
"memorySize"
:
622592
,
"committedMemory"
:
622592
,
"capacity"
:
550400
,
"used"
:
550400
,
"available"
:
0
},
"new_large_object_space"
:
{
"memorySize"
:
0
,
"committedMemory"
:
0
,
"capacity"
:
1047488
,
"used"
:
0
,
"available"
:
1047488
}
}
},
"resourceUsage"
:
{
"userCpuSeconds"
:
110
,
"kernelCpuSeconds"
:
15.828
,
"cpuConsumptionPercent"
:
18.8084
,
"maxRss"
:
2642374656
,
"pageFaults"
:
{
"IORequired"
:
6438728
,
"IONotRequired"
:
0
},
"fsActivity"
:
{
"reads"
:
10192
,
"writes"
:
327
}
},
"libuv"
:
[
],
"environmentVariables"
:
{
"=C:"
:
"C:
\\
"
,
"=F:"
:
"F:
\\
huan20200309
\\
front_x"
,
"ALLUSERSPROFILE"
:
"C:
\\
ProgramData"
,
"APPDATA"
:
"C:
\\
Users
\\
DELL
\\
AppData
\\
Roaming"
,
"APR_ICONV_PATH"
:
"D:
\\
get
\\
iconv"
,
"CLASSPATH"
:
".C:
\\
Program Files
\\
Java
\\
jdk1.8.0_181/lib;C:
\\
Program Files
\\
Java
\\
jdk1.8.0_181/lib/tools.jar"
,
"COLORTERM"
:
"truecolor"
,
"CommonProgramFiles"
:
"C:
\\
Program Files
\\
Common Files"
,
"CommonProgramFiles(x86)"
:
"C:
\\
Program Files (x86)
\\
Common Files"
,
"CommonProgramW6432"
:
"C:
\\
Program Files
\\
Common Files"
,
"COMPUTERNAME"
:
"DESKTOP-KKH52JE"
,
"ComSpec"
:
"C:
\\
Windows
\\
system32
\\
cmd.exe"
,
"dp0"
:
"F:
\\
huan20200309
\\
front_x
\\
node_modules
\\
.bin
\\
"
,
"DriverData"
:
"C:
\\
Windows
\\
System32
\\
Drivers
\\
DriverData"
,
"FPS_BROWSER_APP_PROFILE_STRING"
:
"Internet Explorer"
,
"FPS_BROWSER_USER_PROFILE_STRING"
:
"Default"
,
"HOME"
:
"C:
\\
Users
\\
DELL"
,
"HOMEDRIVE"
:
"C:"
,
"HOMEPATH"
:
"
\\
Users
\\
DELL"
,
"INIT_CWD"
:
"F:
\\
huan20200309
\\
front_x"
,
"JAVA_HOME"
:
"C:
\\
Program Files
\\
Java
\\
jdk1.8.0_181"
,
"LANG"
:
"zh_CN.UTF-8"
,
"LOCALAPPDATA"
:
"C:
\\
Users
\\
DELL
\\
AppData
\\
Local"
,
"LOGONSERVER"
:
"
\\\\
DESKTOP-KKH52JE"
,
"maven_home"
:
"F:
\\
apache-maven-3.6.3"
,
"MYSQL_HOME"
:
"F:
\\
mysql
\\
mysql-5.7.22-winx64"
,
"NODE"
:
"C:
\\
Program Files
\\
nodejs
\\
node.exe"
,
"NODE_ENV"
:
"development "
,
"NODE_EXE"
:
"C:
\\
Program Files
\\
nodejs
\\\\
node.exe"
,
"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
\"
:[
\"
start
\"
],
\"
original
\"
:[
\"
start
\"
]}"
,
"npm_config_audit"
:
"true"
,
"npm_config_audit_level"
:
"low"
,
"npm_config_auth_type"
:
"legacy"
,
"npm_config_bin_links"
:
"true"
,
"npm_config_browser"
:
""
,
"npm_config_ca"
:
""
,
"npm_config_cache"
:
"C:
\\
Users
\\
DELL
\\
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_git"
:
"git"
,
"npm_config_git_tag_version"
:
"true"
,
"npm_config_global"
:
""
,
"npm_config_globalconfig"
:
"C:
\\
Program Files
\\
nodejs
\\
etc
\\
npmrc"
,
"npm_config_globalignorefile"
:
"C:
\\
Program Files
\\
nodejs
\\
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
\\
DELL
\\
.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"
:
"http://172.16.11.26:9696/"
,
"npm_config_node_gyp"
:
"C:
\\
Users
\\
DELL
\\
AppData
\\
Roaming
\\
nvm
\\
v12.13.1
\\
node_modules
\\
npm
\\
node_modules
\\
node-gyp
\\
bin
\\
node-gyp.js"
,
"npm_config_node_options"
:
""
,
"npm_config_node_version"
:
"12.13.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"
:
""
,
"npm_config_package_lock_only"
:
""
,
"npm_config_parseable"
:
""
,
"npm_config_prefer_offline"
:
""
,
"npm_config_prefer_online"
:
""
,
"npm_config_prefix"
:
"C:
\\
Program Files
\\
nodejs"
,
"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"
:
"http://172.16.11.26:9696/"
,
"npm_config_rollback"
:
"true"
,
"npm_config_sass_binary_site"
:
"http://172.16.11.26:8888/node-sass"
,
"npm_config_save"
:
""
,
"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
\\
DELL
\\
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
\\
DELL
\\
.npmrc"
,
"npm_config_user_agent"
:
"npm/6.4.1 node/v12.13.1 win32 x64"
,
"npm_config_version"
:
""
,
"npm_config_versions"
:
""
,
"npm_config_viewer"
:
"browser"
,
"npm_execpath"
:
"C:
\\
Users
\\
DELL
\\
AppData
\\
Roaming
\\
nvm
\\
v12.13.1
\\
node_modules
\\
npm
\\
bin
\\
npm-cli.js"
,
"npm_lifecycle_event"
:
"start"
,
"npm_lifecycle_script"
:
"set NODE_ENV=development && webpack-dev-server"
,
"npm_node_execpath"
:
"C:
\\
Program Files
\\
nodejs
\\
node.exe"
,
"npm_package_author_name"
:
"ilex.h"
,
"npm_package_dependencies_amos_3d"
:
"^2.1.5"
,
"npm_package_dependencies_amos_antd"
:
"^2.0.22"
,
"npm_package_dependencies_amos_devgrid"
:
"^1.0.10"
,
"npm_package_dependencies_amos_dll"
:
"^2.0.1"
,
"npm_package_dependencies_amos_icon"
:
"^1.0.3"
,
"npm_package_dependencies_amos_pluggable"
:
"^1.0.6"
,
"npm_package_dependencies_amos_processor"
:
"^1.2.17"
,
"npm_package_dependencies_amos_rules_config"
:
"^1.0.4"
,
"npm_package_dependencies_amos_security"
:
"^2.0.19"
,
"npm_package_dependencies_amos_tool"
:
"^1.x"
,
"npm_package_dependencies_amos_viz"
:
"^1.x"
,
"npm_package_dependencies_amos_websocket"
:
"^1.0.3"
,
"npm_package_dependencies_classnames"
:
"^2.2.5"
,
"npm_package_dependencies_dt2react"
:
"^1.x"
,
"npm_package_dependencies_ray_code_split"
:
"^1.0.1"
,
"npm_package_dependencies_ray_eventpool"
:
"^1.0.0"
,
"npm_package_dependencies_ray_mediaquery"
:
"^1.0.0"
,
"npm_package_dependencies_ray_progress"
:
"^1.0.0"
,
"npm_package_dependencies_react"
:
"~16.0.0"
,
"npm_package_dependencies_react_dom"
:
"~16.0.0"
,
"npm_package_description"
:
"发布模式下,默认开启 code split"
,
"npm_package_devDependencies_amos_build"
:
"^3.x"
,
"npm_package_devDependencies_amos_framework"
:
"^1.2.2"
,
"npm_package_devDependencies_amos_iot_3dgraph"
:
"^1.0.0"
,
"npm_package_devDependencies_amos_iot_webstudio"
:
"^1.0.4"
,
"npm_package_devDependencies_eslint_config_ray"
:
"^1.0.26"
,
"npm_package_devDependencies_mockjs"
:
"^1.0.1-beta3"
,
"npm_package_devDependencies_stylelint_config_ray"
:
"^2.0.4"
,
"npm_package_gitHead"
:
"c15979390baeb29b612068134a880f8e8e64f166"
,
"npm_package_lint_staged____js_json_css__0"
:
"prettier --write"
,
"npm_package_lint_staged____js_json_css__1"
:
"git add"
,
"npm_package_name"
:
"amos-convertor-view"
,
"npm_package_private"
:
"true"
,
"npm_package_readmeFilename"
:
"readme.md"
,
"npm_package_scripts_build"
:
"set NODE_ENV=production && npm run clean && webpack"
,
"npm_package_scripts_build_dev"
:
"set NODE_ENV=development && npm run clean && webpack"
,
"npm_package_scripts_clean"
:
"rimraf dist released"
,
"npm_package_scripts_format"
:
"prettier --write
\"
src/**/*.{js,jsx,css,scss,less,sass}
\"
"
,
"npm_package_scripts_lint"
:
"eslint src tests"
,
"npm_package_scripts_lint_fix"
:
"npm run lint -- --fix"
,
"npm_package_scripts_precommit"
:
"lint-staged"
,
"npm_package_scripts_pub"
:
"npm run build && amos-run dllreleased"
,
"npm_package_scripts_pub1"
:
"amos-run dllreleased"
,
"npm_package_scripts_pub2"
:
"amos-run dllreleased-test"
,
"npm_package_scripts_pub_dev"
:
"npm run build:dev && amos-run dllreleased"
,
"npm_package_scripts_server"
:
"nodemon server/index.js --watch server"
,
"npm_package_scripts_start"
:
"set NODE_ENV=development && webpack-dev-server"
,
"npm_package_scripts_start1"
:
"set NODE_ENV=development && nodemon --exec
\"
webpack-dev-server
\"
"
,
"npm_package_scripts_stylelint"
:
"stylelint src"
,
"npm_package_scripts_watch"
:
"webpack -w"
,
"npm_package_scripts_zip"
:
"amos-run released2zip"
,
"npm_package_version"
:
"1.0.0"
,
"NPM_PREFIX_NPM_CLI_JS"
:
"C:
\\
Program Files
\\
nodejs
\\
node_modules
\\
npm
\\
bin
\\
npm-cli.js"
,
"NUMBER_OF_PROCESSORS"
:
"8"
,
"NVM_HOME"
:
"C:
\\
Users
\\
DELL
\\
AppData
\\
Roaming
\\
nvm"
,
"NVM_SYMLINK"
:
"C:
\\
Program Files
\\
nodejs"
,
"OneDrive"
:
"C:
\\
Users
\\
DELL
\\
OneDrive"
,
"OS"
:
"Windows_NT"
,
"Path"
:
"C:
\\
Users
\\
DELL
\\
AppData
\\
Roaming
\\
nvm
\\
v12.13.1
\\
node_modules
\\
npm
\\
node_modules
\\
npm-lifecycle
\\
node-gyp-bin;F:
\\
huan20200309
\\
front_x
\\
node_modules
\\
.bin;C:
\\
Program Files (x86)
\\
Common Files
\\
Oracle
\\
Java
\\
javapath;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
\\
Java
\\
jdk1.8.0_181/bin;C:
\\
Program Files
\\
Java
\\
jdk1.8.0_181/jre/bin;%maven_home%
\\
bin;D:
\\
get
\\
bin;D:
\\
svn
\\
bin;C:
\\
Users
\\
DELL
\\
AppData
\\
Roaming
\\
nvm;C:
\\
Program Files
\\
nodejs;F:
\\
mysql
\\
mysql-5.7.22-winx64
\\
bin;C:
\\
Users
\\
DELL
\\
AppData
\\
Local
\\
Microsoft
\\
WindowsApps;C:
\\
Users
\\
DELL
\\
AppData
\\
Roaming
\\
nvm;C:
\\
Program Files
\\
nodejs"
,
"PATHEXT"
:
".COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JSE;.WSF;.WSH;.MSC;.CPL"
,
"PROCESSOR_ARCHITECTURE"
:
"AMD64"
,
"PROCESSOR_IDENTIFIER"
:
"Intel64 Family 6 Model 158 Stepping 13, GenuineIntel"
,
"PROCESSOR_LEVEL"
:
"6"
,
"PROCESSOR_REVISION"
:
"9e0d"
,
"ProgramData"
:
"C:
\\
ProgramData"
,
"ProgramFiles"
:
"C:
\\
Program Files"
,
"ProgramFiles(x86)"
:
"C:
\\
Program Files (x86)"
,
"ProgramW6432"
:
"C:
\\
Program Files"
,
"PROMPT"
:
"$P$G"
,
"PSModulePath"
:
"C:
\\
Users
\\
DELL
\\
Documents
\\
WindowsPowerShell
\\
Modules;C:
\\
Program Files
\\
WindowsPowerShell
\\
Modules;C:
\\
Windows
\\
system32
\\
WindowsPowerShell
\\
v1.0
\\
Modules"
,
"PUBLIC"
:
"C:
\\
Users
\\
Public"
,
"SESSIONNAME"
:
"Console"
,
"SystemDrive"
:
"C:"
,
"SystemRoot"
:
"C:
\\
Windows"
,
"TEMP"
:
"C:
\\
Users
\\
DELL
\\
AppData
\\
Local
\\
Temp"
,
"TERM_PROGRAM"
:
"vscode"
,
"TERM_PROGRAM_VERSION"
:
"1.40.1"
,
"TMP"
:
"C:
\\
Users
\\
DELL
\\
AppData
\\
Local
\\
Temp"
,
"USERDOMAIN"
:
"DESKTOP-KKH52JE"
,
"USERDOMAIN_ROAMINGPROFILE"
:
"DESKTOP-KKH52JE"
,
"USERNAME"
:
"DELL"
,
"USERPROFILE"
:
"C:
\\
Users
\\
DELL"
,
"windir"
:
"C:
\\
Windows"
,
"_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
\\
ADVAPI32.dll"
,
"C:
\\
Windows
\\
System32
\\
msvcrt.dll"
,
"C:
\\
Windows
\\
System32
\\
sechost.dll"
,
"C:
\\
Windows
\\
System32
\\
USER32.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
\\
dbghelp.dll"
,
"C:
\\
Windows
\\
System32
\\
ucrtbase.dll"
,
"C:
\\
Windows
\\
System32
\\
PSAPI.DLL"
,
"C:
\\
Windows
\\
System32
\\
CRYPT32.dll"
,
"C:
\\
Windows
\\
System32
\\
MSASN1.dll"
,
"C:
\\
Windows
\\
System32
\\
bcrypt.dll"
,
"C:
\\
Windows
\\
SYSTEM32
\\
IPHLPAPI.DLL"
,
"C:
\\
Windows
\\
SYSTEM32
\\
WINMM.dll"
,
"C:
\\
Windows
\\
SYSTEM32
\\
USERENV.dll"
,
"C:
\\
Windows
\\
System32
\\
profapi.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:
\\
Program Files (x86)
\\
Sangfor
\\
SSL
\\
VPN
\\
Sessions
\\
0
\\
ClientComponent
\\
SangforNspX64.dll"
,
"C:
\\
Windows
\\
System32
\\
ole32.dll"
,
"C:
\\
Windows
\\
System32
\\
OLEAUT32.dll"
,
"C:
\\
Windows
\\
System32
\\
SHLWAPI.dll"
,
"C:
\\
Program Files (x86)
\\
Sangfor
\\
SSL
\\
ClientComponent2
\\
SangforNspX64.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"
,
"
\\\\
?
\\
F:
\\
huan20200309
\\
front_x
\\
node_modules
\\
node-sass
\\
vendor
\\
win32-x64-72
\\
binding.node"
]
}
\ No newline at end of file
report.20200312.114330.4224.0.001.json
0 → 100644
View file @
1d6d1687
{
"header"
:
{
"reportVersion"
:
1
,
"event"
:
"Allocation failed - JavaScript heap out of memory"
,
"trigger"
:
"FatalError"
,
"filename"
:
"report.20200312.114330.4224.0.001.json"
,
"dumpEventTime"
:
"2020-03-12T11:43:30Z"
,
"dumpEventTimeStamp"
:
"1583984610627"
,
"processId"
:
4224
,
"cwd"
:
"F:
\\
huan20200309
\\
front_x"
,
"commandLine"
:
[
"node"
,
"F:
\\
huan20200309
\\
front_x
\\
node_modules
\\
.bin
\\\\
..
\\
webpack-dev-server
\\
bin
\\
webpack-dev-server.js"
],
"nodejsVersion"
:
"v12.13.1"
,
"wordSize"
:
64
,
"arch"
:
"x64"
,
"platform"
:
"win32"
,
"componentVersions"
:
{
"node"
:
"12.13.1"
,
"v8"
:
"7.7.299.13-node.16"
,
"uv"
:
"1.33.1"
,
"zlib"
:
"1.2.11"
,
"brotli"
:
"1.0.7"
,
"ares"
:
"1.15.0"
,
"modules"
:
"72"
,
"nghttp2"
:
"1.39.2"
,
"napi"
:
"5"
,
"llhttp"
:
"1.1.4"
,
"http_parser"
:
"2.8.0"
,
"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.13.1/node-v12.13.1-headers.tar.gz"
,
"sourceUrl"
:
"https://nodejs.org/download/release/v12.13.1/node-v12.13.1.tar.gz"
,
"libUrl"
:
"https://nodejs.org/download/release/v12.13.1/win-x64/node.lib"
},
"osName"
:
"Windows_NT"
,
"osRelease"
:
"10.0.18362"
,
"osVersion"
:
"Windows 10 Pro"
,
"osMachine"
:
"x86_64"
,
"cpus"
:
[
{
"model"
:
"Intel(R) Core(TM) i7-9700 CPU @ 3.00GHz"
,
"speed"
:
3000
,
"user"
:
20047671
,
"nice"
:
0
,
"sys"
:
43546875
,
"idle"
:
2137087640
,
"irq"
:
22416171
},
{
"model"
:
"Intel(R) Core(TM) i7-9700 CPU @ 3.00GHz"
,
"speed"
:
3000
,
"user"
:
96507984
,
"nice"
:
0
,
"sys"
:
32711500
,
"idle"
:
2071462328
,
"irq"
:
401484
},
{
"model"
:
"Intel(R) Core(TM) i7-9700 CPU @ 3.00GHz"
,
"speed"
:
3000
,
"user"
:
31889171
,
"nice"
:
0
,
"sys"
:
14251328
,
"idle"
:
2154541296
,
"irq"
:
177718
},
{
"model"
:
"Intel(R) Core(TM) i7-9700 CPU @ 3.00GHz"
,
"speed"
:
3000
,
"user"
:
21390875
,
"nice"
:
0
,
"sys"
:
10444234
,
"idle"
:
2168846703
,
"irq"
:
142000
},
{
"model"
:
"Intel(R) Core(TM) i7-9700 CPU @ 3.00GHz"
,
"speed"
:
3000
,
"user"
:
15670125
,
"nice"
:
0
,
"sys"
:
9436515
,
"idle"
:
2175575156
,
"irq"
:
253656
},
{
"model"
:
"Intel(R) Core(TM) i7-9700 CPU @ 3.00GHz"
,
"speed"
:
3000
,
"user"
:
15389328
,
"nice"
:
0
,
"sys"
:
12819000
,
"idle"
:
2172473484
,
"irq"
:
403750
},
{
"model"
:
"Intel(R) Core(TM) i7-9700 CPU @ 3.00GHz"
,
"speed"
:
3000
,
"user"
:
17128937
,
"nice"
:
0
,
"sys"
:
14702906
,
"idle"
:
2168849968
,
"irq"
:
421437
},
{
"model"
:
"Intel(R) Core(TM) i7-9700 CPU @ 3.00GHz"
,
"speed"
:
3000
,
"user"
:
23116609
,
"nice"
:
0
,
"sys"
:
17514828
,
"idle"
:
2160050359
,
"irq"
:
248140
}
],
"networkInterfaces"
:
[
{
"name"
:
"以太网"
,
"internal"
:
false
,
"mac"
:
"e4:54:e8:bc:0d:68"
,
"address"
:
"fe80::5187:c49f:b157:6651"
,
"netmask"
:
"ffff:ffff:ffff:ffff::"
,
"family"
:
"IPv6"
,
"scopeid"
:
9
},
{
"name"
:
"以太网"
,
"internal"
:
false
,
"mac"
:
"e4:54:e8:bc:0d:68"
,
"address"
:
"172.16.3.41"
,
"netmask"
:
"255.255.0.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"
:
"DESKTOP-KKH52JE"
},
"javascriptStack"
:
{
"message"
:
"No stack."
,
"stack"
:
[
"Unavailable."
]
},
"nativeStack"
:
[
{
"pc"
:
"0x00007ff63f2e1729"
,
"symbol"
:
"std::basic_ostream<char,std::char_traits<char> >::operator<<+10873"
},
{
"pc"
:
"0x00007ff63f2e5b4c"
,
"symbol"
:
"std::basic_ostream<char,std::char_traits<char> >::operator<<+28316"
},
{
"pc"
:
"0x00007ff63f2e4b08"
,
"symbol"
:
"std::basic_ostream<char,std::char_traits<char> >::operator<<+24152"
},
{
"pc"
:
"0x00007ff63f3d369b"
,
"symbol"
:
"v8::base::CPU::has_sse+37723"
},
{
"pc"
:
"0x00007ff63fbd82de"
,
"symbol"
:
"v8::Isolate::ReportExternalAllocationLimitReached+94"
},
{
"pc"
:
"0x00007ff63fbc0321"
,
"symbol"
:
"v8::SharedArrayBuffer::Externalize+833"
},
{
"pc"
:
"0x00007ff63fa8dbec"
,
"symbol"
:
"v8::internal::Heap::EphemeronKeyWriteBarrierFromCode+1436"
},
{
"pc"
:
"0x00007ff63fa98f90"
,
"symbol"
:
"v8::internal::Heap::ProtectUnprotectedMemoryChunks+1312"
},
{
"pc"
:
"0x00007ff63fa95ac4"
,
"symbol"
:
"v8::internal::Heap::PageFlagsAreConsistent+3204"
},
{
"pc"
:
"0x00007ff63fa8b353"
,
"symbol"
:
"v8::internal::Heap::CollectGarbage+1283"
},
{
"pc"
:
"0x00007ff63fa89b24"
,
"symbol"
:
"v8::internal::Heap::AddRetainedMap+2356"
},
{
"pc"
:
"0x00007ff63faaadf5"
,
"symbol"
:
"v8::internal::Factory::NewFillerObject+53"
},
{
"pc"
:
"0x00007ff63f816e19"
,
"symbol"
:
"v8::internal::interpreter::JumpTableTargetOffsets::iterator::operator=+4057"
},
{
"pc"
:
"0x00007ff64000404d"
,
"symbol"
:
"v8::internal::SetupIsolateDelegate::SetupHeap+567949"
},
{
"pc"
:
"0x00000046f9842e3e"
,
"symbol"
:
""
}
],
"javascriptHeap"
:
{
"totalMemory"
:
2152038400
,
"totalCommittedMemory"
:
2152038400
,
"usedMemory"
:
2133624792
,
"availableMemory"
:
48101416
,
"memoryLimit"
:
2197815296
,
"heapSpaces"
:
{
"read_only_space"
:
{
"memorySize"
:
262144
,
"committedMemory"
:
262144
,
"capacity"
:
261872
,
"used"
:
32296
,
"available"
:
229576
},
"new_space"
:
{
"memorySize"
:
2097152
,
"committedMemory"
:
2097152
,
"capacity"
:
1047488
,
"used"
:
32
,
"available"
:
1047456
},
"old_space"
:
{
"memorySize"
:
432648192
,
"committedMemory"
:
432648192
,
"capacity"
:
424674768
,
"used"
:
424674768
,
"available"
:
0
},
"code_space"
:
{
"memorySize"
:
1736704
,
"committedMemory"
:
1736704
,
"capacity"
:
1368352
,
"used"
:
1368352
,
"available"
:
0
},
"map_space"
:
{
"memorySize"
:
9441280
,
"committedMemory"
:
9441280
,
"capacity"
:
2318400
,
"used"
:
2318400
,
"available"
:
0
},
"large_object_space"
:
{
"memorySize"
:
1705230336
,
"committedMemory"
:
1705230336
,
"capacity"
:
1704680544
,
"used"
:
1704680544
,
"available"
:
0
},
"code_large_object_space"
:
{
"memorySize"
:
622592
,
"committedMemory"
:
622592
,
"capacity"
:
550400
,
"used"
:
550400
,
"available"
:
0
},
"new_large_object_space"
:
{
"memorySize"
:
0
,
"committedMemory"
:
0
,
"capacity"
:
1047488
,
"used"
:
0
,
"available"
:
1047488
}
}
},
"resourceUsage"
:
{
"userCpuSeconds"
:
124.75
,
"kernelCpuSeconds"
:
16.5
,
"cpuConsumptionPercent"
:
4.25452
,
"maxRss"
:
2362810368
,
"pageFaults"
:
{
"IORequired"
:
9046792
,
"IONotRequired"
:
0
},
"fsActivity"
:
{
"reads"
:
10198
,
"writes"
:
327
}
},
"libuv"
:
[
],
"environmentVariables"
:
{
"=C:"
:
"C:
\\
"
,
"=F:"
:
"F:
\\
huan20200309
\\
front_x"
,
"ALLUSERSPROFILE"
:
"C:
\\
ProgramData"
,
"APPDATA"
:
"C:
\\
Users
\\
DELL
\\
AppData
\\
Roaming"
,
"APR_ICONV_PATH"
:
"D:
\\
get
\\
iconv"
,
"CLASSPATH"
:
".C:
\\
Program Files
\\
Java
\\
jdk1.8.0_181/lib;C:
\\
Program Files
\\
Java
\\
jdk1.8.0_181/lib/tools.jar"
,
"COLORTERM"
:
"truecolor"
,
"CommonProgramFiles"
:
"C:
\\
Program Files
\\
Common Files"
,
"CommonProgramFiles(x86)"
:
"C:
\\
Program Files (x86)
\\
Common Files"
,
"CommonProgramW6432"
:
"C:
\\
Program Files
\\
Common Files"
,
"COMPUTERNAME"
:
"DESKTOP-KKH52JE"
,
"ComSpec"
:
"C:
\\
Windows
\\
system32
\\
cmd.exe"
,
"dp0"
:
"F:
\\
huan20200309
\\
front_x
\\
node_modules
\\
.bin
\\
"
,
"DriverData"
:
"C:
\\
Windows
\\
System32
\\
Drivers
\\
DriverData"
,
"FPS_BROWSER_APP_PROFILE_STRING"
:
"Internet Explorer"
,
"FPS_BROWSER_USER_PROFILE_STRING"
:
"Default"
,
"HOME"
:
"C:
\\
Users
\\
DELL"
,
"HOMEDRIVE"
:
"C:"
,
"HOMEPATH"
:
"
\\
Users
\\
DELL"
,
"INIT_CWD"
:
"F:
\\
huan20200309
\\
front_x"
,
"JAVA_HOME"
:
"C:
\\
Program Files
\\
Java
\\
jdk1.8.0_181"
,
"LANG"
:
"zh_CN.UTF-8"
,
"LOCALAPPDATA"
:
"C:
\\
Users
\\
DELL
\\
AppData
\\
Local"
,
"LOGONSERVER"
:
"
\\\\
DESKTOP-KKH52JE"
,
"maven_home"
:
"F:
\\
apache-maven-3.6.3"
,
"MYSQL_HOME"
:
"F:
\\
mysql
\\
mysql-5.7.22-winx64"
,
"NODE"
:
"C:
\\
Program Files
\\
nodejs
\\
node.exe"
,
"NODE_ENV"
:
"development "
,
"NODE_EXE"
:
"C:
\\
Program Files
\\
nodejs
\\\\
node.exe"
,
"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
\"
:[
\"
start
\"
],
\"
original
\"
:[
\"
start
\"
]}"
,
"npm_config_audit"
:
"true"
,
"npm_config_audit_level"
:
"low"
,
"npm_config_auth_type"
:
"legacy"
,
"npm_config_bin_links"
:
"true"
,
"npm_config_browser"
:
""
,
"npm_config_ca"
:
""
,
"npm_config_cache"
:
"C:
\\
Users
\\
DELL
\\
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_git"
:
"git"
,
"npm_config_git_tag_version"
:
"true"
,
"npm_config_global"
:
""
,
"npm_config_globalconfig"
:
"C:
\\
Program Files
\\
nodejs
\\
etc
\\
npmrc"
,
"npm_config_globalignorefile"
:
"C:
\\
Program Files
\\
nodejs
\\
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
\\
DELL
\\
.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"
:
"http://172.16.11.26:9696/"
,
"npm_config_node_gyp"
:
"C:
\\
Users
\\
DELL
\\
AppData
\\
Roaming
\\
nvm
\\
v12.13.1
\\
node_modules
\\
npm
\\
node_modules
\\
node-gyp
\\
bin
\\
node-gyp.js"
,
"npm_config_node_options"
:
""
,
"npm_config_node_version"
:
"12.13.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"
:
""
,
"npm_config_package_lock_only"
:
""
,
"npm_config_parseable"
:
""
,
"npm_config_prefer_offline"
:
""
,
"npm_config_prefer_online"
:
""
,
"npm_config_prefix"
:
"C:
\\
Program Files
\\
nodejs"
,
"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"
:
"http://172.16.11.26:9696/"
,
"npm_config_rollback"
:
"true"
,
"npm_config_sass_binary_site"
:
"http://172.16.11.26:8888/node-sass"
,
"npm_config_save"
:
""
,
"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
\\
DELL
\\
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
\\
DELL
\\
.npmrc"
,
"npm_config_user_agent"
:
"npm/6.4.1 node/v12.13.1 win32 x64"
,
"npm_config_version"
:
""
,
"npm_config_versions"
:
""
,
"npm_config_viewer"
:
"browser"
,
"npm_execpath"
:
"C:
\\
Users
\\
DELL
\\
AppData
\\
Roaming
\\
nvm
\\
v12.13.1
\\
node_modules
\\
npm
\\
bin
\\
npm-cli.js"
,
"npm_lifecycle_event"
:
"start"
,
"npm_lifecycle_script"
:
"set NODE_ENV=development && webpack-dev-server"
,
"npm_node_execpath"
:
"C:
\\
Program Files
\\
nodejs
\\
node.exe"
,
"npm_package_author_name"
:
"ilex.h"
,
"npm_package_dependencies_amos_3d"
:
"^2.1.5"
,
"npm_package_dependencies_amos_antd"
:
"^2.0.22"
,
"npm_package_dependencies_amos_devgrid"
:
"^1.0.10"
,
"npm_package_dependencies_amos_dll"
:
"^2.0.1"
,
"npm_package_dependencies_amos_icon"
:
"^1.0.3"
,
"npm_package_dependencies_amos_pluggable"
:
"^1.0.6"
,
"npm_package_dependencies_amos_processor"
:
"^1.2.17"
,
"npm_package_dependencies_amos_rules_config"
:
"^1.0.4"
,
"npm_package_dependencies_amos_security"
:
"^2.0.19"
,
"npm_package_dependencies_amos_tool"
:
"^1.x"
,
"npm_package_dependencies_amos_viz"
:
"^1.x"
,
"npm_package_dependencies_amos_websocket"
:
"^1.0.3"
,
"npm_package_dependencies_classnames"
:
"^2.2.5"
,
"npm_package_dependencies_dt2react"
:
"^1.x"
,
"npm_package_dependencies_ray_code_split"
:
"^1.0.1"
,
"npm_package_dependencies_ray_eventpool"
:
"^1.0.0"
,
"npm_package_dependencies_ray_mediaquery"
:
"^1.0.0"
,
"npm_package_dependencies_ray_progress"
:
"^1.0.0"
,
"npm_package_dependencies_react"
:
"~16.0.0"
,
"npm_package_dependencies_react_dom"
:
"~16.0.0"
,
"npm_package_description"
:
"发布模式下,默认开启 code split"
,
"npm_package_devDependencies_amos_build"
:
"^3.x"
,
"npm_package_devDependencies_amos_framework"
:
"^1.2.2"
,
"npm_package_devDependencies_amos_iot_3dgraph"
:
"^1.0.0"
,
"npm_package_devDependencies_amos_iot_webstudio"
:
"^1.0.4"
,
"npm_package_devDependencies_eslint_config_ray"
:
"^1.0.26"
,
"npm_package_devDependencies_mockjs"
:
"^1.0.1-beta3"
,
"npm_package_devDependencies_stylelint_config_ray"
:
"^2.0.4"
,
"npm_package_gitHead"
:
"c15979390baeb29b612068134a880f8e8e64f166"
,
"npm_package_lint_staged____js_json_css__0"
:
"prettier --write"
,
"npm_package_lint_staged____js_json_css__1"
:
"git add"
,
"npm_package_name"
:
"amos-convertor-view"
,
"npm_package_private"
:
"true"
,
"npm_package_readmeFilename"
:
"readme.md"
,
"npm_package_scripts_build"
:
"set NODE_ENV=production && npm run clean && webpack"
,
"npm_package_scripts_build_dev"
:
"set NODE_ENV=development && npm run clean && webpack"
,
"npm_package_scripts_clean"
:
"rimraf dist released"
,
"npm_package_scripts_format"
:
"prettier --write
\"
src/**/*.{js,jsx,css,scss,less,sass}
\"
"
,
"npm_package_scripts_lint"
:
"eslint src tests"
,
"npm_package_scripts_lint_fix"
:
"npm run lint -- --fix"
,
"npm_package_scripts_precommit"
:
"lint-staged"
,
"npm_package_scripts_pub"
:
"npm run build && amos-run dllreleased"
,
"npm_package_scripts_pub1"
:
"amos-run dllreleased"
,
"npm_package_scripts_pub2"
:
"amos-run dllreleased-test"
,
"npm_package_scripts_pub_dev"
:
"npm run build:dev && amos-run dllreleased"
,
"npm_package_scripts_server"
:
"nodemon server/index.js --watch server"
,
"npm_package_scripts_start"
:
"set NODE_ENV=development && webpack-dev-server"
,
"npm_package_scripts_start1"
:
"set NODE_ENV=development && nodemon --exec
\"
webpack-dev-server
\"
"
,
"npm_package_scripts_stylelint"
:
"stylelint src"
,
"npm_package_scripts_watch"
:
"webpack -w"
,
"npm_package_scripts_zip"
:
"amos-run released2zip"
,
"npm_package_version"
:
"1.0.0"
,
"NPM_PREFIX_NPM_CLI_JS"
:
"C:
\\
Program Files
\\
nodejs
\\
node_modules
\\
npm
\\
bin
\\
npm-cli.js"
,
"NUMBER_OF_PROCESSORS"
:
"8"
,
"NVM_HOME"
:
"C:
\\
Users
\\
DELL
\\
AppData
\\
Roaming
\\
nvm"
,
"NVM_SYMLINK"
:
"C:
\\
Program Files
\\
nodejs"
,
"OneDrive"
:
"C:
\\
Users
\\
DELL
\\
OneDrive"
,
"OS"
:
"Windows_NT"
,
"Path"
:
"C:
\\
Users
\\
DELL
\\
AppData
\\
Roaming
\\
nvm
\\
v12.13.1
\\
node_modules
\\
npm
\\
node_modules
\\
npm-lifecycle
\\
node-gyp-bin;F:
\\
huan20200309
\\
front_x
\\
node_modules
\\
.bin;C:
\\
Program Files (x86)
\\
Common Files
\\
Oracle
\\
Java
\\
javapath;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
\\
Java
\\
jdk1.8.0_181/bin;C:
\\
Program Files
\\
Java
\\
jdk1.8.0_181/jre/bin;%maven_home%
\\
bin;D:
\\
get
\\
bin;D:
\\
svn
\\
bin;C:
\\
Users
\\
DELL
\\
AppData
\\
Roaming
\\
nvm;C:
\\
Program Files
\\
nodejs;F:
\\
mysql
\\
mysql-5.7.22-winx64
\\
bin;C:
\\
Users
\\
DELL
\\
AppData
\\
Local
\\
Microsoft
\\
WindowsApps;C:
\\
Users
\\
DELL
\\
AppData
\\
Roaming
\\
nvm;C:
\\
Program Files
\\
nodejs"
,
"PATHEXT"
:
".COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JSE;.WSF;.WSH;.MSC;.CPL"
,
"PROCESSOR_ARCHITECTURE"
:
"AMD64"
,
"PROCESSOR_IDENTIFIER"
:
"Intel64 Family 6 Model 158 Stepping 13, GenuineIntel"
,
"PROCESSOR_LEVEL"
:
"6"
,
"PROCESSOR_REVISION"
:
"9e0d"
,
"ProgramData"
:
"C:
\\
ProgramData"
,
"ProgramFiles"
:
"C:
\\
Program Files"
,
"ProgramFiles(x86)"
:
"C:
\\
Program Files (x86)"
,
"ProgramW6432"
:
"C:
\\
Program Files"
,
"PROMPT"
:
"$P$G"
,
"PSModulePath"
:
"C:
\\
Users
\\
DELL
\\
Documents
\\
WindowsPowerShell
\\
Modules;C:
\\
Program Files
\\
WindowsPowerShell
\\
Modules;C:
\\
Windows
\\
system32
\\
WindowsPowerShell
\\
v1.0
\\
Modules"
,
"PUBLIC"
:
"C:
\\
Users
\\
Public"
,
"SESSIONNAME"
:
"Console"
,
"SystemDrive"
:
"C:"
,
"SystemRoot"
:
"C:
\\
Windows"
,
"TEMP"
:
"C:
\\
Users
\\
DELL
\\
AppData
\\
Local
\\
Temp"
,
"TERM_PROGRAM"
:
"vscode"
,
"TERM_PROGRAM_VERSION"
:
"1.40.1"
,
"TMP"
:
"C:
\\
Users
\\
DELL
\\
AppData
\\
Local
\\
Temp"
,
"USERDOMAIN"
:
"DESKTOP-KKH52JE"
,
"USERDOMAIN_ROAMINGPROFILE"
:
"DESKTOP-KKH52JE"
,
"USERNAME"
:
"DELL"
,
"USERPROFILE"
:
"C:
\\
Users
\\
DELL"
,
"windir"
:
"C:
\\
Windows"
,
"_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
\\
ADVAPI32.dll"
,
"C:
\\
Windows
\\
System32
\\
msvcrt.dll"
,
"C:
\\
Windows
\\
System32
\\
sechost.dll"
,
"C:
\\
Windows
\\
System32
\\
USER32.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
\\
ucrtbase.dll"
,
"C:
\\
Windows
\\
SYSTEM32
\\
dbghelp.dll"
,
"C:
\\
Windows
\\
System32
\\
PSAPI.DLL"
,
"C:
\\
Windows
\\
System32
\\
CRYPT32.dll"
,
"C:
\\
Windows
\\
System32
\\
MSASN1.dll"
,
"C:
\\
Windows
\\
System32
\\
bcrypt.dll"
,
"C:
\\
Windows
\\
SYSTEM32
\\
IPHLPAPI.DLL"
,
"C:
\\
Windows
\\
SYSTEM32
\\
USERENV.dll"
,
"C:
\\
Windows
\\
SYSTEM32
\\
WINMM.dll"
,
"C:
\\
Windows
\\
System32
\\
profapi.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:
\\
Program Files (x86)
\\
Sangfor
\\
SSL
\\
VPN
\\
Sessions
\\
0
\\
ClientComponent
\\
SangforNspX64.dll"
,
"C:
\\
Windows
\\
System32
\\
ole32.dll"
,
"C:
\\
Windows
\\
System32
\\
OLEAUT32.dll"
,
"C:
\\
Windows
\\
System32
\\
SHLWAPI.dll"
,
"C:
\\
Program Files (x86)
\\
Sangfor
\\
SSL
\\
ClientComponent2
\\
SangforNspX64.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"
,
"
\\\\
?
\\
F:
\\
huan20200309
\\
front_x
\\
node_modules
\\
node-sass
\\
vendor
\\
win32-x64-72
\\
binding.node"
]
}
\ No newline at end of file
server/index.js
View file @
1d6d1687
...
...
@@ -22,7 +22,7 @@ const transCommonResponse = (data) => {
app
.
all
(
'*'
,
(
req
,
res
,
next
)
=>
{
console
.
log
(
req
.
headers
.
origin
);
res
.
header
(
'Access-Control-Allow-Origin'
,
req
.
headers
.
origin
);
res
.
header
(
'Access-Control-Allow-Headers'
,
'Content-Type,Content-Length, X-Access-Token, X-Api-Key, Authorization, Accept,X-Requested-With'
);
res
.
header
(
'Access-Control-Allow-Headers'
,
'Content-Type,Content-Length, X-Access-Token, X-Api-Key, Authorization, Accept,X-Requested-With
,appKey, product, token
'
);
res
.
header
(
'Access-Control-Allow-Methods'
,
'PUT,POST,GET,DELETE,OPTIONS'
);
res
.
header
(
'Access-Control-Allow-Credentials'
,
'true'
);
res
.
header
(
'X-Powered-By'
,
' 3.2.1'
);
...
...
src/consts/urlConsts.js
View file @
1d6d1687
import
*
as
endConf
from
'amos-processor/lib/config/endconf'
;
import
completeSecurityUrl
,
{
completeSecurityWsUrl
}
from
'amos-security/lib/consts/securityUrl'
;
const
completePrefix
=
endConf
.
completePrefix
;
...
...
@@ -9,7 +8,8 @@ const securityBaseWsURI = AmosConfig.wsURI.securityBaseURI;
// 三维视图
const
view3dURI
=
AmosConfig
.
httpURI
.
view3dURI
;
export
const
baseURI
=
AmosConfig
.
httpURI
.
baseURI
;
const
patrolURI
=
AmosConfig
.
httpURI
.
patrolURI
;
//const patrolURI = AmosConfig.httpURI.patrolURI;
const
patrolURI
=
AmosConfig
.
httpURI
.
baseURI
;
//规则
const
ruleURI
=
AmosConfig
.
httpURI
.
rulesConfigURI
;
...
...
@@ -20,7 +20,7 @@ export const getOutterURL = (key) => {
export
const
SecurityUrl
=
securityBaseURI
;
export
const
SecurityWsUrl
=
securityBaseWsURI
;
export
const
XJBaseURI
=
patrolURI
;
const
secExVerson
=
'v1'
;
/**
* 安全模块 URL 集合
*/
...
...
@@ -34,7 +34,20 @@ export const secExtUrl = {
opSearchBizMenusUrl
:
completePrefix
(
securityBaseURI
,
'permissionItem/searchSubmenuPermission/{code}'
),
// 获取厂区集合 get
regionListUrl
:
completePrefix
(
patrolURI
,
'api/group/queryAuthCompanyLeaves'
)
regionListUrl
:
completePrefix
(
patrolURI
,
'api/group/queryAuthCompanyLeaves'
),
//======================================新加
// 获取当前系统所有菜单(新)
systemMenusUrl
:
completePrefix
(
securityBaseURI
,
`privilege/
${
secExVerson
}
/permission/tree`
),
// 获取当前登陆用户信息(新)
currentUserUrl
:
completePrefix
(
securityBaseURI
,
`privilege/
${
secExVerson
}
/agencyuser/me`
),
// 登陆用户系统权限菜单-
permissionsMenusUrl
:
completePrefix
(
securityBaseURI
,
`privilege/
${
secExVerson
}
/permission/tree/role?roleSeq={roleSeq}`
),
};
export
const
FscSerUrl
=
{
...
...
@@ -44,7 +57,7 @@ export const FscSerUrl = {
view3dInitUrl
:
completePrefix
(
view3dURI
,
'view3d/initViewNode?type={type}'
),
// 初始化三维视图 get
view3dInitLinkUrl
:
completePrefix
(
view3dURI
,
'view3d/initViewLink'
),
// 初始化三维视图 获取link get
searchRegionListUrl
:
completePrefix
(
patrolURI
,
'api/group/queryDept'
),
//右侧菜单-检索-区域集合
searchViewUrl
:
completePrefix
(
view3dURI
,
'
/
view3d/3ddata/all?inputText={inputText}&dataLevel={dataLevel}&orgCode={orgCode}&nodeState={nodeState}&type={type}¤t={page}&pageSize={pageSize}&routeName={routeName}&protectObjName={protectObjName}'
),
// 右侧菜单-检索
searchViewUrl
:
completePrefix
(
view3dURI
,
'view3d/3ddata/all?inputText={inputText}&dataLevel={dataLevel}&orgCode={orgCode}&nodeState={nodeState}&type={type}¤t={page}&pageSize={pageSize}&routeName={routeName}&protectObjName={protectObjName}'
),
// 右侧菜单-检索
searchLinkUrl
:
completePrefix
(
view3dURI
,
'view3d/link/searchView?linkId={linkId}'
),
// 根据单条巡检线 检索节点与线路 get
monitorRegionListUrl
:
completePrefix
(
view3dURI
,
'monitorRegionListUrl'
),
//右侧菜单-监控-区域集合
monitorUrl
:
completePrefix
(
view3dURI
,
'monitorUrl?current={page}&pageSize={size}'
),
//右侧菜单-监控
...
...
@@ -76,7 +89,7 @@ export const FscSerUrl = {
fetchPointStatistics
:
completePrefix
(
patrolURI
,
'api/spc/countPoint'
),
//巡检点统计
fetchChkExecuteInfo
:
completePrefix
(
patrolURI
,
'api/spc/checkExecute/list'
),
//某日巡检执行情况
fetchMonthCountChk
:
completePrefix
(
patrolURI
,
'api/spc/countMonth'
),
//月巡检情况统计
fetchTaskList
:
completePrefix
(
patrolURI
,
'
/
api/task/queryTaskByPage'
),
//月巡检情况统计
fetchTaskList
:
completePrefix
(
patrolURI
,
'api/task/queryTaskByPage'
),
//月巡检情况统计
fetchHidDangerCount
:
completePrefix
(
patrolURI
,
'api/task/hiddenDanger/count'
),
//隐患治理统计
fetchPointDetail
:
completePrefix
(
patrolURI
,
'api/spc/queryPointById'
),
//风险点
...
...
@@ -84,11 +97,11 @@ export const FscSerUrl = {
fetchPointDetailById
:
completePrefix
(
patrolURI
,
'api/point/queryPointById'
),
//巡检点明细
detelPointMeasures
:
completePrefix
(
patrolURI
,
'
/
measures/delete'
),
//删除巡检点措施
detelPointMeasures
:
completePrefix
(
patrolURI
,
'measures/delete'
),
//删除巡检点措施
batchDeletePointMeasuresAction
:
completePrefix
(
patrolURI
,
'/measures/delete/batch'
),
//批量删除巡检点措施
addPointMeasures
:
completePrefix
(
patrolURI
,
'
/
measures/add'
),
//新增巡检点措施
batchAddPointMeasuresAction
:
completePrefix
(
patrolURI
,
'
/
measures/add/batch'
),
//批量新增巡检点措施
updatePointMeasuresAction
:
completePrefix
(
patrolURI
,
'
/
measures/update'
),
//修改巡检点措施
addPointMeasures
:
completePrefix
(
patrolURI
,
'measures/add'
),
//新增巡检点措施
batchAddPointMeasuresAction
:
completePrefix
(
patrolURI
,
'measures/add/batch'
),
//批量新增巡检点措施
updatePointMeasuresAction
:
completePrefix
(
patrolURI
,
'measures/update'
),
//修改巡检点措施
fetchCalCountPanelUrl
:
completePrefix
(
patrolURI
,
'api/spc/check-info/count'
),
//查询日历对应巡检记录数量
fetchTaskQueryCriteria
:
completePrefix
(
patrolURI
,
'api/task/queryCriteria/init'
),
//巡检点列表查询
...
...
@@ -99,6 +112,13 @@ export const FscSerUrl = {
};
export
const
FasSerUrl
=
{
//====================================新加
regionSelectUrl
:
completePrefix
(
baseURI
,
'safeuser/save/curCompany'
),
//保存登录用户信息
selectedOrgInfoUrl
:
completePrefix
(
baseURI
,
'api/region/current'
),
//获取选择的公司
//*******************************************************************************
// 换流站视图
//*******************************************************************************
...
...
@@ -157,16 +177,16 @@ export const FasSerUrl = {
equipmentDeleteUrl
:
completePrefix
(
baseURI
,
'api/impEquip/{ids}'
),
//删除重点设备
equipmentGetUrl
:
completePrefix
(
baseURI
,
'api/impEquip/{id}'
),
//获取重点设备
fireStationGetUrl
:
completePrefix
(
baseURI
,
'api/firestation/list'
),
//获取消防小室信息
fireStationPageUrl
:
completePrefix
(
baseURI
,
'
/
api/firestation/page?pageNumber={page}&pageSize={size}'
),
//消防小室
fireStationDetailUrl
:
completePrefix
(
baseURI
,
'
/
api/firestation/{id}'
),
// 消防小室
fireStationDeleteUrl
:
completePrefix
(
baseURI
,
'
/
api/firestation/{ids}'
),
// 消防小室删除
fireStationNewUrl
:
completePrefix
(
baseURI
,
'
/
api/firestation'
),
// 消防小室新增
fireStationEditUrl
:
completePrefix
(
baseURI
,
'
/
api/firestation/{id}'
),
// 消防小室修改
fireWaterPageUrl
:
completePrefix
(
baseURI
,
'
/
api/waterresource/page?pageNumber={page}&pageSize={size}'
),
//消防水资源
fireWaterDetailUrl
:
completePrefix
(
baseURI
,
'
/
api/waterresource/{id}'
),
// 消防水资源
fireWaterDeleteUrl
:
completePrefix
(
baseURI
,
'
/
api/waterresource/{ids}'
),
// 消防水资源
fireWaterNewUrl
:
completePrefix
(
baseURI
,
'
/
api/waterresource'
),
// 消防水资源
fireWaterEditUrl
:
completePrefix
(
baseURI
,
'
/
api/waterresource/{id}'
),
//消防水资源
fireStationPageUrl
:
completePrefix
(
baseURI
,
'api/firestation/page?pageNumber={page}&pageSize={size}'
),
//消防小室
fireStationDetailUrl
:
completePrefix
(
baseURI
,
'api/firestation/{id}'
),
// 消防小室
fireStationDeleteUrl
:
completePrefix
(
baseURI
,
'api/firestation/{ids}'
),
// 消防小室删除
fireStationNewUrl
:
completePrefix
(
baseURI
,
'api/firestation'
),
// 消防小室新增
fireStationEditUrl
:
completePrefix
(
baseURI
,
'api/firestation/{id}'
),
// 消防小室修改
fireWaterPageUrl
:
completePrefix
(
baseURI
,
'api/waterresource/page?pageNumber={page}&pageSize={size}'
),
//消防水资源
fireWaterDetailUrl
:
completePrefix
(
baseURI
,
'api/waterresource/{id}'
),
// 消防水资源
fireWaterDeleteUrl
:
completePrefix
(
baseURI
,
'api/waterresource/{ids}'
),
// 消防水资源
fireWaterNewUrl
:
completePrefix
(
baseURI
,
'api/waterresource'
),
// 消防水资源
fireWaterEditUrl
:
completePrefix
(
baseURI
,
'api/waterresource/{id}'
),
//消防水资源
fireWaterMatchesAddUrl
:
completePrefix
(
baseURI
,
'api/waterresource/fireEquipmenet'
),
//水资源添加配套消防装备
fireWaterMatchesListUrl
:
completePrefix
(
baseURI
,
'api/waterresource/{waterResourceId}/fireEquipmenet/page?pageNumber={page}&pageSize={size}'
),
//获取水资源的配套装备列表
fireWaterMatchesDeleteUrl
:
completePrefix
(
baseURI
,
'api/waterresource/fireEquipmenet'
),
//删除水资源绑定的消防装备
...
...
@@ -198,13 +218,13 @@ export const FasSerUrl = {
getVideoTreeUrl
:
completePrefix
(
baseURI
,
'api/impEquip/videos'
),
//获取设备视频树
getImpEquipDetailUrl
:
completePrefix
(
baseURI
,
'api/impEquip/detail/{id}'
),
//预案获取重点设备信息
startTestPrecontrolUrl
:
completePrefix
(
baseURI
,
'
/
api/risksource/data/fireqeuiment/soe'
),
startTestPrecontrolUrl
:
completePrefix
(
baseURI
,
'api/risksource/data/fireqeuiment/soe'
),
xiaofangxiaoshiUrl
:
completePrefix
(
baseURI
,
'
/
api/firestation/fireEquipments/{id}'
),
dictListUrl
:
completePrefix
(
baseURI
,
'
/
api/dict/list?dictCode={code}'
),
riskSourceSecondLevelUrl
:
completePrefix
(
baseURI
,
'
/
api/risksource/riskSourceSecondLevel'
),
view3DStatisticsUrl
:
completePrefix
(
baseURI
,
'
/
api/risksource/query3DStatistics/{markerType}'
),
contingencyWaterUrl
:
completePrefix
(
baseURI
,
'
/
api/risksource/contingency/water'
),
xiaofangxiaoshiUrl
:
completePrefix
(
baseURI
,
'api/firestation/fireEquipments/{id}'
),
dictListUrl
:
completePrefix
(
baseURI
,
'api/dict/list?dictCode={code}'
),
riskSourceSecondLevelUrl
:
completePrefix
(
baseURI
,
'api/risksource/riskSourceSecondLevel'
),
view3DStatisticsUrl
:
completePrefix
(
baseURI
,
'api/risksource/query3DStatistics/{markerType}'
),
contingencyWaterUrl
:
completePrefix
(
baseURI
,
'api/risksource/contingency/water'
),
configPointEquipmentUrl
:
completePrefix
(
baseURI
,
'api/firequment/point/batch/bindToEquipment?deviceId={deviceId}&pointIds={pointIds}'
),
getPlanTreeUrl
:
completePrefix
(
baseURI
,
'api/visual/plan/tree'
),
//获取预案树url
importExcelFireEquipmentUrl
:
completePrefix
(
baseURI
,
'api/excel/import/fireEquipment'
),
//导入消防设备
...
...
src/consts/wsUrlConsts.js
View file @
1d6d1687
import
*
as
endConf
from
'amos-processor/lib/config/endconf'
;
import
formatUrl
from
'amos-processor/lib/utils/urlFormat'
;
import
{
getToken
}
from
'amos-security/lib/utils/tokenUtils'
;
import
{
Store
}
from
'amos-tool'
;
import
SysConsts
from
'amos-processor/lib/config/consts'
;
const
lsTool
=
Store
.
lsTool
;
const
completePrefix
=
endConf
.
completePrefix
;
const
AmosConfig
=
endConf
.
AmosConfig
;
const
baseURI
=
AmosConfig
.
wsURI
.
baseURI
;
const
view3dURI
=
AmosConfig
.
wsURI
.
view3dURI
;
const
planProruptionURI
=
AmosConfig
.
wsURI
.
planProruptionURI
;
const
getToken
=
()
=>
{
return
lsTool
.
read
(
SysConsts
.
token
);
};
export
default
{
rulews
:
completePrefix
(
view3dURI
,
'rule.ws?token={token}'
),
...
...
src/entry/index.js
View file @
1d6d1687
...
...
@@ -13,18 +13,19 @@ import { Router, browserHistory } from 'amos-react-router';
import
{
syncHistoryWithStore
}
from
'react-router-redux'
;
import
{
browerSupport
,
consts
}
from
'amos-tool'
;
import
{
DownloadBrowsers
,
AmosAlert
}
from
'amos-framework'
;
import
{
opMenusAction
}
from
'amos-security/lib/services'
;
import
'amos-security/lib/style'
;
import
rootRoutes
from
'./../routes'
;
import
{
configureStoreWithDev
}
from
'./../store'
;
import
beforeRender
from
'./beforeRender'
;
import
{
Store
,
LocationParam
}
from
'amos-tool'
;
import
{
getSystemAllMenu
}
from
'../services/securityService'
;
import
SysConsts
from
'amos-processor/lib/config/consts'
;
// 引入主体样式文件
import
'./../styles'
;
beforeRender
();
const
store
=
configureStoreWithDev
();
const
lsTool
=
Store
.
lsTool
;
const
history
=
syncHistoryWithStore
(
browserHistory
,
store
);
const
support
=
browerSupport
([
'firefox/'
,
'chrome/'
],
{
...
...
@@ -42,21 +43,63 @@ class App extends Component {
}
componentWillMount
()
{
opMenusAction
().
then
(
debugger
let
token
=
LocationParam
.
getLocationParamByName
(
'token'
);
if
(
!
token
)
{
// let systemMenu = JSON.parse(lsTool.read(sessionConsts.systemMenu));
// if (!systemMenu) {
// window.location.href = loginURI;
// return;
// }
// this.setState({ rootRoutes: rootRoutes(systemMenu), visible: true });
// return;
}
else
{
lsTool
.
write
(
SysConsts
.
token
,
token
);
}
getSystemAllMenu
().
then
(
menus
=>
{
this
.
setState
({
rootRoutes
:
rootRoutes
(
menus
),
visible
:
true
});
debugger
let
systemMuens
=
this
.
filterSystemMenus
(
menus
);
let
routeMenus
=
[];
systemMuens
.
forEach
(
item
=>
{
if
(
item
.
children
&&
item
.
children
.
length
>
0
)
{
routeMenus
=
[...
routeMenus
,
...
item
.
children
];
}
});
this
.
setState
({
rootRoutes
:
rootRoutes
(
routeMenus
),
visible
:
true
});
},
err
=>
{
AmosAlert
.
error
(
'警告'
,
err
||
'获取初始化菜单失败!'
);
}
);
// opMenusAction().then(
// menus => {
// this.setState({ rootRoutes: rootRoutes(menus), visible: true });
// },
// err => {
// AmosAlert.error('警告', err || '获取初始化菜单失败!');
// }
// );
}
filterSystemMenus
=
(
menus
=
[])
=>
{
return
menus
.
filter
(
menu
=>
menu
.
permissionType
===
'MENU'
);
}
onUpdate
=
()
=>
{
RProgress
.
done
();
window
.
scrollTo
(
0
,
0
);
};
filterSystemMenus
=
(
menus
=
[])
=>
{
return
menus
.
filter
(
menu
=>
menu
.
permissionType
===
'MENU'
);
}
render
()
{
if
(
this
.
state
.
visible
)
{
return
(
...
...
src/entry/index.prod.js
View file @
1d6d1687
...
...
@@ -13,18 +13,19 @@ import { Router, browserHistory } from 'amos-react-router';
import
{
syncHistoryWithStore
}
from
'react-router-redux'
;
import
{
browerSupport
,
consts
}
from
'amos-tool'
;
import
{
DownloadBrowsers
,
AmosAlert
}
from
'amos-framework'
;
import
{
opMenusAction
}
from
'amos-security/lib/services'
;
import
'amos-security/lib/style'
;
import
rootRoutes
from
'./../routes/asyncRoutes'
;
import
configureStore
from
'./../store'
;
import
rootRoutes
from
'./../routes'
;
import
{
configureStoreWithDev
}
from
'./../store'
;
import
beforeRender
from
'./beforeRender'
;
import
{
Store
,
LocationParam
}
from
'amos-tool'
;
import
{
getSystemAllMenu
}
from
'../services/securityService'
;
import
SysConsts
from
'amos-processor/lib/config/consts'
;
// 引入主体样式文件
import
'./../styles'
;
beforeRender
();
const
store
=
configureStore
();
const
store
=
configureStoreWithDev
();
const
lsTool
=
Store
.
lsTool
;
const
history
=
syncHistoryWithStore
(
browserHistory
,
store
);
const
support
=
browerSupport
([
'firefox/'
,
'chrome/'
],
{
...
...
@@ -42,16 +43,51 @@ class App extends Component {
}
componentWillMount
()
{
opMenusAction
().
then
(
debugger
let
token
=
LocationParam
.
getLocationParamByName
(
'token'
);
if
(
!
token
)
{
AmosAlert
.
error
(
'警告'
,
err
||
'toke已失效!'
);
}
else
{
lsTool
.
write
(
SysConsts
.
token
,
token
);
}
getSystemAllMenu
().
then
(
menus
=>
{
this
.
setState
({
rootRoutes
:
rootRoutes
(
menus
),
visible
:
true
});
debugger
let
systemMuens
=
this
.
filterSystemMenus
(
menus
);
let
routeMenus
=
[];
systemMuens
.
forEach
(
item
=>
{
if
(
item
.
children
&&
item
.
children
.
length
>
0
)
{
routeMenus
=
[...
routeMenus
,
...
item
.
children
];
}
});
this
.
setState
({
rootRoutes
:
rootRoutes
(
routeMenus
),
visible
:
true
});
lsTool
.
write
(
sessionConsts
.
systemMenu
,
JSON
.
stringify
(
routeMenus
));
},
err
=>
{
AmosAlert
.
error
(
'警告'
,
err
||
'获取初始化菜单失败!'
);
}
);
// opMenusAction().then(
// menus => {
// this.setState({ rootRoutes: rootRoutes(menus), visible: true });
// },
// err => {
// AmosAlert.error('警告', err || '获取初始化菜单失败!');
// }
// );
}
filterSystemMenus
=
(
menus
=
[])
=>
{
return
menus
.
filter
(
menu
=>
menu
.
permissionType
===
'MENU'
);
}
onUpdate
=
()
=>
{
RProgress
.
done
();
window
.
scrollTo
(
0
,
0
);
...
...
@@ -73,3 +109,8 @@ class App extends Component {
const
main
=
support
?
<
App
/>
:
<
DownloadBrowsers
/>
;
render
(
main
,
document
.
getElementById
(
'app'
));
// 开发模式下开启 热加载 (不需要开启时,屏蔽一下代码即可)
if
(
module
.
hot
)
{
module
.
hot
.
accept
();
}
src/model/reducers/index.js
View file @
1d6d1687
...
...
@@ -4,11 +4,9 @@
*/
import
{
combineReducers
}
from
'redux'
;
import
{
routerReducer
}
from
'react-router-redux'
;
import
securityReducers
from
'amos-security/lib/model/rootReducers'
;
// 结合 react-router-redux
const
rootReducers
=
combineReducers
({
...
securityReducers
,
routing
:
routerReducer
});
...
...
src/routes/asyncRoutes.js
View file @
1d6d1687
...
...
@@ -2,17 +2,11 @@
import
React
from
'react'
;
import
{
Store
}
from
'amos-tool'
;
import
RProgress
from
'ray-progress'
;
import
notFound
from
'amos-security/lib/routes/notfound'
;
import
redirect
from
'amos-security/lib/routes/notfound/redirect'
;
import
SysConsts
from
'amos-security/lib/consts'
;
import
calcRoutes
from
'./calcRoutes'
;
import
addCustomRoutes
,
{
customRoutes
}
from
'./customRoutes'
;
import
pageCompontent
,
{
AsyncRootView
,
AsyncLogin
,
AsyncUserInfo
,
AsyncRootBizView
,
AsyncConsoleView
,
AsyncRegionList
}
from
'./asyncView'
;
import
routerFilter
,
{
checkLogin
}
from
'amos-security/lib/routes/validateRouter'
;
import
signUp
,
{
signupRouters
}
from
'amos-security/lib/routes/signUp'
;
import
AutoLogin
from
'./../view/autoLogin/AutoLogin'
;
const
apiKey
=
SysConsts
.
api_key
;
const
groups
=
[
'main'
,
'biz'
,
'console'
...
...
@@ -27,7 +21,7 @@ const injectRoutes = menus => {
{
path
:
'login'
,
component
:
AsyncLogin
},
{
path
:
'autologin'
,
component
:
AutoLogin
},
{
path
:
'region'
,
component
:
AsyncRegionList
},
// 区域选择
...
signUp
,
{
path
:
'main'
,
component
:
AsyncRootView
,
...
...
@@ -42,9 +36,7 @@ const injectRoutes = menus => {
path
:
'console'
,
component
:
AsyncConsoleView
,
childRoutes
:
consoleChilds
},
notFound
,
redirect
}
];
return
routes
;
};
...
...
@@ -57,11 +49,12 @@ const onEnterValidate = (next, replace, callback) => {
progressStart
();
const
pathname
=
next
.
location
.
pathname
;
const
flag
=
routerFilter
({
filterPath
:
[].
concat
(
signupRouters
,
'login'
,
'autologin'
),
filterPath
:
[].
concat
(
'login'
,
'autologin'
),
pathname
});
console
.
log
(
'pathname|flag'
,
pathname
,
flag
);
if
(
!
checkLogin
()
&&
flag
)
{
debugger
if
(
!
flag
)
{
replace
(
'/login'
);
}
callback
();
...
...
@@ -70,7 +63,7 @@ const onEnterValidate = (next, replace, callback) => {
const
rootRoutes
=
menus
=>
{
return
{
path
:
'/'
,
onEnter
:
onEnterValidate
,
//
onEnter: onEnterValidate,
onChange
:
progressStart
,
indexRedirect
:
AsyncLogin
,
indexRoute
:
{
...
...
src/routes/asyncView.js
View file @
1d6d1687
...
...
@@ -20,12 +20,7 @@ const AsyncRootBizView = props => <AsyncLoader load={import('./../view/mainframe
const
AsyncSubConsoleView
=
props
=>
<
AsyncLoader
load
=
{
import
(
'./../view/mainframe/SubConsoleView'
)}
componentProps
=
{
props
}
/>
;
const
AsyncConsoleView
=
props
=>
<
AsyncLoader
load
=
{
import
(
'./../view/console'
)}
componentProps
=
{
props
}
/>
;
const
AsyncCompany
=
props
=>
<
AsyncLoader
load
=
{
import
(
'amos-security/lib/view/company'
)}
componentProps
=
{
props
}
/>
;
const
AsyncDepartment
=
props
=>
<
AsyncLoader
load
=
{
import
(
'amos-security/lib/view/department'
)}
componentProps
=
{
props
}
/>
;
const
AsyncMenu
=
props
=>
<
AsyncLoader
load
=
{
import
(
'amos-security/lib/view/menu'
)}
componentProps
=
{
props
}
/>
;
const
AsyncRole
=
props
=>
<
AsyncLoader
load
=
{
import
(
'amos-security/lib/view/role'
)}
componentProps
=
{
props
}
/>
;
const
AsyncSystemDic
=
props
=>
<
AsyncLoader
load
=
{
import
(
'amos-security/lib/view/systemdic'
)}
componentProps
=
{
props
}
/>
;
const
AsyncUser
=
props
=>
<
AsyncLoader
load
=
{
import
(
'amos-security/lib/view/user'
)}
componentProps
=
{
props
}
/>
;
const
AsyncConfig
=
props
=>
<
AsyncLoader
load
=
{
import
(
'./../view/config'
)}
componentProps
=
{
props
}
/>
;
const
AsyncAutoLogin
=
props
=>
<
AsyncLoader
load
=
{
import
(
'./../view/autoLogin/AutoLogin'
)}
componentProps
=
{
props
}
/>
;
...
...
src/routes/calcRoutes.js
View file @
1d6d1687
const
compeleteMenus
=
(
pageCompontent
)
=>
{
debugger
return
function
convertMenus
(
menus
,
resRoutes
,
level
)
{
menus
.
map
(
menu
=>
{
if
(
menu
.
url
)
{
const
urlList
=
menu
.
url
.
split
(
'/'
);
if
(
menu
.
path
)
{
const
urlList
=
menu
.
path
.
split
(
'/'
);
const
path
=
urlList
[
level
+
1
];
if
(
urlList
.
length
>
2
)
{
const
itemRoutes
=
{
path
,
component
:
pageCompontent
(
path
),
childRoutes
:
[],
group
:
urlList
[
1
]
};
...
...
@@ -46,6 +47,7 @@ const filterGroupMenus = (routes, groups) => {
* @return {object|array} group存在: { main: [...], other: [...] }, group 不存在: []
*/
export
default
function
calcRoutes
(
menus
=
[],
pageCompontent
,
groups
)
{
debugger
const
_routes
=
[];
if
(
menus
&&
menus
.
length
>
0
)
{
compeleteMenus
(
pageCompontent
)(
menus
,
_routes
,
1
);
...
...
src/routes/index.js
View file @
1d6d1687
// @author ilex.h
import
RProgress
from
'ray-progress'
;
import
notFound
from
'amos-security/lib/routes/notfound'
;
import
redirect
from
'amos-security/lib/routes/notfound/redirect'
;
import
signUp
,
{
signupRouters
}
from
'amos-security/lib/routes/signUp'
;
import
routerFilter
,
{
checkLogin
}
from
'amos-security/lib/routes/validateRouter'
;
import
PublishView
from
'./../view/planMgmt/view'
;
import
AutoLogin
from
'./../view/autoLogin/AutoLogin'
;
import
calcRoutes
from
'./calcRoutes'
;
...
...
@@ -26,6 +22,7 @@ const groups = [
];
const
injectRoutes
=
menus
=>
{
debugger
const
{
main
=
[],
biz
=
[],
console
:
consoleRoutes
=
[]
}
=
calcRoutes
(
menus
,
pageCompontent
,
groups
)
||
{};
const
mainChilds
=
addCustomRoutes
(
main
);
const
bizChilds
=
addCustomRoutes
(
biz
);
...
...
@@ -39,7 +36,6 @@ const injectRoutes = menus => {
{
path
:
'autologin'
,
component
:
AutoLogin
},
{
path
:
'region'
,
component
:
RegionList
},
// 区域选择
{
path
:
'shareTextPlan'
,
component
:
ShareTextPlan
},
...
signUp
,
{
path
:
'main'
,
component
:
RootView
,
...
...
@@ -57,9 +53,7 @@ const injectRoutes = menus => {
path
:
'console'
,
component
:
ConsoleView
,
childRoutes
:
consoleChilds
},
notFound
,
redirect
}
];
return
routes
;
};
...
...
@@ -69,23 +63,28 @@ const progressStart = () => {
};
const
onEnterValidate
=
(
next
,
replace
,
callback
)
=>
{
debugger
progressStart
();
const
pathname
=
next
.
location
.
pathname
;
const
flag
=
routerFilter
({
filterPath
:
[].
concat
(
signupRouters
,
'login'
,
'
autologin'
,
'conver/patrol
'
),
filterPath
:
[].
concat
(
signupRouters
,
'login'
,
'
/autologin'
,
'conver/patrol'
,
'/biz/assessment/
'
),
pathname
});
console
.
log
(
'pathname|flag'
,
pathname
,
flag
);
if
(
!
checkLogin
()
&&
flag
)
{
// if (!checkLogin() && flag ) {
// replace('/login');
// }
if
(
!
flag
)
{
replace
(
'/login'
);
}
callback
();
};
const
rootRoutes
=
menus
=>
{
debugger
return
{
path
:
'/'
,
onEnter
:
onEnterValidate
,
//
onEnter: onEnterValidate,
onChange
:
progressStart
,
indexRedirect
:
Login
,
indexRoute
:
{
...
...
src/routes/view.js
View file @
1d6d1687
import
{
Company
,
Department
,
Menu
,
Role
,
SystemDic
,
User
}
from
'amos-security/lib'
;
import
{
viewRoutesMapping
}
from
'amos-rules-config'
;
import
parsePlugin
from
'./parsePlugin'
;
...
...
@@ -65,12 +64,6 @@ const Routes = {
biz
:
RootBizView
,
console
:
ConsoleView
,
company
:
Company
,
department
:
Department
,
menu
:
Menu
,
role
:
Role
,
systemdic
:
SystemDic
,
user
:
User
,
// config: Config,
config
:
SubConsoleView
,
'3dview'
:
Three3dView
,
...
...
src/services/securityService.js
View file @
1d6d1687
...
...
@@ -2,14 +2,16 @@ import {
opSearchMenusAction
,
userInfoAction
}
from
'amos-security/lib/services'
;
import
formatUrl
from
'amos-processor/lib/utils/urlFormat'
;
import
formatUrl
from
'amos-processor/lib/utils/urlFormat'
;
import
{
secExtUrl
}
from
'./../consts/urlConsts'
;
import
{
commonGet
,
commonPost
}
from
'./../utils/request'
;
import
{
FasSerUrl
}
from
'./../consts/urlConsts'
;
export
const
getMenusAction
=
()
=>
{
const
url
=
formatUrl
(
secExtUrl
.
opSearchMenusUrl
,
{
nodeName
:
''
,
type
:
window
.
V3DpermissionType
});
return
opSearchMenusAction
(
url
);
};
//
export const getMenusAction = () => {
//
const url = formatUrl(secExtUrl.opSearchMenusUrl, { nodeName: '', type: window.V3DpermissionType });
//
return opSearchMenusAction(url);
//
};
export
const
getBizMenusAction
=
(
parentKey
)
=>
{
const
url
=
formatUrl
(
secExtUrl
.
opSearchBizMenusUrl
,
{
code
:
parentKey
});
...
...
@@ -19,3 +21,28 @@ export const getBizMenusAction = (parentKey) => {
export
const
getUserInfoById
=
(
userId
)
=>
{
return
userInfoAction
(
userId
);
};
//=====================================================新加
export
const
getSystemAllMenu
=
()
=>
{
return
commonGet
(
formatUrl
(
secExtUrl
.
systemMenusUrl
));
};
export
const
getCurrentUser
=
()
=>
{
return
commonGet
(
secExtUrl
.
currentUserUrl
);
};
export
const
regionSelectAction
=
(
body
)
=>
{
let
url
=
formatUrl
(
FasSerUrl
.
regionSelectUrl
);
return
commonPost
(
url
,
body
);
};
export
const
getSelectedOrgInfoAction
=
(
id
)
=>
{
return
commonGet
(
FasSerUrl
.
selectedOrgInfoUrl
);
};
/**
* 获取当前角色权限菜单
* @param {*} roleSeq 角色Id
*/
export
const
getPermissionsMenus
=
(
roleSeq
)
=>
{
return
commonGet
(
formatUrl
(
secExtUrl
.
permissionsMenusUrl
,
{
roleSeq
}));
};
\ No newline at end of file
src/styles/view/region/index.scss
View file @
1d6d1687
...
...
@@ -3,7 +3,7 @@
width
:
100%
;
height
:
100%
;
text-align
:
center
;
background
:
url('../../assets/region/region-bg.png')
no-repeat
$core-border-color
;
background
:
url('../../assets/region/region-bg.png')
no-repeat
rgb
(
222
,
221
,
222
);
//$core-border-color
flex-wrap
:
wrap
;
justify-content
:
center
;
align-items
:
center
;
...
...
@@ -12,7 +12,7 @@
position
:
relative
;
display
:
inline-block
;
width
:
320px
;
height
:
40
0px
;
height
:
34
0px
;
margin
:
1rem
;
font-size
:
40px
;
font-weight
:
bold
;
...
...
@@ -20,10 +20,10 @@
cursor
:
pointer
;
background-color
:
#282828
;
//$core-tint-color;
border
:
3px
solid
#222
;
//$core-border-color;
border-radius
:
$core-border-radius
;
//
border-radius: $core-border-radius;
&
:hover
{
border
:
3px
solid
$danger-color
;
border
:
3px
solid
#f94242
;
}
img
{
...
...
@@ -31,6 +31,20 @@
height
:
250px
;
}
.form-item
{
width
:
70%
;
}
.region-form
{
margin-top
:
60px
;
}
.regoin-button
{
width
:
200px
;
height
:
40px
;
font-size
:
19px
;
}
.region-item-label
{
position
:
absolute
;
bottom
:
1rem
;
...
...
src/utils/FileUtils.js
View file @
1d6d1687
...
...
@@ -64,7 +64,10 @@ export const downLoadFilePost = (url,searchParam)=>{
Accept
:
'application/vnd.ms-excel'
,
'Content-Type'
:
'application/json; charset=utf-8'
,
'X-Api-Key'
:
_amosTool
.
Store
.
getCookieByName
(
apiKey
),
'X-Access-Token'
:
ls
.
read
(
token
)
'X-Access-Token'
:
ls
.
read
(
token
),
'appKey'
:
'CONVERTER_STATION'
,
'product'
:
'CONVERTER_STATION_WEB'
,
'token'
:
ls
.
read
(
token
)
},
body
:
JSON
.
stringify
(
searchParam
)
}).
then
(
e
=>
{
...
...
src/utils/payload.js
0 → 100644
View file @
1d6d1687
export
default
function
(
data
,
delRequest
){
window
.
setLoading
&&
window
.
setLoading
(
false
);
return
new
Promise
((
resolve
,
reject
)
=>
{
debugger
if
(
data
)
{
if
(
data
.
dataList
||
data
.
dataList
===
null
){
if
(
data
.
result
===
'SUCCESS'
){
resolve
(
data
.
dataList
);
}
else
{
resolve
(
data
.
result
);
}
}
else
if
(
data
.
result
||
data
.
result
===
null
){
resolve
(
data
.
result
);
}
else
{
resolve
(
data
);
}
}
else
{
if
(
data
)
{
reject
(
data
.
message
);
}
else
{
reject
(
data
);
}
}
});
}
src/utils/request.js
View file @
1d6d1687
import
amosRequest
,
{
singleFetch
,
commonGet
,
commonPost
,
commonPut
,
commonDelete
}
from
'amos-processor/lib/fetch/amosRequest'
;
import
{
utils
}
from
'amos-tool'
;
import
amosRequest
,
{
singleFetch
}
from
'amos-processor/lib/fetch/amosRequest'
;
import
{
utils
,
Store
}
from
'amos-tool'
;
import
{
message
}
from
'amos-framework'
;
import
formatUrl
from
'amos-processor/lib/utils/urlFormat'
;
import
{
getToken
}
from
'amos-security/lib/utils/tokenUtils'
;
import
SysConsts
from
'amos-processor/lib/config/consts'
;
import
payload
from
'./payload'
;
const
lsTool
=
Store
.
lsTool
;
const
defaultPageable
=
{
page
:
0
,
size
:
10
};
const
defaultHeaders
=
{
appKey
:
'CONVERTER_STATION'
,
product
:
'CONVERTER_STATION_WEB'
,
};
const
compleHeaders
=
()
=>
{
return
{
...
defaultHeaders
,
token
:
getToken
()
};
};
/**
* 获取 token
*/
const
getToken
=
()
=>
{
debugger
return
lsTool
.
read
(
SysConsts
.
token
);
}
/**
* 删除全局变量requests中的地址
* @param {*} url
* @param {*} method
*/
const
delRequest
=
(
url
,
method
)
=>
{
if
(
window
.
requests
&&
window
.
requests
.
length
>
0
)
{
window
.
requests
=
window
.
requests
.
filter
(
e
=>
e
.
url
!==
url
&&
e
.
method
!==
method
);
}
};
/**
* 构建分页
*/
...
...
@@ -31,10 +66,68 @@ const convertDatalist = (dataList = [], key = 'content') => {
return
newDL
;
};
export
function
commonGet
(
url
)
{
window
.
setLoading
&&
window
.
setLoading
(
true
);
return
amosRequest
(
url
,
{
timeout
:
10000000
,
method
:
'GET'
,
headers
:
compleHeaders
(),
reject
(
error
){
window
.
setLoading
&&
window
.
setLoading
(
false
);
delRequest
(
url
,
'GET'
);
//message.danger(error.message || '请求失败,服务器错误!');
}
}).
then
(
data
=>
payload
(
data
));
}
export
function
commonPost
(
url
,
data
,
params
)
{
window
.
setLoading
&&
window
.
setLoading
(
true
);
return
amosRequest
(
url
,
{
timeout
:
10000000
,
method
:
'POST'
,
headers
:
compleHeaders
(),
body
:
data
,
reject
(
error
){
delRequest
(
url
,
'POST'
);
window
.
setLoading
&&
window
.
setLoading
(
false
);
//message.danger(error.message || '请求失败,服务器错误!');
}
}).
then
(
data
=>
payload
(
data
));
}
export
function
commonPut
(
url
,
data
,
params
)
{
window
.
setLoading
&&
window
.
setLoading
(
true
);
return
amosRequest
(
url
,
{
timeout
:
10000000
,
method
:
'PUT'
,
headers
:
compleHeaders
(),
body
:
data
,
reject
(
error
){
delRequest
(
url
,
'PUT'
);
window
.
setLoading
&&
window
.
setLoading
(
false
);
//message.danger(error.message || '请求失败,服务器错误!');
}
}).
then
(
data
=>
payload
(
data
));
}
export
function
commonDelete
(
url
,
data
,
params
)
{
window
.
setLoading
&&
window
.
setLoading
(
true
);
return
amosRequest
(
url
,
{
timeout
:
10000000
,
method
:
'DELETE'
,
headers
:
compleHeaders
(),
body
:
data
,
reject
(
error
){
window
.
setLoading
&&
window
.
setLoading
(
false
);
//message.danger(error.message || '请求失败,服务器错误!');
}
}).
then
(
data
=>
payload
(
data
));
}
export
const
getWithCookie
=
(
url
)
=>
{
return
commonGet
(
url
,
{
hasCookie
:
true
});
};
export
{
amosRequest
,
singleFetch
,
co
mmonGet
,
commonPost
,
commonPut
,
commonDelete
,
convertDatalist
,
buildPageable
,
formatUrl
,
getToken
};
export
{
amosRequest
,
singleFetch
,
co
nvertDatalist
,
buildPageable
,
formatUrl
};
src/view/3dview/datapane/setting/UserSetting.js
View file @
1d6d1687
...
...
@@ -5,10 +5,9 @@ import { Button } from 'amos-framework';
import
imgStatic
from
'CONSTS/imgStatic'
;
import
{
CONSTS
}
from
'CONSTS/storageConsts'
;
import
{
SecurityUrl
}
from
'CONSTS/urlConsts'
;
import
{
currentUser
}
from
'amos-security/lib/model/auth'
;
import
enhanceAuthorization
from
'amos-security/lib/view/auth/enhanceAuthorization'
;
import
{
tirggerTransTopic
}
from
'./../../dataProcessor'
;
import
{
getUserInfoById
}
from
'SERVICES/securityService'
;
import
{
getCurrentUser
}
from
'SERVICES/securityService'
;
import
{
getSelectedOrgInfoAction
}
from
'SERVICES/securityService'
;
/**
* 设置-账户设置
...
...
@@ -40,19 +39,31 @@ class UserSetting extends Component {
}
componentDidMount
()
{
this
.
onInit
();
this
.
getSelectedOrgInfo
();
}
componentWillReceiveProps
(
nextProps
)
{
debugger
if
(
nextProps
.
isLoginout
)
{
browserHistory
.
push
(
'/login'
);
}
}
getSelectedOrgInfo
=
()
=>
{
debugger
getSelectedOrgInfoAction
().
then
(
data
=>
{
const
{
user
}
=
this
.
state
;
user
.
company
=
data
.
company
;
user
.
department
=
data
.
department
;
this
.
setState
(
{
user
}
);
});
}
onInit
=
function
()
{
let
userInfo
=
currentUser
()
||
{};
let
userId
=
(
userInfo
||
{}).
userId
;
getUserInfoById
(
userId
).
then
(
data
=>
{
let
userName
=
(
data
.
user
||
{}).
user
Name
;
let
departmentInfo
=
(
data
.
user
||
{}).
department
;
let
companyInfo
=
(
data
.
user
||
{}).
company
;
//let userInfo = currentUser
currentUser() || {};
//
let userId = (userInfo || {}).userId;
getCurrentUser
(
).
then
(
data
=>
{
let
userName
=
data
.
real
Name
;
let
departmentInfo
=
{}
;
let
companyInfo
=
{}
;
this
.
setState
(
{
user
:
{
nickName
:
userName
,
company
:
companyInfo
,
department
:
departmentInfo
}
}
);
});
...
...
@@ -62,9 +73,9 @@ class UserSetting extends Component {
*/
onLogOut
=
()
=>
{
const
{
logout
,
sweepReducers
}
=
this
.
props
;
const
user
=
currentUser
();
//
const user = currentUser();
tirggerTransTopic
(
CONSTS
.
control
,
{
control
:
{
logOut
:
true
}
});
logout
&&
logout
(
SecurityUrl
.
loginOutUrl
,
user
.
userId
);
logout
&&
logout
(
SecurityUrl
.
loginOutUrl
);
sweepReducers
&&
sweepReducers
();
}
...
...
@@ -89,4 +100,4 @@ class UserSetting extends Component {
}
}
export
default
enhanceAuthorization
(
UserSetting
)
;
export
default
UserSetting
;
src/view/autoLogin/AutoLogin.js
View file @
1d6d1687
import
React
,
{
Component
}
from
'react'
;
import
BaseAutoLogin
,
{
updateLoginOptions
}
from
'amos-security/lib/view/login/AutoLogin
'
;
import
*
as
endConf
from
'amos-processor/lib/config/endconf
'
;
import
{
browserHistory
}
from
'amos-react-router
'
;
import
{
Store
,
LocationParam
}
from
'amos-tool
'
;
const
AmosConfig
=
endConf
.
AmosConfig
;
const
pwd
=
AmosConfig
.
autoLoginConf
.
pwd
;
const
lsTool
=
Store
.
lsTool
;
// const AmosConfig = endConf.AmosConfig;
// const pwd = AmosConfig.autoLoginConf.pwd;
// 提前注入登录后的路由,更新登录成功后跳转的页面
updateLoginOptions
({
mainPath
:
'region'
// 默认是 main,此处可以更改登录成功后跳转的默认路由
});
//
updateLoginOptions({
//
mainPath: 'region' // 默认是 main,此处可以更改登录成功后跳转的默认路由
//
});
// 可注入的属性有:loginUrl/loginOutUrl/permissionsUrl/websocketHeartBeatUrl/mainPath
...
...
@@ -19,18 +23,31 @@ updateLoginOptions({
* @extends {Component}
*/
class
AutoLogin
extends
Component
{
// render() {
// const username = this.props.location.query.username;
// const accessToken = this.props.location.query.accessToken;
// const effectiveTime = this.props.location.query.effectiveTime;
// const authParams = {
// userName: username,
// password: pwd,
// accessToken:accessToken,
// effectiveTime:effectiveTime
// };
// return <BaseAutoLogin authParams={authParams} />;
// }
componentWillMount
()
{
debugger
let
token
=
LocationParam
.
getLocationParamByName
(
'token'
);
if
(
token
)
{
browserHistory
.
push
(
'/region'
);
}
}
render
()
{
const
username
=
this
.
props
.
location
.
query
.
username
;
const
accessToken
=
this
.
props
.
location
.
query
.
accessToken
;
const
effectiveTime
=
this
.
props
.
location
.
query
.
effectiveTime
;
const
authParams
=
{
userName
:
username
,
password
:
pwd
,
accessToken
:
accessToken
,
effectiveTime
:
effectiveTime
};
return
<
BaseAutoLogin
authParams
=
{
authParams
}
/>
;
return
null
;
}
}
export
default
AutoLogin
;
\ No newline at end of file
src/view/bizview/equipmentLedger/Equipment/EquipmentModel.js
View file @
1d6d1687
...
...
@@ -292,7 +292,10 @@ class EquipmentModel extends Component {
'
Accept
': '
application
/
json
;
charset
=
UTF
-
8
',
'
X
-
Api
-
Key
': _amosTool.Store.getCookieByName(apiKey),
'
Content
-
Type
': '
application
/
json
;
charset
=
utf
-
8
',
'
X
-
Access
-
Token
': ls.read(token)
'
X
-
Access
-
Token
': ls.read(token),
'
appKey
': '
CONVERTER_STATION
',
'
product
': '
CONVERTER_STATION_WEB
',
'
token
':ls.read(token)
}
}).then(res => {
return res.json();
...
...
src/view/bizview/equipmentLedger/Equipment/index.js
View file @
1d6d1687
...
...
@@ -291,7 +291,10 @@ class Equipment extends Component {
headers
:
{
'Accept'
:
'application/json;charset=UTF-8'
,
'X-Api-Key'
:
_amosTool
.
Store
.
getCookieByName
(
apiKey
),
'X-Access-Token'
:
ls
.
read
(
token
)
'X-Access-Token'
:
ls
.
read
(
token
),
'appKey'
:
'CONVERTER_STATION'
,
'product'
:
'CONVERTER_STATION_WEB'
,
'token'
:
ls
.
read
(
token
)
},
body
:
formData
}).
then
(
e
=>
{
...
...
src/view/bizview/equipmentLedger/FireResources/FireEquipment/FireEquipmentToolBar.js
View file @
1d6d1687
...
...
@@ -67,7 +67,10 @@ class FireEquipmentToolBar extends Component {
showUploadList
:
false
,
headers
:
{
'Accept'
:
'application/json;charset=UTF-8'
,
'X-Access-Token'
:
lsTool
.
read
(
SysConsts
.
token
)
'X-Access-Token'
:
lsTool
.
read
(
SysConsts
.
token
),
'appKey'
:
'CONVERTER_STATION'
,
'product'
:
'CONVERTER_STATION_WEB'
,
'token'
:
lsTool
.
read
(
SysConsts
.
token
)
},
onChange
(
info
)
{
if
(
info
.
file
.
status
!==
'uploading'
)
{
...
...
src/view/bizview/equipmentLedger/FireResources/FireEquipment/PointToolBar.js
View file @
1d6d1687
...
...
@@ -65,7 +65,10 @@ class PointToolBar extends Component {
showUploadList
:
false
,
headers
:
{
'Accept'
:
'application/json;charset=UTF-8'
,
'X-Access-Token'
:
lsTool
.
read
(
SysConsts
.
token
)
'X-Access-Token'
:
lsTool
.
read
(
SysConsts
.
token
),
'appKey'
:
'CONVERTER_STATION'
,
'product'
:
'CONVERTER_STATION_WEB'
,
'token'
:
lsTool
.
read
(
SysConsts
.
token
)
},
onChange
(
info
)
{
if
(
info
.
file
.
status
!==
'uploading'
)
{
...
...
src/view/bizview/equipmentLedger/FireResources/FireStation/fireStation.js
View file @
1d6d1687
...
...
@@ -342,7 +342,10 @@ class FireStationTableView extends Component {
headers
:
{
Accept
:
'application/json;charset=UTF-8'
,
'X-Api-Key'
:
_amosTool
.
Store
.
getCookieByName
(
apiKey
),
'X-Access-Token'
:
ls
.
read
(
token
)
'X-Access-Token'
:
ls
.
read
(
token
),
'appKey'
:
'CONVERTER_STATION'
,
'product'
:
'CONVERTER_STATION_WEB'
,
'token'
:
ls
.
read
(
token
)
},
body
:
formData
})
...
...
src/view/bizview/equipmentLedger/FireResources/FireTruck/FireTruckDetailInfo.js
View file @
1d6d1687
...
...
@@ -197,7 +197,10 @@ class FireTruckDetailInfo extends Component {
headers: {
Accept: '
application
/
json
;
charset
=
UTF
-
8
',
'
X
-
Api
-
Key
': _amosTool.Store.getCookieByName(apiKey),
'
X
-
Access
-
Token
': ls.read(token)
'
X
-
Access
-
Token
': ls.read(token),
'
appKey
': '
CONVERTER_STATION
',
'
product
': '
CONVERTER_STATION_WEB
',
'
token
':ls.read(token)
},
body: formData
})
...
...
src/view/bizview/equipmentLedger/FireResources/fireFoam/fireFoam.js
View file @
1d6d1687
...
...
@@ -341,7 +341,10 @@ class FireFoamable extends Component {
headers
:
{
Accept
:
'application/json;charset=UTF-8'
,
'X-Api-Key'
:
_amosTool
.
Store
.
getCookieByName
(
apiKey
),
'X-Access-Token'
:
ls
.
read
(
token
)
'X-Access-Token'
:
ls
.
read
(
token
),
'appKey'
:
'CONVERTER_STATION'
,
'product'
:
'CONVERTER_STATION_WEB'
,
'token'
:
ls
.
read
(
token
)
},
body
:
formData
})
...
...
src/view/bizview/equipmentLedger/FireResources/water/FireWaterToolBar.js
View file @
1d6d1687
...
...
@@ -49,7 +49,10 @@ class FireWaterToolBar extends Component {
showUploadList
:
false
,
headers
:
{
'Accept'
:
'application/json;charset=UTF-8'
,
'X-Access-Token'
:
lsTool
.
read
(
SysConsts
.
token
)
'X-Access-Token'
:
lsTool
.
read
(
SysConsts
.
token
),
'appKey'
:
'CONVERTER_STATION'
,
'product'
:
'CONVERTER_STATION_WEB'
,
'token'
:
lsTool
.
read
(
SysConsts
.
token
)
},
onChange
(
info
)
{
if
(
info
.
file
.
status
!==
'uploading'
)
{
...
...
src/view/bizview/equipmentLedger/Monitor/index.js
View file @
1d6d1687
...
...
@@ -283,7 +283,10 @@ class Monitor extends Component {
showUploadList
:
false
,
headers
:
{
'Accept'
:
'application/json;charset=UTF-8'
,
'X-Access-Token'
:
lsTool
.
read
(
SysConsts
.
token
)
'X-Access-Token'
:
lsTool
.
read
(
SysConsts
.
token
),
'appKey'
:
'CONVERTER_STATION'
,
'product'
:
'CONVERTER_STATION_WEB'
,
'token'
:
lsTool
.
read
(
SysConsts
.
token
)
},
onChange
(
info
)
{
if
(
info
.
file
.
status
!==
'uploading'
)
{
...
...
src/view/common/header/NavList.js
View file @
1d6d1687
...
...
@@ -5,12 +5,13 @@ import { Nav, NavItem, IndexNavItem } from 'amos-framework';
class
NavList
extends
Component
{
renderNavItem
=
()
=>
{
debugger
const
{
menus
=
[],
onMenuItemClick
}
=
this
.
props
;
return
menus
.
map
((
es
,
index
)
=>
{
const
params
=
{
icon
:
es
.
icon
,
title
:
es
.
n
ame
,
href
:
es
.
url
title
:
es
.
permissionN
ame
,
href
:
es
.
path
};
if
(
es
.
isBlank
){
...
...
src/view/common/mainframe/ExtraTools.js
0 → 100644
View file @
1d6d1687
import
React
,
{
Component
}
from
'react'
;
import
PropTypes
from
'prop-types'
;
import
classnames
from
'classnames'
;
import
{
utils
}
from
'amos-tool'
;
import
{
browserHistory
}
from
'amos-react-router'
;
import
{
Menu
,
User
}
from
'amos-framework'
;
import
{
getCurrentUser
}
from
'./../../../services/securityService'
;
class
ExtraTools
extends
Component
{
static
propTypes
=
{
userPic
:
PropTypes
.
string
,
loginOutUrl
:
PropTypes
.
string
,
showText
:
PropTypes
.
bool
,
isLoginout
:
PropTypes
.
bool
,
// 权限相关,主要封装注销、清理reducer
authProps
:
PropTypes
.
shape
({
logout
:
PropTypes
.
func
,
sweepReducers
:
PropTypes
.
func
}),
onNavItemClick
:
PropTypes
.
func
,
// 用户按钮额外内容
userExtra
:
PropTypes
.
oneOfType
([
PropTypes
.
node
,
PropTypes
.
element
,
PropTypes
.
bool
]),
userInfoLink
:
PropTypes
.
string
,
// [MenuItem, MenuItem, ... ]
extraTools
:
PropTypes
.
arrayOf
(
PropTypes
.
oneOfType
([
PropTypes
.
node
,
PropTypes
.
element
]))
};
static
defaultProps
=
{
userInfoLink
:
'/main/userinfo'
};
constructor
(
props
)
{
super
(
props
);
this
.
state
=
{
userInfo
:
{}
};
}
componentDidMount
()
{
this
.
loadUserInfo
();
}
loadUserInfo
=
()
=>
{
getCurrentUser
().
then
(
d
=>
{
this
.
setState
({
userInfo
:
d
});
});
}
handleClickUser
=
()
=>
{
const
{
userInfo
}
=
this
.
state
;
const
{
userInfoLink
,
onNavItemClick
,
userPic
}
=
this
.
props
;
onNavItemClick
&&
onNavItemClick
({});
browserHistory
.
push
({
pathname
:
userInfoLink
,
state
:
{
userId
:
userInfo
.
userId
,
userPic
}
});
};
handleLogOut
=
()
=>
{
const
{
userInfo
}
=
this
.
state
;
const
{
loginOutUrl
,
authProps
}
=
this
.
props
;
const
{
logout
,
sweepReducers
}
=
authProps
;
logout
&&
logout
(
loginOutUrl
,
userInfo
.
userId
);
sweepReducers
&&
sweepReducers
();
window
.
localStorage
.
removeItem
(
'cityLine'
);
};
render
()
{
const
{
userInfo
}
=
this
.
state
;
const
{
showText
,
userPic
,
userExtra
,
extraTools
}
=
this
.
props
;
const
cls
=
classnames
(
'sys-tools'
,
{
'sys-tools-min'
:
!
showText
});
let
userContent
;
if
(
userExtra
)
{
userContent
=
utils
.
isBoolean
(
userExtra
)
?
(
<
ul
>
<
li
className
=
"modify-pwd"
onClick
=
{
this
.
handleClickUser
}
>
修改密码
<
/li
>
<
/ul
>
)
:
userExtra
;
}
const
basicInfo
=
{
userName
:
userInfo
.
userName
,
subInfo
:
userInfo
.
nickName
};
return
(
<
div
className
=
{
cls
}
>
<
Menu
direction
=
"horizontal"
>
{
extraTools
&&
extraTools
}
<
/Menu
>
<
User
userPic
=
{
userPic
}
basicInfo
=
{
basicInfo
}
handleLogOut
=
{
this
.
handleLogOut
}
extra
=
{
userContent
}
onAvatarClick
=
{
this
.
handleClickUser
}
/
>
<
/div
>
);
}
}
export
default
ExtraTools
;
src/view/common/mainframe/Header.js
0 → 100644
View file @
1d6d1687
import
React
,
{
Component
}
from
'react'
;
import
PropTypes
from
'prop-types'
;
import
RayMediaquery
from
'ray-mediaquery'
;
import
Logo
from
'./Logo'
;
import
MenuList
from
'./MenuList'
;
import
ExtraTools
from
'./ExtraTools'
;
/**
* 通用header
*
* @class Header
* @extends {Component}
*/
class
Header
extends
Component
{
constructor
(
props
)
{
super
(
props
);
this
.
state
=
{
activeHeight
:
0
,
showText
:
true
};
this
.
expanded
=
false
;
}
componentDidMount
()
{
RayMediaquery
.
register
(
'only screen and (min-width: 0) and (max-width: 992px)'
,
{
match
:
()
=>
{
this
.
setState
({
showText
:
false
});
},
unmatch
:
()
=>
{
this
.
setState
({
showText
:
true
});
}
});
}
onMouseOver
=
()
=>
{
// 未打开
if
(
!
this
.
expanded
){
this
.
expanded
=
true
;
this
.
toggleSubMenu
(
this
.
expanded
);
}
}
onMouseOut
=
()
=>
{
if
(
this
.
expanded
){
this
.
expanded
=
false
;
this
.
toggleSubMenu
(
this
.
expanded
);
}
}
toggleSubMenu
=
(
flag
)
=>
{
const
{
height
}
=
this
.
props
;
const
activeHeight
=
flag
?
height
:
0
;
this
.
setState
({
activeHeight
});
}
render
()
{
const
{
activeHeight
,
showText
}
=
this
.
state
;
return
(
<
div
className
=
"header"
>
<
div
className
=
"header-navs"
>
<
Logo
{...
this
.
props
}
showText
=
{
showText
}
/
>
<
MenuList
{...
this
.
props
}
height
=
{
activeHeight
}
showText
=
{
showText
}
toggleSubMenu
=
{
this
.
toggleSubMenu
}
onMenuOpen
=
{
this
.
onMouseOver
}
onMenuClosed
=
{
this
.
onMouseOut
}
/
>
<
ExtraTools
{...
this
.
props
}
showText
=
{
showText
}
/
>
<
/div
>
<
/div
>
);
}
}
Header
.
defaultProps
=
{
height
:
250
};
Header
.
propTypes
=
{
height
:
PropTypes
.
number
};
export
default
Header
;
src/view/common/mainframe/LevelMenu.js
0 → 100644
View file @
1d6d1687
import
React
,
{
Component
}
from
'react'
;
import
PropTypes
from
'prop-types'
;
import
{
Link
}
from
'amos-react-router'
;
import
Icon
from
'amos-icon'
;
import
{
Icon
as
AFIcon
}
from
'amos-framework'
;
import
connectMenu
from
'./connectMenu'
;
/**
* 级别 menu
* @class LevelMenu
* @extends {Component}
*/
@
connectMenu
export
default
class
LevelMenu
extends
Component
{
renderItemLink
=
(
item
)
=>
{
const
{
iconPrefix
}
=
this
.
props
;
const
{
icon
,
label
,
isBlank
,
path
,
permissionName
}
=
item
;
const
NavIcon
=
icon
&&
<
Icon
icon
=
{
icon
}
prefix
=
{
iconPrefix
}
className
=
"menu-item-icon"
/>
;
let
Item
;
if
(
isBlank
)
{
Item
=
(
<
a
href
=
{
path
}
target
=
"_blank"
rel
=
"noopener noreferrer"
className
=
"menu-item-link"
>
{
NavIcon
}
{
permissionName
}
<
/a
>
);
}
else
{
Item
=
(
<
Link
to
=
{
path
}
className
=
"menu-item-link"
>
{
NavIcon
}
{
permissionName
}
<
/Link
>
);
}
return
Item
;
}
render
()
{
const
{
className
,
onClick
,
nonChild
,
children
}
=
this
.
props
;
return
(
<
li
className
=
{
className
}
onClick
=
{
onClick
}
>
{
this
.
renderItemLink
(
this
.
props
)}
{
!
nonChild
&&
<
AFIcon
icon
=
"right"
className
=
"menu-subitem-icon"
/>
}
{
!
nonChild
&&
children
}
<
/li
>
);
}
}
LevelMenu
.
propTypes
=
{
nonChild
:
PropTypes
.
bool
,
className
:
PropTypes
.
string
,
iconPrefix
:
PropTypes
.
string
,
onClick
:
PropTypes
.
func
,
children
:
PropTypes
.
node
};
src/view/common/mainframe/Logo.js
0 → 100644
View file @
1d6d1687
import
React
,
{
Component
}
from
'react'
;
import
PropTypes
from
'prop-types'
;
/**
* logo 组件,支持扩展额外按钮功能
* @class Logo
* @extends {Component}
*/
class
Logo
extends
Component
{
render
()
{
const
{
logoImg
,
onLogoClick
}
=
this
.
props
;
return
(
<
div
className
=
"logo-wrapper"
>
<
div
className
=
"header-logo"
onClick
=
{
onLogoClick
}
>
{
/* <img className="header-logo-pic" src={logoImg} alt="" /> */
}
<
div
className
=
"logo-text"
>
安全预控执行系统
<
/div
>
<
/div
>
<
/div
>
);
}
}
Logo
.
propTypes
=
{
logoImg
:
PropTypes
.
string
,
onLogoClick
:
PropTypes
.
func
,
logoExtra
:
PropTypes
.
oneOfType
([
PropTypes
.
node
,
PropTypes
.
bool
])
};
export
default
Logo
;
src/view/common/mainframe/MainFrameView.js
0 → 100644
View file @
1d6d1687
import
React
,
{
Component
}
from
'react'
;
import
PropTypes
from
'prop-types'
;
import
{
browserHistory
}
from
'amos-react-router'
;
import
{
Layout
}
from
'amos-framework'
;
import
{
Store
,
utils
}
from
'amos-tool'
;
import
SysConsts
from
'amos-processor/lib/config/consts'
;
import
{
getPermissionsMenus
}
from
'../../../services/securityService'
;
import
Header
from
'./Header'
;
import
'./style/index.scss'
;
import
{
isArray
}
from
'amos-pluggable/lib/_utils'
;
const
{
Content
}
=
Layout
;
const
lsTool
=
Store
.
lsTool
;
/**
* root
*
* @class MainFrame
* @extends {Component}
*/
class
MainFrame
extends
Component
{
static
propTypes
=
{
children
:
PropTypes
.
node
,
logoImg
:
PropTypes
.
string
,
logoExtra
:
PropTypes
.
oneOfType
([
PropTypes
.
node
,
PropTypes
.
bool
]),
opSearchMenusUrl
:
PropTypes
.
string
,
// 菜单获取完成之后的操作[可进行打开默认页面] (menus) => {}
onMenuLoadCompleted
:
PropTypes
.
func
,
defaultLink
:
PropTypes
.
string
,
// 执行注销是跳转的路由,或者注销之后手动执行的方法
loginLink
:
PropTypes
.
oneOfType
([
PropTypes
.
func
]),
sysToolPorps
:
PropTypes
.
object
,
isLoginout
:
PropTypes
.
bool
,
logout
:
PropTypes
.
func
,
sweepReducers
:
PropTypes
.
func
,
selectedSubMenuKey
:
PropTypes
.
string
,
onLogoClick
:
PropTypes
.
func
,
renderSubmenu
:
PropTypes
.
func
,
// 菜单宽度
menuWidth
:
PropTypes
.
oneOfType
([
PropTypes
.
string
,
PropTypes
.
number
]),
// 系统中使用到的 amos-icon组件,设置统一的 prefix,默认为 `amosicon`
iconPrefix
:
PropTypes
.
string
};
static
defaultProps
=
{
iconPrefix
:
'amosicon'
,
defaultLink
:
'/main'
,
loginLink
:
()
=>
{},
onMenuLoadCompleted
:
()
=>
{},
menuWidth
:
'160px'
,
logoImg
:
require
(
'./../../../assets/logo/amos-logo.png'
)
};
constructor
(
props
)
{
super
(
props
);
this
.
state
=
{
collapsed
:
false
,
extendSystem
:
[],
defaultHomeUrl
:
''
};
this
.
selectedSubMenuKey
=
''
;
}
componentDidMount
()
{
this
.
onPermissionFetch
();
}
componentWillReceiveProps
(
nextProps
)
{
const
{
loginLink
}
=
this
.
props
;
if
(
nextProps
.
isLoginout
)
{
if
(
utils
.
isFunction
(
loginLink
)){
loginLink
();
}
}
}
onPermissionFetch
=
()
=>
{
debugger
const
{
onMenuLoadCompleted
}
=
this
.
props
;
let
role
=
lsTool
.
read
(
'selectedRole'
);
getPermissionsMenus
(
role
).
then
((
menus
=
[])
=>
{
let
userMenus
=
[];
isArray
(
menus
)
&&
menus
.
forEach
(
element
=>
{
if
(
element
.
permissionType
===
'MENU'
&&
element
.
path
===
'biz'
)
{
userMenus
.
push
(
element
.
children
);
}
else
if
(
element
.
permissionType
===
'MENU'
&&
element
.
path
===
'main'
)
{
userMenus
.
push
(
element
.
children
);
}
});
const
lsTool
=
Store
.
lsTool
;
lsTool
.
write
(
SysConsts
.
permissions
,
JSON
.
stringify
(
menus
));
let
bizMenus
=
[];
let
allMenus
=
[];
for
(
let
i
=
0
;
i
<
userMenus
.
length
;
i
++
)
{
for
(
let
j
=
0
;
j
<
userMenus
[
i
].
length
;
j
++
)
{
allMenus
.
push
(
userMenus
[
i
][
j
])
}
}
bizMenus
=
this
.
filterMenusButton
(
allMenus
);
this
.
setState
({
extendSystem
:
bizMenus
},
()
=>
onMenuLoadCompleted
(
bizMenus
));
});
};
onLogoClick
=
()
=>
{
const
{
defaultLink
}
=
this
.
props
;
// if (defaultLink){
// this.context.router ? this.context.router.push(defaultLink) : browserHistory.push(defaultLink);
// }
browserHistory
.
push
(
'/main/3dview'
);
this
.
props
.
onLogoClick
&&
this
.
props
.
onLogoClick
();
}
filterMenusButton
=
(
menus
)
=>
{
debugger
return
menus
.
filter
(
menu
=>
{
if
(
menu
.
children
&&
menu
.
permissionType
===
'SUBMENU'
)
{
menu
.
children
=
this
.
filterMenusButton
(
menu
.
children
);
return
true
;
}
if
(
!
menu
.
children
&&
menu
.
permissionType
===
'SUBMENU'
)
{
return
true
;
}
if
(
!
menu
.
children
||
menu
.
permissionType
===
'BUTTON'
)
{
return
false
;
}
}
);
}
render
()
{
const
{
children
,
logoImg
,
sysToolPorps
,
logout
,
sweepReducers
,
logoExtra
,
renderSubmenu
,
menuWidth
,
iconPrefix
}
=
this
.
props
;
const
{
extendSystem
}
=
this
.
state
;
const
authProps
=
{
logout
,
sweepReducers
};
return
(
<
div
className
=
"view-port"
>
<
Header
navs
=
{
extendSystem
}
logoText
=
{
'安全预控执行系统'
}
onLogoClick
=
{
this
.
onLogoClick
}
onNavItemClick
=
{
this
.
handleMenuClick
}
renderSubmenu
=
{
renderSubmenu
}
authProps
=
{
authProps
}
logoExtra
=
{
logoExtra
}
menuWidth
=
{
menuWidth
}
iconPrefix
=
{
iconPrefix
}
{...
sysToolPorps
}
/
>
<
div
className
=
"content-body"
>
<
Layout
style
=
{{
height
:
'100%'
}}
>
<
Content
style
=
{{
height
:
'100%'
}}
>
<
div
className
=
"amos-main-content"
style
=
{{
width
:
'100%'
,
height
:
'100%'
}}
>
{
children
}
<
/div
>
<
/Content
>
<
/Layout
>
<
/div
>
<
/div
>
);
}
}
export
default
MainFrame
;
src/view/common/mainframe/MenuItem.js
0 → 100644
View file @
1d6d1687
import
React
,
{
PureComponent
}
from
'react'
;
import
PropTypes
from
'prop-types'
;
import
{
Link
}
from
'amos-react-router'
;
import
{
utils
}
from
'amos-tool'
;
import
Icon
from
'amos-icon'
;
import
{
Icon
as
AFIcon
}
from
'amos-framework'
;
import
classNames
from
'classnames'
;
import
SubMenuItem
from
'./SubMenuItem'
;
import
connectMenu
from
'./connectMenu'
;
/**
* 菜单 Item
*
* @class MenuItem
* @extends {PureComponent}
*/
@
connectMenu
class
MenuItem
extends
PureComponent
{
constructor
(
props
)
{
super
(
props
);
}
isActive
=
()
=>
{
const
{
menuKey
,
activeKey
}
=
this
.
props
;
return
menuKey
===
activeKey
;
}
genHiddenStyle
=
()
=>
{
const
{
height
=
0
}
=
this
.
props
;
if
(
height
>
0
){
return
{};
}
return
{
display
:
'none'
};
}
genStyle
=
()
=>
{
const
{
menuWidth
}
=
this
.
props
;
if
(
menuWidth
){
return
{
width
:
menuWidth
};
}
return
{};
}
renderItemLink
=
(
item
)
=>
{
const
{
iconPrefix
}
=
this
.
props
;
const
NavIcon
=
item
.
icon
&&
<
Icon
icon
=
{
item
.
icon
}
prefix
=
{
iconPrefix
}
className
=
"menu-item-icon"
/>
;
let
Item
;
if
(
item
.
isBlank
)
{
Item
=
(
<
a
href
=
{
item
.
path
}
target
=
"_blank"
rel
=
"noopener noreferrer"
className
=
"menu-item-link"
>
{
NavIcon
}
{
item
.
permissionName
}
<
/a
>
);
}
else
{
Item
=
(
<
Link
to
=
{
item
.
path
}
className
=
"menu-item-link"
>
{
NavIcon
}
{
item
.
permissionName
}
<
/Link
>
);
}
return
Item
;
}
renderSub
=
()
=>
{
const
{
menuKey
,
children
,
onSubMenuClick
,
activeSubKey
,
setSubMenuActive
,
renderSubmenu
,
menuWidth
,
iconPrefix
}
=
this
.
props
;
const
hiddenStyle
=
this
.
genHiddenStyle
();
return
(
<
ul
className
=
"menu-sublist"
>
{
children
.
map
(
c
=>
{
const
cls
=
classNames
(
'menu-subitem'
,
{
'active'
:
c
.
sequenceNbr
===
activeSubKey
});
if
(
renderSubmenu
){
return
renderSubmenu
({
...
c
,
className
:
cls
,
onSubMenuClick
,
setSubMenuActive
});
}
return
(
<
SubMenuItem
{...
c
}
key
=
{
c
.
sequenceNbr
}
className
=
{
cls
}
iconPrefix
=
{
iconPrefix
}
menuKey
=
{
c
.
sequenceNbr
}
rootMenuKey
=
{
menuKey
}
subItems
=
{
c
.
children
}
onClick
=
{()
=>
onSubMenuClick
(
menuKey
,
c
.
sequenceNbr
)}
onSubMenuClick
=
{
onSubMenuClick
}
setMenuActive
=
{
setSubMenuActive
}
menuWidth
=
{
menuWidth
}
>
{
this
.
renderItemLink
(
c
)}
{
c
.
children
&&
c
.
children
.
length
>
0
&&
<
AFIcon
icon
=
"right"
className
=
"menu-subitem-icon"
style
=
{
hiddenStyle
}
/>
}
<
/SubMenuItem
>
);
})
}
<
/ul
>
);
}
/** 渲染一个没有二级菜单的块,用于颜色分布 */
renderNonSub
=
()
=>
{
return
(
<
ul
className
=
"menu-sublist"
/>
);
}
renderFooter
=
()
=>
{
const
{
footerIcon
,
extraIcon
,
icon
,
iconPrefix
}
=
this
.
props
;
const
hiddenStyle
=
this
.
genHiddenStyle
();
const
_icon
=
footerIcon
||
extraIcon
||
icon
;
const
imgContent
=
utils
.
isImageSrc
(
_icon
)
?
<
img
src
=
{
_icon
}
alt
=
""
/>
:
<
Icon
prefix
=
{
iconPrefix
}
icon
=
{
_icon
}
/>
;
return
(
<
div
className
=
"nav-menu-item-footer"
style
=
{
hiddenStyle
}
>
<
div
className
=
"footer-icon"
>
{
imgContent
}
<
/div
>
<
span
className
=
"footer-line"
/>
<
/div
>
);
}
render
()
{
const
{
menuKey
,
permissionName
,
children
,
activeKey
,
height
=
0
,
...
rest
}
=
this
.
props
;
let
itemContent
;
if
(
children
){
itemContent
=
<
div
className
=
"nav-menu-item-label"
>
{
permissionName
}
<
/div>
;
}
else
{
itemContent
=
<
div
className
=
"nav-menu-item-label nav-menu-nonchild-item"
>
{
this
.
renderItemLink
({
permissionName
,
...
rest
})}
<
/div>
;
}
const
cls
=
classNames
(
'nav-menu-item'
,
{
'active'
:
menuKey
===
activeKey
});
const
style
=
this
.
genStyle
();
return
(
<
li
className
=
{
cls
}
style
=
{
style
}
>
{
itemContent
}
{
children
&&
<
AFIcon
icon
=
"caretdown"
className
=
"nav-menu-item-icon"
/>
}
<
div
className
=
"menusub-wrapper"
style
=
{{
height
,
...
style
}}
>
{
children
&&
this
.
renderSub
()}
{
!
children
&&
this
.
renderNonSub
()}
{
this
.
renderFooter
()}
<
/div
>
<
/li
>
);
}
}
MenuItem
.
propTypes
=
{
height
:
PropTypes
.
number
,
menuKey
:
PropTypes
.
string
,
permissionName
:
PropTypes
.
string
.
isRequired
,
iconPrefix
:
PropTypes
.
string
,
icon
:
PropTypes
.
string
,
footerIcon
:
PropTypes
.
string
,
extraIcon
:
PropTypes
.
string
,
path
:
PropTypes
.
string
,
children
:
PropTypes
.
arrayOf
(
PropTypes
.
shape
({
sequenceNbr
:
PropTypes
.
string
.
isRequired
,
permissionName
:
PropTypes
.
string
,
icon
:
PropTypes
.
string
,
path
:
PropTypes
.
string
,
isBlank
:
PropTypes
.
bool
})),
activeKey
:
PropTypes
.
string
,
activeSubKey
:
PropTypes
.
string
,
setMenuActive
:
PropTypes
.
func
,
setSubMenuActive
:
PropTypes
.
func
,
onSubMenuClick
:
PropTypes
.
func
,
onMenuClosed
:
PropTypes
.
func
,
toggleSubMenu
:
PropTypes
.
func
,
renderSubmenu
:
PropTypes
.
func
,
menuWidth
:
PropTypes
.
oneOfType
([
PropTypes
.
string
,
PropTypes
.
number
])
};
export
default
MenuItem
;
src/view/common/mainframe/MenuList.js
0 → 100644
View file @
1d6d1687
import
React
,
{
PureComponent
}
from
'react'
;
import
PropTypes
from
'prop-types'
;
import
MenuItem
from
'./MenuItem'
;
/**
* 菜单 列表
*
* @class MenuList
* @extends {PureComponent}
*/
class
MenuList
extends
PureComponent
{
constructor
(
props
)
{
super
(
props
);
this
.
state
=
{
/** 当前选中一级菜单 key */
activeKey
:
''
,
/** 当前选中的二级菜单 key */
activeSubKey
:
''
};
}
onSubMenuClick
=
(
key
,
subKey
)
=>
{
this
.
setState
({
activeKey
:
key
,
activeSubKey
:
subKey
});
this
.
props
.
onMenuClosed
();
}
setMenuActive
=
(
key
)
=>
{
const
{
activeKey
}
=
this
.
state
;
if
(
activeKey
!==
key
){
this
.
setState
({
activeKey
:
key
});
}
}
setSubMenuActive
=
(
key
)
=>
{
const
{
activeSubKey
}
=
this
.
state
;
if
(
activeSubKey
!==
key
){
this
.
setState
({
activeSubKey
:
key
});
}
}
render
()
{
const
{
activeKey
,
activeSubKey
}
=
this
.
state
;
const
{
height
,
navs
,
onMenuOpen
,
onMenuClosed
,
toggleSubMenu
,
renderSubmenu
,
menuWidth
,
iconPrefix
}
=
this
.
props
;
const
cls
=
height
>
0
?
'nav-menu-box menu-expanded'
:
'nav-menu-box'
;
//业务屏菜单
// debugger;
return
(
<
div
className
=
"nav-menu-wrapper"
>
<
div
className
=
{
cls
}
>
<
div
className
=
"nav-menu-bg"
style
=
{{
height
}}
onMouseOver
=
{
this
.
onMouseOver
}
onMouseOut
=
{
this
.
onMouseOut
}
/
>
<
ul
className
=
"nav-menu-list"
onMouseOver
=
{
onMenuOpen
}
onMouseOut
=
{
onMenuClosed
}
>
{
(
navs
||
[]).
map
(
n
=>
{
const
{
sequenceNbr
,
...
rest
}
=
n
;
return
(
<
MenuItem
key
=
{
sequenceNbr
}
{...
rest
}
iconPrefix
=
{
iconPrefix
}
menuKey
=
{
sequenceNbr
}
height
=
{
height
}
activeKey
=
{
activeKey
}
activeSubKey
=
{
activeSubKey
}
setMenuActive
=
{
this
.
setMenuActive
}
setSubMenuActive
=
{
this
.
setSubMenuActive
}
onSubMenuClick
=
{
this
.
onSubMenuClick
}
onMenuClosed
=
{
onMenuClosed
}
toggleSubMenu
=
{
toggleSubMenu
}
renderSubmenu
=
{
renderSubmenu
}
menuWidth
=
{
menuWidth
}
/>
)
;
})
}
<
/ul
>
<
/div
>
<
/div
>
);
}
}
MenuList
.
propTypes
=
{
height
:
PropTypes
.
number
,
navs
:
PropTypes
.
arrayOf
(
PropTypes
.
shape
({
sequenceNbr
:
PropTypes
.
string
.
isRequired
,
permissionName
:
PropTypes
.
string
.
isRequired
,
icon
:
PropTypes
.
string
,
path
:
PropTypes
.
string
,
children
:
PropTypes
.
array
})),
toggleSubMenu
:
PropTypes
.
func
,
onMenuOpen
:
PropTypes
.
func
,
onMenuClosed
:
PropTypes
.
func
,
renderSubmenu
:
PropTypes
.
func
,
menuWidth
:
PropTypes
.
oneOfType
([
PropTypes
.
string
,
PropTypes
.
number
])
};
export
default
MenuList
;
src/view/common/mainframe/SubMenuItem.js
0 → 100644
View file @
1d6d1687
/* eslint-disable no-plusplus */
import
React
,
{
PureComponent
}
from
'react'
;
import
PropTypes
from
'prop-types'
;
import
{
utils
}
from
'amos-tool'
;
import
classNames
from
'classnames'
;
import
connectMenu
from
'./connectMenu'
;
import
LevelMenu
from
'./LevelMenu'
;
const
calcHtmlSize
=
(
value
,
ratio
)
=>
{
if
(
!
utils
.
isNil
(
value
)
&&
!
utils
.
isNull
(
value
)){
if
(
utils
.
isNumber
(
value
)){
return
parseFloat
(
value
)
*
ratio
;
}
else
if
(
utils
.
isString
(
value
)){
const
numVal
=
parseFloat
(
value
);
const
unit
=
value
.
replace
(
numVal
,
''
);
return
`
${
numVal
*
ratio
}${
unit
}
`
;
}
}
return
0
;
};
/**
* 子菜单
*
* @class SubMenuItem
* @extends {PureComponent}
*/
@
connectMenu
class
SubMenuItem
extends
PureComponent
{
genRecursiveStyle
=
(
level
)
=>
{
const
{
menuWidth
}
=
this
.
props
;
return
{
width
:
menuWidth
,
left
:
calcHtmlSize
(
menuWidth
,
level
)
};
}
/** 每一个 subitem 均是其父节点的内容,所以只需要 left 其父节点的宽即可 */
genRecursiveStyle2
=
()
=>
{
const
{
menuWidth
}
=
this
.
props
;
return
{
width
:
menuWidth
,
left
:
menuWidth
};
}
recursiveRender
=
(
subItems
,
level
=
1
)
=>
{
const
{
onSubMenuClick
,
rootMenuKey
,
iconPrefix
}
=
this
.
props
;
const
cls
=
`recursive-level-menu content-level
${
level
}
`
;
const
style
=
this
.
genRecursiveStyle2
();
return
(
<
ul
className
=
{
cls
}
style
=
{
style
}
>
{
subItems
.
map
(
si
=>
{
const
cls
=
classNames
(
'menu-subitem'
,
{
// 'active': si.key === activeRecursiveKey
});
const
nonChild
=
utils
.
isEmpty
(
si
.
children
);
let
newLevel
=
level
;
if
(
!
nonChild
){
newLevel
+=
1
;
}
return
(
<
LevelMenu
{...
si
}
key
=
{
si
.
sequenceNbr
}
menuKey
=
{
si
.
sequenceNbr
}
className
=
{
cls
}
iconPrefix
=
{
iconPrefix
}
nonChild
=
{
nonChild
}
onClick
=
{()
=>
onSubMenuClick
(
rootMenuKey
,
si
.
sequenceNbr
)}
>
{
!
nonChild
&&
this
.
recursiveRender
(
si
.
children
,
newLevel
)
}
<
/LevelMenu
>
);
})
}
<
/ul
>
);
}
render
()
{
const
{
className
,
children
,
onClick
,
subItems
}
=
this
.
props
;
return
(
<
li
className
=
{
className
}
onClick
=
{
onClick
}
>
{
children
}
{
subItems
&&
subItems
.
length
>
0
&&
this
.
recursiveRender
(
subItems
)}
<
/li
>
);
}
}
SubMenuItem
.
propTypes
=
{
className
:
PropTypes
.
string
,
iconPrefix
:
PropTypes
.
string
,
// 菜单 key,此处是 subMenuKey
menuKey
:
PropTypes
.
string
,
// 根节点菜单 key
rootMenuKey
:
PropTypes
.
string
,
onClick
:
PropTypes
.
func
,
onSubMenuClick
:
PropTypes
.
func
,
children
:
PropTypes
.
node
,
subItems
:
PropTypes
.
array
,
menuWidth
:
PropTypes
.
oneOfType
([
PropTypes
.
string
,
PropTypes
.
number
])
};
export
default
SubMenuItem
;
src/view/common/mainframe/connectMenu.js
0 → 100644
View file @
1d6d1687
import
React
,
{
Component
}
from
'react'
;
import
PropTypes
from
'prop-types'
;
/**
* 菜单增强,主要是用于刷新时,自动 active 当前菜单
* @export
* @param {Component} WrappedComponent
* @returns
*/
export
default
function
connectMenu
(
WrappedComponent
){
return
class
MenuComponent
extends
Component
{
static
propTypes
=
{
url
:
PropTypes
.
string
,
index
:
PropTypes
.
bool
,
isBlank
:
PropTypes
.
bool
,
// 设置菜单 active key
setMenuActive
:
PropTypes
.
func
,
// 当前菜单的 key值
menuKey
:
PropTypes
.
string
};
componentDidMount
()
{
this
.
refreshActive
(
this
.
props
);
}
getHref
(
props
)
{
let
href
=
props
.
url
;
if
(
props
.
isBlank
)
{
return
href
;
}
if
(
!
props
.
index
&&
!
href
)
{
return
''
;
}
const
baseURL
=
'/'
;
href
=
`
${
baseURL
}
/
${
href
||
''
}
`
;
return
href
.
replace
(
/
\/
+/g
,
'/'
).
replace
(
/
(
.+
)\/
$/
,
'$1'
);
}
isActive
(
props
,
href
)
{
if
(
props
.
index
)
{
return
href
===
(
location
.
pathname
||
'/'
);
}
else
{
return
href
&&
new
RegExp
(
`
${
href
}
(?=/|$|\\?|#)`
).
test
(
location
.
href
);
}
}
refreshActive
=
(
props
)
=>
{
const
href
=
this
.
getHref
(
props
);
const
active
=
this
.
isActive
(
props
,
href
);
if
(
active
){
props
.
setMenuActive
&&
props
.
setMenuActive
(
props
.
menuKey
);
}
}
render
()
{
return
<
WrappedComponent
{...
this
.
props
}
/>
;
}
};
}
src/view/common/mainframe/index.js
0 → 100644
View file @
1d6d1687
import
React
,
{
Component
}
from
'react'
;
import
MainFrameView
from
'./MainFrameView'
;
class
RootView
extends
Component
{
render
()
{
return
(
<
MainFrameView
{...
this
.
props
}
/
>
);
}
}
export
default
RootView
;
src/view/common/mainframe/style/index.scss
0 → 100644
View file @
1d6d1687
@import
'./vars.scss'
;
@import
'./main.scss'
;
src/view/common/mainframe/style/main.scss
0 → 100644
View file @
1d6d1687
// --root
.view-port
{
.content-body
{
position
:
absolute
;
top
:
$top-height
;
left
:
0
;
width
:
100%
;
height
:
$content-height
;
overflow
:
hidden
;
opacity
:
1
;
transition
:
opacity
;
transition-duration
:
0
.45s
;
backface-visibility
:
hidden
;
}
}
.main-view
{
width
:
100%
;
height
:
100%
;
background
:
$main-content-bg-color
;
>
.main-content
{
overflow
:
auto
;
}
}
.amos-main-content
{
background
:
$main-content-bg-color
;
}
.menu-item-link
{
text-decoration
:
none
;
&
:active
,
&
:focus
,
&
:hover
{
color
:
$menu-common-color
;
text-decoration
:
none
;
}
}
.active
{
color
:
$menu-active-color
;
}
// submenu footer
.nav-menu-item-footer
{
position
:
absolute
;
left
:
0
;
display
:
flex
;
width
:
100%
;
height
:
$submenu-item-footer-height
;
flex-direction
:
column
;
justify-content
:
center
;
align-items
:
center
;
.footer-icon
{
width
:
40px
;
height
:
40px
;
}
.footer-line
{
display
:
none
;
width
:
50%
;
height
:
3px
;
margin-bottom
:
-3px
;
background
:
#345fa6
;
}
}
// menu-wrapper
.menusub-wrapper
{
position
:
absolute
;
left
:
0
;
width
:
100%
;
cursor
:
pointer
;
border-left
:
1px
solid
#dce2ed
;
transition
:
height
0
.3s
;
&
:hover
{
.nav-menu-item-footer
{
.footer-line
{
display
:
inline-block
;
}
}
}
}
// item 隔行颜色变化
.nav-menu-list
{
.nav-menu-item
{
&
:nth-of-type
(
odd
)
{
.menusub-wrapper
{
background
:
white
;
}
}
&
:nth-of-type
(
even
)
{
.menusub-wrapper
{
background
:
#f3f3f3
;
}
}
}
}
.menu-subitem
a
,
.nav-menu-item-label
a
{
color
:
$menu-color
;
}
.nav-menu-nonchild-item
a
{
color
:
#fff
;
}
.nav-menu-nonchild-item
a
:hover
{
color
:
#fff
;
}
// 递归 menu
.recursive-level-menu
{
position
:
absolute
;
top
:
0
;
left
:
$menu-item-width
;
z-index
:
3
;
display
:
none
;
width
:
$menu-item-width
;
height
:
100%
;
background
:
$submenu-item-active
;
border-left
:
1px
solid
#dce2ed
;
.menu-subitem
{
&
:hover
{
background
:
$submenu-item-active2
;
}
}
&
.content-level1
{
border-left
:
none
;
}
}
// 通用 menu subitem hover等
.menu-subitem
{
&
:hover
{
background
:
$submenu-item-active
;
>
.recursive-level-menu
{
display
:
block
;
}
}
&
.active
{
background
:
$submenu-item-active
;
}
.menu-subitem-icon
{
position
:
absolute
;
right
:
5px
;
display
:
none
;
font-size
:
12px
;
transition
:
display
0
.3s
;
}
}
// header menu
.nav-menu-wrapper
{
position
:
relative
;
z-index
:
3
;
height
:
$top-height
;
.nav-menu-box
{
position
:
relative
;
height
:
100%
;
.nav-menu-list
{
height
:
100%
;
.nav-menu-item
{
position
:
relative
;
float
:
left
;
width
:
$menu-item-width
;
padding
:
0
1rem
;
text-align
:
center
;
cursor
:
pointer
;
.nav-menu-item-label
{
display
:
inline-block
;
color
:
$menu-common-color
;
}
.nav-triangle
{
position
:
absolute
;
bottom
:
0
;
left
:
50%
;
z-index
:
1
;
display
:
none
;
margin-left
:
-8px
;
border
:
8px
solid
;
border-color
:
transparent
transparent
$menu-common-color
;
}
.nav-menu-item-icon
{
position
:
absolute
;
top
:
0
;
right
:
0
;
font-size
:
12px
;
transform
:
rotate
(
0
);
transition
:
transform
0
.2s
ease-in
;
}
.menu-sublist
{
display
:
block
;
height
:
$menu-sublist-height
;
overflow
:
hidden
;
.menu-subitem
{
z-index
:
2
;
padding
:
0
.5rem
0
;
clear
:
both
;
line-height
:
2
;
cursor
:
pointer
;
&
:first-child
{
margin-top
:
0
.5rem
;
}
}
}
&
.active
{
.nav-menu-item-label
{
color
:
$menu-active-color
;
}
}
&
:hover
{
.nav-triangle
{
display
:
block
;
}
.nav-menu-item-label
{
color
:
$menu-active-color
;
}
.nav-menu-item-icon
{
color
:
$menu-active-color
;
transform
:
rotate
(
180deg
);
}
}
}
}
}
}
// --header
.header
{
position
:
relative
;
top
:
0
;
left
:
0
;
width
:
100%
;
height
:
$top-height
;
line-height
:
$top-height
;
color
:
$head-color
;
background
:
$head-bg-color
;
border-bottom
:
1px
solid
;
border-color
:
transparent
;
box-shadow
:
0
2px
8px
rgba
(
47
,
53
,
87
,
0
.2
);
.logo-wrapper
{
position
:
relative
;
display
:
flex
;
.header-logo-extra
{
width
:
3rem
;
text-align
:
center
;
}
.header-logo
{
display
:
flex
;
justify-content
:
center
;
align-items
:
center
;
height
:
$top-height
;
padding-right
:
1rem
;
background
:
$head-logo-bg
;
border-right
:
1px
solid
$head-logo-brr-color
;
&
:
:
before
{
position
:
absolute
;
bottom
:
0
;
left
:
0
;
width
:
0
;
border-bottom
:
1px
solid
$head-logo-brb-color
;
content
:
''
;
transition
:
width
0
.3s
ease-in
;
}
&
:hover::before
{
width
:
100%
;
}
.logo-img
{
width
:
4rem
;
height
:
$top-height
;
&
:hover
{
transform
:
scaleX
(
-1
);
transition
:
transform
1s
;
}
}
}
}
.nav-menu-bg
{
position
:
absolute
;
top
:
$top-height
;
left
:
0
;
display
:
block
;
width
:
100%
;
height
:
0
;
background
:
white
;
box-shadow
:
0
2px
3px
#bbb
;
transition
:
height
0
.3s
;
}
.header-navs
{
position
:
relative
;
display
:
flex
;
z-index
:
300
;
}
.sys-tools
{
position
:
absolute
;
right
:
0
;
display
:
flex
;
margin-right
:
2rem
;
border-left
:
1px
solid
$head-menu-border-color
;
align-items
:
center
;
.ui-menu
{
.ui-menu-item
{
display
:
flex
;
height
:
$top-height
;
padding
:
0
0
.5rem
;
margin
:
0
;
color
:
$head-color
;
border-right
:
1px
solid
$head-menu-border-color
;
justify-content
:
center
;
align-items
:
center
;
&
.amos-nav-item-active
{
border-bottom
:
1px
solid
$head-menu-border-color
;
}
&
:hover
{
color
:
$head-color
;
background
:
$head-menu-background
;
}
&
:last-child
{
border-right
:
0
;
}
}
&
.horizontal
{
display
:
flex
;
justify-content
:
flex-end
;
align-items
:
center
;
}
}
&
.sys-tools-min
{
.ui-menu
{
&
.horizontal
{
display
:
flex
;
justify-content
:
flex-end
;
align-items
:
center
;
padding-right
:
0
;
border-right
:
1px
solid
$head-menu-border-color
;
.ui-menu-item
{
padding
:
0
0
.5rem
;
border-right
:
1px
solid
transparent
;
&
:last-child
{
border-right
:
0
;
}
}
}
}
}
}
}
.user-area
{
.amos-single-pop-trigger
{
height
:
$top-height
;
line-height
:
$top-height
+
2
;
}
.amos-single-pop-content
{
.user-profile
{
padding
:
1
.5rem
;
line-height
:
1
;
.user-profile-detail
{
line-height
:
1
.5
;
}
}
.profile-divider
{
margin
:
0
1
.5rem
;
}
}
}
.amos-jump-spiner
{
position
:
absolute
;
top
:
50%
;
left
:
50%
;
z-index
:
999
;
transform
:
translate
(
-50%
,
-50%
);
}
// icon display toggle
.menu-expanded
{
.menu-subitem
.menu-subitem-icon
{
display
:
inline-block
;
}
}
src/view/common/mainframe/style/vars.scss
0 → 100644
View file @
1d6d1687
/**
* 默认主题
*/
$parent
:
plant
;
//********************************************
// 顶部head区
//********************************************
$head-bg-color
:
linear-gradient
(
#fefefe
,
#efefef
);
// 顶部字体颜色
$head-color
:
black
;
// 顶部所有边框颜色
$head-border-color
:
#ddd
;
// 顶部logo背景色
$head-logo-bg
:
linear-gradient
(
#fefefe
,
#efefef
);
// 顶部logo右侧边框色
$head-logo-brr-color
:
#eee
;
// 顶部logo下侧边框色
$head-logo-brb-color
:
#629ede
;
// 菜单字体色
$menu-color
:
#333
;
// 菜单选中状态颜色
$menu-active-color
:
#1577d9
;
// 菜单 icon 颜色
$menu-iconcolor
:
black
;
// 菜单选中时子菜单颜色
$sub-menu-active-bgcolor
:
linear-gradient
(
#dedede
,
#d7d7d7
);
// 子菜单 悬浮颜色
$menu-bgcolor
:
linear-gradient
(
to
right
,
#fbfbfb
,
#eee
);
// 顶部菜单边框颜色
$head-menu-border-color
:
transparent
;
// 顶部菜单鼠标移动和点击后背景色
$head-menu-background
:
linear-gradient
(
#dedede
,
#d7d7d7
);
// 顶部菜单字体图标颜色
$head-menu-icon-color
:
black
;
//logo
//一级菜单
$nav-text-color
:
white
;
$nav-active-bottom-color
:
#8ac249
;
$nav-width
:
8rem
;
//********************************************
// 系统主内容区
//********************************************
$main-content-bg-color
:
#f6f6f6
;
// sys
$top-height
:
3
.5rem
;
$content-height
:
calc
(
100%
-
3
.5rem
);
$background-color
:
#203957
;
$font-family
:
'Microsoft YaHei'
;
$font-size
:
12px
;
$tab-width
:
12rem
;
$text-shadow-color
:
#badfff
;
// menu color
// 二级菜单 active 颜色 (三级菜单背景色)
$submenu-item-active
:
#e7edf8
;
// 三级菜单 active 颜色
$submenu-item-active2
:
#cfdbf1
;
$submenu-item-footer-height
:
46px
;
$menu-sublist-height
:
calc
(
100%
-
46px
);
// 默认菜单宽度
$menu-item-width
:
8rem
;
// 菜单字体颜色
$menu-common-color
:
#333
;
src/view/mainframe/BizFrame.js
View file @
1d6d1687
import
React
,
{
Component
}
from
'react'
;
import
{
browserHistory
}
from
'amos-react-router'
;
import
{
utils
,
Store
}
from
'amos-tool'
;
import
MainFrame
from
'amos-security/lib/view/mainframe3'
;
import
enhancePermission
from
'amos-security/lib/view/enhancePermission'
;
import
{
formatUrl
}
from
'amos-security/lib/utils/request'
;
import
MainFrame
from
'../common/mainframe'
;
import
formatUrl
from
'amos-processor/lib/utils/urlFormat'
;
import
{
Connect
,
IFrame
}
from
'amos-framework'
;
import
PropTypes
from
'prop-types'
;
import
storageConsts
,
{
CONSTS
}
from
'./../../consts/storageConsts'
;
...
...
@@ -16,7 +15,7 @@ const enhanceStorage = Connect.enhanceStorage;
const
lsTool
=
Store
.
lsTool
;
@
enhancePermission
()
@
enhanceStorage
({
storageItems
:
storageConsts
(
CONSTS
)
})
...
...
@@ -148,6 +147,7 @@ class BizFrame extends Component {
getFrameConfig
=
()
=>
{
debugger
return
{
opSearchMenusUrl
:
formatUrl
(
secExtUrl
.
opSearchMenusUrl
,
{
nodeName
:
''
,
type
:
window
.
BizPermissionType
}),
defaultLink
:
'/biz'
,
...
...
src/view/mainframe/Root3DView.js
View file @
1d6d1687
import
React
,
{
Component
}
from
'react'
;
import
PropTypes
from
'prop-types'
;
import
{
Connect
as
UIConnect
,
Animate
}
from
'amos-framework'
;
import
{
getMenusAction
}
from
'./../../services/securityService'
;
import
Header
from
'./../common/header'
;
import
{
header3dConf
,
triggerMenuChange
,
is3dView
,
getAddress
}
from
'./headerConf'
;
import
{
eventTopics
}
from
'./../3dview/consts'
;
import
{
getPermissionsMenus
}
from
'../../services/securityService'
;
import
{
Store
}
from
'amos-tool'
;
const
lsTool
=
Store
.
lsTool
;
@
UIConnect
.
eventConnect
class
Root3DView
extends
Component
{
...
...
@@ -28,13 +30,49 @@ class Root3DView extends Component {
}
initMenus
=
()
=>
{
getMenusAction
().
then
(
d
=>
{
// getMenusAction().then(d => {
// this.setState({
// menus: d
// });
// });
let
role
=
lsTool
.
read
(
'selectedRole'
);
getPermissionsMenus
(
role
).
then
((
menus
=
[])
=>
{
let
userMenus
=
[];
menus
.
forEach
(
element
=>
{
if
(
element
.
permissionType
===
'MENU'
&&
element
.
path
===
'main'
)
{
userMenus
=
element
.
children
;
}
});
if
(
!
userMenus
||
userMenus
.
length
<
1
)
{
return
;
}
const
lsTool
=
Store
.
lsTool
;
//lsTool.write(SysConsts.permissions, JSON.stringify(menus));
let
view3dMenus
=
[...
userMenus
];
view3dMenus
=
this
.
filterMenusButton
(
view3dMenus
);
this
.
setState
({
menus
:
d
menus
:
view3dMenus
});
});
}
filterMenusButton
=
(
menus
)
=>
{
return
menus
.
filter
(
menu
=>
{
if
(
menu
.
children
&&
menu
.
permissionType
===
'SUBMENU'
)
{
menu
.
children
=
this
.
filterMenusButton
(
menu
.
children
);
return
true
;
}
if
(
!
menu
.
children
&&
menu
.
permissionType
===
'SUBMENU'
)
{
return
true
;
}
if
(
!
menu
.
children
||
menu
.
permissionType
===
'BUTTON'
)
{
return
false
;
}
}
);
}
handleMenuClick
=
(
item
)
=>
{
const
{
permissionCode
}
=
item
;
if
(
!
is3dView
(
permissionCode
)){
...
...
src/view/mainframe/RootBizView.js
View file @
1d6d1687
import
React
,
{
Component
}
from
'react'
;
import
PropTypes
from
'prop-types'
;
import
{
getBizMenusAction
}
from
'../../services/securityService'
;
import
{
getPermissionsMenus
}
from
'../../services/securityService'
;
import
Header
from
'../common/header'
;
import
BusinessStorage
from
'./../bizview'
;
import
PointView
from
'./../bizview/point/PointView'
;
...
...
@@ -26,7 +26,13 @@ class RootBizView extends Component {
initMenus
=
()
=>
{
const
{
parentMenuKey
}
=
this
.
state
;
getBizMenusAction
(
parentMenuKey
).
then
(
d
=>
{
// getBizMenusAction(parentMenuKey).then(d => {
// this.setState({
// menus: d
// });
// });
let
role
=
lsTool
.
read
(
'selectedRole'
);
getPermissionsMenus
(
role
).
then
(
d
=>
{
this
.
setState
({
menus
:
d
});
...
...
src/view/mainframe/index.js
View file @
1d6d1687
import
React
,
{
Component
}
from
'react'
;
import
{
browserHistory
}
from
'amos-react-router'
;
import
{
utils
}
from
'amos-tool'
;
import
MainFrame
from
'amos-security/lib/view/mainframe'
;
import
formatUrl
from
'amos-processor/lib/utils/urlFormat'
;
import
{
Menu
}
from
'amos-framework'
;
import
{
secExtUrl
,
SecurityUrl
}
from
'./../../consts/urlConsts'
;
...
...
@@ -35,6 +34,7 @@ class RootView extends Component {
};
getFrameConfig
=
()
=>
{
debugger
return
{
opSearchMenusUrl
:
formatUrl
(
secExtUrl
.
opSearchMenusUrl
,
{
nodeName
:
''
,
type
:
window
.
V3DpermissionType
}),
//logoImg: require('./../../assets/logo/amos-logo.png'),
...
...
src/view/planMgmt/cusVizLib/index.js
View file @
1d6d1687
...
...
@@ -71,7 +71,10 @@ class CusVizLib extends Component {
headers
:
{
'Accept'
:
'application/json;charset=UTF-8'
,
'X-Api-Key'
:
_amosTool
.
Store
.
getCookieByName
(
apiKey
),
'X-Access-Token'
:
ls
.
read
(
token
)
'X-Access-Token'
:
ls
.
read
(
token
),
'appKey'
:
'CONVERTER_STATION'
,
'product'
:
'CONVERTER_STATION_WEB'
,
'token'
:
ls
.
read
(
token
)
},
body
:
formData
}).
then
(
e
=>
{
...
...
src/view/region/index.js
View file @
1d6d1687
// import React, { Component } from 'react';
// import PropTypes from 'prop-types';
// import { browserHistory } from 'amos-react-router';
// import { utils } from 'amos-tool';
// import { setRegion } from './../../utils/cacheUtils';
// import imgStatic from './../../consts/imgStatic';
// import { regionListAction, tellRegionSelectAction } from './../../services/navApi';
// import { fetchRegionSelectAction } from './../../services/checkInfoService';
// import { tirggerTransTopic } from './../3dview/dataProcessor';
// import { CONSTS } from '../../consts/storageConsts';
// import * as endConf from 'amos-processor/lib/config/endconf';
// const AmosConfig = endConf.AmosConfig;
// const isAutoOpen = AmosConfig.sysConf.isAutoOpenBussiness;
// /**
// * 厂区选择
// *
// * @class RegionSelect
// * @extends {Component}
// */
// class RegionSelect extends Component {
// constructor(props) {
// super(props);
// this.state = {
// regions: []
// };
// }
// componentDidMount() {
// regionListAction().then(datas => {
// if (!utils.isEmpty(datas)){
// const regionData = [];
// datas.forEach(item => {
// regionData.push({
// orgCode: item.key,
// name: item.label,
// cityCode: item.label
// });
// });
// if (regionData.length === 1){
// this.onRegionSelect(regionData[0]);
// } else {
// this.setState({
// regions: regionData
// });
// }
// }
// });
// }
// onRegionSelect = (item) => {
// setRegion(item);
// tellRegionSelectAction(item.orgCode);
// fetchRegionSelectAction(item.orgCode);
// const { state } = this.props.location;
// if (state){
// browserHistory.push('/main/3dview');
// tirggerTransTopic(CONSTS.region_change, { refresh: { refresh: true } });
// } else {
// //1.打开3d屏
// browserHistory.push('/main/3dview');
// //2.通过配置,确定是否打开业务屏
// if (isAutoOpen){
// window.open('/biz/assessment');
// }
// }
// }
// renderItem = (item) => {
// const { orgCode, previewImg, name } = item;
// const pic = previewImg || imgStatic.region.common;
// return (
// <div key={orgCode} className="region-item" onClick={() => this.onRegionSelect(item)}>
// <img src={pic} alt="" />
// <p className="region-item-label">{name}</p>
// </div>
// );
// }
// render() {
// const { regions } = this.state;
// return (
// <div className="region-select">
// {
// regions.map(r => this.renderItem(r))
// }
// </div>
// );
// }
// }
// RegionSelect.propTypes = {
// location: PropTypes.object
// };
// export default RegionSelect;
import
React
,
{
Component
}
from
'react'
;
import
PropTypes
from
'prop-types'
;
import
{
browserHistory
}
from
'amos-react-router'
;
import
{
utils
}
from
'amos-tool'
;
import
{
setRegion
}
from
'./../../utils/cacheUtils'
;
import
imgStatic
from
'./../../consts/imgStatic'
;
import
{
regionListAction
,
tellRegionSelectAction
}
from
'./../../services/navApi'
;
import
{
fetchRegionSelectAction
}
from
'./../../services/checkInfoService'
;
import
{
tirggerTransTopic
}
from
'./../3dview/dataProcessor'
;
import
{
CONSTS
}
from
'../../consts/storageConsts'
;
import
{
Select
,
Form
,
Button
}
from
'amos-framework'
;
import
{
Store
}
from
'amos-tool'
;
import
{
getCurrentUser
,
regionSelectAction
}
from
'./../../services/securityService'
;
import
*
as
endConf
from
'amos-processor/lib/config/endconf'
;
import
_amosTool
from
'amos-tool'
;
import
SysConsts
from
'amos-processor/lib/config/consts'
;
const
lsTool
=
Store
.
lsTool
;
const
ls
=
_amosTool
.
Store
.
lsTool
;
const
AmosConfig
=
endConf
.
AmosConfig
;
const
isAutoOpen
=
AmosConfig
.
sysConf
.
isAutoOpenBussiness
;
const
FormItem
=
Form
.
Item
;
const
Option
=
Select
.
Option
;
const
token
=
SysConsts
.
token
;
/**
* 厂区选择
*
...
...
@@ -24,70 +124,147 @@ class RegionSelect extends Component {
constructor
(
props
)
{
super
(
props
);
this
.
state
=
{
regions
:
[]
userInfo
:
{},
reginParams
:
{}
};
}
componentDidMount
()
{
regionListAction
().
then
(
datas
=>
{
if
(
!
utils
.
isEmpty
(
datas
)){
const
regionData
=
[];
datas
.
forEach
(
item
=>
{
regionData
.
push
({
orgCode
:
item
.
key
,
name
:
item
.
label
,
cityCode
:
item
.
label
});
});
if
(
regionData
.
length
===
1
){
this
.
onRegionSelect
(
regionData
[
0
]);
}
else
{
this
.
setState
({
regions
:
regionData
});
}
}
});
this
.
getCurrentUser
();
}
onRegionSelect
=
(
item
)
=>
{
setRegion
(
item
);
tellRegionSelectAction
(
item
.
orgCode
);
fetchRegionSelectAction
(
item
.
orgCode
);
const
{
state
}
=
this
.
props
.
location
;
if
(
state
){
browserHistory
.
push
(
'/main/3dview'
);
tirggerTransTopic
(
CONSTS
.
region_change
,
{
refresh
:
{
refresh
:
true
}
});
}
else
{
//1.打开3d屏
browserHistory
.
push
(
'/main/3dview'
);
onClick
=
()
=>
{
debugger
const
{
reginParams
}
=
this
.
state
;
lsTool
.
remove
(
'selectedRole'
);
const
{
sequenceNbr
}
=
reginParams
.
role
||
{};
lsTool
.
write
(
'selectedRole'
,
sequenceNbr
);
lsTool
.
write
(
'curCompanyName'
,
reginParams
.
company
.
companyName
);
regionSelectAction
(
reginParams
).
then
(
data
=>
{
debugger
//1.打开3d屏
browserHistory
.
push
(
'/main/3dview'
);
//2.通过配置,确定是否打开业务屏
if
(
isAutoOpen
){
window
.
open
(
'/biz/assessment'
);
if
(
isAutoOpen
){
let
url
=
'?token='
+
ls
.
read
(
token
);
window
.
open
(
'/biz/assessment/'
+
url
);
}
}
);
}
// new
onSelectChange
=
(
key
,
value
)
=>
{
const
{
companys
=
[],
companyDepartments
=
{},
orgRoles
=
{}
}
=
this
.
state
.
userInfo
;
const
{
reginParams
}
=
this
.
state
;
let
{
departments
=
[],
roles
=
[]
}
=
this
.
state
;
if
(
key
===
'company'
)
{
reginParams
.
company
=
companys
.
find
(
item
=>
item
.
sequenceNbr
===
value
);
departments
=
companyDepartments
[
value
];
roles
=
orgRoles
[
value
];
}
if
(
key
===
'department'
)
{
reginParams
.
department
=
departments
.
find
(
item
=>
item
.
sequenceNbr
===
value
);
roles
=
orgRoles
[
value
];
}
if
(
key
===
'role'
)
{
reginParams
.
role
=
roles
.
find
(
item
=>
item
.
sequenceNbr
===
value
);
}
this
.
setState
({
reginParams
,
departments
,
roles
});
}
getCurrentUser
=
()
=>
{
debugger
getCurrentUser
().
then
(
data
=>
{
const
{
reginParams
}
=
this
.
state
;
const
{
companys
=
[],
companyDepartments
=
{},
orgRoles
=
{}
}
=
data
;
if
(
companys
.
length
===
1
)
{
let
company
=
companys
[
0
];
let
departments
=
companyDepartments
[
company
.
sequenceNbr
]
||
[];
if
(
departments
.
length
===
1
&&
((
orgRoles
[
company
.
sequenceNbr
]
||
orgRoles
[
departments
[
0
].
sequenceNbr
])
||
[]).
length
===
1
)
{
reginParams
.
company
=
company
;
reginParams
.
department
=
departments
[
0
];
reginParams
.
role
=
orgRoles
[
company
.
sequenceNbr
]
?
orgRoles
[
company
.
sequenceNbr
][
0
]
:
orgRoles
[
departments
[
0
].
sequenceNbr
]
?
orgRoles
[
departments
[
0
].
sequenceNbr
][
0
]
:
{};
this
.
setState
({
reginParams
},()
=>
this
.
onClick
());
}
else
if
(
departments
.
length
===
0
&&
(
orgRoles
[
company
.
sequenceNbr
]
||
[]).
length
===
1
){
reginParams
.
company
=
company
;
reginParams
.
department
=
{};
reginParams
.
role
=
orgRoles
[
company
.
sequenceNbr
][
0
];
this
.
setState
({
reginParams
},()
=>
this
.
onClick
());
}
else
{
this
.
setState
({
userInfo
:
data
});
}
}
else
{
this
.
setState
({
userInfo
:
data
});
}
});
}
renderItem
=
(
item
)
=>
{
const
{
orgCode
,
previewImg
,
name
}
=
item
;
const
pic
=
previewImg
||
imgStatic
.
region
.
common
;
const
{
userId
,
companys
=
[]
}
=
item
;
let
{
departments
=
[],
roles
=
[]
}
=
this
.
state
;
let
newDepartments
=
departments
.
filter
(
d
=>
d
!=
null
&&
void
0
!==
d
);
const
formItemLayout
=
{
wrapperCol
:
{
xs
:
{
span
:
24
},
sm
:
{
span
:
24
},
className
:
'colspan'
}
};
return
(
<
div
key
=
{
orgCode
}
className
=
"region-item"
onClick
=
{()
=>
this
.
onRegionSelect
(
item
)}
>
<
img
src
=
{
pic
}
alt
=
""
/>
<
p
className
=
"region-item-label"
>
{
name
}
<
/p
>
<
div
key
=
{
userId
}
className
=
"region-item"
>
<
Form
className
=
"region-form"
>
<
FormItem
{...
formItemLayout
}
>
<
Select
className
=
"form-item"
data
=
{
companys
}
renderOption
=
{
item
=>
<
Option
value
=
{
item
.
sequenceNbr
}
>
{
item
.
companyName
}
<
/Option>
}
defaultOption
=
{
<
Option
>
请选择公司
<
/Option>
}
// defaultValue={companys.length === 1 ? companys[0] : ''}
onChange
=
{(
value
,
item
)
=>
this
.
onSelectChange
(
'company'
,
value
)}
/
>
<
/FormItem
>
<
FormItem
{...
formItemLayout
}
>
<
Select
className
=
"form-item"
data
=
{
newDepartments
}
renderOption
=
{
item
=>
<
Option
value
=
{
item
.
sequenceNbr
}
>
{
item
.
departmentName
}
<
/Option>
}
defaultOption
=
{
<
Option
>
请选择部门
<
/Option>
}
// defaultValue={newDepartments.length === 1 ? newDepartments[0] : ''}
onChange
=
{(
value
,
item
)
=>
this
.
onSelectChange
(
'department'
,
value
)}
/
>
<
/FormItem
>
<
FormItem
{...
formItemLayout
}
>
<
Select
className
=
"form-item"
data
=
{
roles
}
renderOption
=
{
item
=>
<
Option
value
=
{
item
.
sequenceNbr
}
>
{
item
.
roleName
}
<
/Option>
}
defaultOption
=
{
<
Option
>
请选择角色
<
/Option>
}
// defaultValue={roles.length === 1 ? roles[0] : ''}
onChange
=
{(
value
,
item
)
=>
this
.
onSelectChange
(
'role'
,
value
)}
/
>
<
/FormItem
>
<
FormItem
{...
formItemLayout
}
>
<
img
src
=
""
alt
=
''
/>
<
/FormItem
>
<
FormItem
>
<
Button
className
=
"regoin-button"
onClick
=
{
this
.
onClick
}
>
确定
<
/Button
>
<
/FormItem
>
<
/Form
>
<
/div
>
);
}
render
()
{
const
{
regions
}
=
this
.
state
;
return
(
const
{
userInfo
}
=
this
.
state
;
return
Object
.
keys
(
userInfo
).
length
>
0
?
(
<
div
className
=
"region-select"
>
{
regions
.
map
(
r
=>
this
.
renderItem
(
r
)
)
this
.
renderItem
(
userInfo
)
}
<
/div
>
);
)
:
null
;
}
}
...
...
src/view/userInfo/index.js
View file @
1d6d1687
import
React
,
{
Component
}
from
'react'
;
import
{
UserInfo
}
from
'amos-security/lib'
;
import
{
currentUser
}
from
'amos-security/lib/model/auth'
;
class
UserInfoComponent
extends
Component
{
constructor
(
props
)
{
super
(
props
);
...
...
webpack.config.js
View file @
1d6d1687
...
...
@@ -44,7 +44,7 @@ const config = {
toFile
:
'index.html'
,
entry
:
__ENV__
===
'production'
?
prodEntry
:
devEntry
,
useHot
:
true
,
port
:
3
3
00
,
port
:
3
5
00
,
favicon
:
null
,
alias
,
// 启动 WebWorker
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment