

<html>
<head>
  <meta charset="UTF-8"/>
  <meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no">
  <meta name="format-detection" content="telephone=no, email=no">
    <title></title>
  <script src="//g.alicdn.com/mtb/lib-callapp/1.4.8/??combo.js,callapp.js"></script>
  <style>
        body{
            background-repeat:no-repeat;
            background-position: left top;
            background-color: #efeff4;
            background-size: 100%;
        	padding: 0;
            margin: 0;
        }
    </style>
     <script>
       //业务点code
      	var bizCode="tbshare";
    	//短地址
    	var shortName = "h.gu439ei";
    	//目标地址
    	var url = 'http://s.click.taobao.com/3cQZFPt?unappch=df_event&ext_share_param=%7B%22img%22%3A%22https%3A%2F%2Fgw.alicdn.com%2Fimgextra%2Fi2%2FO1CN015vNMih1blnbTZP07Y_%21%216000000003506-0-tps-800-450.jpg%22%2C%22text%22%3A%22%E5%8F%8C11%E8%B6%85%E7%BA%A7%E7%BA%A2%E5%8C%85%E4%B8%BB%E4%BC%9A%E5%9C%BA%22%2C%22type%22%3A%22event%22%7D&pid=mm_114214798_1197100409_109896800173&traffic_flag=lm&scm=moon.0.0.moon_dongfang-activity_20150318020007201&spm=a2e0r.27826775.sharebottom.1&union_lens=lensId%3AAPP%401728544477%40212c8e75_1497_19275478fd5_6395%40023uFE8wEjsSFxXbAsXRMgOg%3Bscm%3Amoon.0.0.moon_dongfang-activity_20150318020007201&un=cde73435c0436f8603c6109e527695c7&share_crt_v=1&un_site=0&ut_sk=1.utdid_null_1728544477183.TaoPassword-Outside.lianmeng-app&sp_tk=QlBaQTNrTThCeVQ%3D&cpp=1&shareurl=true&short_name=h.gu439ei';
    	//短地址有问题时跳转的地址
    	var invalidUrl = "http://m.tb.cn/scanError.htm";
    	//黄金令箭埋点值
    	var ecode="ecode.2.1";
    	//短地址状态
    	var status = "true";
			//是否是阿里系APP访问
			var isAliApp = "false";
			//是否强制在body里插入img节点（tbshare有类似需求）
			var mustImg = "true";

     //客户端应用信息，见App.java定义,这些变量在页面上已经用不到了，全部在java内部判断用了
     var app= "ms_ie";//如果是微信，需要特殊处理
     //客户端系统信息，见OS.java定义
     var os = "Windows";//访问的系统

		//客户端打开的方式，见xcode里Constant.java中定义
		var appMethod="replace";
		//selfview的模板不用在这里输出，不然会js变量冲突
					var methodString="0";
		
	   //创建码时，指定码的extraStr的json字符内容，用于自定义模板页面填坑位用
					var extraData ="";
		       var replacedWxBgPic = "";

    </script>
</head>
	<body><script>
with(document)with(body)with(insertBefore(createElement("script"),firstChild))setAttribute("exparams","category=&userid=&aplus&yunid=&&trid=215041ca17290484078556686eaf6a&asid=AQAAAABXLw9nIkn/cwAAAAB+lULNRa3TkA==",id="tb-beacon-aplus",src=(location>"https"?"//g":"//g")+".alicdn.com/alilog/mlog/aplus_v2.js")
</script>

    	    		</body>
<script type="text/javascript">
 //主流程函数
(function(d){

	//1.获取目标地址，并拼上有可能的子码参数
	url = getGoUrl();
	//2.黄金令箭埋点
	sendEcode();
	//3.设置当前页面标题，网速慢或者在微信中要用到
    setTitle();
	//如果是微信，则按定制的要求展示
	if(app=='weixin'|| app=='qq' || mustImg=='true'){
		setWxImg();
	}

    // 2021-09-17 Welcome to weixin.
    if (/(MicroMessenger\/|QQ\/)/.test(navigator.userAgent)) {
      appMethod = 'replace';
    }
	//打开方式：
	//4.1 selfview --使用自定义页面
	if(appMethod=="selfview"){
		return;
	}
	//4.2 image --使用图片展示
	if(appMethod=="image"){
		imgShow();
		return;
	}
	//4.3 iframe --使用中间页iframe内嵌目标页面
	if(appMethod=="iframe"){
		makeIframe(url);
		return;
	}
	//4.4 callclient>0 --使用iframe并唤起某个app
	if(appMethod=="callclient" && methodString !=0){
		callClient();
		return;
	}
	//4.5 replace/callclient=0 --直接打开
 	setTimeout(function(){
 	   //如果不加visa参数,smb会唤起手淘
 	   //url = appenndParam(url,'visa','701e9209f542c59d');
	   window.location.replace(url);
	   //alert("go to:"+url);
    },200);
})(document);

 //1.拼装目标地址，把短地址里的参数拼上
