سلام
من در اصل برای برنامه موبایل این سوال رو دارم
ولی کلا میخواستم با منطقش آشنا بشم چجوری بهتره
صفحه 1 : محصول رو در نظر بگیرین >> https://elrak.ir/my-files/273328-2.jpg
خب اینجا کاربر محصولی رو انتخاب میکنه یا کم و زیاد میکنه تعدادش رو
حالا صفحه 2 : سبد خرید >> https://elrak.ir/my-files/999641-3.jpg
اینجا کاربر محصولاتی که انتخاب کرده همراه با قیمت و... میبینه.
کاربر ممکنه از صفحه 1 عدد محصولی رو افزایش بده
به صفحه 2 بره عدد محصول رو کم کنه و دوباره برگرده به صفحه 1
طبیعتا اینجا باید اطلاعات هماهنگ باشن
مشکل من همینه
کاری که من الان کردم اینه با هر بار تغییر مقدار توی صفحه 1 یا 2 اونو توی دیتابیس آنلاین ذخیره میکنم
میخواستم ببینم باید چیکار کنم دقیقا؟
توی shared preferences که نمیشه درست و حسابی چیزی ذخیره کرد
من باید توی دیتابیس آفلاین توی گوشی ذخیره کنم و موقع پرداخت به دیتابیس آنلاین اضافه کنم؟
بعد مثلا یه کاربر بیاد یه محصول رو انتخاب کنه چه مواردی رو ذخیره کنم؟
مثلا کاربر امروز با قیمت 1000ت به سبد خرید اضافه کرده و فردا دوباره میاد تعداد سبد خرید رو کم و زیاد کنه قیمت شده 1500 مثلا
خب اینجوری باید هی قیمت رو از دیتابیس آنلاین بگیرم؟
بازم سرعت کاهش پیدا میکنه (رد و بد اطلاعات بین اپ و سرور)
ممنون میشم یکم راجع به فرآیند این کار توضیح بدین
تشکر
@hesammousavi @ali.bayat @juza66 @milad @alireza.mzh
من با فلاتر کار نکردم
اما در حین کار با RN معمولا چنین داده هایی رو توی استیت ها ذخیره میکنیم و بعد با استفاده از یه State Manager بین صفحات مختلف اپ میتونیم به داده هامون دسترسی داشته باشیم
اما در مورد قیمت:
اگر شما دارید اطلاعات غذاهارو از یه API میگیرید و قیمت ها ممکنه عوض بشند..
همون ابتدا که اپ لود میشه (اگر تعداد غذاها کمه) تمام لیست غذاها رو بگیرید.
اما اگر لیست طولانی داره باز هم باید به API درخواست بزنی و و لیست و قیمت لحظه ای رو بگیری (ولی برای لیست های طولانی باید از LazyLoad هم استفاده کنی)
حالا اینکه این گزینه ها به چه شکل در فلاتر در دسترس شما هست رو باید تحقیق کنید.
اگه کاربر تعداد رو عوض کرد یه درخواست میفرستی سمت سرور و تعداد رو اپدیت میکنی تو دیتابیس
هرصفحه ای هم خواستی سبد خرید رو نشون بدی از دیتابیس باید بخونی
با سلام
ببینید در مورد موبایل کلا هیچ در جریان نیستم، من سناریو سبد خرید رو برای وب توضیح میدم شاید تونستی چیزی دربیاری
توی فروشگاه یه دکمه افزودن به سبد داریم و یه باکس برای انتخاب تعداد
زمانی که کاربر روی افزودن به سبد خرید کلیک میکنه ما ای دی محصول به همراه تعداد داخل باکس رو توی کوکی ذخیره میکنیم (یا دیتابیس)
حالا اگه کاربر مجدد افزودن به سبد رو زد ما بررسی میکنیم اگه ای دی محصول وجود داشت میایم تعداد قبلی رو با مقدار فعلی داخل باکس جمع میکنیم و تعداد محصول ذخیره شده توی کوکی رو آپدیت میکنیم وقتی کاربر به صفحه سبد خرید رفت ما آی دی محصول رو داریم پس اطلاعات رو نمایش میدیم، اینجا مجدد کاربر میتونه تعداد رو کم یا زیاد کنه بازم به همون اطلاعات داخل کوکی نیاز داریم یعنی با کم یا زیاد شدنش به صورت ایجکس اطلاعات رو آپدیت میکنیم و همزمان هم به صورت ایجکس و جاوااسکریپت سبد خرید رو اپدیت میکنیم.
خوب سبد خرید توی یه مرحله تکمیل نمیشه که درسته خوب در اخرین مرحله که می خواد به درگاه وصل بشه اینجا مجدد قیمت محصول رو چک میکینم که اگه کاربر این محصول رو قبلا به سبد اضافه کرده باشه و الان قیمت تغییر کرده باشه ما با قیمت جدید بریم به درگاه.
توی موبایل هم فک میکنم شما هروقت می خوای صفحه سبد خرید رو نمایش بدی بیای همون محصولاتی که توی سبد داری قیمت جدیدشو بگیری و اطلاعات رو اپدیت کنی.
تنها راه ممکن همینه و قطعا راه دیگه ای وجود نخواهد داشت اینکه بدون بررسی آنلاین قیمت ها رو بفرستی به درگاه
@elyasbeshkani
در مورد قضیه پرفورمنس هم زیاد نگران نباش .. دیگه هر زبانی روی هر سرور ضعیفی هم میتونه چنتا کوئری به دیتابیسو هندل کنه
@ali.bayat
بله ، مثل این که State Manager توی فلاتر هم هست و من بی خبر بودم ازش
یه سوال دارم، من مثلا توی همین زمینه فلاتر چیکار کنم که بتونم از روش های جدید و امکاناتش خبردار بشم؟
چون تا حالا میانه خوبی با داکیومنت های اصلی هر تکنولوژی نداشتم و فقط یه چیزی یاد گرفتم و همینجوری مونده
چجوری میتونم خودمو به روز نگه دارم؟ و بفهمم برای حرفه ای تر شدن باید از چه چیزایی استفاده کنم؟
مثلا همین State Manager نمیدونستم چیه و چه کاربردی داره!
ممنونم ازتون
@hossein.r.1442
ممنون از شما
@rezajashnsaz0011
ممنون منم دقیقا الان همینکار رو کردم ولی خب توی موبایل یکم قضیه ناجور میشه
از اونجایی که برای به روز موندن باید دائما اطلاعات جدید رو خوند... پیشنهاد من مستندات هست
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