瀏覽代碼

【综合】优惠券到期初步处理

niehaoyu 9 月之前
父節點
當前提交
76bab6eb16

+ 45 - 0
PDF Office/PDF Master/Class/GuideInfo/KMCouponDueWindowController.swift

@@ -0,0 +1,45 @@
+//
+//  KMCouponDueWindowController.swift
+//  PDF Reader Pro
+//
+//  Created by Niehaoyu on 2024/5/22.
+//
+
+import Cocoa
+
+class KMCouponDueWindowController: NSWindowController {
+
+    @IBOutlet var contendBox: NSBox!
+    
+    @IBOutlet var titleLabel: NSTextField!
+    @IBOutlet var subTitleLabel: NSTextField!
+    
+    @IBOutlet var tipInfoView: NSTextField!
+    
+    
+    @IBOutlet var buyBox: NSBox!
+    @IBOutlet var buyButton: KMButton!
+    @IBOutlet var laterInfoLabel: NSTextField!
+    
+    
+    override func windowDidLoad() {
+        super.windowDidLoad()
+
+        // Implement this method to handle any initialization after your window controller's window has been loaded from its nib file.
+        
+        
+        
+        self.buyBox.cornerRadius = CGRectGetHeight(self.buyBox.frame)/2
+        self.buyBox.fillColor = NSColor(red: 255/255, green: 158/255, blue: 42/255, alpha: 1)
+        self.buyButton.mouseMoveCallback = {[unowned self] mouseEntered in
+            if mouseEntered {
+                self.buyBox.fillColor = NSColor(red: 255/255, green: 139/255, blue: 0, alpha: 1)
+            } else {
+                self.buyBox.fillColor = NSColor(red: 255/255, green: 158/255, blue: 42/255, alpha: 1)
+            }
+        }
+        self.buyButton.setTitleColor(NSColor.white)
+        
+    }
+    
+}

+ 273 - 0
PDF Office/PDF Master/Class/GuideInfo/KMCouponDueWindowController.xib

