Commit 52d9b311 authored by pete谢兆麟's avatar pete谢兆麟

整理

parent 95ddf51b
...@@ -1224,13 +1224,6 @@ ...@@ -1224,13 +1224,6 @@
04AFEF572D6C78AA0007A011 /* YHVipLevelRightViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04AFEF562D6C78AA0007A011 /* YHVipLevelRightViewController.swift */; }; 04AFEF572D6C78AA0007A011 /* YHVipLevelRightViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04AFEF562D6C78AA0007A011 /* YHVipLevelRightViewController.swift */; };
04AFEF592D6C8CE00007A011 /* YHVipLevelRightHeaderView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04AFEF582D6C8CDF0007A011 /* YHVipLevelRightHeaderView.swift */; }; 04AFEF592D6C8CE00007A011 /* YHVipLevelRightHeaderView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04AFEF582D6C8CDF0007A011 /* YHVipLevelRightHeaderView.swift */; };
04AFEF5B2D76DC740007A011 /* YHTravelCertificateUsageTipsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04AFEF5A2D76DC740007A011 /* YHTravelCertificateUsageTipsView.swift */; }; 04AFEF5B2D76DC740007A011 /* YHTravelCertificateUsageTipsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04AFEF5A2D76DC740007A011 /* YHTravelCertificateUsageTipsView.swift */; };
04B00F7E2D94FB3C00F640C5 /* YHMakePlanViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04B00F7D2D94FB3C00F640C5 /* YHMakePlanViewController.swift */; };
04B00F802D951D0B00F640C5 /* YHMakePlanHeadView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04B00F7F2D951D0B00F640C5 /* YHMakePlanHeadView.swift */; };
04B00F822D95497400F640C5 /* YHMakePlanStateHeadView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04B00F812D95497400F640C5 /* YHMakePlanStateHeadView.swift */; };
04B00F842D95518C00F640C5 /* YHMakePlanCusttomHeadView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04B00F832D95518C00F640C5 /* YHMakePlanCusttomHeadView.swift */; };
04B00F862D966EAB00F640C5 /* YHMakePlanBottomView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04B00F852D966EAB00F640C5 /* YHMakePlanBottomView.swift */; };
04B00F882D96964100F640C5 /* YHMakePlanCardView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04B00F872D96964100F640C5 /* YHMakePlanCardView.swift */; };
04B00F8A2D96969E00F640C5 /* YHMakePlanCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04B00F892D96969E00F640C5 /* YHMakePlanCell.swift */; };
04B00F8C2D97C07900F640C5 /* YHMakePlanPriceAlertView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04B00F8B2D97C07900F640C5 /* YHMakePlanPriceAlertView.swift */; }; 04B00F8C2D97C07900F640C5 /* YHMakePlanPriceAlertView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04B00F8B2D97C07900F640C5 /* YHMakePlanPriceAlertView.swift */; };
04B00F8E2D97CBD900F640C5 /* YHMakePlanSelectAlertView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04B00F8D2D97CBD900F640C5 /* YHMakePlanSelectAlertView.swift */; }; 04B00F8E2D97CBD900F640C5 /* YHMakePlanSelectAlertView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04B00F8D2D97CBD900F640C5 /* YHMakePlanSelectAlertView.swift */; };
04B00F902D97D7A700F640C5 /* YHMakePlanShareAlertView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04B00F8F2D97D7A700F640C5 /* YHMakePlanShareAlertView.swift */; }; 04B00F902D97D7A700F640C5 /* YHMakePlanShareAlertView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04B00F8F2D97D7A700F640C5 /* YHMakePlanShareAlertView.swift */; };
...@@ -1254,13 +1247,6 @@ ...@@ -1254,13 +1247,6 @@
04D8FF772D979BCC00703C75 /* YHPlanPolicyDetailViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04D8FF762D979BCC00703C75 /* YHPlanPolicyDetailViewController.swift */; }; 04D8FF772D979BCC00703C75 /* YHPlanPolicyDetailViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04D8FF762D979BCC00703C75 /* YHPlanPolicyDetailViewController.swift */; };
04D8FF792D97BDBD00703C75 /* YHPlanShareViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04D8FF782D97BDBD00703C75 /* YHPlanShareViewController.swift */; }; 04D8FF792D97BDBD00703C75 /* YHPlanShareViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04D8FF782D97BDBD00703C75 /* YHPlanShareViewController.swift */; };
04D8FF7B2D97C29E00703C75 /* YHPlanShareView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04D8FF7A2D97C29E00703C75 /* YHPlanShareView.swift */; }; 04D8FF7B2D97C29E00703C75 /* YHPlanShareView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04D8FF7A2D97C29E00703C75 /* YHPlanShareView.swift */; };
04D8FFA82D97C80000703C75 /* YHMakePlanCardView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04D8FFA12D97C80000703C75 /* YHMakePlanCardView.swift */; };
04D8FFA92D97C80000703C75 /* YHMakePlanBottomView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04D8FFA02D97C80000703C75 /* YHMakePlanBottomView.swift */; };
04D8FFAA2D97C80000703C75 /* YHMakePlanCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04D8FFA22D97C80000703C75 /* YHMakePlanCell.swift */; };
04D8FFAB2D97C80000703C75 /* YHMakePlanViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04D8FF9E2D97C80000703C75 /* YHMakePlanViewController.swift */; };
04D8FFAC2D97C80000703C75 /* YHMakePlanCusttomHeadView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04D8FFA32D97C80000703C75 /* YHMakePlanCusttomHeadView.swift */; };
04D8FFAD2D97C80000703C75 /* YHMakePlanStateHeadView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04D8FFA52D97C80000703C75 /* YHMakePlanStateHeadView.swift */; };
04D8FFAE2D97C80000703C75 /* YHMakePlanHeadView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04D8FFA42D97C80000703C75 /* YHMakePlanHeadView.swift */; };
04E4CF3E2D5C6D32004D4013 /* YHCountryMessageView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04E4CF3D2D5C6D32004D4013 /* YHCountryMessageView.swift */; }; 04E4CF3E2D5C6D32004D4013 /* YHCountryMessageView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04E4CF3D2D5C6D32004D4013 /* YHCountryMessageView.swift */; };
04E4CF402D5C83AE004D4013 /* YHSelectPhoneCountryViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04E4CF3F2D5C83AE004D4013 /* YHSelectPhoneCountryViewController.swift */; }; 04E4CF402D5C83AE004D4013 /* YHSelectPhoneCountryViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04E4CF3F2D5C83AE004D4013 /* YHSelectPhoneCountryViewController.swift */; };
04E507D62D6EE856005F758B /* YHUserLevelAlertView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04E507D52D6EE856005F758B /* YHUserLevelAlertView.swift */; }; 04E507D62D6EE856005F758B /* YHUserLevelAlertView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04E507D52D6EE856005F758B /* YHUserLevelAlertView.swift */; };
...@@ -2524,13 +2510,6 @@ ...@@ -2524,13 +2510,6 @@
04AFEF562D6C78AA0007A011 /* YHVipLevelRightViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHVipLevelRightViewController.swift; sourceTree = "<group>"; }; 04AFEF562D6C78AA0007A011 /* YHVipLevelRightViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHVipLevelRightViewController.swift; sourceTree = "<group>"; };
04AFEF582D6C8CDF0007A011 /* YHVipLevelRightHeaderView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHVipLevelRightHeaderView.swift; sourceTree = "<group>"; }; 04AFEF582D6C8CDF0007A011 /* YHVipLevelRightHeaderView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHVipLevelRightHeaderView.swift; sourceTree = "<group>"; };
04AFEF5A2D76DC740007A011 /* YHTravelCertificateUsageTipsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHTravelCertificateUsageTipsView.swift; sourceTree = "<group>"; }; 04AFEF5A2D76DC740007A011 /* YHTravelCertificateUsageTipsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHTravelCertificateUsageTipsView.swift; sourceTree = "<group>"; };
04B00F7D2D94FB3C00F640C5 /* YHMakePlanViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHMakePlanViewController.swift; sourceTree = "<group>"; };
04B00F7F2D951D0B00F640C5 /* YHMakePlanHeadView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHMakePlanHeadView.swift; sourceTree = "<group>"; };
04B00F812D95497400F640C5 /* YHMakePlanStateHeadView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHMakePlanStateHeadView.swift; sourceTree = "<group>"; };
04B00F832D95518C00F640C5 /* YHMakePlanCusttomHeadView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHMakePlanCusttomHeadView.swift; sourceTree = "<group>"; };
04B00F852D966EAB00F640C5 /* YHMakePlanBottomView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHMakePlanBottomView.swift; sourceTree = "<group>"; };
04B00F872D96964100F640C5 /* YHMakePlanCardView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHMakePlanCardView.swift; sourceTree = "<group>"; };
04B00F892D96969E00F640C5 /* YHMakePlanCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHMakePlanCell.swift; sourceTree = "<group>"; };
04B00F8B2D97C07900F640C5 /* YHMakePlanPriceAlertView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHMakePlanPriceAlertView.swift; sourceTree = "<group>"; }; 04B00F8B2D97C07900F640C5 /* YHMakePlanPriceAlertView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHMakePlanPriceAlertView.swift; sourceTree = "<group>"; };
04B00F8D2D97CBD900F640C5 /* YHMakePlanSelectAlertView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHMakePlanSelectAlertView.swift; sourceTree = "<group>"; }; 04B00F8D2D97CBD900F640C5 /* YHMakePlanSelectAlertView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHMakePlanSelectAlertView.swift; sourceTree = "<group>"; };
04B00F8F2D97D7A700F640C5 /* YHMakePlanShareAlertView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHMakePlanShareAlertView.swift; sourceTree = "<group>"; }; 04B00F8F2D97D7A700F640C5 /* YHMakePlanShareAlertView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHMakePlanShareAlertView.swift; sourceTree = "<group>"; };
...@@ -2554,13 +2533,6 @@ ...@@ -2554,13 +2533,6 @@
04D8FF762D979BCC00703C75 /* YHPlanPolicyDetailViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHPlanPolicyDetailViewController.swift; sourceTree = "<group>"; }; 04D8FF762D979BCC00703C75 /* YHPlanPolicyDetailViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHPlanPolicyDetailViewController.swift; sourceTree = "<group>"; };
04D8FF782D97BDBD00703C75 /* YHPlanShareViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHPlanShareViewController.swift; sourceTree = "<group>"; }; 04D8FF782D97BDBD00703C75 /* YHPlanShareViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHPlanShareViewController.swift; sourceTree = "<group>"; };
04D8FF7A2D97C29E00703C75 /* YHPlanShareView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHPlanShareView.swift; sourceTree = "<group>"; }; 04D8FF7A2D97C29E00703C75 /* YHPlanShareView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHPlanShareView.swift; sourceTree = "<group>"; };
04D8FF9E2D97C80000703C75 /* YHMakePlanViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHMakePlanViewController.swift; sourceTree = "<group>"; };
04D8FFA02D97C80000703C75 /* YHMakePlanBottomView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHMakePlanBottomView.swift; sourceTree = "<group>"; };
04D8FFA12D97C80000703C75 /* YHMakePlanCardView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHMakePlanCardView.swift; sourceTree = "<group>"; };
04D8FFA22D97C80000703C75 /* YHMakePlanCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHMakePlanCell.swift; sourceTree = "<group>"; };
04D8FFA32D97C80000703C75 /* YHMakePlanCusttomHeadView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHMakePlanCusttomHeadView.swift; sourceTree = "<group>"; };
04D8FFA42D97C80000703C75 /* YHMakePlanHeadView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHMakePlanHeadView.swift; sourceTree = "<group>"; };
04D8FFA52D97C80000703C75 /* YHMakePlanStateHeadView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHMakePlanStateHeadView.swift; sourceTree = "<group>"; };
04E4CF3D2D5C6D32004D4013 /* YHCountryMessageView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHCountryMessageView.swift; sourceTree = "<group>"; }; 04E4CF3D2D5C6D32004D4013 /* YHCountryMessageView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHCountryMessageView.swift; sourceTree = "<group>"; };
04E4CF3F2D5C83AE004D4013 /* YHSelectPhoneCountryViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHSelectPhoneCountryViewController.swift; sourceTree = "<group>"; }; 04E4CF3F2D5C83AE004D4013 /* YHSelectPhoneCountryViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHSelectPhoneCountryViewController.swift; sourceTree = "<group>"; };
04E507D52D6EE856005F758B /* YHUserLevelAlertView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHUserLevelAlertView.swift; sourceTree = "<group>"; }; 04E507D52D6EE856005F758B /* YHUserLevelAlertView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHUserLevelAlertView.swift; sourceTree = "<group>"; };
...@@ -6690,59 +6662,19 @@ ...@@ -6690,59 +6662,19 @@
path = VM; path = VM;
sourceTree = "<group>"; sourceTree = "<group>";
}; };
04B00F782D94FA9500F640C5 /* MakePlan */ = { 04B00F912D97EC8400F640C5 /* Recovered References */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
04B00F7C2D94FADB00F640C5 /* C */,
04B00F7B2D94FAD400F640C5 /* V */,
04B00F7A2D94FACD00F640C5 /* M */,
04B00F792D94FAC000F640C5 /* VM */,
);
path = MakePlan;
sourceTree = "<group>";
};
04B00F792D94FAC000F640C5 /* VM */ = {
isa = PBXGroup;
children = (
);
path = VM;
sourceTree = "<group>";
};
04B00F7A2D94FACD00F640C5 /* M */ = {
isa = PBXGroup;
children = (
);
path = M;
sourceTree = "<group>";
};
04B00F7B2D94FAD400F640C5 /* V */ = {
isa = PBXGroup;
children = (
04B00F7F2D951D0B00F640C5 /* YHMakePlanHeadView.swift */,
04B00F812D95497400F640C5 /* YHMakePlanStateHeadView.swift */,
04B00F832D95518C00F640C5 /* YHMakePlanCusttomHeadView.swift */,
04B00F852D966EAB00F640C5 /* YHMakePlanBottomView.swift */,
04B00F872D96964100F640C5 /* YHMakePlanCardView.swift */,
04B00F892D96969E00F640C5 /* YHMakePlanCell.swift */,
04B00F8B2D97C07900F640C5 /* YHMakePlanPriceAlertView.swift */,
04B00F8D2D97CBD900F640C5 /* YHMakePlanSelectAlertView.swift */, 04B00F8D2D97CBD900F640C5 /* YHMakePlanSelectAlertView.swift */,
04B00F8F2D97D7A700F640C5 /* YHMakePlanShareAlertView.swift */, 04B00F8F2D97D7A700F640C5 /* YHMakePlanShareAlertView.swift */,
04B00F8B2D97C07900F640C5 /* YHMakePlanPriceAlertView.swift */,
); );
path = V; name = "Recovered References";
sourceTree = "<group>";
};
04B00F7C2D94FADB00F640C5 /* C */ = {
isa = PBXGroup;
children = (
04B00F7D2D94FB3C00F640C5 /* YHMakePlanViewController.swift */,
);
path = C;
sourceTree = "<group>"; sourceTree = "<group>";
}; };
04D8FF4F2D9257F700703C75 /* Plan(方案) */ = { 04D8FF4F2D9257F700703C75 /* Plan(方案) */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
04D8FFA72D97C80000703C75 /* MakePlan */,
04D8FF532D92581300703C75 /* VM */, 04D8FF532D92581300703C75 /* VM */,
04D8FF522D92580F00703C75 /* M */, 04D8FF522D92580F00703C75 /* M */,
04D8FF512D92580900703C75 /* V */, 04D8FF512D92580900703C75 /* V */,
...@@ -6805,36 +6737,6 @@ ...@@ -6805,36 +6737,6 @@
path = VM; path = VM;
sourceTree = "<group>"; sourceTree = "<group>";
}; };
04D8FF9F2D97C80000703C75 /* C */ = {
isa = PBXGroup;
children = (
04D8FF9E2D97C80000703C75 /* YHMakePlanViewController.swift */,
);
path = C;
sourceTree = "<group>";
};
04D8FFA62D97C80000703C75 /* V */ = {
isa = PBXGroup;
children = (
04D8FFA02D97C80000703C75 /* YHMakePlanBottomView.swift */,
04D8FFA12D97C80000703C75 /* YHMakePlanCardView.swift */,
04D8FFA22D97C80000703C75 /* YHMakePlanCell.swift */,
04D8FFA32D97C80000703C75 /* YHMakePlanCusttomHeadView.swift */,
04D8FFA42D97C80000703C75 /* YHMakePlanHeadView.swift */,
04D8FFA52D97C80000703C75 /* YHMakePlanStateHeadView.swift */,
);
path = V;
sourceTree = "<group>";
};
04D8FFA72D97C80000703C75 /* MakePlan */ = {
isa = PBXGroup;
children = (
04D8FF9F2D97C80000703C75 /* C */,
04D8FFA62D97C80000703C75 /* V */,
);
path = MakePlan;
sourceTree = "<group>";
};
4758815B24BAF3CAA24EC6A8 /* Pods */ = { 4758815B24BAF3CAA24EC6A8 /* Pods */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
...@@ -6869,6 +6771,7 @@ ...@@ -6869,6 +6771,7 @@
A5573ECF2B317BFF00D98EC0 /* Products */, A5573ECF2B317BFF00D98EC0 /* Products */,
4758815B24BAF3CAA24EC6A8 /* Pods */, 4758815B24BAF3CAA24EC6A8 /* Pods */,
8D4DE9CA401A76BB1ECBE46E /* Frameworks */, 8D4DE9CA401A76BB1ECBE46E /* Frameworks */,
04B00F912D97EC8400F640C5 /* Recovered References */,
); );
sourceTree = "<group>"; sourceTree = "<group>";
}; };
...@@ -7666,13 +7569,6 @@ ...@@ -7666,13 +7569,6 @@
045C115B2D12CA5F00BD2DC0 /* YHHKRecordItemDetailType.swift in Sources */, 045C115B2D12CA5F00BD2DC0 /* YHHKRecordItemDetailType.swift in Sources */,
045C115C2D12CA5F00BD2DC0 /* YHHUDContainerView.swift in Sources */, 045C115C2D12CA5F00BD2DC0 /* YHHUDContainerView.swift in Sources */,
045C115D2D12CA5F00BD2DC0 /* YHOrderTipsView.swift in Sources */, 045C115D2D12CA5F00BD2DC0 /* YHOrderTipsView.swift in Sources */,
04D8FFA82D97C80000703C75 /* YHMakePlanCardView.swift in Sources */,
04D8FFA92D97C80000703C75 /* YHMakePlanBottomView.swift in Sources */,
04D8FFAA2D97C80000703C75 /* YHMakePlanCell.swift in Sources */,
04D8FFAB2D97C80000703C75 /* YHMakePlanViewController.swift in Sources */,
04D8FFAC2D97C80000703C75 /* YHMakePlanCusttomHeadView.swift in Sources */,
04D8FFAD2D97C80000703C75 /* YHMakePlanStateHeadView.swift in Sources */,
04D8FFAE2D97C80000703C75 /* YHMakePlanHeadView.swift in Sources */,
04AE203F2D13C36500891D24 /* YHGCQualificationDetailVC.swift in Sources */, 04AE203F2D13C36500891D24 /* YHGCQualificationDetailVC.swift in Sources */,
04307BAC2D1FFC1C00ED8E8D /* YHShareLiveInfoModel.swift in Sources */, 04307BAC2D1FFC1C00ED8E8D /* YHShareLiveInfoModel.swift in Sources */,
045C115E2D12CA5F00BD2DC0 /* YHInvitationWithGiftsSelectItemView.swift in Sources */, 045C115E2D12CA5F00BD2DC0 /* YHInvitationWithGiftsSelectItemView.swift in Sources */,
......
//
// YHMakePlanViewController.swift
// galaxy
//
// Created by EDY on 2025/3/27.
// Copyright © 2025 https://www.galaxy-immi.com. All rights reserved.
//
import UIKit
class YHMakePlanViewController: YHBaseViewController {
var items: [[Int]] = []
let viewModel = YHSchemeViewModel()
lazy var tableView: UITableView = {
let tableView = UITableView(frame: .zero, style: .grouped)
if #available(iOS 11.0, *) {
tableView.contentInsetAdjustmentBehavior = .never
}
tableView.showsVerticalScrollIndicator = false
tableView.backgroundColor = .clear
tableView.separatorStyle = .none
tableView.delegate = self
tableView.dataSource = self
tableView.register(cellWithClass: YHMakePlanCell.self)
tableView.tableHeaderView = YHMakePlanHeadView(frame: CGRect(x: 0, y: 0, width: KScreenWidth, height: 333.fix + 44))
return tableView
}()
lazy var priceView: YHMakePlanBottomView = {
let view = YHMakePlanBottomView()
return view
}()
override func viewDidLoad() {
super.viewDidLoad()
// gk_navTitle = "续签至永居方案私人订制"
gk_navTitleColor = .white
gk_navBarAlpha = 1
// gk_navBackgroundImage = UIImage(named: "my_scheme_nav")
gk_backImage = UIImage(named: "back_icon_white")
// Create and add to your view
view.addSubview(priceView)
priceView.snp.makeConstraints { make in
make.bottom.left.right.equalToSuperview()
make.height.equalTo(98)
}
// Configure with data
priceView.configure(price: "489800") {
print("Action button tapped!")
YHMakePlanShareAlertView.show { _ in
}
}
self.view.addSubview(tableView)
tableView.snp.makeConstraints { make in
make.top.left.right.equalToSuperview()
make.bottom.equalTo(-98)
}
requestData()
}
func requestData() {
tableView.reloadData()
}
func submitTargets() {
}
}
extension YHMakePlanViewController: UITableViewDelegate, UITableViewDataSource {
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
// return items.count
return 4
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
guard let cell = tableView.dequeueReusableCell(withClass: YHMakePlanCell.self) as? YHMakePlanCell else {
return UITableViewCell()
}
cell.dataSource = [CompanyPackageData(title: "香港身份申请至永居删除", subtitle: "香港高才入境计划申请到永居全流程", companyName: "", priceTag: "", price: "¥20000.00", showCheckmark: true)]
return cell
}
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
return 158 + 16
}
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
}
func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
let view = UIView()
return view
}
func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
return 0.01
}
func tableView(_ tableView: UITableView, viewForFooterInSection section: Int) -> UIView? {
let view = UIView()
return view
}
func tableView(_ tableView: UITableView, heightForFooterInSection section: Int) -> CGFloat {
return 0.01
}
}
//
// YHMakePlanBottomView.swift
// galaxy
//
// Created by EDY on 2025/3/28.
// Copyright © 2025 https://www.galaxy-immi.com. All rights reserved.
//
import UIKit
class YHMakePlanBottomView: UIView {
// MARK: - UI Elements
private lazy var priceLabel: UILabel = {
let label = UILabel()
label.font = UIFont.systemFont(ofSize: 24, weight: .bold)
label.textColor = .black
label.textAlignment = .left
return label
}()
private lazy var priceButton: UIButton = {
let label = UIButton()
label.setTitle(">", for: .normal)
label.titleLabel?.font = UIFont.systemFont(ofSize: 16, weight: .medium)
label.setTitleColor(UIColor.systemBlue, for: .normal)
label.addTarget(self, action: #selector(handleAction), for: .touchUpInside)
return label
}()
private lazy var actionButton: UIButton = {
let button = UIButton(type: .system)
button.setTitle("去办理 →", for: .normal)
button.titleLabel?.font = UIFont.systemFont(ofSize: 16, weight: .medium)
button.setTitleColor(UIColor.systemBlue, for: .normal)
button.addTarget(self, action: #selector(handleAction), for: .touchUpInside)
return button
}()
// MARK: - Properties
var price: String = "" {
didSet {
priceLabel.text = "\(price)"
}
}
var actionHandler: (() -> Void)?
// MARK: - Initialization
override init(frame: CGRect) {
super.init(frame: frame)
setupUI()
setupConstraints()
}
required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
// MARK: - Setup
private func setupUI() {
backgroundColor = .white
addSubview(priceLabel)
addSubview(priceButton)
addSubview(actionButton)
}
private func setupConstraints() {
priceLabel.snp.makeConstraints { make in
make.top.equalToSuperview().offset(20)
make.left.equalToSuperview().offset(16)
make.height.equalTo(28)
}
priceButton.snp.makeConstraints { make in
make.left.equalTo(priceLabel.snp.right)
make.width.height.equalTo(16)
make.centerY.equalTo(priceLabel.snp.centerY)
}
actionButton.snp.makeConstraints { make in
make.top.equalToSuperview().offset(9)
make.right.equalToSuperview().offset(-16)
make.width.equalTo(120)
make.height.equalTo(46)
}
}
// MARK: - Action
@objc private func handleAction() {
actionHandler?()
}
// MARK: - Configuration
func configure(price: String, actionText: String? = nil, actionHandler: (() -> Void)? = nil) {
self.price = price
if let actionText = actionText {
actionButton.setTitle(actionText, for: .normal)
}
self.actionHandler = actionHandler
}
}
//
// YHMakePlanCardView.swift
// galaxy
//
// Created by EDY on 2025/3/28.
// Copyright © 2025 https://www.galaxy-immi.com. All rights reserved.
//
import UIKit
class YHMakePlanCardView: UIView {
// MARK: - UI Elements
private lazy var containerView: UIView = {
let view = UIView()
view.backgroundColor = .white
return view
}()
private lazy var titleLabel: UILabel = {
let label = UILabel()
label.font = UIFont.systemFont(ofSize: 16, weight: .semibold)
label.textColor = .darkText
label.numberOfLines = 1
return label
}()
private lazy var subtitleLabel: UILabel = {
let label = UILabel()
label.font = UIFont.systemFont(ofSize: 13, weight: .regular)
label.textColor = .gray
label.numberOfLines = 2
return label
}()
private lazy var companyImageView: UIImageView = {
let view = UIImageView()
view.backgroundColor = UIColor(red: 0.95, green: 0.95, blue: 0.96, alpha: 1.0)
return view
}()
private lazy var storeButton: UIButton = {
let button = UIButton()
button.setTitle("星企航(7年)", for: .normal)
button.titleLabel?.font = UIFont.systemFont(ofSize: 16, weight: .medium)
button.setTitleColor(UIColor.systemBlue, for: .normal)
// button.addTarget(self, action: #selector(handleAction), for: .touchUpInside)
return button
}()
private lazy var priceTagView: UILabel = {
let label = UILabel()
label.font = UIFont.systemFont(ofSize: 14, weight: .medium)
label.textColor = UIColor(red: 0.2, green: 0.4, blue: 0.8, alpha: 1.0)
return label
}()
private lazy var selectButton: UIButton = {
let button = UIButton()
button.backgroundColor = .red
// button.addTarget(self, action: #selector(handleAction), for: .touchUpInside)
return button
}()
// MARK: - Initialization
override init(frame: CGRect) {
super.init(frame: frame)
setupUI()
setupConstraints()
}
required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
// MARK: - Setup
private func setupUI() {
addSubview(containerView)
containerView.addSubview(titleLabel)
containerView.addSubview(subtitleLabel)
containerView.addSubview(companyImageView)
containerView.addSubview(priceTagView)
containerView.addSubview(storeButton)
containerView.addSubview(selectButton)
}
private func setupConstraints() {
containerView.snp.makeConstraints { make in
make.edges.equalToSuperview()
}
titleLabel.snp.makeConstraints { make in
make.top.equalToSuperview().offset(16)
make.left.equalToSuperview().offset(110)
make.right.equalToSuperview().offset(-16)
}
subtitleLabel.snp.makeConstraints { make in
make.top.equalToSuperview().offset(40)
make.left.equalToSuperview().offset(110)
make.right.equalToSuperview().offset(-16)
}
companyImageView.snp.makeConstraints { make in
make.top.equalTo(18)
make.left.equalTo(16)
make.height.width.equalTo(86)
}
storeButton.snp.makeConstraints { make in
make.top.equalToSuperview().offset(60)
make.left.equalToSuperview().offset(110)
make.width.equalTo(97)
make.height.equalTo(22)
}
priceTagView.snp.makeConstraints { make in
make.top.equalToSuperview().offset(86)
make.left.equalToSuperview().offset(110)
make.right.equalToSuperview().offset(-16)
}
selectButton.snp.makeConstraints { make in
make.right.bottom.equalTo(-18)
make.height.width.equalTo(16)
}
}
// MARK: - Configuration
func configure(with data: CompanyPackageData) {
titleLabel.text = data.title
subtitleLabel.text = data.subtitle
priceTagView.text = data.price
}
}
struct CompanyPackageData {
let title: String
let subtitle: String
let companyName: String
let priceTag: String
let price: String
let showCheckmark: Bool
}
//
// YHMakePlanCell.swift
// galaxy
//
// Created by EDY on 2025/3/28.
// Copyright © 2025 https://www.galaxy-immi.com. All rights reserved.
//
import UIKit
class YHMakePlanCell: UITableViewCell {
// typealias InformationBlock = (_ model: YHItemModel) -> Void
var centerView: UIView!
var titleLabel: UILabel!
var mainItemView: UIView!
var country: String = ""
var dataSource: [CompanyPackageData]? {
didSet {
updateAllViews()
}
}
required init?(coder: NSCoder) {
super.init(coder: coder)
}
override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) {
super.init(style: style, reuseIdentifier: reuseIdentifier)
selectionStyle = .none
setupUI()
}
func setupUI() {
contentView.backgroundColor = .clear
backgroundColor = .clear
centerView = {
let view = UIView()
view.backgroundColor = .white
view.layer.cornerRadius = kCornerRadius6
return view
}()
contentView.addSubview(centerView)
centerView.snp.makeConstraints { make in
make.left.equalTo(16)
make.right.equalTo(-16)
make.top.equalTo(7)
make.bottom.equalTo(-7)
}
titleLabel = {
let label = UILabel()
label.font = UIFont.PFSC_M(ofSize: 15)
label.textColor = UIColor.mainTextColor
return label
}()
centerView.addSubview(titleLabel)
titleLabel.snp.makeConstraints { make in
make.left.equalTo(18)
make.top.equalTo(16)
make.height.equalTo(20)
make.right.equalTo(-18)
}
mainItemView = {
let view = UIView()
view.backgroundColor = .white
view.layer.cornerRadius = kCornerRadius6
return view
}()
centerView.addSubview(mainItemView)
mainItemView.snp.makeConstraints { make in
make.left.right.bottom.equalToSuperview()
make.top.equalTo(36)
}
}
func updateAllViews() {
titleLabel.text = "基础身份续签"
mainItemView.removeSubviews()
var y = 0
for i in 0 ..< (dataSource?.count ?? 0) {
if i != 0 || i != (dataSource?.count ?? 0) - 1 {
let line = UIView()
line.backgroundColor = UIColor.separatorColor
mainItemView.addSubview(line)
line.snp.makeConstraints { make in
make.left.equalTo(18)
make.top.equalTo(y)
make.height.equalTo(1)
make.right.equalTo(-18)
}
y += 1
}
var h = 121
let itemView = YHMakePlanCardView()
itemView.configure(with: CompanyPackageData(title: "香港身份申请至永居删除", subtitle: "香港高才入境计划申请到永居全流程", companyName: "", priceTag: "", price: "¥20000.00", showCheckmark: true))
mainItemView.addSubview(itemView)
itemView.snp.makeConstraints { make in
make.left.right.equalToSuperview()
make.top.equalTo(y)
make.height.equalTo(h)
}
y += h
}
}
}
//
// YHMakePlanCusttomHeadView.swift
// galaxy
//
// Created by EDY on 2025/3/27.
// Copyright © 2025 https://www.galaxy-immi.com. All rights reserved.
//
import UIKit
class YHMakePlanCusttomHeadView: UIView {
// Data
private let tabs = ["基础身份", "工作联系", "生活联系", "投资联系"]
private var buttons: [UIButton] = []
private var selectedIndex: Int = 0
// UI Components
private lazy var stackView: UIStackView = {
let stack = UIStackView()
stack.axis = .horizontal
stack.distribution = .fillEqually
return stack
}()
private let underlineView: UIView = {
let view = UIView()
view.backgroundColor = .systemBlue
return view
}()
// MARK: - Initialization
override init(frame: CGRect) {
super.init(frame: frame)
setupUI()
setupConstraints()
}
required init?(coder: NSCoder) {
super.init(coder: coder)
setupUI()
setupConstraints()
}
// MARK: - Setup
private func setupUI() {
backgroundColor = .systemBackground
// Create buttons
tabs.enumerated().forEach { index, title in
let button = UIButton(type: .system)
button.setTitle(title, for: .normal)
button.titleLabel?.font = UIFont.systemFont(ofSize: 14)
button.setTitleColor(index == 0 ? .systemBlue : .gray, for: .normal)
button.tag = index
button.addTarget(self, action: #selector(tabTapped(_:)), for: .touchUpInside)
buttons.append(button)
stackView.addArrangedSubview(button)
}
addSubview(stackView)
addSubview(underlineView)
}
private func setupConstraints() {
stackView.snp.makeConstraints { make in
make.top.equalToSuperview()
make.leading.trailing.equalToSuperview()
make.height.equalTo(40)
}
underlineView.snp.makeConstraints { make in
make.top.equalTo(stackView.snp.bottom)
make.height.equalTo(2)
make.width.equalToSuperview().dividedBy(tabs.count)
make.leading.equalToSuperview()
}
}
// MARK: - Actions
@objc private func tabTapped(_ sender: UIButton) {
let newIndex = sender.tag
guard newIndex != selectedIndex else { return }
// Update colors
buttons[selectedIndex].setTitleColor(.gray, for: .normal)
buttons[newIndex].setTitleColor(.systemBlue, for: .normal)
// Animate underline
UIView.animate(withDuration: 0.3) {
self.underlineView.snp.updateConstraints { make in
make.leading.equalToSuperview().offset(sender.frame.origin.x)
}
self.layoutIfNeeded()
}
selectedIndex = newIndex
}
}
//
// YHMakePlanHeadView.swift
// galaxy
//
// Created by EDY on 2025/3/27.
// Copyright © 2025 https://www.galaxy-immi.com. All rights reserved.
//
import UIKit
class YHMakePlanHeadView: UIView {
private lazy var centerImageView: UIImageView = {
let view = UIImageView()
view.image = UIImage(named: "plan_head_bg")
return view
}()
private lazy var centerView: YHMakePlanStateHeadView = {
let view = YHMakePlanStateHeadView()
view.backgroundColor = .white
view.layer.cornerRadius = 4
return view
}()
private lazy var logoImageView: UIImageView = {
let view = UIImageView()
view.image = UIImage(named: "plan_head_logo")
return view
}()
private lazy var custtomView: YHMakePlanCusttomHeadView = {
let view = YHMakePlanCusttomHeadView()
return view
}()
override init(frame: CGRect) {
super.init(frame: frame)
backgroundColor = UIColor(hex: 0x070E33)
setUpView()
}
required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
func update(type: YHGCApplicationType, name: String) {
}
private func setUpView() {
addSubview(centerImageView)
addSubview(centerView)
addSubview(logoImageView)
addSubview(custtomView)
centerImageView.snp.makeConstraints { make in
make.left.right.top.equalToSuperview()
make.height.equalTo(333.fix)
}
centerView.snp.makeConstraints { make in
make.left.equalTo(16)
make.right.equalTo(-16)
make.height.equalTo(88)
make.bottom.equalTo(centerImageView.snp.bottom).offset(-16)
}
logoImageView.snp.makeConstraints { make in
make.centerX.equalToSuperview()
make.height.equalTo(109)
make.width.equalTo(272)
make.top.equalTo(96)
}
custtomView.snp.makeConstraints { make in
make.bottom.left.right.equalToSuperview()
make.height.equalTo(44)
}
}
}
//
// YHMakePlanPriceAlertView.swift
// galaxy
//
// Created by EDY on 2025/3/29.
// Copyright © 2025 https://www.galaxy-immi.com. All rights reserved.
//
import UIKit
class YHMakePlanPriceAlertView: UIView {
typealias Block = (Int) -> Void
var block: Block?
var centerView: UIView!
var titleLabel: UILabel!
var closeButton: UIButton!
var lineView: UIView!
lazy var priceView: YHMakePlanBottomView = {
let view = YHMakePlanBottomView()
return view
}()
lazy var tableView: UITableView = {
let tableView = UITableView(frame: .zero, style: .grouped)
if #available(iOS 11.0, *) {
tableView.contentInsetAdjustmentBehavior = .never
}
tableView.showsVerticalScrollIndicator = false
tableView.backgroundColor = .clear
tableView.separatorStyle = .none
tableView.delegate = self
tableView.dataSource = self
tableView.register(cellWithClass: YHMakePlanLabelCell.self)
return tableView
}()
static func show(callBack: @escaping ((Int) -> Void)) {
let view = YHMakePlanPriceAlertView(frame: CGRect(x: 0, y: 0, width: KScreenWidth, height: KScreenHeight))
view.block = callBack
let window = UIApplication.shared.yhKeyWindow()
window?.addSubview(view)
}
override init(frame: CGRect) {
super.init(frame: frame)
backgroundColor = UIColor(white: 0.5, alpha: 0.1)
let tap = UITapGestureRecognizer(target: self, action: #selector(handleTap))
tap.delegate = self
addGestureRecognizer(tap)
setView()
}
required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
func setView() {
backgroundColor = UIColor(hex: 0x0000, alpha: 0.5)
centerView = {
let view = UIView()
view.backgroundColor = .white
view.layer.cornerRadius = kCornerRadius3
return view
}()
addSubview(centerView)
centerView.snp.makeConstraints { make in
make.bottom.left.right.equalToSuperview()
make.height.equalTo(554)
}
titleLabel = {
let label = UILabel()
label.font = UIFont.PFSC_M(ofSize: 15)
label.textColor = UIColor.mainTextColor
label.textAlignment = .center
label.text = "价格明细"
return label
}()
centerView.addSubview(titleLabel)
titleLabel.snp.makeConstraints { make in
make.left.equalTo(18)
make.top.equalTo(16)
make.height.equalTo(20)
make.right.equalTo(-18)
}
closeButton = {
let button = UIButton(type: .custom)
button.setImage(UIImage(named: "address_close"), for: .normal)
button.addTarget(self, action: #selector(dismiss), for: .touchUpInside)
return button
}()
centerView.addSubview(closeButton)
closeButton.snp.makeConstraints { make in
make.right.equalTo(-21)
make.height.width.equalTo(24)
make.top.equalTo(18)
}
closeButton.YH_clickEdgeInsets = UIEdgeInsets(top: 10, left: 10, bottom: 10, right: 10)
lineView = {
let view = UIView()
view.backgroundColor = UIColor.separatorColor
return view
}()
centerView.addSubview(lineView)
lineView.snp.makeConstraints { make in
make.left.equalTo(18)
make.top.equalTo(52)
make.height.equalTo(1)
make.right.equalTo(-18)
}
centerView.addSubview(priceView)
priceView.snp.makeConstraints { make in
make.bottom.left.right.equalToSuperview()
make.height.equalTo(98)
}
// Configure with data
priceView.configure(price: "489800") {
print("Action button tapped!")
// Handle the "去办理" action here
}
centerView.addSubview(tableView)
tableView.snp.makeConstraints { make in
make.left.right.equalToSuperview()
make.top.equalTo(52)
make.bottom.equalTo(-98)
}
}
@objc private func handleTap(_ sender: AnyObject?) {
dismiss()
}
@objc func dismiss() {
removeFromSuperview()
}
@objc func orderButtonClick() {
if let block = block {
block(1)
}
dismiss()
}
@objc func guideButtonClick() {
if let block = block {
block(2)
}
dismiss()
}
}
extension YHMakePlanPriceAlertView: UIGestureRecognizerDelegate {
func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldReceive touch: UITouch) -> Bool {
if touch.view == self {
return true
}
return false
}
}
extension YHMakePlanPriceAlertView: UITableViewDelegate, UITableViewDataSource {
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
// return items.count
return 4
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
guard let cell = tableView.dequeueReusableCell(withClass: YHMakePlanLabelCell.self) as? YHMakePlanLabelCell else {
return UITableViewCell()
}
cell.dataSource = [CompanyPackageData(title: "香港身份申请至永居删除", subtitle: "香港高才入境计划申请到永居全流程", companyName: "", priceTag: "", price: "¥20000.00", showCheckmark: true)]
return cell
}
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
return 96
}
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
}
func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
let view = UIView()
return view
}
func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
return 0.01
}
func tableView(_ tableView: UITableView, viewForFooterInSection section: Int) -> UIView? {
let view = UIView()
return view
}
func tableView(_ tableView: UITableView, heightForFooterInSection section: Int) -> CGFloat {
return 0.01
}
}
class YHMakePlanLabelCell: UITableViewCell {
// typealias InformationBlock = (_ model: YHItemModel) -> Void
var centerView: UIView!
var titleLabel: UILabel!
var mainItemView: UIView!
var country: String = ""
var dataSource: [CompanyPackageData]? {
didSet {
updateAllViews()
}
}
required init?(coder: NSCoder) {
super.init(coder: coder)
}
override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) {
super.init(style: style, reuseIdentifier: reuseIdentifier)
selectionStyle = .none
setupUI()
}
func setupUI() {
contentView.backgroundColor = .clear
backgroundColor = .clear
centerView = {
let view = UIView()
view.backgroundColor = .white
view.layer.cornerRadius = kCornerRadius6
return view
}()
contentView.addSubview(centerView)
centerView.snp.makeConstraints { make in
make.left.equalTo(16)
make.right.equalTo(-16)
make.top.equalTo(7)
make.bottom.equalTo(-7)
}
titleLabel = {
let label = UILabel()
label.font = UIFont.PFSC_M(ofSize: 15)
label.textColor = UIColor.mainTextColor
label.text = "价格明细"
return label
}()
centerView.addSubview(titleLabel)
titleLabel.snp.makeConstraints { make in
make.left.equalTo(18)
make.top.equalTo(16)
make.height.equalTo(20)
make.right.equalTo(-18)
}
mainItemView = {
let view = UIView()
view.backgroundColor = .white
view.layer.cornerRadius = kCornerRadius6
return view
}()
centerView.addSubview(mainItemView)
mainItemView.snp.makeConstraints { make in
make.left.right.bottom.equalToSuperview()
make.top.equalTo(36)
}
let lineView = {
let view = UIView()
view.backgroundColor = UIColor.separatorColor
return view
}()
centerView.addSubview(lineView)
lineView.snp.makeConstraints { make in
make.left.equalTo(18)
make.bottom.equalToSuperview()
make.height.equalTo(1)
make.right.equalTo(-18)
}
}
func updateAllViews() {
titleLabel.text = "基础身份续签"
mainItemView.removeSubviews()
var y = 0
for i in 0 ..< (dataSource?.count ?? 0) {
y += 12
var h = 20
let titleLabel = {
let label = UILabel()
label.font = UIFont.PFSC_M(ofSize: 15)
label.textColor = UIColor.mainTextColor
label.text = "香港身份申请至永居"
return label
}()
mainItemView.addSubview(titleLabel)
titleLabel.snp.makeConstraints { make in
make.left.right.equalToSuperview()
make.top.equalTo(y)
make.height.equalTo(h)
}
let valueLabel = {
let label = UILabel()
label.font = UIFont.PFSC_M(ofSize: 15)
label.textColor = UIColor.mainTextColor
label.textAlignment = .right
label.text = "¥58999"
return label
}()
mainItemView.addSubview(valueLabel)
valueLabel.snp.makeConstraints { make in
make.left.right.equalToSuperview()
make.top.equalTo(y)
make.height.equalTo(h)
}
y += h
}
}
}
//
// YHMakePlanSelectAlertView.swift
// galaxy
//
// Created by EDY on 2025/3/29.
// Copyright © 2025 https://www.galaxy-immi.com. All rights reserved.
//
import UIKit
class YHMakePlanSelectAlertView: UIView {
typealias Block = (Int) -> Void
var block: Block?
var centerView: UIView!
var titleLabel: UILabel!
var closeButton: UIButton!
var sureButton: UIButton!
var hasSelectLabel: UILabel!
var cardView: YHMakePlanCardView!
var lineView: UIView!
lazy var tableView: UITableView = {
let tableView = UITableView(frame: .zero, style: .grouped)
if #available(iOS 11.0, *) {
tableView.contentInsetAdjustmentBehavior = .never
}
tableView.showsVerticalScrollIndicator = false
tableView.backgroundColor = .clear
tableView.separatorStyle = .none
tableView.delegate = self
tableView.dataSource = self
let view = UIView(frame: CGRect(x: 0, y: 0, width: KScreenWidth, height: 44))
let label = UILabel()
label.text = "产品类型"
label.frame = CGRect(x: 20, y: 24, width: KScreenWidth, height: 20)
view.addSubview(label)
tableView.tableHeaderView = view
tableView.register(cellWithClass: YHMakePlanCardCell.self)
return tableView
}()
static func show(callBack: @escaping ((Int) -> Void)) {
let view = YHMakePlanSelectAlertView(frame: CGRect(x: 0, y: 0, width: KScreenWidth, height: KScreenHeight))
view.block = callBack
let window = UIApplication.shared.yhKeyWindow()
window?.addSubview(view)
}
override init(frame: CGRect) {
super.init(frame: frame)
backgroundColor = UIColor(white: 0.5, alpha: 0.1)
let tap = UITapGestureRecognizer(target: self, action: #selector(handleTap))
tap.delegate = self
addGestureRecognizer(tap)
setView()
}
required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
func setView() {
backgroundColor = UIColor(hex: 0x0000, alpha: 0.5)
centerView = {
let view = UIView()
view.backgroundColor = .white
view.layer.cornerRadius = kCornerRadius3
return view
}()
addSubview(centerView)
centerView.snp.makeConstraints { make in
make.bottom.left.right.equalToSuperview()
make.height.equalTo(720)
}
titleLabel = {
let label = UILabel()
label.font = UIFont.PFSC_M(ofSize: 15)
label.textColor = UIColor.mainTextColor
label.textAlignment = .center
label.text = "公司经营套餐选择"
return label
}()
centerView.addSubview(titleLabel)
titleLabel.snp.makeConstraints { make in
make.left.equalTo(18)
make.top.equalTo(16)
make.height.equalTo(20)
make.right.equalTo(-18)
}
closeButton = {
let button = UIButton(type: .custom)
button.setImage(UIImage(named: "address_close"), for: .normal)
button.addTarget(self, action: #selector(dismiss), for: .touchUpInside)
return button
}()
centerView.addSubview(closeButton)
closeButton.snp.makeConstraints { make in
make.right.equalTo(-21)
make.height.width.equalTo(24)
make.top.equalTo(18)
}
closeButton.YH_clickEdgeInsets = UIEdgeInsets(top: 10, left: 10, bottom: 10, right: 10)
lineView = {
let view = UIView()
view.backgroundColor = UIColor.separatorColor
return view
}()
centerView.addSubview(lineView)
lineView.snp.makeConstraints { make in
make.left.equalTo(18)
make.top.equalTo(52)
make.height.equalTo(1)
make.right.equalTo(-18)
}
let bottomLineView = {
let view = UIView()
view.backgroundColor = UIColor.separatorColor
return view
}()
centerView.addSubview(bottomLineView)
bottomLineView.snp.makeConstraints { make in
make.left.equalTo(18)
make.top.equalTo(214)
make.height.equalTo(1)
make.right.equalTo(-18)
}
hasSelectLabel = {
let label = UILabel()
label.font = UIFont.PFSC_M(ofSize: 15)
label.textColor = UIColor.mainTextColor
label.text = "已选产品"
return label
}()
centerView.addSubview(hasSelectLabel)
hasSelectLabel.snp.makeConstraints { make in
make.left.equalTo(18)
make.top.equalTo(72)
make.height.equalTo(20)
make.right.equalTo(-18)
}
cardView = {
let label = YHMakePlanCardView()
return label
}()
centerView.addSubview(cardView)
cardView.snp.makeConstraints { make in
make.left.right.equalToSuperview()
make.top.equalTo(104)
make.height.equalTo(86)
}
sureButton = {
let button = UIButton(type: .custom)
button.backgroundColor = .black
button.addTarget(self, action: #selector(dismiss), for: .touchUpInside)
return button
}()
centerView.addSubview(sureButton)
sureButton.snp.makeConstraints { make in
make.bottom.equalTo(-54)
make.left.equalTo(20)
make.right.equalTo(-20)
make.height.equalTo(46)
}
centerView.addSubview(tableView)
tableView.snp.makeConstraints { make in
make.left.right.equalToSuperview()
make.top.equalTo(215)
make.bottom.equalTo(-96)
}
}
@objc private func handleTap(_ sender: AnyObject?) {
dismiss()
}
@objc func dismiss() {
removeFromSuperview()
}
@objc func orderButtonClick() {
if let block = block {
block(1)
}
dismiss()
}
@objc func guideButtonClick() {
if let block = block {
block(2)
}
dismiss()
}
}
extension YHMakePlanSelectAlertView: UIGestureRecognizerDelegate {
func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldReceive touch: UITouch) -> Bool {
if touch.view == self {
return true
}
return false
}
}
extension YHMakePlanSelectAlertView: UITableViewDelegate, UITableViewDataSource {
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
// return items.count
return 4
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
guard let cell = tableView.dequeueReusableCell(withClass: YHMakePlanCardCell.self) as? YHMakePlanCardCell else {
return UITableViewCell()
}
cell.configure(with: ServiceModel(title: "星企航7年服务", price: 18900))
return cell
}
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
return 94
}
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
}
func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
let view = UIView()
return view
}
func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
return 0.01
}
func tableView(_ tableView: UITableView, viewForFooterInSection section: Int) -> UIView? {
let view = UIView()
return view
}
func tableView(_ tableView: UITableView, heightForFooterInSection section: Int) -> CGFloat {
return 0.01
}
}
class YHMakePlanCardCell: UITableViewCell {
// MARK: - UI Elements
private let containerView: UIView = {
let view = UIView()
view.backgroundColor = .white
view.layer.cornerRadius = 8
view.layer.borderWidth = 1
view.layer.borderColor = UIColor.lightGray.cgColor
return view
}()
private let bgImageView: UIImageView = {
let imageView = UIImageView()
imageView.image = UIImage(named: "")
imageView.backgroundColor = .red
return imageView
}()
private let titleLabel: UILabel = {
let label = UILabel()
label.text = "星企航6年服务"
label.font = UIFont.systemFont(ofSize: 16, weight: .medium)
label.textColor = .darkGray
return label
}()
private let priceLabel: UILabel = {
let label = UILabel()
label.text = "¥129980"
label.font = UIFont.systemFont(ofSize: 24, weight: .bold)
label.textColor = .black
return label
}()
// MARK: - Initialization
override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) {
super.init(style: style, reuseIdentifier: reuseIdentifier)
setupUI()
setupConstraints()
selectionStyle = .none
}
required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
// MARK: - Setup
private func setupUI() {
backgroundColor = .clear
contentView.backgroundColor = .clear
contentView.addSubview(containerView)
containerView.addSubview(bgImageView)
containerView.addSubview(titleLabel)
containerView.addSubview(priceLabel)
}
private func setupConstraints() {
containerView.snp.makeConstraints { make in
make.top.equalToSuperview().offset(8)
make.left.equalToSuperview().offset(16)
make.right.equalToSuperview().offset(-16)
make.bottom.equalToSuperview().offset(-8)
}
bgImageView.snp.makeConstraints { make in
make.height.width.equalTo(46)
make.left.equalToSuperview().offset(16)
make.centerY.equalToSuperview().offset(-16)
}
titleLabel.snp.makeConstraints { make in
make.top.equalToSuperview().offset(16)
make.left.equalToSuperview().offset(72)
make.right.equalToSuperview().offset(-16)
}
priceLabel.snp.makeConstraints { make in
make.top.equalTo(titleLabel.snp.bottom).offset(8)
make.left.equalToSuperview().offset(72)
make.right.equalToSuperview().offset(-16)
make.bottom.equalToSuperview().offset(-16)
}
}
// MARK: - Configuration
func configure(with service: ServiceModel) {
titleLabel.text = service.title
priceLabel.text = "¥\(service.price)"
}
}
// Example model for configuration
struct ServiceModel {
let title: String
let price: Int
}
//
// YHMakePlanShareAlertView.swift
// galaxy
//
// Created by EDY on 2025/3/29.
// Copyright © 2025 https://www.galaxy-immi.com. All rights reserved.
//
import UIKit
class YHMakePlanShareAlertView: UIView {
typealias Block = (Int) -> Void
var block: Block?
var centerView: UIView!
var sureButton: UIButton!
var leftButton: YHShareButton!
var rightButton: YHShareButton!
static func show(callBack: @escaping ((Int) -> Void)) {
let view = YHMakePlanShareAlertView(frame: CGRect(x: 0, y: 0, width: KScreenWidth, height: KScreenHeight))
view.block = callBack
let window = UIApplication.shared.yhKeyWindow()
window?.addSubview(view)
}
override init(frame: CGRect) {
super.init(frame: frame)
backgroundColor = UIColor(white: 0.5, alpha: 0.1)
let tap = UITapGestureRecognizer(target: self, action: #selector(handleTap))
tap.delegate = self
addGestureRecognizer(tap)
setView()
}
required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
func setView() {
backgroundColor = UIColor(hex: 0x0000, alpha: 0.5)
centerView = {
let view = UIView()
view.backgroundColor = .white
view.layer.cornerRadius = kCornerRadius3
return view
}()
addSubview(centerView)
centerView.snp.makeConstraints { make in
make.bottom.left.right.equalToSuperview()
make.height.equalTo(216)
}
sureButton = {
let button = UIButton(type: .custom)
button.backgroundColor = .black
button.addTarget(self, action: #selector(dismiss), for: .touchUpInside)
return button
}()
centerView.addSubview(sureButton)
sureButton.snp.makeConstraints { make in
make.bottom.equalTo(-54)
make.left.equalTo(20)
make.right.equalTo(-20)
make.height.equalTo(46)
}
leftButton = {
let button = YHShareButton()
button.setContent("invitation_with_gifts_share_center", "微信好友")
button.addTarget(self, action: #selector(peopleClick), for: .touchUpInside)
return button
}()
centerView.addSubview(leftButton)
leftButton.snp.makeConstraints { make in
make.top.equalTo(20)
make.right.equalTo(centerView.snp.centerX).offset(-33)
make.height.equalTo(74)
make.width.equalTo(52)
}
rightButton = {
let button = YHShareButton()
button.setContent("invitation_with_gifts_share_center", "复制链接")
button.addTarget(self, action: #selector(wxClick), for: .touchUpInside)
return button
}()
centerView.addSubview(rightButton)
rightButton.snp.makeConstraints { make in
make.top.equalTo(20)
make.left.equalTo(centerView.snp.centerX).offset(33)
make.height.equalTo(74)
make.width.equalTo(52)
}
}
@objc func wxClick() {
// guard let combinedImage = combinedImageFrom(imageView: centerImageView) else { return }
YHShareManager.shared.sendLinkContent("香港身份规划专属礼包,限时领取!", "资深银河规划专家1V1评估方案", UIImage(named: "invitation_with_gifts_share_other") ?? UIImage(), link: YHBaseUrlManager.shared.curH5URL() + "superAppBridge.html#/evaluation?channel=lkhtj-app&customer_id=\(YHLoginManager.shared.userModel?.id ?? "")&scene_id=30")
// YHShareManager.shared.sendImageContent(combinedImage)
}
@objc func peopleClick() {
// guard let combinedImage = combinedImageFrom(imageView: centerImageView) else { return }
// YHShareManager.shared.sendImageContent(combinedImage, WXSceneTimeline)
YHShareManager.shared.sendLinkContent("香港身份规划专属礼包,限时领取!", "资深银河规划专家1V1评估方案", UIImage(named: "invitation_with_gifts_share_other") ?? UIImage(), link: YHBaseUrlManager.shared.curH5URL() + "superAppBridge.html#/evaluation?channel=lkhtj-app&customer_id=\(YHLoginManager.shared.userModel?.id ?? "")&scene_id=30", WXSceneTimeline)
}
@objc private func handleTap(_ sender: AnyObject?) {
dismiss()
}
@objc func dismiss() {
removeFromSuperview()
}
@objc func orderButtonClick() {
if let block = block {
block(1)
}
dismiss()
}
@objc func guideButtonClick() {
if let block = block {
block(2)
}
dismiss()
}
}
extension YHMakePlanShareAlertView: UIGestureRecognizerDelegate {
func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldReceive touch: UITouch) -> Bool {
if touch.view == self {
return true
}
return false
}
}
//
// YHMakePlanStateHeadView.swift
// galaxy
//
// Created by EDY on 2025/3/27.
// Copyright © 2025 https://www.galaxy-immi.com. All rights reserved.
//
import UIKit
class YHMakePlanStateHeadView: UIView {
// MARK: - UI Components
private let yearsLabel: UILabel = {
let label = UILabel()
label.text = "5"
label.font = .boldSystemFont(ofSize: 32)
label.textColor = .label
label.textAlignment = .center
return label
}()
private let yearsDescriptionLabel: UILabel = {
let label = UILabel()
label.text = "预计可续期(年)"
label.font = .systemFont(ofSize: 14)
label.textColor = .secondaryLabel
label.textAlignment = .center
return label
}()
private let percentageLabel: UILabel = {
let label = UILabel()
label.text = "90%"
label.font = .boldSystemFont(ofSize: 32)
label.textColor = .label
label.textAlignment = .center
return label
}()
private let progressDescriptionLabel: UILabel = {
let label = UILabel()
label.text = "续签综合通过率"
label.font = .systemFont(ofSize: 14)
label.textColor = .secondaryLabel
label.textAlignment = .center
return label
}()
// MARK: - Initialization
override init(frame: CGRect) {
super.init(frame: frame)
setupView()
setupConstraints()
}
required init?(coder: NSCoder) {
super.init(coder: coder)
setupView()
setupConstraints()
}
// MARK: - Setup
private func setupView() {
addSubview(yearsLabel)
addSubview(yearsDescriptionLabel)
addSubview(percentageLabel)
addSubview(progressDescriptionLabel)
}
private func setupConstraints() {
yearsLabel.snp.makeConstraints { make in
make.top.equalToSuperview().offset(16)
make.left.equalToSuperview().offset(16)
make.right.equalTo(self.snp.centerX)
}
yearsDescriptionLabel.snp.makeConstraints { make in
make.top.equalTo(yearsLabel.snp.bottom).offset(4)
make.left.equalToSuperview().offset(16)
make.right.equalTo(self.snp.centerX)
}
percentageLabel.snp.makeConstraints { make in
make.top.equalToSuperview().offset(16)
make.right.equalToSuperview().offset(-16)
make.left.equalTo(self.snp.centerX)
}
progressDescriptionLabel.snp.makeConstraints { make in
make.top.equalTo(percentageLabel.snp.bottom).offset(4)
make.right.equalToSuperview().offset(-16)
make.left.equalTo(self.snp.centerX)
}
}
// MARK: - Configuration
func configure(years: Int, percentage: Float) {
yearsLabel.text = "\(years)"
percentageLabel.text = "\(Int(percentage * 100))%"
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment