Commit 6ecc1f98 by 路少雄

1.3.0线上

parent 6a3d576e
...@@ -14,6 +14,10 @@ ...@@ -14,6 +14,10 @@
390516C92BAAB95000935EDE /* DXHotElecticView.m in Sources */ = {isa = PBXBuildFile; fileRef = 390516C62BAA75D000935EDE /* DXHotElecticView.m */; }; 390516C92BAAB95000935EDE /* DXHotElecticView.m in Sources */ = {isa = PBXBuildFile; fileRef = 390516C62BAA75D000935EDE /* DXHotElecticView.m */; };
390516CA2BAAB95100935EDE /* DXHotElecticView.m in Sources */ = {isa = PBXBuildFile; fileRef = 390516C62BAA75D000935EDE /* DXHotElecticView.m */; }; 390516CA2BAAB95100935EDE /* DXHotElecticView.m in Sources */ = {isa = PBXBuildFile; fileRef = 390516C62BAA75D000935EDE /* DXHotElecticView.m */; };
390516CB2BAAB95100935EDE /* DXHotElecticView.m in Sources */ = {isa = PBXBuildFile; fileRef = 390516C62BAA75D000935EDE /* DXHotElecticView.m */; }; 390516CB2BAAB95100935EDE /* DXHotElecticView.m in Sources */ = {isa = PBXBuildFile; fileRef = 390516C62BAA75D000935EDE /* DXHotElecticView.m */; };
390F59A82DF9636A00D6D06C /* JoystickIntroManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 390F59A72DF9636A00D6D06C /* JoystickIntroManager.m */; };
390F59A92DF9636A00D6D06C /* JoystickIntroManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 390F59A72DF9636A00D6D06C /* JoystickIntroManager.m */; };
390F59AA2DF9636A00D6D06C /* JoystickIntroManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 390F59A72DF9636A00D6D06C /* JoystickIntroManager.m */; };
390F59AB2DF9636A00D6D06C /* JoystickIntroManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 390F59A72DF9636A00D6D06C /* JoystickIntroManager.m */; };
39D57E752DD445C400FACDD5 /* DXDRPlusVC.m in Sources */ = {isa = PBXBuildFile; fileRef = 39D57E742DD445C400FACDD5 /* DXDRPlusVC.m */; }; 39D57E752DD445C400FACDD5 /* DXDRPlusVC.m in Sources */ = {isa = PBXBuildFile; fileRef = 39D57E742DD445C400FACDD5 /* DXDRPlusVC.m */; };
39D57E762DD445C400FACDD5 /* DXDRPlusVC.m in Sources */ = {isa = PBXBuildFile; fileRef = 39D57E742DD445C400FACDD5 /* DXDRPlusVC.m */; }; 39D57E762DD445C400FACDD5 /* DXDRPlusVC.m in Sources */ = {isa = PBXBuildFile; fileRef = 39D57E742DD445C400FACDD5 /* DXDRPlusVC.m */; };
39D57E772DD445C400FACDD5 /* DXDRPlusVC.m in Sources */ = {isa = PBXBuildFile; fileRef = 39D57E742DD445C400FACDD5 /* DXDRPlusVC.m */; }; 39D57E772DD445C400FACDD5 /* DXDRPlusVC.m in Sources */ = {isa = PBXBuildFile; fileRef = 39D57E742DD445C400FACDD5 /* DXDRPlusVC.m */; };
...@@ -704,6 +708,8 @@ ...@@ -704,6 +708,8 @@
2DDF3A57856A2F27B92CD379 /* Pods-HJMDrWarter.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-HJMDrWarter.debug.xcconfig"; path = "Target Support Files/Pods-HJMDrWarter/Pods-HJMDrWarter.debug.xcconfig"; sourceTree = "<group>"; }; 2DDF3A57856A2F27B92CD379 /* Pods-HJMDrWarter.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-HJMDrWarter.debug.xcconfig"; path = "Target Support Files/Pods-HJMDrWarter/Pods-HJMDrWarter.debug.xcconfig"; sourceTree = "<group>"; };
390516C52BAA75D000935EDE /* DXHotElecticView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = DXHotElecticView.h; sourceTree = "<group>"; }; 390516C52BAA75D000935EDE /* DXHotElecticView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = DXHotElecticView.h; sourceTree = "<group>"; };
390516C62BAA75D000935EDE /* DXHotElecticView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = DXHotElecticView.m; sourceTree = "<group>"; }; 390516C62BAA75D000935EDE /* DXHotElecticView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = DXHotElecticView.m; sourceTree = "<group>"; };
390F59A62DF9636A00D6D06C /* JoystickIntroManager.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = JoystickIntroManager.h; sourceTree = "<group>"; };
390F59A72DF9636A00D6D06C /* JoystickIntroManager.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = JoystickIntroManager.m; sourceTree = "<group>"; };
39514C652C5A0A1000D785DC /* zh-Hant */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hant"; path = "zh-Hant.lproj/Localizable.strings"; sourceTree = "<group>"; }; 39514C652C5A0A1000D785DC /* zh-Hant */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "zh-Hant"; path = "zh-Hant.lproj/Localizable.strings"; sourceTree = "<group>"; };
39D57E732DD445C400FACDD5 /* DXDRPlusVC.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = DXDRPlusVC.h; sourceTree = "<group>"; }; 39D57E732DD445C400FACDD5 /* DXDRPlusVC.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = DXDRPlusVC.h; sourceTree = "<group>"; };
39D57E742DD445C400FACDD5 /* DXDRPlusVC.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = DXDRPlusVC.m; sourceTree = "<group>"; }; 39D57E742DD445C400FACDD5 /* DXDRPlusVC.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = DXDRPlusVC.m; sourceTree = "<group>"; };
...@@ -1214,6 +1220,8 @@ ...@@ -1214,6 +1220,8 @@
39D57E842DD5BBED00FACDD5 /* DXDRPlus.json */, 39D57E842DD5BBED00FACDD5 /* DXDRPlus.json */,
39D57E892DD5C84C00FACDD5 /* DXDRPlusMoel.h */, 39D57E892DD5C84C00FACDD5 /* DXDRPlusMoel.h */,
39D57E8A2DD5C84C00FACDD5 /* DXDRPlusMoel.m */, 39D57E8A2DD5C84C00FACDD5 /* DXDRPlusMoel.m */,
390F59A62DF9636A00D6D06C /* JoystickIntroManager.h */,
390F59A72DF9636A00D6D06C /* JoystickIntroManager.m */,
); );
path = Model; path = Model;
sourceTree = "<group>"; sourceTree = "<group>";
...@@ -2613,6 +2621,7 @@ ...@@ -2613,6 +2621,7 @@
883150E32A0A2CB70025FDDE /* AppDelegate.m in Sources */, 883150E32A0A2CB70025FDDE /* AppDelegate.m in Sources */,
6CAFE7342AF4C71C00C929A7 /* DXHFXUpkeepVC.m in Sources */, 6CAFE7342AF4C71C00C929A7 /* DXHFXUpkeepVC.m in Sources */,
883150E42A0A2CB70025FDDE /* XHMineViewCell.m in Sources */, 883150E42A0A2CB70025FDDE /* XHMineViewCell.m in Sources */,
390F59AB2DF9636A00D6D06C /* JoystickIntroManager.m in Sources */,
883150E52A0A2CB70025FDDE /* NSString+HJCRC16Modbus.m in Sources */, 883150E52A0A2CB70025FDDE /* NSString+HJCRC16Modbus.m in Sources */,
883150E62A0A2CB70025FDDE /* XHSelectCommandModelView.m in Sources */, 883150E62A0A2CB70025FDDE /* XHSelectCommandModelView.m in Sources */,
883150E72A0A2CB70025FDDE /* XHMineSetSexView.m in Sources */, 883150E72A0A2CB70025FDDE /* XHMineSetSexView.m in Sources */,
...@@ -2768,6 +2777,7 @@ ...@@ -2768,6 +2777,7 @@
88D323BD2A177CDC00334372 /* XHMineViewCell.m in Sources */, 88D323BD2A177CDC00334372 /* XHMineViewCell.m in Sources */,
6CAFE7362AF4C71C00C929A7 /* DXHFXUpkeepVC.m in Sources */, 6CAFE7362AF4C71C00C929A7 /* DXHFXUpkeepVC.m in Sources */,
88D323BE2A177CDC00334372 /* NSString+HJCRC16Modbus.m in Sources */, 88D323BE2A177CDC00334372 /* NSString+HJCRC16Modbus.m in Sources */,
390F59A92DF9636A00D6D06C /* JoystickIntroManager.m in Sources */,
88D323BF2A177CDC00334372 /* XHSelectCommandModelView.m in Sources */, 88D323BF2A177CDC00334372 /* XHSelectCommandModelView.m in Sources */,
88D323C02A177CDC00334372 /* XHMineSetSexView.m in Sources */, 88D323C02A177CDC00334372 /* XHMineSetSexView.m in Sources */,
88D323C12A177CDC00334372 /* XHMineViewModel.m in Sources */, 88D323C12A177CDC00334372 /* XHMineViewModel.m in Sources */,
...@@ -2923,6 +2933,7 @@ ...@@ -2923,6 +2933,7 @@
88EE69992A04D3C900C37EE2 /* XHTimerActionView.m in Sources */, 88EE69992A04D3C900C37EE2 /* XHTimerActionView.m in Sources */,
6CAFE7352AF4C71C00C929A7 /* DXHFXUpkeepVC.m in Sources */, 6CAFE7352AF4C71C00C929A7 /* DXHFXUpkeepVC.m in Sources */,
88EE699A2A04D3C900C37EE2 /* XHRecordCell.m in Sources */, 88EE699A2A04D3C900C37EE2 /* XHRecordCell.m in Sources */,
390F59AA2DF9636A00D6D06C /* JoystickIntroManager.m in Sources */,
88EE699B2A04D3C900C37EE2 /* UITextView+XHPlaceHolder.m in Sources */, 88EE699B2A04D3C900C37EE2 /* UITextView+XHPlaceHolder.m in Sources */,
88EE699C2A04D3C900C37EE2 /* XHMineVC.m in Sources */, 88EE699C2A04D3C900C37EE2 /* XHMineVC.m in Sources */,
88EE699D2A04D3C900C37EE2 /* NSString+HJExtension.m in Sources */, 88EE699D2A04D3C900C37EE2 /* NSString+HJExtension.m in Sources */,
...@@ -3078,6 +3089,7 @@ ...@@ -3078,6 +3089,7 @@
6CAFE7332AF4C71C00C929A7 /* DXHFXUpkeepVC.m in Sources */, 6CAFE7332AF4C71C00C929A7 /* DXHFXUpkeepVC.m in Sources */,
884E463029A600B600A58A9A /* NSString+HJCRC16Modbus.m in Sources */, 884E463029A600B600A58A9A /* NSString+HJCRC16Modbus.m in Sources */,
880A7BEB29B093BB00B5F4C4 /* XHSelectCommandModelView.m in Sources */, 880A7BEB29B093BB00B5F4C4 /* XHSelectCommandModelView.m in Sources */,
390F59A82DF9636A00D6D06C /* JoystickIntroManager.m in Sources */,
88EC9D8129BC546400E61419 /* XHMineSetSexView.m in Sources */, 88EC9D8129BC546400E61419 /* XHMineSetSexView.m in Sources */,
88E8439A29B9B41500263DB0 /* XHMineViewModel.m in Sources */, 88E8439A29B9B41500263DB0 /* XHMineViewModel.m in Sources */,
6CB327D82AEF8D6E00ABAEC3 /* DXHFXVC.m in Sources */, 6CB327D82AEF8D6E00ABAEC3 /* DXHFXVC.m in Sources */,
...@@ -3287,7 +3299,7 @@ ...@@ -3287,7 +3299,7 @@
ASSETCATALOG_COMPILER_INCLUDE_ALL_APPICON_ASSETS = YES; ASSETCATALOG_COMPILER_INCLUDE_ALL_APPICON_ASSETS = YES;
ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImageWater; ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImageWater;
CODE_SIGN_STYLE = Automatic; CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 2; CURRENT_PROJECT_VERSION = 1;
DEVELOPMENT_TEAM = 8Z4G7AGK6D; DEVELOPMENT_TEAM = 8Z4G7AGK6D;
GCC_PRECOMPILE_PREFIX_HEADER = NO; GCC_PRECOMPILE_PREFIX_HEADER = NO;
GCC_PREFIX_HEADER = "$(SRCROOT)/DJMHomeTY/Global/Define/PrefixHeader.pch"; GCC_PREFIX_HEADER = "$(SRCROOT)/DJMHomeTY/Global/Define/PrefixHeader.pch";
...@@ -3313,7 +3325,7 @@ ...@@ -3313,7 +3325,7 @@
"$(inherited)", "$(inherited)",
"@executable_path/Frameworks", "@executable_path/Frameworks",
); );
MARKETING_VERSION = 1.2.8; MARKETING_VERSION = 1.3.0;
PRODUCT_BUNDLE_IDENTIFIER = djm.imoreme.com.DJMDrWater; PRODUCT_BUNDLE_IDENTIFIER = djm.imoreme.com.DJMDrWater;
PRODUCT_NAME = "$(TARGET_NAME)"; PRODUCT_NAME = "$(TARGET_NAME)";
SUPPORTED_PLATFORMS = "iphoneos iphonesimulator"; SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
...@@ -3333,7 +3345,7 @@ ...@@ -3333,7 +3345,7 @@
ASSETCATALOG_COMPILER_INCLUDE_ALL_APPICON_ASSETS = YES; ASSETCATALOG_COMPILER_INCLUDE_ALL_APPICON_ASSETS = YES;
ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImageWater; ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImageWater;
CODE_SIGN_STYLE = Automatic; CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 2; CURRENT_PROJECT_VERSION = 1;
DEVELOPMENT_TEAM = 8Z4G7AGK6D; DEVELOPMENT_TEAM = 8Z4G7AGK6D;
GCC_PRECOMPILE_PREFIX_HEADER = NO; GCC_PRECOMPILE_PREFIX_HEADER = NO;
GCC_PREFIX_HEADER = "$(SRCROOT)/DJMHomeTY/Global/Define/PrefixHeader.pch"; GCC_PREFIX_HEADER = "$(SRCROOT)/DJMHomeTY/Global/Define/PrefixHeader.pch";
...@@ -3359,7 +3371,7 @@ ...@@ -3359,7 +3371,7 @@
"$(inherited)", "$(inherited)",
"@executable_path/Frameworks", "@executable_path/Frameworks",
); );
MARKETING_VERSION = 1.2.8; MARKETING_VERSION = 1.3.0;
PRODUCT_BUNDLE_IDENTIFIER = djm.imoreme.com.DJMDrWater; PRODUCT_BUNDLE_IDENTIFIER = djm.imoreme.com.DJMDrWater;
PRODUCT_NAME = "$(TARGET_NAME)"; PRODUCT_NAME = "$(TARGET_NAME)";
SUPPORTED_PLATFORMS = "iphoneos iphonesimulator"; SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
......
...@@ -36,5 +36,363 @@ ...@@ -36,5 +36,363 @@
landmarkType = "7"> landmarkType = "7">
</BreakpointContent> </BreakpointContent>
</BreakpointProxy> </BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
uuid = "D6A24779-6660-40D2-BFFD-EC58A7A6F0F0"
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "DJMHomeTY/Page/DRFacial/Controller/XHDRVC.m"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "719"
endingLineNumber = "719"
landmarkName = "-setIsVerifySucceed:"
landmarkType = "7">
<Locations>
<Location
uuid = "D6A24779-6660-40D2-BFFD-EC58A7A6F0F0 - 14f58d4f479ed9d6"
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
symbolName = "-[XHDRVC setIsVerifySucceed:]"
moduleName = "DJMHomeDR"
usesParentBreakpointCondition = "Yes"
urlString = "file:///Users/nana/Desktop/liwei0229/DrWater/DJMHomeTY/Page/DRFacial/Controller/XHDRVC.m"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "719"
endingLineNumber = "719">
</Location>
<Location
uuid = "D6A24779-6660-40D2-BFFD-EC58A7A6F0F0 - 3ad9328a99095e56"
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
symbolName = "__29-[XHDRVC setIsVerifySucceed:]_block_invoke_3"
moduleName = "DJMHomeDR"
usesParentBreakpointCondition = "Yes"
urlString = "file:///Users/nana/Desktop/liwei0229/DrWater/DJMHomeTY/Page/DRFacial/Controller/XHDRVC.m"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "720"
endingLineNumber = "720">
</Location>
</Locations>
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
uuid = "E9D1B1B4-6F90-41AC-889F-80C710CF7137"
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "DJMHomeTY/Page/DRFacial/Controller/XHDRVC.m"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "289"
endingLineNumber = "289"
landmarkName = "-appDidEnterBackground"
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
uuid = "A6B3C98F-CAF6-484E-8467-D2DD426CBD9D"
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "DJMHomeTY/Global/Base/Controller/XHParentVC.m"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "254"
endingLineNumber = "254"
landmarkName = "-saveRecord:"
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
uuid = "C956143D-0503-4F12-8EB9-07C863880048"
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "DJMHomeTY/Global/Base/Controller/XHParentVC.m"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "504"
endingLineNumber = "504"
landmarkName = "-Verify:"
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
uuid = "726243AE-D041-4708-A980-4AEE9DC209D8"
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "DJMHomeTY/Page/DRFacial/Controller/XHDRVC.m"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "672"
endingLineNumber = "672"
landmarkName = "-setIsVerifySucceed:"
landmarkType = "7">
<Locations>
<Location
uuid = "726243AE-D041-4708-A980-4AEE9DC209D8 - 14f58d4f479ed3c5"
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
symbolName = "-[XHDRVC setIsVerifySucceed:]"
moduleName = "DJMHomeDR"
usesParentBreakpointCondition = "Yes"
urlString = "file:///Users/nana/Desktop/liwei0229/DrWater/DJMHomeTY/Page/DRFacial/Controller/XHDRVC.m"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "672"
endingLineNumber = "672">
</Location>
<Location
uuid = "726243AE-D041-4708-A980-4AEE9DC209D8 - 5a4587bf34656e33"
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
symbolName = "__29-[XHDRVC setIsVerifySucceed:]_block_invoke"
moduleName = "DJMHomeDR"
usesParentBreakpointCondition = "Yes"
urlString = "file:///Users/nana/Desktop/liwei0229/DrWater/DJMHomeTY/Page/DRFacial/Controller/XHDRVC.m"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "673"
endingLineNumber = "673">
</Location>
</Locations>
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
uuid = "FBB3579D-0AA4-45CB-8ECE-21B9CCDD4947"
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "DJMHomeTY/Page/DRFacial/Controller/XHDRVC.m"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "695"
endingLineNumber = "695"
landmarkName = "-setIsVerifySucceed:"
landmarkType = "7">
<Locations>
<Location
uuid = "FBB3579D-0AA4-45CB-8ECE-21B9CCDD4947 - 14f58d4f479edefe"
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
symbolName = "-[XHDRVC setIsVerifySucceed:]"
moduleName = "DJMHomeDR"
usesParentBreakpointCondition = "Yes"
urlString = "file:///Users/nana/Desktop/liwei0229/DrWater/DJMHomeTY/Page/DRFacial/Controller/XHDRVC.m"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "695"
endingLineNumber = "695">
</Location>
<Location
uuid = "FBB3579D-0AA4-45CB-8ECE-21B9CCDD4947 - 3ad9328a990a593f"
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
symbolName = "__29-[XHDRVC setIsVerifySucceed:]_block_invoke_2"
moduleName = "DJMHomeDR"
usesParentBreakpointCondition = "Yes"
urlString = "file:///Users/nana/Desktop/liwei0229/DrWater/DJMHomeTY/Page/DRFacial/Controller/XHDRVC.m"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "696"
endingLineNumber = "696">
</Location>
</Locations>
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
uuid = "1E2F6AED-ACAF-4238-A75F-5AFCA6F145EE"
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "DJMHomeTY/Page/DRFacial/Controller/XHDRVC.m"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "63"
endingLineNumber = "63"
landmarkName = "-viewDidLoad"
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
uuid = "9F5A5A72-095F-412A-A90F-BD1D1156DDBB"
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "DJMHomeTY/Page/DRFacial/Controller/XHDRVC.m"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "756"
endingLineNumber = "756"
landmarkName = "-setIsUpdateSucceed:"
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
uuid = "08402159-86F0-49EC-A7A5-C5C7CA01A4BF"
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "DJMHomeTY/Page/DRFacial/Controller/XHDRVC.m"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "762"
endingLineNumber = "762"
landmarkName = "-setIsUpdateSucceed:"
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
uuid = "E330A47A-3E80-4986-998B-085336477C3A"
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "DJMHomeTY/Page/DRFacial/Controller/XHDRVC.m"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "748"
endingLineNumber = "748"
landmarkName = "-setIsUpdateSucceed:"
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
uuid = "589770B0-19B3-499F-A999-25C42BF335EA"
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "DJMHomeTY/Global/Base/Controller/XHParentVC.m"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "517"
endingLineNumber = "517"
landmarkName = "-getUseTimes:"
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.ExceptionBreakpoint">
<BreakpointContent
uuid = "8F4E6DE2-2D5A-4D0B-83F8-7582A24B4086"
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
breakpointStackSelectionBehavior = "1"
scope = "1"
stopOnStyle = "0">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
uuid = "989C283F-36B2-4D5A-A3CE-97E0BA88E9CB"
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "DJMHomeTY/Page/DRFacial/View/DXDRPlusSmartView.m"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "680"
endingLineNumber = "680"
landmarkName = "-setVideoModel:"
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
uuid = "CD7B83B6-97F4-4D23-9290-C097DEC3FFA4"
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "DJMHomeTY/Page/DRFacial/Controller/DXDRPlusVC.m"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "388"
endingLineNumber = "388"
landmarkName = "-didUpdateValueForCharacteristicValue:"
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
uuid = "B43E24FF-EA1A-4A12-9729-DAFA654F7864"
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "DJMHomeTY/Page/DRFacial/Controller/DXDRPlusVC.m"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "401"
endingLineNumber = "401"
landmarkName = "-didUpdateValueForCharacteristicValue:"
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
uuid = "B0345BE1-A4C2-4D4B-9408-FE1565A9A895"
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "DJMHomeTY/Page/DRFacial/Controller/DXDRPlusVC.m"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "390"
endingLineNumber = "390"
landmarkName = "-didUpdateValueForCharacteristicValue:"
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
uuid = "E64C4929-C544-4A5B-A026-608E05B6021F"
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "DJMHomeTY/Page/DRFacial/Controller/DXDRPlusVC.m"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "394"
endingLineNumber = "394"
landmarkName = "-didUpdateValueForCharacteristicValue:"
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>
</Breakpoints> </Breakpoints>
</Bucket> </Bucket>
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "dr02d_20m_icon_nol@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "dr02d_20m_icon_nol@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "dr02d_20m_icon_sel@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "dr02d_20m_icon_sel@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "dr02d_3m_icon_nol@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "dr02d_3m_icon_nol@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "dr02d_3m_icon_sel@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "dr02d_3m_icon_sel@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
{
"images" : [
{
"filename" : "dr02d_replay.png",
"idiom" : "universal",
"scale" : "1x"
},
{
"idiom" : "universal",
"scale" : "2x"
},
{
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "dr02d_sel_list_nol@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "dr02d_sel_list_nol@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "dr02d_sel_list_sel@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "dr02d_sel_list_sel@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "dr02d_sjx@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "dr02d_sjx@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
...@@ -232,7 +232,7 @@ ...@@ -232,7 +232,7 @@
[paramsDic setObject:@"0" forKey:@"LogEndTag"]; [paramsDic setObject:@"0" forKey:@"LogEndTag"];
NSLog(@"保存操作记录1:%@",paramsDic); NSLog(@"保存操作记录1:%@",paramsDic);
[[XHHttpRequestManager shareManager] postHttpRequestURL:SaveRecordURL isJson:NO parameters:paramsDic success:^(id responseObject) { [[XHHttpRequestManager shareManager] postHttpRequestURL:SaveRecordURL isJson:NO parameters:paramsDic success:^(id responseObject) {
[SVProgressHUD dismiss]; // [SVProgressHUD dismiss];
/// 保存操作记录成功 /// 保存操作记录成功
weakSelf.gestationRecordId = responseObject[@"data"][@"gestationRecordId"]; weakSelf.gestationRecordId = responseObject[@"data"][@"gestationRecordId"];
weakSelf.isUpdate = YES; weakSelf.isUpdate = YES;
......
...@@ -144,6 +144,7 @@ static NSString *const HJNotificationDisconnect = @"NotificationDisconnect"; ...@@ -144,6 +144,7 @@ static NSString *const HJNotificationDisconnect = @"NotificationDisconnect";
#define DrDeviceFacialName @"Dr-01"//@"DEF01-1"Dr-01 #define DrDeviceFacialName @"Dr-01"//@"DEF01-1"Dr-01
#define DrDeviceDr03Name @"Dr-03"//@Dr-03 #define DrDeviceDr03Name @"Dr-03"//@Dr-03
#define DrDeviceDr02BName @"K9"//@Dr-03 #define DrDeviceDr02BName @"K9"//@Dr-03
//#define DrDeviceDr02BName @"Dr-02"//@Dr-03
//Dr水滴-面龄医生Dr //Dr水滴-面龄医生Dr
#define Dr02DeviceName @"Dr-02"//10档 #define Dr02DeviceName @"Dr-02"//10档
......
...@@ -10,6 +10,7 @@ ...@@ -10,6 +10,7 @@
#import "DXDRPlusTipsView.h" #import "DXDRPlusTipsView.h"
#import "DXDRPlusCustomeView.h" #import "DXDRPlusCustomeView.h"
#import "DXDRPlusSmartView.h" #import "DXDRPlusSmartView.h"
#import "JoystickIntroManager.h"
@interface DXDRPlusVC ()<DXDRPlusSelectViewDelegate,DXDRPlusTipsViewDelegate,BluetoothDelegate,DXDRPlusCustomeViewDelegate,DXDRPlusSmartViewDelegate> @interface DXDRPlusVC ()<DXDRPlusSelectViewDelegate,DXDRPlusTipsViewDelegate,BluetoothDelegate,DXDRPlusCustomeViewDelegate,DXDRPlusSmartViewDelegate>
@property (nonatomic, strong) DXDRPlusSelectView *selectView; @property (nonatomic, strong) DXDRPlusSelectView *selectView;
...@@ -42,6 +43,8 @@ ...@@ -42,6 +43,8 @@
@property (nonatomic, assign) NSInteger currentState; @property (nonatomic, assign) NSInteger currentState;
@property (nonatomic, assign) BOOL isChangeHandle; @property (nonatomic, assign) BOOL isChangeHandle;
@property (nonatomic, assign) BOOL isLit; @property (nonatomic, assign) BOOL isLit;
@property (nonatomic, assign) NSInteger currentHandle;
@property (nonatomic, assign) NSInteger firstHandle;
@end @end
@implementation DXDRPlusVC @implementation DXDRPlusVC
...@@ -122,7 +125,8 @@ ...@@ -122,7 +125,8 @@
[self.view addSubview:self.selectView]; [self.view addSubview:self.selectView];
[self.selectView mas_makeConstraints:^(MASConstraintMaker *make) { [self.selectView mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.right.bottom.equalTo(self.view); make.left.right.bottom.equalTo(self.view);
make.top.equalTo(@-90); // make.top.equalTo(@-90);
make.top.equalTo(@0);
}]; }];
...@@ -137,6 +141,8 @@ ...@@ -137,6 +141,8 @@
self.currentState = 0; self.currentState = 0;
self.isChangeHandle = 0; self.isChangeHandle = 0;
self.isLit = 0; self.isLit = 0;
self.currentHandle = 0;
self.firstHandle = 0;
} }
#pragma mark --网络请求 #pragma mark --网络请求
- (void)requestData - (void)requestData
...@@ -191,6 +197,10 @@ ...@@ -191,6 +197,10 @@
//#pragma mark ======= 前台 ======= //#pragma mark ======= 前台 =======
-(void)appWillEnterForeground{ -(void)appWillEnterForeground{
// self.isBackground = false; // self.isBackground = false;
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.2 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
//获取UV灯状态
[HJGetBluetoothManager writeStr:[[NSString stringWithFormat:DR04_HFX_send_getUVState] withCrc16Modbus]];
});
} }
#pragma mark ======= 切换到后台 ======= #pragma mark ======= 切换到后台 =======
-(void)appDidEnterBackground{ -(void)appDidEnterBackground{
...@@ -378,9 +388,11 @@ ...@@ -378,9 +388,11 @@
if(uvstate == 1){ if(uvstate == 1){
self.customeView.uvBtn.selected = YES; self.customeView.uvBtn.selected = YES;
self.smartView.uvBtn.selected = YES; self.smartView.uvBtn.selected = YES;
self.selectView.uvBtn.selected = YES;
}else{ }else{
self.customeView.uvBtn.selected = NO; self.customeView.uvBtn.selected = NO;
self.smartView.uvBtn.selected = NO; self.smartView.uvBtn.selected = NO;
self.selectView.uvBtn.selected = NO;
} }
}else if(HJStringNSNotFound(value,DR04_HFX_get_UVNewState)){//UV灯状态 }else if(HJStringNSNotFound(value,DR04_HFX_get_UVNewState)){//UV灯状态
...@@ -389,9 +401,11 @@ ...@@ -389,9 +401,11 @@
if(uvstate == 1){ if(uvstate == 1){
self.customeView.uvBtn.selected = YES; self.customeView.uvBtn.selected = YES;
self.smartView.uvBtn.selected = YES; self.smartView.uvBtn.selected = YES;
self.selectView.uvBtn.selected = YES;
}else{ }else{
self.customeView.uvBtn.selected = NO; self.customeView.uvBtn.selected = NO;
self.smartView.uvBtn.selected = NO; self.smartView.uvBtn.selected = NO;
self.selectView.uvBtn.selected = NO;
} }
}else if (HJStringNSNotFound(value,DR_02_D_recv_ShotPress)){ }else if (HJStringNSNotFound(value,DR_02_D_recv_ShotPress)){
...@@ -464,6 +478,92 @@ ...@@ -464,6 +478,92 @@
} }
} }
#pragma mark --委托代理 #pragma mark --委托代理
- (void)changeVideoProgressWithHandelType:(NSInteger )handelType{
if (self.currentHandle == 0) {
self.currentHandle = handelType;
}
if (self.isConnected) {
if (self.isStartted) {
if (handelType != self.currentHandle && self.currentHandle != 0) {
[self stopDr02DAction];
[self updateDr02DRecord];
[self changeHandleWithType:handelType];
HJAlertView *alertView = [[HJAlertView alloc] init];
alertView.parentView = [UIApplication sharedApplication].keyWindow;
alertView.title = HJLocalizedString(@"提示");
alertView.message = [NSString stringWithFormat:@"请拿起%@手柄开始操作",handelType == 20?@"20M白灯":@"3/10M蓝灯"];
[alertView setButtonTitles:[NSMutableArray arrayWithObjects:HJLocalizedString(@"确定"), nil]];
[alertView show];
alertView.onButtonTouchUpInside = ^(HJAlertView * _Nonnull alertView, NSInteger buttonIndex) {
self.currentHandle = handelType;
[alertView close];
};
}
}else{
}
}
}
- (void)changeHandleWithType:(NSInteger)handleType{
//切换手柄指令
if (handleType == 20) {
if (self.firstHandle == 20) {
self.current3MStress = [self.currentModel.pre_parameters.stress3M integerValue];
self.current10MStress = [self.currentModel.pre_parameters.stress10M integerValue];
self.current20MStress = [self.currentModel.pre_parameters.stress20M integerValue];
}else{
self.current3MStress = [self.currentModel.post_parameters.stress3M integerValue];
self.current10MStress = [self.currentModel.post_parameters.stress10M integerValue];
self.current20MStress = [self.currentModel.post_parameters.stress20M integerValue];
}
[HJGetBluetoothManager writeStr:[DR_02_D_send_Select20M withCrc16Modbus]];
}else{
if (self.firstHandle == 3) {
self.current3MStress = [self.currentModel.pre_parameters.stress3M integerValue];
self.current10MStress = [self.currentModel.pre_parameters.stress10M integerValue];
self.current20MStress = [self.currentModel.pre_parameters.stress20M integerValue];
}else{
self.current3MStress = [self.currentModel.post_parameters.stress3M integerValue];
self.current10MStress = [self.currentModel.post_parameters.stress10M integerValue];
self.current20MStress = [self.currentModel.post_parameters.stress20M integerValue];
}
[HJGetBluetoothManager writeStr:[DR_02_D_send_Select3And10M withCrc16Modbus]];
}
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.2 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
if (self.isLit) {
[self changeLitStressWith3M:self.current3MStress And10M:self.current10MStress And20M:self.current20MStress];
}else{
[self changeStressWith3M:self.current3MStress And10M:self.current10MStress And20M:self.current20MStress];
}
});
//更新手柄UI
if (handleType == self.firstHandle) {
self.smartView.step1Btn.selected = YES;
self.smartView.step2Btn.selected = NO;
self.smartView.step1Lb.backgroundColor = XHColorRGB(164, 47, 36);
self.smartView.step2Lb.backgroundColor = XHColorRGB(205, 205, 205);
}else{
self.smartView.step1Btn.selected = NO;
self.smartView.step2Btn.selected = YES;
self.smartView.step1Lb.backgroundColor = XHColorRGB(205, 205, 205);
self.smartView.step2Lb.backgroundColor = XHColorRGB(164, 47, 36);
}
}
- (void)changeStressWith3M:(NSInteger)threesize And10M:(NSInteger)tensize And20M:(NSInteger)ttsize{ - (void)changeStressWith3M:(NSInteger)threesize And10M:(NSInteger)tensize And20M:(NSInteger)ttsize{
...@@ -563,7 +663,18 @@ ...@@ -563,7 +663,18 @@
[HJGetBluetoothManager writeStr:[[NSString stringWithFormat:@"%@00%@00%@00%@",DR_02_D_send_SetHandleParam,[NSString ToLongHex:strees3 withLength:2],[NSString ToLongHex:strees10 withLength:2],[NSString ToLongHex:strees20 withLength:2]] withCrc16Modbus]]; [HJGetBluetoothManager writeStr:[[NSString stringWithFormat:@"%@00%@00%@00%@",DR_02_D_send_SetHandleParam,[NSString ToLongHex:strees3 withLength:2],[NSString ToLongHex:strees10 withLength:2],[NSString ToLongHex:strees20 withLength:2]] withCrc16Modbus]];
} }
- (void)touchedUV{
if (!self.isConnected) {
[SVProgressHUD showInfoWithStatus:@"设备未连接"];
return;
}
if(!self.selectView.uvBtn.selected){
[HJGetBluetoothManager writeStr:[DR04_HFX_send_UVOpen withCrc16Modbus]];
}else{
[HJGetBluetoothManager writeStr:[DR04_HFX_send_UVClose withCrc16Modbus]];
}
}
- (void)deviceControlWithTag:(Dr02DitemType)type{ - (void)deviceControlWithTag:(Dr02DitemType)type{
if (!self.isConnected) { if (!self.isConnected) {
...@@ -798,12 +909,45 @@ ...@@ -798,12 +909,45 @@
} }
} }
- (void)touchNextStepWithModel:(DXDRPlusSubModel *)model{ - (void)touchNextStepWithModel:(DXDRPlusSubModel *)model{
// if (!self.videoListModel) {
// [self requestVideoList];
// [SVProgressHUD showInfoWithStatus:@"正在加载视频文件"];
// return;
// }
self.currentModel = model; self.currentModel = model;
self.plusTipsView.selectedModel = self.currentModel; if ([[JoystickIntroManager shared] shouldShowIntroductionForJoystickID:[model.class_type integerValue]]) {
self.plusTipsView.hidden = NO;
self.title = @"使用须知";
[self.plusTipsView mas_remakeConstraints:^(MASConstraintMaker *make) {
make.left.right.bottom.equalTo(self.view);
make.top.equalTo(self.view).offset(HJNavHeight);
}];
self.plusTipsView.selectedModel = self.currentModel;
self.plusTipsView.videoModel = self.videoListModel;
[[JoystickIntroManager shared] markJoystickAsUsed:[model.class_type integerValue]];
} else {
self.plusTipsView.hidden = YES;
self.title = model.name;
[self.plusTipsView.playerView stop];
if ([model.class_type intValue] == 16) {
self.customeView.hidden = NO;
self.smartView.hidden = YES;
}else{
self.customeView.hidden = YES;
self.smartView.hidden = NO;
self.smartView.selectedModel = model;
self.smartView.videoModel = self.videoListModel;
}
[self updateSmartViewWithMode:model];
}
self.current3MStress = [self.currentModel.pre_parameters.stress3M integerValue]; self.current3MStress = [self.currentModel.pre_parameters.stress3M integerValue];
self.current10MStress = [self.currentModel.pre_parameters.stress10M integerValue]; self.current10MStress = [self.currentModel.pre_parameters.stress10M integerValue];
self.current20MStress = [self.currentModel.pre_parameters.stress20M integerValue]; self.current20MStress = [self.currentModel.pre_parameters.stress20M integerValue];
self.plusTipsView.videoModel = self.videoListModel;
if (self.isConnected) { if (self.isConnected) {
[self changeStressWith3M:self.current3MStress And10M:self.current10MStress And20M:self.current20MStress]; [self changeStressWith3M:self.current3MStress And10M:self.current10MStress And20M:self.current20MStress];
if (self.current20MStress == 0) { if (self.current20MStress == 0) {
...@@ -812,7 +956,7 @@ ...@@ -812,7 +956,7 @@
[self deviceControlWithTag:ItemChange20M]; [self deviceControlWithTag:ItemChange20M];
} }
} }
self.title = @"使用须知";
[UIView animateWithDuration:0.3 animations:^{ [UIView animateWithDuration:0.3 animations:^{
[self.selectView mas_remakeConstraints:^(MASConstraintMaker *make) { [self.selectView mas_remakeConstraints:^(MASConstraintMaker *make) {
make.left.right.equalTo(self.view); make.left.right.equalTo(self.view);
...@@ -899,16 +1043,39 @@ ...@@ -899,16 +1043,39 @@
} }
- (void)updateSmartViewWithMode:(DXDRPlusSubModel *)model{ - (void)updateSmartViewWithMode:(DXDRPlusSubModel *)model{
if ([model.pre_parameters.stress20M intValue] != 0) { if ([model.pre_parameters.stress20M intValue] != 0) {
self.firstHandle = 20;
self.smartView.step1DetilsLb.text = @"20M手柄"; self.smartView.step1DetilsLb.text = @"20M手柄";
self.smartView.step2DetilsLb.text = @"3M/10M手柄"; self.smartView.step2DetilsLb.text = @"3/10M手柄";
self.smartView.step1Lb.backgroundColor = XHColorRGB(164, 47, 36);
self.smartView.step2Lb.backgroundColor = XHColorRGB(205, 205, 205);
self.smartView.step1Btn.selected = YES;
[self.smartView.step1Btn setBackgroundImage:[UIImage imageNamed:@"dr02d_20m_icon_nol"] forState:UIControlStateNormal];
[self.smartView.step1Btn setBackgroundImage:[UIImage imageNamed:@"dr02d_20m_icon_sel"] forState:UIControlStateSelected];
[self.smartView.step2Btn setBackgroundImage:[UIImage imageNamed:@"dr02d_3m_icon_nol"] forState:UIControlStateNormal];
[self.smartView.step2Btn setBackgroundImage:[UIImage imageNamed:@"dr02d_3m_icon_sel"] forState:UIControlStateSelected];
}else{ }else{
self.smartView.step1DetilsLb.text = @"3M/10M手柄"; self.firstHandle = 3;
self.smartView.step1Btn.selected = YES;
self.smartView.step1DetilsLb.text = @"3/10M手柄";
self.smartView.step2DetilsLb.text = @"20M手柄"; self.smartView.step2DetilsLb.text = @"20M手柄";
self.smartView.step1Lb.backgroundColor = XHColorRGB(164, 47, 36);
self.smartView.step2Lb.backgroundColor = XHColorRGB(205, 205, 205);
[self.smartView.step1Btn setBackgroundImage:[UIImage imageNamed:@"dr02d_3m_icon_nol"] forState:UIControlStateNormal];
[self.smartView.step1Btn setBackgroundImage:[UIImage imageNamed:@"dr02d_3m_icon_sel"] forState:UIControlStateSelected];
[self.smartView.step2Btn setBackgroundImage:[UIImage imageNamed:@"dr02d_20m_icon_nol"] forState:UIControlStateNormal];
[self.smartView.step2Btn setBackgroundImage:[UIImage imageNamed:@"dr02d_20m_icon_sel"] forState:UIControlStateSelected];
} }
if ([model.post_parameters.time integerValue] == 0) { if ([model.post_parameters.time integerValue] == 0) {
self.smartView.stepCenterLine.hidden = YES; self.smartView.stepCenterImg.hidden = YES;
self.smartView.step2Lb.hidden = YES; self.smartView.step2Lb.hidden = YES;
self.smartView.step2Btn.hidden = YES;
self.smartView.step2DetilsLb.hidden = YES; self.smartView.step2DetilsLb.hidden = YES;
}else{
self.smartView.stepCenterImg.hidden = NO;
self.smartView.step2Lb.hidden = NO;
self.smartView.step2Btn.hidden = NO;
self.smartView.step2DetilsLb.hidden = NO;
} }
} }
-(void)stopDr02DAction{ -(void)stopDr02DAction{
...@@ -929,11 +1096,25 @@ ...@@ -929,11 +1096,25 @@
[HJGetBluetoothManager writeStr:[DR_02_D_send_UltrasoundRun withCrc16Modbus]]; [HJGetBluetoothManager writeStr:[DR_02_D_send_UltrasoundRun withCrc16Modbus]];
weakSelf.customeView.startBtn.selected = true; weakSelf.customeView.startBtn.selected = true;
weakSelf.smartView.startBtn.selected = true; weakSelf.smartView.startBtn.selected = true;
if (self.isStartted == NO && [self.currentModel.class_type integerValue] != 16 && self.isConnected == YES) {
[self.smartView.playerView seekToTime:0 completionHandler:^(BOOL finished) {
}];
[SVProgressHUD showInfoWithStatus:[NSString stringWithFormat:@"请拿起%@手柄开始操作",self.currentHandle == 20?@"20M白灯":@"3/10M蓝灯"]];
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(2 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
[SVProgressHUD dismiss];
});
}
self.isStart = true; self.isStart = true;
self.isStartted = true; self.isStartted = true;
// 2、开始计时器 // 2、开始计时器
if (self.timer == nil) { if (self.timer == nil) {
...@@ -955,53 +1136,53 @@ ...@@ -955,53 +1136,53 @@
if(self.totalTime>0){ if(self.totalTime>0){
if (self.isChangeHandle == 0) { // if (self.isChangeHandle == 0) {
if (self.totalTime == [self.currentModel.post_parameters.time integerValue]) { // if (self.totalTime == [self.currentModel.post_parameters.time integerValue]) {
//
self.smartView.step1Lb.backgroundColor = XHColorRGB(230, 230, 230); // self.smartView.step1Lb.backgroundColor = XHColorRGB(230, 230, 230);
self.smartView.step1Lb.textColor = XHColorRGB(51, 51, 51); // self.smartView.step1Lb.textColor = XHColorRGB(51, 51, 51);
//
self.smartView.step2Lb.backgroundColor = XHColorRGB(164, 47, 36); // self.smartView.step2Lb.backgroundColor = XHColorRGB(164, 47, 36);
self.smartView.step2Lb.textColor = XHColorRGB(255, 255, 255); // self.smartView.step2Lb.textColor = XHColorRGB(255, 255, 255);
[self stopDr02DAction]; // [self stopDr02DAction];
self.current3MStress = [self.currentModel.post_parameters.stress3M integerValue]; // self.current3MStress = [self.currentModel.post_parameters.stress3M integerValue];
self.current10MStress = [self.currentModel.post_parameters.stress10M integerValue]; // self.current10MStress = [self.currentModel.post_parameters.stress10M integerValue];
self.current20MStress = [self.currentModel.post_parameters.stress20M integerValue]; // self.current20MStress = [self.currentModel.post_parameters.stress20M integerValue];
// [HJGetBluetoothManager writeStr:[DR_02_D_send_UltrasoundStop withCrc16Modbus]];//暂停 //// [HJGetBluetoothManager writeStr:[DR_02_D_send_UltrasoundStop withCrc16Modbus]];//暂停
if ([self.currentModel.post_parameters.stress20M integerValue] != 0) { // if ([self.currentModel.post_parameters.stress20M integerValue] != 0) {
[HJGetBluetoothManager writeStr:[DR_02_D_send_Select20M withCrc16Modbus]]; // [HJGetBluetoothManager writeStr:[DR_02_D_send_Select20M withCrc16Modbus]];
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.2 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ // dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.2 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
if (self.isLit) { // if (self.isLit) {
[self changeLitStressWith3M:self.current3MStress And10M:self.current10MStress And20M:self.current20MStress]; // [self changeLitStressWith3M:self.current3MStress And10M:self.current10MStress And20M:self.current20MStress];
}else{ // }else{
[self changeStressWith3M:self.current3MStress And10M:self.current10MStress And20M:self.current20MStress]; // [self changeStressWith3M:self.current3MStress And10M:self.current10MStress And20M:self.current20MStress];
} // }
//
}); // });
}else{ // }else{
[HJGetBluetoothManager writeStr:[DR_02_D_send_Select3And10M withCrc16Modbus]]; // [HJGetBluetoothManager writeStr:[DR_02_D_send_Select3And10M withCrc16Modbus]];
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.2 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ // dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.2 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
if (self.isLit) { // if (self.isLit) {
[self changeLitStressWith3M:self.current3MStress And10M:self.current10MStress And20M:self.current20MStress]; // [self changeLitStressWith3M:self.current3MStress And10M:self.current10MStress And20M:self.current20MStress];
}else{ // }else{
[self changeStressWith3M:self.current3MStress And10M:self.current10MStress And20M:self.current20MStress]; // [self changeStressWith3M:self.current3MStress And10M:self.current10MStress And20M:self.current20MStress];
} // }
}); // });
} // }
HJAlertView *alertView = [[HJAlertView alloc] init]; // HJAlertView *alertView = [[HJAlertView alloc] init];
alertView.parentView = [UIApplication sharedApplication].keyWindow; // alertView.parentView = [UIApplication sharedApplication].keyWindow;
alertView.title = HJLocalizedString(@"提示"); // alertView.title = HJLocalizedString(@"提示");
alertView.message = HJLocalizedString(@"请切换手柄继续护理"); // alertView.message = HJLocalizedString(@"请切换手柄继续护理");
[alertView setButtonTitles:[NSMutableArray arrayWithObjects:HJLocalizedString(@"确定"), nil]]; // [alertView setButtonTitles:[NSMutableArray arrayWithObjects:HJLocalizedString(@"确定"), nil]];
[alertView show]; // [alertView show];
alertView.onButtonTouchUpInside = ^(HJAlertView * _Nonnull alertView, NSInteger buttonIndex) { // alertView.onButtonTouchUpInside = ^(HJAlertView * _Nonnull alertView, NSInteger buttonIndex) {
//
[alertView close]; // [alertView close];
self.isChangeHandle = 1; // self.isChangeHandle = 1;
}; // };
return; // return;
} // }
} // }
...@@ -1062,12 +1243,30 @@ ...@@ -1062,12 +1243,30 @@
[alertView close]; [alertView close];
}; };
}else{ }else{
HJGetBluetoothManager.noReconnect = true; if (self.selectView.frame.origin.y == 0) {
[HJGetBluetoothManager stopScanning]; HJGetBluetoothManager.noReconnect = true;
[HJGetBluetoothManager stopConnect]; [HJGetBluetoothManager stopScanning];
[HJGetBluetoothManager.delegate removeBluetoothDelegate:self]; [HJGetBluetoothManager stopConnect];
[self.plusTipsView.playerView stop]; [HJGetBluetoothManager.delegate removeBluetoothDelegate:self];
[self.navigationController popViewControllerAnimated:YES]; [self.plusTipsView.playerView stop];
[self.navigationController popViewControllerAnimated:YES];
}else{
self.title = @"";
[self.smartView.timeScrollView removeFromSuperview];
[UIView animateWithDuration:0.3 animations:^{
[self.selectView mas_remakeConstraints:^(MASConstraintMaker *make) {
make.left.right.bottom.equalTo(self.view);
make.top.equalTo(@0);
}];
[self.view layoutIfNeeded];
} completion:^(BOOL finished) {
}];
}
} }
} }
- (void)setGestationRecordId:(NSString *)gestationRecordId{ - (void)setGestationRecordId:(NSString *)gestationRecordId{
......
//
// JoystickIntroManager.h
// DJMHomeTY
//
// Created by nana on 2025/6/11.
//
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
@interface JoystickIntroManager : NSObject
+ (instancetype)shared;
// 检查是否需要显示介绍页
- (BOOL)shouldShowIntroductionForJoystickID:(NSInteger)joystickID;
// 标记手柄为已操作
- (void)markJoystickAsUsed:(NSInteger)joystickID;
// 重置所有状态(可选)
- (void)resetAllJoystickStatus;
@end
NS_ASSUME_NONNULL_END
//
// JoystickIntroManager.m
// DJMHomeTY
//
// Created by nana on 2025/6/11.
//
#import "JoystickIntroManager.h"
static NSString *const kUsedJoysticksKey = @"USED_JOYSTICKS_KEY";
@implementation JoystickIntroManager
+ (instancetype)shared {
static dispatch_once_t onceToken;
static JoystickIntroManager *instance;
dispatch_once(&onceToken, ^{
instance = [[JoystickIntroManager alloc] init];
});
return instance;
}
- (NSMutableSet<NSNumber *> *)usedJoystickIDs {
NSArray *savedIDs = [[NSUserDefaults standardUserDefaults] objectForKey:kUsedJoysticksKey];
return savedIDs ? [NSMutableSet setWithArray:savedIDs] : [NSMutableSet new];
}
- (void)saveUsedJoysticks:(NSSet<NSNumber *> *)set {
[[NSUserDefaults standardUserDefaults] setObject:[set allObjects] forKey:kUsedJoysticksKey];
[[NSUserDefaults standardUserDefaults] synchronize];
}
- (BOOL)shouldShowIntroductionForJoystickID:(NSInteger)joystickID {
return ![[self usedJoystickIDs] containsObject:@(joystickID)];
}
- (void)markJoystickAsUsed:(NSInteger)joystickID {
NSMutableSet *usedSet = [self usedJoystickIDs];
[usedSet addObject:@(joystickID)];
[self saveUsedJoysticks:usedSet];
}
- (void)resetAllJoystickStatus {
[self saveUsedJoysticks:[NSSet set]];
}
@end
...@@ -14,12 +14,15 @@ NS_ASSUME_NONNULL_BEGIN ...@@ -14,12 +14,15 @@ NS_ASSUME_NONNULL_BEGIN
- (void)touchNextStepWithModel:(DXDRPlusSubModel *)model; - (void)touchNextStepWithModel:(DXDRPlusSubModel *)model;
- (void)touchedUV;
@end @end
@interface DXDRPlusSelectView : XHParentView @interface DXDRPlusSelectView : XHParentView
@property (nonatomic,assign) id<DXDRPlusSelectViewDelegate>delegate; @property (nonatomic,assign) id<DXDRPlusSelectViewDelegate>delegate;
@property (nonatomic, strong) DXDRPlusSubModel *selectedModel; @property (nonatomic, strong) DXDRPlusSubModel *selectedModel;
@property (nonatomic,strong) UIButton *uvBtn;
@end @end
...@@ -30,6 +33,13 @@ NS_ASSUME_NONNULL_BEGIN ...@@ -30,6 +33,13 @@ NS_ASSUME_NONNULL_BEGIN
@end @end
@interface DXDRPlusSelectTitleCell : UITableViewCell
@property (nonatomic, strong) UILabel *titleLb;
@end
@interface SegmentButton : UIButton @interface SegmentButton : UIButton
@property (nonatomic, strong) UIView *indicatorLine; @property (nonatomic, strong) UIView *indicatorLine;
@end @end
......
...@@ -13,6 +13,8 @@ static NSString *dXDRPlusCell = @"DXDRPlusSelectCell"; ...@@ -13,6 +13,8 @@ static NSString *dXDRPlusCell = @"DXDRPlusSelectCell";
@interface DXDRPlusSelectView ()<UITableViewDataSource, UITableViewDelegate> @interface DXDRPlusSelectView ()<UITableViewDataSource, UITableViewDelegate>
@property (nonatomic, strong) UITableView *tableView; @property (nonatomic, strong) UITableView *tableView;
@property (nonatomic, strong) UITableView *titleTableView;
@property (nonatomic, strong) NSArray<SegmentButton *> *segmentButtons; @property (nonatomic, strong) NSArray<SegmentButton *> *segmentButtons;
@property (nonatomic, strong) NSDictionary *modelDic; @property (nonatomic, strong) NSDictionary *modelDic;
...@@ -21,7 +23,12 @@ static NSString *dXDRPlusCell = @"DXDRPlusSelectCell"; ...@@ -21,7 +23,12 @@ static NSString *dXDRPlusCell = @"DXDRPlusSelectCell";
@property (nonatomic, strong) DXDRPlusMoel *models; @property (nonatomic, strong) DXDRPlusMoel *models;
@property (nonatomic, assign) NSInteger currentIndex;; @property (nonatomic, assign) NSInteger currentIndex;
@property (nonatomic, strong) UIView *topView;
@property (nonatomic, strong) UILabel *titleLb;
...@@ -37,7 +44,7 @@ static NSString *dXDRPlusCell = @"DXDRPlusSelectCell"; ...@@ -37,7 +44,7 @@ static NSString *dXDRPlusCell = @"DXDRPlusSelectCell";
[self setupData]; [self setupData];
[self setUI]; [self setUI];
[self setupHeaderView]; [self setupHeaderView];
[self setupFooterView]; // [self setupFooterView];
} }
return self; return self;
} }
...@@ -56,23 +63,138 @@ static NSString *dXDRPlusCell = @"DXDRPlusSelectCell"; ...@@ -56,23 +63,138 @@ static NSString *dXDRPlusCell = @"DXDRPlusSelectCell";
} }
- (void)setUI{ - (void)setUI{
self.backgroundColor = XHColorRGB(247, 247, 247);
UIImageView *headerImage = [UIImageView new];
// headerImage.contentMode = UIViewContentModeScaleAspectFill;
// headerImage.clipsToBounds = YES;
headerImage.image = [UIImage imageNamed:@"dr02d_header"];
[self addSubview:headerImage];
// 标题
UILabel *titleLabel = [UILabel new];
titleLabel.text = @"选择护理方案";
titleLabel.font = [UIFont systemFontOfSize:23 weight:UIFontWeightSemibold];
titleLabel.textColor = [UIColor colorWithRed:0.13 green:0.13 blue:0.13 alpha:1];
[self addSubview:titleLabel];
[headerImage mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.top.equalTo(self);
// make.top.equalTo(@0);
make.size.mas_equalTo(CGSizeMake(HJScreenWidth, HJScreenWidth * 0.688));
}];
[titleLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.equalTo(headerImage.mas_bottom).offset(-50);
make.left.equalTo(self).offset(16);
}];
UIView *conView1 = [UIView new];
conView1.backgroundColor = XHColorRGB(255, 255, 255);
conView1.layer.cornerRadius = 30.f;
conView1.layer.masksToBounds = YES;
[self addSubview:conView1];
[conView1 mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.right.bottom.equalTo(self);
make.top.equalTo(headerImage.mas_bottom).offset(0);
}];
_titleTableView = [[UITableView alloc] initWithFrame:CGRectZero style:UITableViewStylePlain];
_titleTableView.separatorStyle = UITableViewCellSeparatorStyleNone;
_titleTableView.backgroundColor = XHColorRGB(244, 244, 244);
_titleTableView.dataSource = self;
_titleTableView.delegate = self;
_titleTableView.rowHeight = 80;
[conView1 addSubview:_titleTableView];
[_titleTableView registerClass:[DXDRPlusSelectTitleCell class] forCellReuseIdentifier:@"titleTableViewCell"];
[_titleTableView mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.equalTo(@0);
make.top.equalTo(conView1);
make.bottom.equalTo(self);
make.width.equalTo(@90);
}];
UIView *foot = [UIView new];
foot = [self setupFooterView];
[conView1 addSubview:foot];
[foot mas_makeConstraints:^(MASConstraintMaker *make) {
make.bottom.right.equalTo(conView1);
make.height.equalTo(@100);
make.left.equalTo(@90);
}];
_topView = [UIView new];
[conView1 addSubview:_topView];
[_topView mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.right.equalTo(conView1);
make.height.equalTo(@80);
make.left.equalTo(@90);
}];
UIView *tL = [UIView new];
tL.backgroundColor = XHColorRGB(175, 44, 35);
[_topView addSubview:tL];
[tL mas_makeConstraints:^(MASConstraintMaker *make) {
make.centerY.equalTo(self.topView);
make.left.equalTo(@20);
make.size.mas_equalTo(CGSizeMake(5, 13));
}];
_titleLb = [UILabel new];
_titleLb.textColor = XHColorRGB(51, 51, 51);
_titleLb.font = [UIFont boldSystemFontOfSize:18];
_titleLb.textAlignment = 0;
_titleLb.text = self.titleArray[0];
[_topView addSubview:_titleLb];
[_titleLb mas_makeConstraints:^(MASConstraintMaker *make) {
make.centerY.equalTo(self.topView);
make.left.equalTo(tL.mas_right).offset(10);
}];
_uvBtn = [UIButton buttonWithType:UIButtonTypeCustom];
[_uvBtn setImage:[UIImage imageNamed:@"HFX_uvlight"] forState:UIControlStateNormal];
[_uvBtn setImage:[UIImage imageNamed:@"HFX_uvopen"] forState:UIControlStateSelected];
[_uvBtn setTitle:HJLocalizedString(@"UV灯") forState:UIControlStateNormal];
[_uvBtn setTitleColor:XHColorRGB(0, 0, 0) forState:UIControlStateNormal];
_uvBtn.titleLabel.font = XHFontSize(10);
[_uvBtn addTarget:self action:@selector(selectedUV:) forControlEvents:UIControlEventTouchUpInside];
_uvBtn.tag = 106;
[self addSubview:_uvBtn];
[_uvBtn mas_makeConstraints:^(MASConstraintMaker *make) {
make.right.equalTo(@-20);
make.centerY.equalTo(self.titleLb);
}];
[_uvBtn setTitleEdgeInsets:UIEdgeInsetsMake(_uvBtn.imageView.frame.size.height+5 ,-_uvBtn.imageView.frame.size.width, 0.0,0.0)];//文字距离上边框的距离增加imageView的高度,距离左边框减少imageView的宽度,距离下边框和右边框距离不变
[_uvBtn setImageEdgeInsets:UIEdgeInsetsMake(-_uvBtn.titleLabel.bounds.size.height-5,(_uvBtn.frame.size.width-_uvBtn.imageView.bounds.size.width)/2.0,0.0,(_uvBtn.frame.size.width-_uvBtn.imageView.bounds.size.width)/2.0)];
_tableView = [[UITableView alloc] initWithFrame:CGRectZero style:UITableViewStylePlain]; _tableView = [[UITableView alloc] initWithFrame:CGRectZero style:UITableViewStylePlain];
_tableView.separatorStyle = UITableViewCellSeparatorStyleNone; _tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
_tableView.dataSource = self; _tableView.dataSource = self;
_tableView.delegate = self; _tableView.delegate = self;
_tableView.rowHeight = 80; _tableView.rowHeight = 90;
[self addSubview:_tableView]; [conView1 addSubview:_tableView];
[_tableView registerClass:[DXDRPlusSelectCell class] forCellReuseIdentifier:dXDRPlusCell]; [_tableView registerClass:[DXDRPlusSelectCell class] forCellReuseIdentifier:dXDRPlusCell];
[_tableView mas_makeConstraints:^(MASConstraintMaker *make) { [_tableView mas_makeConstraints:^(MASConstraintMaker *make) {
make.edges.equalTo(self); make.left.equalTo(@90);
}]; make.top.equalTo(self.topView.mas_bottom);
make.right.equalTo(self);
make.bottom.equalTo(foot.mas_top);
}];
} }
#pragma mark - 头部视图 #pragma mark - 头部视图
- (void)setupHeaderView { - (void)setupHeaderView {
UIView *header = [UIView new]; UIView *header = [UIView new];
header.frame = CGRectMake(0, 0, HJScreenWidth, 404); header.frame = CGRectMake(0, 0, HJScreenWidth, 350);
header.backgroundColor = [UIColor whiteColor]; header.backgroundColor = [UIColor whiteColor];
// 图片区域 // 图片区域
UIImageView *headerImage = [UIImageView new]; UIImageView *headerImage = [UIImageView new];
...@@ -89,47 +211,47 @@ static NSString *dXDRPlusCell = @"DXDRPlusSelectCell"; ...@@ -89,47 +211,47 @@ static NSString *dXDRPlusCell = @"DXDRPlusSelectCell";
[header addSubview:titleLabel]; [header addSubview:titleLabel];
UIView *conView = [UIView new]; // UIView *conView = [UIView new];
conView.backgroundColor = XHColorRGB(239, 239, 239); // conView.backgroundColor = XHColorRGB(239, 239, 239);
conView.layer.cornerRadius = 30.f; // conView.layer.cornerRadius = 30.f;
conView.layer.masksToBounds = YES; // conView.layer.masksToBounds = YES;
[header addSubview:conView]; // [header addSubview:conView];
//
UIView *conView1 = [UIView new]; UIView *conView1 = [UIView new];
conView1.backgroundColor = XHColorRGB(255, 255, 255); conView1.backgroundColor = XHColorRGB(255, 255, 255);
conView1.layer.cornerRadius = 30.f; conView1.layer.cornerRadius = 30.f;
conView1.layer.masksToBounds = YES; conView1.layer.masksToBounds = YES;
[header addSubview:conView1]; [header addSubview:conView1];
//
// Segment 区域 // // Segment 区域
UIView *segmentContainer = [self createSegmentButtons]; // UIView *segmentContainer = [self createSegmentButtons];
[header addSubview:segmentContainer]; // [header addSubview:segmentContainer];
//
// 布局 // 布局
[headerImage mas_makeConstraints:^(MASConstraintMaker *make) { [headerImage mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.right.equalTo(header); make.left.right.equalTo(header);
make.top.equalTo(@0); make.top.equalTo(@0);
make.height.mas_equalTo(225); make.height.mas_equalTo(350);
}]; }];
[titleLabel mas_makeConstraints:^(MASConstraintMaker *make) { [titleLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.equalTo(headerImage.mas_bottom).offset(-10); make.top.equalTo(headerImage.mas_bottom).offset(-30);
make.leading.equalTo(header).offset(16); make.leading.equalTo(header).offset(16);
}]; }];
//
[conView mas_makeConstraints:^(MASConstraintMaker *make) { // [conView mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.right.bottom.equalTo(header); // make.left.right.bottom.equalTo(header);
make.top.equalTo(titleLabel.mas_bottom).offset(20); // make.top.equalTo(titleLabel.mas_bottom).offset(20);
}]; // }];
//
[segmentContainer mas_makeConstraints:^(MASConstraintMaker *make) { // [segmentContainer mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.equalTo(titleLabel.mas_bottom).offset(40); // make.top.equalTo(titleLabel.mas_bottom).offset(40);
make.leading.trailing.equalTo(header).inset(2); // make.leading.trailing.equalTo(header).inset(2);
// make.bottom.equalTo(header).offset(-16); //// make.bottom.equalTo(header).offset(-16);
}]; // }];
[conView1 mas_makeConstraints:^(MASConstraintMaker *make) { [conView1 mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.right.bottom.equalTo(header); make.left.right.bottom.equalTo(header);
make.top.equalTo(segmentContainer.mas_bottom).offset(10); make.top.equalTo(titleLabel.mas_bottom).offset(10);
}]; }];
// // 计算 header 高度 // // 计算 header 高度
// [header layoutIfNeeded]; // [header layoutIfNeeded];
...@@ -137,7 +259,7 @@ static NSString *dXDRPlusCell = @"DXDRPlusSelectCell"; ...@@ -137,7 +259,7 @@ static NSString *dXDRPlusCell = @"DXDRPlusSelectCell";
// frame.size.height = 424; // frame.size.height = 424;
// header.frame = frame; // header.frame = frame;
_tableView.tableHeaderView = header; // _tableView.tableHeaderView = header;
} }
- (UIView *)createSegmentButtons { - (UIView *)createSegmentButtons {
NSArray *titles = @[@"多维提升",@"问题肌修复",@"肤质管理",@"专业级护理",@"特殊模式",@"自定义"]; NSArray *titles = @[@"多维提升",@"问题肌修复",@"肤质管理",@"专业级护理",@"特殊模式",@"自定义"];
...@@ -215,7 +337,7 @@ static NSString *dXDRPlusCell = @"DXDRPlusSelectCell"; ...@@ -215,7 +337,7 @@ static NSString *dXDRPlusCell = @"DXDRPlusSelectCell";
return btn; return btn;
} }
#pragma mark - 底部按钮 #pragma mark - 底部按钮
- (void)setupFooterView { - (UIView *)setupFooterView {
UIView *footer = [UIView new]; UIView *footer = [UIView new];
footer.frame = CGRectMake(0, 0, self.bounds.size.width, 100); footer.frame = CGRectMake(0, 0, self.bounds.size.width, 100);
...@@ -232,13 +354,18 @@ static NSString *dXDRPlusCell = @"DXDRPlusSelectCell"; ...@@ -232,13 +354,18 @@ static NSString *dXDRPlusCell = @"DXDRPlusSelectCell";
make.top.equalTo(footer).offset(20); make.top.equalTo(footer).offset(20);
make.centerX.equalTo(footer); make.centerX.equalTo(footer);
make.height.mas_equalTo(50); make.height.mas_equalTo(50);
make.width.equalTo(footer).offset(-60); make.width.equalTo(footer).offset(-40);
}]; }];
return footer;
_tableView.tableFooterView = footer; // _tableView.tableFooterView = footer;
} }
#pragma mark - 交互事件 #pragma mark - 交互事件
- (void)selectedUV:(UIButton *)sender{
if (self.delegate && [self.delegate respondsToSelector:@selector(touchedUV)]) {
[self.delegate touchedUV];
}
}
- (void)nextStep:(UIButton *)sender{ - (void)nextStep:(UIButton *)sender{
if (![self.selectedModel.class_type isEqualToString:@""] && self.selectedModel.class_type) { if (![self.selectedModel.class_type isEqualToString:@""] && self.selectedModel.class_type) {
if (self.delegate && [self.delegate respondsToSelector:@selector(touchNextStepWithModel:)]) { if (self.delegate && [self.delegate respondsToSelector:@selector(touchNextStepWithModel:)]) {
...@@ -265,27 +392,66 @@ static NSString *dXDRPlusCell = @"DXDRPlusSelectCell"; ...@@ -265,27 +392,66 @@ static NSString *dXDRPlusCell = @"DXDRPlusSelectCell";
#pragma mark - UITableView 数据源 #pragma mark - UITableView 数据源
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
// return [self.models.categories objectForKey:self.titleArray[_currentIndex]].count; // return [self.models.categories objectForKey:self.titleArray[_currentIndex]].count;
return self.modelArray.count; if (tableView == self.tableView) {
return self.modelArray.count;
}else{
return self.titleArray.count;
}
} }
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
DXDRPlusSelectCell *cell = [tableView dequeueReusableCellWithIdentifier:dXDRPlusCell]; if (tableView == self.tableView) {
cell.model = self.modelArray[indexPath.row]; DXDRPlusSelectCell *cell = [tableView dequeueReusableCellWithIdentifier:dXDRPlusCell];
return cell; cell.model = self.modelArray[indexPath.row];
return cell;
}else{
DXDRPlusSelectTitleCell *cell = [tableView dequeueReusableCellWithIdentifier:@"titleTableViewCell"];
if (indexPath.row == 0) {
[tableView selectRowAtIndexPath:indexPath animated:NO scrollPosition:UITableViewScrollPositionNone];
}
// cell.backgroundColor = XHColorRGB(244, 244, 244);
//// cell.selectedTextColor = XHColorRGB(175, 44, 35);
//// cell.textLabel.textAlignment = 0;
// cell.textLabel.font = XHFontSize(14);
// cell.textLabel.textColor = XHColorRGB(130, 130, 130);
// cell.textLabel.highlightedTextColor = XHColorRGB(175, 44, 35);
// cell.selectedBackgroundView = [UIView new];
// cell.selectedBackgroundView.backgroundColor = [UIColor whiteColor];
// cell.contentView.layoutMargins = UIEdgeInsetsMake(0, 0, 0, 0);
// cell.textLabel.layoutMargins = UIEdgeInsetsMake(0, 0, 0, 0);
cell.titleLb.text = self.titleArray[indexPath.row];
// cell.textLabel.backgroundColor = [UIColor redColor];
return cell;
}
} }
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
// 单选逻辑 // 单选逻辑
for (DXDRPlusSubModel *model in self.modelArray) { if (tableView == self.tableView) {
if (model == self.modelArray[indexPath.row]) { for (DXDRPlusSubModel *model in self.modelArray) {
model.isSelected = @"1"; if (model == self.modelArray[indexPath.row]) {
}else{ model.isSelected = @"1";
model.isSelected = @"0"; }else{
model.isSelected = @"0";
}
} }
self.selectedModel = self.modelArray[indexPath.row];
[tableView reloadData];
}else{
self.modelArray = [DXDRPlusSubModel mj_objectArrayWithKeyValuesArray:[self.models.categories objectForKey:self.titleArray[indexPath.row]]];
self.selectedModel = self.modelArray[0];
self.selectedModel.isSelected = @"1";
self.titleLb.text = self.titleArray[indexPath.row];
[self.tableView reloadData];
} }
self.selectedModel = self.modelArray[indexPath.row];
[tableView reloadData];
} }
@end @end
...@@ -294,7 +460,7 @@ static NSString *dXDRPlusCell = @"DXDRPlusSelectCell"; ...@@ -294,7 +460,7 @@ static NSString *dXDRPlusCell = @"DXDRPlusSelectCell";
@interface DXDRPlusSelectCell () @interface DXDRPlusSelectCell ()
@property (nonatomic, strong) UIImageView *contview;
@property (nonatomic, strong) UIImageView *iconView; @property (nonatomic, strong) UIImageView *iconView;
@property (nonatomic, strong) UILabel *titleLabel; @property (nonatomic, strong) UILabel *titleLabel;
@property (nonatomic, strong) UILabel *subtitleLabel; @property (nonatomic, strong) UILabel *subtitleLabel;
...@@ -318,13 +484,28 @@ static NSString *dXDRPlusCell = @"DXDRPlusSelectCell"; ...@@ -318,13 +484,28 @@ static NSString *dXDRPlusCell = @"DXDRPlusSelectCell";
_titleLabel.text = model.name; _titleLabel.text = model.name;
_subtitleLabel.text = model.subtitle; _subtitleLabel.text = model.subtitle;
_checkmarkView.image = [model.isSelected boolValue]?[UIImage imageNamed:@"dr02d_select"]:[UIImage imageNamed:@"dr02d_diselect"]; _checkmarkView.image = [model.isSelected boolValue]?[UIImage imageNamed:@"dr02d_select"]:[UIImage imageNamed:@"dr02d_diselect"];
_contview.image = [model.isSelected boolValue]?[UIImage imageNamed:@"dr02d_sel_list_sel"]:[UIImage imageNamed:@"dr02d_sel_list_nol"];
_titleLabel.textColor = [model.isSelected boolValue]?XHColorRGB_Alpha(69, 55, 51, 1): XHColorRGB_Alpha(69, 55, 51, 0.6);
} }
- (void)setupUI { - (void)setupUI {
_contview = [UIImageView new];
_contview.image = [UIImage imageNamed:@"dr02d_sel_list_nol"];
// _contview.backgroundColor = XHColorRGB(255, 255, 255);
// _contview.layer.cornerRadius = 30.f;
// _contview.layer.masksToBounds = YES;
[self.contentView addSubview:_contview];
[_contview mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.equalTo(@20);
make.top.equalTo(@10);
make.bottom.equalTo(@-10);
make.right.equalTo(@-30);
}];
// 图标 // 图标
_iconView = [UIImageView new]; _iconView = [UIImageView new];
_iconView.layer.cornerRadius = 8; _iconView.layer.cornerRadius = 8;
_iconView.clipsToBounds = YES; _iconView.clipsToBounds = YES;
[self.contentView addSubview:_iconView]; [_contview addSubview:_iconView];
// 文字堆栈 // 文字堆栈
UIStackView *textStack = [UIStackView new]; UIStackView *textStack = [UIStackView new];
...@@ -333,6 +514,7 @@ static NSString *dXDRPlusCell = @"DXDRPlusSelectCell"; ...@@ -333,6 +514,7 @@ static NSString *dXDRPlusCell = @"DXDRPlusSelectCell";
_titleLabel = [UILabel new]; _titleLabel = [UILabel new];
_titleLabel.font = [UIFont systemFontOfSize:16 weight:UIFontWeightMedium]; _titleLabel.font = [UIFont systemFontOfSize:16 weight:UIFontWeightMedium];
_titleLabel.textColor = XHColorRGB_Alpha(69, 55, 51, 0.6);
_subtitleLabel = [UILabel new]; _subtitleLabel = [UILabel new];
_subtitleLabel.font = [UIFont systemFontOfSize:12]; _subtitleLabel.font = [UIFont systemFontOfSize:12];
...@@ -340,7 +522,7 @@ static NSString *dXDRPlusCell = @"DXDRPlusSelectCell"; ...@@ -340,7 +522,7 @@ static NSString *dXDRPlusCell = @"DXDRPlusSelectCell";
[textStack addArrangedSubview:_titleLabel]; [textStack addArrangedSubview:_titleLabel];
[textStack addArrangedSubview:_subtitleLabel]; [textStack addArrangedSubview:_subtitleLabel];
[self.contentView addSubview:textStack]; [_contview addSubview:textStack];
// 勾选图标 // 勾选图标
_checkmarkView = [UIImageView new]; _checkmarkView = [UIImageView new];
...@@ -348,20 +530,20 @@ static NSString *dXDRPlusCell = @"DXDRPlusSelectCell"; ...@@ -348,20 +530,20 @@ static NSString *dXDRPlusCell = @"DXDRPlusSelectCell";
// Masonry 布局 // Masonry 布局
[_iconView mas_makeConstraints:^(MASConstraintMaker *make) { [_iconView mas_makeConstraints:^(MASConstraintMaker *make) {
make.leading.equalTo(self.contentView).offset(16); make.leading.equalTo(self.contview).offset(8);
make.centerY.equalTo(self.contentView); make.centerY.equalTo(self.contview);
make.size.mas_equalTo(CGSizeMake(40, 40)); make.size.mas_equalTo(CGSizeMake(40, 40));
}]; }];
[textStack mas_makeConstraints:^(MASConstraintMaker *make) { [textStack mas_makeConstraints:^(MASConstraintMaker *make) {
make.leading.equalTo(_iconView.mas_trailing).offset(12); make.leading.equalTo(_iconView.mas_trailing).offset(12);
make.centerY.equalTo(self.contentView); make.centerY.equalTo(self.contview);
make.trailing.lessThanOrEqualTo(_checkmarkView.mas_leading).offset(-16); make.trailing.lessThanOrEqualTo(_checkmarkView.mas_leading).offset(-16);
}]; }];
[_checkmarkView mas_makeConstraints:^(MASConstraintMaker *make) { [_checkmarkView mas_makeConstraints:^(MASConstraintMaker *make) {
make.trailing.equalTo(self.contentView).offset(-16); make.trailing.equalTo(self.contentView).offset(-22);
make.centerY.equalTo(self.contentView); make.top.equalTo(self.contview).offset(-8);
make.size.mas_equalTo(CGSizeMake(20, 20)); make.size.mas_equalTo(CGSizeMake(20, 20));
}]; }];
} }
...@@ -370,6 +552,43 @@ static NSString *dXDRPlusCell = @"DXDRPlusSelectCell"; ...@@ -370,6 +552,43 @@ static NSString *dXDRPlusCell = @"DXDRPlusSelectCell";
@end @end
@implementation DXDRPlusSelectTitleCell
- (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier {
self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
if (self) {
[self setupUI];
// self.selectionStyle = UITableViewCellSelectionStyleNone;
}
return self;
}
- (void)setupUI {
self.contentView.backgroundColor = XHColorRGB(244, 244, 244);
// cell.selectedTextColor = XHColorRGB(175, 44, 35);
self.titleLb = [UILabel new];
self.titleLb.textAlignment = 1;
self.titleLb.font = XHFontSize(14);
self.titleLb.textColor = XHColorRGB(130, 130, 130);
self.titleLb.highlightedTextColor = XHColorRGB(175, 44, 35);
[self.contentView addSubview:self.titleLb];
[self.titleLb mas_makeConstraints:^(MASConstraintMaker *make) {
make.edges.equalTo(self.contentView);
}];
}
- (void)setSelected:(BOOL)selected animated:(BOOL)animated{
[super setSelected:selected animated:animated];
if (selected) {
self.contentView.backgroundColor = [UIColor whiteColor];
self.titleLb.textColor = XHColorRGB(175, 44, 35);
}else{
self.titleLb.textColor = XHColorRGB(130, 130, 130);
self.contentView.backgroundColor = XHColorRGB(244, 244, 244);
}
}
@end
//***********************************************// //***********************************************//
@implementation SegmentButton @implementation SegmentButton
- (instancetype)initWithFrame:(CGRect)frame { - (instancetype)initWithFrame:(CGRect)frame {
......
...@@ -31,6 +31,7 @@ typedef enum : NSUInteger{ ...@@ -31,6 +31,7 @@ typedef enum : NSUInteger{
- (void)deviceSmartControlWithTag:(Dr02DsmartType)type ; - (void)deviceSmartControlWithTag:(Dr02DsmartType)type ;
- (void)changeVideoProgressWithHandelType:(NSInteger )handelType;
@end @end
...@@ -41,6 +42,7 @@ typedef enum : NSUInteger{ ...@@ -41,6 +42,7 @@ typedef enum : NSUInteger{
@interface DXDRPlusSmartView : XHParentView @interface DXDRPlusSmartView : XHParentView
@property (nonatomic,weak) id <DXDRPlusSmartViewDelegate> delegate; @property (nonatomic,weak) id <DXDRPlusSmartViewDelegate> delegate;
@property (nonatomic,strong) UIButton *volumeBtn; @property (nonatomic,strong) UIButton *volumeBtn;
@property (nonatomic,strong) UIButton *replayBtn;
@property (nonatomic,strong) ZFPlayerController *playerView; @property (nonatomic,strong) ZFPlayerController *playerView;
@property (nonatomic, strong) DXDRPlusSubModel *selectedModel; @property (nonatomic, strong) DXDRPlusSubModel *selectedModel;
@property (nonatomic,strong) DXHFXVideoModel *videoModel; @property (nonatomic,strong) DXHFXVideoModel *videoModel;
...@@ -57,6 +59,19 @@ typedef enum : NSUInteger{ ...@@ -57,6 +59,19 @@ typedef enum : NSUInteger{
@property (nonatomic,strong) UIView *stepCenterLine; @property (nonatomic,strong) UIView *stepCenterLine;
@property (nonatomic,strong) UIButton *uvBtn; @property (nonatomic,strong) UIButton *uvBtn;
@property (nonatomic,strong) UIButton *step1Btn;
//@property (nonatomic,strong) UILabel *step1DetilsLb;
@property (nonatomic,strong) UIButton *step2Btn;
//@property (nonatomic,strong) UILabel *step2DetilsLb;
@property (nonatomic,strong) UIImageView *stepCenterImg;
@property (nonatomic,strong) UIScrollView *timeScrollView;
@end @end
NS_ASSUME_NONNULL_END NS_ASSUME_NONNULL_END
...@@ -21,7 +21,7 @@ ...@@ -21,7 +21,7 @@
@property (nonatomic,strong) NSMutableArray *timeArray; @property (nonatomic,strong) NSMutableArray *timeArray;
@property (nonatomic,strong) UIScrollView *timeScrollView;
@property (nonatomic,strong) NSMutableArray <UIButton *> *timesBtnArray; @property (nonatomic,strong) NSMutableArray <UIButton *> *timesBtnArray;
...@@ -54,7 +54,8 @@ ...@@ -54,7 +54,8 @@
@property (nonatomic, strong) UIImageView *segBack; @property (nonatomic, strong) UIImageView *segBack;
@property (nonatomic, assign) NSInteger currentSelectedIndex; // 当前选中的节点索引
@property (nonatomic, assign) NSTimeInterval lastNodeTime; // 上次处理的节点时间
@end @end
...@@ -85,6 +86,8 @@ ...@@ -85,6 +86,8 @@
// 设置缓存最大容量 // 设置缓存最大容量
long long maxLength = 300 * 1024 * 1024; long long maxLength = 300 * 1024 * 1024;
[KTVHTTPCache cacheSetMaxCacheLength:maxLength]; [KTVHTTPCache cacheSetMaxCacheLength:maxLength];
_currentSelectedIndex = -1; // 初始无选中节点
_lastNodeTime = -1; // 初始值
} }
- (void)creatUI{ - (void)creatUI{
// self.backgroundColor = XHColorRGB(255, 255, 255); // self.backgroundColor = XHColorRGB(255, 255, 255);
...@@ -196,6 +199,23 @@ ...@@ -196,6 +199,23 @@
make.size.mas_equalTo(CGSizeMake(32, 32)); make.size.mas_equalTo(CGSizeMake(32, 32));
}]; }];
_replayBtn = [UIButton buttonWithType:UIButtonTypeCustom];
[_replayBtn setImage:[UIImage imageNamed:@"dr02d_replay"] forState:UIControlStateNormal];
_replayBtn.backgroundColor = XHColorRGB_Alpha(0, 0, 0, 0.45);
[_replayBtn addTarget:self action:@selector(replayVideo:) forControlEvents:UIControlEventTouchUpInside];
_replayBtn.layer.cornerRadius = 16.f;
_replayBtn.layer.masksToBounds = YES;
[_controlView addSubview:_replayBtn];
[_replayBtn mas_makeConstraints:^(MASConstraintMaker *make) {
make.bottom.equalTo(@-10);
make.right.equalTo(@-10);
make.size.mas_equalTo(CGSizeMake(32, 32));
}];
_replayBtn.hidden = YES;
[self layoutIfNeeded]; [self layoutIfNeeded];
self.progressBarView = [[DXProgressBarView alloc] initWithFrame:CGRectMake(0, self.containerView.bottom + 5, HJScreenWidth - 38, 30)]; self.progressBarView = [[DXProgressBarView alloc] initWithFrame:CGRectMake(0, self.containerView.bottom + 5, HJScreenWidth - 38, 30)];
self.progressBarView.delegate = self; self.progressBarView.delegate = self;
...@@ -253,7 +273,7 @@ ...@@ -253,7 +273,7 @@
stepTitleLb.textColor = XHColorRGB(51, 51, 51); stepTitleLb.textColor = XHColorRGB(51, 51, 51);
[self.bottomView addSubview:stepTitleLb]; [self.bottomView addSubview:stepTitleLb];
[stepTitleLb mas_makeConstraints:^(MASConstraintMaker *make) { [stepTitleLb mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.equalTo(@35); make.top.equalTo(@20);
make.left.equalTo(@20); make.left.equalTo(@20);
}]; }];
...@@ -267,7 +287,7 @@ ...@@ -267,7 +287,7 @@
_uvBtn.tag = Smartuvchange; _uvBtn.tag = Smartuvchange;
[self addSubview:_uvBtn]; [self addSubview:_uvBtn];
[_uvBtn mas_makeConstraints:^(MASConstraintMaker *make) { [_uvBtn mas_makeConstraints:^(MASConstraintMaker *make) {
make.right.equalTo(@-40); make.right.equalTo(@-20);
make.centerY.equalTo(stepTitleLb); make.centerY.equalTo(stepTitleLb);
}]; }];
...@@ -276,74 +296,98 @@ ...@@ -276,74 +296,98 @@
_step1Btn = [UIButton buttonWithType:UIButtonTypeCustom];
_step1Btn.userInteractionEnabled = NO;
[_step1Btn setBackgroundImage:[UIImage imageNamed:@"dr02d_3m_icon_sel"] forState:UIControlStateNormal];
[self.bottomView addSubview:_step1Btn];
[_step1Btn mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.equalTo(stepTitleLb);
make.size.mas_equalTo(CGSizeMake(67.5, 64));
make.top.equalTo(stepTitleLb.mas_bottom).offset(10);
}];
_step1Lb = [UILabel new]; _step1Lb = [UILabel new];
_step1Lb.layer.cornerRadius = 14.f;
_step1Lb.layer.masksToBounds = YES;
_step1Lb.textColor = [UIColor whiteColor]; _step1Lb.textColor = [UIColor whiteColor];
_step1Lb.backgroundColor = XHColorRGB(164, 47, 36); _step1Lb.backgroundColor = XHColorRGB(164, 47, 36);
_step1Lb.text = @"1"; _step1Lb.text = @"01";
_step1Lb.textAlignment = 1; _step1Lb.textAlignment = 1;
_step1Lb.font = XHFontSize(17); _step1Lb.font = [UIFont fontWithName:@"Arial-BoldItalicMT" size:9];
[self.bottomView addSubview:_step1Lb]; [self.step1Btn addSubview:_step1Lb];
[_step1Lb mas_makeConstraints:^(MASConstraintMaker *make) { [_step1Lb mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.equalTo(stepTitleLb); make.left.equalTo(self.step1Btn);
make.size.mas_equalTo(CGSizeMake(28, 28)); make.size.mas_equalTo(CGSizeMake(22, 8));
make.top.equalTo(stepTitleLb.mas_bottom).offset(10); make.top.equalTo(self.step1Btn).offset(9);
}]; }];
_step1DetilsLb = [UILabel new]; _step1DetilsLb = [UILabel new];
_step1DetilsLb.textColor = XHColorRGB(51, 51, 51); _step1DetilsLb.textColor = XHColorRGB(150, 143, 142);
_step1DetilsLb.text = @"3M/10M手柄"; _step1DetilsLb.text = @"3/10M手柄";
_step1DetilsLb.textAlignment = 0; _step1DetilsLb.textAlignment = 1;
_step1DetilsLb.font = XHFontSize(16); _step1DetilsLb.font = XHFontSize(12);
[self.bottomView addSubview:_step1DetilsLb]; [self.bottomView addSubview:_step1DetilsLb];
[_step1DetilsLb mas_makeConstraints:^(MASConstraintMaker *make) { [_step1DetilsLb mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.equalTo(self.step1Lb.mas_right).offset(10); make.top.equalTo(self.step1Btn.mas_bottom).offset(5);
make.centerY.equalTo(self.step1Lb); make.centerX.equalTo(self.step1Btn);
}]; }];
_stepCenterLine = [UIView new]; _stepCenterImg = [[UIImageView alloc]initWithImage:[UIImage imageNamed:@"dr02d_sjx"]];
_stepCenterLine.backgroundColor = XHColorRGB(164, 47, 36); // _stepCenterLine.backgroundColor = XHColorRGB(164, 47, 36);
[self.bottomView addSubview:_stepCenterLine]; [self.bottomView addSubview:_stepCenterImg];
[self.stepCenterLine mas_makeConstraints:^(MASConstraintMaker *make) { [self.stepCenterImg mas_makeConstraints:^(MASConstraintMaker *make) {
make.size.mas_equalTo(CGSizeMake(35, 2)); make.size.mas_equalTo(CGSizeMake(10.5, 12));
make.centerY.equalTo(self.step1Lb); make.centerY.equalTo(self.step1Btn);
make.left.equalTo(self.step1DetilsLb.mas_right).offset(25); make.left.equalTo(self.step1Btn.mas_right).offset(34);
}];
_step2Btn = [UIButton buttonWithType:UIButtonTypeCustom];
_step2Btn.userInteractionEnabled = NO;
[_step2Btn setBackgroundImage:[UIImage imageNamed:@"dr02d_20m_icon_nol"] forState:UIControlStateNormal];
[self.bottomView addSubview:_step2Btn];
[_step2Btn mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.equalTo(_stepCenterImg.mas_right).offset(34);
make.size.mas_equalTo(CGSizeMake(67.5, 64));
make.centerY.equalTo(self.step1Btn);
}]; }];
_step2Lb = [UILabel new]; _step2Lb = [UILabel new];
_step2Lb.layer.cornerRadius = 14.f; // _step2Lb.layer.cornerRadius = 14.f;
_step2Lb.layer.masksToBounds = YES; // _step2Lb.layer.masksToBounds = YES;
// _step2Lb.textColor = [UIColor whiteColor]; _step2Lb.textColor = [UIColor whiteColor];
_step2Lb.textColor = XHColorRGB(51, 51, 51); // _step2Lb.textColor = XHColorRGB(51, 51, 51);
// _step2Lb.backgroundColor = XHColorRGB(164, 47, 36); // _step2Lb.backgroundColor = XHColorRGB(164, 47, 36);
_step2Lb.backgroundColor = XHColorRGB(230, 230, 230); _step2Lb.backgroundColor = XHColorRGB(205, 205, 205);
_step2Lb.text = @"2"; _step2Lb.text = @"02";
_step2Lb.textAlignment = 1; _step2Lb.textAlignment = 1;
_step2Lb.font = XHFontSize(17); _step2Lb.font = [UIFont fontWithName:@"Arial-BoldItalicMT" size:9];
[self.bottomView addSubview:_step2Lb]; [self.bottomView addSubview:_step2Lb];
[_step2Lb mas_makeConstraints:^(MASConstraintMaker *make) { [_step2Lb mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.equalTo(self.stepCenterLine.mas_right).offset(25); make.left.equalTo(self.step2Btn);
make.size.mas_equalTo(CGSizeMake(28, 28)); make.size.mas_equalTo(CGSizeMake(22, 8));
make.centerY.equalTo(self.step1Lb); make.top.equalTo(self.step2Btn).offset(9);
}]; }];
_step2DetilsLb = [UILabel new]; _step2DetilsLb = [UILabel new];
_step2DetilsLb.textColor = XHColorRGB(51, 51, 51); _step2DetilsLb.textColor = XHColorRGB(150, 143, 142);
_step2DetilsLb.text = @"20M手柄"; _step2DetilsLb.text = @"20M手柄";
_step2DetilsLb.textAlignment = 0; _step2DetilsLb.textAlignment = 1;
_step2DetilsLb.font = XHFontSize(16); _step2DetilsLb.font = XHFontSize(12);
[self.bottomView addSubview:_step2DetilsLb]; [self.bottomView addSubview:_step2DetilsLb];
[_step2DetilsLb mas_makeConstraints:^(MASConstraintMaker *make) { [_step2DetilsLb mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.equalTo(self.step2Lb.mas_right).offset(10); make.top.equalTo(self.step2Btn.mas_bottom).offset(5);
make.centerY.equalTo(self.step1Lb); make.centerX.equalTo(self.step2Btn);
}]; }];
...@@ -355,7 +399,7 @@ ...@@ -355,7 +399,7 @@
make.left.equalTo(@44); make.left.equalTo(@44);
make.right.equalTo(@-44); make.right.equalTo(@-44);
make.height.equalTo(@1); make.height.equalTo(@1);
make.top.equalTo(self.step1Lb.mas_bottom).offset(25); make.top.equalTo(self.step1DetilsLb.mas_bottom).offset(10);
}]; }];
...@@ -365,7 +409,7 @@ ...@@ -365,7 +409,7 @@
stressTitleLb.textColor = XHColorRGB(51, 51, 51); stressTitleLb.textColor = XHColorRGB(51, 51, 51);
[self.bottomView addSubview:stressTitleLb]; [self.bottomView addSubview:stressTitleLb];
[stressTitleLb mas_makeConstraints:^(MASConstraintMaker *make) { [stressTitleLb mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.equalTo(centerLine.mas_bottom).offset(25); make.top.equalTo(centerLine.mas_bottom).offset(18);
make.left.equalTo(@20); make.left.equalTo(@20);
}]; }];
...@@ -379,7 +423,7 @@ ...@@ -379,7 +423,7 @@
_segBack.userInteractionEnabled = YES; _segBack.userInteractionEnabled = YES;
[_bottomView addSubview:_segBack]; [_bottomView addSubview:_segBack];
[_segBack mas_makeConstraints:^(MASConstraintMaker *make) { [_segBack mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.equalTo(stressTitleLb.mas_bottom).offset(15); make.top.equalTo(stressTitleLb.mas_bottom).offset(12);
make.centerX.equalTo(self.bottomView); make.centerX.equalTo(self.bottomView);
make.size.mas_equalTo(CGSizeMake(HJScreenWidth - 40, 70)); make.size.mas_equalTo(CGSizeMake(HJScreenWidth - 40, 70));
}]; }];
...@@ -398,7 +442,8 @@ ...@@ -398,7 +442,8 @@
[btn setImage:[UIImage imageNamed:selectimages[i]] forState:UIControlStateSelected]; [btn setImage:[UIImage imageNamed:selectimages[i]] forState:UIControlStateSelected];
[btn setBackgroundImage:[UIImage imageNamed:@"dr_02_d_nlxz"] forState:UIControlStateSelected]; [btn setBackgroundImage:[UIImage imageNamed:@"dr_02_d_nlxz"] forState:UIControlStateSelected];
[btn setBackgroundImage:[UIImage imageNamed:@""] forState:UIControlStateNormal]; [btn setBackgroundImage:[UIImage imageNamed:@""] forState:UIControlStateNormal];
btn.imageEdgeInsets = UIEdgeInsetsMake(21, 30, 21, 100); btn.imageEdgeInsets = UIEdgeInsetsMake(24, 30, 24, 100);
// btn.contentMode = UIViewContentModeScaleAspectFit; // btn.contentMode = UIViewContentModeScaleAspectFit;
btn.frame = CGRectMake(7 + i * ((_segBack.frame.size.width - 10)/2), 3, (_segBack.frame.size.width - 10 - 7)/2, _segBack.frame.size.height - 6); btn.frame = CGRectMake(7 + i * ((_segBack.frame.size.width - 10)/2), 3, (_segBack.frame.size.width - 10 - 7)/2, _segBack.frame.size.height - 6);
if (i == 1) { if (i == 1) {
...@@ -430,7 +475,7 @@ ...@@ -430,7 +475,7 @@
[self.bottomView addSubview:_timeImg]; [self.bottomView addSubview:_timeImg];
[_timeImg mas_makeConstraints:^(MASConstraintMaker *make) { [_timeImg mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.equalTo(@50); make.left.equalTo(@50);
make.top.equalTo(self.segBack.mas_bottom).offset(35*IPhone6ScaleHeight); make.top.equalTo(self.segBack.mas_bottom).offset(25*IPhone6ScaleHeight);
make.size.mas_equalTo(CGSizeMake(22, 22)); make.size.mas_equalTo(CGSizeMake(22, 22));
}]; }];
...@@ -496,6 +541,12 @@ ...@@ -496,6 +541,12 @@
} }
- (void)replayVideo:(UIButton *)sender{
[self.playerView seekToTime:0 completionHandler:^(BOOL finished) {
sender.hidden = YES;
}];
[self.playerView.currentPlayerManager play];
}
- (void)controlWithItem:(UIButton *)sender{ - (void)controlWithItem:(UIButton *)sender{
if (self.delegate && [self.delegate respondsToSelector:@selector(deviceSmartControlWithTag:)]) { if (self.delegate && [self.delegate respondsToSelector:@selector(deviceSmartControlWithTag:)]) {
[self.delegate deviceSmartControlWithTag:sender.tag]; [self.delegate deviceSmartControlWithTag:sender.tag];
...@@ -589,6 +640,12 @@ ...@@ -589,6 +640,12 @@
_videoModel = videoModel; _videoModel = videoModel;
_currentVideoList = videoModel.careVideoList; _currentVideoList = videoModel.careVideoList;
DXHFXVideoDetailsModel *currM; DXHFXVideoDetailsModel *currM;
// 启动时配置分片大小(建议256KB)
[KTVHTTPCache cacheSetMaxCacheLength:1024 * 1024 * 1024];
[KTVHTTPCache logSetConsoleLogEnable:YES]; // 控制台输出
// 增加网络超时时间(单位秒)
[KTVHTTPCache downloadSetTimeoutInterval:20];
if(_currentVideoList.count > 0){ if(_currentVideoList.count > 0){
NSURL *proxyURL; NSURL *proxyURL;
if ([self.selectedModel.class_type intValue] == 17) { if ([self.selectedModel.class_type intValue] == 17) {
...@@ -612,9 +669,18 @@ ...@@ -612,9 +669,18 @@
self.playerView.assetURL = proxyURL; self.playerView.assetURL = proxyURL;
HJSelfWeak; HJSelfWeak;
self.playerView.playerDidToEnd = ^(id _Nonnull asset) { self.playerView.playerDidToEnd = ^(id _Nonnull asset) {
weakSelf.playerView.assetURL = proxyURL; weakSelf.replayBtn.hidden = NO;
[weakSelf.playerView.currentPlayerManager pause];
// weakSelf.playerView.assetURL = proxyURL;
}; };
self.playerView.playerPlayFailed = ^(id<ZFPlayerMediaPlayback> _Nonnull asset, id _Nonnull error) {
if ([((NSError *)error).domain isEqualToString:NSURLErrorDomain]) {
[KTVHTTPCache cacheDeleteCacheWithURL:asset.assetURL]; // 删除问题分片缓存
}
};
// if(_currentVideoList.count < 2){ // if(_currentVideoList.count < 2){
// _allfaceBtn.hidden = YES; // _allfaceBtn.hidden = YES;
...@@ -640,12 +706,104 @@ ...@@ -640,12 +706,104 @@
} }
weakSelf.progressBarView.playTime = currentTime; weakSelf.progressBarView.playTime = currentTime;
[weakSelf checkNodeSelectionForCurrentTime:currentTime];
// [weakSelf updateSelectedButtonForCurrentTime:currentTime];
}; };
} }
} }
// 新增方法:根据当前播放时间更新选中的按钮
// 新增方法:检查节点选择
- (void)checkNodeSelectionForCurrentTime:(NSTimeInterval)currentTime {
// 1. 检查是否需要更新(每0.5秒或接近节点时)
if (fabs(currentTime - self.lastNodeTime) < 0.5 && self.currentSelectedIndex != -1) {
return;
}
// 2. 查找当前应该选中的节点索引
NSInteger newIndex = [self findNodeIndexForTime:currentTime];
// 3. 如果节点没有变化,直接返回
if (newIndex == self.currentSelectedIndex) {
return;
}
// 4. 更新节点状态
[self updateNodeSelectionToIndex:newIndex];
// 5. 更新记录
self.currentSelectedIndex = newIndex;
self.lastNodeTime = currentTime;
}
// 新增方法:查找当前时间对应的节点索引
- (NSInteger)findNodeIndexForTime:(NSTimeInterval)currentTime {
for (NSInteger i = 0; i < self.timesBtnArray.count; i++) {
UIButton *button = self.timesBtnArray[i];
NSInteger nodeTime = button.tag - 96110;
// 如果是最后一个节点
if (i == self.timesBtnArray.count - 1) {
if (currentTime >= nodeTime) {
return i;
}
}
// 其他节点
else {
UIButton *nextButton = self.timesBtnArray[i + 1];
NSInteger nextNodeTime = nextButton.tag - 96110;
if (currentTime >= nodeTime && currentTime < nextNodeTime) {
return i;
}
}
}
return -1; // 未找到匹配节点
}
// 新增方法:更新节点选择状态
- (void)updateNodeSelectionToIndex:(NSInteger)newIndex {
// 1. 重置所有按钮状态
for (UIButton *button in self.timesBtnArray) {
button.selected = NO;
UIButton *stepBtn = [button viewWithTag:108];
stepBtn.selected = NO;
}
// 2. 如果找到有效节点,设置选中状态
if (newIndex >= 0 && newIndex < self.timesBtnArray.count) {
UIButton *selectedButton = self.timesBtnArray[newIndex];
selectedButton.selected = YES;
UIButton *stepBtn = [selectedButton viewWithTag:108];
stepBtn.selected = YES;
if (self.delegate && [self.delegate respondsToSelector:@selector(changeVideoProgressWithHandelType:)]) {
NSInteger handel;
if ([selectedButton.titleLabel.text containsString:@"20M"]) {
handel = 20;
}else{
handel = 3;
}
[self.delegate changeVideoProgressWithHandelType:handel];
}
// 3. 自动滚动到可见区域
[self scrollToMakeButtonVisible:selectedButton];
}
}
// 新增方法:滚动使按钮可见
- (void)scrollToMakeButtonVisible:(UIButton *)button {
CGRect buttonFrame = [button.superview convertRect:button.frame toView:self.timeScrollView];
CGFloat visibleX = buttonFrame.origin.x - (self.timeScrollView.frame.size.width - buttonFrame.size.width) / 2;
visibleX = MAX(0, MIN(visibleX, self.timeScrollView.contentSize.width - self.timeScrollView.frame.size.width));
[UIView animateWithDuration:0.3 animations:^{
[self.timeScrollView setContentOffset:CGPointMake(visibleX, 0)];
}];
}
- (NSMutableArray *)setTimeLineWithString:(NSString *)describeInfo{ - (NSMutableArray *)setTimeLineWithString:(NSString *)describeInfo{
self.timesBtnArray = [NSMutableArray array]; self.timesBtnArray = [NSMutableArray array];
......
...@@ -232,7 +232,9 @@ static NSString *dxmachineCell = @"DXDeviceListCell"; ...@@ -232,7 +232,9 @@ static NSString *dxmachineCell = @"DXDeviceListCell";
NSArray *arr = @[ NSArray *arr = @[
@{@"DeviceType":@"Dr.水滴高光仪 2.0", @{@"DeviceType":@"Dr.水滴高光仪 2.0",
@"DeviceCode":@"Dr-02-D", @"DeviceCode":@"Dr-02-D",
// @"DeviceCode":@"Dr-04",
@"DeviceId":@"Dr-02-D", @"DeviceId":@"Dr-02-D",
// @"DeviceId":@"Dr-04",
@"imgName":@"dr_02_d_icon", @"imgName":@"dr_02_d_icon",
@"tag":@(DR02DBtnTag) @"tag":@(DR02DBtnTag)
}, },
......
...@@ -85,6 +85,7 @@ ...@@ -85,6 +85,7 @@
-(NSArray *)programArr{ -(NSArray *)programArr{
if (_programArr == nil) { if (_programArr == nil) {
//0/3/4/5/7 //0/3/4/5/7
// _programArr = @[ // _programArr = @[
// @[@{@"totaltimes":@720,@"10MTimes":@3,@"10MEnergy":@7,@"10MTakt":@15,@"3MTimes":@3,@"3MEnergy":@3,@"3MTakt":@15}], // @[@{@"totaltimes":@720,@"10MTimes":@3,@"10MEnergy":@7,@"10MTakt":@15,@"3MTimes":@3,@"3MEnergy":@3,@"3MTakt":@15}],
// @[@{@"totaltimes":@1440,@"10MTimes":@3,@"10MEnergy":@7,@"10MTakt":@20,@"3MTimes":@3,@"3MEnergy":@3,@"3MTakt":@15}], // @[@{@"totaltimes":@1440,@"10MTimes":@3,@"10MEnergy":@7,@"10MTakt":@20,@"3MTimes":@3,@"3MEnergy":@3,@"3MTakt":@15}],
...@@ -105,21 +106,40 @@ ...@@ -105,21 +106,40 @@
// @[@{@"totaltimes":@1080,@"10MTimes":@3,@"10MEnergy":@7,@"10MTakt":@5,@"3MTimes":@3,@"3MEnergy":@3,@"3MTakt":@3}],// 褪红舒敏 // @[@{@"totaltimes":@1080,@"10MTimes":@3,@"10MEnergy":@7,@"10MTakt":@5,@"3MTimes":@3,@"3MEnergy":@3,@"3MTakt":@3}],// 褪红舒敏
// //
// @[@{@"totaltimes":@1080,@"10MTimes":@3,@"10MEnergy":@7,@"10MTakt":@10,@"3MTimes":@3,@"3MEnergy":@3,@"3MTakt":@8}]// 嫩滑提亮 // @[@{@"totaltimes":@1080,@"10MTimes":@3,@"10MEnergy":@7,@"10MTakt":@10,@"3MTimes":@3,@"3MEnergy":@3,@"3MTakt":@8}]// 嫩滑提亮
_programArr = @[
@[@{@"totaltimes":@720,@"10MTimes":@3,@"10MEnergy":@7,@"10MTakt":@10,@"3MTimes":@3,@"3MEnergy":@3,@"3MTakt":@0}],//眼部护理 if(TargetType == 4){
_programArr = @[
@[@{@"totaltimes":@1080,@"10MTimes":@3,@"10MEnergy":@7,@"10MTakt":@15,@"3MTimes":@3,@"3MEnergy":@3,@"3MTakt":@15}],//轮廓清晰 @[@{@"totaltimes":@720,@"10MTimes":@3,@"10MEnergy":@7,@"10MTakt":@10,@"3MTimes":@3,@"3MEnergy":@3,@"3MTakt":@0}],//眼部护理
@[@{@"totaltimes":@1080,@"10MTimes":@3,@"10MEnergy":@7,@"10MTakt":@10,@"3MTimes":@3,@"3MEnergy":@3,@"3MTakt":@10}],//面部饱满
@[@{@"totaltimes":@1080,@"10MTimes":@3,@"10MEnergy":@7,@"10MTakt":@5,@"3MTimes":@3,@"3MEnergy":@3,@"3MTakt":@5}],// 褪红舒敏 @[@{@"totaltimes":@1080,@"10MTimes":@3,@"10MEnergy":@7,@"10MTakt":@15,@"3MTimes":@3,@"3MEnergy":@3,@"3MTakt":@15}],//轮廓清晰
@[@{@"totaltimes":@1080,@"10MTimes":@3,@"10MEnergy":@7,@"10MTakt":@10,@"3MTimes":@3,@"3MEnergy":@3,@"3MTakt":@10}],//面部饱满
@[@{@"totaltimes":@1080,@"10MTimes":@3,@"10MEnergy":@7,@"10MTakt":@15,@"3MTimes":@3,@"3MEnergy":@3,@"3MTakt":@15}],// 嫩滑提亮 @[@{@"totaltimes":@1080,@"10MTimes":@3,@"10MEnergy":@7,@"10MTakt":@5,@"3MTimes":@3,@"3MEnergy":@3,@"3MTakt":@5}],// 褪红舒敏
@[@{@"totaltimes":@1080,@"10MTimes":@3,@"10MEnergy":@7,@"10MTakt":@15,@"3MTimes":@3,@"3MEnergy":@3,@"3MTakt":@15}],// 嫩滑提亮
@[@{@"totaltimes":@1200,@"10MTimes":@3,@"10MEnergy":@7,@"10MTakt":@10,@"3MTimes":@3,@"3MEnergy":@3,@"3MTakt":@10}],// 关节淡化
@[@{@"totaltimes":@1800,@"10MTimes":@3,@"10MEnergy":@7,@"10MTakt":@15,@"3MTimes":@3,@"3MEnergy":@3,@"3MTakt":@15}],// 身体塑形
@[@{@"totaltimes":@1800,@"10MTimes":@3,@"10MEnergy":@7,@"10MTakt":@15,@"3MTimes":@3,@"3MEnergy":@3,@"3MTakt":@15}]// 身体淡纹 @[@{@"totaltimes":@1200,@"10MTimes":@3,@"10MEnergy":@7,@"10MTakt":@10,@"3MTimes":@3,@"3MEnergy":@3,@"3MTakt":@10}],// 关节淡化
@[@{@"totaltimes":@1800,@"10MTimes":@3,@"10MEnergy":@7,@"10MTakt":@15,@"3MTimes":@3,@"3MEnergy":@3,@"3MTakt":@15}],// 身体塑形
]; @[@{@"totaltimes":@1800,@"10MTimes":@3,@"10MEnergy":@7,@"10MTakt":@15,@"3MTimes":@3,@"3MEnergy":@3,@"3MTakt":@15}]// 身体淡纹
];
}else{
_programArr = @[
@[@{@"totaltimes":@720,@"10MTimes":@3,@"10MEnergy":@7,@"10MTakt":@15,@"3MTimes":@3,@"3MEnergy":@3,@"3MTakt":@15}],
@[@{@"totaltimes":@1440,@"10MTimes":@3,@"10MEnergy":@7,@"10MTakt":@20,@"3MTimes":@3,@"3MEnergy":@3,@"3MTakt":@15}],
@[@{@"totaltimes":@1080,@"10MTimes":@3,@"10MEnergy":@7,@"10MTakt":@20,@"3MTimes":@3,@"3MEnergy":@3,@"3MTakt":@15}],
@[@{@"totaltimes":@1080,@"10MTimes":@3,@"10MEnergy":@7,@"10MTakt":@20,@"3MTimes":@3,@"3MEnergy":@3,@"3MTakt":@15}],
@[@{@"totaltimes":@1080,@"10MTimes":@3,@"10MEnergy":@7,@"10MTakt":@15,@"3MTimes":@3,@"3MEnergy":@3,@"3MTakt":@15}],
@[@{@"totaltimes":@1080,@"10MTimes":@3,@"10MEnergy":@7,@"10MTakt":@5,@"3MTimes":@3,@"3MEnergy":@3,@"3MTakt":@3}],
@[@{@"totaltimes":@1080,@"10MTimes":@3,@"10MEnergy":@7,@"10MTakt":@20,@"3MTimes":@3,@"3MEnergy":@3,@"3MTakt":@15}],
@[@{@"totaltimes":@1080,@"10MTimes":@3,@"10MEnergy":@7,@"10MTakt":@10,@"3MTimes":@3,@"3MEnergy":@3,@"3MTakt":@8}],
@[@{@"totaltimes":@1080,@"10MTimes":@3,@"10MEnergy":@7,@"10MTakt":@5,@"3MTimes":@3,@"3MEnergy":@3,@"3MTakt":@5}],
@[@{@"totaltimes":@1440,@"10MTimes":@3,@"10MEnergy":@7,@"10MTakt":@5,@"3MTimes":@3,@"3MEnergy":@3,@"3MTakt":@5}]
];
}
} }
return _programArr; return _programArr;
} }
......
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