function getGoUrl(){
//	var strRedirect ;//t=url;
    var strRedirect = url;
    var append2;
	//是否有锚点
	var anchorIndex = url.indexOf("#");
	if(anchorIndex>0){
        //有锚点把url分成两部分
        strRedirect = url.substring(0,anchorIndex);
        append2 = url.substring(anchorIndex);
    }else{
        strRedirect = url;
        append2 = '';
    }
//    alert(strRedirect)
	//扫码失败
	if(status!='true'){
			strRedirect = invalidUrl;
	}
	//拼上子码参数
	var params =  location.search;
	if(params.indexOf("?")!=-1){
		if(strRedirect.indexOf("?")>=0){
			strRedirect = strRedirect+params.replace("?","&");
		}else{
			strRedirect=strRedirect+params;
		}
	}
	//把APP信息来源也加上
	if(strRedirect.indexOf("?")>=0){
		strRedirect= strRedirect+'&app='+app;
	}else{
		strRedirect= strRedirect+'?app='+app;
	}
//	return strRedirect;
return strRedirect + append2;
}

 //1.在url里面加上参数
function appenndParam(url,key,value){

   if(url.indexOf(key)==-1){
      //是否有锚点
      var anchorIndex = url.indexOf("#");
      if(anchorIndex>0){
      	   var strRedirect;
           var append2;
           //有锚点把url分成两部分
           strRedirect = url.substring(0,anchorIndex);
           append2 = url.substring(anchorIndex);
           if(url.indexOf("?")>=0){
               strRedirect= strRedirect+'&'+key+'='+value;
           }else{
               strRedirect= strRedirect+'?'+key+'='+value;
           }
           return strRedirect+ append2;
      }else{

            if(url.indexOf("?")>=0){
                 url= url+'&'+key+'='+value;
            }else{
                 url= url+'?'+key+'='+value;
            }
            return url;
      }
   }else{
      //链接里面包含这个参数的时候就不加了
      return url;
   }

}

