
/**
 * 处理附件点击事件
 */
RichtextAttachmentClickUtils = {
	clickEvent : function(){},
	customAttachmentType : '', // 自己处理点击事件的附件类型
	customClickEvent: function(){}, // 自己处理点击事件的方法
}
//获取js当前路径
RichtextAttachmentClickUtils.mctx = function () {
	var jsPath = document.currentScript && document.currentScript.src ? document.currentScript.src : function () {
		var js = document.scripts
			, last = js.length - 1
			, src;
		for (var i = last; i > 0; i--) {
			if (js[i].readyState === 'interactive') {
				src = js[i].src;
				break;
			}
			if (js[i].src.indexOf('attachment_click_util.js') > -1) {
				src = js[i].src;
				break;
			}
		}
		return src || js[last].src;
	}();
	return jsPath.substring(0, jsPath.indexOf('/res/'));
}();
var AttachmentType = {
	Topic:1,//话题
	Note:2,//笔记
	Special:3,//专题
	Newspaper:4,//报纸
	SpecialDomain:5,//专题域
	Periodical:6,//期刊
	Group:7,//小组
	Notice:8,//通知
	Notifications:30,//通知提醒
	Message:9,//消息
	Notebook:10,//笔记文件夹
	StudyFolder:11,//书房文件夹
	Courses:{ //15课程相关
		Value:15,
		subType:{
			test : 42, // 测验
			score : 23, // 评分
			vote : 14, // 投票/问卷
			signin:2,//签到
			liveVideo:0//直播
		}
	},
	ResourcesDomain:16,//资源域
	CourseChapter:17,//课程章节
	CloudDisk:18,//云盘
	RedPacket:19,//红包
	UserInfo:20,//人员信息
	Course:21,//课程
	BookRoom:22,//书房
	GroupChat:23,//群聊
	DownloadApp:24,//APP下载
	Web:25,//网页
	Voice:26,//录音
	Video:29,//录制视频
	Link:31, //外链
	mapLocation:33,//地图
	CloudFolder:38, // 云盘文件夹
	microCourse:41, //速课
	courseqrCode:44,//班级课程,（从新建课程和新建班级完成页面转发的)
	TopicFolder:47, // 话题文件夹
	GroupDatafolder:48, // 资料文件夹
	localFolder:49, // 本地文件夹
	CourseVideo:54,//课程视频打点
};

var host = window.location.href;
if (host) {
	host = host.toLocaleLowerCase();
}
//是否是分享页，分享页点击附件时是打开分享页地址，课程那边在微信里面使用时也走分享页逻辑
var isShare = host.indexOf("sharewh") != -1 || host.indexOf("mobilewx.chaoxing.com") != -1;
// 是否是投屏页
var isScreen = window.location.pathname.indexOf("screen") != -1;

var ua = navigator.userAgent.toLowerCase();
var isAndroid = ua.indexOf('android') > -1 || ua.indexOf('adr') > -1; //android终端
var isIOS = ua.indexOf('iphone') >= 0 || ua.indexOf('ipad') >= 0 || ua.indexOf('ipod') >= 0; //ios终端
var isHarmony = navigator.userAgent.indexOf('harmony') > -1 //鸿蒙终端
// 是否在学习通里面
var isXXT = ua && ua.indexOf("chaoxingstudy")!=-1 && ua.indexOf('_pc_') == -1;
// 是否在手机端
var isPhone = isAndroid || isIOS || isHarmony;
// 是否是微信端
var isWeiXin = ua.match(/MicroMessenger/i) == 'micromessenger';
var isIosQQ = ( /(iPhone|iPad|iPod|iOS)/i.test(navigator.userAgent) && /\sQQ/i.test(navigator.userAgent));
var isAndroidQQ = ( /(Android)/i.test(navigator.userAgent) && /MQQBrowser/i.test(navigator.userAgent) && /\sQQ/i.test((navigator.userAgent).split('MQQBrowser')));
var isQQ = isIosQQ || isAndroidQQ;

// 2话题；3笔记；4 通知；6小组；7专题   这几种类型走接口获取分享页地址
var strJson = {};
strJson[AttachmentType.Topic] = 2;
strJson[AttachmentType.Note] = 3;
strJson[AttachmentType.Notice] = 4;
strJson[AttachmentType.Group] = 6;
// strJson[AttachmentType.Special] = 7;

