diff options
author | Kyomotoi <[email protected]> | 2021-07-31 16:16:47 +0800 |
---|---|---|
committer | Kyomotoi <[email protected]> | 2021-07-31 16:16:47 +0800 |
commit | 336eb9d9e98b0bee952c27a50820dbdb350bcc03 (patch) | |
tree | 718d5349232bce0d06cc901707bdd8f478c43314 /ATRI/plugins/console/atri-manege/src | |
parent | c485985d3be687d17168512de44ea7b744fea7cc (diff) | |
download | ATRI-336eb9d9e98b0bee952c27a50820dbdb350bcc03.tar.gz ATRI-336eb9d9e98b0bee952c27a50820dbdb350bcc03.tar.bz2 ATRI-336eb9d9e98b0bee952c27a50820dbdb350bcc03.zip |
🔥🚚✨
- 移除:laugh.txt,需要时再拉取
- 移动控制台文件至plugins/console目录下
- 新增:
- 和管理贴贴w
- 正式的可视化前端单页
Diffstat (limited to 'ATRI/plugins/console/atri-manege/src')
-rw-r--r-- | ATRI/plugins/console/atri-manege/src/App.vue | 120 | ||||
-rw-r--r-- | ATRI/plugins/console/atri-manege/src/assets/logo.png | bin | 0 -> 6849 bytes | |||
-rw-r--r-- | ATRI/plugins/console/atri-manege/src/assets/logo.svg | 1 | ||||
-rw-r--r-- | ATRI/plugins/console/atri-manege/src/data/console/2021-07-24-runtime-freq.json | 946 | ||||
-rw-r--r-- | ATRI/plugins/console/atri-manege/src/data/console/is_connect.json | 3 | ||||
-rw-r--r-- | ATRI/plugins/console/atri-manege/src/main.js | 12 | ||||
-rw-r--r-- | ATRI/plugins/console/atri-manege/src/plugins/vuetify.js | 7 | ||||
-rw-r--r-- | ATRI/plugins/console/atri-manege/src/router/index.js | 40 | ||||
-rw-r--r-- | ATRI/plugins/console/atri-manege/src/views/Chat.vue | 5 | ||||
-rw-r--r-- | ATRI/plugins/console/atri-manege/src/views/Control.vue | 5 | ||||
-rw-r--r-- | ATRI/plugins/console/atri-manege/src/views/Data.vue | 5 | ||||
-rw-r--r-- | ATRI/plugins/console/atri-manege/src/views/Home.vue | 251 | ||||
-rw-r--r-- | ATRI/plugins/console/atri-manege/src/views/Test.vue | 5 |
13 files changed, 1400 insertions, 0 deletions
diff --git a/ATRI/plugins/console/atri-manege/src/App.vue b/ATRI/plugins/console/atri-manege/src/App.vue new file mode 100644 index 0000000..5b0775d --- /dev/null +++ b/ATRI/plugins/console/atri-manege/src/App.vue @@ -0,0 +1,120 @@ +<template> + <v-app> + <v-navigation-drawer app v-model="drawer" class="na-d-0"> + <v-list + nav + dense + > + <v-list-item-group active-class="nattier-blue--text text--accent-4"> + <router-link to="/" tag="v-list-item-title"> + <v-list-item> + <v-list-item-icon> + <v-icon>mdi-home</v-icon> + </v-list-item-icon> + <v-list-item-title>主页 | Home</v-list-item-title> + </v-list-item> + </router-link> + + <router-link to="/control" tag="v-list-item-title"> + <v-list-item> + <v-list-item-icon> + <v-icon>mdi-wrench</v-icon> + </v-list-item-icon> + <v-list-item-title>控制面板 | Control</v-list-item-title> + </v-list-item> + </router-link> + + <router-link to="/data" tag="v-list-item-title"> + <v-list-item> + <v-list-item-icon> + <v-icon>mdi-database</v-icon> + </v-list-item-icon> + <v-list-item-title>数据 | Data</v-list-item-title> + </v-list-item> + </router-link> + + <router-link to="/chat" tag="v-list-item-title"> + <v-list-item> + <v-list-item-icon> + <v-icon>mdi-comment-processing</v-icon> + </v-list-item-icon> + <v-list-item-title>聊天 | Chat</v-list-item-title> + </v-list-item> + </router-link> + + <router-link to="/a-test" tag="v-list-item-title"> + <v-list-item> + <v-list-item-icon> + <v-icon>mdi-debug-step-over</v-icon> + </v-list-item-icon> + <v-list-item-title>测试 | Test</v-list-item-title> + </v-list-item> + </router-link> + </v-list-item-group> + </v-list> + </v-navigation-drawer> + + <v-app-bar app color="white" flat> + <v-app-bar-nav-icon @click="drawer = !drawer"></v-app-bar-nav-icon> + + <router-link to="/" tag="v-toolbar-title"> + <v-toolbar-title>ATRI Console</v-toolbar-title> + </router-link> + + <v-spacer></v-spacer> + + <v-btn href="https://jq.qq.com/?_wv=1027&k=iKLJzM1u" target="_blank" text> + <span class="mr-2">Discuss</span> + <v-icon small>mdi-qqchat</v-icon> + </v-btn> + + <v-btn href="https://github.com/Kyomotoi/ATRI" target="_blank" text> + <span class="mr-2">GitHub</span> + <v-icon small>mdi-link-variant</v-icon> + </v-btn> + </v-app-bar> + + <v-main> + <v-container fluid> + <v-lazy> + <router-view></router-view> + </v-lazy> + </v-container> + </v-main> + + <v-footer app> + <v-divider></v-divider> + <v-container fluid> + <v-row align="center" justify="center"> + <v-col class="text-center" cols="auto"> + <span> <v-icon>mdi-copyright</v-icon> Yours <strong>Kyomotoi</strong> </span> + </v-col> + <v-col class="text-center" cols="auto"> + <span> <v-icon>mdi-github</v-icon> <strong>ATRI</strong> </span> + </v-col> + </v-row> + </v-container> + </v-footer> + </v-app> +</template> + +<script> + +export default { + name: 'App', + + data: () => ({ + drawer: true, + }), +}; +</script> + +<style> +.text-center.a:visited { + color: aliceblue; +} + +.na-d-0 { + background-image: url("https://i.loli.net/2021/07/19/WlFanrZHRQxb5Ay.png"); +} +</style> diff --git a/ATRI/plugins/console/atri-manege/src/assets/logo.png b/ATRI/plugins/console/atri-manege/src/assets/logo.png Binary files differnew file mode 100644 index 0000000..f3d2503 --- /dev/null +++ b/ATRI/plugins/console/atri-manege/src/assets/logo.png diff --git a/ATRI/plugins/console/atri-manege/src/assets/logo.svg b/ATRI/plugins/console/atri-manege/src/assets/logo.svg new file mode 100644 index 0000000..145b6d1 --- /dev/null +++ b/ATRI/plugins/console/atri-manege/src/assets/logo.svg @@ -0,0 +1 @@ +<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 87.5 100"><defs><style>.cls-1{fill:#1697f6;}.cls-2{fill:#7bc6ff;}.cls-3{fill:#1867c0;}.cls-4{fill:#aeddff;}</style></defs><title>Artboard 46</title><polyline class="cls-1" points="43.75 0 23.31 0 43.75 48.32"/><polygon class="cls-2" points="43.75 62.5 43.75 100 0 14.58 22.92 14.58 43.75 62.5"/><polyline class="cls-3" points="43.75 0 64.19 0 43.75 48.32"/><polygon class="cls-4" points="64.58 14.58 87.5 14.58 43.75 100 43.75 62.5 64.58 14.58"/></svg> diff --git a/ATRI/plugins/console/atri-manege/src/data/console/2021-07-24-runtime-freq.json b/ATRI/plugins/console/atri-manege/src/data/console/2021-07-24-runtime-freq.json new file mode 100644 index 0000000..7a85c67 --- /dev/null +++ b/ATRI/plugins/console/atri-manege/src/data/console/2021-07-24-runtime-freq.json @@ -0,0 +1,946 @@ +[ + { + "time": "2021-07-24 15:20:20", + "freq": { + "msg": 0, + "health": 0, + "error": 0 + } + }, + { + "time": "2021-07-24 15:21:20", + "freq": { + "msg": 0, + "health": 0, + "error": 0 + } + }, + { + "time": "2021-07-24 15:22:20", + "freq": { + "msg": 0, + "health": 0, + "error": 0 + } + }, + { + "time": "2021-07-24 15:23:20", + "freq": { + "msg": 0, + "health": 0, + "error": 0 + } + }, + { + "time": "2021-07-24 15:24:20", + "freq": { + "msg": 0, + "health": 0, + "error": 0 + } + }, + { + "time": "2021-07-24 15:25:20", + "freq": { + "msg": 0, + "health": 0, + "error": 0 + } + }, + { + "time": "2021-07-24 15:26:20", + "freq": { + "msg": 0, + "health": 0, + "error": 0 + } + }, + { + "time": "2021-07-24 15:27:20", + "freq": { + "msg": 0, + "health": 0, + "error": 0 + } + }, + { + "time": "2021-07-24 15:28:20", + "freq": { + "msg": 0, + "health": 0, + "error": 0 + } + }, + { + "time": "2021-07-24 15:29:20", + "freq": { + "msg": 0, + "health": 0, + "error": 0 + } + }, + { + "time": "2021-07-24 15:30:20", + "freq": { + "msg": 0, + "health": 0, + "error": 0 + } + }, + { + "time": "2021-07-24 15:31:20", + "freq": { + "msg": 0, + "health": 0, + "error": 0 + } + }, + { + "time": "2021-07-24 15:32:20", + "freq": { + "msg": 0, + "health": 0, + "error": 0 + } + }, + { + "time": "2021-07-24 15:33:20", + "freq": { + "msg": 0, + "health": 0, + "error": 0 + } + }, + { + "time": "2021-07-24 15:34:20", + "freq": { + "msg": 0, + "health": 0, + "error": 0 + } + }, + { + "time": "2021-07-24 15:35:20", + "freq": { + "msg": 0, + "health": 0, + "error": 0 + } + }, + { + "time": "2021-07-24 15:36:20", + "freq": { + "msg": 0, + "health": 0, + "error": 0 + } + }, + { + "time": "2021-07-24 15:37:20", + "freq": { + "msg": 0, + "health": 0, + "error": 0 + } + }, + { + "time": "2021-07-24 15:38:20", + "freq": { + "msg": 0, + "health": 0, + "error": 0 + } + }, + { + "time": "2021-07-24 15:39:20", + "freq": { + "msg": 0, + "health": 0, + "error": 0 + } + }, + { + "time": "2021-07-24 15:40:20", + "freq": { + "msg": 0, + "health": 0, + "error": 0 + } + }, + { + "time": "2021-07-24 15:41:20", + "freq": { + "msg": 0, + "health": 0, + "error": 0 + } + }, + { + "time": "2021-07-24 15:42:20", + "freq": { + "msg": 0, + "health": 0, + "error": 0 + } + }, + { + "time": "2021-07-24 15:43:20", + "freq": { + "msg": 0, + "health": 0, + "error": 0 + } + }, + { + "time": "2021-07-24 15:44:20", + "freq": { + "msg": 0, + "health": 0, + "error": 0 + } + }, + { + "time": "2021-07-24 15:45:20", + "freq": { + "msg": 0, + "health": 0, + "error": 0 + } + }, + { + "time": "2021-07-24 15:46:20", + "freq": { + "msg": 0, + "health": 0, + "error": 0 + } + }, + { + "time": "2021-07-24 15:47:20", + "freq": { + "msg": 0, + "health": 0, + "error": 0 + } + }, + { + "time": "2021-07-24 15:48:20", + "freq": { + "msg": 0, + "health": 0, + "error": 0 + } + }, + { + "time": "2021-07-24 15:49:20", + "freq": { + "msg": 0, + "health": 0, + "error": 0 + } + }, + { + "time": "2021-07-24 15:50:20", + "freq": { + "msg": 0, + "health": 0, + "error": 0 + } + }, + { + "time": "2021-07-24 15:51:20", + "freq": { + "msg": 0, + "health": 0, + "error": 0 + } + }, + { + "time": "2021-07-24 15:52:20", + "freq": { + "msg": 0, + "health": 0, + "error": 0 + } + }, + { + "time": "2021-07-24 15:53:20", + "freq": { + "msg": 0, + "health": 0, + "error": 0 + } + }, + { + "time": "2021-07-24 15:54:20", + "freq": { + "msg": 0, + "health": 0, + "error": 0 + } + }, + { + "time": "2021-07-24 15:55:20", + "freq": { + "msg": 0, + "health": 0, + "error": 0 + } + }, + { + "time": "2021-07-24 15:56:20", + "freq": { + "msg": 0, + "health": 0, + "error": 0 + } + }, + { + "time": "2021-07-24 15:57:20", + "freq": { + "msg": 0, + "health": 0, + "error": 0 + } + }, + { + "time": "2021-07-24 15:58:20", + "freq": { + "msg": 0, + "health": 0, + "error": 0 + } + }, + { + "time": "2021-07-24 15:59:20", + "freq": { + "msg": 0, + "health": 0, + "error": 0 + } + }, + { + "time": "2021-07-24 16:00:20", + "freq": { + "msg": 0, + "health": 0, + "error": 0 + } + }, + { + "time": "2021-07-24 16:01:20", + "freq": { + "msg": 0, + "health": 0, + "error": 0 + } + }, + { + "time": "2021-07-24 16:02:20", + "freq": { + "msg": 0, + "health": 0, + "error": 0 + } + }, + { + "time": "2021-07-24 16:03:20", + "freq": { + "msg": 0, + "health": 0, + "error": 0 + } + }, + { + "time": "2021-07-24 16:04:20", + "freq": { + "msg": 0, + "health": 0, + "error": 0 + } + }, + { + "time": "2021-07-24 16:05:20", + "freq": { + "msg": 0, + "health": 0, + "error": 0 + } + }, + { + "time": "2021-07-24 16:06:20", + "freq": { + "msg": 0, + "health": 0, + "error": 0 + } + }, + { + "time": "2021-07-24 16:07:20", + "freq": { + "msg": 0, + "health": 0, + "error": 0 + } + }, + { + "time": "2021-07-24 16:08:20", + "freq": { + "msg": 0, + "health": 0, + "error": 0 + } + }, + { + "time": "2021-07-24 16:09:20", + "freq": { + "msg": 0, + "health": 0, + "error": 0 + } + }, + { + "time": "2021-07-24 16:10:20", + "freq": { + "msg": 0, + "health": 0, + "error": 0 + } + }, + { + "time": "2021-07-24 16:11:20", + "freq": { + "msg": 0, + "health": 0, + "error": 0 + } + }, + { + "time": "2021-07-24 16:12:20", + "freq": { + "msg": 0, + "health": 0, + "error": 0 + } + }, + { + "time": "2021-07-24 16:13:20", + "freq": { + "msg": 0, + "health": 0, + "error": 0 + } + }, + { + "time": "2021-07-24 16:14:20", + "freq": { + "msg": 0, + "health": 0, + "error": 0 + } + }, + { + "time": "2021-07-24 16:15:20", + "freq": { + "msg": 0, + "health": 0, + "error": 0 + } + }, + { + "time": "2021-07-24 16:16:20", + "freq": { + "msg": 0, + "health": 0, + "error": 0 + } + }, + { + "time": "2021-07-24 16:17:20", + "freq": { + "msg": 0, + "health": 0, + "error": 0 + } + }, + { + "time": "2021-07-24 16:18:20", + "freq": { + "msg": 0, + "health": 0, + "error": 0 + } + }, + { + "time": "2021-07-24 16:19:20", + "freq": { + "msg": 0, + "health": 0, + "error": 0 + } + }, + { + "time": "2021-07-24 16:20:20", + "freq": { + "msg": 0, + "health": 0, + "error": 0 + } + }, + { + "time": "2021-07-24 16:21:20", + "freq": { + "msg": 0, + "health": 0, + "error": 0 + } + }, + { + "time": "2021-07-24 16:22:20", + "freq": { + "msg": 0, + "health": 0, + "error": 0 + } + }, + { + "time": "2021-07-24 16:23:20", + "freq": { + "msg": 0, + "health": 0, + "error": 0 + } + }, + { + "time": "2021-07-24 16:24:20", + "freq": { + "msg": 0, + "health": 0, + "error": 0 + } + }, + { + "time": "2021-07-24 16:25:20", + "freq": { + "msg": 0, + "health": 0, + "error": 0 + } + }, + { + "time": "2021-07-24 16:26:20", + "freq": { + "msg": 0, + "health": 0, + "error": 0 + } + }, + { + "time": "2021-07-24 16:27:20", + "freq": { + "msg": 0, + "health": 0, + "error": 0 + } + }, + { + "time": "2021-07-24 16:28:20", + "freq": { + "msg": 0, + "health": 0, + "error": 0 + } + }, + { + "time": "2021-07-24 16:29:20", + "freq": { + "msg": 0, + "health": 0, + "error": 0 + } + }, + { + "time": "2021-07-24 16:30:20", + "freq": { + "msg": 0, + "health": 0, + "error": 0 + } + }, + { + "time": "2021-07-24 16:31:20", + "freq": { + "msg": 0, + "health": 0, + "error": 0 + } + }, + { + "time": "2021-07-24 16:32:20", + "freq": { + "msg": 0, + "health": 0, + "error": 0 + } + }, + { + "time": "2021-07-24 16:33:20", + "freq": { + "msg": 0, + "health": 0, + "error": 0 + } + }, + { + "time": "2021-07-24 16:34:20", + "freq": { + "msg": 0, + "health": 0, + "error": 0 + } + }, + { + "time": "2021-07-24 16:35:20", + "freq": { + "msg": 0, + "health": 0, + "error": 0 + } + }, + { + "time": "2021-07-24 16:36:20", + "freq": { + "msg": 0, + "health": 0, + "error": 0 + } + }, + { + "time": "2021-07-24 16:37:20", + "freq": { + "msg": 0, + "health": 0, + "error": 0 + } + }, + { + "time": "2021-07-24 16:38:20", + "freq": { + "msg": 0, + "health": 0, + "error": 0 + } + }, + { + "time": "2021-07-24 16:39:20", + "freq": { + "msg": 0, + "health": 0, + "error": 0 + } + }, + { + "time": "2021-07-24 16:40:20", + "freq": { + "msg": 0, + "health": 0, + "error": 0 + } + }, + { + "time": "2021-07-24 16:41:20", + "freq": { + "msg": 0, + "health": 0, + "error": 0 + } + }, + { + "time": "2021-07-24 16:42:20", + "freq": { + "msg": 0, + "health": 0, + "error": 0 + } + }, + { + "time": "2021-07-24 16:43:20", + "freq": { + "msg": 0, + "health": 0, + "error": 0 + } + }, + { + "time": "2021-07-24 16:44:20", + "freq": { + "msg": 0, + "health": 0, + "error": 0 + } + }, + { + "time": "2021-07-24 16:45:20", + "freq": { + "msg": 0, + "health": 0, + "error": 0 + } + }, + { + "time": "2021-07-24 16:46:20", + "freq": { + "msg": 0, + "health": 0, + "error": 0 + } + }, + { + "time": "2021-07-24 16:47:20", + "freq": { + "msg": 0, + "health": 0, + "error": 0 + } + }, + { + "time": "2021-07-24 16:48:20", + "freq": { + "msg": 0, + "health": 0, + "error": 0 + } + }, + { + "time": "2021-07-24 16:49:20", + "freq": { + "msg": 0, + "health": 0, + "error": 0 + } + }, + { + "time": "2021-07-24 16:50:20", + "freq": { + "msg": 0, + "health": 0, + "error": 0 + } + }, + { + "time": "2021-07-24 16:51:20", + "freq": { + "msg": 0, + "health": 0, + "error": 0 + } + }, + { + "time": "2021-07-24 16:52:20", + "freq": { + "msg": 0, + "health": 0, + "error": 0 + } + }, + { + "time": "2021-07-24 16:53:20", + "freq": { + "msg": 0, + "health": 0, + "error": 0 + } + }, + { + "time": "2021-07-24 16:54:20", + "freq": { + "msg": 0, + "health": 0, + "error": 0 + } + }, + { + "time": "2021-07-24 16:55:20", + "freq": { + "msg": 0, + "health": 0, + "error": 0 + } + }, + { + "time": "2021-07-24 16:56:20", + "freq": { + "msg": 0, + "health": 0, + "error": 0 + } + }, + { + "time": "2021-07-24 16:57:20", + "freq": { + "msg": 0, + "health": 0, + "error": 0 + } + }, + { + "time": "2021-07-24 16:58:20", + "freq": { + "msg": 0, + "health": 0, + "error": 0 + } + }, + { + "time": "2021-07-24 16:59:20", + "freq": { + "msg": 0, + "health": 0, + "error": 0 + } + }, + { + "time": "2021-07-24 17:00:20", + "freq": { + "msg": 0, + "health": 0, + "error": 0 + } + }, + { + "time": "2021-07-24 17:01:20", + "freq": { + "msg": 0, + "health": 0, + "error": 0 + } + }, + { + "time": "2021-07-24 17:02:20", + "freq": { + "msg": 0, + "health": 0, + "error": 0 + } + }, + { + "time": "2021-07-24 17:03:20", + "freq": { + "msg": 0, + "health": 0, + "error": 0 + } + }, + { + "time": "2021-07-24 17:04:20", + "freq": { + "msg": 0, + "health": 0, + "error": 0 + } + }, + { + "time": "2021-07-24 17:05:20", + "freq": { + "msg": 0, + "health": 0, + "error": 0 + } + }, + { + "time": "2021-07-24 17:06:20", + "freq": { + "msg": 0, + "health": 0, + "error": 0 + } + }, + { + "time": "2021-07-24 17:07:20", + "freq": { + "msg": 0, + "health": 0, + "error": 0 + } + }, + { + "time": "2021-07-24 17:08:20", + "freq": { + "msg": 0, + "health": 0, + "error": 0 + } + }, + { + "time": "2021-07-24 17:09:20", + "freq": { + "msg": 0, + "health": 0, + "error": 0 + } + }, + { + "time": "2021-07-24 17:10:20", + "freq": { + "msg": 0, + "health": 0, + "error": 0 + } + }, + { + "time": "2021-07-24 17:12:20", + "freq": { + "msg": 0, + "health": 0, + "error": 0 + } + }, + { + "time": "2021-07-24 17:13:20", + "freq": { + "msg": 0, + "health": 0, + "error": 0 + } + }, + { + "time": "2021-07-24 17:14:20", + "freq": { + "msg": 0, + "health": 0, + "error": 0 + } + }, + { + "time": "2021-07-24 17:15:20", + "freq": { + "msg": 0, + "health": 0, + "error": 0 + } + }, + { + "time": "2021-07-24 17:16:20", + "freq": { + "msg": 0, + "health": 0, + "error": 0 + } + }, + { + "time": "2021-07-24 17:17:20", + "freq": { + "msg": 0, + "health": 0, + "error": 0 + } + }, + { + "time": "2021-07-24 17:18:20", + "freq": { + "msg": 0, + "health": 0, + "error": 0 + } + } +] diff --git a/ATRI/plugins/console/atri-manege/src/data/console/is_connect.json b/ATRI/plugins/console/atri-manege/src/data/console/is_connect.json new file mode 100644 index 0000000..7fe0350 --- /dev/null +++ b/ATRI/plugins/console/atri-manege/src/data/console/is_connect.json @@ -0,0 +1,3 @@ +{ + "connect": false +}
\ No newline at end of file diff --git a/ATRI/plugins/console/atri-manege/src/main.js b/ATRI/plugins/console/atri-manege/src/main.js new file mode 100644 index 0000000..d1a291e --- /dev/null +++ b/ATRI/plugins/console/atri-manege/src/main.js @@ -0,0 +1,12 @@ +import Vue from 'vue' +import App from './App.vue' +import router from './router' +import vuetify from './plugins/vuetify' + +Vue.config.productionTip = false + +new Vue({ + router, + vuetify, + render: h => h(App) +}).$mount('#app'); diff --git a/ATRI/plugins/console/atri-manege/src/plugins/vuetify.js b/ATRI/plugins/console/atri-manege/src/plugins/vuetify.js new file mode 100644 index 0000000..5bdec19 --- /dev/null +++ b/ATRI/plugins/console/atri-manege/src/plugins/vuetify.js @@ -0,0 +1,7 @@ +import Vue from 'vue'; +import Vuetify from 'vuetify/lib/framework'; + +Vue.use(Vuetify); + +export default new Vuetify({ +}); diff --git a/ATRI/plugins/console/atri-manege/src/router/index.js b/ATRI/plugins/console/atri-manege/src/router/index.js new file mode 100644 index 0000000..480f5d0 --- /dev/null +++ b/ATRI/plugins/console/atri-manege/src/router/index.js @@ -0,0 +1,40 @@ +import Vue from 'vue' +import VueRouter from 'vue-router' + +Vue.use(VueRouter) + +const routes = [ + { + path: '/', + name: '主页 | Home', + component: () => import('../views/Home.vue') + }, + { + path: '/control', + name: '控制面板 | Control', + component: () => import('../views/Control.vue') + }, + { + path: '/data', + name: '数据 | Data', + component: () => import('../views/Data.vue') + }, + { + path: '/chat', + name: '聊天 | Chat', + component: () => import('../views/Chat.vue') + }, + { + path: '/a-test', + name: '测试 | Test', + component: () => import('../views/Test.vue') + } +] + +const router = new VueRouter({ + mode: 'history', + base: process.env.BASE_URL, + routes +}) + +export default router diff --git a/ATRI/plugins/console/atri-manege/src/views/Chat.vue b/ATRI/plugins/console/atri-manege/src/views/Chat.vue new file mode 100644 index 0000000..0d4179e --- /dev/null +++ b/ATRI/plugins/console/atri-manege/src/views/Chat.vue @@ -0,0 +1,5 @@ +<template> + <div class="chat"> + <h1>Comming soon...</h1> + </div> +</template> diff --git a/ATRI/plugins/console/atri-manege/src/views/Control.vue b/ATRI/plugins/console/atri-manege/src/views/Control.vue new file mode 100644 index 0000000..ca64a32 --- /dev/null +++ b/ATRI/plugins/console/atri-manege/src/views/Control.vue @@ -0,0 +1,5 @@ +<template> + <div class="control"> + <h1>Comming soon...</h1> + </div> +</template> diff --git a/ATRI/plugins/console/atri-manege/src/views/Data.vue b/ATRI/plugins/console/atri-manege/src/views/Data.vue new file mode 100644 index 0000000..020ac37 --- /dev/null +++ b/ATRI/plugins/console/atri-manege/src/views/Data.vue @@ -0,0 +1,5 @@ +<template> + <div class="data"> + <h1>Comming soon...</h1> + </div> +</template> diff --git a/ATRI/plugins/console/atri-manege/src/views/Home.vue b/ATRI/plugins/console/atri-manege/src/views/Home.vue new file mode 100644 index 0000000..f630139 --- /dev/null +++ b/ATRI/plugins/console/atri-manege/src/views/Home.vue @@ -0,0 +1,251 @@ +<template> + <v-app> + <h1 class="h1-index">ATRI is Running</h1> + + <v-divider></v-divider> + + <v-col> + <h3 class="h3-index">主体状态 | Status</h3> + </v-col> + <v-container> + <v-col> + <v-row> + <v-card height="170" width="400" class="ma-1"> + <v-card-title>WS状态 | Websocket Status</v-card-title> + <div class="text-center"> + <v-chip + class="ma-2" + color="green" + text-color="white" + > + <div id="isConnect"></div> + </v-chip> + </div> + </v-card> + + <v-card height="170" width="400" class="ma-1"> + <v-card-title>自身状态 | Self Status</v-card-title> + <div class="text-center"> + <v-chip + class="ma-2" + color="green" + text-color="white" + > + <div id="selfStatus"></div> + </v-chip> + </div> + </v-card> + </v-row> + </v-col> + </v-container> + + <v-divider></v-divider> + + <v-col> + <h3 class="h3-index">记录仪 | Dashboard</h3> + <div id="container" class="test-box"></div> + </v-col> + </v-app> +</template> + +<script> +import * as echarts from 'echarts' + +export default { + mounted() { + function sleep (time) { + return new Promise((resolve) => setTimeout(resolve, time)); + } + + function isConnect() { + try { + var url = "http://127.0.0.1:20000/bot/is_connect" + var req = new XMLHttpRequest(); + req.open("get", url); + req.send(null); + req.onload = function() { + if (req.status == 200) { + let data = JSON.parse(req.responseText); + if (data.is_connect) { + document.getElementById("isConnect").innerHTML = "Connected"; + } else { + document.getElementById("isConnect").innerHTML = "Lost Connection"; + } + } else { + document.getElementById("isConnect").innerHTML = "Failed to get DATA"; + } + } + } catch { + document.getElementById("isConnect").innerHTML = "ERROR"; + } + } + + function getStatus() { + try { + var url = "http://127.0.0.1:20000/bot/status" + var req = new XMLHttpRequest(); + req.open("get", url); + req.send(null); + req.onload = function() { + if (req.status == 200) { + let data = JSON.parse(req.responseText); + document.getElementById("selfStatus").innerHTML = data.message; + } + } + } catch { + document.getElementById("isConnect").innerHTML = "ERROR"; + } + } + + function dashboard() { + var data_time = ["0"]; + var data_msg = [0]; + var data_health = [0]; + var data_error = [0]; + + try { + var url = "http://127.0.0.1:20000/bot/dashboard_info" + var req = new XMLHttpRequest(); + req.open('GET', url); + req.send(null); + req.onload = function () { + var t_data = JSON.parse(req.responseText); + var t_data_l = t_data.data + for (var i = 0; i < t_data_l.length; i++) { + data_time.push(t_data_l[i].time) + data_msg.push(t_data_l[i].freq_data.msg) + data_health.push(t_data_l[i].freq_data.health) + data_error.push(t_data_l[i].freq_data.error) + } + } + } catch { + document.getElementById("container").innerHTML = "Failed to get DATA!" + return + } + + sleep(100).then( + () => { + let myChart = echarts.init(document.getElementById("container")); + let option = { + title: { + subtext: '数据统计间隔:1分钟', + left: '10' + }, + legend: { + data: ['接受信息', '服务调用成功速率', '服务调用失败速率'] + }, + color: ["#2d85f0", "#ffbc32", "#f4433c"], + tooltip: { + trigger: 'axis' + }, + grid: { + left: '3%', + right: '4%', + bottom: '3%', + containLabel: true + }, + axisPointer: { + show: true, + }, + dataZoom: [ + { + type: 'slider', + show: true, + xAxisIndex: [0], + start: 70, + end: 100 + }, + { + type: 'slider', + show: true, + yAxisIndex: [0] + }, + { + type: 'inside', + xAxisIndex: [0], + start: 70, + end: 100 + }, + { + type: 'inside', + yAxisIndex: [0] + } + ], + toolbox: { + feature: { + dataZoom: { + yAxisIndex: false, + xAxisIndex: false + }, + restore: {}, + saveAsImage: {} + } + }, + xAxis: [ + { + type: 'category', + boundaryGap: false, + axisLine: {onZero: false}, + data: data_time + }, + ], + yAxis: { + type: 'value' + }, + series: [ + { + name: '接受信息', + type: 'line', + areaStyle: {}, + data: data_msg + }, + { + name: '服务调用成功速率', + type: 'line', + areaStyle: {}, + data: data_health + }, + { + name: '服务调用失败速率', + type: 'line', + areaStyle: {}, + data: data_error + } + ] + }; + + console.info(data_time); + console.info(data_msg); + console.info(data_error); + myChart.setOption(option); + window.onresize = myChart.resize; + } + ) + } + + setInterval(isConnect(), 100); + setInterval(getStatus(), 1000); + setInterval(dashboard(), 6000); + } + + +} +</script> + +<style> +.h1-index { + font-size: 240%; + color: #8f8f8f; +} + +.h3-index { + color: #8f8f8f; +} + +.test-box { + width: 100%; + height: 500px; + background-color: white; +} + +</style> diff --git a/ATRI/plugins/console/atri-manege/src/views/Test.vue b/ATRI/plugins/console/atri-manege/src/views/Test.vue new file mode 100644 index 0000000..442a950 --- /dev/null +++ b/ATRI/plugins/console/atri-manege/src/views/Test.vue @@ -0,0 +1,5 @@ +<template> + <div class="test"> + <h1>Comming soon...</h1> + </div> +</template> |