@@ -0,0 +1,273 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="22505" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
+    <dependencies>
+        <deployment identifier="macosx"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="22505"/>
+        <capability name="Named colors" minToolsVersion="9.0"/>
+        <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
+    </dependencies>
+    <objects>
+        <customObject id="-2" userLabel="File's Owner" customClass="KMCouponDueWindowController" customModule="PDF_Reader_Pro" customModuleProvider="target">
+            <connections>
+                <outlet property="buyBox" destination="FYA-2d-xuI" id="u4E-0G-PJU"/>
+                <outlet property="buyButton" destination="Vji-vi-gbH" id="hbM-et-gc8"/>
+                <outlet property="contendBox" destination="bzV-Gq-pe9" id="dYI-Qe-kL5"/>
+                <outlet property="laterInfoLabel" destination="VRY-Yk-fAD" id="V3J-01-cXd"/>
+                <outlet property="subTitleLabel" destination="jjn-yZ-D7c" id="X8B-q2-JDe"/>
+                <outlet property="tipInfoView" destination="9Wf-wa-Uet" id="v0C-oZ-RRu"/>
+                <outlet property="titleLabel" destination="mL0-nw-nO3" id="uPj-4g-B9V"/>
+                <outlet property="window" destination="F0z-JX-Cv5" id="gIp-Ho-8D9"/>
+            </connections>
+        </customObject>
+        <customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
+        <customObject id="-3" userLabel="Application" customClass="NSObject"/>
+        <window title="Window" allowsToolTipsWhenApplicationIsInactive="NO" autorecalculatesKeyViewLoop="NO" releasedWhenClosed="NO" animationBehavior="default" titlebarAppearsTransparent="YES" titleVisibility="hidden" id="F0z-JX-Cv5">
+            <windowStyleMask key="styleMask" titled="YES" closable="YES" miniaturizable="YES" resizable="YES"/>
+            <windowPositionMask key="initialPositionMask" leftStrut="YES" rightStrut="YES" topStrut="YES" bottomStrut="YES"/>
+            <rect key="contentRect" x="196" y="240" width="660" height="418"/>
+            <rect key="screenRect" x="0.0" y="0.0" width="1920" height="1055"/>
+            <value key="minSize" type="size" width="660" height="418"/>
+            <value key="maxSize" type="size" width="660" height="418"/>
+            <view key="contentView" id="se5-gp-TjO">
+                <rect key="frame" x="0.0" y="0.0" width="660" height="418"/>
+                <autoresizingMask key="autoresizingMask"/>
+                <subviews>
+                    <box boxType="custom" cornerRadius="4" title="Box" translatesAutoresizingMaskIntoConstraints="NO" id="bzV-Gq-pe9">
+                        <rect key="frame" x="29" y="27" width="602" height="380"/>
+                        <view key="contentView" id="VA0-92-LSU">
+                            <rect key="frame" x="1" y="1" width="600" height="378"/>
+                            <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
+                            <subviews>
+                                <customView translatesAutoresizingMaskIntoConstraints="NO" id="4n1-ck-aYe">
+                                    <rect key="frame" x="0.0" y="0.0" width="300" height="380"/>
+                                    <subviews>
+                                        <imageView horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="x8W-tS-Xhe">
+                                            <rect key="frame" x="0.0" y="0.0" width="300" height="380"/>
+                                            <imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageScaling="proportionallyDown" id="UDr-qh-Sdk"/>
+                                        </imageView>
+                                    </subviews>
+                                    <constraints>
+                                        <constraint firstItem="x8W-tS-Xhe" firstAttribute="leading" secondItem="4n1-ck-aYe" secondAttribute="leading" id="0pT-7K-Vcc"/>
+                                        <constraint firstItem="x8W-tS-Xhe" firstAttribute="top" secondItem="4n1-ck-aYe" secondAttribute="top" id="HXG-6I-MLq"/>
+                                        <constraint firstAttribute="height" constant="380" id="LGw-1W-FHg"/>
+                                        <constraint firstAttribute="width" constant="300" id="PaQ-iC-qHB"/>
+                                        <constraint firstAttribute="trailing" secondItem="x8W-tS-Xhe" secondAttribute="trailing" id="c37-hJ-FxL"/>
+                                        <constraint firstAttribute="bottom" secondItem="x8W-tS-Xhe" secondAttribute="bottom" id="fqG-Pr-D6G"/>
+                                    </constraints>
+                                </customView>
+                                <customView translatesAutoresizingMaskIntoConstraints="NO" id="IRn-Nx-1SH">
+                                    <rect key="frame" x="334" y="21" width="266" height="338"/>
+                                    <subviews>
+                                        <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="mL0-nw-nO3">
+                                            <rect key="frame" x="-2" y="313" width="172" height="25"/>
+                                            <textFieldCell key="cell" alignment="left" title="Limited-time Offer" id="Dv5-Ir-uCY">
+                                                <font key="font" metaFont="system" size="21"/>
+                                                <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
+                                                <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
+                                            </textFieldCell>
+                                        </textField>
+                                        <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="jjn-yZ-D7c">
+                                            <rect key="frame" x="-2" y="258" width="270" height="51"/>
+                                            <constraints>
+                                                <constraint firstAttribute="width" constant="266" id="6J1-BA-Y1S"/>
+                                            </constraints>
+                                            <textFieldCell key="cell" alignment="left" title="Dear, your free trial has expired on 2024-05-17. PDF Reader Pro offers 20% OFF for new users!" id="2mW-gH-wXX">
+                                                <font key="font" metaFont="system" size="14"/>
+                                                <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
+                                                <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
+                                            </textFieldCell>
+                                        </textField>
+                                        <customView translatesAutoresizingMaskIntoConstraints="NO" id="f1m-ug-ENL">
+                                            <rect key="frame" x="0.0" y="126" width="266" height="100"/>
+                                            <subviews>
+                                                <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="9Wf-wa-Uet">
+                                                    <rect key="frame" x="-2" y="83" width="110" height="17"/>
+                                                    <textFieldCell key="cell" alignment="left" title="Upgrade Benefit" id="4Pr-r2-TrM">
+                                                        <font key="font" metaFont="system" size="14"/>
+                                                        <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
+                                                        <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
+                                                    </textFieldCell>
+                                                </textField>
+                                                <imageView horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="Bme-fS-3EY">
+                                                    <rect key="frame" x="4" y="56" width="20" height="20"/>
+                                                    <imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageScaling="proportionallyDown" image="vipSecondDark" id="rGM-ol-t7E"/>
+                                                </imageView>
+                                                <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="zR1-bk-RuE">
+                                                    <rect key="frame" x="26" y="59" width="119" height="14"/>
+                                                    <textFieldCell key="cell" alignment="left" title="Edit text and images" id="XIP-5o-jEu">
+                                                        <font key="font" size="12" name="SFProText-Regular"/>
+                                                        <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
+                                                        <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
+                                                    </textFieldCell>
+                                                </textField>
+                                                <imageView horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="q7O-KT-2ls">
+                                                    <rect key="frame" x="151" y="56" width="20" height="20"/>
+                                                    <imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageScaling="proportionallyDown" image="vipSecondDark" id="DvS-d5-tGp"/>
+                                                </imageView>
+                                                <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="RSv-kH-wsv">
+                                                    <rect key="frame" x="173" y="59" width="88" height="14"/>
+                                                    <textFieldCell key="cell" alignment="left" title="Compress PDF" id="9cX-Mc-xi3">
+                                                        <font key="font" size="12" name="SFProText-Regular"/>
+                                                        <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
+                                                        <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
+                                                    </textFieldCell>
+                                                </textField>
+                                                <imageView horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="UgL-bs-1XS">
+                                                    <rect key="frame" x="4" y="28" width="20" height="20"/>
+                                                    <imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageScaling="proportionallyDown" image="vipSecondDark" id="dXn-OK-2oi"/>
+                                                </imageView>
+                                                <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="Z0D-Np-RgN">
+                                                    <rect key="frame" x="26" y="31" width="93" height="14"/>
+                                                    <textFieldCell key="cell" alignment="left" title="Organize pages" id="agi-VD-OQo">
+                                                        <font key="font" size="12" name="SFProText-Regular"/>
+                                                        <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
+                                                        <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
+                                                    </textFieldCell>
+                                                </textField>
+                                                <imageView horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="WcM-Zs-R1b">
+                                                    <rect key="frame" x="151" y="28" width="20" height="20"/>
+                                                    <imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageScaling="proportionallyDown" image="vipSecondDark" id="kkf-4Q-4Fn"/>
+                                                </imageView>
+                                                <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="RmR-C0-8l7">
+                                                    <rect key="frame" x="173" y="31" width="76" height="14"/>
+                                                    <textFieldCell key="cell" alignment="left" title="Convert PDF" id="lDb-i3-7Ub">
+                                                        <font key="font" size="12" name="SFProText-Regular"/>
+                                                        <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
+                                                        <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
+                                                    </textFieldCell>
+                                                </textField>
+                                                <imageView horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="qLv-pt-Ikt">
+                                                    <rect key="frame" x="4" y="0.0" width="20" height="20"/>
+                                                    <imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageScaling="proportionallyDown" image="vipSecondDark" id="cUk-ic-NiY"/>
+                                                </imageView>
+                                                <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="i6B-6f-HEm">
+                                                    <rect key="frame" x="26" y="3" width="80" height="15"/>
+                                                    <textFieldCell key="cell" alignment="left" title="Form &amp; Sign" id="Yh2-G3-AFR">
+                                                        <font key="font" size="13" name="SFProText-Regular"/>
+                                                        <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
+                                                        <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
+                                                    </textFieldCell>
+                                                </textField>
+                                                <imageView horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="ker-im-aJw">
+                                                    <rect key="frame" x="151" y="0.0" width="20" height="20"/>
+                                                    <imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageScaling="proportionallyDown" image="vipSecondDark" id="utf-xL-ZhC"/>
+                                                </imageView>
+                                                <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="wy0-VO-0ec">
+                                                    <rect key="frame" x="173" y="3" width="71" height="14"/>
+                                                    <textFieldCell key="cell" alignment="left" title="Secure PDF" id="KQe-Md-c9U">
+                                                        <font key="font" size="12" name="SFProText-Regular"/>
+                                                        <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
+                                                        <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
+                                                    </textFieldCell>
+                                                </textField>
+                                            </subviews>
+                                            <constraints>
+                                                <constraint firstItem="qLv-pt-Ikt" firstAttribute="leading" secondItem="f1m-ug-ENL" secondAttribute="leading" constant="4" id="4R2-bs-kKI"/>
+                                                <constraint firstItem="zR1-bk-RuE" firstAttribute="centerY" secondItem="Bme-fS-3EY" secondAttribute="centerY" id="5iY-dW-O5h"/>
+                                                <constraint firstItem="RSv-kH-wsv" firstAttribute="centerY" secondItem="q7O-KT-2ls" secondAttribute="centerY" id="9yX-5d-p3b"/>
+                                                <constraint firstItem="wy0-VO-0ec" firstAttribute="centerY" secondItem="ker-im-aJw" secondAttribute="centerY" id="BTs-sG-JzA"/>
+                                                <constraint firstItem="zR1-bk-RuE" firstAttribute="leading" secondItem="f1m-ug-ENL" secondAttribute="leading" constant="28" id="I2d-XM-mEy"/>
+                                                <constraint firstItem="ker-im-aJw" firstAttribute="leading" secondItem="f1m-ug-ENL" secondAttribute="leading" constant="151" id="L3O-Wi-ddt"/>
+                                                <constraint firstItem="9Wf-wa-Uet" firstAttribute="leading" secondItem="f1m-ug-ENL" secondAttribute="leading" id="O7f-ju-25u"/>
+                                                <constraint firstItem="RmR-C0-8l7" firstAttribute="leading" secondItem="WcM-Zs-R1b" secondAttribute="trailing" constant="4" id="P3j-bo-uXM"/>
+                                                <constraint firstItem="9Wf-wa-Uet" firstAttribute="top" secondItem="f1m-ug-ENL" secondAttribute="top" id="RWJ-5e-ghT"/>
+                                                <constraint firstItem="wy0-VO-0ec" firstAttribute="leading" secondItem="ker-im-aJw" secondAttribute="trailing" constant="4" id="RsP-Pc-5qh"/>
+                                                <constraint firstAttribute="height" constant="100" id="TLT-K4-KS3"/>
+                                                <constraint firstItem="UgL-bs-1XS" firstAttribute="top" secondItem="Bme-fS-3EY" secondAttribute="bottom" constant="8" id="TfS-uf-uEI"/>
+                                                <constraint firstItem="qLv-pt-Ikt" firstAttribute="top" secondItem="UgL-bs-1XS" secondAttribute="bottom" constant="8" id="Vxm-bf-nOT"/>
+                                                <constraint firstItem="q7O-KT-2ls" firstAttribute="top" secondItem="f1m-ug-ENL" secondAttribute="top" constant="24" id="ZRo-NJ-fwd"/>
+                                                <constraint firstItem="Z0D-Np-RgN" firstAttribute="centerY" secondItem="UgL-bs-1XS" secondAttribute="centerY" id="av5-dA-jIc"/>
+                                                <constraint firstItem="WcM-Zs-R1b" firstAttribute="centerY" secondItem="RmR-C0-8l7" secondAttribute="centerY" id="bID-pK-ESY"/>
+                                                <constraint firstItem="i6B-6f-HEm" firstAttribute="leading" secondItem="qLv-pt-Ikt" secondAttribute="trailing" constant="4" id="bwD-1F-4H8"/>
+                                                <constraint firstItem="Bme-fS-3EY" firstAttribute="leading" secondItem="f1m-ug-ENL" secondAttribute="leading" constant="4" id="ct9-gs-0l7"/>
+                                                <constraint firstItem="RSv-kH-wsv" firstAttribute="leading" secondItem="q7O-KT-2ls" secondAttribute="trailing" constant="4" id="cwm-xc-pJt"/>
+                                                <constraint firstItem="UgL-bs-1XS" firstAttribute="leading" secondItem="f1m-ug-ENL" secondAttribute="leading" constant="4" id="dM8-Be-qIP"/>
+                                                <constraint firstItem="q7O-KT-2ls" firstAttribute="leading" secondItem="f1m-ug-ENL" secondAttribute="leading" constant="151" id="hQ1-L4-iqT"/>
+                                                <constraint firstItem="WcM-Zs-R1b" firstAttribute="top" secondItem="q7O-KT-2ls" secondAttribute="bottom" constant="8" id="hY2-Ui-Dwh"/>
+                                                <constraint firstItem="WcM-Zs-R1b" firstAttribute="leading" secondItem="f1m-ug-ENL" secondAttribute="leading" constant="151" id="jnA-uI-idl"/>
+                                                <constraint firstItem="i6B-6f-HEm" firstAttribute="centerY" secondItem="qLv-pt-Ikt" secondAttribute="centerY" id="kUb-4o-WFK"/>
+                                                <constraint firstItem="ker-im-aJw" firstAttribute="top" secondItem="WcM-Zs-R1b" secondAttribute="bottom" constant="8" id="p4b-re-6DP"/>
+                                                <constraint firstItem="Bme-fS-3EY" firstAttribute="top" secondItem="f1m-ug-ENL" secondAttribute="top" constant="24" id="qyv-Xb-hEJ"/>
+                                                <constraint firstItem="Z0D-Np-RgN" firstAttribute="leading" secondItem="UgL-bs-1XS" secondAttribute="trailing" constant="4" id="xsG-8t-YPu"/>
+                                            </constraints>
+                                        </customView>
+                                        <box boxType="custom" borderType="none" borderWidth="0.0" title="Box" translatesAutoresizingMaskIntoConstraints="NO" id="FYA-2d-xuI">
+                                            <rect key="frame" x="0.0" y="46" width="266" height="48"/>
+                                            <view key="contentView" id="2Nb-6M-k48">
+                                                <rect key="frame" x="0.0" y="0.0" width="266" height="48"/>
+                                                <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
+                                                <subviews>
+                                                    <button focusRingType="none" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="Vji-vi-gbH" customClass="KMButton" customModule="PDF_Reader_Pro" customModuleProvider="target">
+                                                        <rect key="frame" x="0.0" y="0.0" width="266" height="48"/>
+                                                        <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
+                                                        <buttonCell key="cell" type="bevel" title="Buy with 20% OFF" bezelStyle="rounded" imagePosition="overlaps" alignment="center" focusRingType="none" imageScaling="axesIndependently" inset="2" id="GEO-t7-YwI">
+                                                            <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
+                                                            <font key="font" metaFont="system" size="15"/>
+                                                        </buttonCell>
+                                                        <color key="contentTintColor" name="Color"/>
+                                                    </button>
+                                                </subviews>
+                                            </view>
+                                            <constraints>
+                                                <constraint firstAttribute="height" constant="48" id="Vh6-An-tIy"/>
+                                                <constraint firstAttribute="width" constant="266" id="j43-O9-4Ug"/>
+                                            </constraints>
+                                            <color key="fillColor" red="1" green="0.61799015410958902" blue="0.16566780821917809" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                                        </box>
+                                        <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="VRY-Yk-fAD">
+                                            <rect key="frame" x="17" y="20" width="232" height="14"/>
+                                            <textFieldCell key="cell" alignment="left" title="Buy later? Save the coupon code: XXX-XXX" id="Ukb-Yc-wec">
+                                                <font key="font" metaFont="system" size="11"/>
+                                                <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
+                                                <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
+                                            </textFieldCell>
+                                        </textField>
+                                    </subviews>
+                                    <constraints>
+                                        <constraint firstItem="jjn-yZ-D7c" firstAttribute="top" secondItem="mL0-nw-nO3" secondAttribute="bottom" constant="4" id="17A-jq-I3m"/>
+                                        <constraint firstItem="f1m-ug-ENL" firstAttribute="top" secondItem="jjn-yZ-D7c" secondAttribute="bottom" constant="32" id="5be-PI-GD5"/>
+                                        <constraint firstItem="mL0-nw-nO3" firstAttribute="top" secondItem="IRn-Nx-1SH" secondAttribute="top" id="6LD-X2-01L"/>
+                                        <constraint firstAttribute="width" constant="266" id="6PQ-O8-DxR"/>
+                                        <constraint firstItem="VRY-Yk-fAD" firstAttribute="centerX" secondItem="IRn-Nx-1SH" secondAttribute="centerX" id="8W6-hg-tKI"/>
+                                        <constraint firstItem="VRY-Yk-fAD" firstAttribute="top" secondItem="FYA-2d-xuI" secondAttribute="bottom" constant="12" id="NSI-IU-0Ih"/>
+                                        <constraint firstAttribute="trailing" secondItem="f1m-ug-ENL" secondAttribute="trailing" id="Ovd-gM-4mt"/>
+                                        <constraint firstAttribute="height" constant="338" id="hbJ-aj-SrA"/>
+                                        <constraint firstItem="FYA-2d-xuI" firstAttribute="centerX" secondItem="IRn-Nx-1SH" secondAttribute="centerX" id="nPv-ou-sau"/>
+                                        <constraint firstItem="f1m-ug-ENL" firstAttribute="leading" secondItem="IRn-Nx-1SH" secondAttribute="leading" id="npJ-jY-Mhx"/>
+                                        <constraint firstItem="FYA-2d-xuI" firstAttribute="top" secondItem="f1m-ug-ENL" secondAttribute="bottom" constant="32" id="pXg-Rn-Hvk"/>
+                                        <constraint firstItem="jjn-yZ-D7c" firstAttribute="leading" secondItem="IRn-Nx-1SH" secondAttribute="leading" id="qdr-jp-cAz"/>
+                                        <constraint firstItem="mL0-nw-nO3" firstAttribute="leading" secondItem="IRn-Nx-1SH" secondAttribute="leading" id="ur5-xj-WPj"/>
+                                    </constraints>
+                                </customView>
+                            </subviews>
+                            <constraints>
+                                <constraint firstAttribute="bottom" secondItem="IRn-Nx-1SH" secondAttribute="bottom" constant="21" id="5xZ-JP-B1h"/>
+                                <constraint firstAttribute="bottom" secondItem="4n1-ck-aYe" secondAttribute="bottom" id="EjT-er-VP4"/>
+                                <constraint firstItem="4n1-ck-aYe" firstAttribute="leading" secondItem="VA0-92-LSU" secondAttribute="leading" id="VAV-Im-tPk"/>
+                                <constraint firstAttribute="trailing" secondItem="IRn-Nx-1SH" secondAttribute="trailing" id="jQF-ja-dvX"/>
+                            </constraints>
+                        </view>
+                        <constraints>
+                            <constraint firstAttribute="height" constant="380" id="VR1-cD-sgF"/>
+                            <constraint firstAttribute="width" constant="602" id="Y4g-au-WfJ"/>
+                        </constraints>
+                    </box>
+                </subviews>
+                <constraints>
+                    <constraint firstItem="bzV-Gq-pe9" firstAttribute="leading" secondItem="se5-gp-TjO" secondAttribute="leading" constant="29" id="cQ1-68-6lw"/>
+                    <constraint firstAttribute="bottom" secondItem="bzV-Gq-pe9" secondAttribute="bottom" constant="27" id="zWc-2T-LdA"/>
+                </constraints>
+            </view>
+            <connections>
+                <outlet property="delegate" destination="-2" id="0bl-1N-AYu"/>
+            </connections>
+            <point key="canvasLocation" x="147" y="116"/>
+        </window>
+    </objects>
+    <resources>
+        <image name="vipSecondDark" width="20" height="20"/>
+        <namedColor name="Color">
+            <color red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+        </namedColor>
+    </resources>
+</document>