// 获取客户端版本号
RichtextAttachmentClickUtils.getClientVersion = function(){
	var ua = navigator.userAgent.toLowerCase();
	if(ua.indexOf("chaoxingstudy") > -1){
		ua = ua.substring(ua.indexOf("chaoxingstudy"));
		ua = ua.substring(ua.indexOf("_")+1);
		ua = ua.substring(ua.indexOf("_")+1);
		ua = ua.substring(0,ua.indexOf("_"));
		return ua;
	}
	return '0';
}
//获取客户端API版本号
RichtextAttachmentClickUtils.getClientApiVersion = function () {
	var userAgent = navigator.userAgent;
	if (userAgent.indexOf("ChaoXingStudy_") == -1) {
		return 0;
	}
	var versionArray = userAgent.match(".*ChaoXingStudy_(\\d+)_(\\d+[^_]*)_([^_]*)_([^_]*)_([^ ]*)?( \\([^)]*\\))?.*_(.*[-]?\\w+).*");
	if (!!versionArray && versionArray != "undefined" && versionArray.length > 6) {
		var ApiVersion = versionArray[5].split("_")[1];
		return parseInt(ApiVersion);
	}
	return 0;
}
/**
 * 获取附件   isOriginal 是否走原来的逻辑获取地址  0：不是   1：是
 */
