Przeglądaj źródła

支付成功页面显示

吴彦祖 9 miesięcy temu
rodzic
commit
dd01c9b09a

+ 20 - 0
ADHTuanCan.xcodeproj/project.pbxproj

@@ -22,6 +22,8 @@
 		C4110B482B47F9FC00B23195 /* Launch Screen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = C4110B472B47F9FC00B23195 /* Launch Screen.storyboard */; };
 		C4144CD52AF91DCB00B5F73C /* OrderDetailViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = C4144CD32AF91DCB00B5F73C /* OrderDetailViewController.swift */; };
 		C4144CD62AF91DCB00B5F73C /* OrderDetailViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = C4144CD42AF91DCB00B5F73C /* OrderDetailViewController.xib */; };
+		C4194E7C2B565DAC00B60D41 /* PaySuccessView.swift in Sources */ = {isa = PBXBuildFile; fileRef = C4194E7B2B565DAC00B60D41 /* PaySuccessView.swift */; };
+		C4194E882B566AC300B60D41 /* PaySuccessView.xib in Resources */ = {isa = PBXBuildFile; fileRef = C4194E8A2B566AC300B60D41 /* PaySuccessView.xib */; };
 		C41DA49E2AFEF9D500707C5D /* MealEvaluateListVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = C41DA49C2AFEF9D500707C5D /* MealEvaluateListVC.swift */; };
 		C41DA49F2AFEF9D500707C5D /* MealEvaluateListVC.xib in Resources */ = {isa = PBXBuildFile; fileRef = C41DA49D2AFEF9D500707C5D /* MealEvaluateListVC.xib */; };
 		C41DA4A22AFEFC4F00707C5D /* MealEcaluateCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = C41DA4A02AFEFC4F00707C5D /* MealEcaluateCell.swift */; };
@@ -403,6 +405,10 @@
 		C4110B472B47F9FC00B23195 /* Launch Screen.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; path = "Launch Screen.storyboard"; sourceTree = "<group>"; };
 		C4144CD32AF91DCB00B5F73C /* OrderDetailViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OrderDetailViewController.swift; sourceTree = "<group>"; };
 		C4144CD42AF91DCB00B5F73C /* OrderDetailViewController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = OrderDetailViewController.xib; sourceTree = "<group>"; };
+		C4194E7B2B565DAC00B60D41 /* PaySuccessView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PaySuccessView.swift; sourceTree = "<group>"; };
+		C4194E892B566AC300B60D41 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/PaySuccessView.xib; sourceTree = "<group>"; };
+		C4194E8C2B566AC500B60D41 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/PaySuccessView.strings; sourceTree = "<group>"; };
+		C4194E8E2B566AC900B60D41 /* zh-Hans */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hans"; path = "zh-Hans.lproj/PaySuccessView.strings"; sourceTree = "<group>"; };
 		C41DA49C2AFEF9D500707C5D /* MealEvaluateListVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MealEvaluateListVC.swift; sourceTree = "<group>"; };
 		C41DA49D2AFEF9D500707C5D /* MealEvaluateListVC.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = MealEvaluateListVC.xib; sourceTree = "<group>"; };
 		C41DA4A02AFEFC4F00707C5D /* MealEcaluateCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MealEcaluateCell.swift; sourceTree = "<group>"; };
@@ -1927,6 +1933,8 @@
 				C44CFA492AFB3247000D592D /* payMentItemCell.xib */,
 				C4C6D8482AFCD21F00E1AFB5 /* PswPayView.swift */,
 				C4C6D84A2AFCD22800E1AFB5 /* PswPayView.xib */,
+				C4194E7B2B565DAC00B60D41 /* PaySuccessView.swift */,
+				C4194E8A2B566AC300B60D41 /* PaySuccessView.xib */,
 			);
 			path = "支付类";
 			sourceTree = "<group>";
@@ -2486,6 +2494,7 @@
 				C45B67EF2B19DDBB00EA1725 /* BalanceViewController.xib in Resources */,
 				C4577CB32AEA8E5C004D9439 /* MealCollectionView.xib in Resources */,
 				C42FF7A72B15DF4700B591F4 /* CheckOrderViewController.xib in Resources */,
+				C4194E882B566AC300B60D41 /* PaySuccessView.xib in Resources */,
 				C42AEE1B2B037AED0045EF66 /* UnsubscribeViewController.xib in Resources */,
 				C41DA4E12AFFC04900707C5D /* DiscountsSectionView.xib in Resources */,
 				C4A73B572B18E6C300A1595A /* AddressEditorVC.xib in Resources */,
