>
			<integer>34</integer>
18 18
		</dict>
19 19
	</dict>
20 20
	<key>SuppressBuildableAutocreation</key>

+ 1 - 1
SuperMenu/ReactNative/node_modules/react-native/Libraries/Text/RCTText.xcodeproj/xcuserdata/benny.xcuserdatad/xcschemes/xcschememanagement.plist

@ -14,7 +14,7 @@
14 14
		<key>RCTText.xcscheme_^#shared#^_</key>
15 15
		<dict>
16 16
			<key>orderHint</key>
17
			<integer>33</integer>
17
			<integer>37</integer>
18 18
		</dict>
19 19
	</dict>
20 20
	<key>SuppressBuildableAutocreation</key>

+ 2 - 2
SuperMenu/ReactNative/node_modules/react-native/Libraries/WebSocket/RCTWebSocket.xcodeproj/xcuserdata/benny.xcuserdatad/xcschemes/xcschememanagement.plist

@ -14,7 +14,7 @@
14 14
		<key>RCTWebSocket.xcscheme_^#shared#^_</key>
15 15
		<dict>
16 16
			<key>orderHint</key>
17
			<integer>38</integer>
17
			<integer>24</integer>
18 18
		</dict>
19 19
		<key>fishhook-tvOS.xcscheme_^#shared#^_</key>
20 20
		<dict>
@ -26,7 +26,7 @@
26 26
		<key>fishhook.xcscheme_^#shared#^_</key>
27 27
		<dict>
28 28
			<key>orderHint</key>
29
			<integer>32</integer>
29
			<integer>27</integer>
30 30
		</dict>
31 31
	</dict>
32 32
	<key>SuppressBuildableAutocreation</key>

+ 7 - 7
SuperMenu/ReactNative/node_modules/react-native/React/React.xcodeproj/xcuserdata/benny.xcuserdatad/xcschemes/xcschememanagement.plist

@ -26,7 +26,7 @@
26 26
		<key>cxxreact.xcscheme_^#shared#^_</key>
27 27
		<dict>
28 28
			<key>orderHint</key>
29
			<integer>24</integer>
29
			<integer>26</integer>
30 30
		</dict>
31 31
		<key>double-conversion-tvOS.xcscheme_^#shared#^_</key>
32 32
		<dict>
@ -38,7 +38,7 @@
38 38
		<key>double-conversion.xcscheme_^#shared#^_</key>
39 39
		<dict>
40 40
			<key>orderHint</key>
41
			<integer>22</integer>
41
			<integer>20</integer>
42 42
		</dict>
43 43
		<key>jsi-tvOS.xcscheme_^#shared#^_</key>
44 44
		<dict>
@ -50,7 +50,7 @@
50 50
		<key>jsi.xcscheme_^#shared#^_</key>
51 51
		<dict>
52 52
			<key>orderHint</key>
53
			<integer>23</integer>
53
			<integer>38</integer>
54 54
		</dict>
55 55
		<key>jsiexecutor-tvOS.xcscheme_^#shared#^_</key>
56 56
		<dict>
@ -62,7 +62,7 @@
62 62
		<key>jsiexecutor.xcscheme_^#shared#^_</key>
63 63
		<dict>
64 64
			<key>orderHint</key>
65
			<integer>29</integer>
65
			<integer>35</integer>
66 66
		</dict>
67 67
		<key>jsinspector-tvOS.xcscheme_^#shared#^_</key>
68 68
		<dict>
@ -74,7 +74,7 @@
74 74
		<key>jsinspector.xcscheme_^#shared#^_</key>
75 75
		<dict>
76 76
			<key>orderHint</key>
77
			<integer>30</integer>
77
			<integer>31</integer>
78 78
		</dict>
79 79
		<key>third-party-tvOS.xcscheme_^#shared#^_</key>
80 80
		<dict>
@ -86,7 +86,7 @@
86 86
		<key>third-party.xcscheme_^#shared#^_</key>
87 87
		<dict>
88 88
			<key>orderHint</key>
89
			<integer>25</integer>
89
			<integer>40</integer>
90 90
		</dict>
91 91
		<key>yoga-tvOS.xcscheme_^#shared#^_</key>
92 92
		<dict>
@ -98,7 +98,7 @@
98 98
		<key>yoga.xcscheme_^#shared#^_</key>
99 99
		<dict>
100 100
			<key>orderHint</key>
101
			<integer>28</integer>
101
			<integer>33</integer>
102 102
		</dict>
103 103
	</dict>
104 104
	<key>SuppressBuildableAutocreation</key>

+ 6 - 6
SuperMenu/Res/config/mobile-config.xml

@ -1,11 +1,11 @@
1 1
<?xml version="1.0" encoding="utf-8"?>
2 2
<configs>
3 3
    <!--appstore 正式环境-->
4
<!--    <config name="request_host" value="http://aiipu.com:8083"/>-->
5
<!--    <config name="request_path" value="/superapp"/>-->
4
    <config name="request_host" value="http://aiipu.com:8083"/>
5
    <config name="request_path" value="/superapp"/>
6 6
7
    <config name="request_host" value="http://47.105.130.83:9102"/>
8
    <config name="request_path" value="/superapp-server"/>
7
<!--    <config name="request_host" value="http://47.105.130.83:9102"/>-->
8
<!--    <config name="request_path" value="/superapp-server"/>-->
9 9
10 10
    <!--openUrl测试环境-->
11 11
<!--    <config name="request_host" value="http://121.42.183.206:8083"/>-->
@ -31,11 +31,11 @@
31 31
    
32 32
<!--    <config name="license" value="Ss8N1pg0poGlEJfiY9yulAl5BY0uLIlzEbKKFsErLRz0Ip2VSLU1AifXFHm5qwxT7aQDs60hiiZWFDE-ocfDrJULZ4rgyhlL-Fi-UIoVd/tIT03-FSgnD24T8Bvduxvui6h7cyoo02HZtyhaS-DUqk0jpjGDjMbGYCMjygUpFHE=|@@MDBBNTM1QjIyQ0E4Q0JGNkI3RkUyMDlDRjFBOENCNUQ2NUNBNDhDNjJDOTA1QjY0NTUwNjM2NEQxRjEyMjQ3REJGQzUyQkQ1OEI3OEQ1Q0I5MThDQkM3NzBDODRBMDlBMDZERUU0MTg2OUYzNjJDRUYyNTI3REEyMUI1MTQ4RjNENjcxQjdDRjgxQkQyOEZBNEIxMjcyRTQxMkI0MTI5RjYzQ0I4RTE1NDcwMDRCQjA3QkYxQUVBRDNBN0NCMUJBQUM3RTMwMDcxNjY0MjQ4NzEwODhDQTYwQUJBNUYyNjFEMDUzMEQ1RUY5RTk3MzA2NkRBRUE4QUU4MUE5QTJEMEVC"/>-->
33 33
    
34
   <config name="license" value="e6kzAQDuWRg0qlOA/C0gRKURC-DmUq4J6YPm2P6n5bTeIslX1S54Js405g2E98mNoNOIaWUoKX6kUXZwbe7K0klZh3oV2sL3rL6FCjzeCe2ar47cytXCAEz4e5ubVkJNE/neSMqxj-IzBEvOyOGSowD5znnIi4vizGXwGJJiBWA=|@@MDBBNTM1QjIyQ0E4Q0JGNkI3RkUyMDlDRjFBOENCNUQ2NUNBNDhDNjJDOTA1QjY0NTUwNjM2NEQxRjEyMjQ3REJGQzUyQkQ1OEI3OEQ1Q0I5MThDQkM3NzBDODRBMDlBMDZERUU0MTg2OUYzNjJDRUYyNTI3REEyMUI1MTQ4RjNENjcxQjdDRjgxQkQyOEZBNEIxMjcyRTQxMkI0MTI5RjYzQ0I4RTE1NDcwMDRCQjA3QkYxQUVBRDNBN0NCMUJBQUM3RTMwMDcxNjY0MjQ4NzEwODhDQTYwQUJBNUYyNjFEMDUzMEQ1RUY5RTk3MzA2NkRBRUE4QUU4MUE5QTJEMEVC"/>
34
<!--   <config name="license" value="e6kzAQDuWRg0qlOA/C0gRKURC-DmUq4J6YPm2P6n5bTeIslX1S54Js405g2E98mNoNOIaWUoKX6kUXZwbe7K0klZh3oV2sL3rL6FCjzeCe2ar47cytXCAEz4e5ubVkJNE/neSMqxj-IzBEvOyOGSowD5znnIi4vizGXwGJJiBWA=|@@MDBBNTM1QjIyQ0E4Q0JGNkI3RkUyMDlDRjFBOENCNUQ2NUNBNDhDNjJDOTA1QjY0NTUwNjM2NEQxRjEyMjQ3REJGQzUyQkQ1OEI3OEQ1Q0I5MThDQkM3NzBDODRBMDlBMDZERUU0MTg2OUYzNjJDRUYyNTI3REEyMUI1MTQ4RjNENjcxQjdDRjgxQkQyOEZBNEIxMjcyRTQxMkI0MTI5RjYzQ0I4RTE1NDcwMDRCQjA3QkYxQUVBRDNBN0NCMUJBQUM3RTMwMDcxNjY0MjQ4NzEwODhDQTYwQUJBNUYyNjFEMDUzMEQ1RUY5RTk3MzA2NkRBRUE4QUU4MUE5QTJEMEVC"/>-->
35 35
36 36
37 37
    <!--com.ai.prd.ipu.superapp-->
