59 lines
2.4 KiB
Swift
59 lines
2.4 KiB
Swift
//
|
|
// MPPositive_LoadMusicModel.swift
|
|
// MusicPlayer
|
|
//
|
|
// Created by Mr.Zhou on 2024/4/25.
|
|
//
|
|
|
|
import UIKit
|
|
///b面音乐数据管理load
|
|
class MPPositive_BrowseLoadViewModel: NSObject {
|
|
static let shared = MPPositive_BrowseLoadViewModel()
|
|
///预览模块数据组(通过网络请求刷新)
|
|
var browseModuleLists:[MPPositive_BrowseModuleListViewModel] = []
|
|
override init() {
|
|
super.init()
|
|
//当网络请求工具触发browse请求闭包时
|
|
MP_NetWorkManager.shared.browseRequestStateBlock = {
|
|
[weak self] (lists,isCompleted) in
|
|
guard let self = self else {return}
|
|
DispatchQueue.main.async {
|
|
[weak self] in
|
|
guard let self = self else {return}
|
|
//配置预览模块数据
|
|
browseModuleLists.append(contentsOf: lists)
|
|
//移除为空的数据
|
|
browseModuleLists = browseModuleLists.filter{($0.items.count != 0)}
|
|
//通知首页刷新UI
|
|
NotificationCenter.notificationKey.post(notificationName: .positive_browses_reload)
|
|
}
|
|
if isCompleted == true {
|
|
//将视频移动到最后
|
|
DispatchQueue.main.asyncAfter(deadline: .now() + 0.2, execute: {
|
|
[weak self] in
|
|
guard let self = self else {
|
|
return
|
|
}
|
|
// 查找目标元素的索引
|
|
if let index = browseModuleLists.firstIndex(where: {$0.items.first?.browseItem.pageType == "MUSIC_VIDEO_TYPE_OMV"}) {
|
|
// 移除目标元素
|
|
let removedElement = browseModuleLists.remove(at: index)
|
|
// 将目标元素添加到数组的最后
|
|
browseModuleLists.append(removedElement)
|
|
}
|
|
NotificationCenter.notificationKey.post(notificationName: .positive_browses_reload)
|
|
})
|
|
//加载完毕后
|
|
MP_AnalyticsManager.shared.home_b_module_showsucces_actionAction()
|
|
}
|
|
}
|
|
}
|
|
///刷新预览数据
|
|
func reloadBrowseLists() {
|
|
//清空预览模块数据
|
|
browseModuleLists.removeAll()
|
|
//调用网络请求工具的预览请求
|
|
MP_NetWorkManager.shared.requestBrowseDatas()
|
|
}
|
|
}
|