var jweixin = require("jweixin-module");
import http from "@/shopro/request/index";
import $platform from "@/shopro/platform";
export default {
	//判断是否在微信中
	isWechat() {
		var ua = window.navigator.userAgent.toLowerCase();
		if (ua.match(/micromessenger/i) == "micromessenger") {
			return true;
		} else {
			return false;
		}
	},
	// 鉴权页面
	initJssdk(callback) {
		http("common.wxJssdk", {
			uri: encodeURIComponent($platform.entry())
		}).then(res => {
			jweixin.config({
				debug: res.data.debug,
				appId: res.data.appId,
				timestamp: res.data.timestamp,
				nonceStr: res.data.nonceStr,
				signature: res.data.signature,
				jsApiList: res.data.jsApiList,
				openTagList: res.data.openTagList
			});
			if (callback) {
				callback(res.data);
			}
		});
	},

	//在需要定位页面调用
	getLocation(callback) {
		this.isWechat() && this.initJssdk(function(res) {
			jweixin.ready(function() {
				jweixin.getLocation({
					type: "gcj02", // 默认为wgs84的gps坐标,如果要返回直接给openLocation用的火星坐标,可传入'gcj02'
					success: function(res) {
						callback(res);
					},
					fail: function(res) {
						console.log("%c微信H5sdk,getLocation失败:",
							"color:green;background:yellow");
					},
				});
			});
		});
	},

	//获取微信收货地址
	openAddress(callback) {
		this.isWechat() && this.initJssdk(function(res) {
			jweixin.ready(function() {
				jweixin.openAddress({
					success: function(res) {
						callback(res);
					},
					fail: function(err) {
						console.log("%c微信H5sdk,openAddress失败:",
							"color:green;background:yellow");
					},
					complete: function(msg) {}
				});
			});
		});
	},

	// 微信扫码
	scanQRCode(callback) {
		this.isWechat() && this.initJssdk(function(res) {
			jweixin.ready(function() {
				jweixin.scanQRCode({
					needResult: 1, // 默认为0,扫描结果由微信处理,1则直接返回扫描结果,
					scanType: ["qrCode", "barCode"], // 可以指定扫二维码还是一维码,默认二者都有
					success: function(res) {
						callback(res);
					},
					fail: function(res) {
						console.log("%c微信H5sdk,scanQRCode失败:",
							"color:green;background:yellow");
					},
				});
			});
		});
	},

	// 微信分享
	share(data, callback) {
		this.isWechat() && this.initJssdk(function(res) {
			jweixin.ready(function() {
				var shareData = {
					title: data.title,
					desc: data.desc,
					link: data.path,
					imgUrl: data.image,
					success: function(res) {
						callback(res);
						// 分享后的一些操作,比如分享统计等等
					},
					cancel: function(res) {}
				};

				jweixin.updateAppMessageShareData(shareData); //新版接口
				//分享到朋友圈接口
				// jweixin.updateTimelineShareData(shareData);


			});
		});

	},


	// 打开坐标位置
	openLocation(data, callback) { //打开位置
		this.isWechat() && this.initJssdk(function(res) {
			jweixin.ready(function() {
				jweixin.openLocation({ //根据传入的坐标打开地图
					latitude: data.latitude,
					longitude: data.longitude
				});
			});
		});
	},
	// 选择图片
	chooseImage(callback) { //选择图片
		this.isWechat() && this.initJssdk(function(res) {
			jweixin.ready(function() {
				jweixin.chooseImage({
					count: 1,
					sizeType: ["compressed"],
					sourceType: ["album"],
					success: function(rs) {
						callback(rs);
					}
				});
			});
		});
	},

	//微信支付
	wxpay(data, callback) {
		let that = this;
		this.isWechat() && this.initJssdk(function(res) {
			jweixin.ready(function() {
        
        WeixinJSBridge.invoke('getBrandWCPayRequest', {
            "appId": data.appId,        //公众号ID,由商户传入     
            "timeStamp": data.timeStamp,        //时间戳,自1970年以来的秒数     
            "nonceStr": data.nonceStr,       //随机串     
            "package": data.package,
            "signType": data.signType,       //微信签名方式:     
            "paySign": data.paySign,
        },
        function(res) {
            if (res.err_msg == "get_brand_wcpay_request:ok") {
                callback(res);
            } else {
                console.log("%c微信H5sdk,chooseWXPay失败:",
                    "color:green;background:yellow");
                callback(res);
            }
        });
        
				// jweixin.chooseWXPay({
				// 	timestamp: data.timeStamp, // 支付签名时间戳,注意微信jssdk中的所有使用timestamp字段均为小写。但最新版的支付后台生成签名使用的timeStamp字段名需大写其中的S字符
				// 	nonceStr: data.nonceStr, // 支付签名随机串,不长于 32 位
				// 	package: data.package, // 统一支付接口返回的prepay_id参数值,提交格式如:prepay_id=\*\*\*)
				// 	signType: data.signType, // 签名方式,默认为'SHA1',使用新版支付需传入'MD5'
				// 	paySign: data.paySign, // 支付签名
				// 	success: function(res) {
				// 		callback(res);
				// 	},
				// 	fail: function(res) {
				// 		console.log("%c微信H5sdk,chooseWXPay失败:",
				// 			"color:green;background:yellow");
				// 		callback(res);
				// 	},
				// 	cancel: function(res) {

				// 	},
				// });
			});
		});
	}
};