RichtextAttachmentClickUtils.clickEvent = function(attachment, operationType, isOriginal) {
	if (!attachment) {
		return;
	}
	var open_url = "";
	var attachmentType = attachment.attachmentType;
	if (undefined == attachmentType || attachmentType == "") {
		return;
	}
	attachmentType = parseInt(attachmentType);
	if (typeof RichtextAttachmentClickUtils.customAttachmentType != 'undefined'
		&& RichtextAttachmentClickUtils.customAttachmentType
		&& typeof RichtextAttachmentClickUtils.customClickEvent == 'function') {
		var attTypeArr = RichtextAttachmentClickUtils.customAttachmentType.split(',');
		if (attTypeArr && attTypeArr.length > 0) {
			var isContains = false;
			$.each(attTypeArr, function(idx, val) {
				if (parseInt(val) == attachmentType) {
					// 定义了自己处理的附件，直接调用的对应的方法
					RichtextAttachmentClickUtils.customClickEvent(attachment, attachmentType);
					isContains = true;
					return false;
				}
			})
			if (isContains) {
				return;
			}
		}
	}
	if (typeof RichTextUitl != "undefined" && RichTextUitl.intranetMode) {
		var url = '';
		if (attachmentType == AttachmentType.CloudDisk
			&& attachment.att_clouddisk && !attachment.att_clouddisk.fileId
			&& attachment.att_clouddisk.downPath) {
			// 有一些镜像数据是从线上迁移到本地的，线上的云盘附件里面有fileId，如果有这个，就走线上的下载逻辑
			url = attachment.att_clouddisk.downPath;
		}else if (attachmentType == AttachmentType.Web) {
			url = attachment.att_web.url;
		}
		if (url) {
			if(isPhone){
				$('body').append('<a style="display:none;" id="open_attachment" target="_blank" href="'+url+'"></a>');
				var el=document.getElementById('open_attachment');
				el.click();//触发打开事件
				$(el).remove();
			}else{
				window.location.href = url;
			}
			return;
		}
	}
	if (operationType == 'preview') {
		// 云盘文件的预览
		if (attachment && attachment.att_clouddisk && attachment.att_clouddisk.fileId) {
			var url = "https://previewyd.chaoxing.com/res/view/view.html?opentype=full&objectid="
				+ attachment.att_clouddisk.fileId;
			if(window.obj && window.obj.mirrorDomain && window.obj.mirrorDomain.previewDomainHttps){
				url = window.obj.mirrorDomain.previewDomainHttps + "/res/view/view.html?opentype=full&objectid="
					+ attachment.att_clouddisk.fileId;
			}
			if(!RichTextUitl.isGetVideoDataFromCenter){
				resid = attachment.att_clouddisk.resid
				url += '&resid=' + resid;
			}
			if(isPhone) {
				$('body').append('<a style="display:none;" id="open_attachment" target="_blank" href="' + url + '"></a>');
				var el = document.getElementById('open_attachment');
				el.click();//触发打开事件
				$(el).remove();
			}else{
				window.location.href = url;
			}
		}
		return;
	}
	//可预览可下载文件
	var isFile = attachment.attachmentType == 18 &&	(attachment.att_clouddisk.suffix.indexOf('doc') > -1 || attachment.att_clouddisk.suffix.indexOf('xls') > -1 || attachment.att_clouddisk.suffix.indexOf('pdf') > -1);

	if (isXXT && RichtextAttachmentClickUtils.getClientApiVersion() >= 38 && window.self == window.top) {
		// 4.357 才有 CLIENT_OPEN_ATTACHMENT 协议
		// 非分享页，且是在学习通里面打开的，通过客户端协议展示附件，现在改为分享页在学习通里面打开时也使用协议
		// 门户那边反馈有视频在学习通里面查看时会提示文件不存在，查询发现是视频附件里面的resid对应的数据已经不存在了
		// 可能是用户把文件传到云盘后又删除了文件，由于门户都是定制域名，为了先解决播放问题，
		// 添加判断课程域名的才使用协议，门户的使用网页播放，网页播放是用的objectid查的，可以正常查到数据
		if (window.location.host.indexOf('mobilelearn') > -1 || window.location.host.indexOf('sharewh') > -1
			|| attachment.attachmentType != 29) {
			try {
				jsBridge.postNotification('CLIENT_OPEN_ATTACHMENT', attachment);
			}
			catch(e) {
			}
		} else {
			attachment.att_video.name = attachment.att_video.fileTitle;
			attachment.att_video.fileId = attachment.att_video.objectId2;
			AttachmentListener.mediaPlay('video', attachment.att_video);
		}
		return;
	} else if(isXXT && window.top != window.self)  {
		// 学习通里面iframe嵌套的，用顶层协议打开
		try {
			if(top.jsBridge){
				top.jsBridge.postNotification('CLIENT_OPEN_ATTACHMENT', attachment);
				return;
			}
		}catch(e) {
			console.log(e);
		}
	}

	// 2话题；3笔记；4 通知；6小组；7专题   这几种类型走接口获取分享页地址
	if (strJson[attachmentType] && isShare && !isOriginal){
		getAttShareUrl(strJson[attachmentType],attachmentType,attachment);
		return;
	}

	switch (attachmentType) {
		case AttachmentType.Topic:
			//话题
			var att_topic=attachment.att_topic;
			var att_topic_id = att_topic.id;
			if($.trim(att_topic.shareUrl||"")!=""){//尝试获取加密的话题id
				var reg4GetDesNoteId = new RegExp("//sharewh.chaoxing.com/share/topic/([^/]+)/getTopic", "ig");
				var regResultArr = reg4GetDesNoteId.exec(att_topic.shareUrl||"");
				att_topic_id = regResultArr && regResultArr.length>1?regResultArr[1]:att_topic_id;
			}
			if(isShare){
				open_url = att_topic.shareUrl.replace('sharewh.chaoxing.com', 'sharewh3.xuexi365.com');
			}else if(isScreen){
				// 投屏页，打开对应的话题投屏页面
				open_url = "https://groupyd.chaoxing.com/screen/screenProjection/topic/"+ att_topic.uuid +"/detail";
			} else {
//				open_url = "http://group.yd.chaoxing.com/pc/topic/bbs/"+ att_topic.att_group.bbsId +"/"+att_topic_id+"/replysList";
				open_url = "https://groupweb.chaoxing.com/pc/topic/jumpToTopicDetail?bbsid="+ att_topic.att_group.bbsId +"&uuid=" + att_topic.uuid;
			}
			break;
		case AttachmentType.Note:
			//笔记
			var att_note = attachment.att_note;
			var att_note_url = 'https://noteyd.chaoxing.com/pc/' + att_note.cid;
			if(isShare){
				open_url = att_note.shareUrl.replace('sharewh.chaoxing.com', 'sharewh3.xuexi365.com');
			} else if(isScreen){
				// 投屏页，打开对应的笔记投屏页面
				open_url = "https://noteyd.chaoxing.com/screen/note_note/noteDetail/" + att_note.cid;
			} else{
				open_url = att_note_url;
			}
			if(typeof Notice_Detail != 'undefined' && typeof Notice_Detail.openNoticeCard == 'function'){
				Notice_Detail.openNoticeCard(att_note.title, att_note_url);
				return;
			}
			break;
		case AttachmentType.Notebook:
			// 笔记本
			var att_notebook = attachment.att_notebook;
			if (att_notebook.cid) {
				open_url = 'https://noteyd.chaoxing.com/pc/note_notebook/otherNotebooksLatest/'+att_notebook.cid;
			}
			break;
		case AttachmentType.Special:
			//专题
			var att_subject = attachment.att_subject;
			var category = att_subject.category;
			if(category == "0"){//专题
				var subjectLink = att_subject.subjectLink;//链接
				var courseId = subjectLink.substring(subjectLink.lastIndexOf("/")+1);
				var askCharIndex = courseId.indexOf("?");
				if (askCharIndex >-1) {
					courseId = courseId.substring(0,askCharIndex);
				}
				if(isShare){
					if (isPhone) {
						open_url = subjectLink;
					} else {
						open_url = "http://mooc1.chaoxing.com/course/"+ courseId +".html";
					}
				}else{
					if (isScreen) {
						open_url = 'http://special.chaoxing.com/special/screen/'+courseId;
					} else {
						open_url = 'http://mooc1.chaoxing.com/course/'+courseId+'.html';
					}
				}
			}else if(category == "1"){//专题章节
				//专题章节
				var chapterLink = att_subject.chapterLink;//章节链接
				var askCharIndex = chapterLink.indexOf("?");
				var openUrl = "";
				if(chapterLink.indexOf("http://group.yd.chaoxing.com")!=-1){
					//一键专题对应的专题章节
					openUrl = chapterLink;
				} else if (chapterLink.indexOf('courseId') == -1) {
					// 不包含 courseId， 直接使用 chapterLink
					openUrl = chapterLink;
				} else{
					var courseId = '';
					var chapterId = '';
					if (askCharIndex > -1) {
						// 专题中的某一章，为一个具体的章节
						courseId = chapterLink.split("?")[1].split("&")[0].split("=")[1];
						chapterId = chapterLink.substring(chapterLink.lastIndexOf("/")+1,askCharIndex);
					} else {
						// 套专题中的某一章，是一个单独的专题
						courseId = chapterLink.substring(chapterLink.lastIndexOf("/")+1);
					}
					if (chapterId) {
						if (isScreen) {
							openUrl = 'http://special.chaoxing.com/special/screen/tocard/'+ chapterId +'?courseId='+ courseId;
						} else {
							openUrl = 'http://mooc1-3.chaoxing.com/nodedetailcontroller/visitnodedetail?courseId='+courseId+'&knowledgeId='+chapterId+'&courseType=0';
						}
					} else {
						if (isScreen) {
							openUrl = 'http://special.chaoxing.com/special/screen/'+courseId;
						} else {
							openUrl = 'http://mooc1.chaoxing.com/course/'+courseId+'.html';
						}
					}

				}
				if(isShare && isPhone){
					openUrl = chapterLink;
				}
				open_url = openUrl;
			}
			break;
		case AttachmentType.Newspaper:
			//报纸
			var done = false;
			var att_subject = attachment.att_subject;
			var category = att_subject.category;
			if(category == "0"){
				//报纸
				var open_url = att_subject.subjectLink;//链接
				var paperId = subjectLogo.substring(subjectLogo.lastIndexOf("/")+1);
				if (!isScreen && paperId&&$.trim(paperId||"")!=""){
					open_url = "http://apps.ananas.chaoxing.com/paper/"+paperId.substring(0,paperId.indexOf("."));
				}
			} else if (category=="1") {
				//报纸章节
				var open_url = att_subject.chapterLink;//章节链接
				if (!isScreen) {
					var transferKey = att_subject.transferKey || '';
					// transferKey 结构: "300000006_320700000014-100059093733"
					var paperId = transferKey.substring(transferKey.indexOf('_')+1, transferKey.indexOf('-'));
					var chapterId = transferKey.substring(transferKey.indexOf('-')+1, transferKey.length);
					if (paperId && chapterId) {
						var currentDate = getNowFormatDate('.');
						open_url = 'http://apps.ananas.chaoxing.com/paper/content/'+ currentDate +'/'+ paperId +'/'+ chapterId +'/0';
					}
				}
			}
			break;
		case AttachmentType.Group:
			//小组
			var att_group = attachment.att_group || "";
			if (att_group != "") {
				if(isShare){
					open_url = att_group.shareUrl;
				}else{
					var bbsId = att_group.bbsId || "";
					if (bbsId != "") {
						open_url = "https://groupweb.chaoxing.com/pc/topic/topiclist/index?bbsid=" + bbsId;

					}
				}
			}
			break;
		case AttachmentType.Notice:
			//通知
			var att_notice = attachment.att_notice;
			var noticeId = att_notice.idCode;
			if (isShare){
				if (!att_notice.shareUrl) {
					open_url = "//sharewh.chaoxing.com/share/notice?sn="+ noticeId +"&sharebacktype=4&s_noticeId="+noticeId;
				} else {
					open_url = att_notice.shareUrl.replace('sharewh.chaoxing.com', 'sharewh3.xuexi365.com');;
				}
			} else if (isScreen){
				open_url = 'https://notice.chaoxing.com/screen/screenProjection/notice/detail?idCode='+noticeId;
			} else {
				open_url = 'http://notice.chaoxing.com/pc/notice/'+noticeId+'/detail';
			}
			break;
		case AttachmentType.Notifications:
			//通知提醒
			var att_notice = attachment.att_mission;
			var noticeId = att_notice.aid || 0;
			if(isShare){
				openUrl = att_notice.shareUrl;
			}else{
				open_url = 'https://notice.chaoxing.com/pc/notice/'+noticeId+'/detail';
			}
			break;
		case AttachmentType.Courses.Value://课程附件
			var att_course = attachment.att_chat_course||{};
			if(att_course && att_course.type>-1){//格式完好，分类处理，没有处理的显示默认提示
				switch (att_course.atype) {

					case AttachmentType.Courses.subType.liveVideo:
						//直播
						var att_livevideo = att_course;
						if(!att_livevideo.description||!att_livevideo.description.liveId){
							break;
						}
						var liveId = att_livevideo.description.liveId || '';
						open_url = "https://zhibo.chaoxing.com/"+liveId;
						break;
					case AttachmentType.Courses.subType.signin:
						// 签到
						if(att_course.id){
							if (isScreen) {
								open_url = 'https://mobilelearn.chaoxing.com/widget/sign/pcTeaSignController/showSignInfoForQunliao?activeId='+att_course.id;
							} else {
								open_url = 'https://mobilelearn.chaoxing.com/widget/sign/group/pcStuSignGroupController/preSign?activeId='+att_course.id;
							}
						}
						break;
					case AttachmentType.Courses.subType.test:
						// 测验
						if (isScreen) {
							open_url = 'https://mobilelearn.chaoxing.com/widget/newvotescreen/goPCNewStatisticScreen?activeId='+att_course.id;
						} else {
							open_url = 'https://mobilelearn.chaoxing.com/widget/pcvote/goPCVoteStatistic?quessequence=1&activePrimaryId='+ att_course.id;
						}
						break;
					case AttachmentType.Courses.subType.score:
						// 评分
						if((att_course.id||0)>0){
							open_url = 'https://mobilelearn.chaoxing.com/widget/score/pc/queryGrade?activeId='+att_course.id;
						}
						break;
					case AttachmentType.Courses.subType.vote:
						// 投票/问卷
						if ((att_course.id||0)>0){
							if (isScreen) {
								open_url = 'https://mobilelearn.chaoxing.com/widget/newvotescreen/goPCNewStatisticScreen?activeId=' +att_course.id;
							} else {
								open_url = 'https://mobilelearn.chaoxing.com/widget/pcgroup/goPCGroupVotePage?activeId='+att_course.id+'&quessequence=1';
							}
						}
						break;
					default:
						open_url = att_course.url;
				}
				if (!att_course.atype) {
					// 没有 atype，则根据type判断
					if (att_course.type == 4) {
						// 直播
						var att_livevideo = att_course;
						if(!att_livevideo.description||!att_livevideo.description.liveId){
							break;
						}
						var liveId = att_livevideo.description.liveId || '';
						open_url = "https://zhibo.chaoxing.com/"+liveId;
					}
				}
				if(isShare && isPhone && att_course.atype != AttachmentType.Courses.subType.liveVideo){
					open_url = att_course.url;
				}
			}
			break;
		case AttachmentType.CourseChapter:
			// 课程章节
			var att_course_chapter = attachment.att_course;
			if (isScreen) {
				var forwardCourse = attachment.att_course.forwardCourse;
				var courseId = '';
				var chapterId = '';
				try {
					courseId = forwardCourse.course.data[0].id;
					chapterId = forwardCourse.chapterid;
				} catch(e) {

				}
				if (courseId && chapterId) {
					openChapterScreenUrl(courseId,chapterId);
				} else {
					open_url = att_course_chapter.knowledgeUrl || '';
				}
			} else {
				open_url = att_course_chapter.knowledgeUrl || '';
			}
			break;
		case AttachmentType.CloudDisk:
			// 云盘、音视频的播放有单独的逻辑处理，这里统一走下载逻辑
			var isVideo = false;
			var att_cloud = attachment.att_clouddisk;
			if(att_cloud&&att_cloud.fileId){
				if(isShare && isVideo) {
					// 分享页面下视频类型附件直接播放
					open_url = "https://sharewh3.xuexi365.com/share/"+ att_cloud.fileId +"/playVideo?url="+encodeURIComponent(window.location.href);
				}
				if((isWeiXin || isQQ || isXXT) && isPhone){
					// 微信、QQ、学习通里不支持下载，提示用户通过中间页去浏览器里面访问
					// var id = att_cloud.resid || att_cloud.objectId;
					if(!RichTextUitl.intranetMode){
						url = window.location.protocol + '//noteyd.chaoxing.com/res/plugin/mnote/attachInterface.html?fileId='+att_cloud.fileId+'&fileName=' + encodeURIComponent(att_cloud.name)
							+'&allowDownload=true&fileSize='+att_cloud.fileSize + '&originUrl=' + encodeURIComponent(window.location.href);
						if(isXXT && window.top != window.self && window.top.location){
							window.top.location.href = RichTextUitl.convertUrl(url)
						}else {
							window.location.href = RichTextUitl.convertUrl(url)
						}
					}else{
						//镜像
						var url = RichTextUitl.prefix + 'attachment/attachInterface.html?fileId='+att_cloud.fileId+
							'&fileName=' + encodeURIComponent(att_cloud.name) + '&isIntranetMode=' + RichTextUitl.intranetMode
							+ '&allowDownload=true&fileSize=' + att_cloud.fileSize
							+ '&originUrl=' + encodeURIComponent(window.location.href);
						if(att_cloud.previewUrl){
							url += '&previewUrl='+att_cloud.previewUrl;
						}
						if(att_cloud.downloadUrl){
							url += '&downloadUrl='+att_cloud.downloadUrl;
						}
						window.location.href = url;
					}
				} else {
					YunFileUtil.downloadYunFile(attachment, att_cloud.fileId);
				}

			}
			break;
		case AttachmentType.Video:
			//视频
			var att_video = attachment.att_video;
			if(att_video&&att_video.objectId2){
				if(isShare) {
					// 分享页面下直接播放
					open_url = "https://sharewh3.xuexi365.com/share/"+ att_video.objectId2 +"/playVideo?url="+encodeURIComponent(window.location.href);
				} else {
					YunFileUtil.downloadYunFile(attachment, att_video.objectId2);
				}
			}
			break;
		case AttachmentType.Voice:
			var att_voice = attachment.att_voice;
			if(att_voice&&att_voice.objectId2){
				YunFileUtil.downloadYunFile(attachment, att_video.objectId2);
			}
			break;
		case AttachmentType.Web:
			var att_web=attachment.att_web;
			open_url = att_web.url;
			//题目编辑器打开教师批阅附件，调用课程那边的方法去打开附件
			if(att_web.data1 && att_web.data2 && typeof 'openTeacherCommentAttach' != 'undefined'){
				openTeacherCommentAttach(att_web.data1,att_web.data2);
				return;
			}
			openLinkUrl(open_url)
			return
			break;
		case AttachmentType.Link:
			var att_linker=attachment.att_linker;
			open_url = att_linker.url;
			break;
		case AttachmentType.microCourse:
			var att_micro_course=attachment.att_micro_course;
			open_url = att_micro_course.url;
			break;
		case AttachmentType.mapLocation:
			var att_map_location=attachment.att_map_location;
			//open_url = 'http://map.baidu.com/?newmap=1&ie=utf-8&s=s%26wd%3D'+att_map_location.name;
			open_url = 'https://api.map.baidu.com/geocoder?title='+att_map_location.name+'&content='+att_map_location.address+'&location='+att_map_location.latitude+','+att_map_location.longitude+'&coord_type=bd09ll&output=html&src=webapp.baidu.openAPIdemo';
			break;
		case AttachmentType.StudyFolder:
			// 收藏文件夹
			var att_folder = attachment.att_resource;
			var	creatorId = att_folder.content.puid || "";
			var name = att_folder.content.folderName;//文件夹名称
			var cfid = att_folder.content.cfid;//书房文件夹cfid
			if(cfid && name){
				open_url = 'http://pc.chaoxing.com/subscribe/getSubscribeByUidFolder?cfid='+cfid+'&puid='+creatorId+'&type=mobile';
			}
			break;
		case AttachmentType.Periodical:
			// 期刊
			var att_subject = attachment.att_subject;
			if(att_subject && att_subject.settings) {
				//category=0时用subjectLogo（0是期刊），category=1时用chapterLogo（1是期刊章节）
				let category = att_subject.category;
				if(category == 0){
					if (att_subject.subjectLink) {
						open_url = att_subject.subjectLink
					}
				}else if (category == 1){
					if (att_subject.chapterLink) {
						open_url = att_subject.chapterLink
					}
				}
				var aid;
				if(att_subject.settings.aid) {
					aid = att_subject.settings.aid;
				} else if(att_subject.settings.sourceConfig && att_subject.settings.sourceConfig.aidEncKey){
					aid = att_subject.settings.sourceConfig.aidEncKey;
				}
				if (!open_url) {
					open_url = "http://m.chaoxing.com/mqk/list?mags="+ aid +"&from=space";
				}
			}
			break;
		case AttachmentType.CloudFolder:
			// 云盘文件夹
			var att_cloudFolder = attachment.att_cloudFolder;
			if (!att_cloudFolder) {
				break;
			}
			var resid = att_cloudFolder.resid;
			var sharerPuid = att_cloudFolder.puid;
			if(att_cloudFolder.encryptedId){
				//调接口获取地址
				$.ajax({
					url: RichtextAttachmentClickUtils.mctx + '/pc/resource/getCloudFolderDetailUrl?resid=' + att_cloudFolder.encryptedId + '&folderPuid=' + sharerPuid,
					type: 'GET',
					async: false,
					xhrFields: {
						withCredentials: true
					},
					success: function (res) {
						if (res.result == 1 && res.data && res.data.cloudFolderDetailUrl) {
							open_url = res.data.cloudFolderDetailUrl;
						}else if(att_cloudFolder.shareInfo && att_cloudFolder.shareInfo.weburl){
							open_url = att_cloudFolder.shareInfo.weburl;
						}
					}
				})
			}else if(att_cloudFolder.shareInfo && att_cloudFolder.shareInfo.weburl) {
				open_url = att_cloudFolder.shareInfo.weburl;
			}
			if(!open_url){
				RichTextUitl.showTips('暂不支持打开')
			}
			break;
		case AttachmentType.courseqrCode:
			var info = attachment.att_class_qrcode_info;
			open_url = 'http://mooc1.chaoxing.com/addcourse/pcqrcodemiddleview?inviteCode=' + info.invitecode;
			break;
		case AttachmentType.TopicFolder:
			// 话题文件夹
			var att_folder = attachment.att_topicfolder;
			var folder_uuid = att_folder.folder_uuid || '';//文件夹uuid
			var bbsid = att_folder.groupInfo.bbsId||'';//小组bbsid
			if(folder_uuid && bbsid) {
				//open_url = "http://group.yd.chaoxing.com/pc/topic/"+bbsid+"/topicList?isAttachment=1&folder_uuid="+folder_uuid;
				open_url = "https://groupweb.chaoxing.com/pc/topic/topiclist/index?bbsid="+ bbsid +"&folder_uuid="+folder_uuid;
			}
			break;
		case AttachmentType.GroupDatafolder:
			// 小组资料文件夹
			var att_folder = attachment.att_datafolder;
			var folderId = att_folder.folderId || '';//文件夹标识
			var bbsid = att_folder.groupInfo.bbsId||'';//小组bbsid
			if(folderId && bbsid) {
//				open_url = "http://group.yd.chaoxing.com/pc/resource/"+bbsid+"/resourceList?isAttachment=1&folderId="+folderId;
				open_url = "https://groupweb.chaoxing.com/pc/resource/jumpToResourceList?bbsid="+bbsid+"&folderId="+folderId;
			}
			break;
		case AttachmentType.localFolder:
			// 本地文件夹
			var att_folder = attachment.att_localFolder;
			YunFileUtil.downloadLocalFolder(att_folder.resids, att_folder.puid, att_folder.name)
			break;
		case AttachmentType.CourseVideo:
			//课程视频打点
			var att_course_video = attachment.att_course_video;
			open_url = att_course_video.transferLink + '&host=' + window.location.hostname;
			break;
		case AttachmentType.GroupChat:
			// 群聊
			var att_chat = attachment.att_chat_group;
			var groupId = att_chat.groupId || '';
			var ua = navigator.userAgent.toLowerCase();
			if(groupId && ua.indexOf("chaoxingstudy") != -1 && ua.indexOf('_pc_') != -1 && typeof jsBridge != 'undefined'){
				jsBridge.postNotification('CLIENT_OPEN_CHAT', {"groupId": groupId});
			}
			break;
		default:
			break;
	}

//	if($.trim(append_className) == ''){
//		//直接返回
//		return open_url;
//	}
	if($.trim(open_url) != ''){
		$("#open_attachment").remove();

		var ua = navigator.userAgent.toLowerCase();
		if(isShare && ua && ua.indexOf("chaoxingstudy")!=-1 && ua.indexOf('_pc_') == -1){
			// 在客户端打开时通过openurl协议打开，pc客户端不走协议
//   			if(window.parent) {
//   				window.parent.postMessage({'url': open_url, 'msgType':'openUrl'}, 'https://sharewh.chaoxing.com')
//   				return;
//   			}
			if (typeof AppUtils != 'undefined') {
				AppUtils.openUrl({
					toolbarType:1,
					loadType: 1,
					webUrl:open_url
				});
				return;
			}
		}
		// if (open_url && open_url.indexOf('note') > -1 || open_url.indexOf('notice') > -1
		// 	|| open_url.indexOf('group') > -1 || open_url.indexOf('mobilelearn') > -1) {
			// 笔记，通知，小组，课堂活动可能做了域名隐射，将地址换成对应的域名
		if(typeof RichTextUitl != "undefined"){
			open_url = RichTextUitl.convertUrl(open_url);
		}

		// }

		openLinkUrl(open_url)
	}
};

