浏览代码

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

huangbo 9 年之前
父节点
当前提交
2223af4210

+ 6 - 2
display-client/AndroidManifest.xml

@ -87,10 +87,14 @@
87 87
        </activity>
88 88
        <!-- 音乐播放服务 -->
89 89
        <service android:name="com.wade.mobile.common.audio.play.AudioPlayerService" />
90
        <!-- 录制声音 -->
90
        <!-- 录制声音
91 91
        <activity
92 92
            android:name="com.wade.mobile.common.audio.activity.AudioRecorderActivity"
93 93
            android:theme="@style/AudioDialogTheme" >
94
        </activity> -->
95
         <activity
96
            android:name="com.wade.mobile.common.simplemedia.activity.SARecorder"
97
            android:theme="@style/AudioDialogTheme" >
94 98
        </activity>
95 99
		<!-- 播放音乐 -->
96 100
        <activity
@ -114,4 +118,4 @@
114 118
        </activity>
115 119
    </application>
116 120

117
</manifest>
121
</manifest>

+ 5 - 1
display-client/assets/display-client/res/js/mobile/mobile-client.js

@ -44,7 +44,11 @@ define(["wadeMobile","clientTool"],function(WadeMobile,clientTool) {
44 44
		};
45 45
		/*将Page转换成html源码*/
46 46
		this.getPage = function(action, param, callback, err){
47
			alert("getPage待开发……");
47
			param = param ? param : "";
48
			if(typeof(param) != "string"){
49
				param = param.toString();
50
			}
51
			WadeMobile.getPage(callback,action,param,err);
48 52
		};
49 53
		/*回退到前一个界面*/
50 54
		this.back = function(){

+ 1 - 0
display-client/assets/mobile-action.xml

@ -22,6 +22,7 @@
22 22
	<action name="openPage" class="com.wade.mobile.func.MobileUI" method="openPage"/>
23 23
	<action name="openTemplate" class="com.wade.mobile.func.MobileUI" method="openTemplate"/>
24 24
	<action name="getTemplate" class="com.wade.mobile.func.MobileUI" method="getTemplate"/>
25
	<action name="getPage" class="com.wade.mobile.func.MobileUI" method="getPage"/>
25 26
	<action name="back" class="com.wade.mobile.func.MobileUI" method="back"/>
26 27
	<action name="loadingStart" class="com.wade.mobile.func.MobileUI" method="loadingStart"/>
27 28
	<action name="loadingStop" class="com.wade.mobile.func.MobileUI" method="loadingStop"/>

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

@ -22,5 +22,7 @@
22 22
	<action name="SceneBean.dataRequestScene" class="com.ai.server.bean.SceneBean" method="dataRequestScene" verify="false"></action>
23 23
	<!-- 页面跳转(调用数据接口)场景***************脑筋急转弯 -->
24 24
	<action name="SceneBean.openPageScene" class="com.ai.server.bean.SceneBean" method="openPageScene" verify="false"></action>
25
	<!-- 局部刷新(调用数据接口) -->
26
	<action name="getPersonDetailMore" class="com.ai.server.bean.PersonBean" method="getPersonDetailMore" verify="false"></action>
25 27
	
26 28
</datas>

+ 2 - 1
display-server/etc/server-page.xml

@ -109,7 +109,8 @@
109 109
	
110 110
	<action name="TemplateRefresh" template="template/webapp/scene/TemplateRefresh.html"></action>
111 111
	<action name="PageRefresh" template="template/webapp/scene/PageRefresh.html"></action>
112
	<action name="TemplateRefresh.personDetailTemplate" template="template/webapp/scene/personDetailTemplate.html"></action>
112
	<action name="TemplateRefresh.PersonDetailTemplate" template="template/webapp/scene/PersonDetailTemplate.html"></action>
113
	<action name="PageRefresh.PersonDetailTemplateMore" template="template/webapp/scene/PersonDetailTemplateMore.html" data="getPersonDetailMore"></action>
113 114
	
114 115
	<!-- 测试gum日历插件 -->	
115 116
	<action name="testCalendar" template="template/calendar/calendar.html"></action>

+ 41 - 0
display-server/src/com/ai/server/bean/PersonBean.java

@ -0,0 +1,41 @@
1
package com.ai.server.bean;
2

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

7
public class PersonBean extends DisplayBean
8
{
9

10
    public IData getPersonDetailMore(IData param)
11
    {
12
        IData result = new DataMap();
13
        int personId = param.getInt("id");
14
        if (personId <= 0)
15
        {
16
            throw new RuntimeException("获取参数失败!");
17
        }
18
        if (personId == 1)
19
        {
20
            result.put("name", "小胖");
21
            result.put("age", 20);
22
            result.put("gender", "男");
23
            result.put("dept", "移动部门");
24
        }
25
        else if (personId == 2)
26
        {
27
            result.put("name", "张三");
28
            result.put("age", 22);
29
            result.put("gender", "男");
30
            result.put("dept", "联通部门");
31
        }
32
        else if (personId == 3)
33
        {
34
            result.put("name", "李四");
35
            result.put("age", 24);
36
            result.put("gender", "女");
37
            result.put("dept", "财务部门");
38
        }
39
        return result;
40
    }
41
}

+ 12 - 0
display-server/web/biz/js/scene/pageRefresh.js

@ -0,0 +1,12 @@
1
require(["wmTabbar","common","mobile","util"], function(WmTabbar,Common,Mobile) {
2
	
3
	$("#tbody tr").click(function() {
4
		param = new Wade.DataMap();
5
		param.put("id", $(this).data("id"));
6
		Mobile.getPage("PageRefresh.PersonDetailTemplateMore", param.toString(), function(html){
7
			$("#content2").html(html);
8
			new iScroll("content2");
9
		});
10
	});
11
	
12
});	

+ 15 - 0
display-server/web/biz/js/scene/templateRefresh.js

@ -0,0 +1,15 @@
1
require(["wmTabbar","common","mobile","util"], function(WmTabbar,Common,Mobile) {
2
	
3
	$("#tbody tr").click(function() {
4
		console.log($(this).data("id"));
5
		param = new Wade.DataMap();
6
		param.put("name", $(this).children().eq(0).text());
7
		param.put("age",  $(this).children().eq(1).text());
8
		param.put("gender",  $(this).children().eq(2).text());
9
		Mobile.getTemplate("TemplateRefresh.PersonDetailTemplate", param.toString(), function(html){
10
			$("#content2").html(html);
11
			new iScroll("content2");
12
		});
13
	});
14
	
15
});

+ 5 - 1
display-server/web/res/js/mobile/mobile-client.js

@ -44,7 +44,11 @@ define(["wadeMobile","clientTool"],function(WadeMobile,clientTool) {
44 44
		};
45 45
		/*将Page转换成html源码*/
46 46
		this.getPage = function(action, param, callback, err){
47
			alert("getPage待开发……");
47
			param = param ? param : "";
48
			if(typeof(param) != "string"){
49
				param = param.toString();
50
			}
51
			WadeMobile.getPage(callback,action,param,err);
48 52
		};
49 53
		/*回退到前一个界面*/
50 54
		this.back = function(){

+ 43 - 6
display-server/web/template/webapp/scene/PageRefresh.html

@ -5,18 +5,55 @@
5 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
	<script type="text/javascript" src="biz/js/scene/pageRefresh.js"></script>
8 9
	<link href="biz/css/project.css" rel="stylesheet" type="text/css" />
9 10
</head>
10 11
<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>
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>
16 18
		</div>
17 19
	</div>
18
</div>
19 20

21
	<div class="m_content m_content-nofooter" id="content">
22
		<div>
23
			<div class="c_title">人员列表</div>
24
			<div class="c_table">
25
				<table>
26
					<thead>
27
						<tr>
28
							<th>姓名</th>
29
							<th>年龄</th>
30
							<th>性别</th>
31
						</tr>
32
					</thead>
33
					<tbody id="tbody">
34
						<tr data-id="1">
35
							<th>小胖</th>
36
							<th>20</th>
37
							<th>男</th>
38
						</tr>
39
						<tr data-id="2">
40
							<th>张三</th>
41
							<th>22</th>
42
							<th>男</th>
43
						</tr>
44
						<tr data-id="3">
45
							<th>李四</th>
46
							<th>24</th>
47
							<th>女</th>
48
						</tr>
49
					</tbody>
50
				</table>
51
			</div>
52
		</div>
53
	</div>
54
	
55
	<div class="c_scroll c_scroll-mix c_scroll-fixed l_padding" style="top:3rem; bottom:0;" id="content2">
56
	</div>
20 57
</body>
21 58
</script>
22 59
</html>

+ 26 - 0
display-server/web/template/webapp/scene/PersonDetailTemplate.html

@ -0,0 +1,26 @@
1
<div class="wrapper">
2
	<div class="c_title">详情</div>
3
	<div class="c_list">
4
		<ul>
5
			<li tapfor="input-text">
6
				<div class="content">
7
					<div class="label">姓名</div>
8
					<div class="info" id="name">{%name%}</div>
9
				</div>
10
			</li>
11
			<li tapfor="input-text">
12
				<div class="content">
13
					<div class="label">年龄</div>
14
					<div class="info" id="age">{%age%}</div>
15
				</div>
16
			</li>
17
			<li tapfor="input-text">
18
				<div class="content">
19
					<div class="label">性别</div>
20
					<div class="info" id="gender">{%gender%}</div>
21
				</div>
22
			</li>
23
		</ul>
24
	</div>
25
	<div class="c_space"></div>
26
</div>

+ 32 - 0
display-server/web/template/webapp/scene/PersonDetailTemplateMore.html

@ -0,0 +1,32 @@
1
<div class="wrapper">
2
	<div class="c_title">详情</div>
3
	<div class="c_list">
4
		<ul>
5
			<li tapfor="input-text">
6
				<div class="content">
7
					<div class="label">姓名</div>
8
					<div class="info" id="name">{%name%}</div>
9
				</div>
10
			</li>
11
			<li tapfor="input-text">
12
				<div class="content">
13
					<div class="label">年龄</div>
14
					<div class="info" id="age">{%age%}</div>
15
				</div>
16
			</li>
17
			<li tapfor="input-text">
18
				<div class="content">
19
					<div class="label">性别</div>
20
					<div class="info" id="gender">{%gender%}</div>
21
				</div>
22
			</li>
23
			<li tapfor="input-text">
24
				<div class="content">
25
					<div class="label">部门</div>
26
					<div class="info" id="dept">{%dept%}</div>
27
				</div>
28
			</li>
29
		</ul>
30
	</div>
31
	<div class="c_space"></div>
32
</div>

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

@ -53,7 +53,7 @@
53 53
		</div>
54 54
	</div>
55 55
	
56
	<div class="c_scroll c_scroll-mix c_scroll-fixed l_padding" style="top:2.8rem; bottom:0;" id="content2">
56
	<div class="c_scroll c_scroll-mix c_scroll-fixed l_padding" style="top:3rem; bottom:0;" id="content2">
57 57
	</div>
58 58
</body>
59 59
<script type="text/javascript">

+ 48 - 1
wade-mobile-func/src/com/wade/mobile/func/MobileUI.java

@ -23,7 +23,6 @@ import android.widget.LinearLayout;
23 23

24 24
import com.ailk.common.data.IData;
25 25
import com.ailk.common.data.impl.DataMap;
26
import com.litesuits.android.log.Log;
27 26
import com.wade.mobile.common.MobileLog;
28 27
import com.wade.mobile.common.contacts.activity.ContactsActivity;
29 28
import com.wade.mobile.common.contacts.helper.ContactsData;
@ -182,6 +181,54 @@ public class MobileUI extends Plugin{
182 181
		return ((TemplateWebView)getWebView()).getTemplate(templatePath, data);
183 182
	}
184 183
	
184
	public void getPage(JSONArray param) throws Exception {
185
        String pageAction = param.getString(0);
186
        String data = param.getString(1);
187
        boolean isEscape = "true".equals(param.getString(2)) ? true : false;
188
        String html = getPage(pageAction, isNull(data)?null:new DataMap(data));
189
        if (isEscape) {
190
            html = EscapeUnescape.escape(html);
191
        }
192
        callback(html);
193
    }
194
	
195
    public String getPage(String pageAction,DataMap param) throws Exception{
196
        /*获取模板相对路径*/
197
        String templatePath = ServerPageConfig.getTemplate(pageAction);
198
        if(templatePath==null||"".equals(templatePath)){
199
            Utility.error(Messages.NO_TEMPLATE + ",Action:" + pageAction);
200
        }
201
        
202
        IData data = null;
203
        /*载入业务数据*/
204
        String dataAction = ServerPageConfig.getData(pageAction);
205
        if(dataAction!=null){
206
            MobileNetWork MobileNetWork = wademobile.getPluginManager().getPlugin(MobileNetWork.class);
207
            String result = MobileNetWork.dataRequest(dataAction, param);// 打开页面时请求业务数据
208
            data = new DataMap(result);
209
            if(data.getInt("X_RESULTCODE")<0){
210
                error(data.toString());
211
                return null;
212
            }
213
        }
214
        /*String serverDataAction = ServerPageConfig.getData(pageAction);
215
        String className = ServerDataConfig.getActionClass(serverDataAction);
216
        String methodName = ServerDataConfig.getActionMethod(serverDataAction);
217
        // new一个className 调用里面的method 得到resule的dataMap
218
        Class clz = Class.forName(className);
219
        Object obj = clz.newInstance();
220
        //获取方法  
221
        Method m = obj.getClass().getDeclaredMethod(methodName, String.class);
222
        //调用方法  
223
        String result = (String) m.invoke(obj, data);
224
        JSONObject  jasonObject = (JSONObject) JSONObject.stringToValue(result);
225
        Map map = (Map)jasonObject;
226
        if(templatePath==null||"".equals(templatePath)){
227
            Utility.error(Messages.NO_TEMPLATE);
228
        }*/
229
        return ((TemplateWebView)getWebView()).getTemplate(templatePath, data);
230
    }
231
	
185 232
	/************************多WebView 开始*****************************/
186 233
	private TemplateWebView initFlipperPage(String pageAction, boolean isAnimation) {
187 234
		// TODO Auto-generated method stub