Pārlūkot izejas kodu

back API系列&&界面操作API场景演示

leijie 7 gadi atpakaļ
vecāks
revīzija
7ae61be877

+ 4 - 0
show-server/src/main/resources/server-page.xml

@ -28,6 +28,10 @@
28 28
    <action name="BaiduMap" template="template/webapp/plugins/baiduMap.html"></action>
29 29
    <action name="Mail" template="template/webapp/plugins/mail.html"></action>
30 30
    <action name="VideoCompress" template="template/webapp/plugins/videoCompress.html"></action>
31
    <action name="PageHandler" template="template/webapp/plugins/pageHandler/pageHandler.html"></action>
32
    <action name="PageA" template="template/webapp/plugins/pageHandler/pageA.html"></action>
33
    <action name="PageB" template="template/webapp/plugins/pageHandler/pageB.html"></action>
34
    <action name="KeyDownListen" template="template/webapp/plugins/pageHandler/keyDownListen.html"></action>
31 35
    
32 36
    <!-- JS组件 -->
33 37
    <action name="Carousel" template="template/webapp/jsComponent/carousel.html"></action>

+ 12 - 0
show-server/src/main/webapp/biz/js/plugins/pageHandler/keydownListen.js

@ -0,0 +1,12 @@
1
require(["domReady!","wadeMobile","mobile","util"], function(doc,WadeMobile,Mobile){
2
	WadeMobile.setKeyListener("back",function(){
3
		WadeMobile.tip("back物理按键已按下");
4
		WadeMobile.cleanKeyDownFlag("back");
5
	},true);
6
	WadeMobile.setKeyListener("menu",function(){
7
		WadeMobile.tip("menu物理按键已按下");
8
	},false);
9
	WadeMobile.setKeyListener("home",function(){
10
		WadeMobile.tip("home物理按键已按下");
11
	},true);
12
});

+ 17 - 0
show-server/src/main/webapp/biz/js/plugins/pageHandler/pageA.js

@ -0,0 +1,17 @@
1
require([ "domReady!", "wadeMobile", "mobile", "util"], function(doc,
2
		WadeMobile, Mobile) {
3
	$("#back").click(function() {
4
		Mobile.back();
5
	});
6
	$("#toB").click(function() {
7
		Mobile.openPage("PageB");
8
	});
9
	$("#backCallback").click(function() {
10
		Mobile.backWithCallback("回调:测试数据来自pageA");
11
	});
12
	
13
	WadeMobile.setBackCallListener(function(e){
14
		var data = e.data;
15
		WadeMobile.tip(data);
16
	});
17
});

+ 15 - 0
show-server/src/main/webapp/biz/js/plugins/pageHandler/pageB.js

@ -0,0 +1,15 @@
1
require([ "domReady!", "wadeMobile", "mobile", "util" ], function(doc,
2
		WadeMobile, Mobile) {
3
	$("#back").click(function() {
4
		Mobile.back();
5
	});
6
	$("#backTag").click(function() {
7
		Mobile.back("PageHandler");
8
	});
9
	$("#backCallback").click(function() {
10
		Mobile.backWithCallback("回调:测试数据来自pageB");
11
	});
12
	$("#backTagCallback").click(function() {
13
		Mobile.backWithCallback("回调:测试数据来自pageB","PageHandler");
14
	});
15
});

+ 52 - 0
show-server/src/main/webapp/biz/js/plugins/pageHandler/pageHandler.js

@ -0,0 +1,52 @@
1
require(["domReady!","wadeMobile","mobile","jcl","iScroll","util"], function(doc,WadeMobile,Mobile,$,iScroll){
2
	new iScroll("content");
3
	$("#openPage").click(function(){
4
		Mobile.openPage("PageA");
5
	});
6
	$("#openWindow").click(function(){
7
		var param = $.DataMap();
8
		param.put("LEVEL", 1);
9
		Mobile.openWindow("UI-CustomWindow", param, function(result) {
10
			alert(result);
11
		});
12
	});
13
	$("#openTemplate").click(function(){
14
		Mobile.openTemplate("PageA");
15
	});
16
	$("#loadPage").click(function(){
17
		Mobile.loadPage("PageA");
18
	});
19
	$("#loadTemplate").click(function(){
20
		Mobile.loadTemplate("PageA");
21
	});
22
	// 被打开的url,不管停留在哪一层页面,按返回会提示退出
23
	$("#openUrl").click(function(){
24
		Mobile.openUrl("https://www.baidu.com");
25
	});
26
	// 被打开的url,不管停留在哪一层页面,直接退出至ipu主页面
27
	$("#loadUrl").click(function(){
28
		Mobile.loadUrl("https://www.baidu.com");
29
	});
30
	// 打开原生的浏览器窗口
31
	$("#openBroswer").click(function(){
32
		WadeMobile.openBrowser("https://www.baidu.com");
33
	});
34
	// 在IPU应用中集成浏览器功能,打开自定义浏览器
35
	$("#openIpuBroswer").click(function() {
36
		WadeMobile.openIpuBrowser("https://www.baidu.com","true");
37
	});
38
	$("#back").click(function(){
39
		Mobile.openPage("KeyDownListen");
40
	});
41
	$("#home").click(function(){
42
		Mobile.openPage("KeyDownListen");
43
	});
44
	$("#menu").click(function(){
45
		Mobile.openPage("KeyDownListen");
46
	});
47
	
48
	WadeMobile.setBackCallListener(function(e){
49
		var data = e.data;
50
		WadeMobile.tip(data);
51
	});
52
});

