| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158 |
- //
- // BlackListController.m
- // AIIM
- //
- // Created by qitewei on 2025/5/22.
- //
- #import "BlackListController.h"
- #import "FriendListCell.h"
- #import "FriendNetApi.h"
- @interface BlackListController ()<UITableViewDelegate,UITableViewDataSource>
- @property (nonatomic, strong) UITableView * tableView;
- @property (nonatomic, strong) NSMutableArray * dataArray;
- @end
- @implementation BlackListController
- #pragma mark lifecycle
- - (void)viewDidLoad {
- [super viewDidLoad];
- [self configUI];
- [self getBlackcListData];
- }
- - (void)viewWillAppear:(BOOL)animated{
- [self setNavigationBarHidden:NO animated:NO];
- }
- - (void)viewWillDisappear:(BOOL)animated{
- [self setNavigationBarHidden:YES animated:NO];
- }
- #pragma mark UI
- - (void)configUI{
- [self setNavigationBarHidden:NO animated:YES];
- [self setNavigationTitle:NSLocalizedString(@"userCenter-heimdan", @"")];
- // 设置导航栏背景色
- [self setNavigationBarBackgroundColor:UIColor.clearColor];
-
- // 设置标题颜色和字体
- [self setNavigationTitleColor:[UIColor whiteColor] font:SYSBFONT(18)];
-
- // 设置返回按钮
- [self setBackButtonTitle:@""];
- [self setBackButtonColor:[UIColor whiteColor]];
-
- UIImageView * bgImageView = [[UIImageView alloc] initWithImage:kImageMake(@"loginBG")];
- [self.view addSubview:bgImageView];
- [bgImageView mas_makeConstraints:^(MASConstraintMaker *make) {
- make.left.right.top.bottom.mas_equalTo(0);
- }];
-
- [self.view addSubview:self.tableView];
- [self.tableView mas_makeConstraints:^(MASConstraintMaker *make) {
- make.top.mas_equalTo(SCREEN_TOP+10);
- make.left.right.bottom.mas_equalTo(0);
- }];
- }
- #pragma mark api
- - (void)getBlackcListData{
- [FriendNetApi getblackList:@{} succ:^(int code, NSDictionary * _Nullable result) {
- NSLog(@"blackList result:%@",result);
- if (code == 200) {
- [self.dataArray addObjectsFromArray:result[@"data"]];
- [self.tableView reloadData];
- }
- } fail:^(NSError * _Nonnull error) {
-
- }];
- }
- - (void)removeFromBlacklist:(NSDictionary *)user{
- [FriendNetApi removeFromBlacklistWithId:user[@"id"] succ:^(int code, NSDictionary * _Nullable result) {
- if (code == 200) {
- [self.dataArray removeObject:user];
- [self.tableView reloadData];
- }
- } fail:^(NSError * _Nonnull error) {
-
- }];
- }
- #pragma mark tableView delegate
- - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
- return self.dataArray.count;
- }
- -(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{
- return 70;
- }
- - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
- FriendListCell * cell = [tableView dequeueReusableCellWithIdentifier:NSStringFromClass(FriendListCell.class) forIndexPath:indexPath];
- cell.selectionStyle = UITableViewCellSelectionStyleNone;
- cell.backgroundColor = [UIColor clearColor];
- [cell fillWithData:self.dataArray[indexPath.row]];
- return cell;
- }
- - (UISwipeActionsConfiguration *)tableView:(UITableView *)tableView trailingSwipeActionsConfigurationForRowAtIndexPath:(NSIndexPath *)indexPath {
- weakSelf(self);
- NSDictionary * user = self.dataArray[indexPath.row];
- // 创建删除操作
- UIContextualAction *deleteAction = [UIContextualAction contextualActionWithStyle:UIContextualActionStyleDestructive
- title:NSLocalizedString(@"GroupCtr-yichu", @"")
- handler:^(UIContextualAction * _Nonnull action, __kindof UIView * _Nonnull sourceView, void (^ _Nonnull completionHandler)(BOOL)) {
- // 更新数据
- [weakself removeFromBlacklist:user];
-
- // 告诉系统操作已完成
- completionHandler(YES);
- }];
-
- // 设置删除按钮颜色
- deleteAction.backgroundColor = [UIColor redColor];
-
- // 创建配置并返回
- UISwipeActionsConfiguration *config = [UISwipeActionsConfiguration configurationWithActions:@[deleteAction]];
- config.performsFirstActionWithFullSwipe = YES; // 完全滑动直接执行删除
- return config;
- }
- #pragma mark emptyDataset
- - (NSAttributedString *)titleForEmptyDataSet:(UIScrollView *)scrollView{
- return [[NSAttributedString alloc] initWithString:NSLocalizedString(@"Common_nodata", @"")];
- }
- - (CGFloat)verticalOffsetForEmptyDataSet:(UIScrollView *)scrollView{
- return -100.f;
- }
- #pragma mark lazy
- - (UITableView *)tableView{
- if (!_tableView) {
- _tableView = [[UITableView alloc] initWithFrame:CGRectZero style:UITableViewStylePlain];
- _tableView.delegate = self;
- _tableView.dataSource = self;
- _tableView.backgroundColor = UIColor.clearColor;
- [_tableView registerClass:FriendListCell.class forCellReuseIdentifier:NSStringFromClass(FriendListCell.class)];
- }
- return _tableView;
- }
- - (NSMutableArray *)dataArray{
- if (!_dataArray) {
- _dataArray = [NSMutableArray array];
- }
- return _dataArray;
- }
- #pragma mark statusBar
- - (UIStatusBarStyle)preferredStatusBarStyle{
- return UIStatusBarStyleLightContent;
- }
- @end
|