Browse Source

邀请新用户

jack 8 years ago
parent
commit
1013cc8556
3 changed files with 331 additions and 157 deletions
  1. 34 25
      app/html/invite_new.html
  2. 272 0
      app/js/invite_new.js
  3. 25 132
      app/js/myaccount.js

+ 34 - 25
app/html/invite_new.html

@ -17,43 +17,52 @@
17 17
        <!--登陆状态-->
18 18
		<div class="mui-content">
19 19
			<!-- 主界面具体展示内容 -->
20
			<div class="inviteBox">
20
			<div class="inviteBox" id="invite">
21 21
				<button class="mui-btn frmbtn inviteBtn">立即邀请</button>
22 22
			</div>
23 23
			<div class="mui-card-content conblock">
24
				<div class="maintitbox" style="padding:10px 4px;">
25
					<div class="maintit maintit2">您已成功邀请 <spanid="inviteNumber">X</span> 位好友加入</div>
24
				<div class="maintitbox" style="padding:10px 4px;"id="inblock">
25
					<div class="maintit maintit2">您已成功邀请 <span id="inviteNumber"id="inviteNumber"></span> 位好友加入</div>
26 26
				</div>
27 27
				<!--数据列表-->
28 28
				<ul class="mui-table-view mui-table-view-chevron list">
29
					<li class="mui-table-view-cell mui-media">
30
		                <a class="proinfor">
31
		                    <img class="mui-media-object mui-pull-left headimg" src="../images/default-photo.jpg">
32
		                    <div class="mui-media-body">
33
		                        <span class="listtit">专家姓名<em class="mui-icon iconfont icon-renzheng authicon-mana"></em></span>	
34
		                        <p class="listtit2"><span>职称</span>,<span>职务</span>,<span>所属机构</span> | <span>所在地</span></p>
35
		                    	<p class="mui-ellipsis listtit3"><span>研究方向标题A</span>、<span>研究方向标题B</span></h5>
36
		                    	<p class="mui-ellipsis listtit3"><span>设备资源名称A</span>、<span>设备资源名称B</span>、<span>设备资源名称B</span></p>
37
		                    </div>
38
		                </a>
39
		            </li>
40
		            <li class="mui-table-view-cell mui-media">
41
		                <a class="proinfor">
42
		                    <img class="mui-media-object mui-pull-left headimg" src="../images/default-photo.jpg">
43
		                    <div class="mui-media-body">
44
		                        <span class="listtit">专家姓名<em class="mui-icon iconfont icon-renzheng authicon-mana"></em></span>	
45
		                        <p class="listtit2"><span>职称</span>,<span>职务</span>,<span>所属机构</span> | <span>所在地</span></p>
46
		                    	<p class="mui-ellipsis listtit3"><span>研究方向标题A</span>、<span>研究方向标题B</span></h5>
47
		                    	<p class="mui-ellipsis listtit3"><span>设备资源名称A</span>、<span>设备资源名称B</span>、<span>设备资源名称B</span></p>
48
		                    </div>
49
		                </a>
50
		            </li>
29
					<!--<li class="mui-table-view-cell mui-media">
30
		                <a class="proinfor">
31
		                    <img class="mui-media-object mui-pull-left headimg" src="../images/default-photo.jpg">
32
		                    <div class="mui-media-body">
33
		                        <span class="listtit">专家姓名<em class="mui-icon iconfont icon-renzheng authicon-mana"></em></span>	
34
		                        <p class="listtit2"><span>职称</span>,<span>职务</span>,<span>所属机构</span> | <span>所在地</span></p>
35
		                    	<p class="mui-ellipsis listtit3"><span>研究方向标题A</span>、<span>研究方向标题B</span></h5>
36
		                    	<p class="mui-ellipsis listtit3"><span>设备资源名称A</span>、<span>设备资源名称B</span>、<span>设备资源名称B</span></p>
37
		                    </div>
38
		                </a>
39
		            </li>
40
		            <li class="mui-table-view-cell mui-media">
41
		                <a class="proinfor">
