You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

253 lines
9.2 KiB

//
// DeviceHeaderView.m
// tongxin
//
// Created by ecell on 2022/11/9.
// Copyright © 2022 xTT. All rights reserved.
//
#import "DeviceHeaderView.h"
#import "Bluetooth.h"
#import <ReactiveObjC.h>
#import "DeviceLoseSetViewController.h"
@interface DeviceHeaderView ()
/// <#arguments#>
@property (nonatomic ,weak) UILabel *nameLabel;
/// <#arguments#>
@property (nonatomic ,weak) UILabel *comLabel;
@property (nonatomic ,weak) UIButton *stateBtn;
@end
@implementation DeviceHeaderView
- (instancetype)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self)
{
self.backgroundColor = [UIColor clearColor];
[self subHeaderView];
// [[[NSNotificationCenter defaultCenter] rac_addObserverForName:BluetoothNotificationAtConnectSuccess object:nil] subscribeNext:^(NSNotification *notification) {
// BLEModel *model = notification.object;
// self.nameLabel.text = model.peripheral.name;
// self.comLabel.text = model.MACString;
// [self.stateBtn setTitle:@"连接成功" forState:0];
// [UICommon HidenLoading];
// }];
[[[NSNotificationCenter defaultCenter] rac_addObserverForName:BluetoothNotificationAtConnectFail object:nil] subscribeNext:^(NSNotification *notification) {
[self.stateBtn setTitle:@"连接失败" forState:0];
}];
[[[NSNotificationCenter defaultCenter] rac_addObserverForName:BluetoothNotificationAtDisconnect object:nil] subscribeNext:^(NSNotification *notification) {
[self.stateBtn setTitle:@"连接断开" forState:0];
}];
[[[NSNotificationCenter defaultCenter] rac_addObserverForName:@"LIANJIEZ" object:nil] subscribeNext:^(NSNotification *notification) {
NSString *tiele = notification.object;
[self.stateBtn setTitle:tiele forState:0];
}];
}
return self;
}
- (void)setBleModel:(BLEModel *)bleModel
{
_bleModel = bleModel;
self.nameLabel.text = bleModel.DeName;
self.comLabel.text = bleModel.MACString;
[self.stateBtn setTitle:Bluetooth.shareInstance.isConnected ? @"连接成功" : @"连接失败" forState:0];
}
- (void)subHeaderView
{
UIImageView *leftImg = [UIImageView new];
leftImg.backgroundColor = mainColor;
[self addSubview:leftImg];
[leftImg mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.equalTo(self);
make.top.equalTo(self).offset(15);
make.size.mas_equalTo(CGSizeMake(3, 20));
}];
UILabel *titleLabel = [UILabel new];
titleLabel.textColor = KKGrey143;
titleLabel.font = [UIFont fontWithName:@"HelveticaNeue" size:14];
titleLabel.text = @"当前防丢设备";
[self addSubview:titleLabel];
[titleLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.equalTo(leftImg.mas_right).offset(5);
make.centerY.equalTo(leftImg);
}];
UIView *bgView = [UIView new];
bgView.backgroundColor = [UIColor whiteColor];
[self addSubview:bgView];
[bgView mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.right.equalTo(self);
make.top.equalTo(leftImg.mas_bottom).offset(15);
make.height.mas_equalTo(Adapted(85));
}];
UIImageView *deviceImg = [UIImageView new];
deviceImg.backgroundColor = [UIColor whiteColor];
deviceImg.image = [UIImage imageNamed:@"icon_imei_login_page"];
deviceImg.layer.borderWidth = 0.5;
deviceImg.layer.borderColor = RGB(238, 238, 238).CGColor;
deviceImg.layer.cornerRadius = 3;
[bgView addSubview:deviceImg];
[deviceImg mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.equalTo(bgView).offset(20);
make.centerY.equalTo(bgView);
make.size.mas_equalTo(CGSizeMake(Adapted(40), Adapted(40)));
}];
UILabel *nameLabel = [UILabel new];
nameLabel.font = [UIFont fontWithName:@"HelveticaNeue" size:Adapted(20)];
self.nameLabel = nameLabel;
[bgView addSubview:nameLabel];
[nameLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.equalTo(deviceImg.mas_right).offset(10);
make.top.equalTo(bgView).offset(10);
}];
UILabel *comLabel = [UILabel new];
comLabel.font = [UIFont fontWithName:@"HelveticaNeue" size:Adapted(13)];
self.comLabel = comLabel;
[bgView addSubview:comLabel];
[comLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.equalTo(nameLabel);
make.centerY.equalTo(deviceImg.mas_bottom);
}];
UIButton *setBtn = [UIButton new];
[setBtn setTitle:@"设置" forState:0];
setBtn.titleLabel.font = [UIFont fontWithName:@"HelveticaNeue" size:Adapted(12)];
[setBtn setTitleColor:[UIColor whiteColor] forState:0];
setBtn.backgroundColor = mainColor;
setBtn.layer.cornerRadius = Adapted(14);
setBtn.layer.masksToBounds = YES;
setBtn.tag = 3;
[setBtn addTarget:self action:@selector(btnTouch:) forControlEvents:UIControlEventTouchUpInside];
[bgView addSubview:setBtn];
[setBtn mas_makeConstraints:^(MASConstraintMaker *make) {
make.right.equalTo(bgView.mas_right).offset(-20);
make.bottom.equalTo(bgView.mas_centerY).offset(-Adapted(5));
make.size.mas_equalTo(CGSizeMake(Adapted(85), Adapted(28)));
}];
UIButton *stateBtn = [UIButton new];
[stateBtn setTitle:@"" forState:0];
stateBtn.titleLabel.font = [UIFont fontWithName:@"HelveticaNeue" size:Adapted(12)];
[stateBtn setTitleColor:[UIColor whiteColor] forState:0];
stateBtn.backgroundColor = mainColor;
stateBtn.layer.cornerRadius = Adapted(14);
stateBtn.layer.masksToBounds = YES;
stateBtn.tag = 4;
[stateBtn addTarget:self action:@selector(btnTouch:) forControlEvents:UIControlEventTouchUpInside];
self.stateBtn = stateBtn;
[bgView addSubview:stateBtn];
[stateBtn mas_makeConstraints:^(MASConstraintMaker *make) {
make.right.equalTo(setBtn.mas_right);
make.top.equalTo(bgView.mas_centerY).offset(Adapted(5));
make.size.mas_equalTo(CGSizeMake(Adapted(85), Adapted(28)));
}];
NSArray *titleArr = @[@"移除设备",@"查找设备",@"取消查找"];
for (int i = 0; i < titleArr.count; i++)
{
UIButton *btn = [UIButton new];
[btn setTitle:titleArr[i] forState:0];
btn.titleLabel.font = [UIFont fontWithName:@"HelveticaNeue" size:Adapted(12)];
[btn setTitleColor:[UIColor whiteColor] forState:0];
btn.backgroundColor = mainColor;
btn.layer.cornerRadius = Adapted(14);
btn.layer.masksToBounds = YES;
btn.tag = i;
[btn addTarget:self action:@selector(btnTouch:) forControlEvents:UIControlEventTouchUpInside];
[self addSubview:btn];
[btn mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.equalTo(self).offset(20+Adapted(85)*i+10*i);
make.top.equalTo(bgView.mas_bottom).offset(Adapted(5));
make.size.mas_equalTo(CGSizeMake(Adapted(85), Adapted(28)));
}];
}
}
- (void)btnTouch:(UIButton *)btn
{
switch (btn.tag) {
case 0:
{/// 移除设备
[Bluetooth.shareInstance disConnectedCurrenDevice];
}
break;
case 1:
{/// 查找设备
if (!Bluetooth.shareInstance.isConnected)
{
[UICommon MessageErrorText:@"设备未连接!"];
return;
}
[Bluetooth.shareInstance writeCheckBleWithBle:@"0x00"];
}
break;
case 2:
{/// 取消查找
if (!Bluetooth.shareInstance.isConnected)
{
[UICommon MessageErrorText:@"设备未连接!"];
return;
}
[Bluetooth.shareInstance writeCheckBleWithBle:@"0x01"];
}
break;
case 3:
{/// 设置
DeviceLoseSetViewController *vc = [DeviceLoseSetViewController new];
[self.getViewController.navigationController pushViewController:vc animated:YES];
}
break;
case 4:
{/// 连接状态
if ([btn.currentTitle isEqualToString:@"连接失败"] ||
[btn.currentTitle isEqualToString:@"连接断开"])
{
//[UICommon MessageUpload:@""WithStatus:@"连接中..."];
[self.stateBtn setTitle:@"连接中..." forState:0];
[Bluetooth.shareInstance connectPeripheralWithUUID];
}
if ([btn.currentTitle isEqualToString:@"连接中.."] ||
[btn.currentTitle isEqualToString:@"连接中..."] ||
[btn.currentTitle isEqualToString:@"连接成功"])
{
[Bluetooth.shareInstance disconnectBLE];
[self.stateBtn setTitle:@"连接失败" forState:0];
}
}
break;
default:
break;
}
}
/*
// Only override drawRect: if you perform custom drawing.
// An empty implementation adversely affects performance during animation.
- (void)drawRect:(CGRect)rect {
// Drawing code
}
*/
@end