Files
yinmeng-ios/xplan-ios/Main/Mine/View/XPPrivacyViewController.m
2022-01-18 10:43:10 +08:00

128 lines
4.4 KiB
Objective-C

//
// XPPrivacyViewController.m
// xplan-ios
//
// Created by zu on 2021/12/28.
//
#import "XPPrivacyViewController.h"
#import <Masonry/Masonry.h>
#import "XPMineSettingTableViewCell.h"
#import "XPMineSettingItemModel.h"
#import "XPWebViewController.h"
#import "XPPermissionsViewController.h"
#import "XPHtmlUrl.h"
@interface XPPrivacyViewController ()<UITableViewDelegate, UITableViewDataSource>
@property (nonatomic, strong) UITableView * tableView;
@property (nonatomic, strong) NSArray<XPMineSettingItemModel *> * datasource;
@end
@implementation XPPrivacyViewController
- (void)viewDidLoad {
[super viewDidLoad];
self.title = @"个人信息与权限";
[self.view addSubview:self.tableView];
[self.tableView mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.right.bottom.mas_equalTo(self.view);
make.top.mas_equalTo(0);
}];
}
- (void)pushWebViewWIthUrl:(NSString *)url {
XPWebViewController * webVC = [[XPWebViewController alloc] init];
webVC.url = url;
[self.navigationController pushViewController:webVC animated:YES];
}
#pragma mark - UITableViewDelegate And UITableViewDataSource
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
return 45;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
return self.datasource.count;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
XPMineSettingTableViewCell * cell = [tableView dequeueReusableCellWithIdentifier:NSStringFromClass([XPMineSettingTableViewCell class])];
if (cell == nil) {
cell = [[XPMineSettingTableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:NSStringFromClass([XPMineSettingTableViewCell class])];
}
cell.itemModel = [self.datasource objectAtIndex:indexPath.row];
return cell;
}
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
[tableView deselectRowAtIndexPath:indexPath animated:YES];
switch (indexPath.row) {
case 0:
{
XPPermissionsViewController * pvc = [[XPPermissionsViewController alloc] init];
[self.navigationController pushViewController:pvc animated:YES];
}
break;
case 1:
[self pushWebViewWIthUrl:URLWithType(kPrivacyURL)];
break;
case 2:
[self pushWebViewWIthUrl:URLWithType(kPrivacySDKURL)];
break;
case 3:
[self pushWebViewWIthUrl:URLWithType(kPrivacyPersonalURL)];
break;
case 4:
[self pushWebViewWIthUrl:URLWithType(kPrivacyDeviceURL)];
break;
default:
break;
}
}
- (UITableView *)tableView {
if (!_tableView) {
_tableView = [[UITableView alloc] initWithFrame:CGRectZero style:UITableViewStylePlain];
_tableView.delegate = self;
_tableView.dataSource = self;
_tableView.showsVerticalScrollIndicator = NO;
_tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
_tableView.backgroundColor = [UIColor clearColor];
[_tableView registerClass:[XPMineSettingTableViewCell class] forCellReuseIdentifier:NSStringFromClass([XPMineSettingTableViewCell class])];
}
return _tableView;
}
- (NSArray<XPMineSettingItemModel *> *)datasource {
if (!_datasource) {
XPMineSettingItemModel * sysPermission = [[XPMineSettingItemModel alloc] init];
sysPermission.title = @"系统权限管理";
sysPermission.subTitle = @"";
XPMineSettingItemModel * privacy = [[XPMineSettingItemModel alloc] init];
privacy.title = @"隐私保护指引";
privacy.subTitle = @"";
XPMineSettingItemModel * sdk = [[XPMineSettingItemModel alloc] init];
sdk.title = @"第三方 SDK 目录";
sdk.subTitle = @"";
XPMineSettingItemModel * personalInfo = [[XPMineSettingItemModel alloc] init];
personalInfo.title = @"个人信息收集清单";
personalInfo.subTitle = @"";
XPMineSettingItemModel * permissionList = [[XPMineSettingItemModel alloc] init];
permissionList.title = @"设备权限清单";
permissionList.subTitle = @"";
_datasource = @[sysPermission, privacy, sdk, personalInfo, permissionList];
}
return _datasource;
}
@end