42
		                    <img class="mui-media-object mui-pull-left headimg" src="../images/default-photo.jpg">
43
		                    <div class="mui-media-body">
44
		                        <span class="listtit">专家姓名<em class="mui-icon iconfont icon-renzheng authicon-mana"></em></span>	
45
		                        <p class="listtit2"><span>职称</span>,<span>职务</span>,<span>所属机构</span> | <span>所在地</span></p>
46
		                    	<p class="mui-ellipsis listtit3"><span>研究方向标题A</span>、<span>研究方向标题B</span></h5>
47
		                    	<p class="mui-ellipsis listtit3"><span>设备资源名称A</span>、<span>设备资源名称B</span>、<span>设备资源名称B</span></p>
48
		                    </div>
49
		                </a>
50
		            </li>-->
51 51
				</ul>
52
				<div class="nodatabox" style="display:none;background: #efeff4;margin: 0; " id="nodatabox1">
53
			        <div class="nodata">
54
			            <div class="picbox"><span class="defpic" style="background-position: -230px -1120px;"></span></div>
55
			            <div class="txtbox">
56
			            	<p class="currword">抱歉!您还未邀请过任何用户</p>
57
			            </div>
58
			        </div>
59
			    </div>
52 60
			</div>
53 61
		</div>
54 62
55 63
		<script src="../js/public/mui.min.js"></script>
56 64
		<script src="../js/public/base.js"></script>
65
		<script src="../js/invite_new.js"></script>
57 66
	</body>
58 67
59 68
</html>

+ 272 - 0
app/js/invite_new.js

