$(document).ready(function(e) {

	var sharetitle;
	var sharedes;
	var sharepic;
	var shareurl;
	setTimeout(() => {
		// 获取分享标题、摘要、图片
		sharetitle = $("meta[name='sharetitle']").attr("content");
		sharedes = $("meta[name='sharedesc']").attr("content");
		sharepic = $("meta[name='sharepic']").attr("content");
		shareurl = $("meta[name='shareurl']").attr("content");

		var url = window.location.href;
		if(!shareurl){
			shareurl = url + '&source=1';
		}
		if(shareurl.indexOf("http") == -1){
			shareurl = apiurlpath+shareurl;
		}
		var memCard = $.cookie("memCard");
		if(memCard) {
			shareurl = updateShareUrl("fromMemCard", shareurl, memCard);
		}
		$.ajax({
			type: "post",
			url: serverHttp+"/weixin/share",
			dataType: "json",
			data: "url="+encodeURIComponent(url),
			success: function (json) {
				var param = json.data;
				wx.config({
					debug : false, // 开启调试模,调用的所有api的返回值会在客户端alert出来，若要查看传入的参数，可以在pc端打开，参数信息会通过log打出，仅在pc端时才会打印
					appId : param.appId, // 必填，公众号的唯一标识
					timestamp : param.timestamp, // 必填，生成签名的时间
					nonceStr : param.nonceStr, // 必填，生成签名的随机
					signature : param.signature,// 必填，签名，见附1
					jsApiList : [ 'onMenuShareTimeline', 'onMenuShareAppMessage',
						'onMenuShareQQ', 'onMenuShareWeibo','getLocation' ]
					// 必填，需要使用的JS接口列表，所有JS接口列表见附��?
				});
			}
		});

		wx.ready(function() {

			var wxData = {
				"link" : shareurl,
				"desc" : sharedes,
				"title" : sharetitle,
				"imgUrl" : sharepic
			};

			// 错误信息
			wx.error(function(res) {
				// config信息验证失败会执行error函数，如签名过期导致验证失败，具体错误信息可以打开config的debug模式查看，也可以在返回的res参数中查看，对于SPA可以在这里更新签名。
				if (res.errMsg == "config:invalid signature") {
					$.ajax({
						type: "post",
						url: serverHttp+"/weixin/share?type=reset&url="
							+ encodeURIComponent(url),
						success: function (json) {
							var param = json.data;
							wx.config({
								debug : false, // 开启调试模,调用的所有api的返回值会在客户端alert出来，若要查看传入的参数，可以在pc端打开，参数信息会通过log打出，仅在pc端时才会打印
								appId : param.appId, // 必填，公众号的唯一标识
								timestamp : param.timestamp, // 必填，生成签名的时间
								nonceStr : param.nonceStr, // 必填，生成签名的随机
								signature : param.signature,// 必填，签名，见附1
								jsApiList : [ 'onMenuShareTimeline', 'onMenuShareAppMessage',
									'onMenuShareQQ', 'onMenuShareWeibo','getLocation']
								// 必填，需要使用的JS接口列表，所有JS接口列表见附��?
							});
						}
					});
				}
			});

			// 判断当前客户端版本是否支持指定JS接口
			wx.checkJsApi({
				jsApiList : [ 'onMenuShareTimeline', 'onMenuShareAppMessage',
					'onMenuShareQQ', 'onMenuShareWeibo'], // 需要检测的JS接口列表，所有JS接口列表见附录2,
				success : function(res) {
					// 以键值对的形式返回，可用的api值true，不可用为false
					// 如：{"checkResult":{"onMenuShareTimeline":true},"errMsg":"checkJsApi:ok"}
					var results = res.checkResult;
					var flag = true;
					for ( var ele in results) {
						if (!results[ele]) {
							flag = false;
							break;
						}
					}

					if (!flag) {
						//alert("你的微信版本太低，暂时不支持分享，请升级在分享！");
					}
				}
			});

			// 分享给朋友
			wx.onMenuShareAppMessage({
				title : wxData.title, // 分享标题
				desc : wxData.desc, // 分享描述
				link : wxData.link, // 分享链接
				imgUrl : wxData.imgUrl, // 分享图标
				type : '', // 分享类型,music、video或link，不填默认为link
				dataUrl : '', // 如果type是music或video，则要提供数据链接，默认为空
				success : function() {
					// 用户确认分享后执行的回调函数
					saveUserDorec(2, '', '', shareurl, 1);
					afterShareSaveOpr();
					//保存分享记录
				},
				cancel : function() {
					// 用户取消分享后执行的回调函数
				}
			});

			// 分享到QQ
			wx.onMenuShareQQ({
				title : wxData.title, // 分享标题
				desc : wxData.desc, // 分享描述
				link : wxData.link, // 分享链接
				imgUrl : wxData.imgUrl, // 分享图标
				success : function() {
					// 用户确认分享后执行的回调函数
					//afterShareTimelinefn();
				},
				cancel : function() {
					// 用户取消分享后执行的回调函数
				}
			});

			// 分享到腾讯微博
			wx.onMenuShareWeibo({
				title : wxData.title, // 分享标题
				desc : wxData.desc, // 分享描述
				link : wxData.link, // 分享链接
				imgUrl : wxData.imgUrl, // 分享图标
				success : function() {
					// 用户确认分享后执行的回调函数
					//afterShareTimelinefn();
				},
				cancel : function() {
					// 用户取消分享后执行的回调函数
				}
			});

			// 分享到朋友圈
			wx.onMenuShareTimeline({
				title : wxData.title, // 分享标题
				link : wxData.link, // 分享链接
				imgUrl : wxData.imgUrl, // 分享图标
				success : function() {
					// 用户确认分享后执行的回调函数
					saveUserDorec(2, '', '', shareurl, 1);
					afterShareTimelinefn();

				},
				cancel : function() {
					// 用户取消分享后执行的回调函数
				}
			});
			// wx.scanQRCode({
			//     needResult : 1, // 默认为0，扫描结果由微信处理，1则直接返回扫描结果，
			//     scanType : ["qrCode","barCode"], // 可以指定扫二维码还是一维码，默认二者都有
			//     success : function(res) {
			//         alert(res.resultStr);//二维码信息
			//         var result=res.resultStr.split(",");//条形码信息
			//         $('#code').html(result[1]);
			//     }
			// });
			wx.getLocation({
				type: 'wgs84', // 默认为wgs84的gps坐标，如果要返回直接给openLocation用的火星坐标，可传入'gcj02'
				success: function (res) {
					var latitude = res.latitude; // 纬度，浮点数，范围为90 ~ -90
					var longitude = res.longitude; // 经度，浮点数，范围为180 ~ -180。
					var speed = res.speed; // 速度，以米/每秒计
					var accuracy = res.accuracy; // 位置精度
					console.log("latitude:" + latitude + ";longitude:" + longitude + ";speed:" + speed + ";accuracy" + accuracy);
				}
			});
		})
	}, 2000);

});

function updateShareUrl(opt,url,param){
	if(url.indexOf(opt) != -1){
		var url_suffix = "";
		var url_prefix = url.substring(0, url.indexOf("?")); //? zhiqian
		var str_index = url.substring(url.indexOf("?"), url.length); // ? zhihou
		var str_and = str_index.split("&"); //genju & fen ge
		for (var i = 0; i < str_and.length; i++) {
			if(str_and[i].indexOf(opt) != -1){
				str_and[i] = str_and[i].substring(0, str_and[i].indexOf("=")+1);
				str_and[i] += param;
				url_suffix += str_and[i]+"&";
			}else{
				url_suffix += str_and[i]+"&";
			}
		}
		url_prefix += url_suffix;
		if(url_prefix.endsWith("&")){
			url_prefix = url_prefix.substring(0, url_prefix.length-1);
		}
		url = url_prefix;
	}else{
		if(url.indexOf("?") != -1){
			url += "&"+opt+"="+param;
		}else{
			url += "?"+opt+"="+param;
		}
	}

	return url;
}