38
<!--    <config name="license" value="RyVcDpTk8RTVAxuwRgj9Skctd8vFof4MPysC2iwOefDN-GZx/iCs3zRQH1us4vMSiY3pvvesk2yd/7EuNNXrAL/0pm70ZK0UDUgyK3dynloNZWTuqpIZSjeM-AN0Q2nNa5Z-i0ZcBGoYx6tyr85sFkU3alxbnPMbEGW9AN3LpLs=|@@MDA5RkMzMzE5RUU0QzVBQTA5MDdCQ0QxMDJBNTNCQjczNzI2RTY2RjRGOTBDMTI4MTMzMzMwNTQwRDFDMDAwQTkxNjZBMUVCMTAyOTJBMEEzM0MyNDlEOEI2OTc4RUVFNjBDMTJDMkM1RkM5ODgzOTY1RTFEQUNCRkY3NzNGRkE2RDhCNzEwRTJFQUVEMUI4QTlFREQzQ0NFNTk0QTc3OUZFNTMyQTZGNDI0OUFENzc4QjA2RTE4QkNCMTBGRTBGOTM4RENGMDM0Njk3N0Q1Q0VFOTNGOENGNDM3RDFEMzZBMDQ0Njk4MDhGODlENTA5NDkwMzEwQjIxRkYzOEQyREQ5"/>-->
38
    <config name="license" value="RyVcDpTk8RTVAxuwRgj9Skctd8vFof4MPysC2iwOefDN-GZx/iCs3zRQH1us4vMSiY3pvvesk2yd/7EuNNXrAL/0pm70ZK0UDUgyK3dynloNZWTuqpIZSjeM-AN0Q2nNa5Z-i0ZcBGoYx6tyr85sFkU3alxbnPMbEGW9AN3LpLs=|@@MDA5RkMzMzE5RUU0QzVBQTA5MDdCQ0QxMDJBNTNCQjczNzI2RTY2RjRGOTBDMTI4MTMzMzMwNTQwRDFDMDAwQTkxNjZBMUVCMTAyOTJBMEEzM0MyNDlEOEI2OTc4RUVFNjBDMTJDMkM1RkM5ODgzOTY1RTFEQUNCRkY3NzNGRkE2RDhCNzEwRTJFQUVEMUI4QTlFREQzQ0NFNTk0QTc3OUZFNTMyQTZGNDI0OUFENzc4QjA2RTE4QkNCMTBGRTBGOTM4RENGMDM0Njk3N0Q1Q0VFOTNGOENGNDM3RDFEMzZBMDQ0Njk4MDhGODlENTA5NDkwMzEwQjIxRkYzOEQyREQ5"/>
39 39
40 40
    <config name="remote_url" value="http://127.0.0.1:8080/g/withiframe.html" />
41 41
    <config name="local_resources" value="/Res/superApp"/>

+ 9 - 9
SuperMenu/SuperMenu.xcodeproj/project.pbxproj

@ -496,7 +496,7 @@
496 496
		B2FB51242330BB530049903E /* IPUMultiRNViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = IPUMultiRNViewController.m; sourceTree = "<group>"; };
497 497
		EA3F49BC1E890B4B003C86BD /* AppMenuSettingPlugin.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AppMenuSettingPlugin.h; sourceTree = "<group>"; };
498 498
		EA3F49BD1E890B4B003C86BD /* AppMenuSettingPlugin.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AppMenuSettingPlugin.m; sourceTree = "<group>"; };
499
		EA45A58C1E077735001275C9 /* SuperMenu.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = SuperMenu.app; sourceTree = BUILT_PRODUCTS_DIR; };
499
		EA45A58C1E077735001275C9 /* 超级客户端.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "超级客户端.app"; sourceTree = BUILT_PRODUCTS_DIR; };
500 500
		EA45A5901E077735001275C9 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
501 501
		EA45A5921E077735001275C9 /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = "<group>"; };
502 502
		EA45A5931E077735001275C9 /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = "<group>"; };
@ -803,7 +803,7 @@
803 803
		EA45A58D1E077735001275C9 /* Products */ = {
804 804
			isa = PBXGroup;
805 805
			children = (
806
				EA45A58C1E077735001275C9 /* SuperMenu.app */,
806
				EA45A58C1E077735001275C9 /* 超级客户端.app */,
807 807
			);
808 808
			name = Products;
809 809
			sourceTree = "<group>";
@ -874,7 +874,7 @@
874 874
			);
875 875
			name = SuperMenu;
876 876
			productName = SuperMenu;
877
			productReference = EA45A58C1E077735001275C9 /* SuperMenu.app */;
877
			productReference = EA45A58C1E077735001275C9 /* 超级客户端.app */;
878 878
			productType = "com.apple.product-type.application";
879 879
		};
880 880
/* End PBXNativeTarget section */
@ -1452,10 +1452,10 @@
1452 1452
				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
1453 1453
				MARKETING_VERSION = 1.0;
1454 1454
				OTHER_LDFLAGS = "-ObjC";
1455
				PRODUCT_BUNDLE_IDENTIFIER = com.asiainfo.fxd;
1456
				PRODUCT_NAME = "$(TARGET_NAME)";
1455
				PRODUCT_BUNDLE_IDENTIFIER = com.ai.prd.ipu.superapp;
1456
				PRODUCT_NAME = "超级客户端";
1457 1457
				PROVISIONING_PROFILE = "1fe1b48f-fa7c-430c-9199-e359a0f8a9a4";
1458
				PROVISIONING_PROFILE_SPECIFIER = FxdEemo_dev_profile;
1458
				PROVISIONING_PROFILE_SPECIFIER = superapp_dev;
1459 1459
			};
1460 1460
			name = Debug;
1461 1461
		};
@ -1479,10 +1479,10 @@
1479 1479
				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
1480 1480
				MARKETING_VERSION = 1.0;
1481 1481
				OTHER_LDFLAGS = "-ObjC";
1482
				PRODUCT_BUNDLE_IDENTIFIER = com.asiainfo.fxd;
1483
				PRODUCT_NAME = "$(TARGET_NAME)";
1482
				PRODUCT_BUNDLE_IDENTIFIER = com.ai.prd.ipu.superapp;
1483
				PRODUCT_NAME = "超级客户端";
1484 1484
				PROVISIONING_PROFILE = "130e2eb8-1d5b-47ce-b064-2d460d6e024e";
1485
				PROVISIONING_PROFILE_SPECIFIER = FxdDemo_dis_profile;
1485
				PROVISIONING_PROFILE_SPECIFIER = superapp_dis;
1486 1486
			};
1487 1487
			name = Release;
1488 1488
		};

BIN
SuperMenu/SuperMenu.xcworkspace/xcuserdata/benny.xcuserdatad/UserInterfaceState.xcuserstate


+ 1 - 1
SuperMenu/SuperMenu/Info.plist

@ -5,7 +5,7 @@
5 5
	<key>CFBundleDevelopmentRegion</key>
6 6
	<string>en</string>
7 7
	<key>CFBundleDisplayName</key>
8
	<string>新版超客</string>
8
	<string>$(PRODUCT_NAME)</string>
9 9
	<key>CFBundleExecutable</key>
10 10
	<string>$(EXECUTABLE_NAME)</string>
11 11
	<key>CFBundleIdentifier</key>

+ 1 - 1
display-center/ReactNative/node_modules/react-native-gesture-handler/ios/RNGestureHandler.xcodeproj/xcuserdata/benny.xcuserdatad/xcschemes/xcschememanagement.plist

@ -9,7 +9,7 @@
9 9
			<key>isShown</key>
10 10
			<false/>
11 11
			<key>orderHint</key>
12
			<integer>23</integer>
12
			<integer>24</integer>
13 13
		</dict>
14 14
	</dict>
15 15
	<key>SuppressBuildableAutocreation</key>

+ 1 - 1
display-center/ReactNative/node_modules/react-native-webview/ios/RNCWebView.xcodeproj/xcuserdata/benny.xcuserdatad/xcschemes/xcschememanagement.plist

@ -9,7 +9,7 @@
9 9
			<key>isShown</key>
10 10
			<false/>
11 11
			<key>orderHint</key>
12
			<integer>22</integer>
12
			<integer>23</integer>
13 13
		</dict>
14 14
	</dict>
15 15
	<key>SuppressBuildableAutocreation</key>

+ 5 - 3
display-center/Res/config/mobile-action.xml

@ -142,6 +142,8 @@
142 142
    
143 143
    <!-- voice recognition -->
144 144
    <action name="startListen" class="IPUVoicePlugin" method="startListen"></action>
145
    <action name="endListen"   class="IPUVoicePlugin" method="endListen"></action>
146
    <action name="voiceInput"  class="IPUVoicePlugin" method="voiceInput"/>
145 147
    
146 148
<!-- QQ -->
147 149
    <action name="shareTextQQFriend" class="IPUSocialPlugin" method="shareTextQQFriend"></action>
@ -206,9 +208,7 @@
206 208
    <action name="isSetGestureLock"    class="IPUAuthenticationPlugin" method="isSetGestureLock"></action>
207 209
    
208 210
    <action name="makeShortVideo" class="IPUVideoRecordPlugin" method="recordShortVideo"/>
209
    
210
    <action name="voiceInput" class="IPUVoicePlugin" method="voiceInput"/>
211
    
211
212 212
    <!-- OCR识别 -->
213 213
    <action name="getFloCardInfoBD" class="IPUOCRPlugin" method="getFloCardInfoBD"/>
