Commit 29d18c60 authored by David黄金龙's avatar David黄金龙

活动列表 数据

parent ef34a84a
......@@ -371,6 +371,9 @@
A520124F2BABCE05008655EA /* YHFileListContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A520124E2BABCE05008655EA /* YHFileListContentView.swift */; };
A53B61122BB128AF0010B573 /* YHFileListItemsView2.swift in Sources */ = {isa = PBXBuildFile; fileRef = A53B61112BB128AF0010B573 /* YHFileListItemsView2.swift */; };
A53B61192BB3C9960010B573 /* YHMyDocListHeaderView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A53B61182BB3C9960010B573 /* YHMyDocListHeaderView.swift */; };
A540342F2C2A606900E63A20 /* YHActivityListModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = A540342E2C2A606900E63A20 /* YHActivityListModel.swift */; };
A54034312C2A612100E63A20 /* YHActivityModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = A54034302C2A612100E63A20 /* YHActivityModel.swift */; };
A54034342C2A621000E63A20 /* YHActivityViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = A54034332C2A621000E63A20 /* YHActivityViewModel.swift */; };
A554A5122B99715000EA5973 /* YHConstantArrayData.swift in Sources */ = {isa = PBXBuildFile; fileRef = A554A5112B99715000EA5973 /* YHConstantArrayData.swift */; };
A5551FFE2B4C26CE00510980 /* YHBaseViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5551FFD2B4C26CE00510980 /* YHBaseViewModel.swift */; };
A5573ED22B317BFF00D98EC0 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5573ED12B317BFF00D98EC0 /* AppDelegate.swift */; };
......@@ -933,6 +936,9 @@
A520124E2BABCE05008655EA /* YHFileListContentView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = YHFileListContentView.swift; sourceTree = "<group>"; };
A53B61112BB128AF0010B573 /* YHFileListItemsView2.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHFileListItemsView2.swift; sourceTree = "<group>"; };
A53B61182BB3C9960010B573 /* YHMyDocListHeaderView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHMyDocListHeaderView.swift; sourceTree = "<group>"; };
A540342E2C2A606900E63A20 /* YHActivityListModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHActivityListModel.swift; sourceTree = "<group>"; };
A54034302C2A612100E63A20 /* YHActivityModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHActivityModel.swift; sourceTree = "<group>"; };
A54034332C2A621000E63A20 /* YHActivityViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHActivityViewModel.swift; sourceTree = "<group>"; };
A554A5112B99715000EA5973 /* YHConstantArrayData.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHConstantArrayData.swift; sourceTree = "<group>"; };
A5551FFD2B4C26CE00510980 /* YHBaseViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHBaseViewModel.swift; sourceTree = "<group>"; };
A5573ECE2B317BFF00D98EC0 /* galaxy.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = galaxy.app; sourceTree = BUILT_PRODUCTS_DIR; };
......@@ -2301,6 +2307,23 @@
path = V;
sourceTree = "<group>";
};
A540342D2C2A602500E63A20 /* M */ = {
isa = PBXGroup;
children = (
A540342E2C2A606900E63A20 /* YHActivityListModel.swift */,
A54034302C2A612100E63A20 /* YHActivityModel.swift */,
);
path = M;
sourceTree = "<group>";
};
A54034322C2A61E500E63A20 /* VM */ = {
isa = PBXGroup;
children = (
A54034332C2A621000E63A20 /* YHActivityViewModel.swift */,
);
path = VM;
sourceTree = "<group>";
};
A5573EC52B317BFF00D98EC0 = {
isa = PBXGroup;
children = (
......@@ -2360,6 +2383,8 @@
A566A79D2C228C8C00980D06 /* Activity(活动) */ = {
isa = PBXGroup;
children = (
A54034322C2A61E500E63A20 /* VM */,
A540342D2C2A602500E63A20 /* M */,
A566A7A02C228DDE00980D06 /* V */,
A566A79F2C228DB500980D06 /* C */,
);
......@@ -3167,6 +3192,7 @@
A5ACE9292B4564F7002C94D2 /* YHSmsCodeInputView.swift in Sources */,
A5ACE9452B4564F7002C94D2 /* YHHUDContainerView.swift in Sources */,
045EEEFD2B9F171A0022A143 /* YHSheetPickerViewType.swift in Sources */,
A54034342C2A621000E63A20 /* YHActivityViewModel.swift in Sources */,
045EEEC72B9F171A0022A143 /* YHOtherYesOrNoItemView.swift in Sources */,
04FD85702C21646200BEF9C5 /* YHMyInterestTopicCell.swift in Sources */,
04A7BD172BA43A0F00BD35A2 /* YHMyDocumentsDetailViewModel.swift in Sources */,
......@@ -3488,6 +3514,7 @@
A5DF3D462BF72BA1003D5F03 /* YHTestViewController.swift in Sources */,
A566A79C2C227C9B00980D06 /* YHOrderTipsItemView.swift in Sources */,
A517A4E52BB6C4BB000DEECD /* YHDocumentFileItemView.swift in Sources */,
A540342F2C2A606900E63A20 /* YHActivityListModel.swift in Sources */,
045EEEFE2B9F171A0022A143 /* YHFormItemInputTextCell.swift in Sources */,
045EEEDD2B9F171A0022A143 /* YHCollegeNameCell.swift in Sources */,
045EEF162B9F171A0022A143 /* YHMainApplicantInformationViewController.swift in Sources */,
......@@ -3582,6 +3609,7 @@
A5F8AC082B9F414000A21EFA /* YHCustomTextView.swift in Sources */,
0414BDAD2BC7F02C00225367 /* YHMyNotifySettingVC.swift in Sources */,
0425E6402BA9357D00A5E763 /* YHScemeItemModel.swift in Sources */,
A54034312C2A612100E63A20 /* YHActivityModel.swift in Sources */,
A5D335F92BCE51E700236F21 /* YHServiceCenterProgressModel.swift in Sources */,
045EEECC2B9F171A0022A143 /* YHScoreResultModel.swift in Sources */,
045EEEDC2B9F171A0022A143 /* YHQualificationDetailVC.swift in Sources */,
......
......@@ -16,6 +16,11 @@ class YHActivityListViewController: YHBaseViewController {
var type : Int = 0 //0-活动列表 1-我的报名活动
lazy var viewModel: YHActivityViewModel = {
let vm = YHActivityViewModel()
return vm
}()
lazy var tableView: UITableView = {
let tableView = UITableView(frame:.zero, style:.grouped)
tableView.showsVerticalScrollIndicator = false
......@@ -44,9 +49,8 @@ class YHActivityListViewController: YHBaseViewController {
gk_navigationBar.isHidden = true
gk_navigationBar.backgroundColor = .white
view.addSubview(tableView)
if type == 1 {
gk_navTitle = "我的活动"
gk_navigationBar.isHidden = false
......@@ -76,10 +80,8 @@ class YHActivityListViewController: YHBaseViewController {
self.loadMoreData()
}
emptyDataTipsView.isHidden = friendsArr.count > 0 ? true : false
loadFirstData()
}
var friendsArr:[String] = ["","","",""]
}
extension YHActivityListViewController {
......@@ -106,42 +108,30 @@ extension YHActivityListViewController {
}
func loadFirstData() {
// self.viewModel.getHomeNewsList(firstPageFlag : true) {[weak self] success, error in
// guard let self = self else { return }
//
// if let arrB = self.viewModel.arrHomeNewsData,arrB.count > 0 {
// let arrString = arrB.toJSONString()
// UserDefaults.standard.set(arrString, forKey: "homeFirstPageNewsData")
// UserDefaults.standard.synchronize()
// }
//
// DispatchQueue.main.asyncAfter(deadline: .now()+0.5, execute: {
// self.homeCollectView.es.stopPullToRefresh()
//
//
// if self.viewModel.hasMoreForHomeNews == false {
// self.homeCollectView.es.noticeNoMoreData()
// self.homeCollectView.footer?.alpha = 1
// }
//
// CATransaction.setDisableActions(true)
// self.homeCollectView.reloadData()
// CATransaction.commit()
// })
// }
DispatchQueue.main.asyncAfter(deadline: .now()+0.5, execute: {
self.tableView.es.stopPullToRefresh()
})
self.viewModel.getActivityList(firstPageFlag : true) {[weak self] success, error in
guard let self = self else { return }
DispatchQueue.main.asyncAfter(deadline: .now()+0.5, execute: {
self.tableView.es.stopPullToRefresh()
if self.viewModel.hasMoreForActivityList == false {
self.tableView.es.noticeNoMoreData()
self.tableView.footer?.alpha = 1
}
self.tableView.reloadData()
self.emptyDataTipsView.isHidden = self.viewModel.arrActivityListData.count > 0 ? true : false
})
}
}
}
extension YHActivityListViewController: UITableViewDelegate, UITableViewDataSource {
func numberOfSections(in tableView: UITableView) -> Int {
if self.friendsArr.count > 0 {
return friendsArr.count
if viewModel.arrActivityListData.count > 0 {
return viewModel.arrActivityListData.count
}
return 0
}
......
//
// YHActivityListModel.swift
// galaxy
//
// Created by davidhuangA on 2024/6/25.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import UIKit
class YHActivityListModel : YHBaseModel {
var total : String = ""
var data : [YHActivityModel] = []
required init() {
}
}
//
// YHActivityModel.swift
// galaxy
//
// Created by davidhuangA on 2024/6/25.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import UIKit
class YHActivityModel: YHBaseModel {
var id : Int = 0
var tag : Int = 0
var name : String = ""
var cover : String = ""
var beginTime : String = ""
var endTime : String = ""
var place : String = ""
var status : String = ""
// required init() {
//
// }
}
//
// YHActivityViewModel.swift
// galaxy
//
// Created by davidhuangA on 2024/6/25.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import UIKit
class YHActivityViewModel: YHBaseViewModel {
//1、活动列表
var hasMoreForActivityList : Bool = true
var isRequestActivityListDataFlag : Bool = false
private var curPageIndex : Int = 1
private var page_Size : Int = 20
private var totalCount : Int = 0
var arrActivityListData : [YHActivityModel] = []
//2.
}
extension YHActivityViewModel {
/*
firstPageFlag true - 首次 false - 更多
*/
func getActivityList(firstPageFlag : Bool,callBackBlock:@escaping (_ success: Bool,_ error:YHErrorModel?)->()) {
if firstPageFlag == false {
guard hasMoreForActivityList == true else {
printLog("无更多数据可请求")
return
}
}
guard isRequestActivityListDataFlag == false else {
printLog("正在进行请求")
return
}
isRequestActivityListDataFlag = true
var params: [String : Any] = ["page": curPageIndex,
"page_size": page_Size]
if firstPageFlag {
params = ["page": 1,
"page_size": page_Size]
} else {
params = ["page": curPageIndex + 1,
"page_size": page_Size]
}
let strUrl = YHBaseUrlManager.shared.curURL() + YHAllApiName.Activity.listApi
let _ = YHNetRequest.getRequest(url: strUrl,params: params) { [weak self] json, code in
guard let self = self else { return }
self.isRequestActivityListDataFlag = false
//1. json字符串 转 对象
if json.code == 200 {
let dic = json.data
guard let result = YHActivityListModel.deserialize(from: dic as? Dictionary) else {
self.arrActivityListData = []
callBackBlock(false,nil)
return
}
if firstPageFlag {
self.totalCount = Int(result.total) ?? 0
self.arrActivityListData = result.data
curPageIndex = 1
} else {
curPageIndex = curPageIndex + 1
self.arrActivityListData.append(contentsOf: result.data)
}
if result.data.count >= page_Size {
if self.arrActivityListData.count >= self.totalCount {
self.hasMoreForActivityList = false
} else {
self.hasMoreForActivityList = true
}
} else {
self.hasMoreForActivityList = false
}
callBackBlock(true, nil)
} else {
let error : YHErrorModel = YHErrorModel(errorCode:Int32(json.code), errorMsg: json.msg)
callBackBlock(false, error)
}
} failBlock: { err in
self.isRequestActivityListDataFlag = false
callBackBlock(false,err)
}
}
}
......@@ -8,6 +8,14 @@
class YHAllApiName {
//活动相关接口
struct Activity {
//活动列表
static let listApi = "super-app/activity/list"
}
//首页界面相关接口
struct Home {
//获取签约用户的 最新信息提醒
......@@ -15,8 +23,6 @@ class YHAllApiName {
//获取签约用户信息
static let signerInfoApi = "super-app/infoflow/signer/info"
}
//接口 模块名 Common
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment