JMSGUser Class Reference

Inherits from NSObject
Conforms to NSCopying
Declared in JMSGUser.h

Overview

用户

Class Methods 类方法

+ registerWithUsername:password:completionHandler:

新用户注册

+ (void)registerWithUsername:(NSString *)username password:(NSString *)password completionHandler:(JMSGCompletionHandler JMSG_NULLABLE)handler

Parameters

username

用户名. 长度 4~128 位. 支持的字符: 字母,数字,下划线,英文减号,英文点,@邮件符号. 首字母只允许是字母或者数字.

password

用户密码. 长度 4~128 位.

handler

结果回调. 返回正常时 resultObject 为 nil.

Declared In

JMSGUser.h

+ registerWithUsername:password:userInfo:completionHandler:

新用户注册(支持携带用户信息字段)

+ (void)registerWithUsername:(NSString *)username password:(NSString *)password userInfo:(JMSGUserInfo *JMSG_NULLABLE)userInfo completionHandler:(JMSGCompletionHandler JMSG_NULLABLE)handler

Parameters

username

用户名. 长度 4~128 位. 支持的字符: 字母,数字,下划线,英文减号,英文点,@邮件符号. 首字母只允许是字母或者数字.

password

用户密码. 长度 4~128 位.

userInfo

用户信息类,注册时携带用户信息字段,除用户头像字段

handler

结果回调. 返回正常时 resultObject 为 nil.

Discussion

注意: 注册时不支持上传头像,其他信息全部支持

Declared In

JMSGUser.h

+ loginWithUsername:password:completionHandler:

用户登录

+ (void)loginWithUsername:(NSString *)username password:(NSString *)password completionHandler:(JMSGCompletionHandler JMSG_NULLABLE)handler

Parameters

username

登录用户名. 规则与注册接口相同.

password

登录密码. 规则与注册接口相同.

handler

结果回调

  • resultObject 简单封装的user对象
  • error 错误信息

注意:上层不要直接使用 resultObject 对象做操作, 因为 resultOjbect 只是一个简单封装的user对象.

Declared In

JMSGUser.h

+ loginWithUsername:password:devicesInfo:completionHandler:

用户登录,返回登录设备信息

+ (void)loginWithUsername:(NSString *)username password:(NSString *)password devicesInfo:(nullable void ( ^ ) ( NSArray<__kindofJMSGDeviceInfo*> *devices ))devicesInfo completionHandler:(JMSGCompletionHandler JMSG_NULLABLE)handler

Parameters

username

登录用户名. 规则与注册接口相同.

password

登录密码. 规则与注册接口相同.

devicesInfo

登录设备回调,返回数据为 NSArrayJMSGDeviceInfo

handler

结果回调

  • resultObject 简单封装的user对象,上层不要直接使用 resultObject 对象做操作, 因为它只是一个简单封装的user对象
  • error 错误信息

Discussion

回调中 devices 返回的是设备信息,具体属性请查看 JMSGDeviceInfo

Declared In

JMSGUser.h

+ logout:

当前用户退出登录

+ (void)logout:(JMSGCompletionHandler JMSG_NULLABLE)handler

Parameters

handler

结果回调。正常返回时 resultObject 也是 nil。

Declared In

JMSGUser.h

+ userInfoArrayWithUsernameArray:completionHandler:

批量获取用户信息

+ (void)userInfoArrayWithUsernameArray:(NSArray JMSG_GENERIC ( __kindof NSString *) *)usernameArray completionHandler:(JMSGCompletionHandler)handler

Parameters

usernameArray

用户名列表。NSArray 里的数据类型为 NSString

handler

结果回调。正常返回时 resultObject 的类型为 NSArray,数组里的数据类型为 JMSGUser

Discussion

这是一个批量接口。

Declared In

JMSGUser.h

+ userInfoArrayWithUsernameArray:appKey:completionHandler:

批量获取跨应用的用户信息

+ (void)userInfoArrayWithUsernameArray:(NSArray JMSG_GENERIC ( __kindof NSString *) *)usernameArray appKey:(NSString *JMSG_NULLABLE)userAppKey completionHandler:(JMSGCompletionHandler)handler

Declared In

JMSGUser.h

+ userWithUid:

获取用户信息

+ (JMSGUser *JMSG_NULLABLE)userWithUid:(SInt64)uid

Parameters

uid

用户的 uid

Return Value

uid 用户信息

Discussion

注意:返回值有可能为空,仅仅是本地查询

Declared In

JMSGUser.h

+ myInfo

获取用户本身个人信息接口

+ (JMSGUser *)myInfo

Return Value

当前登陆账号个人信息

Discussion

注意:返回值有可能为空

Declared In

JMSGUser.h

+ updateMyInfoWithParameter:userFieldType:completionHandler:

更新用户信息接口

+ (void)updateMyInfoWithParameter:(id)parameter userFieldType:(JMSGUserField)type completionHandler:(JMSGCompletionHandler JMSG_NULLABLE)handler

Parameters

parameter

新的属性值 Birthday&&Gender 是NSNumber类型, Avatar NSData类型, extras是 NSDictionary 类型, 其他 NSString

type

更新属性类型

handler

更新用户信息回调接口函数

Discussion

注意:建议使用 [+(void)updateMyInfoWithUserInfo:completionHandler:] 接口修改信息

Declared In

JMSGUser.h

+ updateMyInfoWithUserInfo:completionHandler:

更新用户信息(支持将字段统一上传)

+ (void)updateMyInfoWithUserInfo:(JMSGUserInfo *)userInfo completionHandler:(JMSGCompletionHandler)handler

Parameters

userInfo

用户信息对象,类型是 JMSGUserInfo

handler

更新用户信息回调接口函数

Discussion

参数 userInfo 是 JMSGUserInfo 类,JMSGUserInfo 仅可用于修改用户信息

Declared In

JMSGUser.h

+ updateMyAvatarWithData:avatarFormat:completionHandler:

更新头像(支持传图片格式)

+ (void)updateMyAvatarWithData:(NSData *)avatarData avatarFormat:(NSString *)avatarFormat completionHandler:(JMSGCompletionHandler)handler

Parameters

avatarData

头像数据

avatarFormat

头像格式,可以为空,不包括"."

handler

回调

Discussion

头像格式参数直接填格式名称,不要带点。正确:@“png",错误:@”.png"

Declared In

JMSGUser.h

+ updateMyPasswordWithNewPassword:oldPassword:completionHandler:

更新密码接口

+ (void)updateMyPasswordWithNewPassword:(NSString *)newPassword oldPassword:(NSString *)oldPassword completionHandler:(JMSGCompletionHandler JMSG_NULLABLE)handler

Parameters

newPassword

用户新的密码

oldPassword

用户旧的密码

handler

更新密码回调接口函数

Declared In

JMSGUser.h

+ addUsersToBlacklist:completionHandler:

添加黑名单

+ (void)addUsersToBlacklist:(NSArray JMSG_GENERIC ( __kindof NSString *) *)usernameArray completionHandler:(JMSGCompletionHandler)handler

Parameters

usernameArray

作用对象的username数组

handler

结果回调。回调参数: error 为 nil, 表示设置成功

Discussion

可以一次添加多个用户

Declared In

JMSGUser.h

+ delUsersFromBlacklist:completionHandler:

删除黑名单

+ (void)delUsersFromBlacklist:(NSArray JMSG_GENERIC ( __kindof NSString *) *)usernameArray completionHandler:(JMSGCompletionHandler)handler

Parameters

usernameArray

作用对象的username数组

handler

结果回调。回调参数:error 为 nil, 表示设置成功

Discussion

可以一次删除多个黑名单用户

Declared In

JMSGUser.h

+ addUsersToBlacklist:appKey:completionHandler:

跨应用添加黑名单

+ (void)addUsersToBlacklist:(NSArray JMSG_GENERIC ( __kindof NSString *) *)usernameArray appKey:(NSString *)userAppKey completionHandler:(JMSGCompletionHandler)handler

Parameters

usernameArray

作用对象的username数组

userAppKey

应用的appKey

handler

结果回调。回调参数:error 为 nil, 表示设置成功

Discussion

可以一次添加多个用户

Declared In

JMSGUser.h

+ delUsersFromBlacklist:appKey:completionHandler:

跨应用删除黑名单

+ (void)delUsersFromBlacklist:(NSArray JMSG_GENERIC ( __kindof NSString *) *)usernameArray appKey:(NSString *)userAppKey completionHandler:(JMSGCompletionHandler)handler

Parameters

usernameArray

作用对象的username数组

userAppKey

应用的appKey

handler

结果回调。回调参数:error 为 nil, 表示设置成功

Discussion

可以一次删除多个黑名单用户

Declared In

JMSGUser.h

Basic Fields 基本属性

  uid

用户uid

@property (nonatomic, assign, readonly) SInt64 uid

Declared In

JMSGUser.h

  username

用户名

@property (nonatomic, copy, readonly) NSString *username

Discussion

这是用户帐号,注册后不可变更。App 级别唯一。这是所有用户相关 API 的用户标识。

Declared In

JMSGUser.h

  nickname

用户昵称