214 214
    <action name="getIdCardInfo" class="IPUOCRPlugin" method="getIdCardInfo"/>
@ -218,4 +218,6 @@
218 218
    <action name="noStatusScreenCapture"  class="IPUScreenCapture"   method="noStatusScreenCapture"/>
219 219
    <action name="handMovementScreenCapture"  class="IPUScreenCapture"   method="handMovementScreenCapture"/>
220 220
    <action name="webviewScreenCapture"  class="IPUScreenCapture"   method="webviewScreenCapture"/>
221
    
222
    <action name="setSmsListener" class="IPUVerifyCodePlugin" method="setSmsListener"/>
221 223
</actions>

+ 6 - 4
display-center/Res/config/mobile-config.xml

@ -1,10 +1,10 @@
1 1
<?xml version="1.0" encoding="utf-8"?>
2 2
<configs>
3 3
    <config name="request_host" value="http://www.aiipu.com:8083"/>
4
<!--    <config name="request_path" value="/show"/> -->
5
6
<!--    <config name="request_host" value="http://121.42.183.206:8082"/> -->
7 4
    <config name="request_path" value="/show"/>
5
6
<!--    <config name="request_host" value="http://192.168.1.170:8070"/>-->
7
<!--    <config name="request_path" value="/show-server"/>-->
8 8
    
9 9
    <config name="request_servlet" value="/mobiledata"/>
10 10
    <config name="loading_page" value="Res/local/welcome.html"/>
@ -35,9 +35,11 @@
35 35
    <config name="download_hint" value="false"/>
36 36
    <config name="gesture_switch" value="on"/>
37 37
    
38
    <config name="isUpdateFromFim" value="true"/>
38
    <config name="isUpdateFromFim" value="false"/>
39 39
    <config name="fim_apiToken" value="5f8bf3c4235eb8320632da3373a8dcf3"/>
40 40
    
41
    <config name="WebView" value="UIWebView"/>
42
    
41 43
    <config name="debug" value="false"/>
42 44
    <!-- 调试ReactNative时本机IP -->
43 45
    <config name="debug_mac_ip" value="http://192.168.3.182:8081"/>

+ 8 - 8
display-center/display-center.xcodeproj/project.pbxproj

@ -35,7 +35,6 @@
35 35
		B21D12BB2407744B0090B887 /* IPUVoiceResource.bundle in Resources */ = {isa = PBXBuildFile; fileRef = B21D12BA2407744B0090B887 /* IPUVoiceResource.bundle */; };
36 36
		B21D12BE240774D10090B887 /* IPUVoice.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B21D12BC240774C70090B887 /* IPUVoice.framework */; };
37 37
		B21D12BF240774D10090B887 /* IPUVoice.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = B21D12BC240774C70090B887 /* IPUVoice.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
38
		B21D13132407D16A0090B887 /* AppJSObject.m in Sources */ = {isa = PBXBuildFile; fileRef = B21D13122407D16A0090B887 /* AppJSObject.m */; };
39 38
		B21EED3F236C0BED00D7427D /* libstdc++.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = B21EED16236C0BED00D7427D /* libstdc++.tbd */; };
40 39
		B247A76C20E0D33B00117A38 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B247A76B20E0D33A00117A38 /* UIKit.framework */; };
41 40
		B247A76E20E0D34100117A38 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B247A76D20E0D34100117A38 /* Foundation.framework */; };
@ -66,6 +65,7 @@
66 65
		B264A22622B3306600714D0D /* libRNCWebView.a in Frameworks */ = {isa = PBXBuildFile; fileRef = B264A21622B3301900714D0D /* libRNCWebView.a */; };
67 66
		B264A22722B3306E00714D0D /* libRNVectorIcons.a in Frameworks */ = {isa = PBXBuildFile; fileRef = B264A21D22B3303100714D0D /* libRNVectorIcons.a */; };
68 67
		B264A22822B3307800714D0D /* libRNGestureHandler.a in Frameworks */ = {isa = PBXBuildFile; fileRef = B264A22522B3305900714D0D /* libRNGestureHandler.a */; };
68
		B26CCDB0246BE113003117BA /* IPUKeepAppAliveService.m in Sources */ = {isa = PBXBuildFile; fileRef = B26CCDAF246BE113003117BA /* IPUKeepAppAliveService.m */; };
69 69
		B26F23A72457CE7D0094C0AD /* IPUViewController+IPUOverrideJSAlert.m in Sources */ = {isa = PBXBuildFile; fileRef = B26F23A62457CE7D0094C0AD /* IPUViewController+IPUOverrideJSAlert.m */; };
70 70
		B2773779244D9096004A361C /* mapapi.bundle in Resources */ = {isa = PBXBuildFile; fileRef = B2773778244D9096004A361C /* mapapi.bundle */; };
71 71
		B278AAFF23C474AE00FA2532 /* l_image.png in Resources */ = {isa = PBXBuildFile; fileRef = B278AAFE23C474AD00FA2532 /* l_image.png */; };
@ -472,8 +472,6 @@
472 472
		B21D1282240769770090B887 /* libsqlite3.0.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libsqlite3.0.tbd; path = usr/lib/libsqlite3.0.tbd; sourceTree = SDKROOT; };
473 473
		B21D12BA2407744B0090B887 /* IPUVoiceResource.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; name = IPUVoiceResource.bundle; path = ../IPUCommon/IPUVoiceResource.bundle; sourceTree = "<group>"; };
474 474
		B21D12BC240774C70090B887 /* IPUVoice.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IPUVoice.framework; path = ../IPUCommon/IPUVoice.framework; sourceTree = "<group>"; };
475
		B21D13112407D16A0090B887 /* AppJSObject.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppJSObject.h; sourceTree = "<group>"; };
476
		B21D13122407D16A0090B887 /* AppJSObject.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppJSObject.m; sourceTree = "<group>"; };
477 475
		B21EED16236C0BED00D7427D /* libstdc++.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = "libstdc++.tbd"; path = "Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/usr/lib/libstdc++.tbd"; sourceTree = DEVELOPER_DIR; };
478 476
		B247A76B20E0D33A00117A38 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; };
479 477
		B247A76D20E0D34100117A38 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
@ -507,6 +505,8 @@
507 505
		B264A21122B3301900714D0D /* RNCWebView.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RNCWebView.xcodeproj; path = "ReactNative/node_modules/react-native-webview/ios/RNCWebView.xcodeproj"; sourceTree = "<group>"; };
508 506
		B264A21722B3303100714D0D /* RNVectorIcons.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RNVectorIcons.xcodeproj; path = "ReactNative/node_modules/react-native-vector-icons/RNVectorIcons.xcodeproj"; sourceTree = "<group>"; };
509 507
		B264A22022B3305800714D0D /* RNGestureHandler.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RNGestureHandler.xcodeproj; path = "ReactNative/node_modules/react-native-gesture-handler/ios/RNGestureHandler.xcodeproj"; sourceTree = "<group>"; };
508
		B26CCD86246BE10F003117BA /* IPUKeepAppAliveService.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IPUKeepAppAliveService.h; sourceTree = "<group>"; };
509
		B26CCDAF246BE113003117BA /* IPUKeepAppAliveService.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IPUKeepAppAliveService.m; sourceTree = "<group>"; };
510 510
		B26F23A52457CE7D0094C0AD /* IPUViewController+IPUOverrideJSAlert.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "IPUViewController+IPUOverrideJSAlert.h"; sourceTree = "<group>"; };
511 511
		B26F23A62457CE7D0094C0AD /* IPUViewController+IPUOverrideJSAlert.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "IPUViewController+IPUOverrideJSAlert.m"; sourceTree = "<group>"; };
512 512
		B2773778244D9096004A361C /* mapapi.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; name = mapapi.bundle; path = ../IPUCommon/IPUBaiduMap.framework/mapapi.bundle; sourceTree = "<group>"; };
@ -931,8 +931,8 @@
931 931
				A7DB7400239FB30800EAB5EB /* IPUBaiduMapPaoPaoView.m */,
932 932
				A764026123AB0DC70073FC36 /* IPUAppDelegate+IPUBaiduCustomPaoPaoViewAppdelegate.h */,
933 933
				A764028A23AB0DC90073FC36 /* IPUAppDelegate+IPUBaiduCustomPaoPaoViewAppdelegate.m */,
934
				B21D13112407D16A0090B887 /* AppJSObject.h */,
935
				B21D13122407D16A0090B887 /* AppJSObject.m */,
934
				B26CCD86246BE10F003117BA /* IPUKeepAppAliveService.h */,
935
				B26CCDAF246BE113003117BA /* IPUKeepAppAliveService.m */,
936 936
				EA87124B1ECD8B580045E19A /* Assets.xcassets */,
937 937
				EA87124D1ECD8B580045E19A /* LaunchScreen.storyboard */,
938 938
				EA8712501ECD8B580045E19A /* Info.plist */,
@ -1439,7 +1439,7 @@
1439 1439
				B2C8BE0621A7E5FA0009FED8 /* IpuSuspendMenuView.m in Sources */,
1440 1440
				B2C8BE0321A7E5FA0009FED8 /* IpuSuspendButton.m in Sources */,
1441 1441
				B202464923AA2504004215F6 /* AppDelegate+NetworkObserver.m in Sources */,
1442
				B21D13132407D16A0090B887 /* AppJSObject.m in Sources */,
1442
				B26CCDB0246BE113003117BA /* IPUKeepAppAliveService.m in Sources */,
1443 1443
				B2FF4F0221D4F33800EAE775 /* PhoneNumber.m in Sources */,
