1
This commit is contained in:
parent
008d5b55b8
commit
2a015361d9
@ -40,6 +40,7 @@
|
||||
031FDEEA2EB35D2600F4CAC7 /* FACoinPackCanReceiveModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 031FDEE92EB35D2600F4CAC7 /* FACoinPackCanReceiveModel.swift */; };
|
||||
031FDEEC2EB35DF600F4CAC7 /* FACoinsPackAlert.swift in Sources */ = {isa = PBXBuildFile; fileRef = 031FDEEB2EB35DF600F4CAC7 /* FACoinsPackAlert.swift */; };
|
||||
031FDEEE2EB3682000F4CAC7 /* FAVipRetainAlert.swift in Sources */ = {isa = PBXBuildFile; fileRef = 031FDEED2EB3682000F4CAC7 /* FAVipRetainAlert.swift */; };
|
||||
035589332F161E6E00FAEF4A /* FAPayRetainAlert.swift in Sources */ = {isa = PBXBuildFile; fileRef = 035589322F161E6E00FAEF4A /* FAPayRetainAlert.swift */; };
|
||||
039CE6042EAA2621007B5EED /* AppDelegate+FAAdjust.swift in Sources */ = {isa = PBXBuildFile; fileRef = 039CE6032EAA2612007B5EED /* AppDelegate+FAAdjust.swift */; };
|
||||
039CE6092EAA2F71007B5EED /* FAAdjustStateManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 039CE6082EAA2F62007B5EED /* FAAdjustStateManager.swift */; };
|
||||
039CE60B2EAA31CB007B5EED /* FAStatAPI.swift in Sources */ = {isa = PBXBuildFile; fileRef = 039CE60A2EAA31CB007B5EED /* FAStatAPI.swift */; };
|
||||
@ -413,6 +414,7 @@
|
||||
031FDEE92EB35D2600F4CAC7 /* FACoinPackCanReceiveModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FACoinPackCanReceiveModel.swift; sourceTree = "<group>"; };
|
||||
031FDEEB2EB35DF600F4CAC7 /* FACoinsPackAlert.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FACoinsPackAlert.swift; sourceTree = "<group>"; };
|
||||
031FDEED2EB3682000F4CAC7 /* FAVipRetainAlert.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FAVipRetainAlert.swift; sourceTree = "<group>"; };
|
||||
035589322F161E6E00FAEF4A /* FAPayRetainAlert.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FAPayRetainAlert.swift; sourceTree = "<group>"; };
|
||||
039CE6032EAA2612007B5EED /* AppDelegate+FAAdjust.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "AppDelegate+FAAdjust.swift"; sourceTree = "<group>"; };
|
||||
039CE6082EAA2F62007B5EED /* FAAdjustStateManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FAAdjustStateManager.swift; sourceTree = "<group>"; };
|
||||
039CE60A2EAA31CB007B5EED /* FAStatAPI.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FAStatAPI.swift; sourceTree = "<group>"; };
|
||||
@ -767,6 +769,7 @@
|
||||
03E9A73D2EB460F2000D1067 /* FAApnsAlert.swift */,
|
||||
03E9A73F2EB49BE6000D1067 /* FAUpdatesAlert.swift */,
|
||||
03E9A7472EB5D2CB000D1067 /* FALogoutAlert.swift */,
|
||||
035589322F161E6E00FAEF4A /* FAPayRetainAlert.swift */,
|
||||
);
|
||||
path = Alert;
|
||||
sourceTree = "<group>";
|
||||
@ -2370,6 +2373,7 @@
|
||||
031FDEDC2EB3141E00F4CAC7 /* FASettingFooterView.swift in Sources */,
|
||||
031FDEBE2EB0C99900F4CAC7 /* FANewVideoRechargeView.swift in Sources */,
|
||||
03E239932EAA1A29004A8CEC /* Date+FAAdd.swift in Sources */,
|
||||
035589332F161E6E00FAEF4A /* FAPayRetainAlert.swift in Sources */,
|
||||
031FDEDA2EB30D6E00F4CAC7 /* FASettingCell.swift in Sources */,
|
||||
03E239942EAA1A29004A8CEC /* UserDefaults+FAAdd.swift in Sources */,
|
||||
039CE6322EAB796F007B5EED /* FALabel.swift in Sources */,
|
||||
|
||||
@ -0,0 +1,114 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Scheme
|
||||
LastUpgradeVersion = "2600"
|
||||
wasCreatedForAppExtension = "YES"
|
||||
version = "2.0">
|
||||
<BuildAction
|
||||
parallelizeBuildables = "YES"
|
||||
buildImplicitDependencies = "YES"
|
||||
buildArchitectures = "Automatic">
|
||||
<BuildActionEntries>
|
||||
<BuildActionEntry
|
||||
buildForTesting = "YES"
|
||||
buildForRunning = "YES"
|
||||
buildForProfiling = "YES"
|
||||
buildForArchiving = "YES"
|
||||
buildForAnalyzing = "YES">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "03E9A76C2EC1950F000D1067"
|
||||
BuildableName = "FAWidgetExtension.appex"
|
||||
BlueprintName = "FAWidgetExtension"
|
||||
ReferencedContainer = "container:Fableon.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry
|
||||
buildForTesting = "YES"
|
||||
buildForRunning = "YES"
|
||||
buildForProfiling = "YES"
|
||||
buildForArchiving = "YES"
|
||||
buildForAnalyzing = "YES">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "F3F6B3Q1BI331E859340M109"
|
||||
BuildableName = "Fableon.app"
|
||||
BlueprintName = "Fableon"
|
||||
ReferencedContainer = "container:Fableon.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildActionEntry>
|
||||
</BuildActionEntries>
|
||||
</BuildAction>
|
||||
<TestAction
|
||||
buildConfiguration = "Debug"
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||
shouldAutocreateTestPlan = "YES">
|
||||
</TestAction>
|
||||
<LaunchAction
|
||||
buildConfiguration = "Debug"
|
||||
selectedDebuggerIdentifier = ""
|
||||
selectedLauncherIdentifier = "Xcode.IDEFoundation.Launcher.PosixSpawn"
|
||||
launchStyle = "0"
|
||||
askForAppToLaunch = "Yes"
|
||||
useCustomWorkingDirectory = "NO"
|
||||
ignoresPersistentStateOnLaunch = "NO"
|
||||
debugDocumentVersioning = "YES"
|
||||
debugServiceExtension = "internal"
|
||||
allowLocationSimulation = "YES"
|
||||
launchAutomaticallySubstyle = "2">
|
||||
<BuildableProductRunnable
|
||||
runnableDebuggingMode = "0">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "F3F6B3Q1BI331E859340M109"
|
||||
BuildableName = "Fableon.app"
|
||||
BlueprintName = "Fableon"
|
||||
ReferencedContainer = "container:Fableon.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildableProductRunnable>
|
||||
<EnvironmentVariables>
|
||||
<EnvironmentVariable
|
||||
key = "_XCWidgetKind"
|
||||
value = ""
|
||||
isEnabled = "YES">
|
||||
</EnvironmentVariable>
|
||||
<EnvironmentVariable
|
||||
key = "_XCWidgetDefaultView"
|
||||
value = "timeline"
|
||||
isEnabled = "YES">
|
||||
</EnvironmentVariable>
|
||||
<EnvironmentVariable
|
||||
key = "_XCWidgetFamily"
|
||||
value = "systemMedium"
|
||||
isEnabled = "YES">
|
||||
</EnvironmentVariable>
|
||||
</EnvironmentVariables>
|
||||
</LaunchAction>
|
||||
<ProfileAction
|
||||
buildConfiguration = "Release"
|
||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||
savedToolIdentifier = ""
|
||||
useCustomWorkingDirectory = "NO"
|
||||
debugDocumentVersioning = "YES"
|
||||
askForAppToLaunch = "Yes"
|
||||
launchAutomaticallySubstyle = "2">
|
||||
<BuildableProductRunnable
|
||||
runnableDebuggingMode = "0">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "F3F6B3Q1BI331E859340M109"
|
||||
BuildableName = "Fableon.app"
|
||||
BlueprintName = "Fableon"
|
||||
ReferencedContainer = "container:Fableon.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildableProductRunnable>
|
||||
</ProfileAction>
|
||||
<AnalyzeAction
|
||||
buildConfiguration = "Debug">
|
||||
</AnalyzeAction>
|
||||
<ArchiveAction
|
||||
buildConfiguration = "Release"
|
||||
revealArchiveInOrganizer = "YES">
|
||||
</ArchiveAction>
|
||||
</Scheme>
|
||||
78
Fableon.xcodeproj/xcshareddata/xcschemes/Fableon.xcscheme
Normal file
78
Fableon.xcodeproj/xcshareddata/xcschemes/Fableon.xcscheme
Normal file
@ -0,0 +1,78 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Scheme
|
||||
LastUpgradeVersion = "2600"
|
||||
version = "1.7">
|
||||
<BuildAction
|
||||
parallelizeBuildables = "YES"
|
||||
buildImplicitDependencies = "YES"
|
||||
buildArchitectures = "Automatic">
|
||||
<BuildActionEntries>
|
||||
<BuildActionEntry
|
||||
buildForTesting = "YES"
|
||||
buildForRunning = "YES"
|
||||
buildForProfiling = "YES"
|
||||
buildForArchiving = "YES"
|
||||
buildForAnalyzing = "YES">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "F3F6B3Q1BI331E859340M109"
|
||||
BuildableName = "Fableon.app"
|
||||
BlueprintName = "Fableon"
|
||||
ReferencedContainer = "container:Fableon.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildActionEntry>
|
||||
</BuildActionEntries>
|
||||
</BuildAction>
|
||||
<TestAction
|
||||
buildConfiguration = "Debug"
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||
shouldAutocreateTestPlan = "YES">
|
||||
</TestAction>
|
||||
<LaunchAction
|
||||
buildConfiguration = "Debug"
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||
launchStyle = "0"
|
||||
useCustomWorkingDirectory = "NO"
|
||||
ignoresPersistentStateOnLaunch = "NO"
|
||||
debugDocumentVersioning = "YES"
|
||||
debugServiceExtension = "internal"
|
||||
allowLocationSimulation = "YES">
|
||||
<BuildableProductRunnable
|
||||
runnableDebuggingMode = "0">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "F3F6B3Q1BI331E859340M109"
|
||||
BuildableName = "Fableon.app"
|
||||
BlueprintName = "Fableon"
|
||||
ReferencedContainer = "container:Fableon.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildableProductRunnable>
|
||||
</LaunchAction>
|
||||
<ProfileAction
|
||||
buildConfiguration = "Release"
|
||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||
savedToolIdentifier = ""
|
||||
useCustomWorkingDirectory = "NO"
|
||||
debugDocumentVersioning = "YES">
|
||||
<BuildableProductRunnable
|
||||
runnableDebuggingMode = "0">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "F3F6B3Q1BI331E859340M109"
|
||||
BuildableName = "Fableon.app"
|
||||
BlueprintName = "Fableon"
|
||||
ReferencedContainer = "container:Fableon.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildableProductRunnable>
|
||||
</ProfileAction>
|
||||
<AnalyzeAction
|
||||
buildConfiguration = "Debug">
|
||||
</AnalyzeAction>
|
||||
<ArchiveAction
|
||||
buildConfiguration = "Release"
|
||||
revealArchiveInOrganizer = "YES">
|
||||
</ArchiveAction>
|
||||
</Scheme>
|
||||
@ -0,0 +1,97 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Scheme
|
||||
LastUpgradeVersion = "2600"
|
||||
wasCreatedForAppExtension = "YES"
|
||||
version = "2.0">
|
||||
<BuildAction
|
||||
parallelizeBuildables = "YES"
|
||||
buildImplicitDependencies = "YES"
|
||||
buildArchitectures = "Automatic">
|
||||
<BuildActionEntries>
|
||||
<BuildActionEntry
|
||||
buildForTesting = "YES"
|
||||
buildForRunning = "YES"
|
||||
buildForProfiling = "YES"
|
||||
buildForArchiving = "YES"
|
||||
buildForAnalyzing = "YES">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "03E9A7562EC19101000D1067"
|
||||
BuildableName = "NotificationService.appex"
|
||||
BlueprintName = "NotificationService"
|
||||
ReferencedContainer = "container:Fableon.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildActionEntry>
|
||||
<BuildActionEntry
|
||||
buildForTesting = "YES"
|
||||
buildForRunning = "YES"
|
||||
buildForProfiling = "YES"
|
||||
buildForArchiving = "YES"
|
||||
buildForAnalyzing = "YES">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "F3F6B3Q1BI331E859340M109"
|
||||
BuildableName = "Fableon.app"
|
||||
BlueprintName = "Fableon"
|
||||
ReferencedContainer = "container:Fableon.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildActionEntry>
|
||||
</BuildActionEntries>
|
||||
</BuildAction>
|
||||
<TestAction
|
||||
buildConfiguration = "Debug"
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||
shouldAutocreateTestPlan = "YES">
|
||||
</TestAction>
|
||||
<LaunchAction
|
||||
buildConfiguration = "Debug"
|
||||
selectedDebuggerIdentifier = ""
|
||||
selectedLauncherIdentifier = "Xcode.IDEFoundation.Launcher.PosixSpawn"
|
||||
launchStyle = "0"
|
||||
askForAppToLaunch = "Yes"
|
||||
useCustomWorkingDirectory = "NO"
|
||||
ignoresPersistentStateOnLaunch = "NO"
|
||||
debugDocumentVersioning = "YES"
|
||||
debugServiceExtension = "internal"
|
||||
allowLocationSimulation = "YES"
|
||||
launchAutomaticallySubstyle = "2">
|
||||
<BuildableProductRunnable
|
||||
runnableDebuggingMode = "0">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "F3F6B3Q1BI331E859340M109"
|
||||
BuildableName = "Fableon.app"
|
||||
BlueprintName = "Fableon"
|
||||
ReferencedContainer = "container:Fableon.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildableProductRunnable>
|
||||
</LaunchAction>
|
||||
<ProfileAction
|
||||
buildConfiguration = "Release"
|
||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||
savedToolIdentifier = ""
|
||||
useCustomWorkingDirectory = "NO"
|
||||
debugDocumentVersioning = "YES"
|
||||
askForAppToLaunch = "Yes"
|
||||
launchAutomaticallySubstyle = "2">
|
||||
<BuildableProductRunnable
|
||||
runnableDebuggingMode = "0">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "F3F6B3Q1BI331E859340M109"
|
||||
BuildableName = "Fableon.app"
|
||||
BlueprintName = "Fableon"
|
||||
ReferencedContainer = "container:Fableon.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildableProductRunnable>
|
||||
</ProfileAction>
|
||||
<AnalyzeAction
|
||||
buildConfiguration = "Debug">
|
||||
</AnalyzeAction>
|
||||
<ArchiveAction
|
||||
buildConfiguration = "Release"
|
||||
revealArchiveInOrganizer = "YES">
|
||||
</ArchiveAction>
|
||||
</Scheme>
|
||||
@ -197,4 +197,21 @@ class FAStoreAPI: NSObject {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
///挽留支付项
|
||||
static func requestPayRetainInfo(completer: ((_ model: FAPayAlertModel?) -> Void)?) {
|
||||
|
||||
FANetworkManager.manager.request(FABaseURL + "/payRetrieveSettings",
|
||||
method: .get,
|
||||
parameters: nil,
|
||||
isLoding: true,
|
||||
isToast: true,
|
||||
) { (response: FANetworkManager.Response<FAPayAlertModel>) in
|
||||
if let _ = response.data?.info {
|
||||
completer?(response.data)
|
||||
} else {
|
||||
completer?(nil)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -201,7 +201,7 @@ extension FAShortDetailViewModel {
|
||||
}
|
||||
view.didDismissHandle = { [weak self] in
|
||||
guard let self = self else { return }
|
||||
self._showVipRetainAlert(videoInfo)
|
||||
self._showPayRetainAlert(videoInfo)
|
||||
}
|
||||
view.present(in: nil)
|
||||
self.popView = view
|
||||
@ -233,6 +233,26 @@ extension FAShortDetailViewModel {
|
||||
view.show(in: FATool.keyWindow)
|
||||
}
|
||||
}
|
||||
|
||||
private func _showPayRetainAlert(_ videoInfo: FAVideoInfoModel) {
|
||||
let view = FAPayRetainAlert()
|
||||
view.show(in: FATool.keyWindow)
|
||||
|
||||
// payDataRequest = FAPayDataRequest()
|
||||
|
||||
// payDataRequest?.requestPayRetainInfo { [weak self] model in
|
||||
// guard let self = self else { return }
|
||||
// guard let model = model else { return }
|
||||
// let view = FAVipRetainAlert()
|
||||
// view.model = model
|
||||
// view.videoInfo = videoInfo
|
||||
// view.buyFinishHandle = { [weak self] in
|
||||
// guard let self = self else { return }
|
||||
// self.requestDetailData(indexPath: self.currentIndexPath, completer: nil)
|
||||
// }
|
||||
// view.show(in: FATool.keyWindow)
|
||||
// }
|
||||
}
|
||||
}
|
||||
|
||||
extension FAShortDetailViewModel {
|
||||
|
||||
56
Fableon/Object/Libs/Alert/FAPayRetainAlert.swift
Normal file
56
Fableon/Object/Libs/Alert/FAPayRetainAlert.swift
Normal file
@ -0,0 +1,56 @@
|
||||
//
|
||||
// FAPayRetainAlert.swift
|
||||
// Fableon
|
||||
//
|
||||
// Created by 湖北秦九 on 2026/1/13.
|
||||
//
|
||||
|
||||
import UIKit
|
||||
|
||||
class FAPayRetainAlert: FABaseAlert {
|
||||
|
||||
private lazy var bgView: UIImageView = {
|
||||
let imageView = UIImageView(image: UIImage(named: "pay_retain_bg_image"))
|
||||
return imageView
|
||||
}()
|
||||
|
||||
private lazy var titleLabel: UILabel = {
|
||||
let label = UILabel()
|
||||
|
||||
return label
|
||||
}()
|
||||
|
||||
override init(frame: CGRect) {
|
||||
super.init(frame: frame)
|
||||
|
||||
|
||||
fa_setupLayout()
|
||||
}
|
||||
|
||||
@MainActor required init?(coder: NSCoder) {
|
||||
fatalError("init(coder:) has not been implemented")
|
||||
}
|
||||
}
|
||||
|
||||
extension FAPayRetainAlert {
|
||||
|
||||
private func fa_setupLayout() {
|
||||
contentView.backgroundColor = .clear
|
||||
contentView.layer.cornerRadius = 0
|
||||
|
||||
contentView.addSubview(bgView)
|
||||
contentView.addSubview(titleLabel)
|
||||
|
||||
|
||||
bgView.snp.makeConstraints { make in
|
||||
make.edges.equalToSuperview()
|
||||
}
|
||||
|
||||
titleLabel.snp.makeConstraints { make in
|
||||
make.top.equalToSuperview().offset(160)
|
||||
make.centerX.equalToSuperview()
|
||||
make.right.lessThanOrEqualToSuperview().offset(-1)
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@ -104,6 +104,27 @@ class FAPayDataRequest: NSObject {
|
||||
}
|
||||
}
|
||||
|
||||
func requestPayRetainInfo(completer: ((_ model: FAPayAlertModel?) -> Void)?) {
|
||||
self.completerBlock = nil
|
||||
self.payAlertBlock = completer
|
||||
|
||||
FAStoreAPI.requestPayRetainInfo { [weak self] model in
|
||||
guard let self = self else { return }
|
||||
guard let model = model else {
|
||||
self.payAlertBlock?(nil)
|
||||
return
|
||||
}
|
||||
self.payAlertModel = model
|
||||
|
||||
let productId = FAIapManager.manager.getProductId(templateId: model.info?.ios_template_id) ?? ""
|
||||
|
||||
let set = Set([productId])
|
||||
let productsRequest = SKProductsRequest(productIdentifiers: set)
|
||||
productsRequest.delegate = self
|
||||
productsRequest.start()
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
//MARK: SKProductsRequestDelegate
|
||||
|
||||
22
Fableon/Source/Assets.xcassets/image/pay_retain_bg_image.imageset/Contents.json
vendored
Normal file
22
Fableon/Source/Assets.xcassets/image/pay_retain_bg_image.imageset/Contents.json
vendored
Normal file
@ -0,0 +1,22 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "弹窗背景@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "弹窗背景@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
||||
BIN
Fableon/Source/Assets.xcassets/image/pay_retain_bg_image.imageset/弹窗背景@2x.png
vendored
Normal file
BIN
Fableon/Source/Assets.xcassets/image/pay_retain_bg_image.imageset/弹窗背景@2x.png
vendored
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 330 KiB |
BIN
Fableon/Source/Assets.xcassets/image/pay_retain_bg_image.imageset/弹窗背景@3x.png
vendored
Normal file
BIN
Fableon/Source/Assets.xcassets/image/pay_retain_bg_image.imageset/弹窗背景@3x.png
vendored
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 629 KiB |
Loading…
x
Reference in New Issue
Block a user