微信登陆流程图.wsl 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. @startuml
  2. state 微信APP {
  3. state 微信小程序 {
  4. 微信小程序 : 打开 CRM、KO、KERRY+ 等小程序
  5. }
  6. state 微信扫一扫 {
  7. 微信扫一扫 : 打开扫一扫
  8. }
  9. state 公众号 {
  10. 公众号 : 通过公众号打开
  11. }
  12. 微信扫一扫 --> 微信小程序
  13. 公众号 --> 微信小程序
  14. state 首页 {
  15. 首页: 用户点击模块功能球
  16. }
  17. 微信小程序 --> 首页
  18. state 模块登陆页面 {
  19. 模块登陆页面: 先进行登陆相关的判断
  20. state 是否登陆 {
  21. }
  22. state 未登陆 {
  23. 未登陆: 调起登录组件,执行登陆流程
  24. }
  25. state 已登陆 {
  26. 已登陆: 正常跳转到webview页面
  27. }
  28. state 拒绝登陆 {
  29. 拒绝登陆: 跳回 webview组件
  30. }
  31. state 同意登陆 {
  32. 同意登陆: 跳回 webview组件
  33. }
  34. 是否登陆 --> 未登陆
  35. 是否登陆 --> 已登陆
  36. 未登陆 --> 同意登陆
  37. 未登陆 --> 拒绝登陆
  38. }
  39. state webview容器页面 {
  40. state 渲染H5页面之前 {
  41. state 未登陆场景 {
  42. 未登陆场景: 收集未登陆的信息
  43. }
  44. state 登陆场景 {
  45. 登陆场景: 收集登陆的信息
  46. }
  47. 渲染H5页面之前 --> 未登陆场景
  48. 渲染H5页面之前 --> 登陆场景
  49. state 信息校验 {
  50. 信息校验: 1、openid、unionid获取失败,跳回首页
  51. 信息校验: 2、登录状态失效,跳回登录页面
  52. }
  53. 未登陆场景 --> 信息校验
  54. 登陆场景 --> 信息校验
  55. 信息校验 --> 首页: 参数校验失败
  56. 信息校验 --> 模块登陆页面: 登陆状态失效
  57. }
  58. state H5页面 {
  59. H5页面: 开始渲染页面
  60. state 初始化 {
  61. 初始化: 处理上游渠道的传过的参数,完成界面的渲染
  62. }
  63. state 登陆失效 {
  64. }
  65. state 参数校验未通过 {
  66. 参数校验未通过: openid、unionid 校验失效,需要回到首页
  67. }
  68. 登陆失效 --> 模块登陆页面: 如果登陆失效,前往登陆页面
  69. 参数校验未通过 --> 首页: 参数校验失败
  70. }
  71. 渲染H5页面之前 --> H5页面
  72. }
  73. 首页 --> 模块登陆页面
  74. 模块登陆页面 --> webview容器页面
  75. }
  76. @enduml