更新时间:2019-11-20
用户可以查询所有部门里面联系人的详细信息。
已完成组件的初始化和登录。
传入的参数TSDK_S_SEARCH_CONTACTS_PARAM即为搜索联系人请求参数,包括:
搜索关键字、当前需要查找的页面索引(从1开始)、是否精确查找,以及当前查询序号。建议应用程序设置的查询序号从0开始递增,最大值0xFFFFFFFD(0xFFFFFFFE为SDK内部保留值)。
部门ID,若填写则在指定部门下查询。
- (void)searchContactWithParam:(SearchParam *)searchParam { TSDK_S_SEARCH_CONTACTS_PARAM *tsdkSearchParam = (TSDK_S_SEARCH_CONTACTS_PARAM *)malloc(sizeof(TSDK_S_SEARCH_CONTACTS_PARAM)); memset(tsdkSearchParam, 0, sizeof(TSDK_S_SEARCH_CONTACTS_PARAM)); if (searchParam.acSearchItem.length > 0 && searchParam.acSearchItem != nil) { strcpy(tsdkSearchParam->search_keyword, [searchParam.acSearchItem UTF8String]); } tsdkSearchParam->page_index = searchParam.ulPageIndex; tsdkSearchParam->is_exact_search = searchParam.ulExactSearch; if (searchParam.acDepId.length > 0 && searchParam.acDepId != nil && ![searchParam.acDepId isEqualToString:@"-1"]) { strcpy(tsdkSearchParam->department_id, [searchParam.acDepId UTF8String]); } tsdkSearchParam->seq_no = searchParam.ulSeqNo; TSDK_RESULT result = tsdk_search_contacts(tsdkSearchParam); DDLogInfo(@"tsdk_search_contacts result: %d",result); free(tsdkSearchParam); }
查询到的联系人信息包括:UC帐号、姓名、工号、IP号码、部门名字、职务、邮箱、手机号码、座机号码、家庭电话、性别、邮编、地址、签名和硬终端等内容。
case TSDK_E_EADDR_EVT_SEARCH_CONTACTS_RESULT: { DDLogInfo(@"TSDK_E_EADDR_EVT_SEARCH_CONTACTS_RESULT"); BOOL result = notification.param1 == TSDK_SUCCESS; if (!result) { DDLogError(@"TSDK_E_EADDR_EVT_SEARCH_CONTACTS_RESULT,error:%@",[NSString stringWithUTF8String:(TSDK_CHAR *)notification.data]); return; } TSDK_S_SEARCH_CONTACTS_RESULT *searchContactorResult = (TSDK_S_SEARCH_CONTACTS_RESULT *)notification.data; if (searchContactorResult == NULL) { DDLogWarn(@"handleSearchContact result is empty."); return; } int pageIndex = searchContactorResult->page; int totalNum = searchContactorResult->total_num; TSDK_S_CONTACTS_INFO *pstContactorInfo = searchContactorResult->contact_info; //查询配置自己软终端号 if (notification.param2 == 100) { if (pstContactorInfo != NULL) { ContactInfo *contactInfo = [ContactInfo contactInfoTransformFrom:pstContactorInfo[0]]; [[ManagerService callService] configBussinessAccount:contactInfo.terminal token:nil]; [eSpaceDBService sharedInstance].localDataManager = [[ESpaceLocalDataManager alloc] initWithUserAccount:contactInfo.staffAccount]; } return; } NSMutableArray *contactArray = [[NSMutableArray alloc] init]; // 搜索到的联系人结果放入联系人数组,传递给界面使用 for (int i = 0; i< totalNum; i++) { int lastTotal = totalNum - PAGE_ITEM_SIZE*(pageIndex-1); int endIndex = (lastTotal < PAGE_ITEM_SIZE) ? lastTotal : PAGE_ITEM_SIZE ; if (i == endIndex) { NSDictionary *resultInfo = @{ TUP_CONTACT_EVENT_RESULT_KEY : [NSNumber numberWithBool:result],TUP_CONTACT_KEY:contactArray }; [self respondsContactDelegateWithType:CONTACT_E_SEARCH_CONTACT_RESULT result:resultInfo]; return; } ContactInfo *contactInfo = [ContactInfo contactInfoTransformFrom:pstContactorInfo[i]]; DDLogInfo(@"contactInfo.personName: %@",contactInfo.personName); [contactArray addObject:contactInfo]; } NSDictionary *resultInfo = @{ TUP_CONTACT_EVENT_RESULT_KEY : [NSNumber numberWithBool:result],TUP_CONTACT_KEY:contactArray }; [self respondsContactDelegateWithType:CONTACT_E_SEARCH_CONTACT_RESULT result:resultInfo]; } break;
无。