/**
 * 订单支付
 */
import Vue from "vue";
//#ifdef H5
import $wxApi from "./wxapi.js";
//#endif

// import $http from "./utils/axios.js"
import $http from "./uview-ui/libs/request"

export default {
	//微信支付
	wxPay(obj = {}) {
		uni.showLoading({
			title: '支付中'
		});
		return new Promise(r => {
			$http.post("/client/wechat/pay",obj)
				.then(res=>{
					//#ifdef H5
					$wxApi.JSAPI(res.data).then(r);
					//#endif
					this.payError(res);
				}).catch(err =>{
					// alert(err.msg);
					console.log('pay err',err);
				})
		});
	},
	/**
	 * 微信支付
	 * obj 传入对象
	 * url 提交地址
	 * jumpUrl 支付成功跳转 
	 */
	wechatPay(obj = {}, url = '/client/pay/wechat', jumpUrl) {
		uni.showLoading({
			title: '支付中'
		});
		return new Promise(r => {
			$http.post(url, obj)
				.then(res=>{
					// 区分包月支付和普通支付
					if (res.data.needPay && !res.data.monthId) {
						//#ifdef H5
						$wxApi.JSAPI(res.data.wx, jumpUrl).then(r);
						//#endif
					} else if (res.data.monthId) {
						//#ifdef H5
						$wxApi.JSAPI(res.data.wx, jumpUrl).then(r);
						//#endif
					} else {
						uni.showToast({
							title: "无需支付",
							icon: "none",
							duration: 2000
						});
						setTimeout(() =>{
							//#ifdef H5
							if (jumpUrl) {
								window.location.href = jumpUrl;
							} else {
								window.location.reload();
							}
							//#endif
						}, 1500)
					}
					this.payError(res);
				}).catch(err =>{
					// alert(err.msg);
					console.log('pay err',err);
				})
		});
	},
	//支付错误处理
	payError(res){
		uni.hideLoading();
		if(res.code == 623){
			setTimeout(i=>{
				new Vue().$api.goto("/pages/userCenter/myOrder/myOrder");
			},2000);
			uni.showToast({
				title:res.msg + "    即将跳转到订单页",
				icon:"none",
				duration:2000
			});
		}
	}
}
