App Architecture Overview¶
The app's user interface is constructed using Vue.js components. These components encapsulate specific features, such as navigation, user prompts, and control interfaces. The interaction between components is managed through Vue Router, facilitating a smooth transition between different views.
Vuex plays a pivotal role in maintaining the state of the application. The central store, organized into modules, holds critical information like the robot's connection status, control type, and other relevant data. Mutations and actions in Vuex ensure controlled and predictable state changes, providing a foundation for the app's dynamic behavior.
├─components
│ promptBox.vue
│ rDialog.vue
│ rtcHeader.vue
│ rtcLeftControl.vue
│
├─i18n
│ │ i18n.js
│ │
│ └─locale
│ en.json
│ tw.json
│ zh-CN.json
│
├─mixin
│ Heartbeat.js
│
├─router
│ index.js
│
├─store
│ index.js
│
└─views
├─connect
│ Connect.vue
│
├─controller
│ Controller.vue
│
├─development
│ Development.vue
│
├─loading
│ Loading.vue
│
├─login
│ Login.vue
│
├─robotStartup
│ RobotStartup.vue
│
├─setting
│ Setting.vue
│
└─startUp
StartUp.vue
-
components: Contains Vue components that can be reused across application.
-
promptBox.vue: Vue component for displaying prompt boxes.
- rDialog.vue: Vue component for displaying dialog boxes.
- rtcHeader.vue: Vue component for the header of the application.
- rtcLeftControl.vue: Vue component for the left control panel.
-
i18n: Internationalization (i18n) configuration and translation files.
-
i18n.js: Configuration for i18n.
- locale: Translation files for different languages.
-
mixin: Contains mixins used in the application.
-
Heartbeat.js: A mixin for handling heartbeat functionality.
- router : Configuration for the Vue Router.
- store : Configuration for Vuex (state management).
- views : Contains Vue components for different views/pages of the application.
-
connect : View for connecting to a device.
-
Connect.vue : The main Vue component for connecting to a device.
-
controller : View for controlling the device.
-
Controller.vue : The main Vue component for controlling the device.
-
development : Development-related view.
-
Development.vue : The main Vue component for development-related tasks.
-
loading : View for loading screens.
-
Loading.vue : The main Vue component for loading screens.
-
login : View for the login screen.
-
Login.vue : The main Vue component for the login screen.
-
robotStartup : View for robot startup tasks.
-
RobotStartup.vue : The main Vue component for robot startup tasks.
-
setting : View for application settings.
-
Setting.vue : The main Vue component for application settings.
-
startUp : View for application startup tasks.
-
StartUp.vue : The main Vue component for application startup tasks.