//打开url
function openLinkUrl(open_url) {
	var target_val = '_blank';
	if(isScreen) {
		// 投屏页通过协议打开网页链接
		var content = {"openInCurrent":0,"opt":1,"urls":[open_url],"type":2}
		var data = {"cmd":"resourceToScreen","content":content};
		var body={'body':JSON.stringify(data)};
		parent.parent.postMessage(JSON.stringify({'cmd':'resourceToScreen','body':body}),'*');
	} else if(isIOS) {
		//IOS分享页打开新窗口有问题，只能在当前页面打开
		try {
			//记录要跳转的地址，用于话题打点记录链接使用
			RichTextUitl.open_url = open_url;
			if(window.top.location.href){
				window.top.location.href = open_url;
			}else{
				window.location.href = open_url;
			}
		}catch (e) {
			window.location.href = open_url;
		}

	} else {
		$('body').append('<a style="display:none;" id="open_attachment" target="'+target_val+'" href="'+open_url+'"></a>');
		var el=document.getElementById('open_attachment');
		//el.target = '_new'; //指定在新窗口打开
		el.click();//触发打开事件
		$(el).remove()
	}
}

function getNowFormatDate() {
	var date = new Date();
	var year = date.getFullYear();
	var month = date.getMonth() + 1;
	var strDate = date.getDate();
	if (month >= 1 && month <= 9) {
		month = "0" + month;
	}
	if (strDate >= 0 && strDate <= 9) {
		strDate = "0" + strDate;
	}
	if(!seperator) {
		seperator = '-';
	}
	var currentdate = year + seperator + month + seperator + strDate;
	return currentdate;
}

var openChapterScreenUrl = function(courseId, chapterId) {
	if (!courseId || !chapterId) {
		return '';
	}
	$.ajax({
		url : 'https://noteyd.chaoxing.com/screen/note_note/getChapterScreenUrl',
		data : {courseId:courseId, chapterId:chapterId, num:1},
		type : "get",
		xhrFields: {
			withCredentials: true
		},
		success : function(resultData) {
			if (!resultData || (resultData.status && !resultData.msg))
				return;
			var content = {"openInCurrent":0,"opt":1,"urls":[resultData.msg],"type":2}
			var data = {"cmd":"resourceToScreen","content":content};
			var body={'body':JSON.stringify(data)};
			parent.parent.postMessage(JSON.stringify({'cmd':'resourceToScreen','body':body}),'*');
		},
		error : function() {
		}
	});
};


/**
 * 获取附件分享页地址
 * @param type 附件类型 2话题；3笔记；4 通知；6小组；
 * @param attachmentType
 * @param attachment
 */
var getAttShareUrl = function(type, attachmentType, attachment) {
	var dataId;
	var dataId2;
	var sourcePuid = 0;

	switch (attachmentType) {
		case AttachmentType.Topic:
			//话题
			var att_topic = attachment.att_topic;
			dataId = att_topic.uuid;
			dataId2 = att_topic.att_group.bbsId;
			sourcePuid = att_topic.creatorPId;
			break;
		case AttachmentType.Note:
			//笔记
			var att_note = attachment.att_note;
			dataId = att_note.cid;
			sourcePuid = att_note.createrPuid;
			break;
		case AttachmentType.Group:
			//小组
			var att_group = attachment.att_group || "";
			if (att_group != "") {
				dataId = att_group.bbsId;
			}
			break;
		case AttachmentType.Notice:
			//通知
			var att_notice = attachment.att_notice;
			dataId = att_notice.idCode;
			sourcePuid = att_notice.createrPuid;
			break;

		default:
			break;
	}

	//调接口获取附件分享页地址
	$.ajax({
		url : 'https://noteyd.chaoxing.com/screen/note_note/getShareUrl',
		data : {
			type: type,
			dataId: dataId,
			dataId2: dataId2,
			sourcePuid: sourcePuid
		},
		type : "get",
		xhrFields: {
			withCredentials: true
		},
		success : function(resultData) {
			if (!resultData || !resultData.result || !resultData.msg){
				//调接口失败还走原来的逻辑，避免出现附件点击没反应的情况
				RichtextAttachmentClickUtils.clickEvent(attachment, '', 1);
				return;
			}
			var open_url = resultData.msg.shareUrl;
			openAttShareUrl(open_url);
		},
		error : function() {
			//调接口失败还走原来的逻辑，避免出现附件点击没反应的情况
			RichtextAttachmentClickUtils.clickEvent(attachment, '', 1);
		}
	});
};


