启动页与logo
2
Podfile
@ -34,7 +34,7 @@ target 'Thimra' do
|
|||||||
pod 'EmptyStateKit' #空数据页面
|
pod 'EmptyStateKit' #空数据页面
|
||||||
pod 'ReachabilitySwift' #网络状态监控
|
pod 'ReachabilitySwift' #网络状态监控
|
||||||
pod 'WMZPageController' #分页控制器
|
pod 'WMZPageController' #分页控制器
|
||||||
|
pod 'SVProgressHUD' #HUD
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -14,6 +14,9 @@ PODS:
|
|||||||
- ReachabilitySwift (5.2.4)
|
- ReachabilitySwift (5.2.4)
|
||||||
- SmartCodable (4.3.2)
|
- SmartCodable (4.3.2)
|
||||||
- SnapKit (5.7.1)
|
- SnapKit (5.7.1)
|
||||||
|
- SVProgressHUD (2.3.1):
|
||||||
|
- SVProgressHUD/Core (= 2.3.1)
|
||||||
|
- SVProgressHUD/Core (2.3.1)
|
||||||
- Toast (4.1.1)
|
- Toast (4.1.1)
|
||||||
- WMZPageController (1.5.5)
|
- WMZPageController (1.5.5)
|
||||||
- YYKit (1.0.9):
|
- YYKit (1.0.9):
|
||||||
@ -33,6 +36,7 @@ DEPENDENCIES:
|
|||||||
- ReachabilitySwift
|
- ReachabilitySwift
|
||||||
- SmartCodable
|
- SmartCodable
|
||||||
- SnapKit
|
- SnapKit
|
||||||
|
- SVProgressHUD
|
||||||
- Toast
|
- Toast
|
||||||
- WMZPageController
|
- WMZPageController
|
||||||
- YYKit
|
- YYKit
|
||||||
@ -51,6 +55,7 @@ SPEC REPOS:
|
|||||||
- ReachabilitySwift
|
- ReachabilitySwift
|
||||||
- SmartCodable
|
- SmartCodable
|
||||||
- SnapKit
|
- SnapKit
|
||||||
|
- SVProgressHUD
|
||||||
- Toast
|
- Toast
|
||||||
- WMZPageController
|
- WMZPageController
|
||||||
- YYKit
|
- YYKit
|
||||||
@ -68,11 +73,12 @@ SPEC CHECKSUMS:
|
|||||||
ReachabilitySwift: 32793e867593cfc1177f5d16491e3a197d2fccda
|
ReachabilitySwift: 32793e867593cfc1177f5d16491e3a197d2fccda
|
||||||
SmartCodable: 88fbf3d65207c2376fdbce4b080a3d578cb51be8
|
SmartCodable: 88fbf3d65207c2376fdbce4b080a3d578cb51be8
|
||||||
SnapKit: d612e99e678a2d3b95bf60b0705ed0a35c03484a
|
SnapKit: d612e99e678a2d3b95bf60b0705ed0a35c03484a
|
||||||
|
SVProgressHUD: 4837c74bdfe2e51e8821c397825996a8d7de6e22
|
||||||
Toast: 1f5ea13423a1e6674c4abdac5be53587ae481c4e
|
Toast: 1f5ea13423a1e6674c4abdac5be53587ae481c4e
|
||||||
WMZPageController: 87dd82d1e3528cd362de19b9a74fd6890d6e1906
|
WMZPageController: 87dd82d1e3528cd362de19b9a74fd6890d6e1906
|
||||||
YYKit: 7cda43304a8dc3696c449041e2cb3107b4e236e7
|
YYKit: 7cda43304a8dc3696c449041e2cb3107b4e236e7
|
||||||
ZFPlayer: 5cf39e8d9f0c2394a014b0db4767b5b5a6bffe13
|
ZFPlayer: 5cf39e8d9f0c2394a014b0db4767b5b5a6bffe13
|
||||||
|
|
||||||
PODFILE CHECKSUM: 6569d2af22714fb67d77646500c1ce1c95d63b3c
|
PODFILE CHECKSUM: a2c39b60a617ef47e0a8a03d4115500405588542
|
||||||
|
|
||||||
COCOAPODS: 1.16.2
|
COCOAPODS: 1.16.2
|
||||||
|
@ -15,6 +15,8 @@ extension AppDelegate {
|
|||||||
// keyBoardStyle()
|
// keyBoardStyle()
|
||||||
|
|
||||||
SPToast.config()
|
SPToast.config()
|
||||||
|
|
||||||
|
SPHUD.config()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -50,12 +50,12 @@ class SPNetwork: NSObject {
|
|||||||
static func _request<T>(parameters: SPNetworkParameters, completion: ((_ response: SPNetworkResponse<T>) -> Void)?) -> Cancellable {
|
static func _request<T>(parameters: SPNetworkParameters, completion: ((_ response: SPNetworkResponse<T>) -> Void)?) -> Cancellable {
|
||||||
|
|
||||||
if parameters.isLoding {
|
if parameters.isLoding {
|
||||||
// ETHUD.show()
|
SPHUD.show()
|
||||||
}
|
}
|
||||||
return provider.requestCustomJson(.request(parameters: parameters)) { (result) in
|
return provider.requestCustomJson(.request(parameters: parameters)) { (result) in
|
||||||
|
|
||||||
if parameters.isLoding {
|
if parameters.isLoding {
|
||||||
// ETHUD.dismiss()
|
SPHUD.dismiss()
|
||||||
}
|
}
|
||||||
guard let completion = completion else {return}
|
guard let completion = completion else {return}
|
||||||
|
|
||||||
|
@ -8,19 +8,14 @@
|
|||||||
import UIKit
|
import UIKit
|
||||||
|
|
||||||
/*
|
/*
|
||||||
https://admin-thimratv.guyantv.com/login
|
|
||||||
|
|
||||||
https://api-thimratv.thimratv.com/0a2c5b02/
|
|
||||||
|
|
||||||
新app的web需要适配
|
|
||||||
https://thimratv.com/
|
https://thimratv.com/
|
||||||
https://www.thimratv.com/
|
https://www.thimratv.com/
|
||||||
https://campaign.thimratv.com/
|
https://campaign.thimratv.com/
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#if DEBUG
|
#if DEBUG
|
||||||
//let SPBaseURL = "https://test1-api.guyantv.com"
|
|
||||||
//let SPURLPathPrefix = ""
|
|
||||||
let SPBaseURL = "https://api-thimratv.thimratv.com"
|
let SPBaseURL = "https://api-thimratv.thimratv.com"
|
||||||
let SPURLPathPrefix = "/0a2c5b02"
|
let SPURLPathPrefix = "/0a2c5b02"
|
||||||
|
|
||||||
@ -28,6 +23,7 @@ let SPWebBaseURL = "https://www.thimratv.com"
|
|||||||
#else
|
#else
|
||||||
let SPBaseURL = "https://api-thimratv.thimratv.com"
|
let SPBaseURL = "https://api-thimratv.thimratv.com"
|
||||||
let SPURLPathPrefix = "/0a2c5b02"
|
let SPURLPathPrefix = "/0a2c5b02"
|
||||||
|
|
||||||
let SPWebBaseURL = "https://www.thimratv.com"
|
let SPWebBaseURL = "https://www.thimratv.com"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
23
Thimra/Libs/HUD/SPHUD.swift
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
//
|
||||||
|
// SPHUD.swift
|
||||||
|
// Thimra
|
||||||
|
//
|
||||||
|
// Created by Overseas on 2025/4/24.
|
||||||
|
//
|
||||||
|
|
||||||
|
import UIKit
|
||||||
|
|
||||||
|
class SPHUD: NSObject {
|
||||||
|
static func config() {
|
||||||
|
SVProgressHUD.setDefaultMaskType(.clear)
|
||||||
|
}
|
||||||
|
|
||||||
|
static func show() {
|
||||||
|
SVProgressHUD.setDefaultMaskType(.clear)
|
||||||
|
SVProgressHUD.show()
|
||||||
|
}
|
||||||
|
|
||||||
|
static func dismiss() {
|
||||||
|
SVProgressHUD.dismiss()
|
||||||
|
}
|
||||||
|
}
|
6
Thimra/Source/Assets.xcassets/LaunchScreen/Contents.json
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"info" : {
|
||||||
|
"author" : "xcode",
|
||||||
|
"version" : 1
|
||||||
|
}
|
||||||
|
}
|
22
Thimra/Source/Assets.xcassets/LaunchScreen/launch_screen_bg_image.imageset/Contents.json
vendored
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
{
|
||||||
|
"images" : [
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "1x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename" : "Frame 1@2x.png",
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "2x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename" : "Frame 1@3x.png",
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "3x"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"info" : {
|
||||||
|
"author" : "xcode",
|
||||||
|
"version" : 1
|
||||||
|
}
|
||||||
|
}
|
BIN
Thimra/Source/Assets.xcassets/LaunchScreen/launch_screen_bg_image.imageset/Frame 1@2x.png
vendored
Normal file
After Width: | Height: | Size: 582 KiB |
BIN
Thimra/Source/Assets.xcassets/LaunchScreen/launch_screen_bg_image.imageset/Frame 1@3x.png
vendored
Normal file
After Width: | Height: | Size: 1.1 MiB |
22
Thimra/Source/Assets.xcassets/LaunchScreen/launch_screen_logo_01.imageset/Contents.json
vendored
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
{
|
||||||
|
"images" : [
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "1x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename" : "Frame 3@2x.png",
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "2x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename" : "Frame 3@3x.png",
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "3x"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"info" : {
|
||||||
|
"author" : "xcode",
|
||||||
|
"version" : 1
|
||||||
|
}
|
||||||
|
}
|
BIN
Thimra/Source/Assets.xcassets/LaunchScreen/launch_screen_logo_01.imageset/Frame 3@2x.png
vendored
Normal file
After Width: | Height: | Size: 22 KiB |
BIN
Thimra/Source/Assets.xcassets/LaunchScreen/launch_screen_logo_01.imageset/Frame 3@3x.png
vendored
Normal file
After Width: | Height: | Size: 46 KiB |
22
Thimra/Source/Assets.xcassets/LaunchScreen/launch_screen_logo_02.imageset/Contents.json
vendored
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
{
|
||||||
|
"images" : [
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "1x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename" : "Frame 2@2x.png",
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "2x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename" : "Frame 2@3x.png",
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "3x"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"info" : {
|
||||||
|
"author" : "xcode",
|
||||||
|
"version" : 1
|
||||||
|
}
|
||||||
|
}
|
BIN
Thimra/Source/Assets.xcassets/LaunchScreen/launch_screen_logo_02.imageset/Frame 2@2x.png
vendored
Normal file
After Width: | Height: | Size: 60 KiB |
BIN
Thimra/Source/Assets.xcassets/LaunchScreen/launch_screen_logo_02.imageset/Frame 2@3x.png
vendored
Normal file
After Width: | Height: | Size: 112 KiB |
22
Thimra/Source/Assets.xcassets/LaunchScreen/launch_screen_logo_03.imageset/Contents.json
vendored
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
{
|
||||||
|
"images" : [
|
||||||
|
{
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "1x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename" : "Frame 4@2x.png",
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "2x"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"filename" : "Frame 4@3x.png",
|
||||||
|
"idiom" : "universal",
|
||||||
|
"scale" : "3x"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"info" : {
|
||||||
|
"author" : "xcode",
|
||||||
|
"version" : 1
|
||||||
|
}
|
||||||
|
}
|
BIN
Thimra/Source/Assets.xcassets/LaunchScreen/launch_screen_logo_03.imageset/Frame 4@2x.png
vendored
Normal file
After Width: | Height: | Size: 3.6 KiB |
BIN
Thimra/Source/Assets.xcassets/LaunchScreen/launch_screen_logo_03.imageset/Frame 4@3x.png
vendored
Normal file
After Width: | Height: | Size: 6.5 KiB |
@ -1,8 +1,11 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="13122.16" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES" initialViewController="01J-lp-oVM">
|
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="23504" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES" initialViewController="01J-lp-oVM">
|
||||||
|
<device id="retina6_12" orientation="portrait" appearance="light"/>
|
||||||
<dependencies>
|
<dependencies>
|
||||||
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="13104.12"/>
|
<deployment identifier="iOS"/>
|
||||||
|
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="23506"/>
|
||||||
<capability name="Safe area layout guides" minToolsVersion="9.0"/>
|
<capability name="Safe area layout guides" minToolsVersion="9.0"/>
|
||||||
|
<capability name="System colors in document resources" minToolsVersion="11.0"/>
|
||||||
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
<scenes>
|
<scenes>
|
||||||
@ -11,10 +14,36 @@
|
|||||||
<objects>
|
<objects>
|
||||||
<viewController id="01J-lp-oVM" sceneMemberID="viewController">
|
<viewController id="01J-lp-oVM" sceneMemberID="viewController">
|
||||||
<view key="view" contentMode="scaleToFill" id="Ze5-6b-2t3">
|
<view key="view" contentMode="scaleToFill" id="Ze5-6b-2t3">
|
||||||
<rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
|
<rect key="frame" x="0.0" y="0.0" width="393" height="852"/>
|
||||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||||
<color key="backgroundColor" xcode11CocoaTouchSystemColor="systemBackgroundColor" cocoaTouchSystemColor="whiteColor"/>
|
<subviews>
|
||||||
|
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="launch_screen_bg_image" translatesAutoresizingMaskIntoConstraints="NO" id="uTG-8k-wrO">
|
||||||
|
<rect key="frame" x="0.0" y="0.0" width="401" height="852"/>
|
||||||
|
</imageView>
|
||||||
|
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="launch_screen_logo_01" translatesAutoresizingMaskIntoConstraints="NO" id="gda-Oq-H2U">
|
||||||
|
<rect key="frame" x="148" y="297.66666666666669" width="97" height="97"/>
|
||||||
|
</imageView>
|
||||||
|
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="launch_screen_logo_02" translatesAutoresizingMaskIntoConstraints="NO" id="JKU-rM-4Wr">
|
||||||
|
<rect key="frame" x="128" y="412.66666666666669" width="137" height="115.00000000000006"/>
|
||||||
|
</imageView>
|
||||||
|
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="launch_screen_logo_03" translatesAutoresizingMaskIntoConstraints="NO" id="kdp-DS-CSB">
|
||||||
|
<rect key="frame" x="160" y="742" width="73" height="16"/>
|
||||||
|
</imageView>
|
||||||
|
</subviews>
|
||||||
<viewLayoutGuide key="safeArea" id="6Tk-OE-BBY"/>
|
<viewLayoutGuide key="safeArea" id="6Tk-OE-BBY"/>
|
||||||
|
<color key="backgroundColor" systemColor="systemBackgroundColor"/>
|
||||||
|
<constraints>
|
||||||
|
<constraint firstItem="uTG-8k-wrO" firstAttribute="left" secondItem="6Tk-OE-BBY" secondAttribute="left" id="4ng-mZ-sZs"/>
|
||||||
|
<constraint firstItem="gda-Oq-H2U" firstAttribute="centerY" secondItem="Ze5-6b-2t3" secondAttribute="centerY" constant="-80" id="9Es-tU-mgS"/>
|
||||||
|
<constraint firstAttribute="right" secondItem="uTG-8k-wrO" secondAttribute="rightMargin" id="CfK-Qy-Jfk"/>
|
||||||
|
<constraint firstItem="kdp-DS-CSB" firstAttribute="centerX" secondItem="Ze5-6b-2t3" secondAttribute="centerX" id="HFP-0p-Z4l"/>
|
||||||
|
<constraint firstItem="uTG-8k-wrO" firstAttribute="top" secondItem="Ze5-6b-2t3" secondAttribute="top" id="P8y-9M-bIf"/>
|
||||||
|
<constraint firstItem="gda-Oq-H2U" firstAttribute="centerX" secondItem="Ze5-6b-2t3" secondAttribute="centerX" id="QnF-bf-aeZ"/>
|
||||||
|
<constraint firstItem="JKU-rM-4Wr" firstAttribute="centerX" secondItem="Ze5-6b-2t3" secondAttribute="centerX" id="TEI-ky-Z9B"/>
|
||||||
|
<constraint firstAttribute="bottom" secondItem="uTG-8k-wrO" secondAttribute="bottom" id="Yhw-eG-r2Q"/>
|
||||||
|
<constraint firstItem="6Tk-OE-BBY" firstAttribute="bottom" secondItem="kdp-DS-CSB" secondAttribute="bottom" constant="60" id="hvq-9f-FQX"/>
|
||||||
|
<constraint firstItem="JKU-rM-4Wr" firstAttribute="top" secondItem="gda-Oq-H2U" secondAttribute="bottom" constant="18" id="jTB-Dj-RBg"/>
|
||||||
|
</constraints>
|
||||||
</view>
|
</view>
|
||||||
</viewController>
|
</viewController>
|
||||||
<placeholder placeholderIdentifier="IBFirstResponder" id="iYj-Kq-Ea1" userLabel="First Responder" sceneMemberID="firstResponder"/>
|
<placeholder placeholderIdentifier="IBFirstResponder" id="iYj-Kq-Ea1" userLabel="First Responder" sceneMemberID="firstResponder"/>
|
||||||
@ -22,4 +51,13 @@
|
|||||||
<point key="canvasLocation" x="53" y="375"/>
|
<point key="canvasLocation" x="53" y="375"/>
|
||||||
</scene>
|
</scene>
|
||||||
</scenes>
|
</scenes>
|
||||||
|
<resources>
|
||||||
|
<image name="launch_screen_bg_image" width="375" height="812"/>
|
||||||
|
<image name="launch_screen_logo_01" width="97" height="97"/>
|
||||||
|
<image name="launch_screen_logo_02" width="137" height="115"/>
|
||||||
|
<image name="launch_screen_logo_03" width="73" height="16"/>
|
||||||
|
<systemColor name="systemBackgroundColor">
|
||||||
|
<color white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
|
||||||
|
</systemColor>
|
||||||
|
</resources>
|
||||||
</document>
|
</document>
|
||||||
|
@ -15,3 +15,4 @@
|
|||||||
#import <MJRefresh/MJRefresh.h>
|
#import <MJRefresh/MJRefresh.h>
|
||||||
#import <WMZPageController/WMZPageController.h>
|
#import <WMZPageController/WMZPageController.h>
|
||||||
#import "WMPageController.h"
|
#import "WMPageController.h"
|
||||||
|
#import <SVProgressHUD/SVProgressHUD.h>
|
||||||
|