├── LICENSE ├── README-en.md ├── README.md ├── bin ├── .gitignore └── config.toml ├── server ├── .gitignore ├── appStart.go ├── check │ └── parameter.go ├── config.toml ├── convert │ └── ormToProto.go ├── data │ ├── globals.go │ ├── manager.go │ ├── node.go │ ├── nodeFunc.go │ ├── nodeFuncCall.go │ ├── nodeNotify.go │ ├── nodeReport.go │ ├── nodeReportVal.go │ ├── nodeResource.go │ ├── nodeTest.go │ └── topMenu.go ├── db │ ├── globals.go │ ├── manager.go │ ├── node.go │ ├── nodeFunc.go │ ├── nodeFuncCall.go │ ├── nodeNotify.go │ ├── nodeReport.go │ ├── nodeReportVal.go │ ├── nodeResource.go │ └── topMenu.go ├── gateway │ ├── globals.go │ ├── rpc.go │ └── websocket.go ├── go.mod ├── go.sum ├── main.go ├── protoFiles │ └── protoManage │ │ └── manage.pb.go ├── request │ ├── globals.go │ ├── interceptor.go │ ├── manager.go │ ├── node.go │ ├── nodeFunc.go │ ├── nodeFuncCall.go │ ├── nodeNotify.go │ ├── nodeReport.go │ ├── nodeReportVal.go │ ├── nodeResource.go │ ├── rpcStream.go │ ├── topMenu.go │ └── websocket.go ├── test │ └── makeDBData │ │ └── make_test.go └── typedef │ ├── config │ └── config.go │ ├── constant │ └── value.go │ └── orm │ └── orm.go ├── store ├── cache │ └── .gitignore ├── cert │ ├── grpc │ │ ├── ca_cert.pem │ │ ├── server_cert.pem │ │ └── server_key.pem │ └── https │ │ ├── private.key │ │ └── public.pem ├── db │ └── .gitignore ├── image │ ├── group.jpg │ ├── home-en.jpg │ └── home.jpg └── log │ └── .gitignore └── web ├── .gitignore ├── LICENSE ├── index.html ├── package-lock.json ├── package.json ├── public └── mxui.svg ├── src ├── App.vue ├── assets │ └── logo.svg ├── base │ ├── convert.ts │ ├── defaultVal.ts │ ├── filter.ts │ ├── globals.ts │ ├── i18n.ts │ ├── refresh.ts │ ├── request.ts │ └── websocket.ts ├── components │ ├── Empty.vue │ ├── Head.vue │ ├── Load.vue │ ├── Page.vue │ ├── Sidebar.vue │ ├── card │ │ ├── CardViewFrame.vue │ │ ├── NodeCard.vue │ │ ├── NodeFuncCard.vue │ │ └── NodeReportCard.vue │ ├── cardItem │ │ ├── CardBase.vue │ │ ├── CardFuncCall.vue │ │ ├── CardInfo.vue │ │ ├── CardName.vue │ │ ├── CardReportVal.vue │ │ └── CardState.vue │ ├── echarts │ │ ├── NodeFuncReturnCharts.vue │ │ └── NodeReportValLine.vue │ ├── file │ │ └── FileSave.vue │ ├── headButton │ │ ├── AutoRefreshButton.vue │ │ ├── FilterButton.vue │ │ └── SettingButton.vue │ ├── json │ │ └── JsonEdit.vue │ ├── link │ │ └── LinkJump.vue │ ├── media │ │ └── Player.vue │ ├── setting │ │ ├── AutoRefresh.vue │ │ ├── LevelSelect.vue │ │ ├── PasswordReset.vue │ │ ├── SystemSet.vue │ │ ├── TopMenuSet.vue │ │ └── UserSet.vue │ ├── table │ │ ├── NodeFuncCallTable.vue │ │ ├── NodeFuncReturnTable.vue │ │ ├── NodeNotifyTable.vue │ │ ├── NodeReportValTable.vue │ │ └── NodeResourceTable.vue │ ├── tableInfiniteScroll │ │ ├── index.ts │ │ └── tableInfiniteScroll.ts │ ├── toolbar │ │ └── filter │ │ │ ├── FilterViewFrame.vue │ │ │ ├── FilterViewTag.vue │ │ │ ├── NodeFilter.vue │ │ │ ├── NodeFuncFilter.vue │ │ │ ├── NodeNotifyFilter.vue │ │ │ ├── NodeReportFilter.vue │ │ │ ├── NodeResourceFilter.vue │ │ │ └── components │ │ │ ├── FilterDateTimePicker.vue │ │ │ ├── FilterDateTimeRangePicker.vue │ │ │ ├── FilterInput.vue │ │ │ └── FilterSelect.vue │ └── vueForm │ │ └── widgets │ │ └── UploadFile.vue ├── css │ ├── card.css │ ├── color.css │ └── flex.css ├── index.css ├── main.ts ├── proto │ ├── manage.d.ts │ └── manage.js ├── router.ts └── views │ ├── Home.vue │ ├── Login.vue │ ├── NotFound.vue │ ├── Register.vue │ ├── dialog │ ├── DialogViewFrame.vue │ ├── NodeFuncCall.vue │ ├── NodeFuncHistory.vue │ ├── NodeFuncReturn.vue │ └── NodeReportVal.vue │ └── node │ ├── Node.vue │ ├── NodeFunc.vue │ ├── NodeNotify.vue │ ├── NodeReport.vue │ ├── NodeResource.vue │ ├── NodeTest.vue │ └── NodeViewFrame.vue ├── tsconfig.json └── vite.config.ts /README-en.md: -------------------------------------------------------------------------------- 1 |