+ 14 - 0
PDF Office/PDF Master/Class/Home/ViewController/KMHomeViewController.swift

@@ -103,6 +103,8 @@ import Cocoa
     var didTrialExpiredLoad: Bool = false
     var repeatTrialAlertLoad: Bool = false
     
+    var couponDueWindowVC: KMCouponDueWindowController!
+    
     @IBOutlet weak var rightBottonHeight: NSLayoutConstraint!
     
     var currentController: NSWindowController?
@@ -180,6 +182,7 @@ import Cocoa
         NotificationCenter.default.addObserver(self, selector: #selector(importFromScanner), name: Notification.Name("kDeviceScannerMenuItemNotification"), object: nil)
         self.loadFunctionGuide()
         
+        self.checkTrialEndCouponInfo()
     }
     
     override func viewDidAppear() {
@@ -965,6 +968,17 @@ extension KMHomeViewController {
         vc?.showWindow(nil)
     }
     
+    //MARK: 试用到期优惠券弹窗
+    func checkTrialEndCouponInfo() {
+        
+//        self.showCouponInfoWindow()
+    }
+    
+    func showCouponInfoWindow() {
+        self.couponDueWindowVC = KMCouponDueWindowController(windowNibName: "KMCouponDueWindowController")
+        
+        self.couponDueWindowVC.showWindow(nil)
+    }
     
     // MARK: - Noti Actions
     func deviceVerifyFinishNotification(_ sender: Notification) {

+ 16 - 0
PDF Office/PDF Reader Pro.xcodeproj/project.pbxproj

@@ -5041,6 +5041,12 @@
 		BBFDFAA22AF3815C00E08AA2 /* KMTextHintWindowController.xib in Resources */ = {isa = PBXBuildFile; fileRef = BBFDFAA12AF3815B00E08AA2 /* KMTextHintWindowController.xib */; };
 		BBFDFAA32AF3815C00E08AA2 /* KMTextHintWindowController.xib in Resources */ = {isa = PBXBuildFile; fileRef = BBFDFAA12AF3815B00E08AA2 /* KMTextHintWindowController.xib */; };
 		BBFDFAA42AF3815C00E08AA2 /* KMTextHintWindowController.xib in Resources */ = {isa = PBXBuildFile; fileRef = BBFDFAA12AF3815B00E08AA2 /* KMTextHintWindowController.xib */; };
+		BBFE14CF2BFD7FC300176992 /* KMCouponDueWindowController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBFE14CD2BFD7FC300176992 /* KMCouponDueWindowController.swift */; };
+		BBFE14D02BFD7FC300176992 /* KMCouponDueWindowController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBFE14CD2BFD7FC300176992 /* KMCouponDueWindowController.swift */; };
+		BBFE14D12BFD7FC300176992 /* KMCouponDueWindowController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBFE14CD2BFD7FC300176992 /* KMCouponDueWindowController.swift */; };
+		BBFE14D22BFD7FC300176992 /* KMCouponDueWindowController.xib in Resources */ = {isa = PBXBuildFile; fileRef = BBFE14CE2BFD7FC300176992 /* KMCouponDueWindowController.xib */; };
+		BBFE14D32BFD7FC300176992 /* KMCouponDueWindowController.xib in Resources */ = {isa = PBXBuildFile; fileRef = BBFE14CE2BFD7FC300176992 /* KMCouponDueWindowController.xib */; };
+		BBFE14D42BFD7FC300176992 /* KMCouponDueWindowController.xib in Resources */ = {isa = PBXBuildFile; fileRef = BBFE14CE2BFD7FC300176992 /* KMCouponDueWindowController.xib */; };
 		BBFE6E582930724B00142C01 /* KMMergePageModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBFE6E572930724B00142C01 /* KMMergePageModel.swift */; };
 		BBFE6E592930724B00142C01 /* KMMergePageModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBFE6E572930724B00142C01 /* KMMergePageModel.swift */; };
 		BBFE6E5A2930724B00142C01 /* KMMergePageModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBFE6E572930724B00142C01 /* KMMergePageModel.swift */; };
@@ -7309,6 +7315,8 @@
 		BBFDFA922AF328B200E08AA2 /* KMBatchOperateManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMBatchOperateManager.swift; sourceTree = "<group>"; };
 		BBFDFA9D2AF3814000E08AA2 /* KMTextHintWindowController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMTextHintWindowController.swift; sourceTree = "<group>"; };
 		BBFDFAA12AF3815B00E08AA2 /* KMTextHintWindowController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = KMTextHintWindowController.xib; sourceTree = "<group>"; };
+		BBFE14CD2BFD7FC300176992 /* KMCouponDueWindowController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMCouponDueWindowController.swift; sourceTree = "<group>"; };
+		BBFE14CE2BFD7FC300176992 /* KMCouponDueWindowController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = KMCouponDueWindowController.xib; sourceTree = "<group>"; };
 		BBFE6E572930724B00142C01 /* KMMergePageModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMMergePageModel.swift; sourceTree = "<group>"; };
 		BBFE6E5B2930809A00142C01 /* KMMergeCollectionPageViewItem.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMMergeCollectionPageViewItem.swift; sourceTree = "<group>"; };
 		BBFE6E5C2930809A00142C01 /* KMMergeCollectionPageViewItem.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = KMMergeCollectionPageViewItem.xib; sourceTree = "<group>"; };
@@ -11190,6 +11198,8 @@
 				BB1B0ABE2B4FC6E800889528 /* KMGuideInfoWindowController.xib */,
 				BB1B0AA52B4FC6E800889528 /* KMFunctionGuideWindowController.swift */,
 				BB1B0AA22B4FC6E800889528 /* KMFunctionGuideWindowController.xib */,
+				BBFE14CD2BFD7FC300176992 /* KMCouponDueWindowController.swift */,
+				BBFE14CE2BFD7FC300176992 /* KMCouponDueWindowController.xib */,
 				BB1B0AA62B4FC6E800889528 /* Controllers */,
 			);
 			path = GuideInfo;
@@ -14302,6 +14312,7 @@
 				BB03D6A02B024AC8008C9976 /* KMPDFEditInsertPageWindow.xib in Resources */,
 				AD1D48252AFB6BCB007AC1F0 /* KMMergeView.xib in Resources */,
 				F3B7DF9D2948565000333201 /* CPDFListHoverAnnotationViewController.xib in Resources */,
+				BBFE14D22BFD7FC300176992 /* KMCouponDueWindowController.xib in Resources */,
 				BB4F7E912B0C80000077EC8C /* KMNoteColorCollectionViewItem.xib in Resources */,
 				ADF1569C29A63CBF001D1018 /* KMLightMember.xcassets in Resources */,
 				ADAFDA792AEB5FCD00F084BC /* KMHomeHistoryCollectionItem.xib in Resources */,
@@ -14922,6 +14933,7 @@
 				BB1E7F2D2B4FE2C6002D9785 /* GuideInfoImages.xcassets in Resources */,
 				89752DEE293875FC003FF08E /* KMMainToolbarController.xib in Resources */,
 				BB49ED0A293F461500C82CA2 /* KMConvertCSVWindowController.xib in Resources */,
