画图有利于业务整体的理解,举个栗子:一键登录

接入sdk泳道逻辑图

感悟:复杂的业务代码、或者继承一个与服务端或多端交互的sdk时,都可以画出来流程图

优点:
1.各部门讨论能够更加充分
2.优化业务流程时更加清晰

集成一键登录sdk,App客户端、App服务器、Sdk、Sdk服务器之间交互的泳道式流程图

集成一键登录sdk流程.png

流程:
1.初始化sdk
2.返回json和json签名
3.携带json和json签名,发送给开发者服务器
4.使用签名数据,发起一键登录认证请求
5.返回access_token和expires_in
6.id_token和expires_in返回给开发者App,sdk初始化成功
7.用户请求一键登录
8.App端发起一键登录
9.弹起一键登录页面
10.用户同意协议,点击一键登录
11.返回id_token
12.携带id_token,传递给服App服务器,进行登录
13.携带id_token,获取用户手机号
14.返回手机号给App服务器
15.根据手机号,查询到用户tempToken
16.App端携带tempToken,传递给服务器
17.根据tempToken,获取用户信息,返回给App客户端
18.用户登录成功

业务流程图

业务流程图.png

根据业务流程图可以了解到大概要实现的功能

主要功能思维导图

主要功能思维导图.png

根据业务流程图和主要功能思维导图,构想出主要通过哪些类,类中要实现哪些方法来画图主要实现类类图

主要实现类类图

主要实现类类图.png

一键登录新旧逻辑

一键登录新旧逻辑.png

主要的优化点

1.减少静态类、静态方法、静态字段
2.代码逻辑优化,从回调---》回调---》回调---》回调---》四五层回调逻辑,优化成回调---》一层回调逻辑

源代码地址

链接: https://pan.baidu.com/s/1PmPNjP9EI4sjDDApgGQ5Ew 提取码: ea42

你可能感兴趣的:(画图有利于业务整体的理解,举个栗子:一键登录)