workman服务端开发模式-应用开发-总架构逻辑说明

一、后台管理端(操作页面端)

管理员用浏览器打开页面管理端后,页面管理端会自动检测,如果本地cookie不存在的情况下,跳转到登录页面,如果本地cookie存在的情况下,跳转到首页。登录的情况下,就不说,后面在业务架构里面会说明的。

在登录页面输入邮箱账号、密码、验证码,点击提交。提交之前会在前端进行类型及相应的格式验证,如果验证结果都是OK的情况下,将参数提交到api接口中,等待返回结果。如果api接口返回了错误结果之后,提交方法会把错误展示给管理员,进行修改。如果api接口返回了成功结果之后,首先将返回的成功结果解密出来后,再次加密保存到本地cookie中,进行下一步。获取登录管理员信息接口,将获取到的数据保存到cookie中并返回操作菜单,进行下一步。获取登录管理员菜单接口,将获取到的数据加载到路由文件中,并保存在本地cookie中,进行下一步。合并菜单,把动态菜单与固定菜单合并在一起。

二、长链接通知端

长链接是放到全局下面的,如果检测到本地cookie存在的情况下,长链接服务将自动获取token参数值进行握手、绑定,与后端建立链接服务,后面就是接收消息及时更新页面逻辑。按照正常的逻辑来说,本系统里面需要用到接收通知的地方有登录者基本信息的改变,角色信息的改变、菜单信息改变(启用、禁用、删除)、服务配置改变、其他的添加、编辑、启禁用、删除数据都需要通知。因为当下只是封装而已,所以我只做了token到期自动退出、其他地方登录后退出功能。具体等做后面的商城时才做具体改变。

三、后台api端(PHP服务端)

PHP服务端用的是thinkphp6框架,用的是路由进行内部管理的。而内部总控主要是两个。第一个是没有登录的总控,用的是非法路由拦截与登录业务、公有业务及测试控制。第二个是登录了的总控,用的是正常路由转发需要登录者才能操作的控制,有管理员控制、角色控制、菜单控制、登录者信息控制、视频类型参数控制、图片类型参数控制、文档参数控制、短信类型参数控制、系统配置控制、上传配置控制、邮件通道配置控制、短信通道配置控制、部门类型参数控制、等级类型参数控制等。而登录了的总控里面还区分token鉴权及验证、权限验证、操作日志记录。

四、主架构逻辑图

五、小小的建议

在真正的项目实战中,一定要记住,采用websocket的目的是为了及时通知页面做对应的局部更新。是为了降低操作页面端刷新页面而带来的服务请求压力。比如全局刷新页面需要同时请求5个后端api接口,也就是五个请求,而局部刷新页面则是重新请求指定的业务接口。第二个就是页面不刷新的情况下,也能及时更新数据。

相关推荐
北京盛世宏博11 小时前
物联网传感器通信协议:帧字段规划、CRC 校验、异常包过滤方案
网络·物联网·php
三84411 小时前
PHP Session 反序列化:防御加固、审计套路与总结
web安全·php·安全加固·session反序列化
中科三方12 小时前
DNS拨测到底在拨测什么?
开发语言·github·php·dns·云拨测
企业通信技术笔记13 小时前
企业IM内外网隔离部署:DNS、证书、WebSocket与跨网接口设计
websocket·网络协议·架构·php·信息与通信
海南java第二人13 小时前
Spring Cloud Gateway 过滤器从入门到精通:配置、执行顺序与实战
网关·gateway
szarron14 小时前
RF Demo Kit|NanoVNA 射频演示测试板完整上手教程,滤波器、衰减器、SOLT 校准学习板
开发语言·人工智能·学习·php·射频工程·频谱仪
IT大白鼠14 小时前
MySQL 分布式集群系列 · 第八篇(收官)——NDB 集群面试高频题 +架构总结与未来演进
分布式·mysql·面试
IT大白鼠14 小时前
MySQL 分布式集群系列 · 第七篇——生产调优实战:NDB 性能、内存、高可用全方位优化
数据库·分布式·mysql
sbjdhjd17 小时前
从 assert 动态调用报错到临时文件链路:PHP 5.6 与 7.3 授权靶场中的短 payload 复盘 | (17字符绕过)
安全·网络安全·数据挖掘·开源·云计算·php·字符绕过