# 状态管理

本文将介绍坐席状态管理的相关功能。

# 签入

登录之后可以签入,签入可以携带角色信息与签入后是否忙。

/// 签入
/// @param userId userId
/// @param role 座席角色
- (bool)checkin:(NSString *)userId role:(JCAgentRoleType)role;
/// 签入
/// @param role 座席角色
- (bool)checkin:(JCAgentRoleType)role;
/// 签入
/// @param userId userId
/// @param role 座席角色
/// @param busy 是否主动示忙
- (bool)checkin:(NSString *)userId role:(JCAgentRoleType)role busy:(bool)busy;

结果通过JCAgentCallback的 onCheckin(boolean result) (opens new window) 接口上报

/**
 * checkin结果
 * @param result checkin是否成功
 */
- (void)onCheckinResult:(bool)result

# 签出

签入成功之后可以调用签出,断开终端与排队机的联系。

/**
 * 签出
 * @return 成功返回 true,失败返回 false
 */
- (bool)checkout;

结果通过 JCAgentCallback 中的 onCheckout (opens new window) 接口上报

/**
 * checkout结果
 * @param result checkout是否成功
 * @param reason 原因
 */
-(void)onCheckoutResult:(bool)result resaon:(JCAgentCheckoutReason)reason;

# 示忙示闲

  • 示忙:坐席暂停服务,访客无法呼到该坐席
  • 示闲:坐席保持服务,访客可以呼到该坐席
/**
 * 上报暂停
 * @param pause 是否暂停
 * @return 操作id
 */
- (int)applyStatePause:(bool)pause;

示忙示闲结果通过实现 JCAgentCallback 中的 onApply (opens new window) 接口上报

/**
 * apply的结果
 * @param operationId apply的操作id
 * @param result apply结果
 */
- (void)onApply:(int)operationId result:(bool)result {
if (result) {
    // 示忙示闲的操作成功
}
    // 可以通过_agent对象获取当前的忙闲状态
    _agent.pause;
}