|
|
|
//
|
|
|
|
// HomeHeaderView.m
|
|
|
|
// LekangGuard
|
|
|
|
//
|
|
|
|
// Created by ecell on 2022/10/14.
|
|
|
|
//
|
|
|
|
|
|
|
|
#import "HomeHeaderView.h"
|
|
|
|
#import <WebKit/WebKit.h>
|
|
|
|
#import "SLMarqueeControl.h"
|
|
|
|
#import "KJBannerView.h"
|
|
|
|
#import "MoreServiceViewController.h"
|
|
|
|
#import "ContactsViewController.h"
|
|
|
|
#import "EditDeviceViewController.h"
|
|
|
|
#import "ChatViewController.h"
|
|
|
|
#import "VideoChatViewController.h"
|
|
|
|
#import "ReadFlowerViewController.h"
|
|
|
|
|
|
|
|
|
|
|
|
@interface HomeHeaderView ()
|
|
|
|
|
|
|
|
@property (nonatomic ,weak) KJBannerView *bannerView;
|
|
|
|
|
|
|
|
/// 手表信息View
|
|
|
|
@property (nonatomic ,weak) UIView *msgView;
|
|
|
|
|
|
|
|
/// 按钮菜单View
|
|
|
|
@property (nonatomic ,weak) UIView *btnView;
|
|
|
|
|
|
|
|
/// 设备头像
|
|
|
|
@property (nonatomic ,weak) UIImageView *iconImg;
|
|
|
|
|
|
|
|
/// 设备名称
|
|
|
|
@property (nonatomic ,weak) UILabel *nameLabel;
|
|
|
|
|
|
|
|
@property (nonatomic ,weak) UILabel *idLabel;
|
|
|
|
|
|
|
|
@property (nonatomic, weak) SLMarqueeControl *marqueeControl;
|
|
|
|
|
|
|
|
/// 位置图片
|
|
|
|
@property (nonatomic, weak) UIImageView *positionImg;
|
|
|
|
|
|
|
|
|
|
|
|
@property (nonatomic ,strong) NSMutableArray *btnArr;
|
|
|
|
|
|
|
|
@end
|
|
|
|
|
|
|
|
@implementation HomeHeaderView
|
|
|
|
|
|
|
|
- (instancetype)initWithFrame:(CGRect)frame
|
|
|
|
{
|
|
|
|
self = [super initWithFrame:frame];
|
|
|
|
if (self)
|
|
|
|
{
|
|
|
|
self.backgroundColor = KKClearColor;
|
|
|
|
[self subHeaderView];
|
|
|
|
}
|
|
|
|
return self;
|
|
|
|
}
|
|
|
|
|
|
|
|
- (void)setHomeWokeCount:(NSNumber *)homeWokeCount
|
|
|
|
{
|
|
|
|
_homeWokeCount = homeWokeCount;
|
|
|
|
ZZBadgeButton *button = self.btnArr[0];
|
|
|
|
button.badge = homeWokeCount.integerValue;
|
|
|
|
}
|
|
|
|
|
|
|
|
- (void)setRedTotalCount:(NSNumber *)redTotalCount
|
|
|
|
{
|
|
|
|
_redTotalCount = redTotalCount;
|
|
|
|
ZZBadgeButton *button = self.btnArr[3];
|
|
|
|
button.badge = redTotalCount.integerValue;
|
|
|
|
}
|
|
|
|
|
|
|
|
- (void)setDevicemodel:(DeviceModel *)devicemodel
|
|
|
|
{
|
|
|
|
_devicemodel = devicemodel;
|
|
|
|
self.nameLabel.text = devicemodel.name;
|
|
|
|
if (devicemodel.image.length <= 0)
|
|
|
|
[self.iconImg setImage:ImageName_(devicemodel.sex == 2 ? @"icon_head_girl" : @"icon_head_boy")];
|
|
|
|
else
|
|
|
|
[self.iconImg sd_setImageWithURL:[NSURL URLWithString:devicemodel.image] placeholderImage:ImageName_(@"icon_head_boy")];
|
|
|
|
|
|
|
|
self.idLabel.text = [NSString stringWithFormat:@"账号:%@",devicemodel.imei];
|
|
|
|
// [self subBtnView];
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
- (void)setBannerArr:(NSArray *)bannerArr
|
|
|
|
{
|
|
|
|
_bannerArr = bannerArr;
|
|
|
|
self.bannerView.imageDatas = bannerArr;
|
|
|
|
}
|
|
|
|
|
|
|
|
- (void)setLaLoModel:(LatestLocationModel *)laLoModel
|
|
|
|
{
|
|
|
|
_laLoModel = laLoModel;
|
|
|
|
if (STRINGHASVALUE(laLoModel.addr))
|
|
|
|
{
|
|
|
|
self.positionImg.image = ImageName_(@"home_icon_gps");
|
|
|
|
self.marqueeControl.marqueeLabel.text = laLoModel.addr;
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
self.positionImg.image = ImageName_(@"home_icon_gps_inaccurate");
|
|
|
|
self.marqueeControl.marqueeLabel.text = @"当前位置未知,请确保设备开机且能够联网,再点击定位按钮进行定位";
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
- (void)setIsDev:(BOOL)isDev
|
|
|
|
{
|
|
|
|
_isDev = isDev;
|
|
|
|
self.msgView.hidden = isDev;
|
|
|
|
self.btnView.hidden = isDev;
|
|
|
|
}
|
|
|
|
|
|
|
|
- (void)subHeaderView
|
|
|
|
{
|
|
|
|
KJBannerView *bannerView = [[KJBannerView alloc]initWithFrame:CGRectMake(10, 10, SCREEN_WIDTH-20, Adapted(170))];
|
|
|
|
//bannerView.imgCornerRadius = 5;
|
|
|
|
bannerView.autoScrollTimeInterval = 8;
|
|
|
|
//bannerView.isZoom = YES;
|
|
|
|
//bannerView.itemWidth = SCREEN_WIDTH-50;
|
|
|
|
bannerView.imageType = KJBannerViewImageTypeNetIamge;
|
|
|
|
bannerView.bannerImageViewContentMode = UIViewContentModeScaleToFill;
|
|
|
|
bannerView.pageControl.selectColor = KKMainColor;
|
|
|
|
bannerView.imageDatas = @[@"home_banner"];
|
|
|
|
self.bannerView = bannerView;
|
|
|
|
[self addSubview:bannerView];
|
|
|
|
|
|
|
|
UILabel *titleLabel = [UICommon ui_label:CGRectZero lines:0 align:NSTextAlignmentCenter font:FontBold_(14) textColor:KKTextBlackColor text:@"设备信息" Radius:0];
|
|
|
|
[self addSubview:titleLabel];
|
|
|
|
[titleLabel mas_makeConstraints:^(MASConstraintMaker *make) {
|
|
|
|
make.left.equalTo(self).offset(10);
|
|
|
|
make.top.equalTo(bannerView.mas_bottom).offset(20);
|
|
|
|
}];
|
|
|
|
|
|
|
|
|
|
|
|
[self addSubview:self.msgView];
|
|
|
|
[self.msgView mas_makeConstraints:^(MASConstraintMaker *make) {
|
|
|
|
make.left.right.equalTo(self).inset(10);
|
|
|
|
make.top.equalTo(titleLabel.mas_bottom).offset(10);
|
|
|
|
make.height.mas_equalTo(105);
|
|
|
|
}];
|
|
|
|
|
|
|
|
UILabel *titleLabel1 = [UICommon ui_label:CGRectZero lines:0 align:NSTextAlignmentCenter font:FontBold_(14) textColor:KKTextBlackColor text:@"常用功能" Radius:0];
|
|
|
|
[self addSubview:titleLabel1];
|
|
|
|
[titleLabel1 mas_makeConstraints:^(MASConstraintMaker *make) {
|
|
|
|
make.left.equalTo(titleLabel);
|
|
|
|
make.top.equalTo(self.msgView.mas_bottom).offset(10);
|
|
|
|
}];
|
|
|
|
|
|
|
|
/// 按钮背景View
|
|
|
|
UIView *btnView = [UICommon ui_view:CGRectZero backgroundColor:KKWhiteColorColor cornerRadius:10 borderWidth:0 borderColor:KKWhiteColorColor];
|
|
|
|
btnView.height = YES;
|
|
|
|
self.btnView = btnView;
|
|
|
|
[self addSubview:btnView];
|
|
|
|
[btnView mas_makeConstraints:^(MASConstraintMaker *make) {
|
|
|
|
make.left.right.equalTo(self).inset(10);
|
|
|
|
make.top.equalTo(titleLabel1.mas_bottom).offset(10);
|
|
|
|
make.height.mas_equalTo(85);
|
|
|
|
}];
|
|
|
|
[self subBtnView];
|
|
|
|
}
|
|
|
|
|
|
|
|
- (void)subBtnView
|
|
|
|
{
|
|
|
|
for (UIButton *views in self.btnView.subviews)
|
|
|
|
{
|
|
|
|
[views removeFromSuperview];
|
|
|
|
}
|
|
|
|
self.btnArr = [NSMutableArray new];
|
|
|
|
|
|
|
|
NSArray *titleArray = @[@"班级作业",@"电话本",@"打电话",@"小红花"];
|
|
|
|
NSArray *imageArray = @[@"icon_homework",@"icon_phonebook",@"icon_call_up",@"icon_red_flower"];
|
|
|
|
|
|
|
|
|
|
|
|
CGFloat masx = (SCREEN_WIDTH-44)/titleArray.count;
|
|
|
|
for (int i = 0; i < titleArray.count; i++)
|
|
|
|
{
|
|
|
|
NSString *title = [titleArray objectAtIndex:i];
|
|
|
|
NSString *image = [imageArray objectAtIndex:i];
|
|
|
|
ZZBadgeButton *button = [self createButtonWithTitle:title image:image];
|
|
|
|
[button addTarget:self action:@selector(buttonClickAction:) forControlEvents:UIControlEventTouchUpInside];
|
|
|
|
button.tag = i;
|
|
|
|
button.frame = CGRectMake(i*masx+12, Adapted(15), masx, masx);
|
|
|
|
[self.btnView addSubview:button];
|
|
|
|
[self.btnArr addObject:button];
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
- (void)setUnreadTotal:(NSInteger)unreadTotal
|
|
|
|
{
|
|
|
|
for (ZZBadgeButton *button in self.btnArr)
|
|
|
|
{
|
|
|
|
if([button.currentTitle isEqualToString:GJText(@"微聊")])
|
|
|
|
{
|
|
|
|
button.badge = unreadTotal;
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
- (void)buttonClickAction:(UIButton *)btn
|
|
|
|
{
|
|
|
|
if ([btn.currentTitle isEqualToString:GJText(@"电话本")])
|
|
|
|
{
|
|
|
|
ContactsViewController *vc = [ContactsViewController new];
|
|
|
|
[[UICommon currentVC].navigationController pushViewController:vc animated:YES];
|
|
|
|
}
|
|
|
|
else if ([btn.currentTitle isEqualToString:GJText(@"班级作业")])
|
|
|
|
{
|
|
|
|
|
|
|
|
}
|
|
|
|
else if ([btn.currentTitle isEqualToString:GJText(@"小红花")])
|
|
|
|
{
|
|
|
|
ReadFlowerViewController *vc = [[ReadFlowerViewController alloc] init];
|
|
|
|
[[UICommon currentVC].navigationController pushViewController:vc animated:YES];
|
|
|
|
}
|
|
|
|
else if ([btn.currentTitle isEqualToString:GJText(@"打电话")])
|
|
|
|
{
|
|
|
|
if(self.devicemodel.phone.length == 0)
|
|
|
|
{
|
|
|
|
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
NSString * string = [[NSMutableString alloc] initWithFormat:@"tel:%@",self.devicemodel.phone];
|
|
|
|
if(self.devicemodel.phone.length == 11)
|
|
|
|
string = [NSString stringWithFormat:@"tel:+86-%@", self.devicemodel.phone];
|
|
|
|
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:string] options:@{} completionHandler:nil];
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else if ([btn.currentTitle isEqualToString:GJText(@"更多")])
|
|
|
|
{
|
|
|
|
MoreServiceViewController *vc = [MoreServiceViewController new];
|
|
|
|
[[UICommon currentVC].navigationController pushViewController:vc animated:YES];
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
- (UIView *)msgView
|
|
|
|
{
|
|
|
|
if (!_msgView)
|
|
|
|
{
|
|
|
|
_msgView = [UICommon ui_view:CGRectZero backgroundColor:KKWhiteColorColor cornerRadius:10 borderWidth:0 borderColor:KKWhiteColorColor];
|
|
|
|
_msgView.hidden = YES;
|
|
|
|
|
|
|
|
/// 设备头像
|
|
|
|
UIImageView *iconImg = [UIImageView new];
|
|
|
|
iconImg.layer.cornerRadius = 25;
|
|
|
|
iconImg.layer.masksToBounds = YES;
|
|
|
|
self.iconImg = iconImg;
|
|
|
|
[_msgView addSubview:iconImg];
|
|
|
|
[iconImg mas_makeConstraints:^(MASConstraintMaker *make) {
|
|
|
|
make.left.equalTo(_msgView.mas_left).offset(18);
|
|
|
|
make.centerY.equalTo(_msgView);
|
|
|
|
make.size.mas_equalTo(CGSizeMake(50, 50));
|
|
|
|
}];
|
|
|
|
|
|
|
|
UIButton *btn = [UICommon ui_buttonSimple:CGRectZero font:Font_(0) normalColor:KKClearColor normalText:@"" click:^(id x) {
|
|
|
|
EditDeviceViewController *vc = [[EditDeviceViewController alloc] init];
|
|
|
|
[[UICommon currentVC].navigationController pushViewController:vc animated:YES];
|
|
|
|
}];
|
|
|
|
[_msgView addSubview:btn];
|
|
|
|
[btn mas_makeConstraints:^(MASConstraintMaker *make) {
|
|
|
|
make.left.right.equalTo(_msgView);
|
|
|
|
make.top.equalTo(_msgView);
|
|
|
|
make.bottom.equalTo(iconImg.mas_bottom);
|
|
|
|
}];
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/// 设备名称
|
|
|
|
UILabel *nameLabel = [UICommon ui_label:CGRectZero lines:0 align:NSTextAlignmentCenter font:FontBold_(14) textColor:KKTextBlackColor text:@"" Radius:0];
|
|
|
|
self.nameLabel = nameLabel;
|
|
|
|
[_msgView addSubview:nameLabel];
|
|
|
|
[nameLabel mas_makeConstraints:^(MASConstraintMaker *make) {
|
|
|
|
make.left.equalTo(iconImg.mas_right).offset(18);
|
|
|
|
make.top.equalTo(_msgView).offset(19.5);
|
|
|
|
}];
|
|
|
|
|
|
|
|
UILabel *idLabel = [UICommon ui_label:CGRectZero lines:0 align:NSTextAlignmentCenter font:Font_(12) textColor:RGB(133, 133, 133) text:@"" Radius:0];
|
|
|
|
self.idLabel = idLabel;
|
|
|
|
[_msgView addSubview:idLabel];
|
|
|
|
[idLabel mas_makeConstraints:^(MASConstraintMaker *make) {
|
|
|
|
make.left.equalTo(nameLabel.mas_left);
|
|
|
|
make.centerY.equalTo(_msgView);
|
|
|
|
}];
|
|
|
|
|
|
|
|
|
|
|
|
/// 右箭头图片
|
|
|
|
UIImageView *rightImg = [UICommon ui_imageView:CGRectZero fileName:@"icon_enter_gray"];
|
|
|
|
[_msgView addSubview:rightImg];
|
|
|
|
[rightImg mas_makeConstraints:^(MASConstraintMaker *make) {
|
|
|
|
make.right.equalTo(_msgView.mas_right).inset(18);
|
|
|
|
make.top.equalTo(_msgView).offset(30.5);
|
|
|
|
make.size.mas_equalTo(CGSizeMake(8, 15));
|
|
|
|
}];
|
|
|
|
|
|
|
|
|
|
|
|
UILabel *ttLabel = [UICommon ui_label:CGRectZero lines:0 align:NSTextAlignmentCenter font:Font_(12) textColor:RGB(133, 133, 133) text:@"编辑资料" Radius:0];
|
|
|
|
[_msgView addSubview:ttLabel];
|
|
|
|
[ttLabel mas_makeConstraints:^(MASConstraintMaker *make) {
|
|
|
|
make.right.equalTo(rightImg.mas_left).inset(10);
|
|
|
|
make.centerY.equalTo(rightImg.mas_centerY);
|
|
|
|
}];
|
|
|
|
|
|
|
|
|
|
|
|
/// 位置跑马灯
|
|
|
|
SLMarqueeControl *control = [[SLMarqueeControl alloc] initWithFrame:CGRectMake(111, 73.5, SCREEN_WIDTH-20-111-15, 12)];
|
|
|
|
control.backgroundColor = KKClearColor;
|
|
|
|
control.marqueeLabel.text = @"当前位置未知,请确保设备开机且能够联网,再点击定位按钮进行定位";
|
|
|
|
self.marqueeControl = control;
|
|
|
|
[_msgView addSubview:control];
|
|
|
|
|
|
|
|
/// 位置图片
|
|
|
|
UIImageView *positionImg = [UIImageView new];
|
|
|
|
self.positionImg = positionImg;
|
|
|
|
[_msgView addSubview:positionImg];
|
|
|
|
[positionImg mas_makeConstraints:^(MASConstraintMaker *make) {
|
|
|
|
make.left.equalTo(nameLabel);
|
|
|
|
make.centerY.equalTo(control);
|
|
|
|
make.size.mas_equalTo(CGSizeMake(15, 15));
|
|
|
|
}];
|
|
|
|
}
|
|
|
|
return _msgView;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- (ZZBadgeButton *)createButtonWithTitle:(NSString *)title image:(NSString *)image
|
|
|
|
{
|
|
|
|
ZZBadgeButton *customButton = [[ZZBadgeButton alloc] init];
|
|
|
|
customButton.titleLabel.font = FontADA_(12);
|
|
|
|
[customButton setTitle:title forState:UIControlStateNormal];
|
|
|
|
[customButton setTitleColor:RGB(153, 153, 153) forState:UIControlStateNormal];
|
|
|
|
[customButton setImage:[UIImage imageNamed:image] forState:UIControlStateNormal];
|
|
|
|
return customButton;
|
|
|
|
}
|
|
|
|
|
|
|
|
#pragma mark 查询当前设备用户微聊未读消息数
|
|
|
|
/// 查询当前设备用户微聊未读消息数
|
|
|
|
- (void)GetUnreadTotal
|
|
|
|
{
|
|
|
|
NSMutableDictionary *parameters = [NSMutableDictionary dictionary];
|
|
|
|
[parameters setValue:APIManager.sharedManager.deviceModel.groupid forKey:@"groupId"];
|
|
|
|
[[[APIManager sharedManager] APGET:UnreadTotal_URL parameters:parameters resultClass:nil] subscribeNext:^(NSString *x) {
|
|
|
|
[UICommon HidenLoading];
|
|
|
|
NSInteger coutn = x.integerValue;
|
|
|
|
[self setUnreadTotal:coutn];
|
|
|
|
} error:^(NSError * _Nullable error) {
|
|
|
|
NSDictionary *dic = error.userInfo;
|
|
|
|
[UICommon MessageErrorText:dic[NSLocalizedDescriptionKey]];
|
|
|
|
}];
|
|
|
|
}
|
|
|
|
|
|
|
|
/*
|
|
|
|
// Only override drawRect: if you perform custom drawing.
|
|
|
|
// An empty implementation adversely affects performance during animation.
|
|
|
|
- (void)drawRect:(CGRect)rect {
|
|
|
|
// Drawing code
|
|
|
|
}
|
|
|
|
*/
|
|
|
|
|
|
|
|
@end
|