Skip to content

lpyyxy/bian

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

简介

玉版

一个通用web服务端

模块

用户模块

  • 前置知识:SessionID为用户设备连接服务端时生成的id。UID为用户注册时生成的id。
  • 用户注册:〔客户端通讯〕〔数据库交互〕如果有用户发送注册指令,先读取数据库查看是否该名称注册,然后生成UID,一并把数据写入数据库。最后通知用户是否操作成功。
  • 用户登录:〔客户端通讯〕〔数据库交互〕〔模块间通讯〕如果有用户发送登录指令,读取数据库查看是否有该用户,如果有验证用户密码是否正确以后,使SessionID与UID建立关系(UID与SessionID是一对多的关系),让其他模块可以获取(put_module_data)。最后通知用户是否操作成功。
  • 用户注销:〔客户端通讯〕如果有用户发送注销指令,判断是否登录,如果登录,解除SessionID与UID关系。最后通知用户是否操作成功。
  • 用户删除:〔客户端通讯〕〔数据库交互〕〔模块间通讯〕如果有用户发送删除指令,判断是否登录,如果登录,解除该UID与所有SessionID之间的关系,然后移除UID,把数据库中的用户删除,同时为其他模块提供用户删除的方法(accept_module_message)。最后通知用户是否操作成功。
  • 持续用户通知〔客户端通讯〕〔模块间通讯〕给其他模块提供一个方便的接口,使其可以在只有UID的情况下,在一段时间内发送给用户所有已连接设备。需要用户主动发送获取信息命令来获取。
  • 用户通知〔客户端通讯〕〔模块间通讯〕给其他模块提供一个方便的接口,使其可以在只有UID的情况下,在一段时间内发送给用户设备。如果用户设备在线,直接发送,如果用户设备不在线,在一段时间内登录,则会发送。

权限模块

  • 前置知识:用户组是用户的一个属性,它决定了用户是否有某种操作的权限。因为用户组比较固定,且比较少,所以推荐用配置文件储存。
  • 读取用户组:〔获取配置〕初始化用户组,获取每一个组的权限。
  • 事件监测:〔事件〕〔数据库交互〕使用阻塞事件对操作进行拦截,然后读取用户权限数据库,获取用户的用户组和权限,先判断是否有权限,如果没有,判断用户所在用户组权限,如果依旧没有权限,终止用户操作。
  • 修改权限:〔客户端通讯〕〔数据库交互〕容许有相应权限的人修改用户组和用户的权限。以及修改用户的用户组。最后通知用户是否操作成功。

组织模块

  • 添加组织:〔客户端通讯〕〔数据库交互〕如果有用户发送添加组织指令,可以在组织储存表中记录。
  • 添加用户:〔客户端通讯〕〔数据库交互〕如果有用户发送添加用户指令,在用户组织储存表中记录。
  • 组织事件:〔模块间通讯〕给其他模块提供一个方便的接口,使其可以在只有组织名的情况下,在一段时间内发送给用户所有已连接设备。需要用户主动发送获取信息命令来获取。
  • 推送信息:〔模块间通讯〕给其他模块提供一个方便的接口,使其可以在只有组织名的情况下,在一段时间内发送给用户设备。如果用户设备在线,直接发送,如果用户设备不在线,在一段时间内登录,则会发送。

组织模块

客户端

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •