[Lilishop Mall] No4-1. Développement de code de logique métier, impliquant : l'utilisation de la connexion tierce côté B du membre et l'interface back-end (WeChat, QQ, etc.)

Seul le backend est impliqué, voir la colonne du haut pour tous les répertoires, codes, documents et chemins d'interface : 

[Lilishop Mall] Enregistrez les notes d'étude du système de centre commercial B2B2C ~


L'article entier combinera l'introduction métier pour se concentrer sur la logique de conception, qui comprend la classe d'interface et la classe métier, et l'analyse spécifique du code source, le code source n'est pas compliqué à lire ~

Attention : certains commentaires dans le code source sont erronés, certains commentaires ont des significations complètement opposées et certains commentaires ne sont pas corrects. Je les ai mis à jour pendant le processus de lecture et ajouté de nouveaux commentaires là où je ne les connaissais pas. Soyez donc prudent lorsque vous lisez le code source ! 

Table des matières

Description de la phase de développement du code de la logique métier No4

A1. Logique de connexion d'autorisation de plate-forme tierce (besoin de comprendre)

B1. Méthode d'autorisation WeChat

C1. Applet WeChat

C2. Plateforme ouverte WeChat

C3. WeChat AppID, openid, unionid (doit savoir)

Méthode d'autorisation B2.QQ

C1. Plate-forme de développement d'applications

AppID, openid, UnionID de C3.QQ (doit savoir)

B3. Penser à l'intégration logique de la connexion autorisée à la plate-forme tierce et de la connexion à la plate-forme propre (peut être ignorée)

C1. Pensée logique 

C2. Exemples

La logique réelle de la connexion des membres du côté B de la plate-forme B4.shop (besoin de comprendre)

C1. Résultats réels de connexion de tiers et de compte

C2. Logique réelle de connexion à un tiers et à un compte

C3. Logique de développement réelle du code de connexion de tiers et de compte (analyse principalement une logique de développement similaire pour réduire le code de mauvaise qualité)

A2. Interface de connexion des membres

B1. Interface membre

B2. Interface de connexion à l'applet WeChat

B3. Connexion conjointe autorisée par un tiers sur le Web


Description de la phase de développement du code de la logique métier No4

La conception détaillée de la troisième partie est fondamentalement presque la même (le reste n'est pas difficile à comprendre, je l'ajouterai plus tard), et maintenant je commence à développer le code selon la logique métier. Il est facile d'écrire du code, mais le principe est de combiner la logique métier et d'écrire du beau code. Il faut considérer non seulement la spécification du code, mais aussi si l'appel est approprié, si la dépendance est stricte, si la logique est raisonnable , et si la conception est respectueuse de l'environnement et concise.

Nous apprenons donc d'abord l'idée de développement du projet de magasin, analysons ses avantages et réfléchissons s'il y a des lacunes.Bien sûr, notre propre compréhension n'est peut-être pas tout à fait correcte, mais si nous n'y pensons pas, nous ne le ferons jamais connaître la bonne solution !

En même temps, il est nécessaire de distinguer les points clés. Tout n'est pas à analyser en détail. Tout comme la logique courante d'ajout, de suppression, de modification et de requête, il est bon de l'expliquer clairement. Si c'est compliqué, c'est Une certaine logique est souvent nécessaire lors du développement du code, telle que la logique de connexion, la logique de paiement, etc.

Puisqu'il doit être analysé de manière approfondie, commencez par l'analyse de base et la moins pertinente, et suivez la logique de l'analyse de l'interface NO3-2 pour la direction générale.

La direction générale est la suivante :

1. Résolvez d'abord les paramètres du système, car les besoins globaux ; [Par exemple : logistique, zonage, configuration, etc., principalement du côté de l'exploitation ou du système]

2. Résolvez ensuite la gestion de base des membres et la gestion de base des magasins ; [telles que la connexion des membres, l'inscription, la modification, l'application du magasin, la gestion, etc., impliquent toutes trois terminaux]

3. Ensuite, commencez à résoudre la gestion des produits, la gestion du panier d'achat et la gestion des promotions ; [Ces trois parties sont assez compliquées, et elles impliquent beaucoup d'affaires, et les trois parties sont également liées les unes aux autres, elles doivent donc être considérées ensemble ]

4. Enfin, résolvez les petits modules restants.Après tout, la plupart des modules sont liés aux trois premiers modules [par exemple, l'évaluation des membres, les nouvelles, la livraison, etc., sont également liés aux trois terminaux]

Le contenu de l'analyse comprend généralement :

  • Analyse métier [il faut d'abord analyser le métier à résoudre, puis réfléchir à la façon d'écrire du code en fonction du métier]
  • La relation entre les classes métiers [Analyser la relation entre les classes clés impliquées, propice à la compréhension du métier et à l'éclaircissement de l'architecture de conception de code ~]
  • Rédaction de code [sélectionnez les descriptions clés de la logique de la méthode clé et absorbez les idées de codage]
  • Outils tiers [Enregistrer les outils utilisés et pourquoi ils sont utilisés]

 L'analyse ci-dessus n'est pas divisée en avant et en arrière. Après tout, nous voulons analyser le système de boutique, qui est définitivement différent du processus de développement normal. Nous avons déjà analysé la majeure partie de l'analyse commerciale, donc si ce n'est pas nécessaire, nous la passerons plus tard. La relation entre les catégories commerciales doit être analysée. Nous avons également analysé brièvement certaines d'entre elles auparavant, comme la promotion. L'écriture de code consiste à implémenter l'idée de la relation entre les classes métier dans le code, et certains outils tiers affectent l'entreprise, et certains sont de simples outils de raccourci, tels que la connexion tierce, le paiement, les outils hutool, etc. sur.

OK, toute réflexion est terminée, pourquoi ne pas commencer par la connexion des membres ~~~~~~~~~~~~~~

A1. Logique de connexion d'autorisation de plate-forme tierce (besoin de comprendre)

Étant donné que nous devons utiliser des outils tiers pour une connexion autorisée, nous devons comprendre leurs directives d'utilisation avant de les ajouter à notre système.

Pour le dire franchement, il s'agit d'obtenir les informations de l'utilisateur sur la plate-forme tierce (il doit y avoir un identifiant d'utilisateur unique), puis de lier ces informations à l'utilisateur de notre plate-forme de boutique, afin que vous puissiez vous connecter à la plate-forme de la boutique par l'intermédiaire du tiers.

L'essentiel est donc de savoir comment obtenir les informations d'un utilisateur autorisé auprès d'un tiers.

Avant de comprendre, trions les méthodes de connexion tierces nécessaires, puis comprenons l'utilisation réelle en fonction des méthodes de connexion requises ~

  1. Côté PC, connexion par nom d'utilisateur et mot de passe, connexion par numéro de téléphone portable, ces deux éléments sont enregistrés, alors assemblez-les
  2. Terminal PC, application mobile/petit code de balayage de programme pour se connecter
  3. Terminal PC, connexion autorisée QQ
  4. Côté PC, WeChat scanne le code pour autoriser la connexion
  5. Terminal d'applet WeChat, autorisation WeChat + connexion d'autorisation de numéro de téléphone mobile
  6. Navigateur WeChat, connexion autorisée WeChat
  7. Navigateur mobile, connexion par nom d'utilisateur et mot de passe, connexion par numéro de téléphone mobile
  8. Navigateur mobile, connexion autorisée QQ
  9. Terminal APP, connexion par nom d'utilisateur et mot de passe, connexion par numéro de téléphone mobile
  10. Côté APP, connexion autorisée QQ
  11. Côté APP, connexion autorisée WeChat

 La verte ci-dessus est la méthode de connexion qui nécessite une autorisation tierce, et les autres sont les méthodes de connexion de la plateforme.

B1. Méthode d'autorisation WeChat

Pour WeChat, il dispose d'une plateforme de développement WeChat et fournit des guides d'autorisation pour de nombreux produits : Mini programmes, comptes officiels, plateformes ouvertes, mini jeux, etc. Nous devons comprendre les mini programmes et les plateformes ouvertes.

La méthode du petit programme est nécessaire car nous avons un petit terminal de programme, nous pouvons donc utiliser directement l' API du petit programme pour obtenir les informations utilisateur ou le numéro de téléphone mobile que nous voulons ;