+				BBFE14D32BFD7FC300176992 /* KMCouponDueWindowController.xib in Resources */,
 				BBEC00B3295C2AF300A26C98 /* KMBatesPreviewController.xib in Resources */,
 				BB49ED12293F462E00C82CA2 /* KMConvertImageWindowController.xib in Resources */,
 				AD1CA4042A06040B0070541F /* KMAnnotationScreenCollectionView.xib in Resources */,
@@ -15361,6 +15373,7 @@
 				BBFE6E7A2930E53000142C01 /* KMMergePopoverViewController.xib in Resources */,
 				89D9897128FD50EF003A3E87 /* KMAnnotationCollectionViewItem.xib in Resources */,
 				9F1FE4E929406E4700E952CA /* COPYING in Resources */,
+				BBFE14D42BFD7FC300176992 /* KMCouponDueWindowController.xib in Resources */,
 				BB5F8A1B29BB15AD00365ADB /* pic_mail.pdf in Resources */,
 				AD3AAD952B1034C000DE5FE7 /* KMHeaderFooterView.xib in Resources */,
 				BBEC00B4295C2AF300A26C98 /* KMBatesPreviewController.xib in Resources */,
@@ -16138,6 +16151,7 @@
 				9FD0D2AF2AD51BCC00DA3FF8 /* CPDFListEditAnnotationViewController.swift in Sources */,
 				ADAFDA422AE8F3C400F084BC /* KMAdvertisementTimeStampConversion.swift in Sources */,
 				BB10F1E42B736F11008EAF7E /* FMTrackEventManager.swift in Sources */,
