TCUserInfoModel.h 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. //
  2. // TCUserInfoModel+TCUserInfoModel.h
  3. // TCLVBIMDemo
  4. //
  5. // Created by jemilyzhou on 16/8/2.
  6. // Copyright © 2016年 tencent. All rights reserved.
  7. //
  8. #define ERROR_SUCESS 200
  9. #define KReloadUserInfoNotification @"KReloadUserInfoNotification"
  10. #define USER_COSTOMINFO_PARAM @"Tag_Profile_IM_SelfSignature"
  11. /*
  12. * TCUserInfoData 类说明 : 该类用于存放用户资料信息,目前只包括: 昵称 封面 头像 性别
  13. *
  14. * 在用户登录成功后会发送通知拉取用户信息,拉取到的信息存放在此类成员变量中
  15. */
  16. #define USERINFO_MALE 0
  17. #define USERINFO_FEMALE 1
  18. @interface TCUserInfoData : NSObject
  19. @property (assign, nonatomic) int gender;//imTODO:
  20. @property (strong, nonatomic) NSString* nickName;
  21. @property (strong, nonatomic) NSString* identifier;
  22. @property (strong, nonatomic) NSString* faceURL;
  23. @property (strong, nonatomic) NSString* coverURL;
  24. @property (strong, nonatomic) NSString* bucket;
  25. @property (strong, nonatomic) NSString* secretId;
  26. @property (assign, nonatomic) NSString* appid;
  27. @property (strong, nonatomic) NSString* region;
  28. @property (strong, nonatomic) NSString* accountType;
  29. @end
  30. typedef void (^TCUserInfoSaveHandle)(int errCode,NSString *strMsg);
  31. /*
  32. * TCUserInfoModel 类说明 : 该类用于管理用户资料信息,目前只包括: 昵称 封面 头像 性别
  33. *
  34. * 该类为单例,外部只能通过类似[[TCUserInfoModel sharedInstance] getUserProfile];这样调用,不能创建对象
  35. *
  36. * 在用户登录成功后,setIdentifier函数就会被外部调用,传入用户ID, 然后拉取用户信息
  37. *
  38. * 如果要获取用户资料信息,只需要调用getUserProfile即可
  39. *
  40. * 要更改用户信息(昵称 封面 头像 性别)并上传服务器,可调用本头文件对外暴露的对应接口
  41. *
  42. * TCUserInfoSaveHandle代表更改用户资料信息回调接口定义,errCode为0(ERROR_SUCESS)时代表成功,否则失败
  43. */
  44. @interface TCUserInfoModel : NSObject
  45. + (instancetype)sharedInstance;
  46. - (void)fetchUserInfo;
  47. - (void)setBucket:(NSString *)bucket secretId:(NSString*)secretId appid:(long long)appid region:(NSString *)region accountType:(NSString *)accountType;
  48. - (TCUserInfoData*)getUserProfile; // 从内存中读取
  49. - (TCUserInfoData*)loadUserProfile; // 从文件中读取
  50. - (void)saveUserNickName:(NSString*)nickName handler:(TCUserInfoSaveHandle)handle;
  51. - (void)saveUserFace:(NSString*)faceURL handler:(TCUserInfoSaveHandle)handle;
  52. - (void)saveUserGender:(int)gender handler:(TCUserInfoSaveHandle)handle;//imTODO:
  53. @end