|
|
@@ -57,6 +57,38 @@ |
|
|
|
let logo |
|
|
|
const scrollTop = ref(0); //滚动距离 |
|
|
|
var counter = 0; |
|
|
|
const dingwei=(func)=>{ |
|
|
|
uni.getLocation({ |
|
|
|
type: 'gcj02', |
|
|
|
success: function (res) { |
|
|
|
console.log("经纬福", res) |
|
|
|
state.longitude = res.longitude; |
|
|
|
state.latitude = res.latitude; |
|
|
|
func() |
|
|
|
}, |
|
|
|
fail: function (res) { |
|
|
|
console.log("拒绝获取定位失败回调") |
|
|
|
// 拒绝获取定位失败回调 |
|
|
|
state.isclick = true |
|
|
|
uni.showModal({ |
|
|
|
title: '提示', |
|
|
|
content: '请手动开启定位权限', |
|
|
|
showCancel: false, |
|
|
|
success: () => { |
|
|
|
uni.openSetting({ |
|
|
|
success: (settingdata) => { |
|
|
|
if (settingdata.authSetting['scope.userLocation']) { |
|
|
|
console.log('用户重新授权'); |
|
|
|
} else { |
|
|
|
console.log('用户仍未授权'); |
|
|
|
} |
|
|
|
} |
|
|
|
}); |
|
|
|
} |
|
|
|
}); |
|
|
|
}, |
|
|
|
}) |
|
|
|
} |
|
|
|
function myFunc() { |
|
|
|
counter++; |
|
|
|
console.log("====") |
|
|
@@ -76,127 +108,128 @@ |
|
|
|
} |
|
|
|
state.isclick = false |
|
|
|
console.log("state.isclick", state.isclick, val.payStatus) |
|
|
|
uni.getLocation({ |
|
|
|
type: 'gcj02', |
|
|
|
success: function (res) { |
|
|
|
console.log("经纬福", res) |
|
|
|
state.longitude = res.longitude; |
|
|
|
state.latitude = res.latitude; |
|
|
|
if (val.payStatus === 'UNPAY') { |
|
|
|
myFunc() |
|
|
|
// #ifdef MP-ALIPAY |
|
|
|
my.getAuthCode({ |
|
|
|
scopes: 'auth_base', |
|
|
|
success: res => { |
|
|
|
const optionsUser = { |
|
|
|
type: 2, |
|
|
|
data: { |
|
|
|
payConfigId: aliPayConfigIdTwo, |
|
|
|
code: res.authCode |
|
|
|
}, |
|
|
|
method: "POST", |
|
|
|
showLoading: true, |
|
|
|
}; |
|
|
|
console.log('支付宝用户编号请求:', optionsUser) |
|
|
|
requestNew(obtainUserId, optionsUser).then((res) => { |
|
|
|
console.log('支付宝用户编号返回:', res) |
|
|
|
const data = res; |
|
|
|
const optionsali = { |
|
|
|
type: 2, |
|
|
|
data: { |
|
|
|
orderId: state.orderId, |
|
|
|
wxOpenid: data.openId ? data.openId : data.alipayUserId, |
|
|
|
payType: val.payType |
|
|
|
}, |
|
|
|
method: "POST", |
|
|
|
showLoading: true, |
|
|
|
}; |
|
|
|
console.log('支付下单请求:', optionsali) |
|
|
|
requestNew(PAYMENTORDERAPPLY, optionsali).then((res) => { |
|
|
|
const data = res; |
|
|
|
console.log('支付下单返回:', data) |
|
|
|
my.tradePay({ |
|
|
|
// 调用统一收单交易创建接口(alipay.trade.create),获得返回字段支付宝交易号 trade_no |
|
|
|
tradeNO: data.tranPackage, |
|
|
|
success: res => { |
|
|
|
console.log("支付成功", res); |
|
|
|
refresh(); |
|
|
|
}, |
|
|
|
fail: res => { |
|
|
|
console.log("支付失败", res); |
|
|
|
}, |
|
|
|
}); |
|
|
|
|
|
|
|
}, |
|
|
|
(err) => { |
|
|
|
state.isclick = true |
|
|
|
console.log("err") |
|
|
|
} |
|
|
|
); |
|
|
|
}); |
|
|
|
}, |
|
|
|
fail: err => { |
|
|
|
console.log('my.getAuthCode 调用失败', err) |
|
|
|
state.isclick = true |
|
|
|
} |
|
|
|
}); |
|
|
|
|
|
|
|
// #endif |
|
|
|
// #ifdef MP-WEIXIN |
|
|
|
const options = { |
|
|
|
if(state.xianxia=='1'){ |
|
|
|
dingwei(function (res) { |
|
|
|
payMethods(val) |
|
|
|
}); |
|
|
|
}else{ |
|
|
|
payMethods(val) |
|
|
|
} |
|
|
|
} |
|
|
|
}; |
|
|
|
const payMethods=(val)=>{ |
|
|
|
console.log("val===",val) |
|
|
|
if (val.payStatus === 'UNPAY') { |
|
|
|
myFunc() |
|
|
|
// #ifdef MP-ALIPAY |
|
|
|
my.getAuthCode({ |
|
|
|
scopes: 'auth_base', |
|
|
|
success: res => { |
|
|
|
const optionsUser = { |
|
|
|
type: 2, |
|
|
|
data: { |
|
|
|
payConfigId: aliPayConfigIdTwo, |
|
|
|
code: res.authCode |
|
|
|
}, |
|
|
|
method: "POST", |
|
|
|
showLoading: true, |
|
|
|
}; |
|
|
|
console.log('支付宝用户编号请求:', optionsUser) |
|
|
|
requestNew(obtainUserId, optionsUser).then((res) => { |
|
|
|
console.log('支付宝用户编号返回:', res) |
|
|
|
const data = res; |
|
|
|
const optionsali = { |
|
|
|
type: 2, |
|
|
|
data: { |
|
|
|
orderId: state.orderId, |
|
|
|
wxOpenId: state.openidData.openid, |
|
|
|
payType: val.payType, |
|
|
|
longitude: state.longitude, //经度 |
|
|
|
latitude: state.latitude //纬度 |
|
|
|
wxOpenid: data.openId ? data.openId : data.alipayUserId, |
|
|
|
payType: val.payType |
|
|
|
}, |
|
|
|
method: "POST", |
|
|
|
showLoading: true, |
|
|
|
}; |
|
|
|
requestNew(payApply, options).then((res) => { |
|
|
|
console.log('支付下单请求:', optionsali) |
|
|
|
requestNew(PAYMENTORDERAPPLY, optionsali).then((res) => { |
|
|
|
const data = res; |
|
|
|
console.log("data======111", data) |
|
|
|
if (data) { |
|
|
|
console.log("进来了") |
|
|
|
uni.requestPayment({ |
|
|
|
provider: "wxpay", |
|
|
|
orderInfo: "", |
|
|
|
timeStamp: data.timestamp, |
|
|
|
nonceStr: data.noncestr, |
|
|
|
package: data.wxPackage ? data.wxPackage : "", |
|
|
|
signType: data.signType, |
|
|
|
paySign: data.sign, |
|
|
|
success: function (e) { |
|
|
|
console.log("支付成功", res); |
|
|
|
refresh(); |
|
|
|
}, |
|
|
|
fail: function (err) { |
|
|
|
state.isclick = true |
|
|
|
confirm(err, () => { }, "支付失败", false); |
|
|
|
}, |
|
|
|
}); |
|
|
|
} else { |
|
|
|
state.isclick = true |
|
|
|
console.log("state.isclick", state.isclick) |
|
|
|
} |
|
|
|
|
|
|
|
console.log('支付下单返回:', data) |
|
|
|
my.tradePay({ |
|
|
|
// 调用统一收单交易创建接口(alipay.trade.create),获得返回字段支付宝交易号 trade_no |
|
|
|
tradeNO: data.tranPackage, |
|
|
|
success: res => { |
|
|
|
console.log("支付成功", res); |
|
|
|
refresh(); |
|
|
|
}, |
|
|
|
fail: res => { |
|
|
|
console.log("支付失败", res); |
|
|
|
}, |
|
|
|
}); |
|
|
|
|
|
|
|
}, |
|
|
|
(err) => { |
|
|
|
state.isclick = true |
|
|
|
console.log("err") |
|
|
|
} |
|
|
|
); |
|
|
|
|
|
|
|
|
|
|
|
// #endif |
|
|
|
} |
|
|
|
}); |
|
|
|
}, |
|
|
|
}) |
|
|
|
|
|
|
|
fail: err => { |
|
|
|
console.log('my.getAuthCode 调用失败', err) |
|
|
|
state.isclick = true |
|
|
|
} |
|
|
|
}); |
|
|
|
|
|
|
|
// #endif |
|
|
|
// #ifdef MP-WEIXIN |
|
|
|
const options = { |
|
|
|
type: 2, |
|
|
|
data: { |
|
|
|
orderId: state.orderId, |
|
|
|
wxOpenId: state.openidData.openid, |
|
|
|
payType: val.payType, |
|
|
|
longitude: state.longitude, //经度 |
|
|
|
latitude: state.latitude //纬度 |
|
|
|
}, |
|
|
|
method: "POST", |
|
|
|
showLoading: true, |
|
|
|
}; |
|
|
|
requestNew(payApply, options).then((res) => { |
|
|
|
const data = res; |
|
|
|
console.log("data======111", data) |
|
|
|
if (data) { |
|
|
|
console.log("进来了") |
|
|
|
uni.requestPayment({ |
|
|
|
provider: "wxpay", |
|
|
|
orderInfo: "", |
|
|
|
timeStamp: data.timestamp, |
|
|
|
nonceStr: data.noncestr, |
|
|
|
package: data.wxPackage ? data.wxPackage : "", |
|
|
|
signType: data.signType, |
|
|
|
paySign: data.sign, |
|
|
|
success: function (e) { |
|
|
|
console.log("支付成功", res); |
|
|
|
refresh(); |
|
|
|
}, |
|
|
|
fail: function (err) { |
|
|
|
state.isclick = true |
|
|
|
confirm(err, () => { }, "支付失败", false); |
|
|
|
}, |
|
|
|
}); |
|
|
|
} else { |
|
|
|
state.isclick = true |
|
|
|
console.log("state.isclick", state.isclick) |
|
|
|
} |
|
|
|
|
|
|
|
}, |
|
|
|
(err) => { |
|
|
|
state.isclick = true |
|
|
|
console.log("err") |
|
|
|
} |
|
|
|
); |
|
|
|
|
|
|
|
|
|
|
|
// #endif |
|
|
|
} |
|
|
|
}; |
|
|
|
} |
|
|
|
const refresh = () => { |
|
|
|
state.isclick = true |
|
|
|
let source = "" |
|
|
@@ -298,6 +331,7 @@ |
|
|
|
state.qdSignUrl = option.qdSignUrl; |
|
|
|
state.qdSignAppId = option.qdSignAppId; |
|
|
|
state.qtSign = option.qtSign; |
|
|
|
state.xianxia = option.xianxia; |
|
|
|
|
|
|
|
// #ifdef MP-WEIXIN |
|
|
|
uni.login({ |
|
|
@@ -545,6 +579,7 @@ |
|
|
|
qdSignAppId:"", |
|
|
|
qtSign:"", |
|
|
|
continue:0,//继续执行,不需要点击 |
|
|
|
xianxia:"",//线下订单 1 |
|
|
|
|
|
|
|
}); |
|
|
|
</script> |
|
|
@@ -688,7 +723,7 @@ |
|
|
|
position: absolute; |
|
|
|
display: flex; |
|
|
|
align-items: center; |
|
|
|
width: 100%; |
|
|
|
width: 81%; |
|
|
|
box-sizing: border-box; |
|
|
|
height: 146rpx; |
|
|
|
|
|
|
@@ -697,7 +732,7 @@ |
|
|
|
font-size: 46rpx; |
|
|
|
font-family: SourceHanSansCN, SourceHanSansCN; |
|
|
|
font-weight: 400; |
|
|
|
margin-right: 43rpx; |
|
|
|
flex: 1; |
|
|
|
|
|
|
|
.unit { |
|
|
|
font-size: 29rpx; |
|
|
@@ -706,7 +741,8 @@ |
|
|
|
} |
|
|
|
|
|
|
|
.content { |
|
|
|
margin-left: 33rpx; |
|
|
|
margin-left: 60rpx; |
|
|
|
flex: 2; |
|
|
|
|
|
|
|
.title { |
|
|
|
font-weight: 400; |
|
|
@@ -717,7 +753,6 @@ |
|
|
|
} |
|
|
|
|
|
|
|
.r-btn { |
|
|
|
margin-left: 137rpx; |
|
|
|
width: 139rpx; |
|
|
|
height: 65rpx; |
|
|
|
background: radial-gradient(at 0% 0%, #C6B077 0%, #DFCC96 100%); |
|
|
@@ -728,6 +763,7 @@ |
|
|
|
color: #FFFFFF; |
|
|
|
line-height: 65rpx; |
|
|
|
text-align: center; |
|
|
|
flex: 1; |
|
|
|
} |
|
|
|
} |
|
|
|
|