跳到主要内容

用户

用户设计

  • 用户所有的信息都以不能更改的 qq 号为基准
  • 如果更换 qq 需要联系管理员更改 user_information 表,并手动删除 user_platform 里绑定的其他平台
  • 用户可以设置多种身份,如某某表里的身份,用户组里的身份
  • 目前使用的身份为:
    • 用户组里分组配置用户,一组有多个用户,每个用户可以在不同组中,每个用户可以拥有多个身份权限
    • 在用户组里的用户,拥有"内阁"身份及管理员权限,可操作所有管理员页面
    • 在 user_information 表里的用户有社员权限
    • 在 user_test 里的用户有测试员权限
  • 其他权限可自由添加/设置,如根据用户组来设置页面权限/功能权限
  • 可在 cab/user 配置用户组和群组
  • 可更改 user_identify 修改用户身份

用户身份确认

  • 需要传入平台参数
  • 先转换为 qq,若无,则是未绑定的其他平台,返回空
  • 查找并添加用户组身份
  • 如存在于用户组中,则添加内阁身份
  • 如在测试员表里,添加测试员身份
  • 如在社员表里,添加社员身份

社员查询

  • 根据 qq 查是否在表里
  • 初始化时给 qq 建了索引,但表很小基本上优化不了

用户 qq

  • 根据平台、用户转换为 qq 号
  • 无绑定的其他平台返回空

用户昵称

  • 转换为 qq
  • 若为未绑定的其他平台,返回空(其实 B 站可以获取)
  • 查 user_nickname 表,返回昵称和有效期
  • 有效期(3 天)内返回昵称
  • 有效期外
    • 若为发送
      • 返回空
      • 发送时的日志,不能调用 nickname_get 否则会套娃
    • 若不为发送
      • 由于 future.wait 自动会抛出错误,这里错误时直接返回空,所以需要捕获错误
      • 发送"私聊昵称"类消息,返回昵称
      • 存入表

用户代号

  • 根据代号,查 user_information 表获取 qq

用户 qq

  • 根据 qq,查 user_information 获取代号

用户入会

  • 用户数据存入 user_information
  • 不进行检查,检查在 user_register