401, при этом мне нужно сделать редирект роутера на LoginView
Но не при каждом же запросе делать проверку всех ошибок, это надо централизовано куда-то вывести.
А куда?
Ну допустим я повесил обработку ошибок непосредственно на метод request.
Но useRouter работает только внутри компонентов, т.к. это composable.
Вы как такое делаете вообще?
Может я велосипед изобретаю?
https://cli.vuejs.org/config/#pages в vue cli это /login
я сначала так сделал, потом дропнул
сижу думаю, как правильно обрабатывать ошибки от апи, чтобы на любой 401 редиректить на форму логина через роутер. но есть также идея сделать форму логина на отдельном домене, тогда роутер не нужен
Потому что я могу только на отдельном домене такое организовать. Например auth. Само приложение - app. Апишка - api. Нужно залогиниться на api и сохранить токены.. КУДА
потому что тебе нужен апи слой, который будет отправлять запросы и обрабатывать ответы. Почему у тебя компонент рулит навигацией - тоже вопрос.
У меня вообще отдельный пакет api-client, где всё красиво завёрнуто и есть событие onRequestError. Но я не могу им воспользоваться, потому что useRouter работает только внутри компонентов. Я не догоняю, что я делаю не так
Не знаю )) У нас /, /login, /api
router же доступен в v3 как this.$router ? (я тонкости v3 запомнить никак не могу) так прокинь вуевский this, aka vm, до api-client как нить и вот оно
прокидывал, он ошибками срал, что-то там с реактивностью и с undefined parentNode откуда-то. я сделал вывод, что так делать нельзя.
да скорее я что-то не так делаю. сам ещё до конца не разобрался в этих composables новых
Но вообще, безотносительно vue, а в js, для меня странно, что: this.что-то работает а const vm.тоже-самое не работает, где vm===this
потому что const blabla = vm.тожеСамое
ну, а я о чём говорил..
Обсуждают сегодня