Compare commits

3 Commits
4 changed files with 46 additions and 10 deletions
@@ -32,6 +32,7 @@
// KPostNotification(KNotificationLoginIMResult, @YES);
HQUserInfo *user = [HQCommonUtils keyedUnarchiverWithKey:LoginUserInfo];
[[TUICallKit createInstance] setSelfInfo:user.realname avatar:user.avatar succ:nil fail:nil];
DLog(@"IM登录成功");
} fail:^(int code, NSString *msg) {
@@ -30,8 +30,11 @@
- (void)createMapUI {
// 隐藏默认气泡图片,改用白色圆角
// 隐藏默认气泡图片,改用白色圆角背景
self.bubbleView.image = nil;
self.container.backgroundColor = KWhiteColor;
self.container.layer.cornerRadius = 8;
self.container.layer.masksToBounds = YES;
self.myTextLabel = [[UILabel alloc] init];
self.myTextLabel.font = SYSTEMFONT(15);
@@ -69,12 +72,14 @@
#pragma mark - TUIChat 实时聊天回调
- (void)fillWithData:(CustomMapMessageCellData *)data {
// 不显示名字标签,让白色卡片紧贴顶部(父类 layoutSubviews 用 frame 布局,需在 data 层面关闭)
data.showName = NO;
[super fillWithData:data];
// 清掉父类设回来的气泡图,让 container 白底露出来
self.bubbleView.image = nil;
self.myTextLabel.text = data.text.length > 0 ? data.text : @"我的位置";
[self.mapImage sd_setImageWithURL:[NSURL URLWithString:data.MapPictureImg] placeholderImage:nil];
self.nameLabel.hidden = YES;
}
#pragma mark - 历史记录回调
@@ -364,9 +364,8 @@
zoomPannelView.autoresizingMask = UIViewAutoresizingFlexibleTopMargin | UIViewAutoresizingFlexibleLeftMargin;
[self.grapView addSubview:zoomPannelView];
// 判断是否是联络员,决定是否展示急救员按钮
XJPNetAPI *api = [[XJPNetAPI alloc] init:self tag:@"isLiaisonUser" NeedToken:@""];
[api getIsLiaisonUser:nil];
// 首次布局底部按钮(接口返回前先按 2 个按钮布局)
[self layoutBottomButtons];
}
/// 底部按钮均分布局(宽度三等分,各区域内居中)
@@ -621,6 +620,10 @@
CGFloat longitude = [[user objectForKey:USERDEFAULLONG] floatValue];
CGFloat latitude = [[user objectForKey:USERDEFAULLATITUDE] floatValue];
[self getResourceDataWithType:@"1" Longitude:longitude withLatitude:latitude];
// 每次页面出现时重新判断联络员身份,决定是否展示急救员按钮
XJPNetAPI *api = [[XJPNetAPI alloc] init:self tag:@"isLiaisonUser" NeedToken:@""];
[api getIsLiaisonUser:nil];
}
- (void)viewDidAppear:(BOOL)animated
@@ -20,7 +20,9 @@
#import "CurrentLocationViewController.h"
#import "CustomMapMessageCell.h"
#import "TUIGroupMemberCellData.h"
#import <TUICallKit/TUICallKit.h>
#import "XJSelectContactViewController.h"
#import "XJParticipatedOrderModel.h"
#import "TUITextMessageCellData.h"
#import "QuestionViewController.h"
#import "SendReportModel.h"
@@ -76,6 +78,11 @@
@property (nonatomic, strong) NSMutableArray<NSDictionary *> *memberList;
@property (nonatomic, strong) UIImageView *refreshIcon;
@property (nonatomic, strong) NSMutableArray<XJParticipatedOrderModel *> *orderList;
@property (nonatomic, assign) NSInteger orderPage;
@property (nonatomic, strong) UITableView *orderPopupTable;
@property (nonatomic, assign) NSInteger selectedOrderIndex;
@end
@implementation ChatViewController
@@ -143,6 +150,12 @@
[TUIChatConfig defaultConfig].enableMapCall = self.eableMapTools;
[TUIChatConfig defaultConfig].isEvealCell = self.isEveal; // YES:开启,NO:关闭
// 急救员入口隐藏结束咨询和档案
[TUIChatConfig defaultConfig].enableEndConsultation = !self.isFromFirstAid;
if (self.isFromFirstAid) {
[TUIChatConfig defaultConfig].enableSendHealthDataCall = YES;
}
TUIConfig *config = [TUIConfig defaultConfig];
config.avatarType = TAvatarTypeRounded;
@@ -213,11 +226,13 @@
}
// self.view.backgroundColor = UIColorHex(#EEEEEE);
if ([self.tfNew integerValue] == 1) {
[ESCTUIManager sendGroupVideo:self.chatID withUserIdList:self.member];
if (self.isFromFirstAid) {
TUICallingViewManager *manager = [[TUICallKit createInstance] valueForKey:@"callingViewManager"];
manager.addUserDelegate = self;
}
if ([self.tfNew integerValue] == 1) {
[ESCTUIManager sendGroupVideo:self.chatID withUserIdList:self.member];
}
//主动发送一条消息
//如果点击跳过进入 不操作 非跳过 发送健康档案 2=非跳过
if (self.JumpType == 2 && self.questionType == 2) {
@@ -313,8 +328,7 @@
#pragma mark - TUICallingViewManagerDelegate
- (BOOL)callingViewManagerDidTapAddUser:(TUICallingViewManager *)manager {
[self moreAction];
return YES;
return NO;
}
#pragma mark: 右上角更多(群成员侧滑面板)
@@ -454,6 +468,7 @@
}
- (void)loadGroupMembers {
[self showMBProgressHUDWithString:@"加载中..." autoHidden:NO];
self.memberList = [NSMutableArray array];
NSMutableDictionary *params = [NSMutableDictionary dictionary];
[params setObject:self.chatID forKey:@"sessionId"];
@@ -588,6 +603,10 @@
- (void)callMemberAction:(UIButton *)sender {
UITableViewCell *cell = (UITableViewCell *)sender.superview.superview;
NSIndexPath *indexPath = [self.memberTableView indexPathForCell:cell];
[self callMemberAtIndexPath:indexPath];
}
- (void)callMemberAtIndexPath:(NSIndexPath *)indexPath {
if (!indexPath || indexPath.row >= self.memberList.count) return;
NSDictionary *member = self.memberList[indexPath.row];
NSString *phone = member[@"phone"];
@@ -600,6 +619,13 @@
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
[tableView deselectRowAtIndexPath:indexPath animated:YES];
if (tableView == self.memberTableView) {
[self callMemberAtIndexPath:indexPath];
}
if (tableView == self.orderPopupTable) {
self.selectedOrderIndex = indexPath.row;
[tableView reloadData];
}
}
#pragma mark:跳转到地图选择页
@@ -941,6 +967,7 @@
}
}
if ([tag isEqualToString:@"GROUPMEMBERLIST"]) {
[self hiddenAllMBProgressHUD];
[self.memberList removeAllObjects];
NSArray *list = [response isKindOfClass:[NSDictionary class]] ? response[@"result"] : response;
if ([list isKindOfClass:[NSArray class]]) {