admin 管理员组文章数量: 1184232
仅涉及后端,全部目录看顶部专栏,代码、文档、接口路径在:
【Lilishop商城】记录一下B2B2C商城系统学习笔记~_清晨敲代码的博客-CSDN博客
全篇会结合业务介绍重点设计逻辑,其中重点包括接口类、业务类,具体的结合源代码分析,源码读起来也不复杂~
谨慎:源代码中有一些注释是错误的,有的注释意思完全相反,有的注释对不上号,我在阅读过程中就顺手更新了,并且在我不会的地方添加了新的注释,所以在读源代码过程中一定要谨慎啊!
目录
No4 业务逻辑的代码开发阶段说明
A1.第三方平台授权登录逻辑(需要了解哦)
B1.微信的授权方式
C1.微信小程序
C2.微信开放平台
C3.微信AppID、openid、unionid(必须要知道)
B2.QQ的授权方式
C1.应用开发平台
C3.QQ的AppID、openid、UnionID(必须要知道)
B3.第三方平台授权登录与自身平台登录的逻辑整合思考(可略过)
C1.逻辑思考
C2.举例子
B4.shop平台B端会员登录实际逻辑(需了解)
C1.实际第三方和账号登录结果
C2.实际第三方和账号登录逻辑
C3.实际第三方和账号登录代码开发逻辑(主要分析出相似开发逻辑的,减少低质量代码)
A2.会员登录接口
B1.会员接口
B2.微信小程序登录接口
B3.web端第三方授权联合登录
No4 业务逻辑的代码开发阶段说明
第三部分的详细设计基本上差不多了(剩下的都不难理解,后面再补充),现在开始根据业务逻辑开发代码。写代码容易,但前提是要结合业务逻辑,写出漂亮代码,既要考虑代码规范,又要考虑调用是否恰当、依赖是否严格、逻辑是否合理、设计是否环保简洁。
所以我们先学习shop项目的开发思想,分析其优点,琢磨是否有缺点,当然以自己的理解也不一定思考的完全正确,但是自己不思考就永远不知道正确的方案的!
同时也要区分重点,不是什么都需要详细分析的,就像普通的增删改查逻辑就说清楚带过就好,复杂的就要仔细考虑啦~而有些逻辑是作为代码开发经常需要的,例如登录逻辑、支付逻辑等。
由于是要全面分析的,所以就从基础的、关联较少的分析起,大致方向就按照NO3-2接口分析的逻辑走就可以。
大致方向如下:
1.先解决系统设置,因为全局需要的;【例如:物流、区划、配置等,大多是运营端的,或者是系统的】
2.再解决会员基础管理、店铺基础关管理;【例如会员登录、注册、修改,店铺申请、管理等,都涉及到三端】
3.然后开始解决商品的管理、购物车管理、促销管理;【这三块都挺复杂的,涉及到的业务都挺多的呢,而且三块之间还相互关联,要一同考虑】
4.最后在解决其余小的模块,毕竟大多模块都与前三个模块相关呢【例如,会员评价、消息、配送等,也是三端有关的】
分析的内容大致包括:
- 业务的分析【得先分析清楚要解决的业务吧,然后根据业务思考用什么样的方式来编写代码】
- 业务类之间的关系【分析清楚涉及到的关键类间的关系,利于理解业务,清楚代码设计架构~】
- 代码的编写【挑取关键方法逻辑的重点描述,吸取编码思想】
- 第三方工具【记录使用的工具、为啥使用】
以上分析不分前后,毕竟我们是要分析shop系统的,和正常的开发流程肯定不一样的。业务分析我们在之前大多都有分析过,所以后面如果非必须就略过了,业务类间的关系肯定是要分析的,之前有的我们也简单分析过,例如促销的。代码编写就是将业务类间的关系思想落实到代码中,而第三方工具有些是影响业务的,有些就是简单的快捷工具,例如第三方登录、支付,hutool 工具等等。
OK,一切思考完毕,要不我们就先从会员登录开始吧~~~~~~~~~~~~~~
A1.第三方平台授权登录逻辑(需要了解哦)
由于我们需要用到第三方工具进行授权登录,所以需要了解他们的使用指南,才能添加到咱们的系统里面。
说白了就是拿到第三方平台里面用户的信息(一定会有一个用户唯一标识),然后将这个信息与我们shop平台的用户进行绑定,这样就能通过第三方登录shop平台了。
所以重点就是要知道怎样从第三方拿到的授权用户信息。
在了解前我们先整理都需要哪些第三方登录方式,然后根据需要的登录方式去了解实际的使用~
- PC端,用户名密码登录、手机号码登录、这俩是注册的,所以放到一起
- PC端,手机App/小程序扫码登录
- PC端,QQ授权登录
- PC端,微信扫码授权登录
- 微信小程序端,微信授权+手机号码授权登录
- 微信浏览器端,微信授权登录
- 移动浏览器端,用户名密码登录、手机号码登录
- 移动浏览器端,QQ授权登录
- APP端,用户名密码登录、手机号码登录
- APP端,QQ授权登录
- APP端,微信授权登录
上方绿色的是需要第三方的授权登录方式,其余的是平台的登录方式哦。
B1.微信的授权方式
对于微信来说,他有微信开发平台,并提供了好多种产品的授权指南:小程序、公众号、开放平台、小游戏等等,我们需要了解小程序的、开放平台的。
需要小程序方式是由于我们有小程序端,所以可以直接使用小程序的API来获取到我们想要的用户信息或者手机号码;
需要开放平台方式是由于我们有PC端微信扫码授权、APP端/微信浏览器端调用微信客户端授权,我们需要开放平台授权的appid、secret来调用他提供的API接口,最终获取到我们想要的用户信息;而且开放平台里面又区分为网站应用、移动应用、第三方平台等,我们只需要使用网站应用、第三方平台就可以啦。
C1.微信小程序
微信小程序的授权逻辑时基于微信小程序组件的API的,也就是说在小程序前端拿到授权的用户信息,比如获取手机号码,此时拿到的授权信息是加密的,需要调用微信方接口拿到code值解密才能获取到手机号码。
具体的可以看文档很好理解的,BUT ,需要注意,下面的获取手机号码文档是新的方法!而shop项目是使用的旧版本的方法!!!
新版本逻辑:
通过组件拿到获取手机号码的动态令牌code,然后通过access_token和code调用HTTPS getPhoneNumber 接口,接口响应返回就是手机号码信息。很方便。
旧版本逻辑:
通过拿到获取加密数据encryptedData和加密算法的初始向量iv,并根据微信提供的加密数据解密算法来解密,拿到手机号码信息。不方便,解密需要先拿到用户的sessionKey,并且还要使用微信提供的解密算法。
下图是新版本的文档及文档地址:
微信小程序授权手机号码登录:获取手机号 | 微信开放文档
获取手机号接口 | 微信开放文档
旧版本的文档及地址:旧版本获取手机号 | 微信开放文档
C2.微信开放平台
开放平台的授权逻辑,只说网站应用和第三方平台的哈,他们的授权逻辑都是基于OAuth2的,并且都支持 Authorization code 授权模式,所以步骤都相似:
1. 获取code
2. 通过 code 换取 accesstoken
3. 然后根据 accesstoken 进行接口调用,获取用户基本数据资源或帮助用户实现基本操作。
微信网站应用授权登录: 网站应用 网站应用微信登录开发指南 | 微信开放文档
版权声明:本文标题:【Lilishop商城】No4-1.业务逻辑的代码开发,涉及到:会员B端第三方登录使用及后端接口(微信、QQ等) 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/b/1763772387a3268838.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。