Это не проект строительных лесов, а базовый демонстрационный проект, лишенный реального эталонного бизнес-проекта. Создайте новый серверный проект Vue, который можно будет изменить на основе этого проекта.
Используйте Mockjs для моделирования данных интерфейса (будет улучшено)
axios реализует сетевые запросы (последующая инкапсуляция и унифицированная обработка ошибок)
управление состоянием Vuex
Управление разрешениями на маршрутизацию
Онлайн-демо
Имя пользователя:admin
Пароль: 123456
Пользователи, доступные для входа, находятся в ${root_project}/src/mock/data/exampleData.js.
Для глобального управления состоянием Vuex обратитесь к конфигурации в src/vuex/modules/control.js. Все асинхронные запросы используют одно действие и три фиксированных метода мутации.
Что касается управления состоянием Vuex, оно прописано в обратном вызове метода в шаблоне Vue, так что код можно использовать совместно и избежать большого количества похожих кодов.
Все сетевые запросы также используют один и тот же метод axios.request(). Тип запроса и обратный вызов успеха передаются в запрос в виде параметров, что также позволяет избежать большого количества похожих кодов.
Для сравнения с эталонным случаем просмотрите вызванный запрос на вход и запрос на получение списка сотрудников в управлении сотрудниками.
# install dependencies
npm install
# serve with hot reload at localhost:8080
npm run dev
# build for production with minification
npm run build
# build for production and view the bundle analyzer report
npm run build --report
Подробное объяснение того, как все работает, можно найти в руководстве и документации для vue-loader.