Le besoin d'une plate-forme ouverte est dû au fait que nous avons l'autorisation de numérisation de code WeChat côté PC et l'autorisation client WeChat côté application/côté navigateur WeChat. Nous avons besoin de l'appid et du secret autorisés par la plate-forme ouverte pour appeler l'interface API fournie par lui . , et enfin obtenir ce que nous voulons. Les informations utilisateur requises ; et la plate-forme ouverte est divisée en applications de site Web, applications mobiles, plates-formes tierces, etc. Nous n'avons besoin d'utiliser que des applications de site Web et des plates-formes tierces.

C1. Applet WeChat

La logique d'autorisation de l'applet WeChat est basée sur l'API du composant de l'applet WeChat, c'est-à-dire que les informations de l'utilisateur autorisé sont obtenues au niveau du front-end de l'applet, telles que le numéro de téléphone mobile. l'heure est chiffrée et la partie WeChat doit être appelée. L'interface obtient la valeur du code et la déchiffre pour obtenir le numéro de téléphone.

Il est facile à comprendre en lisant le document, MAIS  , il convient de noter que la méthode suivante d'obtention du document de numéro de téléphone mobile est une nouvelle méthode ! Et le projet boutique utilise l'ancienne version de la méthode ! ! !

Nouvelle logique de version :

Obtenez le code de jeton dynamique pour obtenir le numéro de téléphone mobile via le composant, puis appelez l'interface HTTPS getPhoneNumber via le jeton d'accès et le code, et la réponse de l'interface renvoie les informations sur le numéro de téléphone mobile. très pratique.

Logique de l'ancienne version :

Obtenez les données cryptées encryptedData et le vecteur initial iv de l'algorithme de cryptage, et décryptez-les selon l'algorithme de décryptage des données cryptées fourni par WeChat, et obtenez les informations sur le numéro de téléphone mobile. Peu pratique, le déchiffrement doit d'abord obtenir la clé de session de l'utilisateur, et également utiliser l'algorithme de déchiffrement fourni par WeChat.

La figure suivante montre la nouvelle version du document et l'adresse du document :

WeChat Mini Program Authorized Mobile Number Login : Obtenir un numéro de mobile | WeChat Open Documentation 

Obtenir l'interface du numéro de téléphone mobile | Document ouvert WeChat

 Documents et adresses de l'ancienne version : obtenir le numéro de téléphone dans l'ancienne version | WeChat Open Documentation


 C2. Plateforme ouverte WeChat

La logique d'autorisation de la plate-forme ouverte ne fait référence qu'aux applications de site Web et aux plates-formes tierces. Leur logique d'autorisation est basée sur OAuth2 et les deux prennent en charge le mode d'autorisation par code d'autorisation. Les étapes sont donc similaires :

1. 获取code
2. 通过 code 换取 accesstoken
3. 然后根据 accesstoken 进行接口调用,获取用户基本数据资源或帮助用户实现基本操作。

 Connexion d'autorisation d'application de site Web WeChat :  guide de développement de connexion d'application de site Web d'application de site Web WeChat | Document ouvert WeChat

  

Connexion à l'autorisation de la plate-forme tierce WeChat :  une application tierce initie l'autorisation de la page Web au nom du compte officiel | WeChat Open Documentation

C3. WeChat AppID, openid, unionid (doit savoir)

L'un des points clés pour nous d'utiliser l'autorisation WeChat est que nous devons obtenir les informations de l'utilisateur autorisé dans WeChat. Les informations de l'utilisateur doivent avoir un identifiant d'utilisateur unique et ne peuvent pas être modifiées. Il faut s'assurer que les informations de l'utilisateur sont cohérentes à chaque fois. l'utilisateur autorise, afin que notre plate-forme de boutique puisse trouver les informations sur les membres liés via l'identifiant d'utilisateur ~~~

Ensuite, openid et unionid sont les identifiants uniques des utilisateurs, mais il y a des différences, il suffit de regarder l'image ci-dessous pour comprendre ~~

Introduction aux concepts de base des différents types d'ID | WeChat Open Documentation

Grâce à la figure ci-dessus, nous pouvons comprendre la différence entre openid et unionid.

On peut l'utiliser différemment selon les métiers, par exemple :