+ 0 - 1
show-server/src/main/webapp/ipu/js/ipu.js

@ -2669,7 +2669,6 @@ Device/OS Detection
2669 2669
    var device = {};  // Classes
2670 2670
    var classNames = [];
2671 2671
    var ua = navigator.userAgent;
2672
    console.log('device');
2673 2672

2674 2673
    // 这中针对ipu框架的情况,待测试
2675 2674
    if(ua.match(/ipumobile/i)){

+ 2 - 0
show-server/src/main/webapp/ipu/js/mobile/expand-mobile.js

@ -162,6 +162,8 @@ define(["require","jcl"],function(require,Wade) {
162 162
				execute("shareByBluetooth", [],err);
163 163
			},openBrowser:function(url,err){
164 164
				execute("openBrowser",[url],err);
165
			},openIpuBrowser:function(url,hasTitle,err){
166
				execute("openIpuBrowser",[url,hasTitle],err);
165 167
			},setSmsListener:function(callback,telString,err){
166 168
				storageCallback("setSmsListener", callback);
167 169
				execute("setSmsListener", [telString],err);

+ 11 - 0
show-server/src/main/webapp/ipu/js/mobile/mobile-client.js

@ -24,16 +24,27 @@ define(["wadeMobile","clientTool"],function(WadeMobile,clientTool) {
24 24
		this.openUrl = function(url, err) {
25 25
			WadeMobile.openUrl(url, err);
26 26
		};
27
		this.loadUrl = function(url, err) {
28
			WadeMobile.loadUrl(url, err);
29
		};
27 30
		/*页面跳转,param为打开页面时调用接口的参数*/
28 31
		this.openPage = function(pageAction, param, err) {
29 32
			param = param ? param : "";
30 33
			WadeMobile.openPage(pageAction, param.toString(), err);
31 34
		};
35
		this.loadPage = function(pageAction, param, err){
36
			param = param ? param : "";
37
			WadeMobile.loadPage(pageAction, param.toString(), err);
38
		};
32 39
		/*页面跳转,param为打开页面的映射数据*/
33 40
		this.openTemplate = function(pageAction, param, err) {
34 41
			param = param ? param : "";
35 42
			WadeMobile.openTemplate(pageAction, param.toString(), err);
36 43
		};
44
		this.loadTemplate = function(pageAction, param, err){
45
			param = param ? param : "";
46
			WadeMobile.loadTemplate(pageAction, param.toString(), err);
47
		};
37 48
		/*将模板转换成html源码*/
38 49
		this.getTemplate = function(action,param,callback,err){
39 50
			param = param ? param : "";

+ 19 - 0
show-server/src/main/webapp/ipu/js/mobile/wade-mobile.js

@ -327,6 +327,25 @@ define(["jcl","base64","ipu/js/mobile/expand-mobile.js","biz/js/common/biz-mobil
327 327
	})();
328 328
	/**物理按键监听end**/
329 329
	
330
	/**back回调事件监听开始**/
331
	WadeMobile.backevent = (function(){
332
		if(WadeMobile.isApp()){
333
			return {
334
				backCall:function(data){
335
					var backCallEvent = document.createEvent('Event');
336
					backCallEvent.initEvent("backCall",true,true);
337
					backCallEvent.data = data;
338
					document.dispatchEvent(backCallEvent);
339
				}
340
			};
341
		}
342
	})();
343
	
344
	WadeMobile.setBackCallListener = function(callback){
345
		document.addEventListener("backCall", callback);
346
	}
347
	/**back回调事件监听结束**/
348
	
330 349
	/************公共方法**************/
331 350
	/**
332 351
	 * @param {String}  errorMessage   错误信息

+ 23 - 0
show-server/src/main/webapp/template/webapp/plugins/pageHandler/keyDownListen.html

@ -0,0 +1,23 @@
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
<script type="text/javascript" src="biz/js/plugins/pageHandler/keydownListen.js"></script>
9
</head>
10
<body>
11
	<div class="c_list l_mt">
12
		<ul>
13
			<li id="menu">
14
				<div class="content">
15
					<div class="label">
16
						<div class="title">此界面为物理按键监听展示界面,请点击物理按键试试</div>
17
					</div>
18
				</div>
19
			</li>
20
		</ul>
21
	</div>		
22
</body>
23
</html>

+ 46 - 0
show-server/src/main/webapp/template/webapp/plugins/pageHandler/pageA.html

@ -0,0 +1,46 @@
1
<!DOCTYPE html>
2
<html class="s_bs">
3
<head>
4
<meta charset="UTF-8">
5
<meta name="viewport"
6
	content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1">
7
<title>测试界面A</title> {%>template/common/Head.html%}
8
<script type="text/javascript" src="biz/js/plugins/pageHandler/pageA.js"></script>
9
</head>
10
<body>
11
	<div class="demo-desc">A界面</div>
12
	<div class="m_content m_content-nofooter" id="content">
13
14
		<div class="ipu-list">
15
			<ul>
16
				<li class="ipu-list-item">
17
					<div class="ipu-list-item-inner">
18
						<div class="ipu-list-item-title">普通返回上一个界面</div>
19
						<div class="ipu-list-item-after">
20
							<button class="ipu-btn ipu-btn-s" id="back">返回</button>
21
						</div>
22
					</div>
23
				</li>
24
				<li class="ipu-list-item">
25
					<div class="ipu-list-item-inner">
26
						<div class="ipu-list-item-title">打开下一个界面(B)</div>
27
						<div class="ipu-list-item-after">
28
							<button class="ipu-btn ipu-btn-s" id="toB">点击</button>
29
						</div>
30
					</div>
31
				</li>
32
				<li class="ipu-list-item">
33
					<div class="ipu-list-item-inner">
34
						<div class="ipu-list-item-title">返回上一个界面,回调</div>
35
						<div class="ipu-list-item-after">
36
							<button class="ipu-btn ipu-btn-s" id="backCallback">返回回调</button>
37
						</div>
38
					</div>
39
				</li>
40
			</ul>
41
		</div>
42
43
	</div>
44
45
</body>
46
</html>

+ 55 - 0
show-server/src/main/webapp/template/webapp/plugins/pageHandler/pageB.html

@ -0,0 +1,55 @@
1
<!DOCTYPE html>
2
3
<html class="s_bs">
4
<head>
5
<meta charset="UTF-8">
6
<meta name="viewport"
7
	content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1">
8
<title>测试界面B</title> {%>template/common/Head.html%}
9
<script type="text/javascript" src="biz/js/plugins/pageHandler/pageB.js"></script>
10
</head>
11
<body>
12
	<div class="demo-desc">B界面</div>
13
	<div class="m_content m_content-nofooter" id="content">
14
15
		<div class="ipu-list">
16
			<ul>
17
				<li class="ipu-list-item">
18
					<div class="ipu-list-item-inner">
19
						<div class="ipu-list-item-title">普通返回上一个界面</div>
20
						<div class="ipu-list-item-after">
21
							<button class="ipu-btn ipu-btn-s" id="back">返回</button>
22
						</div>
23
					</div>
24
				</li>
25
				<li class="ipu-list-item">
26
					<div class="ipu-list-item-inner">
27
						<div class="ipu-list-item-title">跳转,直接返回指定界面(首页)</div>
28
						<div class="ipu-list-item-after">
29
							<button class="ipu-btn ipu-btn-s" id="backTag">跳转返回</button>
30
						</div>
31
					</div>
32
				</li>
33
				<li class="ipu-list-item">
34
					<div class="ipu-list-item-inner">
35
						<div class="ipu-list-item-title">返回上一个界面,回调</div>
36
						<div class="ipu-list-item-after">
37
							<button class="ipu-btn ipu-btn-s" id="backCallback">返回回调</button>
38
						</div>
39
					</div>
40
				</li>
41
				<li class="ipu-list-item">
42
					<div class="ipu-list-item-inner">
43
						<div class="ipu-list-item-title">跳转直接返回指定界面(首页)并回调</div>
44
						<div class="ipu-list-item-after">
45
							<button class="ipu-btn ipu-btn-s" id="backTagCallback">跳转返回回调</button>
46
						</div>
47
					</div>
48
				</li>
49
			</ul>
50
		</div>
51
52
	</div>
53
54
</body>
55
</html>

+ 101 - 0
show-server/src/main/webapp/template/webapp/plugins/pageHandler/pageHandler.html

@ -0,0 +1,101 @@
1
<!DOCTYPE html>
2
<html class="s_bs">
3
<head>
4
<meta charset="utf-8">
5
<meta name="viewport"
6
	content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1" />
7
<title>界面跳转</title> {%>template/common/Head.html%}
8
<script type="text/javascript"
9
	src="biz/js/plugins/pageHandler/pageHandler.js"></script>
10
</head>
11
<body>
12
	<div class="demo-desc">界面操作</div>
13
14
	<div class="m_content m_content-nofooter" id="content">
15
		<div class="ipu-list">
16
			<ul>
17
				<li class="ipu-list-item">
18
					<div class="ipu-list-item-inner">
19
						<div class="ipu-list-item-title">openPage</div>
20
						<div class="ipu-list-item-after">
21
							<button class="ipu-btn ipu-btn-s" id="openPage">测试</button>
22
						</div>
23
					</div>
24
				</li>
25
				<li class="ipu-list-item">
26
					<div class="ipu-list-item-inner">
27
						<div class="ipu-list-item-title">openWindow</div>
28
						<div class="ipu-list-item-after">
29
							<button class="ipu-btn ipu-btn-s" id="openWindow">测试</button>
30
						</div>
31
					</div>
32
				</li>
33
			</ul>
34
		</div>
35
36
		<div class="ipu-list">
37
			<ul>
38
				<li class="ipu-list-item">
39
					<div class="ipu-list-item-inner">
40
						<div class="ipu-list-item-title">openTemplate</div>
41
						<div class="ipu-list-item-after">
42
							<button class="ipu-btn ipu-btn-s" id="openTemplate">测试</button>
43
						</div>
44
					</div>
45
				</li>
46
				<li class="ipu-list-item">
47
					<div class="ipu-list-item-inner">
48
						<div class="ipu-list-item-title">loadPage</div>
49
						<div class="ipu-list-item-after">
50
							<button class="ipu-btn ipu-btn-s" id="loadPage">测试</button>
51
						</div>
52
					</div>
53
				</li>
54
				<li class="ipu-list-item">
55
					<div class="ipu-list-item-inner">
56
						<div class="ipu-list-item-title">loadTemplate</div>
57
						<div class="ipu-list-item-after">
58
							<button class="ipu-btn ipu-btn-s" id="loadTemplate">测试</button>
59
						</div>
60
					</div>
61
				</li>
62
				<li class="ipu-list-item">
63
					<div class="ipu-list-item-inner">
64
						<div class="ipu-list-item-title">openUrl</div>
65
						<div class="ipu-list-item-after">
66
							<button class="ipu-btn ipu-btn-s" id="openUrl">测试</button>
67
						</div>
68
					</div>
69
				</li>
70
				<li class="ipu-list-item">
71
					<div class="ipu-list-item-inner">
72
						<div class="ipu-list-item-title">loadUrl</div>
73
						<div class="ipu-list-item-after">
74
							<button class="ipu-btn ipu-btn-s" id="loadUrl">测试</button>
75
						</div>
76
					</div>
77
				</li>
78
				<li class="ipu-list-item">
79
					<div class="ipu-list-item-inner">
80
						<div class="ipu-list-item-title">openBroswer</div>
81
						<div class="ipu-list-item-after">
82
							<button class="ipu-btn ipu-btn-s" id="openBroswer">测试</button>
83
						</div>
84
					</div>
85
				</li>
86
				<li class="ipu-list-item">
87
					<div class="ipu-list-item-inner">
88
						<div class="ipu-list-item-title">openIpuBroswer</div>
89
						<div class="ipu-list-item-after">
90
							<button class="ipu-btn ipu-btn-s" id="openIpuBroswer">测试</button>
91
						</div>
92
					</div>
93
				</li>
94
			</ul>
95
		</div>
96
		
97
	</div>
98
99
100
</body>
101
</html>

+ 4 - 1
show-server/src/main/webapp/template/webapp/plugins/pluginIndex.html

@ -95,7 +95,10 @@
95 95
	        <p>视频压缩</p>
96 96
	    </li>
97 97
	    
98
	    
98
	    <li class="ipu-col-33 ipu-text-center" data-action="PageHandler">
99
	   		<span class="ipu-icon fa fa-compress"></span>
100
	        <p>界面操作</p>
101
		</li> 
99 102
	    
100 103
	</ul>
101 104
</div>