大账户登录

功能:通过手机号或者微信授权登录,并维护登录状态;获取和维护企业列表;


  • 数据结构:GrandLoginKeys
  • 类:GrandProfile、GrandSession、GrandSessionCore
  • 流程:1. 登录流程

class GrandProfile

大账户(Gid),WWK下用来标识一个用户的用户身份,单个用户下面可能有多个企业身份(Vid),GrandProfile主要负责大账户的登录和登录状态维护、企业身份列表和企业身份管理


数据结构

message GrandLoginKeys
{
  optional uint32 version = 1;
  optional uint64 gid = 2;
  optional bytes tgt = 3;
  optional bytes sk1 = 4;
  optional bytes st = 6;
  optional bytes hkey = 7;
  optional LoginType login_type = 8;
  optional bool is_bind_wx = 9;
  optional bytes vid_token = 10;
  optional bool wx_expired = 11;
  optional bool can_create_corp = 12;
  optional uint64 login_time = 13;
  optional bytes deviceid = 99;
}

账户登录

  • 微信授权登录: 用微信授权返回的Code发起登录请求
  • 手机号登录:用手机号和手机验证码发起登录请求
GrandSession session_;//登录流程在GrandSession中实现
GrandLoginKeys keys_; //登录态
TypedKeyValueStorage storage_; //存储登录态、企业列表和关联的微信账号信息


#pragma mark — 登录
- LoginByCheckCaptcha: // 手机号验证码登录
- LoginByWxCode: //微信Code登录
- Logout: //退出登录

#pragma mark - GrandSessionDelegate
- OnGetLoginKeyComplete:
- OnLoginComplete:
- OnSetWxinfo:
- OnGetCorpList:
- OnKickOut:
- OnBindWxComplete:
- OnGotCanCreateCorpFlag:

账户设置

- BindWx  //绑定微信

企业列表

- RefreshCorpList
- CreateCorp
- DeleteCorp
- CancelCorp
- SearchCorpList



遗留问题:

  1. tgt、st1、st、hkey的具体含义和用法

你可能感兴趣的:(大账户登录)