Browse Source

refactor: align stores/views/http paths with uav-edu-web layout

main
xiaosi 1 month ago
parent
commit
9275d11ea3
  1. 2
      src/App.vue
  2. 2
      src/components/DockEditModal.vue
  3. 4
      src/layout/AppShell.vue
  4. 4
      src/main.js
  5. 30
      src/router/index.js
  6. 9
      src/stores/index.js
  7. 2
      src/stores/modules/devicesStore.js
  8. 0
      src/stores/modules/uiStore.js
  9. 0
      src/stores/modules/userStore.js
  10. 4
      src/utils/http.js
  11. 8
      src/views/AccountView/AccountView.vue
  12. 4
      src/views/AlarmsView/AlarmsView.vue
  13. 4
      src/views/ControlView/ControlView.vue
  14. 10
      src/views/DeviceDetailView/DeviceDetailView.vue
  15. 10
      src/views/DevicesView/DevicesView.vue
  16. 4
      src/views/FirmwaresView/FirmwaresView.vue
  17. 6
      src/views/LoginView/LoginView.vue
  18. 4
      src/views/MediaView/MediaView.vue
  19. 6
      src/views/MonitorView/MonitorView.vue
  20. 4
      src/views/OperationLogsView/OperationLogsView.vue
  21. 4
      src/views/ReplayView/ReplayView.vue
  22. 6
      src/views/SystemView/SystemView.vue
  23. 6
      src/views/TasksView/TasksView.vue
  24. 4
      src/views/UsersView/UsersView.vue

2
src/App.vue

@ -60,6 +60,6 @@
</template> </template>
<script setup> <script setup>
import { useUiStore } from './store/ui'
import { useUiStore } from '@/stores/modules/uiStore'
const ui = useUiStore() const ui = useUiStore()
</script> </script>

2
src/components/DockEditModal.vue

@ -26,7 +26,7 @@
<script setup> <script setup>
import { reactive, ref, watch } from 'vue' import { reactive, ref, watch } from 'vue'
import request from '../api/request'
import request from '@/utils/http'
const props = defineProps({ const props = defineProps({
visible: Boolean, visible: Boolean,

4
src/layout/AppShell.vue

@ -64,8 +64,8 @@
<script setup> <script setup>
import { computed, ref, watch } from 'vue' import { computed, ref, watch } from 'vue'
import { useRoute, useRouter } from 'vue-router' import { useRoute, useRouter } from 'vue-router'
import { useUserStore } from '../store/user'
import { useUiStore } from '../store/ui'
import { useUserStore } from '@/stores/modules/userStore'
import { useUiStore } from '@/stores/modules/uiStore'
const route = useRoute() const route = useRoute()
const router = useRouter() const router = useRouter()

4
src/main.js

@ -1,10 +1,10 @@
import { createApp } from 'vue' import { createApp } from 'vue'
import { createPinia } from 'pinia'
import App from './App.vue' import App from './App.vue'
import router from './router' import router from './router'
import { setupStore } from './stores'
import './styles/prototype.css' import './styles/prototype.css'
const app = createApp(App) const app = createApp(App)
app.use(createPinia())
setupStore(app)
app.use(router) app.use(router)
app.mount('#app') app.mount('#app')

30
src/router/index.js

@ -1,27 +1,27 @@
import { createRouter, createWebHistory } from 'vue-router' import { createRouter, createWebHistory } from 'vue-router'
import { useUserStore } from '../store/user'
import { useUserStore } from '@/stores/modules/userStore'
import AppShell from '../layout/AppShell.vue' import AppShell from '../layout/AppShell.vue'
const routes = [ const routes = [
{ path: '/login', name: 'login', component: () => import('../views/Login.vue') },
{ path: '/login', name: 'login', component: () => import('../views/LoginView/LoginView.vue') },
{ {
path: '/', path: '/',
component: AppShell, component: AppShell,
redirect: '/monitor', redirect: '/monitor',
children: [ children: [
{ path: 'monitor', name: 'monitor', component: () => import('../views/Monitor.vue') },
{ path: 'devices', name: 'devices', component: () => import('../views/Devices.vue') },
{ path: 'tasks', name: 'tasks', component: () => import('../views/Tasks.vue') },
{ path: 'replay/:key', name: 'replay', component: () => import('../views/Replay.vue') },
{ path: 'media', name: 'media', component: () => import('../views/Media.vue') },
{ path: 'account', name: 'account', component: () => import('../views/Account.vue') },
{ path: 'alarms', name: 'alarms', component: () => import('../views/Alarms.vue') },
{ path: 'system', name: 'system', component: () => import('../views/System.vue'), meta: { admin: true } },
{ path: 'users', name: 'users', component: () => import('../views/Users.vue'), meta: { admin: true } },
{ path: 'firmwares', name: 'firmwares', component: () => import('../views/Firmwares.vue'), meta: { admin: true } },
{ path: 'control/:id?', name: 'control', component: () => import('../views/Control.vue'), meta: { userOnly: true } },
{ path: 'logs', name: 'logs', component: () => import('../views/OperationLogs.vue'), meta: { userOnly: true } },
{ path: 'device/:id', name: 'device-detail', component: () => import('../views/DeviceDetail.vue') }
{ path: 'monitor', name: 'monitor', component: () => import('../views/MonitorView/MonitorView.vue') },
{ path: 'devices', name: 'devices', component: () => import('../views/DevicesView/DevicesView.vue') },
{ path: 'tasks', name: 'tasks', component: () => import('../views/TasksView/TasksView.vue') },
{ path: 'replay/:key', name: 'replay', component: () => import('../views/ReplayView/ReplayView.vue') },
{ path: 'media', name: 'media', component: () => import('../views/MediaView/MediaView.vue') },
{ path: 'account', name: 'account', component: () => import('../views/AccountView/AccountView.vue') },
{ path: 'alarms', name: 'alarms', component: () => import('../views/AlarmsView/AlarmsView.vue') },
{ path: 'system', name: 'system', component: () => import('../views/SystemView/SystemView.vue'), meta: { admin: true } },
{ path: 'users', name: 'users', component: () => import('../views/UsersView/UsersView.vue'), meta: { admin: true } },
{ path: 'firmwares', name: 'firmwares', component: () => import('../views/FirmwaresView/FirmwaresView.vue'), meta: { admin: true } },
{ path: 'control/:id?', name: 'control', component: () => import('../views/ControlView/ControlView.vue'), meta: { userOnly: true } },
{ path: 'logs', name: 'logs', component: () => import('../views/OperationLogsView/OperationLogsView.vue'), meta: { userOnly: true } },
{ path: 'device/:id', name: 'device-detail', component: () => import('../views/DeviceDetailView/DeviceDetailView.vue') }
] ]
}, },
{ path: '/:pathMatch(.*)*', redirect: '/monitor' } { path: '/:pathMatch(.*)*', redirect: '/monitor' }

9
src/stores/index.js

@ -0,0 +1,9 @@
import { createPinia } from 'pinia'
export * from './modules/userStore'
export * from './modules/devicesStore'
export * from './modules/uiStore'
export function setupStore(app) {
app.use(createPinia())
}

2
src/store/devices.js → src/stores/modules/devicesStore.js

@ -1,6 +1,6 @@
import { defineStore } from 'pinia' import { defineStore } from 'pinia'
import { reactive, ref } from 'vue' import { reactive, ref } from 'vue'
import request from '../api/request'
import request from '@/utils/http'
// 后端 status 值 → 展示文案 + 状态样式 // 后端 status 值 → 展示文案 + 状态样式
const DOCK_STATUS = { const DOCK_STATUS = {

0
src/store/ui.js → src/stores/modules/uiStore.js

0
src/store/user.js → src/stores/modules/userStore.js

4
src/api/request.js → src/utils/http.js

@ -1,6 +1,6 @@
import axios from 'axios' import axios from 'axios'
import { useUserStore } from '../store/user'
import { useUiStore } from '../store/ui'
import { useUserStore } from '@/stores/modules/userStore'
import { useUiStore } from '@/stores/modules/uiStore'
import router from '../router' import router from '../router'
const request = axios.create({ const request = axios.create({

8
src/views/Account.vue → src/views/AccountView/AccountView.vue

@ -202,10 +202,10 @@
<script setup> <script setup>
import { computed, onMounted, ref } from 'vue' import { computed, onMounted, ref } from 'vue'
import { useUserStore } from '../store/user'
import { useUiStore } from '../store/ui'
import request from '../api/request'
import { useDeviceStore } from '../store/devices'
import { useUserStore } from '@/stores/modules/userStore'
import { useUiStore } from '@/stores/modules/uiStore'
import request from '@/utils/http'
import { useDeviceStore } from '@/stores/modules/devicesStore'
const userStore = useUserStore() const userStore = useUserStore()
const ui = useUiStore() const ui = useUiStore()

4
src/views/Alarms.vue → src/views/AlarmsView/AlarmsView.vue

@ -52,8 +52,8 @@
<script setup> <script setup>
import { computed, onMounted, ref } from 'vue' import { computed, onMounted, ref } from 'vue'
import { useUiStore } from '../store/ui'
import request from '../api/request'
import { useUiStore } from '@/stores/modules/uiStore'
import request from '@/utils/http'
const ui = useUiStore() const ui = useUiStore()

4
src/views/Control.vue → src/views/ControlView/ControlView.vue

@ -97,8 +97,8 @@
<script setup> <script setup>
import { computed, onMounted, ref } from 'vue' import { computed, onMounted, ref } from 'vue'
import { useRoute } from 'vue-router' import { useRoute } from 'vue-router'
import { useDeviceStore } from '../store/devices'
import { useUiStore } from '../store/ui'
import { useDeviceStore } from '@/stores/modules/devicesStore'
import { useUiStore } from '@/stores/modules/uiStore'
const route = useRoute() const route = useRoute()
const devices = useDeviceStore() const devices = useDeviceStore()

10
src/views/DeviceDetail.vue → src/views/DeviceDetailView/DeviceDetailView.vue

@ -319,11 +319,11 @@
<script setup> <script setup>
import { computed, onMounted, ref } from 'vue' import { computed, onMounted, ref } from 'vue'
import { useRoute, useRouter } from 'vue-router' import { useRoute, useRouter } from 'vue-router'
import { useDeviceStore } from '../store/devices'
import { useUiStore } from '../store/ui'
import { useUserStore } from '../store/user'
import request from '../api/request'
import DockEditModal from '../components/DockEditModal.vue'
import { useDeviceStore } from '@/stores/modules/devicesStore'
import { useUiStore } from '@/stores/modules/uiStore'
import { useUserStore } from '@/stores/modules/userStore'
import request from '@/utils/http'
import DockEditModal from '@/components/DockEditModal.vue'
const route = useRoute() const route = useRoute()
const router = useRouter() const router = useRouter()

10
src/views/Devices.vue → src/views/DevicesView/DevicesView.vue

@ -255,12 +255,12 @@
<script setup> <script setup>
import { computed, onMounted, reactive, ref } from 'vue' import { computed, onMounted, reactive, ref } from 'vue'
import { useDeviceStore } from '../store/devices'
import { useUiStore } from '../store/ui'
import { useDeviceStore } from '@/stores/modules/devicesStore'
import { useUiStore } from '@/stores/modules/uiStore'
import { useRouter } from 'vue-router' import { useRouter } from 'vue-router'
import { useUserStore } from '../store/user'
import request from '../api/request'
import DockEditModal from '../components/DockEditModal.vue'
import { useUserStore } from '@/stores/modules/userStore'
import request from '@/utils/http'
import DockEditModal from '@/components/DockEditModal.vue'
const devices = useDeviceStore() const devices = useDeviceStore()
const ui = useUiStore() const ui = useUiStore()

4
src/views/Firmwares.vue → src/views/FirmwaresView/FirmwaresView.vue

@ -116,8 +116,8 @@
<script setup> <script setup>
import { onMounted, reactive, ref } from 'vue' import { onMounted, reactive, ref } from 'vue'
import { useUiStore } from '../store/ui'
import request from '../api/request'
import { useUiStore } from '@/stores/modules/uiStore'
import request from '@/utils/http'
const ui = useUiStore() const ui = useUiStore()
const list = ref([]) const list = ref([])

6
src/views/Login.vue → src/views/LoginView/LoginView.vue

@ -83,9 +83,9 @@
<script setup> <script setup>
import { reactive, ref } from 'vue' import { reactive, ref } from 'vue'
import { useRouter } from 'vue-router' import { useRouter } from 'vue-router'
import request from '../api/request'
import { useUserStore } from '../store/user'
import { useUiStore } from '../store/ui'
import request from '@/utils/http'
import { useUserStore } from '@/stores/modules/userStore'
import { useUiStore } from '@/stores/modules/uiStore'
const router = useRouter() const router = useRouter()
const userStore = useUserStore() const userStore = useUserStore()

4
src/views/Media.vue → src/views/MediaView/MediaView.vue

@ -67,8 +67,8 @@
<script setup> <script setup>
import { onMounted, ref, watch } from 'vue' import { onMounted, ref, watch } from 'vue'
import { useRoute, useRouter } from 'vue-router' import { useRoute, useRouter } from 'vue-router'
import { useUiStore } from '../store/ui'
import request from '../api/request'
import { useUiStore } from '@/stores/modules/uiStore'
import request from '@/utils/http'
const route = useRoute() const route = useRoute()
const router = useRouter() const router = useRouter()

6
src/views/Monitor.vue → src/views/MonitorView/MonitorView.vue

@ -246,10 +246,10 @@
<script setup> <script setup>
import { computed, onMounted, reactive, ref } from 'vue' import { computed, onMounted, reactive, ref } from 'vue'
import { useRoute } from 'vue-router' import { useRoute } from 'vue-router'
import { useDeviceStore } from '../store/devices'
import { useUiStore } from '../store/ui'
import { useDeviceStore } from '@/stores/modules/devicesStore'
import { useUiStore } from '@/stores/modules/uiStore'
import { useRouter } from 'vue-router' import { useRouter } from 'vue-router'
import { useUserStore } from '../store/user'
import { useUserStore } from '@/stores/modules/userStore'
const devices = useDeviceStore() const devices = useDeviceStore()
const ui = useUiStore() const ui = useUiStore()

4
src/views/OperationLogs.vue → src/views/OperationLogsView/OperationLogsView.vue

@ -62,8 +62,8 @@
<script setup> <script setup>
import { onMounted, ref } from 'vue' import { onMounted, ref } from 'vue'
import { useUiStore } from '../store/ui'
import request from '../api/request'
import { useUiStore } from '@/stores/modules/uiStore'
import request from '@/utils/http'
const ui = useUiStore() const ui = useUiStore()
const list = ref([]) const list = ref([])

4
src/views/Replay.vue → src/views/ReplayView/ReplayView.vue

@ -54,8 +54,8 @@
<script setup> <script setup>
import { computed, onMounted, ref } from 'vue' import { computed, onMounted, ref } from 'vue'
import { useRoute, useRouter } from 'vue-router' import { useRoute, useRouter } from 'vue-router'
import { useUiStore } from '../store/ui'
import request from '../api/request'
import { useUiStore } from '@/stores/modules/uiStore'
import request from '@/utils/http'
const route = useRoute() const route = useRoute()
const router = useRouter() const router = useRouter()

6
src/views/System.vue → src/views/SystemView/SystemView.vue

@ -59,9 +59,9 @@
<script setup> <script setup>
import { computed, onMounted, ref } from 'vue' import { computed, onMounted, ref } from 'vue'
import { useUiStore } from '../store/ui'
import { useUserStore } from '../store/user'
import request from '../api/request'
import { useUiStore } from '@/stores/modules/uiStore'
import { useUserStore } from '@/stores/modules/userStore'
import request from '@/utils/http'
const ui = useUiStore() const ui = useUiStore()
const userStore = useUserStore() const userStore = useUserStore()

6
src/views/Tasks.vue → src/views/TasksView/TasksView.vue

@ -217,9 +217,9 @@
<script setup> <script setup>
import { computed, onMounted, reactive, ref, watch } from 'vue' import { computed, onMounted, reactive, ref, watch } from 'vue'
import { useRoute, useRouter } from 'vue-router' import { useRoute, useRouter } from 'vue-router'
import { useUiStore } from '../store/ui'
import request from '../api/request'
import { useDeviceStore } from '../store/devices'
import { useUiStore } from '@/stores/modules/uiStore'
import request from '@/utils/http'
import { useDeviceStore } from '@/stores/modules/devicesStore'
const route = useRoute() const route = useRoute()
const router = useRouter() const router = useRouter()

4
src/views/Users.vue → src/views/UsersView/UsersView.vue

@ -65,8 +65,8 @@
<script setup> <script setup>
import { onMounted, ref } from 'vue' import { onMounted, ref } from 'vue'
import { useUiStore } from '../store/ui'
import request from '../api/request'
import { useUiStore } from '@/stores/modules/uiStore'
import request from '@/utils/http'
const ui = useUiStore() const ui = useUiStore()
const users = ref([]) const users = ref([])
Loading…
Cancel
Save