+				BBFE14CF2BFD7FC300176992 /* KMCouponDueWindowController.swift in Sources */,
 				9F0CB4E92986559400007028 /* KMDesignToken+PaddingBottom.swift in Sources */,
 				ADDDCE272B43A32A005B4AB5 /* AppSandboxFileAccessOpenSavePanelDelegate.m in Sources */,
 				BB570ADB2B512C90005E7E4A /* KMLeftSideViewController+Thumbnail.swift in Sources */,
@@ -17910,6 +17924,7 @@
 				9F0CB49829683E1000007028 /* KMPropertiesPanelTextSubVC.swift in Sources */,
 				9F1FE4AC29406E4700E952CA /* CTBrowserWindow.m in Sources */,
 				9FF816DE2AFA5B8E0087EFC5 /* KMAnnotationTableViewController.swift in Sources */,
+				BBFE14D02BFD7FC300176992 /* KMCouponDueWindowController.swift in Sources */,
 				AD0FA50329A8E36200EDEB50 /* KMLightMemberAlertView.swift in Sources */,
 				9F0CB53E2986571A00007028 /* KMDesignToken+Typography.swift in Sources */,
 				9FCFEC712AC40F9B00EAD2CB /* CStampSignatureObject.swift in Sources */,
@@ -18528,6 +18543,7 @@
 				9F0CB4DB2986553600007028 /* KMDesignToken+VerticalPadding.swift in Sources */,
 				BB1B0AF42B4FC6E900889528 /* KMFunctionGuideNameItemView.swift in Sources */,
 				BB6DD816293486FA001F0544 /* KMSecureEncryptPasswordCellView.swift in Sources */,
+				BBFE14D12BFD7FC300176992 /* KMCouponDueWindowController.swift in Sources */,
 				9F1FE4C829406E4700E952CA /* CTUtil.m in Sources */,
 				BB147010299DC0D100784A6A /* OIDScopes.m in Sources */,
 				BBA922342B4E97540061057A /* KMPurchaseLimitWindowController.swift in Sources */,