Métier 1 : Le projet comporte plusieurs applications, et il faut s'assurer que le login autorisé de chaque terminal pointe vers le même compte sur cette plateforme.

Conception 1 : (1) Nous pouvons utiliser une plate-forme tierce pour associer plusieurs terminaux, puis obtenir l'unionid autorisé par les utilisateurs de WeChat sur n'importe quel terminal et le lier à un utilisateur de la plate-forme, puis quel que soit le terminal. La connexion finira par trouver le compte associé via unionid ; (2) on peut également utiliser openid directement. Lorsque l'utilisateur autorise pour la première fois à quelle fin, il doit être lié à un utilisateur de la plate-forme. Après avoir lié une fois à une certaine fin, l'utilisateur peut être retrouvé après autorisation, mais il doit être lié une fois lorsque chaque terminal se connecte pour la première fois.

Entreprise 2 : Le projet n'a que des applications côté APP, et la plateforme n'a pas besoin d'être enregistrée, seule l'autorisation WeChat est requise pour se connecter.

Conception 2 : (1) Nous utilisons directement openid, l'utilisateur se connecte directement lorsque l'application est autorisée pour la première fois, puis autorise directement chaque fois qu'il se connecte, et il n'est pas du tout nécessaire de lier les informations de l'utilisateur ~

Méthode d'autorisation B2.QQ

Pour QQ, il dispose également d'une plate-forme ouverte Tencent , et il existe également une variété de plates-formes de services, une plate-forme de développement d'applications, une plate-forme de développement de contenu, une plate-forme de développement QQ, etc. Nous avons juste besoin de comprendre la plate-forme de développement d'applications.

C1. Plate-forme de développement d'applications

Les méthodes d'accès dans la plate-forme de développement d'applications sont en outre divisées en : applications mobiles, jeux mobiles, applications PC et accès au site Web. L'accent est mis sur l'accès au site Web et la connexion QQ est également basée sur OAuth2.0. La connexion QQ OAuth2.0 prend en charge l'accès au site Web et l'accès aux applications mobiles .

Ces deux méthodes d'accès peuvent utiliser le SDK fourni par QQ, et peuvent également être développées indépendamment selon le protocole OAuth 2.0.La plateforme de la boutique est la seconde qui est développée indépendamment selon le protocole. En d'autres termes, ces deux méthodes d'accès sont équivalentes à la même (encore une fois, c'est trop pratique ~~~)

QQ prend également en charge le mode d'autorisation du code d'autorisation, les étapes sont donc similaires :

Step1:获取Authorization Code
Step2:通过Authorization Code获取Access Token
Step3:(可选)权限自动续期,获取Access Token
Step4:使用Access Token来获取用户的OpenID

L'image et l'adresse du document suivantes :

Site Web QQ, connexion d'autorisation d'application mobile :  stratégie de développement_Server-side Tencent Open Platform

Différences entre /oauth2.0/authorize et /oauth2.0/show Accès au site Web Précautions de connexion QQ - jetez un œil

AppID, openid, UnionID de C3.QQ (doit savoir)

Bien sûr, les informations utilisateur autorisées par QQ doivent également avoir un ID utilisateur unique, qui est également openid.Pour plus de détails, veuillez vous référer à la documentation.

Une chose, QQ fournit également des appids de différentes applications pour obtenir un UnionID unique, qui doit être demandé.

Concepts et terminologie de la plate-forme ouverte Tencent

 QQ Interconnection UnionID Open Business Self-service Handling Guide—QQ Interconnection WIKI

B3. Penser à l'intégration logique de la connexion autorisée à la plate-forme tierce et de la connexion à la plate-forme propre (peut être ignorée)

C1. Pensée logique 

Prenez note de cette pensée logique et gardez votre esprit clair.

Tout d'abord, si la plate-forme n'a pas besoin d'intégrer une connexion tierce, la plate-forme doit enregistrer et sauvegarder les informations de compte de l'utilisateur, les plus élémentaires étant le numéro de compte et le mot de passe.Le numéro de compte peut être un nom d'utilisateur ou un téléphone portable. nombre et doit être unique. Ce n'est qu'ainsi que nous pouvons nous assurer que l'utilisateur ouvre le même compte et les données associées au compte à chaque fois qu'il se connecte.