@ -0,0 +1,272 @@
1
mui.ready(function() {
2
	mui.plusReady(function() {
3
		var userId = plus.storage.getItem('userid');
4
		var ws = plus.webview.currentWebview();
5
		var professorName = ws.proName;
6
		var table = document.body.querySelector('.list');
7
		var invite = document.getElementById("invite");
8
		function personalMessage() {
9
			mui.ajax(baseUrl + "/ajax/professor/queryInvite", {
10
				dataType: 'json', //数据格式类型
11
				type: 'GET', //http请求类型
12
				data: {
13
					"id": userId
14
				},
15
				timeout: 10000, //超时设置
16
				success: function(data) {
17
					if(data.success) {
18
						plus.nativeUI.closeWaiting(); //新webview的载入完毕后关闭等待框
19
						ws.show("slide-in-right", 150);
20
						if(!data.data.length) {
21
							document.getElementById("inblock").style.display = "none";
22
							document.getElementById("nodatabox1").style.display = "block";
23
							return;
24
						}
25
						document.getElementById("inviteNumber").innerText = data.data.length;
26
						var datalist = data.data;
27
						datalistEach(datalist);
28
					}
29
				},
30
				error: function() {
31
					plus.nativeUI.toast("服务器链接超时", toastStyle);
32
					return;
33
				}
34
			});
35
		}
36
		personalMessage()
37
			/*数据遍历*/
38
		function datalistEach(datalist) {
39
			mui.each(datalist, function(index, item) {
40

41
				/*获取头像*/
42
				if(item.hasHeadImage == 1) {
43
					var img = baseUrl + "/images/head/" + item.id + "_l.jpg";
44
				} else {
45
					var img = "../images/default-photo.jpg";
46
				}
47

48
				/*获取研究方向信息*/
49
				var researchAreas = item.researchAreas;
50
				var rlist = ''
51
				for(var n = 0; n < researchAreas.length; n++) {
52
					//console.log(researchAreas[n].caption);
53
					rlist += '<span>' + researchAreas[n].caption + '</span>';
54
					if(n != researchAreas.length - 1) {
55
						rlist += ","
56
					}
57
				}
58

59
				/*获取资源信息*/
60
				var resources = item.resources;
61
				var zlist = ''
62
				for(var m = 0; m < resources.length; m++) {
63
					//console.log(resources[m].caption);
64
					zlist += '<span>' + resources[m].resourceName + '</span>';
65
					if(m != resources.length - 1) {
66
						zlist += ","
67
					}
68
				}
69
				var title = "";
70
				var office = "";
71
				var orgName = "";
72
				var address = "";
73
				if(item.title && item.office && item.organization.name && item.address) {
74
					title = item.title + ",";
75
					office = item.office + ",";
76
					orgName = item.organization.name + " | ";
77
					address = item.address;
78
				} else if(!item.title && item.office && item.organization.name && item.address) {
79
					office = item.office + ",";
80
					orgName = item.organization.name + " | ";
81
					address = item.address;
82
				} else if(item.title && !item.office && item.organization.name && item.address) {
83
					title = item.title + ",";
84
					orgName = item.organization.name + " | ";
85
					address = item.address;
86
				} else if(item.title && item.office && !item.organization.name && item.address) {
87
					title = item.title + ",";
88
					office = item.office + " | ";
89
					address = item.address;
90
				} else if(item.title && item.office && item.organization.name && !item.address) {
91
					title = item.title + ",";
92
					office = item.office + ",";
93
					orgName = item.organization.name;
94
				} else if(!item.title && !item.office && item.organization.name && item.address) {
95
					orgName = item.organization.name + " | ";
96
					address = item.address;
97
				} else if(!item.title && item.office && !item.organization.name && item.address) {
98
					office = item.office + " | ";
99
					address = item.address;
100
				} else if(!item.title && item.office && item.organization.name && !item.address) {
101
					office = item.office + ",";
102
					orgName = item.organization.name;
103
				} else if(item.title && !item.office && !item.organization.name && item.address) {
104
					title = item.title + " | ";
105
					address = item.address;
106
				} else if(item.title && !item.office && item.organization.name && !item.address) {
107
					office = item.title + ",";
108
					address = item.organization.name;
109
				} else if(item.title && item.office && !item.organization.name && !item.address) {
110
					title = item.title + ",";
111
					office = item.office;
112
				} else if(!item.title && !item.office && !item.organization.name && item.address) {
113
					address = item.address;
114
				} else if(!item.title && !item.office && item.organization.name && !item.address) {
115
					orgName = item.organization.name;
116
				} else if(!item.title && item.office && !item.organization.name && !item.address) {
117
					office = item.office;
118
				} else if(item.title && !item.office && !item.organization.name && !item.address) {
119
					title = item.title;
120
				}
121
				var typeTname = '';
122
				if(item.authType) {
123
					typeTname = '<em class="mui-icon iconfont icon-vip authicon-cu"> </em>';
124
				} else {
125
					if(item.authStatus) {
126
						if(item.authentication == 1) {
127
							typeTname = '<em class="mui-icon iconfont icon-renzheng authicon-mana"></em>';
128
						} else if(item.authentication == 2) {
129
							typeTname = '<em class="mui-icon iconfont icon-renzheng authicon-staff"></em>';
130
						} else {
131
							typeTname = '<em class="mui-icon iconfont icon-renzheng authicon-stu"></em>';
132
						}
133
					}
134
				}
135

136
				var li = document.createElement('li');
137
				li.className = 'mui-table-view-cell mui-media';
138
				li.setAttribute("professorId", item.id);
139
				li.innerHTML = '<a class="proinfor" data-id="' + item.id + '"' +
140
					'<p><img class="mui-media-object mui-pull-left headimg headRadius" src="' + img + '"></p>' +
141
					'<div class="mui-media-body">' +
142
					'<span class="listtit">' + item.name + typeTname + '</span>' +
143
					'<p class="listtit2"><span>' + title + '</span><span>' + office + '</span><span>' + orgName + '</span><span>' + address + '</span></p>' +
144
					'<p class="mui-ellipsis listtit3">' + rlist + '</p>' +
145
					'<p class="mui-ellipsis listtit3">' + zlist + '</p>' +
146
					'</div></a></li>';
147

148
				table.appendChild(li, table.firstChild);
149

150
			});
151
		}
152
		/*微信及微信朋友圈分享专家*/
153
		var auths, shares;
154
		invite.addEventListener("tap", function() {
155
			shareShow()
156
		});
157
		plus.oauth.getServices(function(services) {
158
			auths = {};
159
			for(var i in services) {
160
				var t = services[i];
161
				auths[t.id] = t;
162
			}
163
		}, function(e) {
164
			alert("获取登录服务列表失败:" + e.message + " - " + e.code);
165
		});
166
		plus.share.getServices(function(services) {
167

168
			shares = {};
169
			for(var i in services) {
170

171
				var t = services[i];
172

173
				shares[t.id] = t;
174

175
			}
176
		}, function(e) {
177
			alert("获取分享服务列表失败:" + e.message + " - " + e.code);
178
		})
179

180
		function shareShow() {
181
			var shareBts = [];
182
			// 更新分享列表
183
			var ss = shares['weixin'];
184
			if(navigator.userAgent.indexOf('StreamApp') < 0 && navigator.userAgent.indexOf('qihoo') < 0) { //在360流应用中微信不支持分享图片
185
				ss && ss.nativeClient && (shareBts.push({
186
						title: '微信好友',
187
						s: ss,
188
						x: 'WXSceneSession'
189
					}),
190
					shareBts.push({
191
						title: '微信朋友圈',
192
						s: ss,
193
						x: 'WXSceneTimeline'
194
					}));
195
			}
196
			//				// 弹出分享列表
197
			shareBts.length > 0 ? plus.nativeUI.actionSheet({
198
				title: '分享',
199
				cancel: '取消',
200
				buttons: shareBts
201
			}, function(e) {
202
				var str = "研究方向"
203
				if(e.index == 1) {
204
					var share = buildShareService();
205
					if(share) {
206
						shareMessage(share, "WXSceneSession", {
207
							content: "科袖网,搭建企业与专家的桥梁。",
208
							title: professorName + "邀请您加入【科袖】",
209
							href: baseUrl + "/ekexiu/Invitation.html?professorId=" + userId + "&professorName=" + encodeURI(professorName),
210
							thumbs: [baseUrl + "/images/logo180.png"]
211
						});
212
					}
213
				} else if(e.index == 2) {
214
					var share = buildShareService();
215
					if(share) {
216
						shareMessage(share, "WXSceneTimeline", {
217
							content: professorName,
218
							title: "【科袖名片",
219
							href: baseUrl + "/ekexiu/Invitation.html?professorId=" + userId + "&professorName=" + encodeURI(professorName),
220
							thumbs: [baseUrl + "/images/logo180.png"]
221
						});
222
					}
223
				}
224

225
			}) : plus.nativeUI.alert('当前环境无法支持分享操作!');
226

227
		}
228

229
		function buildShareService() {
230
			var share = shares["weixin"];
231
			if(share) {
232
				if(share.authenticated) {
233
					console.log("---已授权---");
234
				} else {
235
					console.log("---未授权---");
236
					share.authorize(function() {
237
						console.log('授权成功...')
238
					}, function(e) {
239
						alert("认证授权失败:" + e.code + " - " + e.message);
240
						return null;
241
					});
242
				}
243
				return share;
244
			} else {
245
				alert("没有获取微信分享服务");
246
				return null;
247
			}
248

249
		}
250

251
		function shareMessage(share, ex, msg) {
252
			msg.extra = {
253
				scene: ex
254
			};
255
			share.send(msg, function() {
256
				plus.nativeUI.closeWaiting();
257
				var strtmp = "分享到\"" + share.description + "\"成功! ";
258
				console.log(strtmp);
259
				plus.nativeUI.toast(strtmp, {
260
					verticalAlign: 'center'
261
				});
262
			}, function(e) {
263
				plus.nativeUI.closeWaiting();
264
				if(e.code == -2) {
265
					plus.nativeUI.toast('已取消分享', {
266
						verticalAlign: 'center'
267
					});
268
				}
269
			});
270
		}
271
	});
272
})

