He creado mi aplicación de comercio electrónico, tengo registro de API y trabajo de inicio de sesión (solicitud y respuesta). Tengo una API para diferentes productos, tengo favoritos y un carrito de compras con los totales de los artículos y el monto total. Tengo almacenamiento local funcionando para iniciar sesión y también he probado el almacenamiento de sesión, está funcionando. Mi pregunta es cómo vinculo todo junto, es decir, cuando el usuario inicia sesión, ¿cómo lo asocio a un carrito en particular? Estoy atorado aqui. Entonces, cuando un usuario diferente inicia sesión si el carrito está vacío, debería mostrar que si un carrito tiene algo, debería mostrar cuántos artículos tiene. Esa es la forma en que tengo mi código configurado. ¿Puede alguien explicarme esto o indicarme la dirección correcta?
Agradeciendotelo de antemano
Es una pregunta un poco confusa. Lo que entendí es que OP quiere obtener los detalles del carrito para un usuario que inició sesión. Si esta es la pregunta, entonces en términos simples,
Debe haber una relación entre estas entidades. Suponiendo que utiliza una base de datos relacional, es decir, Mysql/Postgres, etc., tendrá una tabla de usuarios, una tabla de productos, una tabla de sesiones y una tabla de carrito. Todas estas tablas deben tener relaciones entre ellas. Para simplificar, digamos que la relación se puede basar en una identificación de usuario.
Entonces, en la tabla de usuarios, habrá una fila con la identificación del usuario y los demás detalles. Para la misma identificación de usuario, habrá una fila (o varias filas, según el diseño) en la tabla del carrito.
Entonces, cuando un usuario inicia sesión, puede solicitar en la API del carrito para obtener el carrito para el usuario. Y en su capa de datos (donde obtendrá los datos de la base de datos), es básicamente como lo siguiente:
dame la información del carrito donde se solicita user_id user_id
Esto le dará los detalles del carrito, es decir, qué productos y cuántos productos hay en el carrito, cuándo se actualizó/agregó el carrito, etc.
Y, si el usuario no ha iniciado sesión y aún puede agregar artículos al carrito, puede almacenarlo en su almacenamiento local en la interfaz. Y cuando el usuario quiera pagar, puede pedirle que inicie sesión y, cuando lo haga, puede publicar los datos del carrito (que se encuentran dentro de su almacenamiento local) en la API POST del carrito para agregar una nueva entrada. (Es un diseño largo. Estoy tratando de darte una pista aquí)
Sugiero que puede usar el almacenamiento local para guardar todos los datos y luego puede publicarlos en el backend por API una vez que tenga una API.