//2.黄金令箭埋点
function sendEcode(){
	if(shortName){
    	var logUrl = '//gm.mmstat.com/'+ecode+'?logtype=2&cache='+new Date().getTime();
		var img = new Image();
		img.src = logUrl + '&id='+shortName+'&biz_code='+bizCode+'&app='+app+'&status='+status;
	}
}
//3、设置当前页面标题
function setTitle(){
	var title = url.match(/\bxTitle=([^&$]+)/);
	title = title ? title[1] : '';
    title = decodeURIComponent(title);
    if(title){
        document.title = title;
        sendMsg("wxtitle:"+title);
    }
}
 function escapeHtml(str){
	 str = str.replace(/&/g, "&amp;");
	 str = str.replace(/>/g, "&gt;");
	 str = str.replace(/</g, "&lt;");
	 str = str.replace(/"/g, "&quot;");
	 str = str.replace(/'/g, "&#39;");
	 return str;
 }

//设置微信分享的Logo图片,图片大小大于350*350,body里面的第一张图片
function setWxImg(){
    var image = url.match(/\bxImage=([^&$]+)/);
    image = image ? image[1] : '';
    image = decodeURIComponent(image);
	image = escapeHtml(image);
    if(image){
			var imgDiv = document.createElement('div');
			imgDiv.style.display="none";
			imgDiv.id="wx_pic";
			imgDiv.innerHTML="<img src='"+image+"' />";
			document.body.appendChild(imgDiv);
			//发送给外部iframe消息，申请了腾讯云服务器域名，跨域设置父页面内容
	    sendMsg("wxpic:"+image);
    }
}

//使用外部域名IFRAME，发出消息告知tile和分享图片logo
function sendMsg(message){
	if (typeof window.postMessage != 'undefined') {// 检查浏览器是否支持postMessage
		window.parent.postMessage(message, '*');//注意向父窗口发送消息，如果往本页面的iframe发消息，需要指明哪个iframe.contentWindow.postMessage
	}
}
//4.2 image --使用图片展示
function imgShow(){
	var body = document.body;
	if(methodString=="" || methodString.indexOf(",")<=0){
		methodString = '//gtms01.alicdn.com/tps/i1/TB1lcdUIFXXXXc6XpXXv8wV0FXX-640-390.jpg,//gtms02.alicdn.com/tps/i2/TB1OkV4IFXXXXa_XXXXPF7W0FXX-640-421.png';
	}
	// 如果配置了要替换的背景图片， 则替换
    if(replacedWxBgPic!="" && replacedWxBgPic.indexOf(",")>0) {
        methodString = replacedWxBgPic;
    }
	var imgArr =  methodString.split(",");
	//QQ
	if(app=='qq' && imgArr.length==4){
		if(os=='iphone' || os=='ipad' ){
			body.style.backgroundImage = 'url('+imgArr[2]+')';
		}else{
			body.style.backgroundImage = 'url('+imgArr[3]+')';
		}
	}else{
		if(os=='iphone' || os=='ipad' ){
			body.style.backgroundImage = 'url('+imgArr[0]+')';
		}else{
			body.style.backgroundImage = 'url('+imgArr[1]+')';
		}
	}
}
 ////4.4 callclient>0 --使用iframe并唤起某个app，双11后重构下改成前端的库使用gotoPage
 //1、淘宝：“taobao://”
 //2、支付宝：“alipays://platformapi/startapp?appId=20000067&url=”,20000067 代表钱包内部应用的ID ，by 左契
 //3、天猫：“tmall://page.tm/webview?webURLString=” by 宵练
 //4、淘宝电影：“tbmovie://taobao.com/h5jump?url=”，by 爵爷
function callClient(){
	var schame = '';
	var encode = false;
	if(methodString == 1){
		schame = 'taobao://';
	}
	if(methodString==2 ){
		schame = 'alipays://platformapi/startapp?appId=20000067&url=';
		encode =true;
	}
	if(methodString==3){
		schame = 'tmall://page.tm/webview?url=';
		encode =true;
	}
	if(methodString==4){
		schame = 'youku://http?url=';
		encode =true;
	}
    if(methodString==5){
        schame = 'taobaolite://';
        encode =true;
    }
	//唤起失败，还是停留在这个H5页面
	makeIframe(url);
	//唤起客户端，用一个iframe来唤起
	if(schame !=''){
		var schameUrl = url.replace('http://',"");
        schameUrl = schameUrl.replace('http://',"");
		if(encode == true){

			//优酷和天猫的不走寻常路，需要加http或https协议
			if(methodString==4){
				schameUrl = encodeURIComponent(url);
			}else if(methodString==3){
			    //保险起见，和史雷确认加了这个参数后smb不再唤端
			    url = appenndParam(url,'_share_from_app','tmallapp');
			    schameUrl = encodeURIComponent(url);
			}else{
				schameUrl = encodeURIComponent(schameUrl);
			}
		}
		schameUrl = schame + schameUrl;
		//JS库对系统的判断
		var j_os = lib.env.os;
		var j_browser = lib.env.browser;
		  // ios 9.0，需要用a标签的href???
        var ios9SafariFix =j_os.isIPhone && j_os.version.gte('9.0') && j_browser.isSafari;
        //IOS9 Safari特殊处理
		if(ios9SafariFix){
            setTimeout(function(){
                useAnchorLink(schameUrl);
            }, 100);
		}else{
			makeHiddenIframe(schameUrl);
		}
	}
}
//创建一个A连接打开事件，打开一个地址
function useAnchorLink(url) {
    var a = document.createElement('a');
    a.setAttribute('href', url);
    a.style.display = 'none';
    document.body.appendChild(a);

    var e = document.createEvent('HTMLEvents');
    e.initEvent('click', false, false);
    a.dispatchEvent(e);
}

//4.3 iframe --使用中间页iframe内嵌目标页面
function makeIframe(url){
    var ifa = document.createElement('iframe');
    ifa.style.width = '100%';
    ifa.style.height = '100%';
    ifa.style.border = 'none';
    ifa.style.margin = '0';
    ifa.style.padding = '0';
    ifa.src = url;
    ifa.onload = function(){
        //因为iframe内, 则在默认情况下, 对应的PV不会被纳入到A+产品的统计范围，http://log.alibaba-inc.com/track/info.htm?spm=a1z3g.10667093/2277.content.6.3cbf1292cXPcGj&type=2392&id=23
        //document.head.appendChild(makeMeta());
    	//解决safri上宝贝页面被放大2倍问题，但是android不能加上去，加上去滑动不了
    	if(lib.env.os.isIPhone){
    		ifa.setAttribute('scrolling', 'no');
            ifa.style.width = '1px';
            ifa.style.minWidth = '100%';
    	}
    };
    document.body.appendChild(ifa);
}

function makeMeta() {
  var meta = document.createElement('meta');
  meta.name = 'aplus-ifr-pv';
  meta.content = '1';
  return meta;
}
 //创建一个隐藏的 iframe，用于唤起客户端
function makeHiddenIframe(url){
    var ifa = document.createElement('iframe');
		ifa.style.display='none';
    ifa.style.width = '0%';
    ifa.style.height = '0%';
    ifa.style.border = 'none';
    ifa.style.margin = '0';
    ifa.style.padding = '0';
    ifa.src = url;
    document.body.appendChild(ifa);
}
</script>
</html>
