| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348 | 
	var winHeight=window.innerHeight;//窗体高度		Date.prototype.format = function(format) {		var date = {			"M+": this.getMonth() + 1,			"d+": this.getDate(),			"h+": this.getHours(),			"m+": this.getMinutes(),			"s+": this.getSeconds(),			"q+": Math.floor((this.getMonth() + 3) / 3),			"S+": this.getMilliseconds()		};		if(/(y+)/i.test(format)) {			format = format.replace(RegExp.$1, (this.getFullYear() + '').substr(4 - RegExp.$1.length));		}		for(var k in date) {			if(new RegExp("(" + k + ")").test(format)) {				format = format.replace(RegExp.$1, RegExp.$1.length == 1 ?					date[k] : ("00" + date[k]).substr(("" + date[k]).length));			}		}		return format;	}	var pageIndex = 1;	var docPhoto, docName;	var otherCode, otherName, otherPhoto, otherSex;		/**	 * 初始化	 */	mui.plusReady(function() {		$("#contain").height(winHeight-45-58)//设定聊天模块度		document.addEventListener("resume", function() {			getMsgList(1, 200,true);		}, false);		var self = plus.webview.currentWebview();		otherCode = self.otherCode;		otherName = self.otherName;		otherSex = self.otherSex;		otherPhoto = self.otherPhoto || (otherSex==1 ? "../../../images/d-male.png" : "../../../images/d-female.png");						$('#title').html("名医咨询-"+otherName);				/*		 * 医生缓存信息 姓名和头像		 */		var infoStr = plus.storage.getItem("docInfo");		if(infoStr) {			var info = JSON.parse(infoStr);			docName = info.name;			docPhoto = info.photo || (info.sex==1 ? "../../../images/d-male.png" : "../../../images/d-female.png");		}		back2home();		getMsgList(1, 200, true);	});		/**	 * 点击结束咨询	 */	$('#close_zixun_btn').on('tap',function() {		mui.back();	});		/**	 * 点击查看好友详细信息	 */	$('#qun_detail').on("tap", function(){				mui.openWindow('../../mine/html/zuyuanziliao.html', 'zuyuanziliao', {			extras: {				docCode: otherCode			}		});			})	/*	 * 回复消息	 */	function clickReply() {		var text = $("#input_content").val().trim(); 		$("#input_content").focus()		if(text.length == 0) {			mui.toast("发送内容不能为空,请重新输入");			return;		}		uploadMsg(1, text);		$('#contain').animate({scrollTop:1000000});	}		/**	 * 获取当前用户code	 */	function getUserId() {		var userInfo = plus.storage.getItem("userAgent");		if(typeof(userInfo) == "undefind" || userInfo == null) {			mui.toast("登录信息过时,请重新登录!");			return;		}		var userJson = $.parseJSON(userInfo);		return userJson.uid;	}		/**	 * 获取消息	 */	function getMsgList(pageIndex, pageSize,isClear) {		var start = 0;		if(pageIndex > 0) {			start = (pageIndex - 1) * pageSize;		};		count = pageSize;		im.getP2pMsg(getUserId(), otherCode, start, count, function(data) {			showMsg(data,isClear);			$('#contain').animate({scrollTop:1000000});						// 刷新数字角标//			var userId = plus.storage.getItem('im_userid');//			im.getBadgeNumber(userId, function(result) {//				console.log(JSON.stringify(result));//				try {//					if (result && result.badge) {//						plus.runtime.setBadgeNumber(result.badge);//					}//				} catch (e) {//					//				}//			});		});	}	/**	 * 发送消息	 */	function uploadMsg(type, content) {		im.sendP2p(getUserId(), otherCode, content, type, function(data) {			if(data.errno == 0) {				getMsgList(1, 1,false);			} else {				mui.toast("消息发送失败");			}		})	}	/**	 * 显示消息	 */	function showMsg(data,isClear) {		if(data == null || data.list == null) {			return;		}		var html = ""; //'<div class="time-tips"><span>' + timer + '</span></div>';		var preTime = 0;		var msgList = data.list;		var typeMsg = 1;		for(var i = msgList.length - 1; i >= 0; i--) {			var doctor_img = "../../../images/d-default.png";			var doctor_name = "";			if(msgList[i].from_uid == otherCode){				doctor_img = otherPhoto;				doctor_name = otherName;			}			else{				doctor_img = docPhoto;				doctor_name = docName;			}						var contentMsg = "";			if(msgList[i].content != null && msgList[i].content != "") {				typeMsg = msgList[i].type;				contentMsg = msgList[i].content;			}			var _class = 'class="chat-right"';			if(getUserId() != msgList[i].from_uid) {				_class = 'class="chat-left"';			}			if(msgList[i].timestamp - preTime > 60 * 1000) {				preTime = msgList[i].timestamp;				var date = new Date();				date.setTime(msgList[i].timestamp);				var time = date.format('yyyy-MM-dd h:m:s');				html += '<div class="time-tips"><span>' + time + '</span></div>';			}			//					console.error(contentMsg);			//type:1.文字 2.图片 3.音频			var temp = '<dl ' + _class + '><dt style="height: auto; text-align: center;"><a><img src=" ' + doctor_img + '" class="c-images-cycle" /></a><span class="c-f12">' + doctor_name + '</span></dt>';			switch(typeMsg) {				case 1:					temp += '<dd class="word-bread"><span>' + contentMsg + '</span></dd></dl>';					break;				case 2:					temp += '<dd class="word-bread"><img width="100" height="100" src=" ' + contentMsg + '" /></dd></dl>';					break;				case 3:					temp += '<dd class="word-bread audio" data-audio=" ' + contentMsg + '" onclick="playRecord(this)"><img src="../images/more-tb3.png" alt="" /></dd></dl>';					break;			}			html += temp;		}		$("#input_content").val("");		if(typeMsg != null && typeMsg != 1) {			$(".tw-add-detail").hide(500);		}		if(isClear){			$("#contain").html(html);		}else{			$("#contain").append(html);		}		window.scrollTo(0, $("#contain").height());//		scaleRefresh("#contain dd");	}	/*	 * 图片缩放	 */	function scaleRefresh(dom) {		ImagesZoom.init({			"elem": dom,			"delBack": function(index) {							}		});	}			/*	 * 附加功能	 */	$(".tw-add").click(function() {		$(this).find("img").toggle();		$(".tw-add-detail").toggle(500);		var inputHeight = $("#input_div").height();	});			/*	 * 发送照片	 */	function clickGallery() {		plus.gallery.pick(function(path) {			var lastIdx = path.lastIndexOf("/"),				imgName = path;			if(lastIdx>-1) {				imgName = path.slice(lastIdx+1);			}			plus.zip.compressImage({				src: path,				dst: "_doc/chat/gallery/" + imgName,				quality: 20,				overwrite: true			}, function(e) {				var task = plus.uploader.createUpload(server + "upload/chat", {					method: "post"				}, function(t, sta) {					console.log(JSON.stringify(t))					if(sta == 200) {						var msg = t.responseText;						var oImg = JSON.parse(msg);						var imgUrl = oImg.urls;						var re = new RegExp("\\\\", "g");						imgUrl = imgUrl.replace(re, "/");						uploadMsg(2, imgUrl);					}				});				task.addFile(e.target, {});				task.start();			}, function(err) {				console.error("压缩失败:" + err.message);			});		}, function(err) {});	};			/*	 * 拍照	 */	function clickCamera() {		var cmr = plus.camera.getCamera();		var res = cmr.supportedImageResolutions[0];		var fmt = cmr.supportedImageFormats[0];		cmr.captureImage(function(path) {			//					plus.io.resolveLocalFileSystemURL(path, function(entry) {			plus.io.resolveLocalFileSystemURL(path, function(entry) {				var localUrl = entry.toLocalURL();				var lastIdx = localUrl.lastIndexOf("/"),					imgName = localUrl;				if(lastIdx>-1) {					imgName = localUrl.slice(lastIdx+1);				}				plus.zip.compressImage({					src: localUrl,					dst: "_doc/chat/camera/" + imgName,					quality: 20,					overwrite: true				}, function(e) {					var task = plus.uploader.createUpload(server + "upload/chat", {						method: "post"					}, function(t, sta) {						if(sta == 200) {							var msg = t.responseText;							var oImg = JSON.parse(msg);							var imgUrl = oImg.urls;							var re = new RegExp("\\\\", "g");							imgUrl = imgUrl.replace(re, "/");							console.log(imgUrl);							uploadMsg(2, imgUrl);						}					});					task.addFile(e.target, {});					task.start();				}, function(err) {					console.log("压缩失败:  " + err.message);				});			});		}, function(err) {			if(err.code==11 && err.message == "null") {				plus.nativeUI.toast("您尚未授权拍照权限,无法使用拍照功能。");			}			console.error("拍照失败:" + err.message);		}, {			index: 1		});	};	/**	 * 更新信息事件	 */	window.addEventListener("update", function() {		getMsgList(1, 200, true);	});	template.helper("setPhoto", function(p) {				return getImgUrl(p);});
 |