更换启动图,更新应用市场关键词,1.1.0提审

This commit is contained in:
zeng 2025-06-19 20:06:04 +08:00
parent 81bb16598a
commit d3a1aa1beb
28 changed files with 222 additions and 11 deletions

View File

@ -257,7 +257,7 @@
"$(inherited)",
"@executable_path/Frameworks",
);
MARKETING_VERSION = 1.0.7;
MARKETING_VERSION = 1.1.0;
PRODUCT_BUNDLE_IDENTIFIER = com.thimratv.app;
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";
@ -303,7 +303,7 @@
"$(inherited)",
"@executable_path/Frameworks",
);
MARKETING_VERSION = 1.0.7;
MARKETING_VERSION = 1.1.0;
PRODUCT_BUNDLE_IDENTIFIER = com.thimratv.app;
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "";

View File

@ -0,0 +1,158 @@
//
// SPHomePageController.swift
// MoviaBox
//
// Created by on 2025/4/8.
//
import UIKit
class SPHomePageController: SPViewController {
private var topModel: SPHomeTopModel?
///
private var isRequesting = false
private lazy var categoryArr: [SPHomeCategoryModel] = []
// {
// let arr = [
// SPHomeCategoryModel(category_name: "Hot Picks".localized, category_id: nil, viewController: SPHomeViewController()),
// SPHomeCategoryModel(category_name: "Top 10".localized, category_id: nil, viewController: nil),
// SPHomeCategoryModel(category_name: "Fresh Drops".localized, category_id: nil, viewController: nil),
// SPHomeCategoryModel(category_name: "Free".localized, category_id: nil, viewController: nil),
// ]
// return arr
// }()
private lazy var searchButton: SPHomeSearchButton = {
let button = SPHomeSearchButton()
button.addTarget(self, action: #selector(handleSearchButton), for: .touchUpInside)
return button
}()
private lazy var pageView: JYPageController = {
let customIndicatorImage = UIImage(named: "page_indicator_icon_01")
let customIndicator = UIImageView(image: customIndicatorImage)
let pageView = JYPageController()
pageView.delegate = self
pageView.dataSource = self
pageView.config.normalTitleColor = .colorD2D2D2()
pageView.config.selectedTitleColor = .colorBF6BFF()
pageView.config.normalTitleFont = 14
pageView.config.selectedTitleFont = 16
pageView.config.normalTitleFontWeight = .regular
pageView.config.selectedTitleFontWeight = .medium
pageView.config.alignment = .scatter
pageView.config.customIndicator = customIndicator
pageView.config.indicatorStyle = .customView
pageView.config.indicatorWidth = customIndicatorImage?.size.width ?? 0
pageView.config.indicatorHeight = customIndicatorImage?.size.height ?? 0
pageView.config.leftPadding = 15
pageView.config.rightPadding = 15
pageView.config.itemsMargin = 24
return pageView
}()
override func viewDidLoad() {
super.viewDidLoad()
NotificationCenter.default.addObserver(self, selector: #selector(reachabilityDidChangeNotification), name: SPNetworkReachabilityManager.reachabilityDidChangeNotification, object: nil)
sp_setupUI()
requestData()
}
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
self.navigationController?.setNavigationBarHidden(true, animated: true)
}
}
extension SPHomePageController {
private func sp_setupUI() {
addChild(pageView)
view.addSubview(pageView.view)
view.addSubview(searchButton)
pageView.view.snp.makeConstraints { make in
// make.edges.equalToSuperview()
make.top.equalToSuperview().offset(kSPStatusbarHeight + 66)
make.left.right.bottom.equalToSuperview()
}
searchButton.snp.makeConstraints { make in
make.left.equalToSuperview().offset(15)
make.centerX.equalToSuperview()
make.top.equalToSuperview().offset(kSPStatusbarHeight + 10)
}
}
}
extension SPHomePageController {
@objc private func handleSearchButton() {
let vc = SPSearchViewController()
self.navigationController?.pushViewController(vc, animated: true)
}
@objc private func reachabilityDidChangeNotification() {
requestData()
}
}
//MARK: -------------- JYPageControllerDelegate & JYPageControllerDataSource --------------
extension SPHomePageController: JYPageControllerDelegate, JYPageControllerDataSource {
func pageController(_ pageController: JYPageController, frameForSegmentedView segmentedView: JYSegmentedView) -> CGRect {
return .init(x: 0, y: 0, width: kSPScreenWidth, height: 40)
}
func pageController(_ pageController: JYPageController, frameForContainerView container: UIScrollView) -> CGRect {
return .init(x: 0, y: 40, width: kSPScreenWidth, height: kSPScreenHeight - kSPTabBarHeight - kSPStatusbarHeight - 66 - 40)
}
func pageController(_ pageController: JYPageController, titleAt index: Int) -> String {
return self.categoryArr[index].category_name ?? ""
}
func childController(atIndex index: Int) -> any JYPageChildContollerProtocol {
let vc = SPHomeViewController()
// vc.topMargins = 15
return vc
}
func numberOfChildControllers() -> Int {
return self.categoryArr.count
}
}
extension SPHomePageController {
private func requestData() {
if self.topModel != nil || isRequesting { return }
isRequesting = true
SPHomeAPI.requestHomeTopData { [weak self] model in
guard let self = self else { return }
if let model = model {
self.topModel = model
if let category = self.topModel?.category {
self.categoryArr += category
}
self.pageView.reload()
}
self.isRequesting = false
}
}
}

View File

@ -236,13 +236,6 @@ class SPPlayerListViewController: SPViewController {
///
func currentPlayTimeDidChange(time: Int) {
let currentTime = self.viewModel.currentPlayer?.currentPosition ?? 0
// let duration = self.viewModel.currentPlayer?.duration ?? 0
//
// var time = currentTime
// if currentTime >= duration {
// time = 0
// }
if time > 1 {
self.viewModel.currentPlayer?.videoInfo?.play_seconds = time * 1000
}

View File

@ -5,12 +5,12 @@
"scale" : "1x"
},
{
"filename" : "启动页MoviaBox 1.png",
"filename" : "启动页@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "启动页MoviaBox.png",
"filename" : "启动页@3x.png",
"idiom" : "universal",
"scale" : "3x"
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 627 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.0 KiB

View File

@ -0,0 +1,22 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "Frame 1912056652@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "Frame 1912056652@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 563 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 716 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 357 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 467 B

View File

@ -0,0 +1,38 @@
{
"colors" : [
{
"color" : {
"color-space" : "srgb",
"components" : {
"alpha" : "1.000",
"blue" : "1.000",
"green" : "1.000",
"red" : "1.000"
}
},
"idiom" : "universal"
},
{
"appearances" : [
{
"appearance" : "luminosity",
"value" : "dark"
}
],
"color" : {
"color-space" : "srgb",
"components" : {
"alpha" : "1.000",
"blue" : "1.000",
"green" : "1.000",
"red" : "1.000"
}
},
"idiom" : "universal"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 56 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 124 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 51 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 49 KiB