@@ -2787,6 +2796,7 @@
 				C44CFA652AFB8084000D592D /* BrokerageCell.swift in Sources */,
 				C45C8A292AD240B9009D6C3A /* OrderManagerVC.swift in Sources */,
 				C4EDD9DD2AF2879100BE8EFF /* MJRefreshBackNormalFooter.m in Sources */,
+				C4194E7C2B565DAC00B60D41 /* PaySuccessView.swift in Sources */,
 				C4144CD52AF91DCB00B5F73C /* OrderDetailViewController.swift in Sources */,
 				C42AEE2B2B04D9CA0045EF66 /* RechargeAmountViewController.swift in Sources */,
 				C4836B172AC5597B00E3FA1B /* ButtonUtil.swift in Sources */,
@@ -2937,6 +2947,16 @@
 			name = EditLoginPSWViewController.xib;
 			sourceTree = "<group>";
 		};
+		C4194E8A2B566AC300B60D41 /* PaySuccessView.xib */ = {
+			isa = PBXVariantGroup;
+			children = (
+				C4194E892B566AC300B60D41 /* Base */,
+				C4194E8C2B566AC500B60D41 /* en */,
+				C4194E8E2B566AC900B60D41 /* zh-Hans */,
+			);
+			name = PaySuccessView.xib;
+			sourceTree = "<group>";
+		};
 		C41DA4B72AFF22DD00707C5D /* IntegralHeadView.xib */ = {
 			isa = PBXVariantGroup;
 			children = (

BIN
ADHTuanCan.xcworkspace/xcuserdata/aodeheng.xcuserdatad/UserInterfaceState.xcuserstate


+ 0 - 48
ADHTuanCan.xcworkspace/xcuserdata/aodeheng.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist

@@ -20,54 +20,6 @@
             landmarkType = "7">
          </BreakpointContent>
       </BreakpointProxy>
-      <BreakpointProxy
-         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
-         <BreakpointContent
-            uuid = "05482FD0-C99A-4F9F-8324-8F065E470BC7"
-            shouldBeEnabled = "Yes"
-            ignoreCount = "0"
-            continueAfterRunningActions = "No"
-            filePath = "ADHTuanCan/Class/&#x8d2d;&#x7269;&#x8f66;/&#x786e;&#x8ba4;&#x8ba2;&#x5355;/CheckOrderViewController.swift"
-            startingColumnNumber = "9223372036854775807"
-            endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "189"
-            endingLineNumber = "189"
-            landmarkName = "createUI()"
-            landmarkType = "7">
-            <Locations>
-               <Location
-                  uuid = "05482FD0-C99A-4F9F-8324-8F065E470BC7 - f8a0118d304aa90c"
-                  shouldBeEnabled = "Yes"
-                  ignoreCount = "0"
-                  continueAfterRunningActions = "No"
-                  symbolName = "closure #9 (ADHTuanCan.AddressModel) -&gt; () in ADHTuanCan.CheckOrderViewController.createUI() -&gt; ()"
-                  moduleName = "ADHTuanCan"
-                  usesParentBreakpointCondition = "Yes"
-                  urlString = "file:///Users/aodeheng/Desktop/TuanCanAPP_iOS/ADHTuanCan/Class/%E8%B4%AD%E7%89%A9%E8%BD%A6/%E7%A1%AE%E8%AE%A4%E8%AE%A2%E5%8D%95/CheckOrderViewController.swift"
-                  startingColumnNumber = "9223372036854775807"
-                  endingColumnNumber = "9223372036854775807"
-                  startingLineNumber = "188"
-                  endingLineNumber = "188"
-                  offsetFromSymbolStart = "248">
-               </Location>
-               <Location
-                  uuid = "05482FD0-C99A-4F9F-8324-8F065E470BC7 - f8a0118d304aa96d"
-                  shouldBeEnabled = "Yes"
-                  ignoreCount = "0"
-                  continueAfterRunningActions = "No"
-                  symbolName = "closure #9 (ADHTuanCan.AddressModel) -&gt; () in ADHTuanCan.CheckOrderViewController.createUI() -&gt; ()"
-                  moduleName = "ADHTuanCan"
-                  usesParentBreakpointCondition = "Yes"
-                  urlString = "file:///Users/aodeheng/Desktop/TuanCanAPP_iOS/ADHTuanCan/Class/%E8%B4%AD%E7%89%A9%E8%BD%A6/%E7%A1%AE%E8%AE%A4%E8%AE%A2%E5%8D%95/CheckOrderViewController.swift"
-                  startingColumnNumber = "9223372036854775807"
-                  endingColumnNumber = "9223372036854775807"
-                  startingLineNumber = "189"
-                  endingLineNumber = "189"
-                  offsetFromSymbolStart = "80">
-               </Location>
-            </Locations>
-         </BreakpointContent>
-      </BreakpointProxy>
       <BreakpointProxy
          BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
          <BreakpointContent

+ 178 - 0
ADHTuanCan/Class/支付类/Base.lproj/PaySuccessView.xib

@@ -0,0 +1,178 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="22505" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
+    <device id="retina6_12" orientation="portrait" appearance="light"/>
+    <dependencies>
+        <deployment identifier="iOS"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="22504"/>
+        <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"/>
+    </dependencies>
+    <objects>
+        <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>
+        <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
+        <view contentMode="scaleToFill" id="l4T-iA-9dH" customClass="PaySuccessView" customModule="ADHTuanCan" customModuleProvider="target">
+            <rect key="frame" x="0.0" y="0.0" width="393" height="852"/>
+            <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
+            <subviews>
+                <view alpha="0.29999999999999999" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Mgf-Qn-F1V">
+                    <rect key="frame" x="0.0" y="0.0" width="393" height="852"/>
+                    <color key="backgroundColor" white="0.0" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+                </view>
+                <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="5mu-Ep-B8b">
+                    <rect key="frame" x="0.0" y="59" width="393" height="793"/>
+                    <subviews>
+                        <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="支付成功" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Q9E-r7-qDk">
+                            <rect key="frame" x="159.66666666666666" y="30" width="73.666666666666657" height="21"/>
+                            <fontDescription key="fontDescription" type="system" weight="medium" pointSize="18"/>
+                            <color key="textColor" red="0.10980392160000001" green="0.18823529410000001" blue="0.30980392159999998" alpha="1" colorSpace="calibratedRGB"/>
+                            <nil key="highlightedColor"/>
+                        </label>
+                        <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="订单金额" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="no6-Gy-MtA">
+                            <rect key="frame" x="25.000000000000004" y="101" width="61.333333333333343" height="18"/>
+                            <fontDescription key="fontDescription" type="system" pointSize="15"/>
+                            <color key="textColor" red="0.12941176469999999" green="0.12941176469999999" blue="0.1333333333" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                            <nil key="highlightedColor"/>
+                        </label>
+                        <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="支付方式" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="O2G-T7-qZr">
+                            <rect key="frame" x="25.000000000000004" y="139" width="61.333333333333343" height="18"/>
+                            <fontDescription key="fontDescription" type="system" pointSize="15"/>
+                            <color key="textColor" red="0.12941176469999999" green="0.12941176469999999" blue="0.1333333333" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                            <nil key="highlightedColor"/>
+                        </label>
+                        <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="订单编号" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="lc5-Hr-p3T">
+                            <rect key="frame" x="25.000000000000004" y="177" width="61.333333333333343" height="18"/>
+                            <fontDescription key="fontDescription" type="system" pointSize="15"/>
+                            <color key="textColor" red="0.12941176469999999" green="0.12941176469999999" blue="0.1333333333" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                            <nil key="highlightedColor"/>
+                        </label>
+                        <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="支付时间" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="wny-K6-beM">
+                            <rect key="frame" x="25.000000000000004" y="215" width="61.333333333333343" height="18"/>
+                            <fontDescription key="fontDescription" type="system" pointSize="15"/>
+                            <color key="textColor" red="0.12941176469999999" green="0.12941176469999999" blue="0.1333333333" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                            <nil key="highlightedColor"/>
+                        </label>
+                        <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="1" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Pwb-mH-RI2">
+                            <rect key="frame" x="361" y="101" width="7" height="18"/>
+                            <fontDescription key="fontDescription" type="system" pointSize="15"/>
+                            <color key="textColor" red="0.12941176469999999" green="0.12941176469999999" blue="0.1333333333" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                            <nil key="highlightedColor"/>
+                        </label>
+                        <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="2" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="wMx-xf-1Sz">
+                            <rect key="frame" x="359" y="139" width="9" height="18"/>
+                            <fontDescription key="fontDescription" type="system" pointSize="15"/>
+                            <color key="textColor" red="0.12941176469999999" green="0.12941176469999999" blue="0.1333333333" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                            <nil key="highlightedColor"/>
+                        </label>
+                        <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="0eU-gT-JAB">
+                            <rect key="frame" x="317" y="173.66666666666666" width="51" height="25"/>
+                            <constraints>
+                                <constraint firstAttribute="width" constant="51" id="Xco-hC-c2t"/>
+                                <constraint firstAttribute="height" constant="25" id="iKk-nT-Kmv"/>
+                            </constraints>
+                            <fontDescription key="fontDescription" type="system" pointSize="14"/>
+                            <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/>
+                            <state key="normal" title="复制">
+                                <color key="titleColor" red="0.12941176469999999" green="0.12941176469999999" blue="0.1333333333" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                            </state>
+                            <userDefinedRuntimeAttributes>
+                                <userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
+                                    <real key="value" value="1"/>
+                                </userDefinedRuntimeAttribute>
+                                <userDefinedRuntimeAttribute type="color" keyPath="borderColor">
+                                    <color key="value" red="0.92549019610000005" green="0.92549019610000005" blue="0.92549019610000005" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                                </userDefinedRuntimeAttribute>
+                                <userDefinedRuntimeAttribute type="number" keyPath="borderWidth">
+                                    <real key="value" value="1"/>
+                                </userDefinedRuntimeAttribute>
+                            </userDefinedRuntimeAttributes>
+                            <connections>
+                                <action selector="copyAction:" destination="l4T-iA-9dH" eventType="touchUpInside" id="7r5-Wd-cGO"/>
+                            </connections>
+                        </button>
+                        <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="3" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="vH2-5S-OsW">
+                            <rect key="frame" x="307.66666666666669" y="177" width="9.3333333333333144" height="18"/>
+                            <fontDescription key="fontDescription" type="system" pointSize="15"/>
+                            <color key="textColor" red="0.12941176469999999" green="0.12941176469999999" blue="0.1333333333" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                            <nil key="highlightedColor"/>
+                        </label>
+                        <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="4" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="l2t-V0-GL2">
+                            <rect key="frame" x="358.33333333333331" y="215" width="9.6666666666666856" height="18"/>
+                            <fontDescription key="fontDescription" type="system" pointSize="15"/>
+                            <color key="textColor" red="0.12941176469999999" green="0.12941176469999999" blue="0.1333333333" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                            <nil key="highlightedColor"/>
+                        </label>
+                        <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="QS6-AZ-InW">
+                            <rect key="frame" x="25" y="680" width="343" height="48"/>
+                            <color key="backgroundColor" red="0.77647058820000003" green="0.1333333333" blue="0.13725490200000001" alpha="1" colorSpace="calibratedRGB"/>
+                            <constraints>
+                                <constraint firstAttribute="height" constant="48" id="z3S-4t-TNl"/>
+                            </constraints>
+                            <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/>
+                            <state key="normal" title="完成"/>
+                            <userDefinedRuntimeAttributes>
+                                <userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
+                                    <real key="value" value="6"/>
+                                </userDefinedRuntimeAttribute>
+                            </userDefinedRuntimeAttributes>
+                            <connections>
+                                <action selector="finishAction:" destination="l4T-iA-9dH" eventType="touchUpInside" id="32p-ho-puP"/>
+                            </connections>
+                        </button>
+                    </subviews>
+                    <color key="backgroundColor" systemColor="systemBackgroundColor"/>
+                    <constraints>
+                        <constraint firstAttribute="trailing" secondItem="0eU-gT-JAB" secondAttribute="trailing" constant="25" id="34z-4K-yaa"/>
+                        <constraint firstItem="wny-K6-beM" firstAttribute="top" secondItem="lc5-Hr-p3T" secondAttribute="bottom" constant="20" id="3tI-JN-IOZ"/>
+                        <constraint firstAttribute="trailing" secondItem="l2t-V0-GL2" secondAttribute="trailing" constant="25" id="4k6-OI-RIu"/>
+                        <constraint firstItem="0eU-gT-JAB" firstAttribute="centerY" secondItem="lc5-Hr-p3T" secondAttribute="centerY" id="5s3-rf-68y"/>
+                        <constraint firstItem="no6-Gy-MtA" firstAttribute="leading" secondItem="5mu-Ep-B8b" secondAttribute="leading" constant="25" id="87b-5a-Ihr"/>
+                        <constraint firstItem="wMx-xf-1Sz" firstAttribute="top" secondItem="Pwb-mH-RI2" secondAttribute="bottom" constant="20" id="8G8-0t-2LU"/>
+                        <constraint firstAttribute="trailing" secondItem="QS6-AZ-InW" secondAttribute="trailing" constant="25" id="HNa-be-dgW"/>
+                        <constraint firstItem="QS6-AZ-InW" firstAttribute="leading" secondItem="5mu-Ep-B8b" secondAttribute="leading" constant="25" id="NFH-4j-9lJ"/>
+                        <constraint firstItem="Q9E-r7-qDk" firstAttribute="top" secondItem="5mu-Ep-B8b" secondAttribute="top" constant="30" id="NvW-MA-CZY"/>
+                        <constraint firstItem="lc5-Hr-p3T" firstAttribute="leading" secondItem="5mu-Ep-B8b" secondAttribute="leading" constant="25" id="Pbn-zd-XBS"/>
+                        <constraint firstItem="lc5-Hr-p3T" firstAttribute="top" secondItem="O2G-T7-qZr" secondAttribute="bottom" constant="20" id="Rwo-fo-2AO"/>
+                        <constraint firstItem="0eU-gT-JAB" firstAttribute="leading" secondItem="vH2-5S-OsW" secondAttribute="trailing" id="W9w-d3-d36"/>
+                        <constraint firstItem="Pwb-mH-RI2" firstAttribute="centerY" secondItem="no6-Gy-MtA" secondAttribute="centerY" id="aTk-lG-Qc0"/>
+                        <constraint firstItem="l2t-V0-GL2" firstAttribute="centerY" secondItem="wny-K6-beM" secondAttribute="centerY" id="bND-6z-Hde"/>
+                        <constraint firstAttribute="bottom" secondItem="QS6-AZ-InW" secondAttribute="bottom" constant="65" id="bvD-fX-Bpa"/>
+                        <constraint firstItem="vH2-5S-OsW" firstAttribute="centerY" secondItem="0eU-gT-JAB" secondAttribute="centerY" id="eq1-RZ-wFf"/>
+                        <constraint firstItem="O2G-T7-qZr" firstAttribute="top" secondItem="no6-Gy-MtA" secondAttribute="bottom" constant="20" id="fmp-z9-Ig2"/>
+                        <constraint firstAttribute="trailing" secondItem="Pwb-mH-RI2" secondAttribute="trailing" constant="25" id="h6p-Ng-O8L"/>
+                        <constraint firstItem="O2G-T7-qZr" firstAttribute="leading" secondItem="5mu-Ep-B8b" secondAttribute="leading" constant="25" id="lJ2-fh-GE8"/>
+                        <constraint firstItem="Q9E-r7-qDk" firstAttribute="centerX" secondItem="5mu-Ep-B8b" secondAttribute="centerX" id="p0z-XI-GiY"/>
+                        <constraint firstItem="no6-Gy-MtA" firstAttribute="top" secondItem="Q9E-r7-qDk" secondAttribute="bottom" constant="50" id="pr9-XF-3lf"/>
+                        <constraint firstAttribute="trailing" secondItem="wMx-xf-1Sz" secondAttribute="trailing" constant="25" id="uqZ-2U-S4U"/>
+                        <constraint firstItem="wny-K6-beM" firstAttribute="leading" secondItem="5mu-Ep-B8b" secondAttribute="leading" constant="25" id="zqx-8D-fRz"/>
+                    </constraints>
+                </view>
+            </subviews>
+            <viewLayoutGuide key="safeArea" id="EOV-Jh-3zw"/>
+            <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+            <constraints>
+                <constraint firstAttribute="bottom" secondItem="5mu-Ep-B8b" secondAttribute="bottom" id="9Vn-tU-85Y"/>
+                <constraint firstItem="EOV-Jh-3zw" firstAttribute="trailing" secondItem="Mgf-Qn-F1V" secondAttribute="trailing" id="B8R-fL-JGu"/>
+                <constraint firstItem="Mgf-Qn-F1V" firstAttribute="top" secondItem="l4T-iA-9dH" secondAttribute="top" id="BfW-mC-WMW"/>
+                <constraint firstItem="Mgf-Qn-F1V" firstAttribute="leading" secondItem="EOV-Jh-3zw" secondAttribute="leading" id="Mpm-BY-WJN"/>
+                <constraint firstItem="5mu-Ep-B8b" firstAttribute="leading" secondItem="EOV-Jh-3zw" secondAttribute="leading" id="ZRY-bN-66r"/>
+                <constraint firstItem="5mu-Ep-B8b" firstAttribute="top" secondItem="EOV-Jh-3zw" secondAttribute="top" id="fuK-DE-yo8"/>
+                <constraint firstItem="EOV-Jh-3zw" firstAttribute="trailing" secondItem="5mu-Ep-B8b" secondAttribute="trailing" id="rwH-n9-UiI"/>
+                <constraint firstAttribute="bottom" secondItem="Mgf-Qn-F1V" secondAttribute="bottom" id="vPh-Wr-Xbg"/>
+            </constraints>
+            <connections>
+                <outlet property="blackView" destination="Mgf-Qn-F1V" id="uTb-cJ-YvV"/>
+                <outlet property="moneyLab" destination="Pwb-mH-RI2" id="a8H-S5-xzD"/>
+                <outlet property="orderNumLab" destination="vH2-5S-OsW" id="dUR-Nl-zqy"/>
+                <outlet property="payTypeLab" destination="wMx-xf-1Sz" id="rEf-p6-Pk6"/>
+                <outlet property="timeLab" destination="l2t-V0-GL2" id="mpa-Cv-zDL"/>
+            </connections>
+            <point key="canvasLocation" x="209.92366412213741" y="11.971830985915494"/>
+        </view>
+    </objects>
+    <resources>
+        <systemColor name="systemBackgroundColor">
+            <color white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+        </systemColor>
+    </resources>
+</document>

+ 77 - 0
ADHTuanCan/Class/支付类/PaySuccessView.swift

@@ -0,0 +1,77 @@
+//
+//  PaySuccessView.swift
+//  ADHTuanCan
+//
+//  Created by 敖德亨 on 2024/1/16.
+//
+
+import UIKit
+
+class PaySuccessView: UIView {
+    @IBOutlet weak var blackView: UIView!
+    
+    @IBOutlet weak var moneyLab: UILabel!
+    
+    @IBOutlet weak var payTypeLab: UILabel!
+    
+    @IBOutlet weak var orderNumLab: UILabel!
+    
+    @IBOutlet weak var timeLab: UILabel!
+   
+    
+    @IBAction func copyAction(_ sender: UIButton) {
+    }
+    
+    @IBAction func finishAction(_ sender: UIButton) {
+        if self.callBackBlock != nil{
+            self.callBackBlock!()
+        }
+        self.hidden()
+    }
+    
+    var callBackBlock : (()->Void)?
+    
+    var successModel : PaySuccessModel?
+    
+    public func showWithModel(model : PaySuccessModel){
+        self.successModel = model
+        
+        let currentDate = Date()
+        let dateFormatter = DateFormatter()
+        dateFormatter.dateFormat = "yyyy-MM-dd HH:mm:ss"
+        let currentDateString = dateFormatter.string(from: currentDate)
+        self.successModel?.time = currentDateString
+        
+        self.moneyLab.text = "\(self.successModel?.money ?? "")"
+        self.payTypeLab.text = "\(self.successModel?.payTypeName ?? "")"
+        self.orderNumLab.text = "\(self.successModel?.orderNum ?? "")"
+        self.timeLab.text = "\(self.successModel?.time ?? "")"
+        
+        
+        self.timeLab.text = currentDateString
+        
+        
+        kAppDelegateWindow.addSubview(self)
+        self.blackView.alpha = 0
+        self.frame = CGRect.init(x: 0, y: kSCREEN_HEIGHT, width: kSCREEN_WIDTH, height: kSCREEN_HEIGHT)
+        UIView.animate(withDuration: 0.5) {
+            self.frame = CGRect.init(x: 0, y: 0, width: kSCREEN_WIDTH, height: kSCREEN_HEIGHT)
+            self.layoutIfNeeded()
+        }
+        DELAY(0.5) {
+            self.blackView.alpha = 0.3
+        }
+    }
+    
+    /// 隐藏
+    public func hidden(){
+        self.blackView.alpha = 0
+        UIView.animate(withDuration: 0.5) {
+            self.frame = CGRect.init(x: 0, y: kSCREEN_HEIGHT, width: kSCREEN_WIDTH, height: kSCREEN_HEIGHT)
+            self.layoutIfNeeded()
+        }
+        DELAY(0.5) {
+            self.removeFromSuperview()
+        }
+    }
+}

+ 33 - 0
ADHTuanCan/Class/支付类/en.lproj/PaySuccessView.strings

@@ -0,0 +1,33 @@
+
+/* Class = "UIButton"; normalTitle = "复制"; ObjectID = "0eU-gT-JAB"; */
+"0eU-gT-JAB.normalTitle" = "Copy";
+
+/* Class = "UILabel"; text = "支付方式"; ObjectID = "O2G-T7-qZr"; */
+"O2G-T7-qZr.text" = "Mode of payment";
+
+/* Class = "UILabel"; text = "1"; ObjectID = "Pwb-mH-RI2"; */
+"Pwb-mH-RI2.text" = "1";
+
+/* Class = "UILabel"; text = "支付成功"; ObjectID = "Q9E-r7-qDk"; */
+"Q9E-r7-qDk.text" = "Payment success";
+
+/* Class = "UIButton"; normalTitle = "完成"; ObjectID = "QS6-AZ-InW"; */
+"QS6-AZ-InW.normalTitle" = "Finish";
+
+/* Class = "UILabel"; text = "4"; ObjectID = "l2t-V0-GL2"; */
+"l2t-V0-GL2.text" = "4";
+
+/* Class = "UILabel"; text = "订单编号"; ObjectID = "lc5-Hr-p3T"; */
+"lc5-Hr-p3T.text" = "Order number";
+
+/* Class = "UILabel"; text = "订单金额"; ObjectID = "no6-Gy-MtA"; */
+"no6-Gy-MtA.text" = "Order amount";
+
+/* Class = "UILabel"; text = "3"; ObjectID = "vH2-5S-OsW"; */
+"vH2-5S-OsW.text" = "3";
+
+/* Class = "UILabel"; text = "2"; ObjectID = "wMx-xf-1Sz"; */
+"wMx-xf-1Sz.text" = "2";
+
+/* Class = "UILabel"; text = "支付时间"; ObjectID = "wny-K6-beM"; */
+"wny-K6-beM.text" = "Time of payment";

+ 33 - 0
ADHTuanCan/Class/支付类/zh-Hans.lproj/PaySuccessView.strings

@@ -0,0 +1,33 @@
+
+/* Class = "UIButton"; normalTitle = "复制"; ObjectID = "0eU-gT-JAB"; */
+"0eU-gT-JAB.normalTitle" = "复制";
+
+/* Class = "UILabel"; text = "支付方式"; ObjectID = "O2G-T7-qZr"; */
+"O2G-T7-qZr.text" = "支付方式";
+
+/* Class = "UILabel"; text = "1"; ObjectID = "Pwb-mH-RI2"; */
+"Pwb-mH-RI2.text" = "1";
+
+/* Class = "UILabel"; text = "支付成功"; ObjectID = "Q9E-r7-qDk"; */
+"Q9E-r7-qDk.text" = "支付成功";
+
+/* Class = "UIButton"; normalTitle = "完成"; ObjectID = "QS6-AZ-InW"; */
+"QS6-AZ-InW.normalTitle" = "完成";
+
+/* Class = "UILabel"; text = "4"; ObjectID = "l2t-V0-GL2"; */
+"l2t-V0-GL2.text" = "4";
+
+/* Class = "UILabel"; text = "订单编号"; ObjectID = "lc5-Hr-p3T"; */
+"lc5-Hr-p3T.text" = "订单编号";
+
+/* Class = "UILabel"; text = "订单金额"; ObjectID = "no6-Gy-MtA"; */
+"no6-Gy-MtA.text" = "订单金额";
+
+/* Class = "UILabel"; text = "3"; ObjectID = "vH2-5S-OsW"; */
+"vH2-5S-OsW.text" = "3";
+
+/* Class = "UILabel"; text = "2"; ObjectID = "wMx-xf-1Sz"; */
+"wMx-xf-1Sz.text" = "2";
+
+/* Class = "UILabel"; text = "支付时间"; ObjectID = "wny-K6-beM"; */
+"wny-K6-beM.text" = "支付时间";

+ 19 - 0
ADHTuanCan/Class/购物车/model/ShopCarModel.swift

@@ -257,6 +257,9 @@ class OrderIDmModel : MCBaseModel{
     /// 优惠金额,优惠了多少金额
     var orderId : NSNumber?
     
+    /// 订单编号
+    var orderNo : String?
+    
     /// 需不需要拉起支付,1需要,0不需要
     var pullUp : String?
 }
@@ -420,3 +423,19 @@ class PSWPayRequestModel: MCBaseRequestModel {
 
 }
 
+
+/// 支付成功显示Model
+class PaySuccessModel : MCBaseModel{
+    
+    ///  金额
+    var money : String?
+    
+    /// 订单编号
+    var orderNum : String?
+    
+    ///  支付方式
+    var payTypeName : String?
+    
+    /// 支付时间
+    var time : String?
+}

+ 36 - 29
ADHTuanCan/Class/购物车/确认订单/CheckOrderViewController.swift

@@ -69,6 +69,8 @@ class CheckOrderViewController: ADHBaseVC {
  
     var reloadCallBackBlock : (()->Void)?
     
+    var successModel : PaySuccessModel = PaySuccessModel.init()
+    
     @IBAction func goToPayAction(_ sender: UIButton) {
         
         if self.addressModel == nil{
@@ -105,6 +107,11 @@ class CheckOrderViewController: ADHBaseVC {
     /// 密码支付View
     let pswPayView = Bundle.main.loadNibNamed("PswPayView", owner: nil, options: nil)?.last as? PswPayView
     
+    ///  支付成功页面
+    let paySuccessView = Bundle.main.loadNibNamed("PaySuccessView", owner: nil, options: nil)?.last as? PaySuccessView
+    
+    
+    
     override func viewDidLoad() {
         super.viewDidLoad()
         
@@ -176,6 +183,7 @@ class CheckOrderViewController: ADHBaseVC {
         self.userPayTypeView?.payTypeBlock = {[unowned self] model in
             self.payMentModel = model
             self.viewModel.payMentModel = self.payMentModel
+            self.successModel.payTypeName = self.payMentModel?.name
             self.buildingOrder()
         }
     
@@ -204,6 +212,22 @@ class CheckOrderViewController: ADHBaseVC {
             self.navigationController?.pushViewController(vc, animated: true)
         }
         
+        //支付成功返回
+        self.paySuccessView?.callBackBlock = {[unowned self]  in
+            for temp in self.navigationController!.viewControllers {
+                //普通用户
+                if  Defaults[\.userType] === 1{
+                    if temp.isKind(of: HomeSecondViewController.self){
+                        self.navigationController?.popToViewController(temp, animated: true)
+                    }
+                }else{
+                    if temp.isKind(of: HomeViewController.self){
+                        self.navigationController?.popToViewController(temp, animated: true)
+                    }
+                }
+            }
+        }
+        
         self.tableView.mj_header = MJRefreshNormalHeader.init(refreshingBlock: {[unowned self] in
             //获取详情
             self.getShopCarDetail()
@@ -246,6 +270,7 @@ class CheckOrderViewController: ADHBaseVC {
         self.viewModel.getShopCarPriceRModel.id = self.viewModel.TimeRangDetail?.shopcartId
         self.viewModel.signalGetShopCarPrice()?.on(success: { dd in
             self.priceLab.text = "\(self.viewModel.shopCarPriceDetail?.price ?? "")"
+            self.successModel.money = "\(self.viewModel.shopCarPriceDetail?.price ?? "")"
         }, error: { error in
             self.hud.showFailure(error.msg ?? LanguagesUtil.createTextBy(Ctext: "网络错误", Etext: "network error"))
         })
@@ -288,6 +313,9 @@ class CheckOrderViewController: ADHBaseVC {
             }else{
                 self.pswPayView?.showWithVC(vc:self)
             }
+            
+            self.successModel.orderNum = self.viewModel.orderIdModel?.orderNo
+            
 //            NotificationCenter.default.post(name: NSNotification.Name("刷新首页"), object: self, userInfo:nil)
             if self.reloadCallBackBlock != nil{
                 self.reloadCallBackBlock!()
@@ -311,19 +339,9 @@ class CheckOrderViewController: ADHBaseVC {
             
             NotificationCenter.default.post(name: NSNotification.Name("刷新个人中心"), object: self, userInfo:nil)
             NotificationCenter.default.post(name: NSNotification.Name("刷新订单列表"), object: self, userInfo:nil)
-            for temp in self.navigationController!.viewControllers {
-                //普通用户
-                if  Defaults[\.userType] === 1{
-                    if temp.isKind(of: HomeSecondViewController.self){
-                        self.navigationController?.popToViewController(temp, animated: true)
-                    }
-                }else{
-                    if temp.isKind(of: HomeViewController.self){
-                        self.navigationController?.popToViewController(temp, animated: true)
-                    }
-                }
-               
-            }
+            
+            self.paySuccessView?.showWithModel(model: self.successModel )
+
             
         }, error: { error in
             self.hud.showFailure(error.msg ?? LanguagesUtil.createTextBy(Ctext: "网络错误", Etext: "network error"))
@@ -387,10 +405,7 @@ class CheckOrderViewController: ADHBaseVC {
     
     //MARK: 是否拉起支付 或者密码支付
     func getIsStripePay(){
-        
-        
-
-        
+ 
         self.hud.showLoading()
         self.viewModel.getIsStripePayModel.orderId = self.viewModel.orderIdModel?.orderId
         self.viewModel.getIsStripePayModel.payTypeId = self.payMentModel?.id
@@ -473,18 +488,10 @@ class CheckOrderViewController: ADHBaseVC {
         switch paymentResult {
         case .completed:
             self.hud.showFailure(LanguagesUtil.createTextBy(Ctext: "支付成功", Etext: "payment success"))
-            for temp in self.navigationController!.viewControllers {
-                //普通用户
-                if  Defaults[\.userType] === 1{
-                    if temp.isKind(of: HomeSecondViewController.self){
-                        self.navigationController?.popToViewController(temp, animated: true)
-                    }
-                }else{
-                    if temp.isKind(of: HomeViewController.self){
-                        self.navigationController?.popToViewController(temp, animated: true)
-                    }
-                }
-            }
+            
+            self.paySuccessView?.showWithModel(model: self.successModel )
+            
+            
           print("Your order is confirmed")
         case .canceled:
             self.hud.showFailure(LanguagesUtil.createTextBy(Ctext: "支付已取消", Etext: "payment has been cancelled"))