+ 25 - 132
app/js/myaccount.js

@ -14,7 +14,7 @@ mui.ready(function() {
14 14
	var infobasic = document.getElementsByClassName("amend")[0];
15 15
	var oFlag;
16 16
	var oFlag1;
17
	var clickFlag=true;
17
	var clickFlag = true;
18 18
	var professorName;
19 19
	mui.plusReady(function() {
20 20

@ -82,7 +82,7 @@ mui.ready(function() {
82 82

83 83
				/*我的修改专家*/
84 84
				infobasic.addEventListener('tap', function() {
85
						if(oFlag1||oFlag == 1) {
85
						if(oFlag1 || oFlag == 1) {
86 86
							mui.openWindow({
87 87
								url: '../html/proinforupdate.html',
88 88
								id: 'html/proinforupdate.html',
@ -92,7 +92,7 @@ mui.ready(function() {
92 92
								},
93 93

94 94
							});
95
						} else if(!oFlag1&&oFlag == 2) {
95
						} else if(!oFlag1 && oFlag == 2) {
96 96
							/*我的修改企业工作者*/
97 97
							mui.openWindow({
98 98
								url: '../html/companyUpdata.html',
@ -103,7 +103,7 @@ mui.ready(function() {
103 103
								},
104 104

105 105
							});
106
						} else if(!oFlag1&&oFlag == 3) {
106
						} else if(!oFlag1 && oFlag == 3) {
107 107
							/*我的修改学生*/
108 108
							mui.openWindow({
109 109
								url: '../html/studentUpdata.html',
@ -116,7 +116,7 @@ mui.ready(function() {
116 116
							});
117 117
						}
118 118
					})
119
				/*我的历史和评价*/
119
					/*我的历史和评价*/
120 120
				goZixun.addEventListener('tap', function() {
121 121
					if(!clickFlag) return;
122 122
					mui.openWindow({
@ -148,11 +148,11 @@ mui.ready(function() {
148 148
				success: function(data) {
149 149
					var $info = data.data || {};
150 150
					oFlag = $info.authentication;
151
					oFlag1=$info.authType
151
					oFlag1 = $info.authType
152 152
					console.log(oFlag)
153 153
					if(data.success && data.data) {
154 154
						document.getElementById("userName").innerText = $info.name || '';
155
						professorName=$info.name;
155
						professorName = $info.name;
156 156
						var userTitle = document.getElementById("userTitle");
157 157
						var userPosition = document.getElementById("userPosition");
158 158
						var userDepartment = document.getElementById("userDepartment");
@ -188,10 +188,10 @@ mui.ready(function() {
188 188
						}
189 189
						($info.address) ? userCity.innerText = $info.address: userCity.innerText = '';
190 190
						($info.consultCount != '') ? zixunOk.innerText = $info.consultCount: zixunOk.innerText = '0';
191
						var startLeval = parseInt($info.starLevel);						
192
						if($info.consultCount) {							
191
						var startLeval = parseInt($info.starLevel);
192
						if($info.consultCount) {
193 193
							zixunOk.innerText = $info.consultCount;
194
							if(!startLeval) {								
194
							if(!startLeval) {
195 195
								clickFlag = false;
196 196
								document.getElementById("NoActive").classList.add("NoActive");
197 197
								document.getElementsByClassName("levelbox")[0].style.display = "none";
@ -200,9 +200,9 @@ mui.ready(function() {
200 200
						} else {
201 201
							goZixun.style.display = "none";
202 202
						}
203
						if(!$info.authType&&($info.authentication == 2||$info.authentication == 3)){
204
							goZixun.style.display="none"; 
205
							}	 					
203
						if(!$info.authType && ($info.authentication == 2 || $info.authentication == 3)) {
204
							goZixun.style.display = "none";
205
						}
206 206
						var start = document.getElementsByClassName("star");
207 207
						for(var i = 0; i < startLeval; i++) {
208 208
							start[i].classList.add("icon-favorfill");
@ -240,127 +240,20 @@ mui.ready(function() {
240 240
				}
241 241
			});
242 242
		}
243
/*微信及微信朋友圈分享专家*/
244
	var auths, shares;
245
	document.getElementById("goNewuser").addEventListener("tap", function() {
246
		shareShow()
247
	})
248
	plus.oauth.getServices(function(services) {
249
		auths = {};
250
		for(var i in services) {
251
			var t = services[i];
252
			auths[t.id] = t;
253

254
		}
255
	}, function(e) {
256
		alert("获取登录服务列表失败:" + e.message + " - " + e.code);
257
	});
258
	plus.share.getServices(function(services) {
259

260
		shares = {};
261
		for(var i in services) {
262

263
			var t = services[i];
264

265
			shares[t.id] = t;
266

267
		}
268
	}, function(e) {
269
		alert("获取分享服务列表失败:" + e.message + " - " + e.code);
270
	})
271

272
	function shareShow() {
273
		var shareBts = [];
274
		// 更新分享列表
275
		var ss = shares['weixin'];
276
		if(navigator.userAgent.indexOf('StreamApp') < 0 && navigator.userAgent.indexOf('qihoo') < 0) { //在360流应用中微信不支持分享图片
277
			ss && ss.nativeClient && (shareBts.push({
278
					title: '微信好友',
279
					s: ss,
280
					x: 'WXSceneSession'
281
				}),
282
				shareBts.push({
283
					title: '微信朋友圈',
284
					s: ss,
285
					x: 'WXSceneTimeline'
286
				}));
287
		}
288
		//				// 弹出分享列表
289
		shareBts.length > 0 ? plus.nativeUI.actionSheet({
290
			title: '分享',
291
			cancel: '取消',
292
			buttons: shareBts
293
		}, function(e) {
294
			var str = "研究方向"			
295
			if(e.index == 1) {				
296
				alert(userId);
297
				var share = buildShareService();
298
				if(share) {
299
					shareMessage(share, "WXSceneSession", {
300
						content: professorName,
301
						title: "【科袖名片】",
302
						href: baseUrl+"/ekexiu/Invitation.html?professorId="+userId+"&professorName="+encodeURI(professorName),
303
						thumbs: [baseUrl + "/images/logo180.png"]
304
					});
305
				}
306
			} else if(e.index == 2) {				
307
				var share = buildShareService();
308
				if(share) {
309
					shareMessage(share, "WXSceneTimeline", {
310
						content: professorName,
311
						title: "【科袖名片",
312
						href: baseUrl+"/ekexiu/Invitation.html?professorId="+userId+"&professorName="+encodeURI(professorName),
313
						thumbs: [baseUrl + "/images/logo180.png"]
314
					});
243
		document.getElementById("goNewuser").addEventListener("tap", function() {			
244
			mui.openWindow({
245
				url: '../html/invite_new.html',
246
				id: 'invite_new.html',
247
				show: {
248
					autoShow: false,
249
					aniShow: "slide-in-left"
250
				},
251
				extras: {
252
					proName:professorName
315 253
				}
316
			}
317

318
		}) : plus.nativeUI.alert('当前环境无法支持分享操作!');
319

320
	}
321

322
	function buildShareService() {
323
		var share = shares["weixin"];
324
		if(share) {
325
			if(share.authenticated) {
326
				console.log("---已授权---");
327
			} else {
328
				console.log("---未授权---");
329
				share.authorize(function() {
330
					console.log('授权成功...')
331
				}, function(e) {
332
					alert("认证授权失败:" + e.code + " - " + e.message);
333
					return null;
334
				});
335
			}
336
			return share;
337
		} else {
338
			alert("没有获取微信分享服务");
339
			return null;
340
		}
341

342
	}
343
	
344
	function shareMessage(share, ex, msg) {
345
		msg.extra = {
346
			scene: ex
347
		};
348
		share.send(msg, function() {
349
			plus.nativeUI.closeWaiting();
350
			var strtmp = "分享到\"" + share.description + "\"成功! ";
351
			console.log(strtmp);
352
			plus.nativeUI.toast(strtmp, {
353
				verticalAlign: 'center'
354 254
			});
355
		}, function(e) {
356
			plus.nativeUI.closeWaiting();
357
			if(e.code == -2) {
358
				plus.nativeUI.toast('已取消分享', {
359
					verticalAlign: 'center'
360
				});
361
			}
362
		});
363
	}
255
		})
256
		
364 257
	});
365 258

366 259
});