Nuxt SPA динамические c маршруты на основе данных Firebase Firestore - PullRequest
0 голосов
/ 05 марта 2020

Итак, я хочу, чтобы на Netlify был размещен сайт nuxt, где есть дочерний маршрут, чей слаг - это идентификатор документа пожарной базы Firebase.

Пример:

https://www.example.com/users/steve

(где "steve") это документ)

Так что, когда маршрут будет пройден, мне нужно будет запросить firebase, чтобы узнать, существует ли он, а если нет, мне придется вернуть 404. Возможно ли это? Я могу сделать это легко. net или php, но я очень не уверен в SPA.

В частности, что я должен искать в документах, если я могу сделать это?

1 Ответ

0 голосов
/ 06 марта 2020

Одним из решений является реализация HTTPS Cloud Function , которую вы бы назвали как REST API, отправив HTTP-запрос GET на конечную точку функций.

Как объяснено в do c «Используемый в качестве аргументов для onRequest(), объект Request дает вам доступ к свойствам HTTP-запроса, отправленного клиентом».

Таким образом, ваша облачная функция будет выглядеть следующим образом:

exports.getUser = functions.https.onRequest((req, res) => {
  // get the value of the user by parsing the url
  const baseUrl = req.baseUrl;
  //Extract the user from baseUrl
  const user = ....

 //query the Firestore database
 admin.firestore().collection('users').doc(user).get()
 .then(doc => {
    if (doc.exists) {
        res.status(200).end();
    } else {
        res.status(404).end();
    }

});

См. Страницу Начало работы и серию видео для получения дополнительной информации о облачных функциях.

Обратите внимание, что вы можете подключить функцию HTTP на Firebase Hosting таким образом, что «запросы на вашем сайте Firebase Hosting могут быть перенаправлены на указанные c функции HTTP».

...