Хранить данные Firestore внутри макета - PullRequest
0 голосов
/ 22 июня 2019

В настоящее время я распространяю данные внутри моего приложения, используя макет, содержащий массив (вы можете найти код ниже).Я перебираю этот массив в каждом компоненте, который в нем нуждается.

export const CASES: Case[] = [
  { id: 0,
    name: 'Diesel',
    portfolioImage: '/assets/images/portfolio/diesel.png',
    image: '/assets/images/diesel.jpg',
    image2: '/assets/images/diesel/diesel-sunflower.png',
    image3: '/assets/images/diesel/diesel-cap.png',
    link: '/cases/diesel',
    header: 'black'
  },

  { id: 1,
    name: 'WeWork Berlin',
    portfolioImage: '/assets/images/portfolio/berlin.png',
    image: '/assets/images/berlin.jpg',
    image2: '/assets/images/wework/berlin-logo.png',
    image3: '/assets/images/wework/berlin-building.png',
    link: '/cases/wework',
    header: 'white'
  },

  { id: 2,
    name: 'Fritzhansen',
    portfolioImage: '/assets/images/portfolio/fritzhansen.png',
    image: '/assets/images/fritzhansen.jpg',
    image2: '/assets/images/fritzhansen/women.png',
    image3: '/assets/images/fritzhansen/chairs.jpeg',
    link: '/cases/fritzhansen',
    header: 'white'
  },

  { id: 3,
    name: 'Savum',
    portfolioImage: '/assets/images/portfolio/savum.png',
    image: '/assets/images/savum/savum-front.png',
    image2: '/assets/images/savum/savum-logo.png',
    image3: '/assets/images/savum/savum-iphone.png',
    link: '/cases/savum',
    header: 'black'
  },

  { id: 4,
    name: 'Eskay',
    portfolioImage: '/assets/images/portfolio/eskay.png',
    image: '/assets/images/eskay.jpg',
    image2: '/assets/images/eskay/front.jpg',
    image3: '/assets/images/eskay/inner.jpg',
    link: '/cases/eskay',
    header: 'black'
  },

  { id: 5,
    name: 'Diesel Fashion',
    portfolioImage: '/assets/images/portfolio/diesel-snd.png',
    image: '/assets/images/diesel-snd.png',
    image2: '/assets/images/diesel/diesel-sunflower.png',
    image3: '/assets/images/diesel/diesel-cap.png',
    link: '/cases/template',
    header: 'black'
  },

  { id: 6,
    name: 'Mobilia',
    portfolioImage: '/assets/images/portfolio/mobilia.png',
    image: '/assets/images/mobilia.jpg',
    image2: '/assets/images/mobilia/green.jpg',
    image3: '/assets/images/mobilia/pink.jpg',
    link: '/cases/mobilia',
    header: 'black'
  },

  { id: 7,
    name: 'Rarekind',
    portfolioImage: '/assets/images/portfolio/rarekind.png',
    image: '/assets/images/rarekind.jpg',
    image2: '/assets/images/rarekind/tube.png',
    image3: '/assets/images/rarekind/red.png',
    link: '/cases/rarekind',
    header: 'black'
  },
];

Я хочу сохранить этот массив в Firebase (вместо ссылок на изображения, хранилище Firebase?), Чтобы иметь возможность использовать его как видсистемы управления контентом для обновления записей.

Есть ли способ вставить этот список в Firestore в сочетании с хранилищем Firebase вместо папки активов для хранения изображений?

Как я могу прочитать этоданные по init и хранят их внутри такого рода , чтобы снова автоматически распространять?- Можно ли даже хранить изображения в таком массиве?

Если быть точным, как я могу ..

  1. Извлечь изображения из хранилища вместе с выделенной им записью
  2. Вставить этот пакет как один Case вданный макет

Могу ли я реализовать такой подход или есть другой подход, который служит той же цели?

1 Ответ

1 голос
/ 23 июня 2019

Есть ли способ вставить этот список в Firestore в сочетании с хранилищем Firebase вместо папки assets для хранения изображений?

Да, но это может не сработать на 100% так, как вы себе это представляете. Когда вы загружаете изображение в Firebase Storage, оно дает вам URL для извлечения этого изображения. Затем вы можете сохранить этот URL в БД Firebase Realtime, используя объект JSON, очень похожий на тот, который указан в вашем вопросе. Ваше приложение должно будет запросить Firebase, чтобы получить JSON, а затем сделать последующие запросы для определенных изображений.

Хранение изображений в виде URI-адресов base64 - это то, что вы, возможно, захотите изучить, если ресурсы невелики, но производительность является серьезной проблемой, поэтому YMMV.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...