1444 1444
				B26F23A72457CE7D0094C0AD /* IPUViewController+IPUOverrideJSAlert.m in Sources */,
1445 1445
				A7DB7401239FB30800EAB5EB /* IPUBaiduMapPaoPaoView.m in Sources */,
@ -1592,7 +1592,7 @@
1592 1592
				PRODUCT_BUNDLE_IDENTIFIER = com.ai.prd.ipu.show;
1593 1593
				PRODUCT_NAME = "$(TARGET_NAME)";
1594 1594
				PROVISIONING_PROFILE = "";
1595
				PROVISIONING_PROFILE_SPECIFIER = IPUSHOW_DEV;
1595
				PROVISIONING_PROFILE_SPECIFIER = ipushow_dev;
1596 1596
				REACT_NATIVE_ARCHIVE = 0;
1597 1597
			};
1598 1598
			name = Debug;
@ -1627,7 +1627,7 @@
1627 1627
				PRODUCT_BUNDLE_IDENTIFIER = com.ai.prd.ipu.show;
1628 1628
				PRODUCT_NAME = "$(TARGET_NAME)";
1629 1629
				PROVISIONING_PROFILE = "";
1630
				PROVISIONING_PROFILE_SPECIFIER = IPUSHOW_DIS;
1630
				PROVISIONING_PROFILE_SPECIFIER = ipushow_dis;
1631 1631
				REACT_NATIVE_ARCHIVE = 0;
1632 1632
			};
1633 1633
			name = Release;

+ 3 - 3
display-center/display-center.xcworkspace/contents.xcworkspacedata

@ -2,13 +2,13 @@
2 2
<Workspace
3 3
   version = "1.0">
4 4
   <FileRef
5
      location = "group:../../iOS/IPUMobile/IPUMobile.xcodeproj">
5
      location = "group:../../iOS/IPUFoundation/IPUFoundation.xcodeproj">
6 6
   </FileRef>
7 7
   <FileRef
8
      location = "group:../IPUMobileFunc/IPUMobileFunc.xcodeproj">
8
      location = "group:../../iOS/IPUMobile/IPUMobile.xcodeproj">
9 9
   </FileRef>
10 10
   <FileRef
11
      location = "group:../../iOS/IPUMobileUI/IPUMobileUI.xcodeproj">
11
      location = "group:../IPUMobileFunc/IPUMobileFunc.xcodeproj">
12 12
   </FileRef>
13 13
   <FileRef
14 14
      location = "group:display-center.xcodeproj">

BIN
display-center/display-center.xcworkspace/xcuserdata/benny.xcuserdatad/UserInterfaceState.xcuserstate


+ 79 - 15
display-center/display-center.xcworkspace/xcuserdata/benny.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist

@ -18,48 +18,112 @@
18 18
      <BreakpointProxy
19 19
         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
20 20
         <BreakpointContent
21
            uuid = "C6842292-0DD2-415D-83F4-BD3A76EB27E7"
21
            uuid = "582BF3F5-617B-4638-8FB9-D485A323FD4B"
22 22
            shouldBeEnabled = "Yes"
23 23
            ignoreCount = "0"
24 24
            continueAfterRunningActions = "No"
25
            filePath = "display-center/UIWebView+Addition.m"
25
            filePath = "../../iOS/IPUMobile/IPUMobile/Common/App/IPUAutoUpdate.m"
26 26
            startingColumnNumber = "9223372036854775807"
27 27
            endingColumnNumber = "9223372036854775807"
28
            startingLineNumber = "20"
29
            endingLineNumber = "20"
30
            landmarkName = "-willPresentAlertView:"
28
            startingLineNumber = "67"
29
            endingLineNumber = "67"
30
            landmarkName = "+requestUpdateDataFromFir"
31 31
            landmarkType = "7">
32 32
         </BreakpointContent>
33 33
      </BreakpointProxy>
34 34
      <BreakpointProxy
35 35
         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
36 36
         <BreakpointContent
37
            uuid = "441C05EF-7A43-4557-AB2E-736A50F47063"
37
            uuid = "6A02F1F1-AE6C-4E95-AF38-3B52F418FC39"
38 38
            shouldBeEnabled = "Yes"
39 39
            ignoreCount = "0"
40 40
            continueAfterRunningActions = "No"
41
            filePath = "display-center/IPUViewController+OverrideJSAlert.m"
41
            filePath = "../../iOS/IPUMobile/IPUMobile/Common/App/IPUAutoUpdate.m"
42 42
            startingColumnNumber = "9223372036854775807"
43 43
            endingColumnNumber = "9223372036854775807"
44
            startingLineNumber = "38"
45
            endingLineNumber = "38"
46
            landmarkName = "-overrideJSAlert_webViewDidFinishLoad:"
44
            startingLineNumber = "75"
45
            endingLineNumber = "75"
46
            landmarkName = "+requestUpdateDataFromFir"
47 47
            landmarkType = "7">
48 48
         </BreakpointContent>
49 49
      </BreakpointProxy>
50 50
      <BreakpointProxy
51 51
         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
52 52
         <BreakpointContent
53
            uuid = "86E314B0-CFD6-4347-8FB1-B2E6DB34532F"
53
            uuid = "08EDEFEB-71B2-4EFB-B1F9-009210473ACD"
54 54
            shouldBeEnabled = "Yes"
55 55
            ignoreCount = "0"
56 56
            continueAfterRunningActions = "No"
57
            filePath = "display-center/IPUViewController+OverrideJSAlert.m"
57
            filePath = "../../iOS/IPUMobile/IPUMobile/Dependences/GRMustache/classes/Runtime/GRMustacheContext.m"
58 58
            startingColumnNumber = "9223372036854775807"
59 59
            endingColumnNumber = "9223372036854775807"
60
            startingLineNumber = "32"
61
            endingLineNumber = "32"
62
            landmarkName = "-overrideJSAlert_webViewDidFinishLoad:"
60
            startingLineNumber = "504"
61
            endingLineNumber = "504"
62
            landmarkName = "-valueForMustacheKey:protected:"
63
            landmarkType = "7">
64
         </BreakpointContent>
65
      </BreakpointProxy>
66
      <BreakpointProxy
67
         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
68
         <BreakpointContent
69
            uuid = "0B263F44-49DA-4EBB-82EA-13C5A41C1A7E"
70
            shouldBeEnabled = "Yes"
71
            ignoreCount = "0"
72
            continueAfterRunningActions = "No"
73
            filePath = "../../iOS/IPUMobile/IPUMobile/IPUViewController.m"
74
            startingColumnNumber = "9223372036854775807"
75
            endingColumnNumber = "9223372036854775807"
76
            startingLineNumber = "530"
77
            endingLineNumber = "530"
78
            landmarkName = "-webView:runJavaScriptTextInputPanelWithPrompt:defaultText:initiatedByFrame:completionHandler:"
79
            landmarkType = "7">
80
         </BreakpointContent>
81
      </BreakpointProxy>
82
      <BreakpointProxy
83
         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
84
         <BreakpointContent
85
            uuid = "7AF98E6D-5C8C-4E0C-AAAC-F788CA7AA4B8"
86
            shouldBeEnabled = "Yes"
87
            ignoreCount = "0"
88
            continueAfterRunningActions = "No"
89
            filePath = "../../iOS/IPUMobile/IPUMobile/IPUViewController.m"
90
            startingColumnNumber = "9223372036854775807"
91
            endingColumnNumber = "9223372036854775807"
92
            startingLineNumber = "644"
93
            endingLineNumber = "644"
94
            landmarkName = "-webView:didFailNavigation:withError:"
95
            landmarkType = "7">
96
         </BreakpointContent>
97
      </BreakpointProxy>
98
      <BreakpointProxy
99
         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
100
         <BreakpointContent
101
            uuid = "FD19D7B6-6219-4AAC-A65E-267AB2D4350D"
102
            shouldBeEnabled = "Yes"
103
            ignoreCount = "0"
104
            continueAfterRunningActions = "No"
105
            filePath = "../IPUMobileFunc/IPUMobileFunc/IPUStoragePlugin.m"
106
            startingColumnNumber = "9223372036854775807"
107
            endingColumnNumber = "9223372036854775807"
108
            startingLineNumber = "150"
109
            endingLineNumber = "150"
110
            landmarkName = "-getOfflineCache:"
111
            landmarkType = "7">
112
         </BreakpointContent>
113
      </BreakpointProxy>
114
      <BreakpointProxy
115
         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
116
         <BreakpointContent
117
            uuid = "AC30E8D5-CE70-476B-A3F1-F199F1FA3F7D"
118
            shouldBeEnabled = "Yes"
119
            ignoreCount = "0"
120
            continueAfterRunningActions = "No"
121
            filePath = "../IPUMobileFunc/IPUMobileFunc/IPUStoragePlugin.m"
122
            startingColumnNumber = "9223372036854775807"
123
            endingColumnNumber = "9223372036854775807"
124
            startingLineNumber = "196"
125
            endingLineNumber = "196"
126
            landmarkName = "-getOfflineCache:"
63 127
            landmarkType = "7">
64 128
         </BreakpointContent>
65 129
      </BreakpointProxy>

+ 65 - 1
display-center/display-center/AppDelegate.mm

