Size: a a a

Nuxt.js — русскоговорящее сообщество

2020 July 03

DP

Dmitry Petrik in Nuxt.js — русскоговорящее сообщество
Женя
от этого вас наверно вообще бомбанет)
Бомбанет того, кто будет с этим разбираться после тебя))
источник

Ж

Женя in Nuxt.js — русскоговорящее сообщество
это карзина - работает не трогай
источник

Ж

Женя in Nuxt.js — русскоговорящее сообщество
ебанутая структура прилетает с бэка
источник

TK

Taras Khvyl in Nuxt.js — русскоговорящее сообщество
Dmitry Petrik
Бомбанет того, кто будет с этим разбираться после тебя))
а потом того, кто будет еще позже разбираться
источник

Ж

Женя in Nuxt.js — русскоговорящее сообщество
именно из за этого и эти махинации
источник

DP

Dmitry Petrik in Nuxt.js — русскоговорящее сообщество
Женя
ебанутая структура прилетает с бэка
Жиза
источник

Ж

Женя in Nuxt.js — русскоговорящее сообщество
решил на ней отточить фп - я конечно же понимаю что люди прсто после охю.... если бэк перепишут - но там ничего сложного(для меня - т.к. haskel one love))
источник

BS

Bogdan Saliuk in Nuxt.js — русскоговорящее сообщество
Женя
от этого вас наверно вообще бомбанет)
pipe бы вынести в хелперы :)
источник

BS

Bogdan Saliuk in Nuxt.js — русскоговорящее сообщество
Женя
от этого вас наверно вообще бомбанет)
Я только не совсем понял. Ты корзину на фронте держишь или как?
источник

Ж

Женя in Nuxt.js — русскоговорящее сообщество
Есть массив всех товаров(с бэка), но когда пользователь наполняет корзину формируется другой объект - так как отправка товаров имеет абсолютно другую структуру
источник

DP

Dmitry Petrik in Nuxt.js — русскоговорящее сообщество
Женя
Есть массив всех товаров(с бэка), но когда пользователь наполняет корзину формируется другой объект - так как отправка товаров имеет абсолютно другую структуру
Может надо было класть в корзину тот же самый объект, а уже его сериализовать непосредственно перед отправкой?
источник

Ж

Женя in Nuxt.js — русскоговорящее сообщество
Dmitry Petrik
Может надо было класть в корзину тот же самый объект, а уже его сериализовать непосредственно перед отправкой?
Ща покапался, у меня так оно и есть , я ошибся в верхнем сообщении
источник

Ж

Женя in Nuxt.js — русскоговорящее сообщество
Тот скрипт со скрина просто проверяет наличие товара в корзинк и если он есть то инкрементит , если нет то добавляет
источник

DP

Dmitry Petrik in Nuxt.js — русскоговорящее сообщество
Женя
Ща покапался, у меня так оно и есть , я ошибся в верхнем сообщении
Да, хорошо. Я для себя такую схему усвоил: если надо что-то менять в объекте товара(например проставить guid-ы), то лучше это делать в нормализации на этапе получения данных с бека. Если что-то надо менять перед отправкой на бек, то делаем это перед отправкой в сериализаторе. Внутри всего остального проекта объект должен быть максимально неизменен. Иначе это куча головняка добавит, особенно если проект большой
источник

Ж

Женя in Nuxt.js — русскоговорящее сообщество
вот такая дич перед отправкой)
sendData(field) {
     if (!this.carriage || !this.seat) return;
     const dataToSend = this[field].reduce((accum, item) => {
       return (
         (accum = {
           ...accum,
           [item.meta.id]: {
             amount: item.count,
             id: item.meta.id,
             name: item.meta.title,
             price: item.meta.price * 10000,
             shop_id: field === 'storeItems' ? 1 : 0,
           },
         }),
         accum
       );
     }, {});
     this.$axios
       .post(`/api/cart/spush/${this.carriage}/${this.seat}`, {
         [field === 'storeItems' ? 'shop' : 'restaurant']: dataToSend,
       })
       .then(() => this.$router.push('/basket/ok'))
       .catch(e => this.$router.push('/basket/error'))
       .finally(() => {
         this.DELETE_BY_FIELD(field);

         for (let k of this.ordersFields) {
           this.SET_ORDERS({ field: k, orders: this.orders[k] });
         }
       });
   },
источник

DP

Dmitry Petrik in Nuxt.js — русскоговорящее сообщество
Женя
вот такая дич перед отправкой)
sendData(field) {
     if (!this.carriage || !this.seat) return;
     const dataToSend = this[field].reduce((accum, item) => {
       return (
         (accum = {
           ...accum,
           [item.meta.id]: {
             amount: item.count,
             id: item.meta.id,
             name: item.meta.title,
             price: item.meta.price * 10000,
             shop_id: field === 'storeItems' ? 1 : 0,
           },
         }),
         accum
       );
     }, {});
     this.$axios
       .post(`/api/cart/spush/${this.carriage}/${this.seat}`, {
         [field === 'storeItems' ? 'shop' : 'restaurant']: dataToSend,
       })
       .then(() => this.$router.push('/basket/ok'))
       .catch(e => this.$router.push('/basket/error'))
       .finally(() => {
         this.DELETE_BY_FIELD(field);

         for (let k of this.ordersFields) {
           this.SET_ORDERS({ field: k, orders: this.orders[k] });
         }
       });
   },
На мой взгляд сериализатор лучше вынести в отдельный модуль. axios-запросы вынести в api-модуль, да и делать эти запросы в сторе, а не в компонентах
источник

DP

Dmitry Petrik in Nuxt.js — русскоговорящее сообщество
Короче структурировать все. На такую портянку смотреть больно)
источник

Ж

Женя in Nuxt.js — русскоговорящее сообщество
Да я ща рефакторю этот проект, начинал его год назад - только познавая накст и вью. А щас тут залез и понял что во многих местах нагородил дичи. Жду 3 вьюху ибо там красота внеземная ну и создаю свою ui либу на renderless
источник

Ж

Женя in Nuxt.js — русскоговорящее сообщество
А так new.passline.ru посмотрите - замечания приветствую
источник

Ж

Женя in Nuxt.js — русскоговорящее сообщество
Полностью сам писал
источник