Mais si nous utilisons une plate-forme tierce pour nous connecter et autoriser, la plate-forme doit-elle toujours enregistrer et sauvegarder les informations de compte utilisateur ? Ceci est à développer en fonction de l'activité spécifique. Il y a deux options à ce stade :

Solution 1. Une fois que la plate-forme a utilisé une application tierce pour se connecter et autoriser, elle enregistre l'enregistrement en tant qu'informations de compte en fonction des informations de l'utilisateur tiers, de sorte que lors de la prochaine connexion via l'autorisation tierce, il recherchera le compte en fonction des informations de l'utilisateur, puis se connectera.

[Dans cette solution, si les informations de l'utilisateur tiers ne contiennent pas l'identifiant de compte unique de la plate-forme (tel que le nom d'utilisateur ou le numéro de téléphone mobile), un nouveau compte sera créé sur la base de l'identifiant de l'utilisateur tiers, et l'utilisateur peut transmettez également le nom d'utilisateur/numéro de téléphone mobile Number pour enregistrer un compte membre, ce qui générera deux comptes, et éventuellement la même personne peut avoir plusieurs comptes ! !

Solution 2. Une fois que la plate-forme utilise une application tierce pour se connecter et autoriser, liez l'ID utilisateur tiers au compte existant sur la plate-forme, puis la prochaine fois que l'utilisateur se connecte via l'autorisation tierce, l'identifiant associé compte sera recherché et connectez-vous.

[Dans cette solution, lorsque la plateforme tierce autorise l'utilisateur à se connecter, celle-ci doit être liée au compte de la plateforme, afin qu'un même utilisateur n'obtienne qu'un seul compte quelle que soit la méthode utilisée pour se connecter. Au final, un même utilisateur n'aura qu'un seul compte. !

Revenons à notre question, la plateforme a-t-elle encore besoin d'enregistrer et de sauvegarder les informations de compte utilisateur ? Regardons l'entreprise spécifique. Les deux solutions ci-dessus ne sont pas les plus absolues. Ce ne sont que les deux solutions utilisées par le public. Elles peuvent être subdivisées en fonction de l'activité et du développement réel.

De manière générale, l'option 2 est plus raisonnable et le même utilisateur ne doit pas générer plusieurs comptes, de sorte que les utilisateurs eux-mêmes seront confus ~~~~~~~~ Par exemple, sur un certain site Web, vous utilisez votre numéro de téléphone portable pour vous inscrire un compte puis acheter VIP, je me suis connecté avec l'autorisation WeChat le lendemain, j'ai ouvert le compte et j'ai constaté que le compte n'est pas un VIP, à ce moment vous : emmmmmmm

C2. Exemples

À l'heure actuelle, de nombreux grands sites Web ajoutent des plates-formes tierces pour autoriser la connexion, telles que CSDN, Code Cloud, etc., qui utilisent toutes le schéma 2.

Exemple 1, le site Web du nuage de code utilise la solution 2, le nuage de code peut se connecter via plusieurs méthodes de connexion, vous devez lier le propre compte du nuage de code lors de l'autorisation de la connexion, puis utiliser cette méthode d'autorisation de connexion plus tard, vous obtiendrez le mêmes informations de compte.

  

Exemple 2, le site Web CSDN utilise également le schéma 2, et vous pouvez également vous connecter via plusieurs méthodes de connexion, mais lorsque vous vous connectez avec une autorisation tierce, il déterminera si le compte a été lié, et s'il n'est pas lié, la connexion ne peut pas être réussie ! Vous pouvez vous connecter au compte csdn et lier activement une application tierce, puis utiliser cette méthode d'autorisation de connexion plus tard, vous pourrez vous connecter avec succès et obtenir les mêmes informations de compte.

Remarque : à l'exception de la connexion tierce à WeChat , après la connexion à WeChat, vous pouvez directement localiser et lier le compte, ou directement enregistrer et lier le compte. pourquoi ?

Tout d'abord, l'enregistrement du compte csdn nécessite un numéro de téléphone mobile. Une fois l'enregistrement réussi, vous pouvez ajouter une adresse e-mail et un nom d'utilisateur pour vous connecter.

Deuxièmement, la méthode de connexion autorisée par un tiers de l'applet WeChat peut obtenir le numéro de téléphone mobile du WeChat de l'utilisateur !

Par conséquent, il est évident que cette méthode permet de localiser directement le compte ~~~~

 

La logique réelle de la connexion des membres du côté B de la plate-forme B4.shop (besoin de comprendre)

La logique de développement du projet est conçue en fonction de l'entreprise et de la situation réelle, mais nous apprenons le projet de magasin après tout (et le projet de magasin ne fournit pas d'exigences commerciales spécifiques, nous n'avons aucun moyen de le savoir), donc la logique de développement réelle doit être Au contraire, nous devons donc d'abord connaître les résultats de développement finaux du projet de magasin, puis analyser la logique de développement réelle, et enfin nous pouvons choisir d'analyser les besoins de l'entreprise pour obtenir la conception. [Les idées principales sont grossièrement : la conception des exigences, la conception du développement, le développement du code]

C1. Résultats réels de connexion de tiers et de compte

Il suffit de regarder les résultats de l'adresse de démonstration que j'ai fournie dans la boutique. 

Oui, différentes méthodes de connexion d'autorisation généreront six comptes. Si vous ne me croyez pas, vous pouvez le tester vous-même dans l'adresse de démonstration.

C2. Logique réelle de connexion à un tiers et à un compte

Tout est basé sur les adresses source et de démonstration de la branche master.

Tout d'abord, indiquez le nombre de méthodes de connexion autorisées :

L'ombrage vert est la méthode de connexion autorisée.

  1. Côté PC, connexion par nom d'utilisateur et mot de passe, connexion par numéro de téléphone portable, ces deux éléments sont enregistrés, alors assemblez-les
  2. Terminal PC, application mobile/petit code de balayage de programme pour se connecter
  3. Terminal PC, connexion autorisée QQ
  4. Côté PC, WeChat scanne le code pour autoriser la connexion
  5. Terminal d'applet WeChat, autorisation WeChat + connexion d'autorisation de numéro de téléphone mobile
  6. Navigateur WeChat, connexion autorisée WeChat
  7. Navigateur mobile, connexion par nom d'utilisateur et mot de passe, connexion par numéro de téléphone mobile
  8. Navigateur mobile, connexion autorisée QQ
  9. Terminal APP, connexion par nom d'utilisateur et mot de passe, connexion par numéro de téléphone mobile
  10. Côté APP, connexion autorisée QQ
  11. Côté APP, connexion autorisée WeChat

Commencez par extraire la logique de 2. l'enregistrement du code de numérisation, car cette logique est basée sur le compte de connexion et aucun nouveau compte ne sera généré. 1.7.9. Ils utilisent tous la même méthode de connexion au compte de la plateforme (car les codes utilisent tous le même).

Parmi eux, le login QQ de 3. et 8. génère un compte (car le code utilise le même), et le login de 5. et 1. génère un compte (car la logique est la même).

Donc pour la logique de la méthode de connexion (pas de développement de code !!! Pour le développement de code, voir c3), au final on ne peut faire attention qu'à :

  1. Terminal PC, connexion par nom d'utilisateur et mot de passe, connexion par numéro de téléphone mobile, terminal d'applet WeChat, autorisation WeChat + connexion d'autorisation par numéro de téléphone mobile
  2. Terminal PC, terminal de navigateur mobile, connexion autorisée QQ
  3. Côté PC, WeChat scanne le code pour autoriser la connexion
  4. Navigateur WeChat, connexion autorisée WeChat
  5. Côté APP, connexion autorisée QQ
  6. Côté APP, connexion autorisée WeChat

Analysons un par un.

Pour 1., le compte membre de la plateforme de boutique détermine l'identifiant unique de l'utilisateur via le nom d'utilisateur et le numéro de téléphone portable, et le numéro de téléphone portable peut être utilisé pour s'enregistrer directement lors de la connexion avec le numéro de téléphone portable. Lorsque le terminal d'applet WeChat autorise la connexion, le numéro de téléphone mobile de l'utilisateur WeChat est finalement obtenu, de sorte que les informations sur le membre sont finalement obtenues via le numéro de téléphone mobile, de sorte que l'opération finale de ces deux méthodes est le même compte ~

Pour 2., les codes de fonctionnement du navigateur mobile et du PC sont exactement les mêmes, c'est-à-dire que l'appid qu'ils exploitent est le même, donc l'openid de l'utilisateur qu'ils obtiennent est également le même, donc le compte qui est finalement associé est aussi le même ~

Alors pourquoi 5. et 2. sont-ils différents ? Parce que les deux méthodes de connexion exploitent finalement des applications différentes, donc l'appid n'est pas le même, et l'openid de l'utilisateur finalement obtenu ne doit pas être le même, alors qu'en est-il de l'unionid ? Nous ne savons certainement pas si ces deux applications sont liées au même compte de développement, mais le code source contient la logique de liaison unionid et openid, mais l'adresse de démonstration montre deux comptes, donc unionid n'est pas cohérent, donc le compte final associé est pas la même ~

Pour 3. 4. 6., expliquons d'abord que les trois méthodes de connexion fonctionnent finalement sur des applications différentes, donc l'appid n'est pas le même, et l'openid de l'utilisateur finalement obtenu ne doit pas être le même, alors qu'en est-il de l'unionid ? Identique à la logique ci-dessus, il ne devrait pas être sous le même compte de développement, donc le compte lié final n'est pas le même ~

Tout ce qui précède est logique, alors qu'en est-il du code de développement spécifique ? Est-ce une méthode de connexion pour développer une interface de code ? Ce n'est certainement pas le cas. S'il existe un processus similaire, nous le développerons certainement avec le moins de logique de code ~

C3. Logique de développement réelle du code de connexion de tiers et de compte (analyse principalement une logique de développement similaire pour réduire le code de mauvaise qualité)

Listons d'abord la logique de développement de la méthode de connexion du code source, puis analysons-la en détail

Selon la logique de développement du code, le côté membre du projet de boutique peut être divisé en :

  1. Côté ordinateur
  2. Mini-programme WeChat
  3. Borne WeChat H5
  4. Borne mobile H5
  5. Côté APPLICATION

Parmi eux, l'extrémité pc est un code frontal, utilisant le framework vue, et les quatre autres sont un code frontal, utilisant le framework uni - app , qui distingue différentes méthodes de connexion pour différentes extrémités dans le code.

Le backend est tout le même ensemble de code.


Selon la logique de développement du code, le code de développement de chaque end peut être divisé en plusieurs types (en distinguant principalement le back end, car le front end final appelle l'interface pour réaliser la logique de login, et je mets les pages impliquées dans le front end à la fin):

  1. Connectez-vous avec nom d'utilisateur et mot de passe [les codes back-end de chaque extrémité sont les mêmes]
  2. Connexion au numéro de téléphone portable [le code back-end de chaque extrémité est le même]
  3. Application mobile côté PC/code de numérisation de petit programme pour se connecter
  4. Dans l'applet WeChat, WeChat a autorisé le numéro de téléphone mobile à se connecter
  5. Connexion autorisée WeChat H5 et WeChat, connexion autorisée mobile H5 et QQ, connexion par code de numérisation WeChat et PC, connexion par code de numérisation QQ et PC
  6. Connexion autorisée WeChat côté APP, connexion autorisée QQ côté APP

Par conséquent, les interfaces finalement développées par shop sont ces six types :

Pour l'interface d'application de 1. 2. 3. voir : cn.lili.controller.passport.MemberBuyerController【Member Interface】

4. Pour l'interface de l'application, voir : cn.lili.controller.passport.connect.MiniProgramBuyerController【Mini Program Login Interface】

5. Pour l'interface d'application de 6., voir : cn.lili.controller.passport.connect.ConnectBuyerWebController [Connexion conjointe autorisée par un tiers côté Web]

Les détails de développement spécifiques seront enregistrés en détail dans le prochain article, et l'interface et la logique de l'application seront enregistrées ci-dessous ~~~~~

C4. La petite fosse du code de magasin actuel (dans une certaine mesure, c'est une petite fosse)

Dans l'applet WeChat, l'utilisation finale consiste à se connecter avec un numéro de téléphone mobile autorisé par WeChat, c'est-à-dire à obtenir d'abord le numéro de téléphone mobile pour juger s'il existe un compte, et sinon, créer un compte et lier l'openid et unionid à ce compte, faites attention à openid et unionid ici Est respectivement et compte obligatoire ! C'est-à-dire qu'il y a deux associations.

Cependant, si l'utilisateur utilise APP/H5/WeChat H5 pour se connecter avec l'autorisation WeChat, le jeton d'accès et les informations utilisateur peuvent être obtenus après l'interface de rappel WeChat, mais l'association de l'utilisateur est finalement jugée en fonction de l'openid ! ! !

 

 Je pense que ce projet logique ne le fera pas. Quels utilisateurs de la plate-forme souhaitent utiliser différentes méthodes pour se connecter et avoir un nouveau compte ? Les données ne seraient-elles pas dispersées ? Qui se souviendrait systématiquement de quelles données ont été manipulées par quel compte ? De toute façon, je ne comprends pas. . .

Donc cette pièce ne peut pas être utilisée directement~~~~~ Cette partie de l'analyse du code source est terminée, j'écrirai la logique modifiée et modifierai le code quand j'aurai le temps ! ! !

A2. Interface de connexion des membres

B1. Interface membre

L'interface de connexion SMS doit être combinée avec l'interface de code de vérification SMS. L'interface de code de vérification SMS peut être trouvée à : cn.lili.controller.common.SmsController. Nous combinerons l'introduction commerciale détaillée plus tard ~~~

  • Utilisateur enregistré (nom d'utilisateur, numéro de téléphone mobile)
  • Interface de connexion par nom d'utilisateur et mot de passe
  • Interface de connexion SMS (cette logique doit être combinée avec l'interface de code de vérification SMS)
  • Web-get mobile app/mini-program login QR code, web-QR code long-rotation training verification login, app/mini-program scan code, app scan code-login confirmation: accept/deny
  • Interface de déconnexion du compte

 

 APP, terminal mobile H5

 APP, programme WeChat Mini, scannez le code dans le coin supérieur droit pour vous connecter

 

B2. Interface de connexion à l'applet WeChat

Le code frontal de l'applet WeChat obtiendra le numéro de téléphone mobile et les informations utilisateur autorisées par l'utilisateur, puis appellera l'interface back-end en tant que paramètre d'entrée. S'il réussit, il renverra directement le jeton. Comme le numéro de téléphone mobile de l'applet doit être déchiffré, l'interface est pointée du doigt.

Donc celui-ci n'est pas très compliqué.

  • Connexion au mini-programme/enregistrement automatique

 Mini-programme WeChat

B3. Connexion conjointe autorisée par un tiers

Il existe deux types de méthodes de connexion. La première est la méthode de connexion conjointe tierce. La tierce partie utilise principalement le mode d'autorisation du code d'autorisation d'oauth2.0, donc une fois intégrées ensemble, la tierce partie rappellera l'interface de la plate-forme. , puis entrez à nouveau dans l'interface. Dirigez la page frontale de la plate-forme, puis appelez l'interface de résultat de la plate-forme pour obtenir le jeton de résultat de la réponse. La seconde consiste à se connecter en fonction de l'ID utilisateur tiers, ce qui est similaire à la logique de l'applet, mais le développement est différent, il s'agit donc également d'une interface à sortie unique.

Connexion conjointe avec l'autorisation d'un tiers sur le Web

La plupart d'entre eux sont des modes de code d'autorisation OAuth2, qui sont utilisés en combinaison avec des applications côté serveur ordinaires (méthodes d'autorisation couramment utilisées côté Web)

  • WEB obtient le chemin d'autorisation de connexion de confiance tiers, l'adresse de rappel unifiée de connexion de confiance tierce, l'acquisition du résultat de la réponse de connexion de confiance tierce

Connexion conjointe avec autorisation de tiers sur le terminal mobile

Cette classe est principalement utilisée en conjonction avec des applications mobiles ou des applications Web

  • Connexion basée sur un ID utilisateur tiers (par exemple : unionID, openid)

 Côté ordinateur

Terminal mobile H5, terminal APP, terminal WeChat H5

 

Je suppose que tu aimes

Origine blog.csdn.net/vaevaevae233/article/details/128394278
conseillé
Classement