@ -20,7 +20,11 @@
20 20
#import <IPUAMap/IPUAMap.h>
21 21
#import <IPUBaiduMap/IPUBaiduMap.h>
22 22
23
@interface AppDelegate () <IPUURLRequestDelegate>
23
#import <CoreLocation/CoreLocation.h>
24
25
@interface AppDelegate () <IPUURLRequestDelegate, CLLocationManagerDelegate>
26
27
@property (nonatomic, strong) CLLocationManager *manager;
24 28
25 29
@end
26 30
@ -68,6 +72,8 @@
68 72
    
69 73
    [super application:application didFinishLaunchingWithOptions:launchOptions];
70 74
    
75
    [self keepAlive];
76
    
71 77
    return YES;
72 78
}
73 79
@ -82,4 +88,62 @@
82 88
    return nil;
83 89
}
84 90
91
// 应用保活
92
/*
93
 kCLAuthorizationStatusNotDetermined
94
 kCLAuthorizationStatusRestricted
95
 kCLAuthorizationStatusDenied
96
 kCLAuthorizationStatusAuthorizedAlways
97
 kCLAuthorizationStatusAuthorizedWhenInUse
98
 kCLAuthorizationStatusAuthorized
99
 */
100
- (void)keepAlive {
101
    if (![CLLocationManager locationServicesEnabled]) {
102
        NSLog(@"CLLocationManager locationServices Disabled !");
103
        return;
104
    }
105
    
106
    CLAuthorizationStatus status = [CLLocationManager authorizationStatus];
107
    switch (status) {
108
        case kCLAuthorizationStatusNotDetermined:
109
            NSLog(@"kCLAuthorizationStatusNotDetermined %d", status);
110
            break;
111
            
112
        case kCLAuthorizationStatusRestricted:
113
            NSLog(@"kCLAuthorizationStatusRestricted %d", status);
114
            break;
115
            
116
        case kCLAuthorizationStatusDenied:
117
            NSLog(@"kCLAuthorizationStatusDenied %d", status);
118
            break;
119
            
120
        case kCLAuthorizationStatusAuthorizedAlways:
121
            NSLog(@"kCLAuthorizationStatusAuthorizedAlways %d", status);
122
            break;
123
            
124
        case kCLAuthorizationStatusAuthorizedWhenInUse:
125
            NSLog(@"kCLAuthorizationStatusAuthorizedWhenInUse %d", status);
126
            break;
127
            
128
        default:
129
            break;
130
    }
131
132
    CLLocationManager *manager = [[CLLocationManager alloc] init];
133
    self.manager = manager;
134
    manager.delegate = self;
135
    [manager requestAlwaysAuthorization];
136
    [manager startUpdatingLocation];
137
}
138
139
#pragma mark - CLLocationManagerDelegate
140
141
- (void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray<CLLocation *> *)locations {
142
    NSLog(@"%s   %@", __func__, locations.firstObject);
143
}
144
145
- (void)locationManager:(CLLocationManager *)manager didFailWithError:(NSError *)error {
146
    NSLog(@"%s   %@", __func__, error);
147
}
148
85 149
@end

+ 0 - 27
display-center/display-center/AppJSObject.h

@ -1,27 +0,0 @@
1
//
2
//     ***   * * * *  *     *
3
//     *    *     *  *     *
4
//    *    * * * *  *     *
5
//   *    *        *     *
6
// ***   *        * * * *
7
//
8
//  AppJSObject.h
9
//  display-center
10
//  Created by Benny (AsiaInfo PRD IPU) on 2020/2/27 18:28.
11
//  Copyright © 2020 shelomi. All rights reserved.
12
//
13
        
14
#import <Foundation/Foundation.h>
15
#import <JavaScriptCore/JavaScriptCore.h>
16
17
@protocol AppJSObjectDelegate <JSExport>
18
19
- (void)test:(NSString *)string;
20
21
@end
22
23
@interface AppJSObject : NSObject <AppJSObjectDelegate>
24
25
@property (nonatomic, weak) id <AppJSObjectDelegate> delegate;
26
27
@end

+ 0 - 25
display-center/display-center/AppJSObject.m

@ -1,25 +0,0 @@
1
//
2
//     ***   * * * *  *     *
3
//     *    *     *  *     *
4
//    *    * * * *  *     *
5
//   *    *        *     *
6
// ***   *        * * * *
7
//
8
//  AppJSObject.m
9
//  display-center
10
//  Created by Benny (AsiaInfo PRD IPU) on 2020/2/27 18:28.
11
//  Copyright © 2020 shelomi. All rights reserved.
12
//
13
        
14
15
#import "AppJSObject.h"
16
17
@implementation AppJSObject
18
19
- (void)test:(NSString *)string {
20
    NSLog(@":::::::::::::::::::::");
21
    NSLog(@"%@", string);
22
    NSLog(@":::::::::::::::::::::");
23
}
24
25
@end

+ 27 - 0
display-center/display-center/IPUKeepAppAliveService.h

@ -0,0 +1,27 @@
1
//
2
//     ***   * * * *  *     *
3
//     *    *     *  *     *
4
//    *    * * * *  *     *
5
//   *    *        *     *
6
// ***   *        * * * *
7
//
8
//  IPUKeepAppAliveService.h
9
//  DisplayClient
10
//  Created by Benny (AsiaInfo PRD IPU) on 2020/5/13 15:53.
11
//  Copyright © 2020 ai. All rights reserved.
12
//
13
    
14
15
#import <Foundation/Foundation.h>
16
17
// 应用保活方式,默认使用 IPUKeepAppAliveTypeAudio
18
typedef NS_ENUM(NSInteger, IPUKeepAppAliveType) {
19
    IPUKeepAppAliveTypeAudio     = 0,
20
    IPUKeepAppAliveTypeLocation
21
};
22
23
@interface IPUKeepAppAliveService : NSObject
24
25
@property (nonatomic, assign) IPUKeepAppAliveType type;
26
27
@end

+ 40 - 0
display-center/display-center/IPUKeepAppAliveService.m

@ -0,0 +1,40 @@
1
//
2
//     ***   * * * *  *     *
3
//     *    *     *  *     *
4
//    *    * * * *  *     *
5
//   *    *        *     *
6
// ***   *        * * * *
7
//
8
//  IPUKeepAppAliveService.m
9
//  DisplayClient
10
//  Created by Benny (AsiaInfo PRD IPU) on 2020/5/13 15:53.
11
//  Copyright © 2020 ai. All rights reserved.
12
//
13
        
14
#import "IPUKeepAppAliveService.h"
15
16
@implementation IPUKeepAppAliveService
17
18
static IPUKeepAppAliveService *_sharedService = nil;
19
20
+ (instancetype)allocWithZone:(struct _NSZone *)zone {
21
    static dispatch_once_t onceToken;
22
    dispatch_once(&onceToken, ^{
23
        _sharedService = [super allocWithZone:zone];
24
    });
25
    return _sharedService;
26
}
27
28
+ (instancetype)sharedService {
29
    return [[self alloc] init];
30
}
31
32
- (id)copyWithZone:(NSZone *)zone {
33
    return _sharedService;
34
}
35
36
- (id)mutableCopyWithZone:(NSZone *)zone {
37
    return _sharedService;
38
}
39
40
@end

+ 28 - 8
display-center/display-center/IPUViewController+IPUOverrideJSAlert.m

