Front-end : Le Do,yuzu,-T.c_
Back-end : Dinghow, Midori,『』
"Ding Dong" - un système de critique et d'achat de livres en ligne est une plate-forme qui fournit aux utilisateurs une plate-forme pour acheter et réviser des livres. Les utilisateurs peuvent rechercher des informations sur divers livres sur cette plate-forme, consulter et interagir avec les évaluations de livres d'autres personnes, et sur. en même temps, commentez leurs réflexions. Vous pouvez ajouter des livres aux favoris, au panier, aux achats et à d'autres opérations. Les points de fonction spécifiques et les exigences correspondantes du système sont les suivants.
Créez un nouvel utilisateur et initialisez les informations de base, notamment le nom d'utilisateur et le mot de passe.
Les utilisateurs se connectent en fonction de leur compte enregistré et de leur mot de passe.
Les utilisateurs peuvent modifier les informations de base, notamment la gestion des adresses de livraison, etc.
Les utilisateurs peuvent saisir des mots-clés à rechercher ou effectuer une recherche par catégorie de livre, et les résultats de la recherche seront affichés.
Les utilisateurs peuvent afficher des informations spécifiques sur le livre sur la page d'informations du livre, notamment l'introduction, les critiques, les notes, etc.
Les utilisateurs peuvent consulter les livres qui ont été ajoutés aux favoris.
Les utilisateurs peuvent supprimer les livres ajoutés aux favoris.
Après avoir terminé la commande, les utilisateurs peuvent noter et évaluer les livres correspondants.
Les utilisateurs peuvent consulter les critiques d'autres personnes qui ont acheté ce livre sur la page d'informations du livre.
Les utilisateurs peuvent ajouter des livres au panier sur la page du livre et sur la page d'accueil.
Les utilisateurs peuvent consulter les informations actuelles du panier, y compris les livres ajoutés au panier et leurs prix, le prix total du panier, etc.
Les utilisateurs peuvent déplacer les livres ajoutés au panier vers les favoris, les supprimer ou modifier la quantité.
Après avoir vérifié le panier, l'utilisateur peut soumettre et enregistrer les informations de commande pour cet achat.
Les utilisateurs peuvent afficher les informations sur les commandes signées et non signées dans le centre personnel.
Pour les commandes terminées, les utilisateurs peuvent les supprimer.
L'administrateur peut se connecter à la page de gestion backend en fonction du compte administrateur et du mot de passe.
Les administrateurs peuvent rechercher des utilisateurs spécifiés et afficher les résultats.
Les administrateurs peuvent bannir des utilisateurs spécifiés et supprimer leurs comptes de la base de données.
Les administrateurs peuvent ajouter des livres, supprimer des livres existants ou modifier les informations sur les livres existants.
Les « Nouveaux livres sur les étagères » sur la page d'accueil peuvent afficher de manière dynamique les cinq derniers livres sur les étagères.
Les « Recommandations populaires » sur la page d'accueil peuvent afficher dynamiquement les 5 livres ayant obtenu les notes les plus élevées des utilisateurs.
Le « Recommandé pour vous » sur la page d'accueil peut afficher de manière statique 10 livres recommandés par l'administrateur du site Web.
Windows, Mac OS, les navigateurs recommandés sont Chrome ou IE 8 ou supérieur.
Les données d'information sont stockées dans la base de données côté serveur et chaque utilisateur y accède côté client sous les autorisations spécifiées, tout en réalisant le partage d'informations.
Les données d'arrière-plan ne peuvent pas être modifiées à volonté, elles doivent rester confidentielles et les informations privées de l'utilisateur ne peuvent pas être divulguées.
Les utilisateurs ont des droits d'accès spécifiés et ne peuvent pas accéder à la page d'administrateur.
Les informations sur les données saisies par les utilisateurs sont restreintes par une vérification régulière et d'autres méthodes, y compris le type de données et la plage de valeurs, etc., et la transmission d'informations incorrectes est interceptée en temps opportun.
Ajoutez des contraintes de code principal, des contraintes de code étranger et des contraintes de cohérence aux tables de la base de données, et obtenez et protégez la cohérence et l'intégrité des données de la base de données en définissant des opérations en cascade, etc.
L'interface est claire et conviviale, ce qui permet aux utilisateurs de l'utiliser facilement et d'accéder rapidement aux informations dont ils ont besoin.
2.1 Fonction de connexion et d'enregistrement
2.1.1 Conception des fonctions de connexion et d'enregistrement
Les utilisateurs doivent renseigner certaines informations personnelles lors de leur inscription, notamment un nom d'utilisateur personnel, un mot de passe et une adresse e-mail personnelle. Inscrivez-vous à nouveau. Une fois l'utilisateur enregistré avec succès, le système reviendra à la page de connexion, puis l'utilisateur pourra se connecter en fonction de son nom d'utilisateur et de son mot de passe comme informations de vérification. Les utilisateurs qui ne sont pas connectés peuvent afficher les informations de la page d'accueil et effectuer des opérations de recherche, mais ne peuvent effectuer aucune opération personnelle.
séquence d'actions | décrire |
---|---|
registre | Les utilisateurs peuvent effectuer l'opération d'inscription personnelle en saisissant leur nom d'utilisateur, leur mot de passe, leur mot de passe de confirmation et leurs informations de courrier électronique personnelles. Les informations de saisie ci-dessus sont obligatoires et doivent répondre aux exigences réglementaires. |
Inscription réussie | Après une inscription réussie, le système reviendra à la page de connexion pour permettre à l'utilisateur de se connecter ou d'annuler la connexion et de revenir à la page d'accueil. |
L'inscription a échoué | Après l'échec de l'enregistrement, les informations contenues dans toutes les zones de saisie seront effacées et aucune opération ne sera effectuée. |
Se connecter | Les utilisateurs peuvent se connecter en saisissant leur nom d'utilisateur et leur mot de passe, et les informations de la zone de saisie sont requises. |
Connexion réussie | Une fois la connexion réussie, le système accédera à la page d'accueil. Le statut de l'utilisateur est connecté et toutes les opérations de l'utilisateur peuvent être effectuées. |
La connexion a échoué | Après l'échec de la connexion, le système effacera les informations dans toutes les zones de saisie et n'effectuera aucune opération. |
Annuler la connexion | Une fois que l'utilisateur a cliqué pour annuler la connexion, la page passe à la page d'accueil initiale. |
2.1.2 Mise en œuvre de la fonction d'enregistrement de connexion
Figure 2.1 Connexion utilisateur
Figure 2.2 Enregistrement des utilisateurs
Figure 2.3 Barre supérieure - après la connexion
2.2 Modifier les informations personnelles
2.2.1 Modifier la conception de la fonction d'informations personnelles
Les utilisateurs peuvent modifier les informations personnelles sur la page d'informations personnelles, notamment en modifiant le nom, le sexe, l'adresse e-mail personnelle et le mot de passe.
séquence d'actions | décrire |
---|---|
Entrez dans la page personnelle | Une fois connectés, les utilisateurs peuvent accéder à la page d'informations personnelles via le « Centre personnel » en haut de la page. |
Modifier les informations personnelles | Cette action comprend la modification du nom personnel, du sexe et de l'adresse e-mail. Après que l'utilisateur a modifié les trois informations, il peut cliquer sur le bouton « Confirmer la modification » pour enregistrer les trois informations modifiées, sinon elles sont obligatoires. ne peut pas être modifié. |
Changer le mot de passe | Les utilisateurs doivent saisir l'ancien mot de passe et le nouveau mot de passe pour modifier le mot de passe. |
2.2.2 Mise en œuvre de la fonction de modification des informations personnelles
Figure 2.4 Modifier les informations personnelles
2.3 Gestion des adresses
2.3.1 Conception de la fonction de gestion des adresses
Les utilisateurs peuvent accéder à la page de gestion des adresses sur la page du centre personnel pour gérer leurs propres adresses de livraison.
séquence d'actions | décrire |
---|---|
Entrez dans la gestion des adresses | Les utilisateurs peuvent accéder à la page de gestion des adresses via la page du centre personnel lorsqu'ils sont connectés. |
Ajouter une nouvelle adresse | Après avoir cliqué sur « Ajouter une adresse », les utilisateurs peuvent saisir de nouvelles informations d'adresse dans la fenêtre contextuelle, notamment la province, la ville, le district, l'adresse détaillée, le nom, le code postal et le numéro de téléphone. Les informations ci-dessus sont requises. |
Supprimer l'adresse | L'utilisateur clique sur le bouton « Gérer » pour entrer dans l'opération de sélection, puis clique sur la zone d'adresse pour sélectionner ou tout sélectionner. Une fois la sélection terminée, cliquez sur Supprimer pour supprimer l'adresse. |
2.3.2 Mise en œuvre de la fonction de gestion des adresses
Figure 2.5 Gestion des adresses personnelles
Figure 2.6 Ajouter une nouvelle adresse
3.1 Rechercher des livres
3.1.1 Conception de la fonction de recherche de livres
Les utilisateurs peuvent saisir des mots-clés dans le champ de recherche ou cliquer sur des catégories pour effectuer des opérations de recherche. Les résultats seront affichés sur la page de recherche. En même temps, les utilisateurs peuvent cliquer sur les livres pour accéder à la page de détails correspondante.
séquence d'actions | décrire |
---|---|
Entrez la recherche | Les utilisateurs peuvent saisir des mots-clés dans le champ de recherche ou cliquer sur les catégories à rechercher, puis les résultats de la recherche passeront à la page de recherche. |
Afficher les détails du livre | Les utilisateurs peuvent cliquer sur un livre dans les résultats de recherche pour accéder à la page de détails du livre et afficher les détails du livre et les commentaires des autres utilisateurs sur le livre. |
3.1.2 Implémentation de la fonction de recherche de livres
Figure 3.1 Recherche de livres
Figure 3.2 Détails du livre
3.2 Favoris
3.2.1 Conception de la fonction Favoris
Les utilisateurs peuvent ajouter leurs livres préférés aux favoris sur la page de détails du livre et sur la page d'accueil. Les utilisateurs peuvent saisir leurs favoris personnels via la page d'accueil et effectuer des opérations de gestion.
séquence d'actions | décrire |
---|---|
Ajouter aux favoris | Les utilisateurs peuvent ajouter des livres aux favoris en cliquant sur « Ajouter aux favoris » sur la page de détails du livre ou en cliquant sur « Favoris » au-dessus du livre correspondant sur la page d'accueil. |
Aller aux favoris | Les utilisateurs peuvent accéder à la page des favoris via « Mes favoris » dans « Mon Ding Dong » en haut de la page d'accueil. |
Changer de mode d'affichage | Les utilisateurs peuvent cliquer sur « Mode miniature » et « Mode détail » dans le coin supérieur gauche de la page des favoris pour basculer entre les différents modes d'affichage. |
Supprimer une collection de livres | L'utilisateur clique sur le bouton « Gérer » pour entrer dans l'opération de sélection, puis clique sur la zone du livre pour sélectionner ou tout sélectionner. Une fois la sélection terminée, cliquez sur Supprimer pour supprimer la collection de livres. |
3.2.2 Implémentation de la fonction favoris
Figure 3.3 Favoris-Vignette
Figure 3.4 Favoris-Détails
Figure 3.5 Gestion des favoris
3.3 Critiques de livres
3.3.1 Conception de la fonction de critique de livres
Une fois que l'utilisateur a terminé la commande, il peut évaluer et noter le livre acheté sur la page de réception de la commande. De plus, les utilisateurs peuvent consulter des critiques de livres sur la page de détails.
séquence d'actions | décrire |
---|---|
Saisir la commande | Les utilisateurs peuvent accéder à la page de commande via « Mon Ding Dong » sur la page d'accueil et passer à « Signé » pour évaluer le livre. |
Revoir des livres | Les utilisateurs peuvent cliquer sur « Évaluer » dans la commande du livre signé, cliquer sur l'étoile dans la fenêtre contextuelle pour noter, saisir l'évaluation du livre dans la zone de saisie, ce qui est une option obligatoire, et cliquer sur « Soumettre » pour soumettre l'évaluation. . |
3.3.2 Mise en œuvre de la fonction de critique de livres
Figure 3.6 Critiques de livres
4.1 Panier
4.1.1 Conception de la fonction du panier d'achat
Les utilisateurs peuvent ajouter leurs livres préférés au panier sur la page de détails du livre et sur la page d'accueil. Les utilisateurs peuvent accéder à « Mon panier » via la page d'accueil pour effectuer des opérations de gestion.
séquence d'actions | décrire |
---|---|
Ajouter au panier | Les utilisateurs peuvent ajouter des livres à leur panier personnel en cliquant sur « Ajouter au panier » sur la page de détails du livre ou en cliquant sur « Ajouter aux achats » au-dessus du livre correspondant sur la page d'accueil. |
Entrer dans le panier | Les utilisateurs peuvent accéder à la page du panier personnel via le « Panier » sur la page d'accueil. |
Modifier la quantité | Les utilisateurs peuvent cliquer sur le signe plus ou moins dans la colonne de quantité de livres correspondante pour modifier la quantité de livres dans le panier, et le montant total dans le panier sera également automatiquement modifié en conséquence. |
Passer aux favoris | Les utilisateurs peuvent cliquer sur « Déplacer vers les favoris » à côté du livre correspondant pour ajouter le livre aux favoris. |
supprimer | Les utilisateurs peuvent cliquer sur « Supprimer » à côté du livre correspondant ou vérifier eux-mêmes les livres pour supprimer le contenu du panier par lots. |
Règlement | L'utilisateur clique sur le bouton « Règlement » pour accéder au module de commande pour le règlement. |
4.1.2 Implémentation de la fonction de panier d'achat
Figure 4.1 Gestion du panier d'achat
4.2 Commande
4.2.1 Conception de la fonction de commande
Après avoir vérifié le panier, l'utilisateur accède à la page de commande et confirme les informations pertinentes sur cette page, notamment la sélection de l'adresse de livraison et la confirmation du contenu de la commande.
séquence d'actions | décrire |
---|---|
Saisir la commande | Après avoir confirmé le contenu du règlement du panier, l'utilisateur peut cliquer sur « Commander » pour accéder à la page de commande. |
Sélection d'adresse | Les utilisateurs peuvent cliquer sur la zone d'adresse d'une adresse personnelle existante pour sélectionner l'adresse de livraison de cette commande, ou cliquer sur « Utiliser une nouvelle adresse » pour remplir les informations d'adresse de livraison de cette commande dans la boîte contextuelle. |
Retour au panier | Les utilisateurs peuvent cliquer sur « Retour au panier » en bas de la page pour mettre fin à la transaction. |
Soumettre la commande | Les utilisateurs peuvent cliquer sur le bouton « Soumettre la commande » pour soumettre la commande et accéder à la page de commentaires. |
4.2.2 Implémentation de la fonction de commande
Figure 4.2 Gestion des commandes - non signé pour
Figure 4.3 Gestion des commandes - Signé
Figure 4.4 Confirmer la commande
Figure 4.5 Utiliser une nouvelle adresse lors de la confirmation de la commande
4.3 Gestion des commandes
4.3.1 Conception de la fonction de gestion des commandes
Après avoir confirmé la commande, l'utilisateur peut accéder à la page de gestion des commandes via « Ma commande » de l'utilisateur et confirmer les informations pertinentes sur cette page, notamment le numéro de commande, le type de livre, la quantité de livre, l'introduction du livre, etc.
séquence d'actions | décrire |
---|---|
Entrez dans la gestion des commandes | Les utilisateurs peuvent cliquer sur « Ma commande » après avoir accédé à la page principale pour accéder à la page de gestion des commandes. |
Afficher les informations de commande | Les utilisateurs peuvent confirmer les détails de la commande, notamment le numéro de commande, les types de livres inclus, la quantité de livres, le prix total de la commande, l'introduction du livre, etc. |
confirmer la réception des marchandises | Les utilisateurs peuvent cliquer sur le bouton « Confirmer la réception » pour remplacer la commande non reçue par une commande reçue. |
Supprimer la commande | L'utilisateur peut cliquer sur le bouton « Supprimer la commande » pour supprimer la commande signée qu'il souhaite supprimer. |
Revoir des livres | Les utilisateurs peuvent cliquer sur le bouton « Commentaire » pour évaluer un seul type de livre dans la commande. |
4.3.2 Mise en œuvre de la fonction de gestion des commandes
Comme le montre la figure, l'utilisateur clique sur « Ma commande » sur la page principale pour accéder à la page de gestion des commandes.
Comme le montre la figure, l'utilisateur peut voir les détails de sa commande sur la page Mes commandes.
Comme le montre la figure, les utilisateurs peuvent transformer les commandes non reçues en commandes signées.
Comme le montre la figure, l'utilisateur peut supprimer la commande signée qu'il souhaite supprimer.
Comme le montre la figure, l'utilisateur peut évaluer l'un des livres pour lesquels la commande a été reçue.
5.1 Connexion
5.1.1 Conception de la fonction de connexion
Les administrateurs peuvent accéder au mode de connexion administrateur via l'interface de connexion administrateur en bas de la page. Une fois la connexion réussie, ils peuvent effectuer toutes les opérations d'administrateur.
séquence d'actions | décrire |
---|---|
Entrez dans l'interface de connexion | Les administrateurs peuvent accéder à l'interface de connexion après avoir cliqué sur « Connexion administrateur » en bas de la page. |
Se connecter | Les administrateurs peuvent se connecter en saisissant leur nom d'utilisateur et leur mot de passe, et les informations de la zone de saisie sont requises. |
Connexion réussie | Après une connexion réussie au système, la page des opérations de l'administrateur apparaîtra et toutes les opérations de l'administrateur pourront être effectuées. |
La connexion a échoué | Après l'échec de la connexion, le système effacera les informations dans toutes les zones de saisie et n'effectuera aucune opération. |
Annuler la connexion | Une fois que l'administrateur a cliqué sur Annuler la connexion, la page passe à la page d'accueil initiale. |
5.1.2 Implémentation de la fonction de connexion
Figure 5.1 Entrée de l'administrateur de la page d'accueil
Figure 5.2 Connexion de l'administrateur
5.2 Opérations de l'administrateur
5.2.1 Conception des fonctions de fonctionnement de l'administrateur
Une fois connecté avec succès, l'administrateur peut effectuer des opérations d'administrateur sur la page de l'administrateur, notamment la gestion des utilisateurs et la gestion des livres.
séquence d'actions | décrire |
---|---|
Accédez à la page administrateur | Une fois que l'administrateur s'est connecté avec succès, il accédera à la page de l'administrateur. |
Gestion des utilisateurs | Après avoir cliqué sur « Gestion des utilisateurs », l'administrateur peut saisir des mots-clés pour rechercher des utilisateurs, et les utilisateurs recherchés seront affichés sous la zone de recherche. Les administrateurs peuvent cliquer sur Supprimer pour bannir l'utilisateur correspondant. |
ajouter un livre | Après avoir cliqué sur « Ajouter un livre », l'administrateur peut ajouter des livres en saisissant les informations correspondantes, notamment le titre du livre, l'ISBN, l'auteur, la catégorie, l'éditeur, l'heure de publication, le prix, la couverture et l'introduction. Les informations ci-dessus sont requises. |
Modifier les informations du livre | Après avoir cliqué sur « Modifier les informations sur le livre », l'administrateur peut saisir des mots-clés pour rechercher des livres, et les livres recherchés seront affichés sous la zone de recherche. Les administrateurs peuvent cliquer sur « Supprimer le livre » pour supprimer le livre correspondant. De plus, vous pouvez cliquer sur « Modifier les informations sur le livre » pour modifier les informations du livre correspondant dans la fenêtre contextuelle. |
5.2.2 Implémentation des fonctions d'exploitation de l'administrateur
Figure 5.3 L'administrateur recherche et gère les utilisateurs
Figure 5.4 L'administrateur recherche et modifie les informations du livre
Figure 5.5 L'administrateur ajoute des livres
6.1 Diagramme des relations avec la base de données
6.2 Diagramme ER global
6.3 Diagramme ER du module utilisateur
6.4 Diagramme ER du module livre
6.5 Schéma ER du module de commande
6.6 Diagramme ER du module de commentaires
7.1 tableau des utilisateurs
Tableau 7-1 Tableau utilisateur
Nom du champ | type de données | longueur | illustrer | Remarque |
---|---|---|---|---|
IDENTIFIANT | nombre | ID de l'utilisateur | PK | |
nom | Varchar | 20 | Nom d'utilisateur | |
autorité | Varchar | 20 | Autorisations | |
compte | Varchar | 20 | numéro de compte | |
mot de passe | Varchar | 20 | mot de passe | La valeur md5 du mot de passe réel est stockée dans le tableau. |
genre | Varchar | 10 | genre | |
Varchar | 40 |
7.2 table d'adresses
Tableau 7-2 Tableau d'adresses
Nom du champ | type de données | longueur | illustrer | Remarque |
---|---|---|---|---|
IDENTIFIANT | nombre | 38 | ID d'adresse | PK |
nom | Varchar | 20 | Nom du destinataire | |
téléphone | Varchar | 20 | Téléphone | |
pays | Varchar | 20 | nation | |
province | Varchar | 20 | province | |
ville | Varchar | 20 | Ville | |
district | Varchar | 20 | district | |
code_postal | nombre | 10 | code postal | |
ID de l'utilisateur | nombre | ID de l'utilisateur | ||
emplacement | Varchar | 100 | adresse spécifique |
7.3 table en direct
Tableau 7-3 Tableau en direct
Nom du champ | type de données | longueur | illustrer | Remarque |
---|---|---|---|---|
ID de l'utilisateur | nombre | ID de l'utilisateur | PK, FK, se référer à l'ID de l'utilisateur | |
ID_adresse | nombre | 38 | Numéro d'adresse | PK, FK, se référer à l'ID de l'adresse |
7.4 table de livre
Tableau 7-4 table de livre
Nom du champ | type de données | longueur | illustrer | Remarque |
---|---|---|---|---|
IDENTIFIANT | nombre | 38 | Identifiant du livre | PK |
ISBN | Varchar | 20 | Livre ISBN | |
nom | Varchar | 30 | Nom du livre | |
prix | nombre | prix | ||
image | Varchar | 40 | Chemin de l'image | |
catégorie | Varchar | 20 | Classement des livres | |
éditeur | Varchar | 100 | maison d'édition | |
Heure_de publication | Varchar | 20 | Heure de publication | |
abstrait | Varchar | 400 | résumé |
7.5 tableau des auteurs
Tableau 7-5 Tableau des auteurs
Nom du champ | type de données | longueur | illustrer | Remarque |
---|---|---|---|---|
IDENTIFIANT | nombre | Identifiant de l'auteur | PK | |
nom | Varchar | 20 | Nom |
7.6 écrire une table
Tableau 7-6 Table d'écriture
Nom du champ | type de données | longueur | illustrer | Remarque |
---|---|---|---|---|
auteur_ID | nombre | Identifiant de l'auteur | PK, FK, se référer à la pièce d'identité de l'auteur | |
ID_livre | nombre | Identifiant du livre | PK, FK, se référer à l'ID du livre |
7.7 tableau des catégories
Tableau 7-7 Tableau des catégories
Nom du champ | type de données | longueur | illustrer | Remarque |
---|---|---|---|---|
IDENTIFIANT | nombre | Identifiant de catégorie | PK | |
nom | Varchar | 20 | nom |
7.8 table d'appartenance
Tableau 7-8 appartenant au tableau
Nom du champ | type de données | longueur | illustrer | Remarque |
---|---|---|---|---|
ID_livre | nombre | Identifiant du livre | PK, FK, se référer à l'ID du livre | |
ID_catégorie | nombre | Identifiant de catégorie | PK.FK, se référer à l'ID de catégorie |
7.9 tableau des commandes
Tableau 7-9 Tableau des commandes
Nom du champ | type de données | longueur | illustrer | Remarque |
---|---|---|---|---|
IDENTIFIANT | nombre | Numéro de commande | PK | |
ID de l'utilisateur | nombre | Identifiant de l'acheteur | FK, reportez-vous à l'identifiant de l'utilisateur | |
ID_adresse | nombre | Numéro d'adresse | FK, se référer à l'identifiant de l'adresse | |
quantité | nombre | Nombre total de livres | ||
prix | nombre | prix total du livre | ||
remarque | Varchar | 100 | Remarque | |
heure_début | Varchar | 20 | Heure de commande | |
temps_get | Varchar | 20 | Temps de réception | |
statut | Varchar | 20 | Statut de la commande | Arrivé ou pas arrivé |
post_cost | nombre | Frais express |
7.10 Tableau order_include
Tableau 7-10 Tableau order_include
Nom du champ | type de données | longueur | illustrer | Remarque |
---|---|---|---|---|
ID_commande | nombre | Numéro de commande | PK, FK, se référer à l'ID de la commande | |
ID_livre | nombre | Identifiant du livre | PK, FK, se référer à l'ID du livre | |
quantité | nombre | Le nombre de livres | ||
prix | nombre | Le prix total de ce livre |
7.11 liste des favoris
Tableau 7-11 table préférée
Nom du champ | type de données | longueur | illustrer | Remarque |
---|---|---|---|---|
ID de l'utilisateur | nombre | ID de l'utilisateur | PK, FK, se référer à l'ID de l'utilisateur | |
ID_livre | nombre | Identifiant du livre | PK, FK, se référer à l'ID du livre |
7.12 table de chariot
Tableau 7-12 Tableau du chariot
Nom du champ | type de données | longueur | illustrer | Remarque |
---|---|---|---|---|
ID de l'utilisateur | nombre | ID de l'utilisateur | PK, FK, se référer à l'ID de l'utilisateur | |
quantité | nombre | Nombre total de livres dans le panier | ||
heure_début | Varchar | 20 | Ajouter au panier | |
post_cost | nombre | Frais express | ||
prix_total | nombre | coût total |
7.13 Tableau cart_include
Tableau 7-13 Tableau cart_include
Nom du champ | type de données | longueur | illustrer | Remarque |
---|---|---|---|---|
ID de l'utilisateur | nombre | ID de l'utilisateur | PK, FK, se référer à l'ID de l'utilisateur | |
ID_livre | nombre | Identifiant du livre | PK.FK, se référer à l'ID du livre | |
quantité | nombre | Le nombre total de livres | ||
prix_total | nombre | Le prix total du livre |
7.14 tableau des commentaires
Tableau 7-14, tableau des commentaires
Nom du champ | type de données | longueur | illustrer | Remarque |
---|---|---|---|---|
IDENTIFIANT | nombre | Identifiant du commentaire | PK | |
ID de l'utilisateur | nombre | ID de l'utilisateur | FK, reportez-vous à l'identifiant de l'utilisateur | |
ID_livre | nombre | Identifiant du livre | FK, faisant référence à l'ID du livre | |
titre | Varchar | 100 | Titre du commentaire | |
contenu | Varchar | 2000 | Contenu du commentaire | |
temps | Varchar | 20 | Heure des commentaires | |
score | nombre | score | ||
total_like | Varchar | 20 | Nombre total de j'aime | |
total_dislike | Varchar | 20 | opposition totale | |
total | nombre | 38 | La différence entre le nombre total de pouces vers le haut et le nombre total de pouces vers le bas |
7.15 table comment_feedback
Tableau 7-15 Tableau comment_feedback
Nom du champ | type de données | longueur | illustrer | Remarque |
---|---|---|---|---|
ID de l'utilisateur | nombre | ID de l'utilisateur | PK, FK, se référer à l'ID de l'utilisateur | |
comment_ID | nombre | Identifiant du commentaire | PK, FK, fait référence à l'ID du commentaire | |
attitude | Varchar | 20 | Attitude envers cet avis | |
temps | Varchar | 20 | Temps d'évaluation |
Cette classe représente la classe d'entité dans la structure EF et correspond à la base de données sur le serveur. Chaque variable membre de type DBSet<> correspond à une instance de relation dans la base de données et peut être utilisée pour les opérations d'obtention et de définition.
Variables membres :
public virtual DbSet < ADDRESS > ADDRESS { get ; set ; }
public virtual DbSet < AUTHOR > AUTHOR { get ; set ; }
public virtual DbSet < BOOK > BOOK { get ; set ; }
public virtual DbSet < CART > CART { get ; set ; }
public virtual DbSet < CART_INCLUDE > CART_INCLUDE { get ; set ; }
public virtual DbSet < CATEGORY > CATEGORY { get ; set ; }
public virtual DbSet < COMMENT_FEEDBACK > COMMENT_FEEDBACK { get ; set ; }
public virtual DbSet < COMMENTS > COMMENTS { get ; set ; }
public virtual DbSet < ORDER_INCLUDE > ORDER_INCLUDE { get ; set ; }
public virtual DbSet < ORDERS > ORDERS { get ; set ; }
public virtual DbSet < USERS > USERS { get ; set ; }
public virtual DbSet < WRITE > WRITE { get ; set ; }
public virtual DbSet < CARTLIST > CARTLIST { get ; set ; }
public virtual DbSet < PURCHASE > PURCHASE { get ; set ; }
public virtual DbSet < ZUOZHE > ZUOZHE { get ; set ; }
Ce type de classe correspond au schéma relationnel de la base de données. Ses variables membres sont tous les attributs du schéma relationnel et leurs méthodes get et set, ainsi que les enregistrements dont le code principal est référencé par d'autres relations et contraintes de code étranger et le get correspondant. et définir des méthodes.
Les variables membres de plusieurs des classes les plus importantes sont les suivantes :
public decimal ID { get ; set ; } public string ISBN { get ; set ; } public string NAME { get ; set ; } public Nullable < decimal > PRICE { get ; set ; } public string IMAGE { get ; set ; } public string CATEGORY { get ; set ; } public string PUBLISHER { get ; set ; } public string PUBLISHTIME { get ; set ; } public string ABSTRACT { get ; set ; } //BOOK关系的属性 [ System . Diagnostics . CodeAnalysis . SuppressMessage ( "Microsoft.Usage" , "CA2227:CollectionPropertiesShouldBeReadOnly" ) ] public virtual ICollection < CART_INCLUDE > CART_INCLUDE { get ; set ; } //其主码被CART_INCLUDE所引用为外码约束,下面类似 [ System . Diagnostics . CodeAnalysis . SuppressMessage ( "Microsoft.Usage" , "CA2227:CollectionPropertiesShouldBeReadOnly" ) ] public virtual ICollection < COMMENTS > COMMENTS { get ; set ; } [ System . Diagnostics . CodeAnalysis . SuppressMessage ( " Microsoft . Usage " , "CA2227 : CollectionPropertiesShouldBeReadOnly " ) ] public virtual ICollection < ORDER_INCLUDE > ORDER_INCLUDE { get ; set ; } [ System . Diagnostics . CodeAnalysis . SuppressMessage ( "Microsoft.Usage" , "CA2227:CollectionPropertiesShouldBeReadOnly" ) ] public virtual ICollection < WRITE > WRITE { get ; set ; } [ System . Diagnostics . CodeAnalysis . SuppressMessage ( "Microsoft.Usage" , "CA2227:CollectionPropertiesShouldBeReadOnly" ) ] public virtual ICollection < CATEGORY > CATEGORY1 { get ; set ; } [ System . Diagnostics . CodeAnalysis . SuppressMessage ( "Microsoft.Usage" , "CA2227:CollectionPropertiesShouldBeReadOnly" ) ] public virtual ICollection < USERS > USERS { get ; set ; }
public decimal ID { get ; set ; } 、 public string NAME { get ; set ; } public string GENDER { get ; set ; } public string EMAIL { get ; set ; } public string PASSWORD { get ; set ; } public string ACCOUNT { get ; set ; } public string AUTHORITY { get ; set ; } //USERS关系的属性 [ System . Diagnostics . CodeAnalysis . SuppressMessage ( "Microsoft.Usage" , "CA2227:CollectionPropertiesShouldBeReadOnly" ) ] public virtual ICollection < ADDRESS > ADDRESS { get ; set ; } //其主码被ADDRESS引用,下面类似 public virtual CART CART { get ; set ; } [ System . Diagnostics . CodeAnalysis . SuppressMessage ( " Microsoft . Usage " , "CA2227 : CollectionPropertiesShouldBeReadOnly " ) ] public virtual ICollection < CART_INCLUDE > CART_INCLUDE { get ; set ; } [ System . Diagnostics . CodeAnalysis . SuppressMessage ( "Microsoft.Usage" , "CA2227:CollectionPropertiesShouldBeReadOnly" ) ] public virtual ICollection < COMMENT_FEEDBACK > COMMENT_FEEDBACK { get ; set ; } [ System . Diagnostics . CodeAnalysis . SuppressMessage ( "Microsoft.Usage" , "CA2227:CollectionPropertiesShouldBeReadOnly" ) ] public virtual ICollection < COMMENTS > COMMENTS { get ; set ; } [ System . Diagnostics . CodeAnalysis . SuppressMessage ( "Microsoft.Usage" , "CA2227:CollectionPropertiesShouldBeReadOnly" ) ] public virtual ICollection < ORDERS > ORDERS { get ; set ; } [ System . Diagnostics . CodeAnalysis . SuppressMessage ( "Microsoft.Usage" , "CA2227:CollectionPropertiesShouldBeReadOnly" ) ] public virtual ICollection < BOOK > BOOK { get ; set ; } [ System . Diagnostics . CodeAnalysis . SuppressMessage ( "Microsoft.Usage" , "CA2227:CollectionPropertiesShouldBeReadOnly" ) ] public virtual ICollection < ADDRESS > ADDRESS1 { get ; set ; }
public decimal USER_ID { get ; set ; }
public Nullable < decimal > QUANTITY { get ; set ; }
public string TIME_START { get ; set ; }
public Nullable < decimal > POST_COST { get ; set ; }
public Nullable < decimal > TOTAL_PRICE { get ; set ; } //CART关系的属性
public decimal USER_ID { get ; set ; }
public decimal BOOK_ID { get ; set ; }
public Nullable < decimal > QUANTITY { get ; set ; }
public Nullable < decimal > TOTAL_PRICE { get ; set ; } //CART_INCLUDED关系的属性
Afin de faciliter l'interrogation (telle que l'interrogation des informations détaillées sur les livres dans les paniers et les commandes, correspondant aux auteurs et aux livres), nous avons établi certaines vues dans la base de données, et ces vues ont également des classes correspondantes dans les modèles, comme suit :
Sur la base de la relation CART_INCLUDE et de la relation BOOK, vous pouvez connaître les informations et le statut d'achat des livres dans le panier :
public decimal USER_ID { get ; set ; }
public decimal BOOK_ID { get ; set ; }
public string NAME { get ; set ; }
public Nullable < decimal > PRICE { get ; set ; }
public string IMAGE { get ; set ; }
public Nullable < decimal > QUANTITY { get ; set ; }
public Nullable < decimal > TOTAL_PRICE { get ; set ; }
Sur la base de la relation AUTEUR, de la relation WRTIE et de la relation LIVRE, les informations sur le livre et les informations sur l'auteur sont mappées en fonction de la relation d'écriture :
public string AUTHOR_NAME { get ; set ; }
public decimal BOOK_ID { get ; set ; }
public decimal AUTHOR_ID { get ; set ; }
Selon la relation ORDER_INCLUDE, la relation BOOK est générée, et vous pouvez connaître les informations et le statut d'achat des livres dans la commande :
public decimal ORDER_ID { get ; set ; }
public string NAME { get ; set ; }
public Nullable < decimal > PRICE { get ; set ; }
public string IMAGE { get ; set ; }
public Nullable < decimal > QUANTITY { get ; set ; }
public Nullable < decimal > TOTAL_PRICE { get ; set ; }
public string ABSTRACT { get ; set ; }
public string PUBLISHER { get ; set ; }
public string AUTHOR_NAME { get ; set ; }
public decimal ID { get ; set ; }
public decimal AUTHOR_ID { get ; set ; }
La classe Controllers est une classe du contrôleur, qui est utilisée pour renvoyer la page d'affichage de la vue et répondre aux demandes d'opération sur la page. Le problème clé est de terminer le transfert de données entre le contrôleur et la vue. Le passage du contrôleur à la vue utilise principalement le moteur Razor et ViewBag ; le passage de la vue au contrôleur utilise HtmlHelpers, Session et AJAX.
Il comprend principalement l'affichage de la page de détails du livre et la méthode de réponse à la demande d'ajout du livre au panier. Les fonctions des membres sont les suivantes :
public ActionResult Index ( int ID ) //读取图书详情页面所需的所有数据,并返回视图进行展示,参数为图书ID
public ActionResult addCart ( cartSender cs ) //将该图书添加至用户购物车中,通过重定位刷新原页面,如果没有用户登录则不进行操作并跳转至登录页面,参数为利用HTTPPOST从视图传递数据的model
public int directAddCart ( int bookId ) //在首页将点击的图书添加至用户购物车,成功返回0,无用户登录则返回-1,参数为图书ID
Il comprend principalement l'affichage de la page des favoris et la méthode de réponse à la demande de modification des favoris. L'exécution réussie de toutes les opérations de ce contrôleur nécessite que l'utilisateur se connecte. Les fonctions des membres sont les suivantes :
public ActionResult Index ( int ID ) //读取收藏夹页面所需的所有数据,并返回视图进行展示,在没有用户登录的情况下不进行操作并跳转至登录页面,参数为用户ID
public ActionResult addFav ( int ID ) //在图书详情页面将图书加入收藏夹,通过重定位刷新原页面,如果没有用户登录则不进行操作并跳转至登录页面,参数为图书ID
public int directAddFav ( int bookId ) //在首页将点击的图书添加至收藏夹,成功返回0,无用户登录则返回-1,参数为图书ID
public void DeleteFav ( int [ ] bookIds ) //将所有选中的图书移除收藏夹,参数为选中的图书的ID
Il comprend principalement l'affichage de la page du panier et les méthodes pour répondre à toutes les demandes d'opération sur la page. L'exécution réussie de toutes les opérations de ce contrôleur nécessite que l'utilisateur se connecte. Les fonctions membres sont les suivantes :
public ActionResult Index ( int ID ) //读取购物车页面所需的所有数据,并返回视图进行展示,在没有用户登录的情况下不进行操作并跳转至登录页面,参数为用户ID
public void RemoveBook ( int bookId ) //将购物车中的某个图书项目移出购物车,参数为图书ID
public void AddFav ( int bookId ) //将购物车中的某个图书移入收藏并移出购物车,参数为图书ID
public void EditAmount ( int bookId , int bookAmount ) //通过购物车页面的加减按钮改变购物车中某一图书的数量,参数为用户ID和改变后的数量
public ActionResult AddAddress ( ADDRESS aDDRESS ) //响应购物车页面上方地址栏的添加新地址请求,参数为通过HTTPPOST传递的参数model
Il comprend principalement l'affichage de la page de gestion des commandes et de la page de remplissage et de finalisation des commandes, ainsi que les méthodes pour répondre à toutes les demandes d'opération sur ces pages. Toutes les opérations de ce contrôleur nécessitent que l'utilisateur se connecte. Les fonctions membres sont les suivantes. suit :
public ActionResult Index ( int ID ) //读取订单管理页面所需的所有数据,并返回视图进行展示,在没有用户登录的情况下不进行操作并跳转至登录页面,参数为用户ID
public void StatusChange ( int orderId ) //在订单管理页面确认收货,参数为订单ID
public void DeleteOrder ( int orderId ) //删除已经签收的订单,参数为订单ID
public void SetComment ( int bookId , int grade , string content ) //对已经签收的图书进行评论,参数为图书ID,分数和评论内容
public int GetOrder ( int [ ] bookIds ) //将购物车中勾选的书目添加至session,返回用户ID
public ActionResult Process_CART ( int ID ) //读取购物车结算时的购买情况,据此返回一个显示订单填写页面,参数为用户ID
public void check ( int addrId ) //根据选择的地址和购买情况生成订单,参数为地址ID
public ActionResult Order_Complete ( ) //显示订单填写成功的页面
Il comprend principalement des méthodes pour afficher la page de l'administrateur et répondre à toutes les demandes d'opération sur la page. Toutes les opérations de ce contrôleur nécessitent que l'administrateur se connecte. Les principales fonctions des membres sont les suivantes :
public ActionResult Index ( string search_book , string search_user ) //返回管理员操作页面,参数为搜索的图书或用户的字符串
public ActionResult Login ( ) //返回管理员登录页面
public ActionResult Login ( LoginSender msg ) //管理员登录的验证,参数为利用HTTPPOST传递参数的model
public void deleteUser ( int ID ) //删除用户,参数为用户ID
public void deleteBook ( int ID ) //删除书籍,参数为图书ID
public void adjustBook ( int ID , string name , string ISBN , string writer , string category , string publisher , string time , string image , string intro ) //修改书籍