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.
 
 
 

193 lines
7.0 KiB

//
// LocationModeViewController.m
// LekangGuard
//
// Created by ecell on 2022/12/10.
//
#import "LocationModeViewController.h"
@interface LocationModeViewController ()
@property (nonatomic ,strong) NSMutableArray *imgArr;
@property (nonatomic ,assign) NSInteger time;
@property (nonatomic ,assign) NSInteger level;
@end
@implementation LocationModeViewController
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view.
self.imgArr = [NSMutableArray new];
self.zx_navTitle = GJText(@"定位模式");
[self zx_setRightBtnWithText:GJText(@"保存") clickedBlock:^(ZXNavItemBtn * _Nonnull btn) {
[self SetLocationModel];
}];
NSArray *arr = @[GJText(@"高频模式"),GJText(@"正常模式"),GJText(@"省电模式")];
NSArray *timeArr = @[F(GJText(@":%ld分钟/次"), self.model.positioningThreeInterva),
F(GJText(@":%ld分钟/次"), self.model.positioningOneInterva),
F(GJText(@":%ld分钟/次"), self.model.positioningTwoInterva)];
UIView *bgView1 = [UICommon ui_view:CGRectMake(15, iPhoneX_NavHeight+15, SCREEN_WIDTH-30, Adapted(55)*arr.count) backgroundColor:KKWhiteColorColor cornerRadius:5 borderWidth:0 borderColor:KKWhiteColorColor];
[self.view addSubview:bgView1];
UIImageView *iconImg = [UICommon ui_imageView:CGRectZero fileName:@"LocationMode_icon"];
[bgView1 addSubview: iconImg];
[iconImg mas_makeConstraints:^(MASConstraintMaker *make) {
make.centerX.equalTo(bgView1);
make.top.equalTo(bgView1).offset(10);
make.size.mas_equalTo(iconImg.image.size);
}];
UILabel *headerTitle = [UICommon ui_label:CGRectZero lines:0 align:NSTextAlignmentLeft font:FontADA_(15) textColor:KKTextBlackColor text:@"" Radius:0];
headerTitle.text = GJText(@"设置设备的定位模式:频次间隔越久,设备续航时间越长。");
[bgView1 addSubview:headerTitle];
[headerTitle mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.right.equalTo(bgView1).inset(15);
make.bottom.equalTo(bgView1.mas_bottom).inset(Adapted(10));
}];
UIView *bgView = [UICommon ui_view:CGRectMake(15, bgView1.bottom+15, SCREEN_WIDTH-30, Adapted(55)*arr.count) backgroundColor:KKWhiteColorColor cornerRadius:5 borderWidth:0 borderColor:KKWhiteColorColor];
[self.view addSubview:bgView];
for (int i = 0; i < arr.count; i++)
{
UIButton *titleBtn = [UICommon ui_buttonSimple:CGRectZero font:FontADA_(13) normalColor:KKTextBlackColor normalText:F(@"%@%@", arr[i],timeArr[i]) click:^(UIButton *btn) {
for (UIImageView *image in self.imgArr)
{
image.image = image.tag == btn.tag ? ImageName_(@"icon_selectImg_Yes") : ImageName_(@"");
}
if (btn.tag == 0)
{
self.time = self.model.positioningThreeInterva;
self.level = 3;
}
else if (btn.tag == 1)
{
self.time = self.model.positioningOneInterva;
self.level = 1;
}
else if (btn.tag == 2)
{
self.time = self.model.positioningTwoInterva;
self.level = 2;
}
}];
titleBtn.contentHorizontalAlignment = UIControlContentHorizontalAlignmentLeft;
titleBtn.tag = i;
[bgView addSubview:titleBtn];
[titleBtn mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.equalTo(bgView).offset(Adapted(10));
make.right.equalTo(bgView.mas_right);
make.top.equalTo(bgView).offset(i*Adapted(55));
make.height.mas_equalTo(Adapted(55));
}];
UIImage *img = ImageName_(@"icon_selectImg_Yes");
UIImageView *selectImg = [UICommon ui_imageView:CGRectZero fileName:@""];
selectImg.tag = i;
[bgView addSubview:selectImg];
[selectImg mas_makeConstraints:^(MASConstraintMaker *make) {
make.right.equalTo(bgView.mas_right).inset(15);
make.centerY.equalTo(titleBtn);
make.size.mas_equalTo(CGSizeMake(Adapted(img.size.width), Adapted(img.size.height)));
}];
[self.imgArr addObject:selectImg];
if (i < arr.count-1)
{
UIImageView *line = [UIImageView new];
line.backgroundColor = KKLineColor;
[bgView addSubview:line];
[line mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.equalTo(bgView).offset(15);
make.right.equalTo(bgView.mas_right);
make.top.equalTo(titleBtn.mas_bottom);
make.height.mas_equalTo(0.5);
}];
}
}
NSInteger tags = 1;
if (self.model.positioningThreeInterva == APIManager.sharedManager.deviceModel.positioningInterval)
{
/// 高频
self.time = self.model.positioningThreeInterva;
tags = 0;
self.level = 3;
}
else if (self.model.positioningOneInterva == APIManager.sharedManager.deviceModel.positioningInterval)
{
/// 正常
self.time = self.model.positioningOneInterva;
tags = 1;
self.level = 1;
}
else if (self.model.positioningTwoInterva == APIManager.sharedManager.deviceModel.positioningInterval)
{
/// 省电
self.time = self.model.positioningTwoInterva;
tags = 2;
self.level = 2;
}
for (UIImageView *image in self.imgArr)
{
image.image = image.tag == tags ? ImageName_(@"icon_selectImg_Yes") : ImageName_(@"");
}
}
#pragma mark 定位模式修改
/// 定位模式修改
- (void)SetLocationModel
{
[UICommon MessageUpload:@"加载中"];
NSMutableDictionary *parameters = [NSMutableDictionary dictionary];
[[[APIManager sharedManager] APGET:F(@"%@/%ld/%@/%ld", LocationModel_URL,self.time,APIManager.sharedManager.deviceModel.imei,self.level) parameters:parameters resultClass:nil] subscribeNext:^(id _Nullable x) {
[UICommon HidenLoading];
[UICommon MessageSuccessText:@"保存成功"];
[self UpdataDeviceMsg];
[super updataNotificat];
AfterDispatch(0.5, ^{
self.isLoSuccess();
});
} error:^(NSError * _Nullable error) {
NSDictionary *dic = error.userInfo;
[UICommon MessageErrorText:dic[NSLocalizedDescriptionKey]];
}];
}
- (void)UpdataDeviceMsg
{
DeviceModel *model = APIManager.sharedManager.deviceModel;
model.positioningInterval = self.time;
[APIManager.sharedManager.cache setObject:model forKey:sDeviceKey];
}
/*
#pragma mark - Navigation
// In a storyboard-based application, you will often want to do a little preparation before navigation
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
// Get the new view controller using [segue destinationViewController].
// Pass the selected object to the new view controller.
}
*/
@end