@ -18,21 +18,41 @@
18 18
@implementation IPUViewController (IPUOverrideJSAlert)
19 19
20 20
+ (void)load {
21
//    return;
22
    
21 23
    NSError *error = nil;
22 24
    [self jr_swizzleMethod:@selector(webViewDidFinishLoad:)
23 25
                withMethod:@selector(ipuOverride_webViewDidFinishLoad:)
24 26
                     error:&error];
27
    if (error) {
28
        NSLog(@"%@", error);
29
    }
25 30
}
26 31
27 32
- (void)ipuOverride_webViewDidFinishLoad:(UIWebView *)webView {
28
    JSContext *cntextx = [webView valueForKeyPath:@"documentView.webView.mainFrame.javaScriptContext"];
29
    ctx[@"window"][@"alert"] = ^(JSValue *message) {
30
        UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"请勿使用JS中的'alert',可使用toast或者tip插件"
31
                                                        message:[message toString]
32
                                                       delegate:nil
33
                                              cancelButtonTitle:@"OK"
34
                                              otherButtonTitles:nil];
35
        [alert show];
33
    JSContext *contexntext = [webView valueForKeyPath:@"documentView.webView.mainFrame.javaScriptContext"];
34
    context[@"ipuPluginExcute"] = ^() {
35
        // 定义的原生方法
36
        NSArray *args = [JSContext currentArguments];
37
        
38
        NSArray *params = [(JSValue *)args[0] toArray];
39
        
40
        NSString *action = params[0];
41
        NSString *callbackID = params[1];
42
        NSArray *param = [IPUJSONHelper toArray:params[2]];
43
        
44
        NSLog(@"::::::::::::::::::");
45
        NSLog(@"当前线程: %@", [NSThread currentThread]);
46
        NSLog(@"插件Action: %@", action);
47
        NSLog(@"参数: %@", param);
48
        NSLog(@"::::::::::::::::::");
49
        
50
        dispatch_async(dispatch_get_main_queue(), ^{
51
            [IPUPluginManager execute:self
52
                               action:action
53
                           arrayParam:param
54
                             callback:callbackID];
55
        });
36 56
    };
37 57
    
38 58
    [self ipuOverride_webViewDidFinishLoad:webView];

+ 0 - 24
display-center/display-center/ViewController.m

@ -17,8 +17,6 @@
17 17
18 18
#import <objc/runtime.h>
19 19
20
#import "AppJSObject.h"
21
22 20
@interface ViewController ()
23 21
24 22
@property (nonatomic, strong) IpuSuspendButton *button;
@ -104,28 +102,6 @@
104 102
105 103
- (void)webViewDidFinishLoad:(UIWebView *)webView {
106 104
    [super webViewDidFinishLoad:webView];
107
108
    /*
109
     NSString *pageAction = [webView valueForKey:@"pageAction"];
110
     NSLog(@"pageAction");
111
     if ([pageAction isEqualToString:@"Basic"]) {
112
     JSContext *context = [webView valueForKeyPath:@"documentView.webView.mainFrame.javaScriptContext"];
113
     context[@"ipuPluginExcute"] = ^() {
114
     // 定义的原生方法
115
     NSArray *args = [JSContext currentArguments];
116
     
117
     NSArray *params = [(JSValue *)args[0] toArray];
118
     
119
     NSString *action = params[0];
120
     NSString *callbackID = params[1];
121
     NSArray *param = [IPUJSONHelper toArray:params[2]];
122
     
123
     dispatch_async(dispatch_get_main_queue(), ^{
124
     [IPUPluginManager execute:self action:action arrayParam:params callback:callbackID];
125
     });
126
     };
127
     }
128
     */
129 105
    
130 106
    return;
131 107
    

Merge branch 'master' of · af0c4f78fa - Nuosi Git Service
浏览代码

Merge branch 'master' of
http://114.215.100.48:3000/ipu/android-share.git

Conflicts:
display-client/.classpath
display-client/.gitignore
display-client/assets/mobile-config.xml

yangbiao 9 年之前
父节点
当前提交
af0c4f78fa

+ 9 - 0
display-client/.classpath

@ -0,0 +1,9 @@
1
<?xml version="1.0" encoding="UTF-8"?>
2
<classpath>
3
	<classpathentry kind="src" path="gen"/>
4
	<classpathentry kind="src" path="src"/>
5
	<classpathentry exported="true" kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/>
6
	<classpathentry exported="true" kind="con" path="com.android.ide.eclipse.adt.DEPENDENCIES"/>
7
	<classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/>
8
	<classpathentry kind="output" path="bin/classes"/>
9
</classpath>

+ 1 - 1
display-client/AndroidManifest.xml

@ -2,7 +2,7 @@
2 2
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
3 3
    package="com.ai.mobile.display"
4 4
    android:versionCode="1"
5
    android:versionName="1.0" >
5
    android:versionName="1.1" >
6 6
7 7
    <uses-sdk
8 8
        android:minSdkVersion="8"

+ 3 - 3
display-client/assets/mobile-config.xml

@ -1,7 +1,7 @@
1 1
<?xml version="1.0" encoding="utf-8"?>
2 2
<configs>
3 3
    <!-- 请求主机名或请求地址。包括服务器的ip地址和端口 -->
4
	<config name="request_host" value="http://192.168.57.1:8080"/>
4
	<config name="request_host" value="http://114.215.100.48:8080"/>
5 5
	<!-- 必须。10.0.2.2为Android模拟器的保留ip地址。访问到本机电脑时使用 -->
6 6
	<!-- <config name="request_host" value="http://10.0.2.2:8080"/> -->
7 7
	<!-- 必须。容器应用名或请求根路径 -->
@ -15,7 +15,7 @@
15 15
	<!-- 非必须, 默认false。是否开启多WebView模式 -->
16 16
	<config name="is_mult_webview" value="true"/>
17 17
	<!-- 必须。应用license -->
18
	<config name="license" value="I7UDXSP5rnpSzNJtU7ly436FUmopAMW2/DzYMDqqm0Tou2pls9rLL89Onm2jsOwBFDESRoPrOZ-Ab72cr30YbRC7ihzKigq9aFDyMZrdJVVrmjpUY1zPpiYThfeo9OTO8LAU5jFKizjl6thuQjWMAcmKCG4HRVaf/28gU/O/bZI=|@@MDA4Q0RGRDc0MDZGQzFFNzRBRDQ3RUJCRTlBNUQ2OTNBNDgzRTM5OTEzQTk0N0FGRjQ3MkQ2OTc3QTk1MzJEMDIzNUQ2NTgyQjRFOTI4ODQ4N0U3Nzc0MTY3NTY4OUNBQTU1NDg2NkI3MDNDQ0JFMDgxREM4OTU2NkU2N0I2NzRDMzBENDU4QzdDQTY3NjUxNjQwMzA5QzE2RDI1OTlGNTFERTRCQzUzRTJDOEVDMUQyODdGNThBMzk3RDdEMjE4NjIyMkI5OUQyNDVEQ0RGRTk4MTg0Qjc3NDI4MjhFRjUzMjNFRjI3ODVDQzU3NDdCQTM2NTgyRkU0RDNDMEFCMUE1" ></config>
18
	<config name="license" value="DshTMgSyj5B9ww32G72OhQ2yUv4Qp3PHHpqG8WX9LugEMQb2/CBRLUXzBHX9ro1WWNDqT9UICi8B24eYyykNosV4yk1SgYyDL61leCi-UzHY3dbcG1hJqZlZpvL2kQUqQVBo-o83KY8VlPGgY-Ci1gHJuomqI-I03vlkhv0bvec=|@@MDA5QkQ3MUQxNkQ0NTE3QzhGNEVGNDk4OTk2MzU0QkM0NEFERjc0ODQwOEU5NDFFOTQ2RUJFNDdFNTAyMTI1QTYzNDdFQTJFMjAxRURGRjFDQzcxNjRGNzlERTFFNDBBMTY3OEM5QkE1NDhBOUM3NzNBMDI1RUY2N0QyMTlFOUNDRjdEMDAyRDI2QzVDQTQ4NTREMDlFMDMwNjJCOTM5OTRFQTJBOUU3RkYxMEYwMzE5NUYxNjU0RTUzMTVFMUM1QjYxMzY2REYwOUFGNDI5QkMzRTY2MzA5QzNEMTVEMEUxNUM2MUNGQTk4NTk3RDAzRjY2OEEzMjNFNDc0ODA3MTY5" ></config>
19 19
	<!-- 非必须。进入应用时的欢迎页面 --><!-- file:///android_asset为固定写法,表示工程的asset目录 -->
20 20
	<config name="loading_page" value="file:///android_asset/local/welcome.html"/>
21 21
	<!-- 非必须。更新应用的url -->
@ -38,4 +38,4 @@
38 38
	<config name="loadurl_timeout" value="20000"/>
39 39
	<!-- 非必须,默认false。打开调试模式,不再比对资源版本,客户端每次下载所有资源-->
40 40
	<!-- <config name="is_debug" value="true"/> -->
41
</configs>
41
</configs>

+ 2 - 2
display-client/project.properties

@ -12,6 +12,6 @@
12 12
13 13
# Project target.
14 14
target=android-15
15
android.library.reference.1=../wade-mobile-lib
16
android.library.reference.2=../../android/wade-mobile-com
15
android.library.reference.1=..\\wade-mobile-lib
16
android.library.reference.2=../wade-mobile-common
17 17
proguard.config=proguard-project.txt

二进制
display-client/res/drawable-hdpi/ic_launcher.png


二进制
display-client/res/drawable-mdpi/ic_launcher.png


二进制
display-client/res/drawable-xhdpi/ic_launcher.png


+ 0 - 1
display-client/src/com/ai/mobile/display/MainActivity.java

@ -18,7 +18,6 @@ public class MainActivity extends TemplateMainActivity {
18 18
	public void onCreate(Bundle savedInstanceState) {
19 19
		setTheme(R.style.Theme_Sherlock_Light);
20 20
21
		
22 21
		if (AppRecord.isFirst(this) && !MobileUtil.checkWifiActive(this)) {
23 22
			ConfirmBlockDialog dialog = new ConfirmBlockDialog(this, "下载提醒",
24 23
					"即将下载应用资源,连接wifi将为您节省流量,是否继续下载");

+ 1 - 1
display-server/etc/server-config.xml

@ -5,7 +5,7 @@
5 5
	<!-- 服务端资源版本号 -->
6 6
	<config name="resourceVersion" value="1.0"/>
7 7
	<!-- 客户端版本号 -->
8
	<config name="clientVersion" value="1.0"/>
8
	<config name="clientVersion" value="1.1"/>
9 9
	<!-- 客户端是否强制更新 -->
10 10
	<config name="isForceUpdate" value="true"/>
11 11
	<!-- 服务端应用编码 -->

+ 1 - 0
display-server/etc/server-data.xml

@ -5,4 +5,5 @@
5 5
	<action name="LoginBean.setLoginInfo" class="com.ai.server.bean.LoginBean" method="setLoginInfo"></action>
6 6
	
7 7
	<action name="receiveData" class="com.ai.server.bean.TestBean" method="receive" verify="false"></action>
8
	<action name="TestBean.reverse" class="com.ai.server.bean.TestBean" method="reverse" verify="false"></action>
8 9
</datas>

+ 3 - 0
display-server/etc/server-page.xml

@ -85,4 +85,7 @@
85 85
    <!-- Scene Demo -->
86 86
	<action name="Scene" template="template/webapp/scene/Scene.html"></action>
87 87
	<action name="Login" template="template/webapp/scene/Login.html"></action>
88
	<action name="DataRequest" template="template/webapp/scene/DataRequest.html"></action>
89
	<action name="TemplateRedirect" template="template/webapp/scene/TemplateRedirect.html"></action>
90
	<action name="PageRedirect" template="template/webapp/scene/PageRedirect.html"></action>
88 91
</pages>

+ 43 - 0
display-server/src/com/ai/server/bean/LoginBean.java

@ -5,13 +5,29 @@ import com.ai.server.core.context.DisplayContextData;
5 5
import com.ai.server.core.session.DisplaySessionManager;
6 6
import com.ai.server.util.Constant;
7 7
import com.ailk.common.data.IData;
8
import com.ailk.mobile.util.MobileConstant;
8 9

9 10
public class LoginBean extends DisplayBean{
10 11
	
12
	/************************************************
13
	 * 用户登陆操作
14
	 * @param param
15
	 * @return
16
	 * @throws Exception
17
	 */
11 18
	public IData login(IData param) throws Exception{
19
		//1.校验用户名,密码
20
		if(! verifyUserInfo(param))
21
			return param;
22
		
23
		log.debug("==========|" + param + "|===========");
24
		
25
		//2.获取Session信息
12 26
		DisplayContextData displayContextData = new DisplayContextData(param.getString("ACCOUNT"));
13 27
		String sessionId = DisplaySessionManager.getInstance().createSession(displayContextData);
28
		
14 29
		param.put(Constant.Session.SESSION_ID, sessionId);
30
		
15 31
		return param;
16 32
	}
17 33
	
@ -23,4 +39,31 @@ public class LoginBean extends DisplayBean{
23 39
		getContextData().setAccount(param.getString("NEW_ACCOUNT"));
24 40
		return getContextData().getData();
25 41
	}
42
	
43
	/*****************************************************
44
	 * 用户登陆校验
45
	 * @param param
46
	 * @return
47
	 */
48
	protected boolean verifyUserInfo(IData param){
49
		String userName = param.getString("ACCOUNT");
50
		String password = param.getString("PASSWORD");
51

52
		boolean flag = false;//默认校验不通过
53
		//1.数据非空校验
54
		if(userName == null || "".equals(userName.trim()))
55
			;
56
		if(password == null || "".equals(password.trim()))
57
			;
58
		//2.查询数据库
59
		
60
		flag = true;
61
		//3.返回结果
62
		if(! flag){
63
			param.put("X_RESULTCODE", MobileConstant.Result.ERROR_CODE);
64
			param.put("X_RESULTINFO", "用户名或密码错误!");
65
		}
66
		
67
		return flag;
68
	}
26 69
}

+ 16 - 0
display-server/src/com/ai/server/bean/TestBean.java

@ -2,6 +2,7 @@ package com.ai.server.bean;
2 2

3 3
import com.ai.server.core.bean.DisplayBean;
4 4
import com.ailk.common.data.IData;
5
import com.ailk.common.data.impl.DataMap;
5 6

6 7
/**
7 8
 * a test bean
@ -14,4 +15,19 @@ public class TestBean extends DisplayBean {
14 15
		System.out.println( "======= TestBean.receive() " + param );
15 16
		return param;
16 17
	}
18
	
19
	/****
20
	 * 将参数反转
21
	 * @param param
22
	 * @return
23
	 */
24
	public IData reverse(IData param){
25
		String data = param.getString("data", "");
26
		
27
		StringBuilder sbuilder = new StringBuilder(data);
28
		IData result = new DataMap();
29
		result.put("DATA", sbuilder.reverse().toString());
30
		
31
		return result;
32
	}
17 33
}

+ 56 - 11
display-server/web/biz/js/plugin/database.js

@ -1,24 +1,69 @@
1 1
require(["domReady!","mobile","util"], function(doc,Mobile) {
2 2
	var dbName = "display";
3
	var table_name = "log";
3
	var tableName = "student";
4 4
	//建表语句
5
	var create_sql = "CREATE TABLE IF NOT EXISTS " + table_name + " ("
6
			+ "id integer primary key autoincrement, "
7
			+ "content varchar(100) ,"
8
			+ "timestamp timestamp)";
5
	var createSql = "CREATE TABLE IF NOT EXISTS " + tableName
6
			+ "(stu_no integer PRIMARY KEY NOT NULL, "
7
			+ " stu_name varchar(10) ,"
8
			+ " stu_age integer ,"
9
			+ " stu_sex varchar(1))";
9 10
	//建表
10 11
	$("#create").tap(function() {
11
		Mobile.execSQL(dbName,create_sql,null,function(){
12
		Mobile.execSQL(dbName, createSql, null, function(){
12 13
			alert("建表成功");
13 14
		});
14 15
	});
15 16
	
17
	//增加数据
18
	var insertSql = "INSERT INTO " + tableName + " (stu_no, stu_name, stu_age, stu_sex) VALUES (2015001, 'JACK', 19, 'F')";
16 19
	$("#insert").tap(function() {
17
		var datas = new Wade.DataMap();
18
		datas.put("content","测试日志");
19
		datas.put("timestamp",new Date().getTime());
20
		Mobile.insert(dbName,table_name,datas,function(row){
21
			alert("插入"+row+"条数据");
20
		var param = new Wade.DataMap();
21
		
22
		Mobile.insert(dbName, insertSql, param, function(row){
23
			alert("插入" + row + "条数据!");
22 24
		});
23 25
	});
26
	
27
	//修改数据
28
	var updateSql = "UPDATE " + tableName + " SET stu_name = 'Dave', stu_age = 21 WHERE stu_no = '2015001'";
29
	updateSql = updateSql.replace(/=/g, ":3D").replace(/\?/g ,":3F").replace(/,/g, ":9A");
30
	
31
	$("#update").tap(function() {
32
		var param = new Wade.DataMap();
33
//		param.put("stu_name","Dave");
34
//		param.put("stu_age", "21");
35
//		param.put("stu_no", "2015001");
36
		
37
		Mobile.insert(dbName, updateSql, param, function(row){
38
			alert("修改" + row + "条数据!");
39
		});
40
	});
41
	//删除数据
42
	var delteSql = "DELETE FROM " + tableName + " WHERE stu_no = 2015001";
43
	$("#delete").tap(function() {
44
		var param = new Wade.DataMap();
45
		
46
		Mobile.insert(dbName, delteSql, param, function(row){
47
			alert("删除" + row + "条数据!");
48
		});
49
	});
50
	//查询数据
51
	var selectSql = "SELECT (stu_no, stu_name, stu_age, stu_sex) FROM " + tableName + " WHERE stu_no = 2015001";
52
	$("#select").tap(function() {
53
		var param = new Wade.DataMap();
54
		
55
		Mobile.insert(dbName, selectSql, param, function(result){
56
			alert("插入" + result + "条数据!");
57
		});
58
	});
59
	//删除表格
60
	var dropSql = "DROP TABLE " + tableName ;
61
	$("#drop").tap(function() {
62
		
63
		Mobile.insert(dbName, dropSql, null, function(row){
64
			alert("删除表" + dropSql + "成功!");
65
		});
66
	});
67
	
68
	var symbolList = [{"":""},{"":""}];
24 69
});

+ 23 - 0
display-server/web/biz/js/scene/DataRequest.js

@ -0,0 +1,23 @@
1
2
require(["mobile"], function(Mobile) {
3
	
4
	
5
	$("#direct").tap(function(){
6
		
7
		var param = new Wade.DataMap();
8
		param.put("data", $("#input-text").val());
9
		
10
		Mobile.dataRequest("TestBean.reverse", param, function(result){
11
			//对于返回值result,有2种取值方式:
12
			//1.生成JSON对象
13
//			var obj = JSON.parse(result);
14
//			var textVal = obj["DATA"];
15
			
16
			//2.生成Map对象
17
			var obj = new Wade.DataMap(result);
18
			textVal = obj.get("DATA");
19
			
20
			$("#output-text").val(textVal);
21
		});
22
	});
23
});

+ 35 - 14
display-server/web/biz/js/scene/Login.js

@ -1,17 +1,38 @@
1 1
require(["wmTabbar","common","mobile"], function(WmTabbar,Common,Mobile) {
2
	var loginData = new Wade.DataMap();
3
	loginData.put("ACCOUNT","测试工号");
4
	Common.callSvc("LoginBean.login",loginData,function(data){
5
		console.log("登陆成功:" + data);
6
		Common.put("SESSION_ID",data.get("SESSION_ID"));
7
		setTimeout(function(){
8
			data.put("NEW_ACCOUNT","更新工号");
9
			Common.callSvc("LoginBean.setLoginInfo",data,function(result){
10
				console.log("更新信息:" + result);
11
				Common.callSvc("LoginBean.getLoginInfo",null,function(result){
12
					console.log("获取信息:" + result);
13
				});
14
			});
15
		},200);
2
	
3
	$("#submit").tap(function(){
4
		var loginData = new Wade.DataMap();
5
		loginData.put("ACCOUNT", $("#userName").val());
6
		loginData.put("PASSWORD", $("#password").val());
7
		
8
		Common.callSvc("LoginBean.login",loginData,function(data){
9
			console.log("结果[用户登陆]:" + data);
10
			//校验不正确
11
			if("0" != data.get("X_RESULTCODE")){
12
				$("#mention").text(data.get("X_RESULTINFO"));
13
			
14
			//校验正确	
15
			}else{
16
				Mobile.openPage("Basic");
17
			}
18
		});
16 19
	});
20
	
21
//	var loginData = new Wade.DataMap();
22
//	loginData.put("ACCOUNT","测试工号");
23
//	loginData.put("PASSWORD", "");
24
//	
25
//	Common.callSvc("LoginBean.login",loginData,function(data){
26
//		console.log("登陆成功:" + data);
27
//		Common.put("SESSION_ID",data.get("SESSION_ID"));
28
//		setTimeout(function(){
29
//			data.put("NEW_ACCOUNT","更新工号");
30
//			Common.callSvc("LoginBean.setLoginInfo",data,function(result){
31
//				console.log("更新信息:" + result);
32
//				Common.callSvc("LoginBean.getLoginInfo",null,function(result){
33
//					console.log("获取信息:" + result);
34
//				});
35
//			});
36
//		},200);
37
//	});
17 38
});

+ 1 - 2
display-server/web/res/js/mobile/wade-mobile.js

@ -347,8 +347,7 @@ define(["jcl","base64","util","res/js/mobile/expand-mobile.js","biz/js/common/bi
347 347
	        }
348 348
	        s = s + "]";
349 349
	        return s;
350
	    }
351
	    else {
350
	    }else {
352 351
	        return JSON.stringify(args);
353 352
	    }
354 353
	};

二进制
display-server/web/setup/display-client.apk


+ 25 - 1
display-server/web/template/webapp/scene/DataRequest.html

@ -2,10 +2,11 @@
2 2
<html class="s_bs">
3 3
<head>
4 4
	<meta charset="utf-8" />
5
	<meta name="viewport" content="target-densitydpi=device-dpi, width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1" />
5
	<meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1" />
6 6
	<title>数据请求</title>
7 7
	{%>template/common/Head.html%}
8 8
	<link href="biz/css/project.css" rel="stylesheet" type="text/css" />
9
	<script type="text/javascript" src="biz/js/scene/DataRequest.js"></script>
9 10
</head>
10 11
<body>
11 12
<div class="c_navBar">
@ -16,6 +17,29 @@
16 17
		</div>
17 18
	</div>
18 19
</div>
20
<div class="m_content m_content-nofooter" id="content">
21
<div>
22
	<div class="c_list">
23
		<ul>
24
			<li tapfor="input-text">
25
				<div class="content">
26
					<div class="value"><input type="text" placeholder="请输入文字" id="input-text"/></div>
27
					<button class="e_button-cancel" id="direct" style="float:right">反转</button>
28
				</div>
29
			</li>
30
		</ul>
31
		<ul>
32
			<li tapfor="input-text">
33
				<div class="content">
34
					<div class="value"><input type="text" placeholder="输出内容" id="output-text"/></div>
35
					<div class="label" style="float:right"></div>
36
				</div>
37
			</li>
38
			<li></li>
39
		</ul>
40
	</div>
41
</div>
42
</div>
19 43

20 44
</body>
21 45
</html>

+ 39 - 8
display-server/web/template/webapp/scene/Login.html

@ -2,21 +2,52 @@
2 2
<html class="s_bs">
3 3
<head>
4 4
	<meta charset="utf-8" />
5
	<meta name="viewport" content="target-densitydpi=device-dpi, width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1" />
5
	<meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1" />
6 6
	<title>登陆</title>
7 7
	{%>template/common/Head.html%}
8 8
	<link href="biz/css/project.css" rel="stylesheet" type="text/css" />
9 9
	<script type="text/javascript" src="biz/js/scene/Login.js"></script>
10 10
</head>
11 11
<body>
12
<div class="c_navBar">
13
	<div class="left">
14
		<div class="back">
15
			<span class="e_ico-back"></span>
16
			<span class="text">登陆</span>
12
	<div class="c_navBar">
13
		<div class="left">
14
			<div class="back">
15
				<span class="e_ico-back"></span>
16
				<span class="text">登陆</span>
17
			</div>
17 18
		</div>
18 19
	</div>
19
</div>
20

20
	
21
	<div class="c_list">
22
		<ul>
23
			<li ontap=";">
24
				<div class="content">
25
					<div class="main" id="mention"></div>
26
				</div>
27
			</li>
28
		</ul>
29
	</div>
30
	
31
	<div class="c_table">
32
		<table border="none">
33
			<tbody id="tbody">
34
				<tr>
35
					<td></td>
36
					<td><input type="text" id="userName" required placeholder="用户名"></td>
37
					<td></td>
38
				</tr>
39
				<tr>
40
					<td></td>
41
					<td><input type="password" id="password" required placeholder="密码"></td>
42
					<td></td>
43
				</tr>
44
				<tr>
45
					<td></td>
46
					<td><input type="button" value="提交" id="submit"/></td>
47
					<td><a href="#">忘记密码?</a></td>
48
				</tr>
49
			</tbody>
50
		</table>
51
	</div>
21 52
</body>
22 53
</html>

+ 18 - 2
display-server/web/template/webapp/scene/PageRedirect.html

@ -2,7 +2,7 @@
2 2
<html class="s_bs">
3 3
<head>
4 4
	<meta charset="utf-8" />
5
	<meta name="viewport" content="target-densitydpi=device-dpi, width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1" />
5
	<meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1" />
6 6
	<title>页面跳转</title>
7 7
	{%>template/common/Head.html%}
8 8
	<link href="biz/css/project.css" rel="stylesheet" type="text/css" />
@ -12,10 +12,26 @@
12 12
	<div class="left">
13 13
		<div class="back">
14 14
			<span class="e_ico-back"></span>
15
			<span class="text">页面跳转</span>
15
			<span class="text">页面跳转(调用数据接口)</span>
16 16
		</div>
17 17
	</div>
18 18
</div>
19
<div class="c_submit">
20
	<ul>
21
		<li></li>
22
		<li><button class="e_button-cancel" id="call">跳转</button></li>
23
		<li></li>
24
	</ul>
25
</div>
19 26

20 27
</body>
28
<script type="text/javascript">
29
require(["mobile"], function(Mobile) {
30
	
31
	$(".e_button-cancel").tap(function(){
32
		
33
		Mobile.openPage("Basic");
34
	});
35
});
36
</script>
21 37
</html>

+ 18 - 7
display-server/web/template/webapp/scene/Scene.html

@ -2,7 +2,7 @@
2 2
<html class="s_bs">
3 3
<head>
4 4
	<meta charset="utf-8" />
5
	<meta name="viewport" content="target-densitydpi=device-dpi, width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1" />
5
	<meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1" />
6 6
	<title>场景演示</title>
7 7
	{%>template/common/Head.html%}
8 8
	<link href="biz/css/project.css" rel="stylesheet" type="text/css" />
@ -25,22 +25,33 @@
25 25
				<div class="content">
26 26
					<div class="main">
27 27
						<div class="title">登陆</div>
28
						<div class="info">登陆场景</div>
29
						<div class="info">登陆场景详细描述</div>
28
						<div class="info">输入账号、密码以及图片验证码登陆,服务端校验成功以后创建Session,
29
						同时客户端存储SessionId,提供给其他接口使用</div>
30 30
					</div>
31 31
				</div>
32 32
			</li>
33
			<li action="PageRedirect">
33
			<li action="DataRequest">
34 34
				<div class="content">
35 35
					<div class="main">
36
						<div class="title">页面跳转</div>
36
						<div class="title">数据请求</div>
37
						<div class="info">网页访问时是基于ajax的访问请求,客户端访问时则是原生实现的访问请求,
38
						可以通过加密的方式保障传输安全</div>
37 39
					</div>
38 40
				</div>
39 41
			</li>
40
			<li action="DataRequest">
42
			<li action="TemplateRedirect">
41 43
				<div class="content">
42 44
					<div class="main">
43
						<div class="title">数据请求</div>
45
						<div class="title">页面跳转(直接数据渲染)</div>
46
						<div class="info">页面跳转,没有数据请求,传入的参数直接用于页面渲染</div>
47
					</div>
48
				</div>
49
			</li>
50
			<li action="PageRedirect">
51
				<div class="content">
52
					<div class="main">
53
						<div class="title">页面跳转(调用数据接口)</div>
54
						<div class="info">页面跳转,调用数据请求,传入的参数先用于请求数据接口,得到的结果集用于页面渲染</div>
44 55
					</div>
45 56
				</div>
46 57
			</li>

+ 38 - 0
display-server/web/template/webapp/scene/TemplateRedirect.html

@ -0,0 +1,38 @@
1
<!DOCTYPE HTML>
2
<html class="s_bs">
3
<head>
4
	<meta charset="utf-8" />
5
	<meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1" />
6
	<title>页面跳转</title>
7
	{%>template/common/Head.html%}
8
	<link href="biz/css/project.css" rel="stylesheet" type="text/css" />
9
</head>
10
<body>
11
<div class="c_navBar">
12
	<div class="left">
13
		<div class="back">
14
			<span class="e_ico-back"></span>
15
			<span class="text">页面跳转(直接数据渲染)</span>
16
		</div>
17
	</div>
18
</div>
19
<div class="c_submit">
20
	<ul>
21
		<li></li>
22
		<li><button class="e_button-ok" id="call">跳转</button></li>
23
		<li></li>
24
	</ul>
25
</div>
26

27

28
</body>
29
<script type="text/javascript">
30
require(["mobile"], function(Mobile) {
31
	
32
	$(".e_button-ok").tap(function(){
33
		
34
		Mobile.openTemplate("Basic");
35
	});
36
});
37
</script>
38
</html>

+ 1 - 1
multiple-client/project.properties

@ -12,5 +12,5 @@
12 12
13 13
# Project target.
14 14
target=android-15
15
android.library.reference.1=../../android/wade-mobile-com
15
android.library.reference.1=../wade-mobile-common
16 16
android.library.reference.2=../wade-mobile-lib

二进制
wade-mobile-common/libs/wade-mobile.jar