/**
 * 打开附件分享页地址
 * @param courseId
 * @param chapterId
 */
var openAttShareUrl = function(open_url) {
	if($.trim(open_url) != ''){
		$("#open_attachment").remove();
		var target_val = '_blank';
		var ua = navigator.userAgent.toLowerCase();
		if(isShare && ua && ua.indexOf("chaoxingstudy")!=-1 && ua.indexOf('_pc_') == -1){
			if (typeof AppUtils != 'undefined') {
				AppUtils.openUrl({
					toolbarType:1,
					loadType: 1,
					webUrl:open_url
				});
				return;
			}
		}
		// if (open_url && open_url.indexOf('note') > -1 || open_url.indexOf('notice') > -1
			// || open_url.indexOf('group') > -1 || open_url.indexOf('mobilelearn') > -1) {
			// 笔记，通知，小组，课堂活动可能做了域名隐射，将地址换成对应的域名
			open_url = RichTextUitl.convertUrl(open_url);
		// }
		if(isScreen) {
			// 投屏页通过协议打开网页链接
			var content = {"openInCurrent":0,"opt":1,"urls":[open_url],"type":2}
			var data = {"cmd":"resourceToScreen","content":content};
			var body={'body':JSON.stringify(data)};
			parent.parent.postMessage(JSON.stringify({'cmd':'resourceToScreen','body':body}),'*');
		} else if(isIOS) {
			//IOS分享页打开新窗口有问题，只能在当前页面打开
			if(window.top.location.href){
				window.top.location.href = open_url;
			}else{
				window.location.href = open_url;
			}
		}else{
			$('body').append('<a style="display:none;" id="open_attachment" target="'+target_val+'" href="'+open_url+'" rel="noopener noreferrer"></a>');
			var el=document.getElementById('open_attachment');
			//el.target = '_new'; //指定在新窗口打开
			el.click();//触发打开事件
			$(el).remove()
		}
	}
};
