chore: Pod更新、AppIcon替换、文件清理及配置调整
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.7
parent
2bcac71a19
commit
f597c63ae0
@@ -11,7 +11,7 @@
|
||||
18F6BBB52E0AA4FC00F8C4A2 /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 18F6BBB42E0AA4FC00F8C4A2 /* Security.framework */; };
|
||||
18F6BBB92E0AA53D00F8C4A2 /* CoreTelephony.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 18F6BBB82E0AA53D00F8C4A2 /* CoreTelephony.framework */; };
|
||||
18F6BBBB2E0AA57F00F8C4A2 /* GLKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 18F6BBBA2E0AA57F00F8C4A2 /* GLKit.framework */; };
|
||||
DC560BA5B22ACA1774C7E09B /* libPods-DoctorXinjiang.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 7CAFC690E14C25C2FF40737B /* libPods-DoctorXinjiang.a */; };
|
||||
47D1EF43FE64AEB378B7D80B /* libPods-DoctorXinjiang.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 2AC2C8DFCE72D4FDEFFA0D22 /* libPods-DoctorXinjiang.a */; };
|
||||
/* End PBXBuildFile section */
|
||||
|
||||
/* Begin PBXContainerItemProxy section */
|
||||
@@ -32,6 +32,7 @@
|
||||
/* End PBXContainerItemProxy section */
|
||||
|
||||
/* Begin PBXFileReference section */
|
||||
0C51BB554CF919A18FB142E9 /* Pods-DoctorXinjiang.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-DoctorXinjiang.debug.xcconfig"; path = "Target Support Files/Pods-DoctorXinjiang/Pods-DoctorXinjiang.debug.xcconfig"; sourceTree = "<group>"; };
|
||||
1883A96F2E0A4AD10055089B /* DoctorXinjiang.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = DoctorXinjiang.app; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
1883A98A2E0A4AD40055089B /* DoctorXinjiangTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = DoctorXinjiangTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
1883A9942E0A4AD40055089B /* DoctorXinjiangUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = DoctorXinjiangUITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
@@ -41,9 +42,8 @@
|
||||
18F6BBB72E0AA51500F8C4A2 /* libz.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libz.tbd; path = usr/lib/libz.tbd; sourceTree = SDKROOT; };
|
||||
18F6BBB82E0AA53D00F8C4A2 /* CoreTelephony.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreTelephony.framework; path = System/Library/Frameworks/CoreTelephony.framework; sourceTree = SDKROOT; };
|
||||
18F6BBBA2E0AA57F00F8C4A2 /* GLKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = GLKit.framework; path = System/Library/Frameworks/GLKit.framework; sourceTree = SDKROOT; };
|
||||
7CAFC690E14C25C2FF40737B /* libPods-DoctorXinjiang.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-DoctorXinjiang.a"; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
89026E00E1DDA04F74446DC0 /* Pods-DoctorXinjiang.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-DoctorXinjiang.release.xcconfig"; path = "Target Support Files/Pods-DoctorXinjiang/Pods-DoctorXinjiang.release.xcconfig"; sourceTree = "<group>"; };
|
||||
97D33B21A85118EF4503CDD0 /* Pods-DoctorXinjiang.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-DoctorXinjiang.debug.xcconfig"; path = "Target Support Files/Pods-DoctorXinjiang/Pods-DoctorXinjiang.debug.xcconfig"; sourceTree = "<group>"; };
|
||||
2AC2C8DFCE72D4FDEFFA0D22 /* libPods-DoctorXinjiang.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-DoctorXinjiang.a"; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
AB6256E214245FBA66E71FC4 /* Pods-DoctorXinjiang.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-DoctorXinjiang.release.xcconfig"; path = "Target Support Files/Pods-DoctorXinjiang/Pods-DoctorXinjiang.release.xcconfig"; sourceTree = "<group>"; };
|
||||
/* End PBXFileReference section */
|
||||
|
||||
/* Begin PBXFileSystemSynchronizedBuildFileExceptionSet section */
|
||||
@@ -85,7 +85,7 @@
|
||||
18F6BBB52E0AA4FC00F8C4A2 /* Security.framework in Frameworks */,
|
||||
18F6BBBB2E0AA57F00F8C4A2 /* GLKit.framework in Frameworks */,
|
||||
18F6BBB92E0AA53D00F8C4A2 /* CoreTelephony.framework in Frameworks */,
|
||||
DC560BA5B22ACA1774C7E09B /* libPods-DoctorXinjiang.a in Frameworks */,
|
||||
47D1EF43FE64AEB378B7D80B /* libPods-DoctorXinjiang.a in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
@@ -137,7 +137,7 @@
|
||||
18F6BBB72E0AA51500F8C4A2 /* libz.tbd */,
|
||||
18F6BBB62E0AA50A00F8C4A2 /* libc++.tbd */,
|
||||
18F6BBB42E0AA4FC00F8C4A2 /* Security.framework */,
|
||||
7CAFC690E14C25C2FF40737B /* libPods-DoctorXinjiang.a */,
|
||||
2AC2C8DFCE72D4FDEFFA0D22 /* libPods-DoctorXinjiang.a */,
|
||||
);
|
||||
name = Frameworks;
|
||||
sourceTree = "<group>";
|
||||
@@ -145,8 +145,8 @@
|
||||
4222692EAAF776967D8AE608 /* Pods */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
97D33B21A85118EF4503CDD0 /* Pods-DoctorXinjiang.debug.xcconfig */,
|
||||
89026E00E1DDA04F74446DC0 /* Pods-DoctorXinjiang.release.xcconfig */,
|
||||
0C51BB554CF919A18FB142E9 /* Pods-DoctorXinjiang.debug.xcconfig */,
|
||||
AB6256E214245FBA66E71FC4 /* Pods-DoctorXinjiang.release.xcconfig */,
|
||||
);
|
||||
path = Pods;
|
||||
sourceTree = "<group>";
|
||||
@@ -158,12 +158,12 @@
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = 1883A99D2E0A4AD40055089B /* Build configuration list for PBXNativeTarget "DoctorXinjiang" */;
|
||||
buildPhases = (
|
||||
ACAA23BB1AA67269CD6F784B /* [CP] Check Pods Manifest.lock */,
|
||||
5D513971A5AEAF177B467A28 /* [CP] Check Pods Manifest.lock */,
|
||||
1883A96B2E0A4AD10055089B /* Sources */,
|
||||
1883A96C2E0A4AD10055089B /* Frameworks */,
|
||||
1883A96D2E0A4AD10055089B /* Resources */,
|
||||
CB8DD4E9BE8895D6A39A5E05 /* [CP] Embed Pods Frameworks */,
|
||||
8D069A0A4EBD8020808E6454 /* [CP] Copy Pods Resources */,
|
||||
D66A00D755FEEBA744E89395 /* [CP] Embed Pods Frameworks */,
|
||||
A2C3C662F5522670CF770A4A /* [CP] Copy Pods Resources */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
@@ -288,26 +288,7 @@
|
||||
/* End PBXResourcesBuildPhase section */
|
||||
|
||||
/* Begin PBXShellScriptBuildPhase section */
|
||||
8D069A0A4EBD8020808E6454 /* [CP] Copy Pods Resources */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
inputFileListPaths = (
|
||||
);
|
||||
inputPaths = (
|
||||
);
|
||||
name = "[CP] Copy Pods Resources";
|
||||
outputFileListPaths = (
|
||||
);
|
||||
outputPaths = (
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
shellPath = /bin/sh;
|
||||
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-DoctorXinjiang/Pods-DoctorXinjiang-resources.sh\"\n";
|
||||
showEnvVarsInLog = 0;
|
||||
};
|
||||
ACAA23BB1AA67269CD6F784B /* [CP] Check Pods Manifest.lock */ = {
|
||||
5D513971A5AEAF177B467A28 /* [CP] Check Pods Manifest.lock */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
@@ -329,7 +310,26 @@
|
||||
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
|
||||
showEnvVarsInLog = 0;
|
||||
};
|
||||
CB8DD4E9BE8895D6A39A5E05 /* [CP] Embed Pods Frameworks */ = {
|
||||
A2C3C662F5522670CF770A4A /* [CP] Copy Pods Resources */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
inputFileListPaths = (
|
||||
);
|
||||
inputPaths = (
|
||||
);
|
||||
name = "[CP] Copy Pods Resources";
|
||||
outputFileListPaths = (
|
||||
);
|
||||
outputPaths = (
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
shellPath = /bin/sh;
|
||||
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-DoctorXinjiang/Pods-DoctorXinjiang-resources.sh\"\n";
|
||||
showEnvVarsInLog = 0;
|
||||
};
|
||||
D66A00D755FEEBA744E89395 /* [CP] Embed Pods Frameworks */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
@@ -390,16 +390,15 @@
|
||||
/* Begin XCBuildConfiguration section */
|
||||
1883A99E2E0A4AD40055089B /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = 97D33B21A85118EF4503CDD0 /* Pods-DoctorXinjiang.debug.xcconfig */;
|
||||
baseConfigurationReference = 0C51BB554CF919A18FB142E9 /* Pods-DoctorXinjiang.debug.xcconfig */;
|
||||
buildSettings = {
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
CURRENT_PROJECT_VERSION = 1;
|
||||
CURRENT_PROJECT_VERSION = 2;
|
||||
DEVELOPMENT_TEAM = A7CC5LW224;
|
||||
ENABLE_USER_SCRIPT_SANDBOXING = NO;
|
||||
EXCLUDED_ARCHS = "";
|
||||
"EXCLUDED_ARCHS[sdk=iphonesimulator*]" = arm64;
|
||||
EXCLUDED_ARCHS__EFFECTIVE_PLATFORM_SUFFIX_simulator__NATIVE_ARCH_64_BIT_x86_64 = "arm64 arm64e armv7 armv7s armv6 armv8 EXCLUDED_ARCHS=$(inherited) $(EXCLUDED_ARCHS__EFFECTIVE_PLATFORM_SUFFIX_$(EFFECTIVE_PLATFORM_SUFFIX)__NATIVE_ARCH_64_BIT_$(NATIVE_ARCH_64_BIT))";
|
||||
FRAMEWORK_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
"$(PROJECT_DIR)/DoctorXinjiang/ThirdParty",
|
||||
@@ -421,12 +420,12 @@
|
||||
INFOPLIST_KEY_UISupportedInterfaceOrientations = UIInterfaceOrientationPortrait;
|
||||
INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
|
||||
INFOPLIST_KEY_UIUserInterfaceStyle = Light;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 15.6;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 15.0;
|
||||
LD_RUNPATH_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
"@executable_path/Frameworks",
|
||||
);
|
||||
MARKETING_VERSION = 1.0;
|
||||
MARKETING_VERSION = 1.0.8;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.questionTools.DoctorXinjiang;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
|
||||
@@ -435,20 +434,22 @@
|
||||
SUPPORTS_XR_DESIGNED_FOR_IPHONE_IPAD = NO;
|
||||
SWIFT_EMIT_LOC_STRINGS = YES;
|
||||
TARGETED_DEVICE_FAMILY = 1;
|
||||
VALID_ARCHS = "armv7 arm64 x86_64";
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
1883A99F2E0A4AD40055089B /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
baseConfigurationReference = 89026E00E1DDA04F74446DC0 /* Pods-DoctorXinjiang.release.xcconfig */;
|
||||
baseConfigurationReference = AB6256E214245FBA66E71FC4 /* Pods-DoctorXinjiang.release.xcconfig */;
|
||||
buildSettings = {
|
||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
|
||||
CODE_SIGN_STYLE = Automatic;
|
||||
CURRENT_PROJECT_VERSION = 1;
|
||||
CURRENT_PROJECT_VERSION = 2;
|
||||
DEVELOPMENT_TEAM = A7CC5LW224;
|
||||
ENABLE_USER_SCRIPT_SANDBOXING = NO;
|
||||
EXCLUDED_ARCHS = arm64;
|
||||
EXCLUDED_ARCHS = "";
|
||||
EXCLUDED_ARCHS__EFFECTIVE_PLATFORM_SUFFIX_simulator__NATIVE_ARCH_64_BIT_x86_64 = "arm64 arm64e armv7 armv7s armv6 armv8 EXCLUDED_ARCHS=$(inherited) $(EXCLUDED_ARCHS__EFFECTIVE_PLATFORM_SUFFIX_$(EFFECTIVE_PLATFORM_SUFFIX)__NATIVE_ARCH_64_BIT_$(NATIVE_ARCH_64_BIT))";
|
||||
FRAMEWORK_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
"$(PROJECT_DIR)/DoctorXinjiang/ThirdParty",
|
||||
@@ -470,12 +471,12 @@
|
||||
INFOPLIST_KEY_UISupportedInterfaceOrientations = UIInterfaceOrientationPortrait;
|
||||
INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
|
||||
INFOPLIST_KEY_UIUserInterfaceStyle = Light;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 15.6;
|
||||
IPHONEOS_DEPLOYMENT_TARGET = 15.0;
|
||||
LD_RUNPATH_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
"@executable_path/Frameworks",
|
||||
);
|
||||
MARKETING_VERSION = 1.0;
|
||||
MARKETING_VERSION = 1.0.8;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.questionTools.DoctorXinjiang;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
|
||||
@@ -484,6 +485,7 @@
|
||||
SUPPORTS_XR_DESIGNED_FOR_IPHONE_IPAD = NO;
|
||||
SWIFT_EMIT_LOC_STRINGS = YES;
|
||||
TARGETED_DEVICE_FAMILY = 1;
|
||||
VALID_ARCHS = "armv7 arm64 x86_64";
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
|
||||
+102
@@ -0,0 +1,102 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Scheme
|
||||
LastUpgradeVersion = "1630"
|
||||
version = "1.7">
|
||||
<BuildAction
|
||||
parallelizeBuildables = "YES"
|
||||
buildImplicitDependencies = "YES"
|
||||
buildArchitectures = "Automatic">
|
||||
<BuildActionEntries>
|
||||
<BuildActionEntry
|
||||
buildForTesting = "YES"
|
||||
buildForRunning = "YES"
|
||||
buildForProfiling = "YES"
|
||||
buildForArchiving = "YES"
|
||||
buildForAnalyzing = "YES">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "1883A96E2E0A4AD10055089B"
|
||||
BuildableName = "DoctorXinjiang.app"
|
||||
BlueprintName = "DoctorXinjiang"
|
||||
ReferencedContainer = "container:DoctorXinjiang.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildActionEntry>
|
||||
</BuildActionEntries>
|
||||
</BuildAction>
|
||||
<TestAction
|
||||
buildConfiguration = "Debug"
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||
shouldAutocreateTestPlan = "YES">
|
||||
<Testables>
|
||||
<TestableReference
|
||||
skipped = "NO"
|
||||
parallelizable = "YES">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "1883A9892E0A4AD40055089B"
|
||||
BuildableName = "DoctorXinjiangTests.xctest"
|
||||
BlueprintName = "DoctorXinjiangTests"
|
||||
ReferencedContainer = "container:DoctorXinjiang.xcodeproj">
|
||||
</BuildableReference>
|
||||
</TestableReference>
|
||||
<TestableReference
|
||||
skipped = "NO"
|
||||
parallelizable = "YES">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "1883A9932E0A4AD40055089B"
|
||||
BuildableName = "DoctorXinjiangUITests.xctest"
|
||||
BlueprintName = "DoctorXinjiangUITests"
|
||||
ReferencedContainer = "container:DoctorXinjiang.xcodeproj">
|
||||
</BuildableReference>
|
||||
</TestableReference>
|
||||
</Testables>
|
||||
</TestAction>
|
||||
<LaunchAction
|
||||
buildConfiguration = "Debug"
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||
launchStyle = "0"
|
||||
useCustomWorkingDirectory = "NO"
|
||||
ignoresPersistentStateOnLaunch = "NO"
|
||||
debugDocumentVersioning = "YES"
|
||||
debugServiceExtension = "internal"
|
||||
allowLocationSimulation = "YES">
|
||||
<BuildableProductRunnable
|
||||
runnableDebuggingMode = "0">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "1883A96E2E0A4AD10055089B"
|
||||
BuildableName = "DoctorXinjiang.app"
|
||||
BlueprintName = "DoctorXinjiang"
|
||||
ReferencedContainer = "container:DoctorXinjiang.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildableProductRunnable>
|
||||
</LaunchAction>
|
||||
<ProfileAction
|
||||
buildConfiguration = "Release"
|
||||
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||
savedToolIdentifier = ""
|
||||
useCustomWorkingDirectory = "NO"
|
||||
debugDocumentVersioning = "YES">
|
||||
<BuildableProductRunnable
|
||||
runnableDebuggingMode = "0">
|
||||
<BuildableReference
|
||||
BuildableIdentifier = "primary"
|
||||
BlueprintIdentifier = "1883A96E2E0A4AD10055089B"
|
||||
BuildableName = "DoctorXinjiang.app"
|
||||
BlueprintName = "DoctorXinjiang"
|
||||
ReferencedContainer = "container:DoctorXinjiang.xcodeproj">
|
||||
</BuildableReference>
|
||||
</BuildableProductRunnable>
|
||||
</ProfileAction>
|
||||
<AnalyzeAction
|
||||
buildConfiguration = "Debug">
|
||||
</AnalyzeAction>
|
||||
<ArchiveAction
|
||||
buildConfiguration = "Release"
|
||||
revealArchiveInOrganizer = "YES">
|
||||
</ArchiveAction>
|
||||
</Scheme>
|
||||
@@ -47,22 +47,17 @@
|
||||
#define ResourceAddress [NSString stringWithFormat:@"%@/file/show/",Http]
|
||||
|
||||
|
||||
////新增
|
||||
//#define Http [[NSUserDefaults standardUserDefaults] objectForKey:@"HTTPS"] ?: @"https://default.url"
|
||||
//#define H5DevHost [[NSUserDefaults standardUserDefaults] objectForKey:@"H5DevHost"] ?: @"https://api.cqygjk.com"
|
||||
//#define IntervenH5 [[NSUserDefaults standardUserDefaults] objectForKey:@"H5DevHost"] ?: @"api.cqygjk.com"
|
||||
//#define Http UserDefaultObjectForKey(@"HTTPS")//
|
||||
//#define H5DevHost UserDefaultObjectForKey(@"H5DevHost")//
|
||||
//#define IntervenH5 UserDefaultObjectForKey(@"IntervenH5")
|
||||
//正式
|
||||
//#define Http @"https://api-jkglpt.iosp.ydpt.tech"//
|
||||
//#define H5DevHost @"api-jkglpt.iosp.ydpt.tech"//
|
||||
//#define IntervenH5 @"https://console-jkglpt.iosp.ydpt.tech"
|
||||
//#define SCHEME @"https" //
|
||||
|
||||
|
||||
#define Http @"https://xjgateway.mcrm.vip:8888"//
|
||||
#define H5DevHost @"xjgateway.mcrm.vip:8888"//
|
||||
#define IntervenH5 @"https://xjconsole.mcrm.vip:8888"
|
||||
//开发环境地址
|
||||
//#define Http @"http://cqyt.dev.yg.dt.io"//
|
||||
//#define H5DevHost @"cqyt.dev.yg.dt.io"//
|
||||
//#define IntervenH5 @"http://cms.dev.yg.dt.io"
|
||||
//测试
|
||||
#define Http @"https://xj-api.yixiong-tech.com:8081"//
|
||||
#define H5DevHost @"xjxc-api.mcrm.vip:8888"//
|
||||
#define IntervenH5 @"http://10.10.10.228:23006/"
|
||||
#define SCHEME @"https" //
|
||||
|
||||
|
||||
#endif /* StatusMacros_h */
|
||||
|
||||
@@ -28,7 +28,7 @@
|
||||
|
||||
|
||||
//高德key
|
||||
#define AMAPSDKKEY @"0017de4b0745e1e1be58e9fa89b66f56"
|
||||
#define AMAPSDKKEY @"03d421594e9dea3dcdc527b6ebda0b66"
|
||||
|
||||
//友盟appster
|
||||
|
||||
|
||||
+1
@@ -149,6 +149,7 @@
|
||||
XJDQuestionHealthInfoView * healthView = [[XJDQuestionHealthInfoView alloc] initWithFrame:CGRectMake(0, fileView.bottom +1, kScreenWidth - kRealValue(30), kRealValue(1))];
|
||||
healthView.backgroundColor = KWhiteColor;
|
||||
self.healthView = healthView;
|
||||
self.healthView.hidden = true;
|
||||
self.questionStartView.layer.cornerRadius = 10.0;
|
||||
[self.mainScrollView addSubview:healthView];
|
||||
//体检报告
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
//
|
||||
// XJDSOSDoctorDetailVC.h
|
||||
// DoctorXinjiang
|
||||
//
|
||||
|
||||
#import "YXBaseViewController.h"
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@interface XJDSOSDoctorDetailVC : YXBaseViewController
|
||||
|
||||
@property (nonatomic, copy) NSString * sessionId;
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
@@ -0,0 +1,131 @@
|
||||
//
|
||||
// XJDSOSDoctorDetailVC.m
|
||||
// DoctorXinjiang
|
||||
//
|
||||
|
||||
#import "XJDSOSDoctorDetailVC.h"
|
||||
#import "XJDSOSDoctorDetailInfoModel.h"
|
||||
#import "XJDSOSDoctorModel.h"
|
||||
|
||||
@interface XJDSOSDoctorDetailVC ()
|
||||
|
||||
@property (nonatomic, strong) UIScrollView * mainScrollView;
|
||||
@property (nonatomic, strong) XJDSOSDoctorDetailInfoModel * detailModel;
|
||||
|
||||
@end
|
||||
|
||||
@implementation XJDSOSDoctorDetailVC
|
||||
|
||||
- (void)viewDidLoad {
|
||||
[super viewDidLoad];
|
||||
self.isHidenNaviBar = false;
|
||||
self.navigationItem.title = @"应急就医";
|
||||
self.view.backgroundColor = CViewBgColor;
|
||||
[self createUI];
|
||||
[self loadData];
|
||||
}
|
||||
|
||||
- (void)createUI {
|
||||
self.mainScrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, kScreenWidth, kScreenHeight - kTopHeight)];
|
||||
self.mainScrollView.backgroundColor = CViewBgColor;
|
||||
[self.view addSubview:self.mainScrollView];
|
||||
}
|
||||
|
||||
- (void)loadData {
|
||||
[self showMBProgressHUDWithString:@"加载中..." autoHidden:false];
|
||||
NSMutableDictionary * parmDic = [[NSMutableDictionary alloc] init];
|
||||
[parmDic setObject:self.sessionId forKey:@"id"];
|
||||
XJDNetAPI * detailApi = [[XJDNetAPI alloc] init:self tag:@"SOSDETAIL" NeedToken:@""];
|
||||
[detailApi getSOSDoctorDetailInfo:parmDic];
|
||||
}
|
||||
|
||||
- (void)Failed:(NSString*)message tag:(NSString*)tag {
|
||||
[self hiddenAllMBProgressHUD];
|
||||
[EasyTextView showErrorText:message];
|
||||
}
|
||||
|
||||
- (void)Sucess:(id)response tag:(NSString*)tag {
|
||||
if ([tag isEqualToString:@"SOSDETAIL"]) {
|
||||
[self hiddenAllMBProgressHUD];
|
||||
NSDictionary * dic = response;
|
||||
self.detailModel = [XJDSOSDoctorDetailInfoModel modelWithDictionary:dic];
|
||||
[self buildDetailUI];
|
||||
}
|
||||
}
|
||||
|
||||
- (void)buildDetailUI {
|
||||
CGFloat topY = 10;
|
||||
CGFloat cardW = kScreenWidth - 30;
|
||||
CGFloat cardX = 15;
|
||||
|
||||
// 工单信息卡片
|
||||
UIView * infoCard = [self createInfoCard:CGRectMake(cardX, topY, cardW, 0)];
|
||||
[self.mainScrollView addSubview:infoCard];
|
||||
|
||||
topY = infoCard.bottom + 10;
|
||||
|
||||
self.mainScrollView.contentSize = CGSizeMake(kScreenWidth, topY + 20);
|
||||
}
|
||||
|
||||
- (UIView *)createInfoCard:(CGRect)frame {
|
||||
UIView * card = [[UIView alloc] initWithFrame:frame];
|
||||
card.backgroundColor = KWhiteColor;
|
||||
card.layer.cornerRadius = 10;
|
||||
card.layer.masksToBounds = YES;
|
||||
|
||||
CGFloat y = 15;
|
||||
CGFloat leftX = 15;
|
||||
CGFloat rightX = card.width - 15;
|
||||
|
||||
// 标题
|
||||
UILabel * titleLabel = [[UILabel alloc] initWithFrame:CGRectMake(leftX, y, card.width - 30, 16)];
|
||||
titleLabel.text = @"工单信息";
|
||||
titleLabel.font = BOLDSYSTEMFONT(16);
|
||||
titleLabel.textColor = CFontColor1;
|
||||
[card addSubview:titleLabel];
|
||||
y = titleLabel.bottom + 15;
|
||||
|
||||
NSArray * infos = @[
|
||||
@[@"求助人", self.detailModel.initiatorUserName ?: @"--"],
|
||||
@[@"求助人性别", [self.detailModel.initiatorUserSex integerValue] == 1 ? @"女" : @"男"],
|
||||
@[@"求助人年龄", self.detailModel.initiatorUserAge ?: @"--"],
|
||||
@[@"求助人手机", self.detailModel.initiatorUserMobile ?: @"--"],
|
||||
@[@"求助人部门", self.detailModel.initiatorUserDepart ?: @"--"],
|
||||
@[@"派单医院", self.detailModel.sendOrderHospital ?: @"--"],
|
||||
@[@"接单医生", self.detailModel.stationUserName ?: @"--"],
|
||||
@[@"医生手机", self.detailModel.stationUserMobile ?: @"--"],
|
||||
@[@"医生部门", self.detailModel.stationUserDepart ?: @"--"],
|
||||
@[@"状态", self.detailModel.orderStatus_dictText ?: @"--"],
|
||||
@[@"创建时间", self.detailModel.createTime ?: @"--"],
|
||||
];
|
||||
|
||||
for (NSArray * info in infos) {
|
||||
UIView * row = [self createInfoRow:CGRectMake(leftX, y, card.width - 30, 32) label:info[0] value:info[1]];
|
||||
[card addSubview:row];
|
||||
y = row.bottom;
|
||||
}
|
||||
|
||||
card.height = y + 15;
|
||||
return card;
|
||||
}
|
||||
|
||||
- (UIView *)createInfoRow:(CGRect)frame label:(NSString *)label value:(NSString *)value {
|
||||
UIView * row = [[UIView alloc] initWithFrame:frame];
|
||||
|
||||
UILabel * labelL = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 100, frame.size.height)];
|
||||
labelL.text = label;
|
||||
labelL.font = SYSTEMFONT(14);
|
||||
labelL.textColor = UIColorHex(#666666);
|
||||
[row addSubview:labelL];
|
||||
|
||||
UILabel * valueL = [[UILabel alloc] initWithFrame:CGRectMake(110, 0, frame.size.width - 110, frame.size.height)];
|
||||
valueL.text = value;
|
||||
valueL.font = SYSTEMFONT(14);
|
||||
valueL.textColor = CFontColor1;
|
||||
valueL.textAlignment = NSTextAlignmentRight;
|
||||
[row addSubview:valueL];
|
||||
|
||||
return row;
|
||||
}
|
||||
|
||||
@end
|
||||
@@ -11,6 +11,16 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@interface UPAppVesionModel : NSObject
|
||||
|
||||
@property (nonatomic, copy) NSString * deviceType;
|
||||
@property (nonatomic, strong) NSArray * ignoreFlag;
|
||||
@property (nonatomic, copy) NSString * appUrl;
|
||||
@property (nonatomic, copy) NSString * appStatus;
|
||||
@property (nonatomic, copy) NSString * forced;
|
||||
@property (nonatomic, assign) NSInteger versionNo;
|
||||
@property (nonatomic, copy) NSString * updateContent;
|
||||
@property (nonatomic, copy) NSString * versionName;
|
||||
@property (nonatomic, copy) NSString * updateTime;
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
|
||||
@@ -0,0 +1,103 @@
|
||||
//
|
||||
// XJDSOSDoctorDetailInfoModel.h
|
||||
// DoctorXinjiang
|
||||
//
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@interface XJDSOSDoctorDetailHistory : NSObject
|
||||
|
||||
@property (nonatomic, copy) NSString * status;
|
||||
@property (nonatomic, copy) NSString * stationUserId;
|
||||
@property (nonatomic, copy) NSString * stationUserName;
|
||||
@property (nonatomic, copy) NSString * stationUserSex;
|
||||
@property (nonatomic, copy) NSString * accept_dictText;
|
||||
@property (nonatomic, copy) NSString * updateTime;
|
||||
@property (nonatomic, copy) NSString * stationBusiness_dictText;
|
||||
@property (nonatomic, copy) NSString * sendOrderHospital;
|
||||
@property (nonatomic, copy) NSString * orderId;
|
||||
@property (nonatomic, copy) NSString * stationBusiness;
|
||||
@property (nonatomic, copy) NSString * createTime;
|
||||
@property (nonatomic, copy) NSString * createBy;
|
||||
@property (nonatomic, copy) NSString * history_id;
|
||||
@property (nonatomic, copy) NSString * transferOrderTime;
|
||||
|
||||
@end
|
||||
|
||||
@interface XJDSOSDoctorDetailInfoModel : NSObject
|
||||
|
||||
@property (nonatomic, copy) NSString * createTimeEnd;
|
||||
@property (nonatomic, copy) NSString * majorSalvageOpinion;
|
||||
@property (nonatomic, copy) NSString * infoDesc;
|
||||
@property (nonatomic, copy) NSString * delFlag;
|
||||
@property (nonatomic, copy) NSString * detail_id;
|
||||
@property (nonatomic, copy) NSString * initiatorUserDepart;
|
||||
@property (nonatomic, copy) NSString * stationUserMobile;
|
||||
@property (nonatomic, copy) NSString * memo;
|
||||
@property (nonatomic, copy) NSString * orderDetail;
|
||||
@property (nonatomic, copy) NSString * stationUserAvatar;
|
||||
|
||||
@property (nonatomic, copy) NSString * updateBy;
|
||||
@property (nonatomic, copy) NSString * sessionNow;
|
||||
@property (nonatomic, copy) NSString * stationUserSex;
|
||||
@property (nonatomic, copy) NSString * stationUserId;
|
||||
@property (nonatomic, copy) NSString * isDispatch_dictText;
|
||||
@property (nonatomic, copy) NSString * createBy;
|
||||
@property (nonatomic, copy) NSString * stationRejectionTime;
|
||||
@property (nonatomic, copy) NSString * initiatorUserName;
|
||||
@property (nonatomic, copy) NSString * salvageUserAge;
|
||||
@property (nonatomic, copy) NSString * createTime;
|
||||
|
||||
@property (nonatomic, copy) NSString * resourceId;
|
||||
@property (nonatomic, copy) NSString * operationUserSex;
|
||||
@property (nonatomic, copy) NSString * stationBusiness;
|
||||
@property (nonatomic, copy) NSString * majorUserSex;
|
||||
@property (nonatomic, copy) NSString * status;
|
||||
@property (nonatomic, copy) NSString * operationUserName;
|
||||
@property (nonatomic, copy) NSString * stationUserDepart;
|
||||
@property (nonatomic, copy) NSString * salvageUserSecondDepart;
|
||||
@property (nonatomic, copy) NSString * majorUserId;
|
||||
@property (nonatomic, copy) NSString * initiatorUserSex;
|
||||
|
||||
@property (nonatomic, strong) NSArray<XJDSOSDoctorDetailHistory *> * orderSendRecordList;
|
||||
|
||||
@property (nonatomic, copy) NSString * stationBusiness_dictText;
|
||||
@property (nonatomic, copy) NSString * majorResponseTime;
|
||||
@property (nonatomic, copy) NSString * salvageUserMobile;
|
||||
@property (nonatomic, copy) NSString * initiatorUserId;
|
||||
@property (nonatomic, copy) NSString * orderStatus;
|
||||
@property (nonatomic, copy) NSString * salvageUserAvatar;
|
||||
@property (nonatomic, copy) NSString * initiatorType;
|
||||
@property (nonatomic, copy) NSString * initiatorUserAge;
|
||||
@property (nonatomic, copy) NSString * sessionId;
|
||||
|
||||
@property (nonatomic, copy) NSString * salvageUserName;
|
||||
@property (nonatomic, copy) NSString * initiatorUserMobile;
|
||||
@property (nonatomic, copy) NSString * stationUserName;
|
||||
@property (nonatomic, copy) NSString * updateTime;
|
||||
@property (nonatomic, copy) NSString * operationUserMobile;
|
||||
@property (nonatomic, copy) NSString * majorUserName;
|
||||
@property (nonatomic, copy) NSString * isDispatch;
|
||||
@property (nonatomic, copy) NSString * orderStatus_dictText;
|
||||
@property (nonatomic, copy) NSString * resourceName;
|
||||
|
||||
@property (nonatomic, copy) NSString * initiatorUserSecondDepart;
|
||||
@property (nonatomic, copy) NSString * salvageUserDepart;
|
||||
@property (nonatomic, copy) NSString * orderOverTime;
|
||||
@property (nonatomic, copy) NSString * initiatorUserIdCard;
|
||||
@property (nonatomic, copy) NSString * initiatorUserAvatar;
|
||||
@property (nonatomic, copy) NSString * salvageUserId;
|
||||
@property (nonatomic, copy) NSString * operationUserId;
|
||||
@property (nonatomic, copy) NSString * operationResponseTime;
|
||||
@property (nonatomic, copy) NSString * stationResponseTime;
|
||||
|
||||
@property (nonatomic, copy) NSString * operationSendOrderTime;
|
||||
@property (nonatomic, assign) BOOL isFill;
|
||||
@property (nonatomic, copy) NSString * sendOrderHospital;
|
||||
@property (nonatomic, copy) NSString * salvageUserIdCard;
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
@@ -0,0 +1,33 @@
|
||||
//
|
||||
// XJDSOSDoctorDetailInfoModel.m
|
||||
// DoctorXinjiang
|
||||
//
|
||||
|
||||
#import "XJDSOSDoctorDetailInfoModel.h"
|
||||
|
||||
@implementation XJDSOSDoctorDetailHistory
|
||||
|
||||
+ (NSDictionary *)modelCustomPropertyMapper
|
||||
{
|
||||
NSDictionary * dic =@{@"history_id" :@"id"};
|
||||
return dic;
|
||||
}
|
||||
|
||||
@end
|
||||
|
||||
@implementation XJDSOSDoctorDetailInfoModel
|
||||
|
||||
+ (NSDictionary *)modelContainerPropertyGenericClass
|
||||
{
|
||||
return @{
|
||||
@"orderSendRecordList":[XJDSOSDoctorDetailHistory class]
|
||||
};
|
||||
}
|
||||
|
||||
+ (NSDictionary *)modelCustomPropertyMapper
|
||||
{
|
||||
NSDictionary * dic =@{@"detail_id" :@"id"};
|
||||
return dic;
|
||||
}
|
||||
|
||||
@end
|
||||
@@ -0,0 +1,32 @@
|
||||
//
|
||||
// XJDSOSDoctorModel.h
|
||||
// DoctorXinjiang
|
||||
//
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@interface XJDSOSDoctorRecordListModel : NSObject
|
||||
|
||||
@property (nonatomic, copy) NSString * sos_id;
|
||||
@property (nonatomic, copy) NSString * sessionId;
|
||||
@property (nonatomic, copy) NSString * initiatorUserId;
|
||||
@property (nonatomic, copy) NSString * initiatorUserName;
|
||||
@property (nonatomic, copy) NSString * createTime;
|
||||
@property (nonatomic, copy) NSString * initiatorUserSex;
|
||||
@property (nonatomic, copy) NSString * orderStatus_dictText;
|
||||
@property (nonatomic, copy) NSString * sendOrderHospital;
|
||||
@property (nonatomic, copy) NSString * stationBusiness;
|
||||
@property (nonatomic, copy) NSString * orderStatus;
|
||||
@property (nonatomic, copy) NSString * stationBusiness_dictText;
|
||||
|
||||
@end
|
||||
|
||||
@interface XJDSOSDoctorModel : NSObject
|
||||
|
||||
@property (nonatomic, strong) NSArray <XJDSOSDoctorRecordListModel *>* records;
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
@@ -0,0 +1,27 @@
|
||||
//
|
||||
// XJDSOSDoctorModel.m
|
||||
// DoctorXinjiang
|
||||
//
|
||||
|
||||
#import "XJDSOSDoctorModel.h"
|
||||
|
||||
@implementation XJDSOSDoctorRecordListModel
|
||||
|
||||
+ (NSDictionary *)modelCustomPropertyMapper
|
||||
{
|
||||
NSDictionary * dic =@{@"sos_id" :@"id"};
|
||||
return dic;
|
||||
}
|
||||
|
||||
@end
|
||||
|
||||
@implementation XJDSOSDoctorModel
|
||||
|
||||
+ (NSDictionary *)modelContainerPropertyGenericClass
|
||||
{
|
||||
return @{
|
||||
@"records":[XJDSOSDoctorRecordListModel class]
|
||||
};
|
||||
}
|
||||
|
||||
@end
|
||||
-18
@@ -1,18 +0,0 @@
|
||||
//
|
||||
// DetailTitleView.h
|
||||
// healthQuestion
|
||||
//
|
||||
// Created by 仁康信息 on 2023/4/27.
|
||||
//
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@interface XJDDetailTitleView : UIView
|
||||
|
||||
@property (nonatomic, copy) NSString * createTime;
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
-28
@@ -1,28 +0,0 @@
|
||||
//
|
||||
// XJDLifeManagerCell.h
|
||||
// shan
|
||||
//
|
||||
// Created by aDu on 2016/12/5.
|
||||
// Copyright © 2016年 DuKaiShun. All rights reserved.
|
||||
//
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
#import "XJDToolsModel.h"
|
||||
|
||||
@interface XJDLifeManagerCell : UICollectionViewCell
|
||||
|
||||
@property (nonatomic, strong) UILabel *titleLabel;
|
||||
@property (nonatomic, strong) UIButton *button;
|
||||
@property (nonatomic, strong) XJDToolsModel *model;
|
||||
|
||||
@property (nonatomic, assign) BOOL inEditState; //是否处于编辑状态
|
||||
|
||||
- (void)setModel:(XJDToolsModel *)model indexPaht:(NSIndexPath *)indexPath exist:(BOOL)exist;
|
||||
|
||||
- (void)setDataAry:(NSMutableArray *)dataAry groupAry:(NSMutableArray *)groupAry indexPath:(NSIndexPath *)indexPath;
|
||||
|
||||
@property (nonatomic, strong) UILabel *messageLabel;
|
||||
|
||||
- (void)addMeaageLabel;
|
||||
|
||||
@end
|
||||
-157
@@ -1,157 +0,0 @@
|
||||
//
|
||||
// XJDLifeManagerCell.m
|
||||
// shan
|
||||
//
|
||||
// Created by aDu on 2016/12/5.
|
||||
// Copyright © 2016年 DuKaiShun. All rights reserved.
|
||||
//
|
||||
|
||||
#import "XJDLifeManagerCell.h"
|
||||
#import "Masonry.h"
|
||||
|
||||
@interface XJDLifeManagerCell ()
|
||||
|
||||
@property (nonatomic, strong) UIImageView *imageView;
|
||||
|
||||
@end
|
||||
|
||||
@implementation XJDLifeManagerCell
|
||||
|
||||
- (id)initWithFrame:(CGRect)frame
|
||||
{
|
||||
self = [super initWithFrame:frame];
|
||||
if (self) {
|
||||
self.backgroundColor = [UIColor whiteColor];
|
||||
|
||||
[self.imageView mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.edges.equalTo(self).with.insets(UIEdgeInsetsMake(10, 15, 15, 15));
|
||||
}];
|
||||
|
||||
[self.titleLabel mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.top.equalTo(self.imageView.mas_bottom);
|
||||
make.bottom.equalTo(self.mas_bottom);
|
||||
make.left.and.right.equalTo(self);
|
||||
}];
|
||||
|
||||
[self.button mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.top.equalTo(self.mas_top);
|
||||
make.right.equalTo(self.mas_right);
|
||||
make.height.equalTo(@15);
|
||||
make.width.equalTo(@15);
|
||||
}];
|
||||
self.button.hidden = YES;
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
- (void)addMeaageLabel
|
||||
{
|
||||
[self.messageLabel mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.edges.equalTo(self).insets(UIEdgeInsetsMake(0, 0, 0, 0));
|
||||
}];
|
||||
}
|
||||
|
||||
- (void)setModel:(XJDToolsModel *)model indexPaht:(NSIndexPath *)indexPath exist:(BOOL)exist
|
||||
{
|
||||
if (_model != model) {
|
||||
self.titleLabel.text = model.title;
|
||||
if (indexPath.section == 0) {
|
||||
[self.button setBackgroundImage:[UIImage imageNamed:@"life_reduce"] forState:UIControlStateNormal];
|
||||
self.button.userInteractionEnabled = YES;
|
||||
} else {
|
||||
if (exist) {
|
||||
[self.button setBackgroundImage:[UIImage imageNamed:@"life_exist"] forState:UIControlStateNormal];
|
||||
self.button.userInteractionEnabled = NO;
|
||||
} else {
|
||||
[self.button setBackgroundImage:[UIImage imageNamed:@"life_add"] forState:UIControlStateNormal];
|
||||
self.button.userInteractionEnabled = YES;
|
||||
}
|
||||
}
|
||||
}
|
||||
_model = model;
|
||||
}
|
||||
|
||||
- (void)setDataAry:(NSMutableArray *)dataAry groupAry:(NSMutableArray *)groupAry indexPath:(NSIndexPath *)indexPath
|
||||
{
|
||||
XJDToolsModel *model;
|
||||
if (indexPath.section == 0) {
|
||||
model = dataAry[indexPath.row];
|
||||
} else {
|
||||
model = groupAry[indexPath.row];
|
||||
}
|
||||
self.titleLabel.text = model.title;
|
||||
if (indexPath.section == 0) {
|
||||
self.button.userInteractionEnabled = YES;
|
||||
[self.button setBackgroundImage:[UIImage imageNamed:@"life_reduce"] forState:UIControlStateNormal];
|
||||
} else {
|
||||
if ([dataAry containsObject:model]) {
|
||||
self.button.userInteractionEnabled = NO;
|
||||
[self.button setBackgroundImage:[UIImage imageNamed:@"life_exist"] forState:UIControlStateNormal];
|
||||
} else {
|
||||
self.button.userInteractionEnabled = YES;
|
||||
[self.button setBackgroundImage:[UIImage imageNamed:@"life_add"] forState:UIControlStateNormal];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#pragma mark - 是否处于编辑状态
|
||||
|
||||
- (void)setInEditState:(BOOL)inEditState
|
||||
{
|
||||
if (inEditState && _inEditState != inEditState) {
|
||||
self.layer.borderWidth = 0.5;
|
||||
self.layer.borderColor = [UIColor grayColor].CGColor;
|
||||
self.button.hidden = NO;
|
||||
} else {
|
||||
self.layer.borderColor = [UIColor clearColor].CGColor;
|
||||
self.button.hidden = YES;
|
||||
}
|
||||
}
|
||||
|
||||
#pragma mark - init
|
||||
|
||||
- (UIImageView *)imageView
|
||||
{
|
||||
if (!_imageView) {
|
||||
_imageView = [[UIImageView alloc] init];
|
||||
_imageView.image = [UIImage imageNamed:@"wallet_payChange"];
|
||||
[self addSubview:_imageView];
|
||||
}
|
||||
return _imageView;
|
||||
}
|
||||
|
||||
- (UILabel *)titleLabel
|
||||
{
|
||||
if (!_titleLabel) {
|
||||
_titleLabel = [[UILabel alloc] init];
|
||||
_titleLabel.font = [UIFont systemFontOfSize:14];
|
||||
_titleLabel.textAlignment = NSTextAlignmentCenter;
|
||||
[self addSubview:_titleLabel];
|
||||
}
|
||||
return _titleLabel;
|
||||
}
|
||||
|
||||
- (UILabel *)messageLabel
|
||||
{
|
||||
if (!_messageLabel) {
|
||||
_messageLabel = [[UILabel alloc] init];
|
||||
_messageLabel.font = [UIFont systemFontOfSize:12];
|
||||
_messageLabel.textColor = [UIColor grayColor];
|
||||
_messageLabel.textAlignment = NSTextAlignmentCenter;
|
||||
_messageLabel.text = @"您还未添加任何应用\n长按下面的应用可以添加";
|
||||
[self addSubview:_messageLabel];
|
||||
}
|
||||
return _messageLabel;
|
||||
}
|
||||
|
||||
- (UIButton *)button
|
||||
{
|
||||
if (!_button) {
|
||||
_button = [UIButton buttonWithType:UIButtonTypeCustom];
|
||||
_button.layer.cornerRadius = 7.5;
|
||||
[self addSubview:_button];
|
||||
}
|
||||
return _button;
|
||||
}
|
||||
|
||||
@end
|
||||
@@ -0,0 +1,19 @@
|
||||
//
|
||||
// XJDSOSDoctorTableView.h
|
||||
// DoctorXinjiang
|
||||
//
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
typedef void(^sosDoctorListActionBlock)(NSString * sessionId, NSString * hospitalId);
|
||||
|
||||
@interface XJDSOSDoctorTableView : UITableView
|
||||
|
||||
@property (nonatomic, strong) NSArray * dataArray;
|
||||
@property (nonatomic, copy) sosDoctorListActionBlock recordBlock;
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
@@ -0,0 +1,87 @@
|
||||
//
|
||||
// XJDSOSDoctorTableView.m
|
||||
// DoctorXinjiang
|
||||
//
|
||||
|
||||
#import "XJDSOSDoctorTableView.h"
|
||||
#import "XJDSOSDoctorTableViewCell.h"
|
||||
|
||||
@interface XJDSOSDoctorTableView ()<UITableViewDelegate,UITableViewDataSource>
|
||||
@end
|
||||
|
||||
@implementation XJDSOSDoctorTableView
|
||||
|
||||
- (instancetype)initWithFrame:(CGRect)frame style:(UITableViewStyle)style {
|
||||
if (self = [super initWithFrame:frame style:style]) {
|
||||
[self createUI];
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
- (void)createUI {
|
||||
if (@available(iOS 11.0, *)) {
|
||||
self.estimatedRowHeight = 0;
|
||||
self.estimatedSectionFooterHeight = 0;
|
||||
self.estimatedSectionHeaderHeight = 0;
|
||||
self.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever;
|
||||
}
|
||||
self.delegate = self;
|
||||
self.dataSource = self;
|
||||
self.backgroundColor = UIColor.clearColor;
|
||||
self.showsVerticalScrollIndicator = false;
|
||||
self.showsHorizontalScrollIndicator = false;
|
||||
self.separatorStyle = UITableViewCellSeparatorStyleNone;
|
||||
self.estimatedRowHeight = 60;
|
||||
self.rowHeight = UITableViewAutomaticDimension;
|
||||
}
|
||||
|
||||
- (void)setDataArray:(NSArray *)dataArray {
|
||||
_dataArray = dataArray;
|
||||
[self reloadData];
|
||||
}
|
||||
|
||||
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
|
||||
return self.dataArray.count;
|
||||
}
|
||||
|
||||
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
|
||||
return 1;
|
||||
}
|
||||
|
||||
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
|
||||
XJDSOSDoctorTableViewCell * cell = [self dequeueReusableCellWithIdentifier:@"STATUSCELL"];
|
||||
if (!cell) {
|
||||
cell = [[XJDSOSDoctorTableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"STATUSCELL"];
|
||||
}
|
||||
cell.model = self.dataArray[indexPath.section];
|
||||
cell.backgroundColor = KWhiteColor;
|
||||
cell.layer.cornerRadius = 10;
|
||||
cell.layer.masksToBounds = YES;
|
||||
cell.selectionStyle = UITableViewCellSelectionStyleNone;
|
||||
return cell;
|
||||
}
|
||||
|
||||
- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section {
|
||||
return 10;
|
||||
}
|
||||
|
||||
- (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section {
|
||||
return CGFLOAT_MIN;
|
||||
}
|
||||
|
||||
- (UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section {
|
||||
return [UIView new];
|
||||
}
|
||||
|
||||
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section {
|
||||
return [[UIView alloc] initWithFrame:CGRectMake(0, 0, kScreenWidth, 10)];
|
||||
}
|
||||
|
||||
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
|
||||
XJDSOSDoctorRecordListModel * model = self.dataArray[indexPath.section];
|
||||
if (self.recordBlock) {
|
||||
self.recordBlock(model.sos_id, model.sos_id);
|
||||
}
|
||||
}
|
||||
|
||||
@end
|
||||
@@ -0,0 +1,17 @@
|
||||
//
|
||||
// XJDSOSDoctorTableViewCell.h
|
||||
// DoctorXinjiang
|
||||
//
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
#import "XJDSOSDoctorModel.h"
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@interface XJDSOSDoctorTableViewCell : UITableViewCell
|
||||
|
||||
@property (nonatomic, strong) XJDSOSDoctorRecordListModel * model;
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
@@ -0,0 +1,99 @@
|
||||
//
|
||||
// XJDSOSDoctorTableViewCell.m
|
||||
// DoctorXinjiang
|
||||
//
|
||||
|
||||
#import "XJDSOSDoctorTableViewCell.h"
|
||||
|
||||
@interface XJDSOSDoctorTableViewCell ()
|
||||
|
||||
@property (nonatomic, strong) UILabel * nameLabel;
|
||||
@property (nonatomic, strong) UILabel * timeLabel;
|
||||
@property (nonatomic, strong) YYLabel * lookDetail;
|
||||
@property (nonatomic, strong) UILabel * statusLabel;
|
||||
|
||||
@end
|
||||
|
||||
@implementation XJDSOSDoctorTableViewCell
|
||||
|
||||
- (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier {
|
||||
if (self = [super initWithStyle:style reuseIdentifier:reuseIdentifier]) {
|
||||
[self createUI];
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
- (void)createUI {
|
||||
|
||||
self.nameLabel = [[UILabel alloc] init];
|
||||
self.nameLabel.textColor = CFontColor1;
|
||||
self.nameLabel.font = BOLDSYSTEMFONT(14);
|
||||
self.nameLabel.textAlignment = NSTextAlignmentLeft;
|
||||
[self.contentView addSubview:self.nameLabel];
|
||||
|
||||
[self.nameLabel mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.left.mas_offset(15);
|
||||
make.top.mas_offset(16);
|
||||
make.height.mas_offset(14);
|
||||
}];
|
||||
[self.nameLabel setContentHuggingPriority:UILayoutPriorityRequired forAxis:UILayoutConstraintAxisHorizontal];
|
||||
|
||||
self.timeLabel = [[UILabel alloc] init];
|
||||
self.timeLabel.textColor = UIColorHex(#333333);
|
||||
self.timeLabel.font = MEDIUMFONT(14);
|
||||
self.timeLabel.textAlignment = NSTextAlignmentLeft;
|
||||
[self.contentView addSubview:self.timeLabel];
|
||||
|
||||
[self.timeLabel mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.left.mas_offset(15);
|
||||
make.top.mas_equalTo(self.nameLabel.mas_bottom).offset(14);
|
||||
make.height.mas_offset(14);
|
||||
make.bottom.mas_offset(-20);
|
||||
}];
|
||||
[self.timeLabel setContentHuggingPriority:UILayoutPriorityRequired forAxis:UILayoutConstraintAxisHorizontal];
|
||||
|
||||
UIImageView * accowImg = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"garyRight"]];
|
||||
[self.contentView addSubview:accowImg];
|
||||
|
||||
[accowImg mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.right.mas_offset(-15);
|
||||
make.top.mas_offset(16);
|
||||
make.height.mas_offset(14);
|
||||
make.width.mas_offset(8);
|
||||
}];
|
||||
|
||||
self.lookDetail = [[YYLabel alloc] init];
|
||||
self.lookDetail.textColor = UIColorHex(#999999);
|
||||
self.lookDetail.font = MEDIUMFONT(13);
|
||||
self.lookDetail.text = @"查看详情";
|
||||
self.lookDetail.textAlignment = NSTextAlignmentRight;
|
||||
[self.contentView addSubview:self.lookDetail];
|
||||
|
||||
[self.lookDetail mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.right.mas_equalTo(accowImg.mas_left).offset(-6);
|
||||
make.top.mas_offset(16);
|
||||
make.height.mas_offset(14);
|
||||
make.width.mas_offset(100);
|
||||
}];
|
||||
|
||||
self.statusLabel = [[UILabel alloc] init];
|
||||
self.statusLabel.textColor = UIColorHex(#16C716);
|
||||
self.statusLabel.font = MEDIUMFONT(14);
|
||||
self.statusLabel.textAlignment = NSTextAlignmentRight;
|
||||
[self.contentView addSubview:self.statusLabel];
|
||||
|
||||
[self.statusLabel mas_makeConstraints:^(MASConstraintMaker *make) {
|
||||
make.right.mas_offset(-15);
|
||||
make.top.mas_equalTo(self.lookDetail.mas_bottom).offset(18);
|
||||
make.height.mas_offset(13);
|
||||
}];
|
||||
}
|
||||
|
||||
- (void)setModel:(XJDSOSDoctorRecordListModel *)model {
|
||||
_model = model;
|
||||
self.nameLabel.text = [NSString stringWithFormat:@"求助人:%@",_model.initiatorUserName];
|
||||
self.timeLabel.text = [NSString stringWithFormat:@"求救时间:%@",_model.createTime];
|
||||
self.statusLabel.text = model.orderStatus_dictText;
|
||||
}
|
||||
|
||||
@end
|
||||
+1
-1
@@ -76,7 +76,7 @@
|
||||
|
||||
UIImageView * cenetrImg = [[UIImageView alloc] initWithFrame:CGRectMake(0, kRealValue(70), kRealValue(68), kRealValue(68))];
|
||||
cenetrImg.centerX = self.view.centerX;
|
||||
cenetrImg.image = IMAGE_NAMED(@"login_icon");
|
||||
cenetrImg.image = IMAGE_NAMED(@"loginCenterIcon");
|
||||
[self.view addSubview:cenetrImg];
|
||||
|
||||
|
||||
|
||||
@@ -113,7 +113,7 @@
|
||||
|
||||
CGFloat mager = (toolsView.width - kRealValue(28) - kRealValue(47) * 4)/3;
|
||||
|
||||
NSArray * array = @[@[@"小助手",@"smallHelp_icon"],@[@"咨询统计",@"questionStatistics_icon"],@[@"排班设置",@"schedulingSeting_icon"],@[@"暂停服务",@"stopHelp_icon"]];
|
||||
NSArray * array = @[@[@"全科医生",@"smallHelp_icon"],@[@"咨询统计",@"questionStatistics_icon"],@[@"排班设置",@"schedulingSeting_icon"],@[@"暂停服务",@"stopHelp_icon"]];
|
||||
for (int i = 0; i < array.count; i ++) {
|
||||
|
||||
UIImageView * toolsImg = [[UIImageView alloc] initWithFrame:CGRectMake(kRealValue(14) + (kRealValue(47) + mager) * i , kRealValue(17), kRealValue(47), kRealValue(47))];
|
||||
@@ -338,7 +338,7 @@
|
||||
chatVC.eableSendReport = YES;
|
||||
chatVC.eableMapTools = false;
|
||||
chatVC.isVideo = false;
|
||||
chatVC.navTitle = @"小助手";
|
||||
chatVC.navTitle = @"全科医生";
|
||||
chatVC.eablehaveHelathData = YES;
|
||||
chatVC.memberSex = @"2";
|
||||
[self.navigationController pushViewController:chatVC animated:YES];
|
||||
|
||||
@@ -2,25 +2,12 @@
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>CFBundleAllowMixedLocalizations</key>
|
||||
<key>UIDesignRequiresCompatibility</key>
|
||||
<true/>
|
||||
<key>CFBundleLocalizations</key>
|
||||
<array>
|
||||
<string>zh</string>
|
||||
</array>
|
||||
<key>Localization native development region</key>
|
||||
<string>China</string>
|
||||
<key>NSAppTransportSecurity</key>
|
||||
<dict>
|
||||
<key>NSAllowsArbitraryLoads</key>
|
||||
<true/>
|
||||
</dict>
|
||||
<key>UIApplicationSceneManifest</key>
|
||||
<dict>
|
||||
<key>UIApplicationSupportsMultipleScenes</key>
|
||||
<false/>
|
||||
<key>UISceneConfigurations</key>
|
||||
<dict/>
|
||||
</dict>
|
||||
</dict>
|
||||
</plist>
|
||||
|
||||
@@ -26,7 +26,6 @@
|
||||
self.sellerName = dict[@"sellerName"];
|
||||
self.fileSize = dict[@"fileSizeBytes"];
|
||||
self.screenshotUrls = dict[@"screenshotUrls"];
|
||||
|
||||
self.releaseDate = [self formatReleaseDate];
|
||||
self.fileSize = [self formatFileSizeByMB];
|
||||
}
|
||||
@@ -36,16 +35,18 @@
|
||||
- (NSString *)formatReleaseDate {
|
||||
|
||||
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
|
||||
dateFormatter.dateFormat = @"yyyy-MM-dd'T'HH:mm:ssZ";
|
||||
NSDate *date = [dateFormatter dateFromString:self.releaseDate];
|
||||
NSTimeZone* timeZone = [NSTimeZone timeZoneWithName:@"Asia/Shanghai"];
|
||||
[dateFormatter setTimeZone:timeZone];
|
||||
dateFormatter.dateFormat = @"yyyy-MM-dd HH:mm";
|
||||
NSString *releaseDate= [dateFormatter stringFromDate:date];
|
||||
dateFormatter.dateFormat = @"yyyy-MM-dd HH:mm:ss";
|
||||
|
||||
return releaseDate;
|
||||
NSDate *date = [dateFormatter dateFromString:self.releaseDate];
|
||||
if (!date) return @"";
|
||||
|
||||
dateFormatter.timeZone = [NSTimeZone timeZoneWithName:@"Asia/Shanghai"];
|
||||
dateFormatter.dateFormat = @"yyyy-MM-dd HH:mm";
|
||||
|
||||
return [dateFormatter stringFromDate:date];
|
||||
}
|
||||
|
||||
|
||||
- (NSString *)formatFileSizeByMB {
|
||||
|
||||
CGFloat fileSizeByMB = ([self.fileSize integerValue] /(1000 *1000));
|
||||
|
||||
+6
-3
@@ -84,7 +84,7 @@
|
||||
self.titleLabel.textColor = kRGBColor(23, 24, 28);
|
||||
self.titleLabel.font = [UIFont systemFontOfSize:16.0f];;
|
||||
self.titleLabel.textAlignment = NSTextAlignmentLeft;
|
||||
self.titleLabel.text = @"最新版本";
|
||||
self.titleLabel.text = @"发现新版本";
|
||||
[self.contentView addSubview:self.titleLabel];
|
||||
|
||||
self.latestVersionLabel = [[UILabel alloc] init];
|
||||
@@ -98,7 +98,7 @@
|
||||
self.packetSizeLabel = [[UILabel alloc] init];
|
||||
self.packetSizeLabel.textColor = kRGBColor(119, 119, 119);
|
||||
self.packetSizeLabel.font = [UIFont systemFontOfSize:12.0f];
|
||||
self.packetSizeLabel.text = [NSString stringWithFormat:@"包大小: %@",self.appInfo.fileSize];
|
||||
// self.packetSizeLabel.text = [NSString stringWithFormat:@"包大小: %@",self.appInfo.fileSize];
|
||||
self.packetSizeLabel.textAlignment = NSTextAlignmentLeft;
|
||||
[self.contentView addSubview:self.packetSizeLabel];
|
||||
|
||||
@@ -142,11 +142,14 @@
|
||||
self.confirmButton.titleLabel.font = [UIFont systemFontOfSize:16.0f];
|
||||
[self.confirmButton setTitleColor:kRGBColor(69, 149, 236)
|
||||
forState:UIControlStateNormal];
|
||||
[self.confirmButton setTitle:@"立即更新" forState:UIControlStateNormal];
|
||||
[self.confirmButton setTitle:@"请前往移动平台更新" forState:UIControlStateNormal];
|
||||
[self addSubview:self.confirmButton];
|
||||
[self.confirmButton addTarget:self action:@selector(confirmButtonDidClicked) forControlEvents:UIControlEventTouchUpInside];
|
||||
|
||||
if (!self.isCompulsoryUpdate) {
|
||||
|
||||
[self.confirmButton setTitle:@"我知道了" forState:UIControlStateNormal];
|
||||
|
||||
self.centerLineView = [[UIView alloc] init];
|
||||
self.centerLineView.backgroundColor = kRGBColor(223, 223, 223);
|
||||
[self addSubview:self.centerLineView];
|
||||
|
||||
@@ -41,10 +41,10 @@ PODS:
|
||||
- ReactiveObjC (3.1.1)
|
||||
- SDCycleScrollView (1.82):
|
||||
- SDWebImage (>= 5.0.0)
|
||||
- SDWebImage (5.21.1):
|
||||
- SDWebImage/Core (= 5.21.1)
|
||||
- SDWebImage/Core (5.21.1)
|
||||
- SDWebImageWebPCoder (0.14.6):
|
||||
- SDWebImage (5.21.3):
|
||||
- SDWebImage/Core (= 5.21.3)
|
||||
- SDWebImage/Core (5.21.3)
|
||||
- SDWebImageWebPCoder (0.15.0):
|
||||
- libwebp (~> 1.0)
|
||||
- SDWebImage/Core (~> 5.17)
|
||||
- SJBaseVideoPlayer (3.7.6):
|
||||
@@ -466,7 +466,7 @@ EXTERNAL SOURCES:
|
||||
|
||||
CHECKOUT OPTIONS:
|
||||
AAChartKit:
|
||||
:commit: a0e79474d7428e2617e16310a0ad4584f561f081
|
||||
:commit: cef69e092a87a0a6357f3bcb046529d8f93ef447
|
||||
:git: https://github.com/AAChartModel/AAChartKit.git
|
||||
|
||||
SPEC CHECKSUMS:
|
||||
@@ -483,8 +483,8 @@ SPEC CHECKSUMS:
|
||||
MJRefresh: 2fe7fb43a5167ceda20bb7e63f130c04fd1814a5
|
||||
ReactiveObjC: 011caa393aa0383245f2dcf9bf02e86b80b36040
|
||||
SDCycleScrollView: a0d74c3384caa72bdfc81470bdbc8c14b3e1fbcf
|
||||
SDWebImage: f29024626962457f3470184232766516dee8dfea
|
||||
SDWebImageWebPCoder: e38c0a70396191361d60c092933e22c20d5b1380
|
||||
SDWebImage: 16309af6d214ba3f77a7c6f6fdda888cb313a50a
|
||||
SDWebImageWebPCoder: 0e06e365080397465cc73a7a9b472d8a3bd0f377
|
||||
SJBaseVideoPlayer: f15debaa8c1e27b63bdefc8caeec515e9c71d079
|
||||
SJUIKit: a40111941e408cc17d4c1c23495aa92999e814b0
|
||||
SJVideoPlayer: 4f09814f58522e0975cb2dccfda925f6c8643467
|
||||
|
||||
@@ -1,65 +0,0 @@
|
||||
//
|
||||
// MapMessageCustomCell.m
|
||||
// EscortProject
|
||||
//
|
||||
// Created by 仁康信息 on 2023/7/7.
|
||||
//
|
||||
|
||||
#import "MapMessageCustomCell.h"
|
||||
|
||||
@implementation MapMessageCustomCell
|
||||
|
||||
- (void)awakeFromNib {
|
||||
[super awakeFromNib];
|
||||
// Initialization code
|
||||
}
|
||||
|
||||
- (void)setSelected:(BOOL)selected animated:(BOOL)animated {
|
||||
[super setSelected:selected animated:animated];
|
||||
|
||||
// Configure the view for the selected state
|
||||
}
|
||||
|
||||
|
||||
- (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier
|
||||
{
|
||||
self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
|
||||
if (self) {
|
||||
self.container.layer.cornerRadius = 10;
|
||||
self.container.backgroundColor = UIColor.whiteColor;
|
||||
self.myTextLabel = [[UILabel alloc] init];
|
||||
self.myTextLabel.textAlignment = NSTextAlignmentLeft;
|
||||
self.myTextLabel.font = [UIFont systemFontOfSize:14];
|
||||
self.myTextLabel.backgroundColor = UIColor.whiteColor;
|
||||
[self.container addSubview:self.myTextLabel];
|
||||
self.mapImage = [[UIImageView alloc] init];
|
||||
[self.container addSubview:self.mapImage];
|
||||
|
||||
|
||||
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
// 根据 cellData 绘制 cell
|
||||
- (void)fillWithData:(MapMessageCustomCellData *)data;
|
||||
{
|
||||
[super fillWithData:data];
|
||||
self.myTextLabel.text = @" 位置";
|
||||
[self.mapImage sd_setImageWithURL:[NSURL URLWithString:data.MapPictureImg] placeholderImage:nil];
|
||||
|
||||
}
|
||||
// 设置控件坐标
|
||||
- (void)layoutSubviews
|
||||
{
|
||||
[super layoutSubviews];
|
||||
|
||||
self.myTextLabel.mm_right(0).mm_top(0).mm_left(0).mm_height(30).mm_width(245);
|
||||
self.mapImage.mm_top(self.myTextLabel.mm_y + 30 ).mm_width(245).mm_height(140);
|
||||
|
||||
|
||||
|
||||
}
|
||||
@end
|
||||
|
||||
|
||||
+18
-11
@@ -25,39 +25,46 @@
|
||||
{
|
||||
self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
|
||||
if (self) {
|
||||
self.container.layer.cornerRadius = 10;
|
||||
self.container.layer.cornerRadius = 8;
|
||||
self.container.layer.masksToBounds = YES;
|
||||
self.container.backgroundColor = UIColor.whiteColor;
|
||||
|
||||
self.myTextLabel = [[UILabel alloc] init];
|
||||
self.myTextLabel.textAlignment = NSTextAlignmentLeft;
|
||||
self.myTextLabel.font = [UIFont systemFontOfSize:14];
|
||||
self.myTextLabel.backgroundColor = UIColor.whiteColor;
|
||||
self.myTextLabel.numberOfLines = 0;
|
||||
[self.container addSubview:self.myTextLabel];
|
||||
|
||||
self.mapImage = [[UIImageView alloc] init];
|
||||
[self.container addSubview:self.mapImage];
|
||||
|
||||
|
||||
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
// 根据 cellData 绘制 cell
|
||||
- (void)fillWithData:(MapMessageCustomCellData *)data;
|
||||
{
|
||||
[super fillWithData:data];
|
||||
self.myTextLabel.text = @" 位置";
|
||||
self.bubbleView.image = nil;
|
||||
self.myTextLabel.text = data.text.length > 0 ? data.text : @"我的位置";
|
||||
[self.mapImage sd_setImageWithURL:[NSURL URLWithString:data.MapPictureImg] placeholderImage:nil];
|
||||
|
||||
[self setNeedsLayout];
|
||||
}
|
||||
// 设置控件坐标
|
||||
|
||||
- (void)layoutSubviews
|
||||
{
|
||||
[super layoutSubviews];
|
||||
|
||||
self.myTextLabel.mm_right(0).mm_top(0).mm_left(0).mm_height(30).mm_width(245);
|
||||
self.mapImage.mm_top(self.myTextLabel.mm_y + 30 ).mm_width(245).mm_height(140);
|
||||
CGFloat containerW = self.container.bounds.size.width;
|
||||
CGFloat containerH = self.container.bounds.size.height;
|
||||
CGFloat padding = 10;
|
||||
CGFloat textWidth = containerW - padding * 2;
|
||||
CGSize textSize = [self.myTextLabel sizeThatFits:CGSizeMake(textWidth, CGFLOAT_MAX)];
|
||||
CGFloat textHeight = textSize.height + 12;
|
||||
|
||||
self.myTextLabel.mm_left(padding).mm_top(6).mm_width(textWidth).mm_height(textHeight);
|
||||
|
||||
CGFloat mapTop = self.myTextLabel.mm_y + textHeight;
|
||||
self.mapImage.mm_left(0).mm_top(mapTop).mm_width(containerW).mm_height(containerH - mapTop);
|
||||
|
||||
}
|
||||
@end
|
||||
|
||||
@@ -1,21 +0,0 @@
|
||||
//
|
||||
// MapMessageCustomCellData.h
|
||||
// EscortProject
|
||||
//
|
||||
// Created by 仁康信息 on 2023/7/7.
|
||||
//
|
||||
|
||||
#import "TUIMessageCellData.h"
|
||||
#import <TIMCommon/TUIBubbleMessageCellData.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@interface MapMessageCustomCellData : TUIBubbleMessageCellData
|
||||
|
||||
@property (nonatomic, copy) NSString *text;
|
||||
@property (nonatomic, copy) NSString * MapPictureImg;
|
||||
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
@@ -1,80 +0,0 @@
|
||||
//
|
||||
// MapMessageCustomCellData.m
|
||||
// EscortProject
|
||||
//
|
||||
// Created by 仁康信息 on 2023/7/7.
|
||||
//
|
||||
|
||||
#import "MapMessageCustomCellData.h"
|
||||
#import "MapMessageCustomCell.h"
|
||||
#import<CommonCrypto/CommonDigest.h>
|
||||
|
||||
@implementation MapMessageCustomCellData
|
||||
|
||||
+ (TUIMessageCellData *)getCellData:(V2TIMMessage *)message{
|
||||
// NSDictionary *param = [NSJSONSerialization JSONObjectWithData:message.locationElem.desc options:NSJSONReadingAllowFragments error:nil];
|
||||
MapMessageCustomCellData *cellData = [[MapMessageCustomCellData alloc] initWithDirection:message.isSelf ? MsgDirectionOutgoing : MsgDirectionIncoming];
|
||||
cellData.innerMessage = message;
|
||||
cellData.msgID = message.msgID;
|
||||
cellData.text = message.locationElem.desc;
|
||||
cellData.MapPictureImg = [self mapLocationImage:message.locationElem.longitude Withlation:message.locationElem.latitude];
|
||||
cellData.reuseId = @"MapMessageCustomCell";
|
||||
cellData.showAvatar = true;
|
||||
// cellData.avatarUrl = [NSURL URLWithString:message.faceURL];
|
||||
return cellData;
|
||||
}
|
||||
|
||||
|
||||
+ (NSString *)mapLocationImage:(CGFloat)longLation Withlation:(CGFloat)lation {
|
||||
// 0: self.longLation,self.lation
|
||||
NSString * staciUrl = @"https://restapi.amap.com/v3/staticmap?key=9e4aac9a04b8296e9039adce3b472f28";
|
||||
NSString * mapKey = @"9e4aac9a04b8296e9039adce3b472f28";
|
||||
NSString * loctaionUrl = @"https://a.amap.com/jsapi_demos/static/demo-center/icons/poi-marker-default.png";
|
||||
|
||||
NSString * needMdString = [NSString stringWithFormat:@"key=%@&location=%f,%f&markers=-1,%@,0:%f,%f&size=700*500&zoom=154985aa1abb49ce2daa20d032a374eb58",mapKey,longLation,lation,loctaionUrl,longLation,lation];
|
||||
|
||||
|
||||
NSString * mapUrl = [NSString stringWithFormat:@"%@&location=%f,%f&markers=-1,%@,0:%f,%f&size=700*500&zoom=15&sig=%@",staciUrl,longLation,lation,loctaionUrl,longLation,lation,[self md5:needMdString]];
|
||||
|
||||
return mapUrl;
|
||||
|
||||
|
||||
|
||||
}
|
||||
//md加密
|
||||
+ (NSString *)md5:(NSString *)str
|
||||
{
|
||||
const char *cStr = [str UTF8String];
|
||||
unsigned char result[16];
|
||||
CC_MD5(cStr, strlen(cStr), result); // This is the md5 call
|
||||
return [NSString stringWithFormat:
|
||||
@"%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x",
|
||||
result[0], result[1], result[2], result[3],
|
||||
result[4], result[5], result[6], result[7],
|
||||
result[8], result[9], result[10], result[11],
|
||||
result[12], result[13], result[14], result[15]
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
|
||||
- (CGSize)contentSize
|
||||
{
|
||||
// CGRect rect = [self.text boundingRectWithSize:CGSizeMake(300, MAXFLOAT) options:NSStringDrawingUsesLineFragmentOrigin | NSStringDrawingUsesFontLeading attributes:@{ NSFontAttributeName : [UIFont systemFontOfSize:15] } context:nil];
|
||||
// CGSize size = CGSizeMake(ceilf(rect.size.width)+1, ceilf(rect.size.height));
|
||||
// // 加上气泡边距
|
||||
// size.height += 60;
|
||||
// size.width += 20;
|
||||
// return size;
|
||||
|
||||
|
||||
CGFloat textMaxWidth = 245.f;
|
||||
|
||||
CGSize size = CGSizeMake(textMaxWidth, 170);
|
||||
return size;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
@end
|
||||
+12
-13
@@ -27,11 +27,11 @@
|
||||
|
||||
+ (NSString *)mapLocationImage:(CGFloat)longLation Withlation:(CGFloat)lation {
|
||||
// 0: self.longLation,self.lation
|
||||
NSString * staciUrl = @"https://restapi.amap.com/v3/staticmap?key=9e4aac9a04b8296e9039adce3b472f28";
|
||||
NSString * mapKey = @"9e4aac9a04b8296e9039adce3b472f28";
|
||||
NSString * staciUrl = @"https://restapi.amap.com/v3/staticmap?key=e9926badd26aaa766d13439c88a83f2d";
|
||||
NSString * mapKey = @"e9926badd26aaa766d13439c88a83f2d";
|
||||
NSString * loctaionUrl = @"https://a.amap.com/jsapi_demos/static/demo-center/icons/poi-marker-default.png";
|
||||
|
||||
NSString * needMdString = [NSString stringWithFormat:@"key=%@&location=%f,%f&markers=-1,%@,0:%f,%f&size=700*500&zoom=154985aa1abb49ce2daa20d032a374eb58",mapKey,longLation,lation,loctaionUrl,longLation,lation];
|
||||
NSString * needMdString = [NSString stringWithFormat:@"key=%@&location=%f,%f&markers=-1,%@,0:%f,%f&size=700*500&zoom=15124d58f7223ac9738312a8d187a21f2b",mapKey,longLation,lation,loctaionUrl,longLation,lation];
|
||||
|
||||
|
||||
NSString * mapUrl = [NSString stringWithFormat:@"%@&location=%f,%f&markers=-1,%@,0:%f,%f&size=700*500&zoom=15&sig=%@",staciUrl,longLation,lation,loctaionUrl,longLation,lation,[self md5:needMdString]];
|
||||
@@ -60,18 +60,17 @@
|
||||
|
||||
- (CGSize)contentSize
|
||||
{
|
||||
// CGRect rect = [self.text boundingRectWithSize:CGSizeMake(300, MAXFLOAT) options:NSStringDrawingUsesLineFragmentOrigin | NSStringDrawingUsesFontLeading attributes:@{ NSFontAttributeName : [UIFont systemFontOfSize:15] } context:nil];
|
||||
// CGSize size = CGSizeMake(ceilf(rect.size.width)+1, ceilf(rect.size.height));
|
||||
// // 加上气泡边距
|
||||
// size.height += 60;
|
||||
// size.width += 20;
|
||||
// return size;
|
||||
|
||||
|
||||
CGFloat textMaxWidth = 245.f;
|
||||
CGFloat textLabelWidth = textMaxWidth - 20; // 左右各 10 边距
|
||||
|
||||
CGSize size = CGSizeMake(textMaxWidth, 170);
|
||||
return size;
|
||||
CGRect rect = [self.text boundingRectWithSize:CGSizeMake(textLabelWidth, MAXFLOAT)
|
||||
options:NSStringDrawingUsesLineFragmentOrigin | NSStringDrawingUsesFontLeading
|
||||
attributes:@{ NSFontAttributeName : [UIFont systemFontOfSize:14] }
|
||||
context:nil];
|
||||
CGFloat textHeight = ceil(rect.size.height) + 12; // 上下各 6pt
|
||||
CGFloat totalHeight = textHeight + 140; // 文字 + 地图图片
|
||||
|
||||
return CGSizeMake(textMaxWidth, totalHeight);
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user