@property (nonatomic, copy, readonly) NSString *nickname

Discussion

用户自定义的昵称,可任意定义。

Declared In

JMSGUser.h

  avatar

用户头像(媒体文件ID)

@property (nonatomic, copy, readonly) NSString *avatar

Discussion

此文件ID仅用于内部更新,不支持外部URL。

Declared In

JMSGUser.h

  gender

性别

@property (nonatomic, assign, readonly) JMSGUserGender gender

Discussion

这是一个 enum 类型,支持 3 个选项:未知,男,女

Declared In

JMSGUser.h

  birthday

生日

@property (nonatomic, copy, readonly) NSString *birthday

Declared In

JMSGUser.h

  noteName

备注名

@property (nonatomic, copy, readonly) NSString *noteName

Declared In

JMSGUser.h

  noteText

备注信息

@property (nonatomic, copy, readonly) NSString *noteText

Declared In

JMSGUser.h

  appKey

此用户所在的 appKey

@property (nonatomic, copy, readonly) NSString *appKey

Discussion

为主应用时, 此字段为空

Declared In

JMSGUser.h

  extras

用户扩展字段

@property (nonatomic, strong, readonly) NSDictionary *extras

Declared In

JMSGUser.h

  isNoDisturb

该用户是否已被设置为免打扰

@property (nonatomic, assign, readonly) BOOL isNoDisturb

Discussion

YES:是 , NO: 否

Declared In

JMSGUser.h

  isInBlacklist

该用户是否已被加入黑名单

@property (nonatomic, assign, readonly) BOOL isInBlacklist

Discussion

YES:是 , NO: 否

Declared In

JMSGUser.h

  isFriend

是否是好友关系

@property (nonatomic, assign, readonly) BOOL isFriend

Discussion

如果已经添加了好友,isFriend = YES ,否则为NO;

Declared In

JMSGUser.h

– setIsNoDisturb:handler:

设置用户免打扰(支持跨应用设置)

- (void)setIsNoDisturb:(BOOL)isNoDisturb handler:(JMSGCompletionHandler)handler

Parameters

isNoDisturb

是否全局免打扰 YES:是 NO: 否

handler

结果回调。回调参数: error 为 nil, 表示设置成功

Discussion

针对单个用户设置免打扰,这个接口支持跨应用设置免打扰

Declared In

JMSGUser.h

– updateNoteName:completionHandler:

修改好友备注名

- (void)updateNoteName:(NSString *)noteName completionHandler:(JMSGCompletionHandler)handler

Parameters

noteName

备注名

Discussion

注意:这是建立在是好友关系的前提下,修改好友的备注名

Declared In

JMSGUser.h

– updateNoteText:completionHandler:

修改好友备注信息

- (void)updateNoteText:(NSString *)noteText completionHandler:(JMSGCompletionHandler)handler

Parameters

noteText

备注信息

Discussion

注意:这是建立在是好友关系的前提下,修改好友的备注信息

Declared In

JMSGUser.h

– thumbAvatarData:

获取头像缩略图文件数据

- (void)thumbAvatarData:(JMSGAsyncDataHandler)handler

Parameters

handler

结果回调。回调参数:

  • data 头像数据;
  • objectId 用户username;
  • error 不为nil表示出错;

如果 error 为 ni, data 也为 nil, 表示没有头像数据.

Discussion

需要展示缩略图时使用。 如果本地已经有文件,则会返回本地,否则会从服务器上下载。

Declared In

JMSGUser.h

– thumbAvatarLocalPath

获取头像缩略文件的本地路径

- (NSString *JMSG_NULLABLE)thumbAvatarLocalPath

Return Value

返回本地路,返回值只有在下载完成之后才有意义

Declared In

JMSGUser.h

– largeAvatarData:

获取头像大图文件数据

- (void)largeAvatarData:(JMSGAsyncDataHandler)handler

Parameters

handler

结果回调。回调参数:

  • data 头像数据;
  • objectId 用户username;
  • error 不为nil表示出错;

如果 error 为 ni, data 也为 nil, 表示没有头像数据.

Discussion

需要展示大图图时使用 如果本地已经有文件,则会返回本地,否则会从服务器上下载。

Declared In

JMSGUser.h

– largeAvatarLocalPath

获取头像大图文件的本地路径

- (NSString *JMSG_NULLABLE)largeAvatarLocalPath

Return Value

返回本地路,返回值只有在下载完成之后才有意义

Declared In

JMSGUser.h

– displayName

用户展示名

- (NSString *)displayName

Discussion

展示优先级:备注名(noteName) -> 昵称(nickname) -> 用户名(username)

Declared In

JMSGUser.h