Commit 2ceb1e20 by 刘卓鑫

3.9.21

parent f2620095
......@@ -5940,7 +5940,7 @@
CODE_SIGN_IDENTITY = "iPhone Developer";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 1.0;
CURRENT_PROJECT_VERSION = 1.2;
DEVELOPMENT_TEAM = L3ZJL84KK4;
ENABLE_BITCODE = NO;
FRAMEWORK_SEARCH_PATHS = (
......@@ -6184,7 +6184,7 @@
CODE_SIGN_IDENTITY = "iPhone Developer";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 1.0;
CURRENT_PROJECT_VERSION = 1.2;
DEVELOPMENT_TEAM = L3ZJL84KK4;
ENABLE_BITCODE = NO;
FRAMEWORK_SEARCH_PATHS = (
......@@ -6292,7 +6292,7 @@
CODE_SIGN_IDENTITY = "iPhone Developer";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 1.0;
CURRENT_PROJECT_VERSION = 1.2;
DEVELOPMENT_TEAM = L3ZJL84KK4;
ENABLE_BITCODE = NO;
FRAMEWORK_SEARCH_PATHS = (
......
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "1030"
LastUpgradeVersion = "1120"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
......@@ -27,15 +27,6 @@
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES">
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "9142D2B61F35C84E004F90CF"
BuildableName = "&#x591a;&#x5f69;&#x6821;&#x56ed;.app"
BlueprintName = "ColorfulSchool"
ReferencedContainer = "container:ColorfulSchool.xcodeproj">
</BuildableReference>
</MacroExpansion>
<Testables>
<TestableReference
skipped = "NO">
......@@ -79,16 +70,9 @@
ReferencedContainer = "container:ColorfulSchool.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
<EnvironmentVariables>
<EnvironmentVariable
key = "DYLD_PRINT_STATISTICS"
value = "1"
isEnabled = "YES">
</EnvironmentVariable>
</EnvironmentVariables>
</LaunchAction>
<ProfileAction
buildConfiguration = "Debug"
buildConfiguration = "Release"
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
......@@ -108,7 +92,7 @@
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Debug"
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>SchemeUserState</key>
<dict>
<key>ColorfulSchool.xcscheme_^#shared#^_</key>
<dict>
<key>orderHint</key>
<integer>25</integer>
</dict>
</dict>
<key>SuppressBuildableAutocreation</key>
<dict>
<key>9142D2B61F35C84E004F90CF</key>
<dict>
<key>primary</key>
<true/>
</dict>
<key>9142D2D21F35C84E004F90CF</key>
<dict>
<key>primary</key>
<true/>
</dict>
<key>9142D2DD1F35C84E004F90CF</key>
<dict>
<key>primary</key>
<true/>
</dict>
</dict>
</dict>
</plist>
<?xml version="1.0" encoding="UTF-8"?>
<Bucket
uuid = "24E7D5E1-10A3-487A-966B-1C35513A0621"
uuid = "0B73904D-2C2A-44A2-88D3-64B4C86B59B2"
type = "0"
version = "2.0">
<Breakpoints>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.ExceptionBreakpoint">
<BreakpointContent
uuid = "96557369-655F-42BF-AE49-2D82094721D9"
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
scope = "1"
stopOnStyle = "0">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
uuid = "DF65BB8E-2F5D-4744-AB64-5AD00E61C4DC"
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "ColorfulSchool/Classes/Tool(&#x5de5;&#x5177;)/ZXTool.m"
timestampString = "588735277.853282"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "1765"
endingLineNumber = "1765"
landmarkName = "+alimamaTest"
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
uuid = "D8554AAF-B489-498B-BDE9-957DEC5B5AEC"
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "ColorfulSchool/Classes/JTJY(&#x91d1;&#x56fe;&#x6559;&#x80b2;)/ZXJTJYViewController.m"
timestampString = "583656856.343848"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "124"
endingLineNumber = "124"
landmarkName = "-webView:didFailNavigation:withError:"
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
uuid = "0C19F851-04D3-4B2C-8FCA-6D2C5E1F33BE"
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "ColorfulSchool/Classes/NewFirstPage(&#x65b0;&#x7248;&#x9996;&#x9875;)/Controllers/ZTHomeViewController+Extension.m"
timestampString = "585484152.378459"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "346"
endingLineNumber = "346"
landmarkName = "-firstPageJumpActionWithInfo:"
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
uuid = "116887C0-B195-4AA1-9707-E0029E6AF773"
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "ColorfulSchool/Classes/Operation(&#x81ea;&#x52a9;&#x670d;&#x52a1;)/appointmentBath(&#x9884;&#x7ea6;&#x6d17;&#x6d74;)/ViewModel/ZXAppointBathService.m"
timestampString = "585499296.668223"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "225"
endingLineNumber = "225"
landmarkName = "+dealAccountActionWithOperationMode:isBlueBath:completed:"
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
uuid = "9BC4255C-5C8C-4ADE-9BB1-56E66E838941"
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "ColorfulSchool/Classes/AD(&#x5e7f;&#x544a;)/BUAD/BUFeedAdTool.m"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "47"
endingLineNumber = "47"
landmarkName = "-nativeExpressAdSuccessToLoad:views:"
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
uuid = "0F293ACA-BB64-4E6B-B05A-1163F9E7F33A"
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "ColorfulSchool/Classes/AD(&#x5e7f;&#x544a;)/BUAD/BUFeedAdTool.m"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "64"
endingLineNumber = "64"
landmarkName = "-nativeExpressAdFailToLoad:error:"
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
uuid = "DEFB91B0-9D12-4340-952B-5FE7B042A68B"
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "ColorfulSchool/Classes/AD(&#x5e7f;&#x544a;)/BUAD/BUFeedAdTool.m"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "68"
endingLineNumber = "68"
landmarkName = "-nativeExpressAdViewRenderSuccess:"
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
uuid = "2A7A6740-F17E-499E-BF20-84C849668658"
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "ColorfulSchool/Classes/AD(&#x5e7f;&#x544a;)/BUAD/BUFeedAdTool.m"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "72"
endingLineNumber = "72"
landmarkName = "-nativeExpressAdViewRenderFail:error:"
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
uuid = "D8BB8D1D-0E05-40C9-A67E-E323CE285FD0"
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "ColorfulSchool/Classes/AD(&#x5e7f;&#x544a;)/BUAD/BUFeedAdTool.m"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "83"
endingLineNumber = "83"
landmarkName = "-nativeExpressAdViewPlayerDidPlayFinish:error:"
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
uuid = "3FD395D2-670B-4E4F-AA9A-0780FD50C122"
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "ColorfulSchool/Classes/AD(&#x5e7f;&#x544a;)/BUAD/BUFeedAdTool.m"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "96"
endingLineNumber = "96"
landmarkName = "-nativeExpressAdViewWillPresentScreen:"
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
uuid = "2E09A9A5-52F0-4870-B38B-498E9087A14E"
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "ColorfulSchool/Classes/AD(&#x5e7f;&#x544a;)/BUAD/BUFeedAdTool.m"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "92"
endingLineNumber = "92"
landmarkName = "-nativeExpressAdViewDidClosed:"
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
uuid = "1251B703-02EC-4C84-A268-D7DF118F5CB7"
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "ColorfulSchool/Classes/AD(&#x5e7f;&#x544a;)/BUAD/BUFeedAdTool.m"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "88"
endingLineNumber = "88"
landmarkName = "-nativeExpressAdView:dislikeWithReason:"
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
uuid = "0A7D3430-7217-4E08-B7DC-4626B44F2664"
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "ColorfulSchool/Classes/AD(&#x5e7f;&#x544a;)/TXAD/ZXTXAdTool.m"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "406"
endingLineNumber = "406"
landmarkName = "-bannerViewDidReceived"
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
uuid = "F84AD992-EAED-47FA-B0D4-07363F6B13DB"
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "ColorfulSchool/Classes/AD(&#x5e7f;&#x544a;)/TXAD/ZXTXAdTool.m"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "414"
endingLineNumber = "414"
landmarkName = "-bannerViewFailToReceived:"
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
uuid = "563A9C16-0067-4D1E-91AF-277F1A8EA5E0"
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "ColorfulSchool/Classes/AD(&#x5e7f;&#x544a;)/TXAD/ZXTXAdTool.m"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "422"
endingLineNumber = "422"
landmarkName = "-bannerViewClicked"
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
uuid = "3D1B1127-ACF4-4305-B698-03D2CB7CFBD4"
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "ColorfulSchool/Classes/AD(&#x5e7f;&#x544a;)/TXAD/ZXTXAdTool.m"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "431"
endingLineNumber = "431"
landmarkName = "-bannerViewWillLeaveApplication"
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
uuid = "C2314746-4AB3-4CF6-8EB6-6DD985C87B15"
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "ColorfulSchool/Classes/AD(&#x5e7f;&#x544a;)/TXAD/ZXTXAdTool.m"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "437"
endingLineNumber = "437"
landmarkName = "-bannerViewDidDismissFullScreenModal"
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
uuid = "36BDB56D-ED16-4DB0-BE3E-8B77B786F9DE"
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "ColorfulSchool/Classes/AD(&#x5e7f;&#x544a;)/TXAD/ZXTXAdTool.m"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "442"
endingLineNumber = "442"
landmarkName = "-bannerViewWillDismissFullScreenModal"
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
uuid = "D5FCC011-9DFE-4511-B027-AAB23B39033F"
uuid = "36CFEDDB-7E88-440D-B5F6-D0CB311424F4"
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "ColorfulSchool/Classes/Task(&#x4efb;&#x52a1;)/ZXTaskViewController.m"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "680"
endingLineNumber = "680"
landmarkName = "-nativeExpresInterstitialAd:didFailWithError:"
startingLineNumber = "897"
endingLineNumber = "897"
landmarkName = "-nativeExpressBannerAdView:didLoadFailWithError:"
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
uuid = "E013E7EC-29D4-482B-A00B-F89F391CD721"
uuid = "048BB16C-6B00-4742-9AE4-F9E893AD5D72"
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "ColorfulSchool/Classes/Task(&#x4efb;&#x52a1;)/ZXTaskViewController.m"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "987"
endingLineNumber = "987"
landmarkName = "-unifiedBannerViewFailedToLoad:error:"
startingLineNumber = "915"
endingLineNumber = "915"
landmarkName = "-nativeExpressBannerAdViewRenderFail:error:"
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
uuid = "2D76FD5E-696A-4E6A-840B-F6069BB08076"
uuid = "B7FD2D27-E0AA-44DB-B7D3-DDA090EDA1DF"
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "ColorfulSchool/Classes/Task(&#x4efb;&#x52a1;)/ZXTaskViewController.m"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "1052"
endingLineNumber = "1052"
landmarkName = "-unifiedBannerViewWillClose:"
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
uuid = "C7374EBB-D398-4EC0-8F50-27A7464896D8"
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "ColorfulSchool/Classes/Task(&#x4efb;&#x52a1;)/ZXTaskViewController.m"
filePath = "ColorfulSchool/Classes/Tool(&#x5de5;&#x5177;)/ZXTool.m"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "1044"
endingLineNumber = "1044"
landmarkName = "-unifiedBannerViewDidPresentFullScreenModal:"
startingLineNumber = "127"
endingLineNumber = "127"
landmarkName = "+showCustomMsg:"
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
uuid = "346BF296-1828-4D9D-89E7-3BB3C8F31306"
uuid = "4FA80077-F8DB-4F6C-BFF3-A517F50085C1"
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "ColorfulSchool/Classes/Task(&#x4efb;&#x52a1;)/ZXTaskViewController.m"
filePath = "ColorfulSchool/Classes/Tool(&#x5de5;&#x5177;)/ZXTool.m"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "1003"
endingLineNumber = "1003"
landmarkName = "-unifiedBannerViewClicked:"
startingLineNumber = "848"
endingLineNumber = "848"
landmarkName = "+requestDataWithType:url:para:completed:"
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>
......
......@@ -73,7 +73,7 @@
_isPlaying = NO;
//启动环境
[APIManager sharedAPIManager].lauchEnvironment = ZXColorfulSchoolEnvironmentTest;
[APIManager sharedAPIManager].lauchEnvironment = ZXColorfulSchoolEnvironmentProduct;
//极光推送
[self initPushWithOptions:launchOptions isProduct:YES];
......@@ -99,7 +99,7 @@
// [kAppWindow addSubview:fps];
//默认配置
[self defaultLauchConfigAndIsOpenPreventCrashManager:NO];
[self defaultLauchConfigAndIsOpenPreventCrashManager:YES];
//防止蓝牙洗浴后台运行被系统中断
......
//
//
......@@ -147,8 +147,8 @@ kSINGLETON_FOR_CLASS(APIManager)
[userDefaults setObject:@"8005" forKey:@"DCWashSocketPort"];
[userDefaults setObject:@"other-tcp-mobile.dcrym.com" forKey:@"DCWashSocketUrl"];
[userDefaults setObject:@"http://product-task-appserv.168cad.top" forKey:@"Task"];
[userDefaults setObject:@"http://ex-dev-dcxy-static.168cad.top" forKey:@"TaskH5"];
[userDefaults setObject:@"http://task-appserv.dcrym.com" forKey:@"Task"];
[userDefaults setObject:@"http://dcxy-static.dcrym.com" forKey:@"TaskH5"];
[userDefaults synchronize];
break;
}
......
//
//
......@@ -496,14 +496,18 @@
}
}
#pragma mark - 淘宝
#pragma mark - 淘宝/小程序等跳转 - - - - -
- (void) taobaoWithDic:(NSDictionary *) dic {
if ([dic[@"type"] isEqualToString:@"taobao"]) {
NSString *item_id = dic[@"item_id"];
NSString *jumpUrl = dic[@"jump_url"];
NSString *code = dic[@"pwd"];
if (code) {
NSInteger hasCoupon = 0;
if (dic[@"hasCoupon"] && ([dic[@"hasCoupon"] integerValue] == 1)) {
hasCoupon = 1;
}
if (code && ![code isKindOfClass:[NSNull class]] && ![code isEqualToString:@""]) {
UIPasteboard *pasteboard = [UIPasteboard generalPasteboard];
pasteboard.string = code;
dispatch_async(dispatch_get_main_queue(), ^{
......@@ -526,33 +530,52 @@
return;
}
NSString *url = [NSString stringWithFormat:@"%@/alimama/tbk/dg/material/optional/forItemId?pageNo=1&q=%@&deviceType=IMEI&deviceValue=02399123192391293123&cat=hot&itemId=%@&hasCoupon=0", [kUserDefaults objectForKey:@"HomePage"], dic[@"title"], item_id];
NSString *url = [NSString stringWithFormat:@"%@/alimama/tbk/dg/material/optional/forItemId?pageNo=1&q=%@&deviceType=IMEI&deviceValue=02399123192391293123&cat=hot&itemId=%@&hasCoupon=%ld", [kUserDefaults objectForKey:@"HomePage"], dic[@"title"], item_id, hasCoupon];
[[ZXAdViewService sharedManager] GET:[url stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding] parameters:nil success:^(NSURLSessionDataTask * _Nonnull task, id _Nonnull responseObject) {
id res = responseObject[@"data"];
if (res) {
if (res[@"couponShareUrl"]) {
if (res[@"couponShareUrl"] && ![res[@"couponShareUrl"] isKindOfClass:[NSNull class]] && ![res[@"couponShareUrl"] isEqualToString:@""]) {
[self jumpTaobaoWithItem:res[@"couponShareUrl"]];
} else {
if (res[@"url"]) {
if (res[@"url"] && ![res[@"url"] isKindOfClass:[NSNull class]] && ![res[@"url"] isEqualToString:@""]) {
[self jumpTaobaoWithItem:res[@"url"]];
} else {
[ZXTool showText:@"活动已下架,请关注后续活动!"];
dispatch_async(dispatch_get_main_queue(), ^{
if (jumpUrl) {
ZXBannerJumpViewController *jumpVc = [[ZXBannerJumpViewController alloc] init];
jumpVc.jumpUrl = jumpUrl;
jumpVc.hidesBottomBarWhenPushed = YES;
[self.navigationController pushViewController:jumpVc animated:YES];
} else {
[ZXTool showText:@"活动已下架,请关注后续活动!"];
}
});
}
}
} else {
dispatch_async(dispatch_get_main_queue(), ^{
if (jumpUrl) {
ZXBannerJumpViewController *jumpVc = [[ZXBannerJumpViewController alloc] init];
jumpVc.jumpUrl = jumpUrl;
jumpVc.hidesBottomBarWhenPushed = YES;
[self.navigationController pushViewController:jumpVc animated:YES];
} else {
[ZXTool showText:@"活动已下架,请关注后续活动!"];
}
});
if ([responseObject[@"code"] integerValue] == -2) {
dispatch_async(dispatch_get_main_queue(), ^{
[ZXTool hideLoadingAnimation];
[ZXTool showText:responseObject[@"msg"]];
[ZXTool backToLogin];
});
} else {
dispatch_async(dispatch_get_main_queue(), ^{
if (jumpUrl) {
ZXBannerJumpViewController *jumpVc = [[ZXBannerJumpViewController alloc] init];
jumpVc.jumpUrl = jumpUrl;
jumpVc.hidesBottomBarWhenPushed = YES;
[self.navigationController pushViewController:jumpVc animated:YES];
} else {
[ZXTool showText:@"活动已下架,请关注后续活动!"];
}
});
}
}
} failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
dispatch_async(dispatch_get_main_queue(), ^{
if (jumpUrl) {
ZXBannerJumpViewController *jumpVc = [[ZXBannerJumpViewController alloc] init];
......@@ -560,7 +583,7 @@
jumpVc.hidesBottomBarWhenPushed = YES;
[self.navigationController pushViewController:jumpVc animated:YES];
} else {
[ZXTool showText:@"活动已下架,请关注后续活动!"];
[ZXTool showText:error.description];
}
});
}];
......
//
//
......@@ -15,6 +15,8 @@ NS_ASSUME_NONNULL_BEGIN
/* */
@property (nonatomic, copy) dispatch_block_t jumpToMall;
- (void) tashShow;
@end
NS_ASSUME_NONNULL_END
//
//
......@@ -62,6 +62,8 @@
/** */
@property (nonatomic, strong) UIImagePickerController *imagePickerController;
/** 是否已经显示过任务弹窗 */
@property (nonatomic, assign) BOOL isShowTaskDialog;
@end
......@@ -109,19 +111,22 @@
if ([[kUserDefaults objectForKey:@"kAPP_IS_OPENB_TASK"] isEqualToString:@"yes"]) {
//查看任务相关内容
@weakify(self);
[ZXTool requestDataHideLoadingToastWithType:kXMHTTPMethodPOST url:[NSString stringWithFormat:@"%@/dcxy/api/tasks/homePage", [kUserDefaults objectForKey:@"Task"]] para:nil completed:^(CommonModel *common, NSString *error) {
@strongify(self);
if ([common.data boolValue]) {
dispatch_async(dispatch_get_main_queue(), ^{
[ZXTool hideLoadingAnimation];
[self showTaskDialog];
});
}
}];
[self tashShow];
}
}
- (void) tashShow {
@weakify(self);
[ZXTool requestDataHideLoadingToastWithType:kXMHTTPMethodPOST url:[NSString stringWithFormat:@"%@/dcxy/api/tasks/homePage", [kUserDefaults objectForKey:@"Task"]] para:nil completed:^(CommonModel *common, NSString *error) {
@strongify(self);
if ([common.data boolValue]) {
dispatch_async(dispatch_get_main_queue(), ^{
[ZXTool hideLoadingAnimation];
[self showTaskDialog];
});
}
}];
}
- (void)viewWillLayoutSubviews {
[super viewWillLayoutSubviews];
self.tabBarController.tabBar.hidden = NO;
......@@ -186,6 +191,10 @@
}
#pragma mark - 显示领券弹窗
- (void) showTaskDialog {
if (self.isShowTaskDialog) {
return;
}
self.isShowTaskDialog = YES;
UIView *taskBgView = [[UIView alloc] initWithFrame:UIScreen.mainScreen.bounds];
[kAppWindow addSubview:taskBgView];
......@@ -549,7 +558,7 @@
dispatch_async(dispatch_get_main_queue(), ^{
ZXHomePageUpdateAppView *v = [[ZXHomePageUpdateAppView alloc] initWithUpdateModel:version];
v.frame = [UIScreen mainScreen].bounds;
[self.tabBarController.view addSubview:v];
[self.tabBarController.view addSubview:v];
});
}];
}
......
//
//
......@@ -413,7 +413,7 @@
[UIScrollView appearance].contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever; //iOS11 解决SafeArea的问题,同时能解决pop时上级页面scrollView抖动的问题
}
}
- (void)viewWillDisappear:(BOOL)animated {
[super viewWillDisappear:animated];
......
//
//
......@@ -219,9 +219,10 @@
[self.bluetoothManager cutBluetoothAndSocketConnect];
}
} else {
//预约 单独加载预约订单信息
[[NSNotificationCenter defaultCenter] postNotificationName:@"DC_RefreshFirsrPage_Data" object:nil];
if (self.order.orderType == 2) {
//预约 单独加载预约订单信息
[[NSNotificationCenter defaultCenter] postNotificationName:@"DC_RefreshFirsrPage_Data" object:nil];
[ZXTool showText:@"订单预约成功"];
[self backToFirst];
} else {
......
//
//
......@@ -131,9 +131,13 @@
self.isServiceCut = NO;//标记为开始
//直接请求接口
if ([self.delegate respondsToSelector:@selector(startFireInterfaceByStatus:)]) {
self.isOpenDevice = YES;
[self.centralManager stopScan];
[self.delegate startFireInterfaceByStatus:0];
if (self.isOpenDevice == NO) {
[self.delegate startFireInterfaceByStatus:0];
self.isOpenDevice = YES;//标记位开始了 避免重复调用接口
}
}
}
};
......@@ -152,9 +156,15 @@
[SVProgressHUD showWithStatus:@"设备启动中..."];
[self sendDeviceInfoToSocketByTimes:3];
if ([self.delegate respondsToSelector:@selector(startFireInterfaceByStatus:)]) {
self.isOpenDevice = YES;
[self.centralManager stopScan];
[self.delegate startFireInterfaceByStatus:1];
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.5 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
if (self.isOpenDevice == NO) {
[self.delegate startFireInterfaceByStatus:1];
self.isOpenDevice = YES;//标记位开始了 避免重复调用接口
}
});
}
return;
}
......@@ -207,11 +217,15 @@
} else {
//蓝牙+NB
if (self.isOpenDevice == NO && self.isFirstInConnect == NO) {
self.isOpenDevice = YES;
//直接调用接口
if ([self.delegate respondsToSelector:@selector(startFireInterfaceByStatus:)]) {
[self.centralManager stopScan];
[self.delegate startFireInterfaceByStatus:0];
if (self.isOpenDevice == NO) {
[self.delegate startFireInterfaceByStatus:0];
self.isOpenDevice = YES;//标记位开始了 避免重复调用接口
}
}
}
}
......@@ -360,9 +374,15 @@
if (self.isOpenDevice == NO && self.isFirstInConnect == NO) {
//调用接口
if ([self.delegate respondsToSelector:@selector(startFireInterfaceByStatus:)]) {
self.isOpenDevice = YES;//标记为已经开始了
[self.centralManager stopScan];
[self.delegate startFireInterfaceByStatus:1];
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.5 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
if (self.isOpenDevice == NO) {
[self.delegate startFireInterfaceByStatus:1];
self.isOpenDevice = YES;//标记位开始了 避免重复调用接口
}
});
}
}
for (CBCharacteristic *characteristic in service.characteristics) {
......@@ -543,7 +563,15 @@
if (self.currentPeripheralName && (self.selectedPeripheral && self.selectedPeripheral.state == CBPeripheralStateConnected) && self.isOpenDevice == NO && self.isFirstInConnect == NO) {
if ([self.delegate respondsToSelector:@selector(startFireInterfaceByStatus:)]) {
[self.centralManager stopScan];
[self.delegate startFireInterfaceByStatus:1];
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.5 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
if (self.isOpenDevice == NO) {
[self.delegate startFireInterfaceByStatus:1];
self.isOpenDevice = YES;//标记位开始了 避免重复调用接口
}
});
}
}
[self.clientSocket readDataWithTimeout:- 1 tag:0];
......@@ -567,9 +595,13 @@
NSLog(@"=============收到服务器的开启设备指令");
if (self.isOpenDevice == NO && self.isFirstInConnect == NO) {
if ([self.delegate respondsToSelector:@selector(startFireInterfaceByStatus:)]) {
self.isOpenDevice = YES;//标记位开始了 避免重复调用接口
[self.centralManager stopScan];
[self.delegate startFireInterfaceByStatus:2];
if (self.isOpenDevice == NO) {
[self.delegate startFireInterfaceByStatus:2];
self.isOpenDevice = YES;//标记位开始了 避免重复调用接口
}
}
}
} else if ([text containsString:[NSString stringWithFormat:@"[<%@,60", self.currentPeripheralName]]) {
......
//
//
......@@ -287,12 +287,13 @@ static NSString * const ID = @"CollectionCell";
if ([[kUserDefaults objectForKey:kAPP_IS_OPENB_TK] isEqualToString:@"yes"]) {
UIButton *button = [[UIButton alloc] init];
[self.view addSubview:button];
[button setTitle:@"退款" forState:UIControlStateNormal];
button.backgroundColor = [UIColor whiteColor];
button.titleLabel.font = kFontSize(12);
[button setTitleColor:[UIColor colorWithHexString:@"#333333"] forState:UIControlStateNormal];
// [button setTitle:@"退款" forState:UIControlStateNormal];
// button.backgroundColor = [UIColor whiteColor];
// button.titleLabel.font = kFontSize(12);
// [button setTitleColor:[UIColor colorWithHexString:@"#333333"] forState:UIControlStateNormal];
[button setBackgroundImage:[UIImage imageNamed:@"ic_tuikuan"] forState:UIControlStateNormal];
[button mas_makeConstraints:^(MASConstraintMaker *make) {
make.width.mas_equalTo(45 * k6Scale);
make.width.mas_equalTo(37.3 * k6Scale);
make.height.mas_equalTo(20 * k6Scale);
make.left.equalTo(self.aimiLabel.mas_right).offset(10 * k6Scale);
make.centerY.equalTo(self.aimiLabel);
......
//
//
......@@ -499,16 +499,17 @@
[ZXTool hideLoadingAnimation];
if (error == nil) {
//直接弹
[self callBackToH5WithSuccess:YES];
[self callBackToH5WithSuccess:YES promptMsg:common.data[@"promptMsg"]];
}
});
}];
}
#pragma mark - 回调前端已经任务完成
- (void) callBackToH5WithSuccess:(BOOL) isSuccess {
- (void) callBackToH5WithSuccess:(BOOL) isSuccess promptMsg:(NSString *) promptMsg {
//异常情况处理
[self.webView evaluateJavaScript:[NSString stringWithFormat:@"%@('%d', '%@')", self.jsFuncName, isSuccess, [ZXTaskManager sharedZXTaskManager].taskCode] completionHandler:^(id _Nullable res, NSError * _Nullable error) {
[self.webView evaluateJavaScript:[NSString stringWithFormat:@"%@('%d', '%@', '%@')", self.jsFuncName, isSuccess, [ZXTaskManager sharedZXTaskManager].taskCode, promptMsg] completionHandler:^(id _Nullable res, NSError * _Nullable error) {
//清空taskid
ZXTaskManager.sharedZXTaskManager.taskCode = @"";
}];
......@@ -595,7 +596,7 @@
if (self.rewardedAd.isAdValid) {
[self.rewardedAd showAdFromRootViewController:self.navigationController];
[self.reward load];
[self.rewardedAd loadAdData];
}
}
......@@ -606,7 +607,7 @@
- (void)nativeExpressRewardedVideoAd:(BUNativeExpressRewardedVideoAd *)rewardedVideoAd didFailWithError:(NSError *_Nullable)error {
//预加载
[self preloadCSJRewardAd];
[self.rewardedAd loadAdData];
}
- (void)nativeExpressRewardedVideoAdDidDownLoadVideo:(BUNativeExpressRewardedVideoAd *)rewardedVideoAd {
......@@ -619,7 +620,7 @@
- (void)nativeExpressRewardedVideoAdViewRenderFail:(BUNativeExpressRewardedVideoAd *)rewardedVideoAd error:(NSError *_Nullable)error {
//预加载
[self preloadCSJRewardAd];
[self.rewardedAd loadAdData];
}
- (void)nativeExpressRewardedVideoAdWillVisible:(BUNativeExpressRewardedVideoAd *)rewardedVideoAd {
......@@ -630,15 +631,14 @@
}
- (void)nativeExpressRewardedVideoAdWillClose:(BUNativeExpressRewardedVideoAd *)rewardedVideoAd {
//关闭视频
[ZXTaskManager sharedZXTaskManager].isTaskCompleted = 1;
}
- (void)nativeExpressRewardedVideoAdDidClose:(BUNativeExpressRewardedVideoAd *)rewardedVideoAd {
//已经关闭 重新架子啊一个
//预加载
[self preloadCSJRewardAd];
}
- (void)nativeExpressRewardedVideoAdDidClick:(BUNativeExpressRewardedVideoAd *)rewardedVideoAd {
......@@ -718,6 +718,7 @@
- (void) showFullScreenVideo {
if (self.fullscreenAd.isAdValid) {
[self.fullscreenAd showAdFromRootViewController:self.navigationController];
[self.fullscreenAd loadAdData];
}
}
#pragma mark - BUFullscreenVideoAdDelegate
......@@ -728,7 +729,7 @@
- (void)nativeExpressFullscreenVideoAd:(BUNativeExpressFullscreenVideoAd *)fullscreenVideoAd didFailWithError:(NSError *_Nullable)error {
NSLog(@"%s",__func__);
[self.fullscreenAd loadAdData];
}
- (void)nativeExpressFullscreenVideoAdViewRenderSuccess:(BUNativeExpressFullscreenVideoAd *)rewardedVideoAd {
......@@ -769,7 +770,7 @@
- (void)nativeExpressFullscreenVideoAdDidClose:(BUNativeExpressFullscreenVideoAd *)fullscreenVideoAd {
NSLog(@"%s",__func__);
[self.fullscreenAd loadAdData];
}
......@@ -946,7 +947,7 @@
viewController:self];
self.tx_bannerAd.accessibilityIdentifier = @"banner_ad";
self.tx_bannerAd.animated = YES;
self.tx_bannerAd.autoSwitchInterval = 4;
self.tx_bannerAd.autoSwitchInterval = 0;
self.tx_bannerAd.delegate = self;
......
......@@ -2,8 +2,6 @@
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>NSLocationWhenInUseUsageDescription</key>
<string>app需要你开启定位权限</string>
<key>CFBundleDevelopmentRegion</key>
<string>zh_CN</string>
<key>CFBundleDisplayName</key>
......@@ -482,6 +480,8 @@
<string>应用在蓝牙洗浴时需要蓝牙权限</string>
<key>NSCameraUsageDescription</key>
<string>应用在紫宇洗衣、蓝牙洗浴等自助服务扫码时需要访问相机功能</string>
<key>NSLocationWhenInUseUsageDescription</key>
<string>app需要你开启定位权限</string>
<key>NSPhotoLibraryUsageDescription</key>
<string>应用需要访问相册功能</string>
<key>UIAppFonts</key>
......
//
//
......@@ -36,7 +36,8 @@
//设置默认tabBar选项;
}
/** */
@property (nonatomic, strong) ZXHomePageViewController * homeView;
/** 开关集合 */
@property (nonatomic, strong) NSMutableArray *switchs;
/** */
......@@ -115,6 +116,9 @@
}
if ([dic[@"type"] isEqualToString:@"15"] && [dic[@"isEnabled"] integerValue] == 1) {
[kUserDefaults setValue:@"yes" forKey:kAPP_IS_OPENB_TK];//默认是no
dispatch_async(dispatch_get_main_queue(), ^{
[self.homeView tashShow];
});
}
}
......@@ -140,15 +144,15 @@
- (void)setupAllChildViewController
{
//首页
ZXHomePageViewController * homeView = [[ZXHomePageViewController alloc]init];
self.homeView = [[ZXHomePageViewController alloc]init];
@weakify(self);
homeView.jumpToMall = ^{
self.homeView.jumpToMall = ^{
@strongify(self);
//MARK:跳转商城
[self selectPageIndex:5 fromIndex:0];
};
nav =[[XMGNavigationViewController alloc]initWithRootViewController:homeView];
nav =[[XMGNavigationViewController alloc]initWithRootViewController:self.homeView];
//
ZXAliMaMaManagerViewController *aliMaVc = [[ZXAliMaMaManagerViewController alloc] init];
......
{
"images" : [
{
"idiom" : "universal",
"filename" : "ic_tuikuan.png",
"scale" : "1x"
},
{
"idiom" : "universal",
"filename" : "ic_tuikuan@2x.png",
"scale" : "2x"
},
{
"idiom" : "universal",
"filename" : "ic_tuikuan@3x.png",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
\ No newline at end of file
......@@ -8,126 +8,176 @@
<dict>
<key>isShown</key>
<false/>
<key>orderHint</key>
<integer>0</integer>
</dict>
<key>Bugly.xcscheme</key>
<dict>
<key>isShown</key>
<false/>
<key>orderHint</key>
<integer>1</integer>
</dict>
<key>Bytedance-UnionAD.xcscheme</key>
<dict>
<key>isShown</key>
<false/>
<key>orderHint</key>
<integer>2</integer>
</dict>
<key>DTCoreText-Resources.xcscheme</key>
<dict>
<key>isShown</key>
<false/>
<key>orderHint</key>
<integer>4</integer>
</dict>
<key>DTCoreText.xcscheme</key>
<dict>
<key>isShown</key>
<false/>
<key>orderHint</key>
<integer>3</integer>
</dict>
<key>DTFoundation.xcscheme</key>
<dict>
<key>isShown</key>
<false/>
<key>orderHint</key>
<integer>5</integer>
</dict>
<key>FMDB.xcscheme</key>
<dict>
<key>isShown</key>
<false/>
<key>orderHint</key>
<integer>6</integer>
</dict>
<key>HappyDNS.xcscheme</key>
<dict>
<key>isShown</key>
<false/>
<key>orderHint</key>
<integer>7</integer>
</dict>
<key>IQKeyboardManager.xcscheme</key>
<dict>
<key>isShown</key>
<false/>
<key>orderHint</key>
<integer>8</integer>
</dict>
<key>JCore.xcscheme</key>
<dict>
<key>isShown</key>
<false/>
<key>orderHint</key>
<integer>9</integer>
</dict>
<key>JJException.xcscheme</key>
<dict>
<key>isShown</key>
<false/>
<key>orderHint</key>
<integer>10</integer>
</dict>
<key>JPush.xcscheme</key>
<dict>
<key>isShown</key>
<false/>
<key>orderHint</key>
<integer>11</integer>
</dict>
<key>JXCategoryView.xcscheme</key>
<dict>
<key>isShown</key>
<false/>
<key>orderHint</key>
<integer>12</integer>
</dict>
<key>MJExtension.xcscheme</key>
<dict>
<key>isShown</key>
<false/>
<key>orderHint</key>
<integer>14</integer>
</dict>
<key>MJRefresh.xcscheme</key>
<dict>
<key>isShown</key>
<false/>
<key>orderHint</key>
<integer>15</integer>
</dict>
<key>Masonry.xcscheme</key>
<dict>
<key>isShown</key>
<false/>
<key>orderHint</key>
<integer>13</integer>
</dict>
<key>Pods-ColorfulSchool.xcscheme</key>
<dict>
<key>isShown</key>
<false/>
<key>orderHint</key>
<integer>16</integer>
</dict>
<key>Qiniu.xcscheme</key>
<dict>
<key>isShown</key>
<false/>
<key>orderHint</key>
<integer>17</integer>
</dict>
<key>ReactiveCocoa.xcscheme</key>
<dict>
<key>isShown</key>
<false/>
<key>orderHint</key>
<integer>18</integer>
</dict>
<key>SDWebImage.xcscheme</key>
<dict>
<key>isShown</key>
<false/>
<key>orderHint</key>
<integer>19</integer>
</dict>
<key>SVProgressHUD.xcscheme</key>
<dict>
<key>isShown</key>
<false/>
<key>orderHint</key>
<integer>20</integer>
</dict>
<key>UMCAnalytics.xcscheme</key>
<dict>
<key>isShown</key>
<false/>
<key>orderHint</key>
<integer>21</integer>
</dict>
<key>UMCCommon.xcscheme</key>
<dict>
<key>isShown</key>
<false/>
<key>orderHint</key>
<integer>22</integer>
</dict>
<key>UMCCommonLog.xcscheme</key>
<dict>
<key>isShown</key>
<false/>
<key>orderHint</key>
<integer>23</integer>
</dict>
<key>XRCarouselView.xcscheme</key>
<dict>
<key>isShown</key>
<false/>
<key>orderHint</key>
<integer>24</integer>
</dict>
</dict>
<key>SuppressBuildableAutocreation</key>
......
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