完善支付选项
This commit is contained in:
@@ -158,32 +158,8 @@ export const setPay = function(payInfo, callback) {
|
|||||||
if (payData.orderInfo != '' && payData.orderInfo != undefined) {
|
if (payData.orderInfo != '' && payData.orderInfo != undefined) {
|
||||||
console.log("支付参数", payData);
|
console.log("支付参数", payData);
|
||||||
// let EnvUtils = plus.android.importClass('com.alipay.sdk.app.EnvUtils');
|
// let EnvUtils = plus.android.importClass('com.alipay.sdk.app.EnvUtils');
|
||||||
// EnvUtils.setEnv(EnvUtils.EnvEnum.SANDBOX);
|
// EnvUtils.setEnv(EnvUtils.EnvEnum.SANDBOX);
|
||||||
let payData1 = {
|
uni.requestPayment(payData);
|
||||||
provider: 'alipay',
|
|
||||||
orderInfo: data.orderInfo,
|
|
||||||
success(res) {
|
|
||||||
console.log('success:' + res);
|
|
||||||
},
|
|
||||||
//调用失败的回调
|
|
||||||
fail(err) {
|
|
||||||
console.log('fail:' + err);
|
|
||||||
console.log(JSON.stringify(err))
|
|
||||||
uni.showModal({
|
|
||||||
title: '提示',
|
|
||||||
showCancel:false,
|
|
||||||
content: '商家支付参数错误,请重新发起付款',
|
|
||||||
success: function (res) {
|
|
||||||
if (res.confirm) {
|
|
||||||
console.log('用户点击确定');
|
|
||||||
} else if (res.cancel) {
|
|
||||||
console.log('用户点击取消');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
uni.requestPayment(payData1);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}, err => {
|
}, err => {
|
||||||
@@ -262,15 +238,14 @@ export const getLatLon = function(tip) {
|
|||||||
// 单独重新微信支付
|
// 单独重新微信支付
|
||||||
export const setWXPay = function(payInfo, callback) {
|
export const setWXPay = function(payInfo, callback) {
|
||||||
$http.request({
|
$http.request({
|
||||||
url: "/pay/placeAnOrder/app",
|
url: "/pay/placeAnOrder/shoppingpay",
|
||||||
method: "POST", // POST、GET、PUT、DELETE,具体说明查看官方文档
|
method: "POST", // POST、GET、PUT、DELETE,具体说明查看官方文档
|
||||||
data:payInfo,
|
data:payInfo,
|
||||||
header: { //默认 无 说明:请求头1
|
header: { //默认 无 说明:请求头1
|
||||||
'Content-Type': 'application/json'
|
'Content-Type': 'application/json'
|
||||||
},
|
},
|
||||||
}).then(res => {
|
}).then(res => {
|
||||||
console.log(res,'res')
|
console.log(res,'res')
|
||||||
|
|
||||||
if(res.code === 0){
|
if(res.code === 0){
|
||||||
let payData = {
|
let payData = {
|
||||||
provider : 'wxpay',
|
provider : 'wxpay',
|
||||||
@@ -289,19 +264,21 @@ export const setWXPay = function(payInfo, callback) {
|
|||||||
success: true,
|
success: true,
|
||||||
data: res
|
data: res
|
||||||
});
|
});
|
||||||
// console.log('success:' + JSON.stringify(res));
|
console.log('success:' + JSON.stringify(res));
|
||||||
},
|
},
|
||||||
fail(err) {
|
fail(err) {
|
||||||
callback && callback({
|
callback && callback({
|
||||||
success: false,
|
success: false,
|
||||||
data: err
|
data: err
|
||||||
});
|
});
|
||||||
// console.log('fail:' + JSON.stringify(err));
|
console.log('fail:' + JSON.stringify(err));
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// console.log(payData)
|
// console.log(payData)
|
||||||
|
if(payData.orderInfo.prepayid != '' && payData.orderInfo.prepayid != undefined){
|
||||||
uni.requestPayment(payData);
|
uni.requestPayment(payData);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -98,7 +98,8 @@
|
|||||||
"useOriginalMsgbox" : true
|
"useOriginalMsgbox" : true
|
||||||
},
|
},
|
||||||
"ios" : {
|
"ios" : {
|
||||||
"dSYMs" : false
|
"dSYMs" : false,
|
||||||
|
"UIBackgroundModes":["audio"] // 背景播放音乐
|
||||||
},
|
},
|
||||||
"icons" : {
|
"icons" : {
|
||||||
"android" : {
|
"android" : {
|
||||||
|
|||||||
@@ -202,6 +202,7 @@
|
|||||||
this.$http
|
this.$http
|
||||||
.post(`/book/buyorder/queryFMS?orderId=${this.orderID}`)
|
.post(`/book/buyorder/queryFMS?orderId=${this.orderID}`)
|
||||||
.then(res => {
|
.then(res => {
|
||||||
|
console.log(res,'物流信息')
|
||||||
if (res && res.code === 0) {
|
if (res && res.code === 0) {
|
||||||
// console.log(res, '物流信息')
|
// console.log(res, '物流信息')
|
||||||
res.rntStr.forEach(item => {
|
res.rntStr.forEach(item => {
|
||||||
|
|||||||
@@ -77,10 +77,10 @@
|
|||||||
import $http from '@/config/requestConfig.js';
|
import $http from '@/config/requestConfig.js';
|
||||||
import {
|
import {
|
||||||
setPay,
|
setPay,
|
||||||
setPayAssign
|
setPayAssign,setWXPay
|
||||||
} from '@/config/utils';
|
} from '@/config/utils';
|
||||||
import {
|
import {
|
||||||
mapState
|
mapState,mapMutations
|
||||||
} from 'vuex';
|
} from 'vuex';
|
||||||
export default {
|
export default {
|
||||||
data() {
|
data() {
|
||||||
@@ -103,10 +103,14 @@
|
|||||||
}],
|
}],
|
||||||
orderListTab: 9,
|
orderListTab: 9,
|
||||||
orderList: [],
|
orderList: [],
|
||||||
|
iapChannel:{},
|
||||||
|
checking:false, // 正在检测
|
||||||
|
ComplateRequestArr:null,
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
onShow() {
|
onShow() {
|
||||||
this.getOrderList()
|
this.getOrderList()
|
||||||
|
this.checkIapOrders() //检查未完成的苹果支付订单
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
...mapState(['userInfo']),
|
...mapState(['userInfo']),
|
||||||
@@ -117,6 +121,24 @@
|
|||||||
uni.stopPullDownRefresh()
|
uni.stopPullDownRefresh()
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
...mapMutations(['setUserInfo']),
|
||||||
|
checkIapOrders() {
|
||||||
|
const that = this
|
||||||
|
// 如果ios已经绑定支付信息,就直接支付,如果没有绑定,就需要先绑定
|
||||||
|
console.log('检测支付环境...')
|
||||||
|
plus.payment.getChannels((channels) => {
|
||||||
|
console.log(channels, 'channels')
|
||||||
|
for (var i in channels) {
|
||||||
|
// 判断是否苹果支付1
|
||||||
|
if (channels[i].id === 'appleiap') {
|
||||||
|
that.iapChannel = channels[i]
|
||||||
|
that.restoreComplateRequest() // 检查未关闭订单
|
||||||
|
// that.requestOrder(productId)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
},
|
||||||
// 切换订单状态
|
// 切换订单状态
|
||||||
orderTabCLi(e) {
|
orderTabCLi(e) {
|
||||||
this.orderListTab = e
|
this.orderListTab = e
|
||||||
@@ -127,7 +149,7 @@
|
|||||||
getOrderList() {
|
getOrderList() {
|
||||||
this.$http
|
this.$http
|
||||||
.post(`book/buyorder/appUserGetlist?userId=${this.userInfo.id}&orderStatus=${this.orderListTab}`)
|
.post(`book/buyorder/appUserGetlist?userId=${this.userInfo.id}&orderStatus=${this.orderListTab}`)
|
||||||
.then(res => {
|
.then(res => {
|
||||||
this.orderList = res.page.list
|
this.orderList = res.page.list
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
@@ -138,7 +160,15 @@
|
|||||||
url: './orderLCont?orderId=' + e.orderId + '&orderType=' + e.orderStatus
|
url: './orderLCont?orderId=' + e.orderId + '&orderType=' + e.orderStatus
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
|
// 跳转到支付页面
|
||||||
|
goPay1(e){
|
||||||
|
console.log(e,'goPay1')
|
||||||
|
uni.navigateTo({
|
||||||
|
url: '../peanut/reCharge?orderSn=' + e.orderSn
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
// 取消订单
|
// 取消订单
|
||||||
canceOrder(e) {
|
canceOrder(e) {
|
||||||
uni.showModal({
|
uni.showModal({
|
||||||
@@ -166,6 +196,10 @@
|
|||||||
|
|
||||||
// 支付
|
// 支付
|
||||||
goPay(payItem) {
|
goPay(payItem) {
|
||||||
|
console.log(payItem,'payItem')
|
||||||
|
|
||||||
|
if(payItem.paymentMethod == 2){
|
||||||
|
console.log('阿里支付')
|
||||||
setPay({
|
setPay({
|
||||||
typePay: 'alipay',
|
typePay: 'alipay',
|
||||||
subject: 'order',
|
subject: 'order',
|
||||||
@@ -187,7 +221,249 @@
|
|||||||
}
|
}
|
||||||
this.getOrderList()
|
this.getOrderList()
|
||||||
})
|
})
|
||||||
|
} else if(payItem.paymentMethod == 1){
|
||||||
|
console.log('微信支付')
|
||||||
|
let data1={
|
||||||
|
orderSn:payItem.orderSn,
|
||||||
|
buyOrderId: null,
|
||||||
|
totalAmount: payItem.realMoney
|
||||||
|
}
|
||||||
|
console.log(data1,'data1')
|
||||||
|
setWXPay(data1,res => {
|
||||||
|
if (res.success) {
|
||||||
|
uni.showToast({
|
||||||
|
title: "支付成功"
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
console.log(res)
|
||||||
|
if(res.data.errMsg.indexOf('User canceled') != -1){
|
||||||
|
uni.showToast({
|
||||||
|
title: "用户取消支付",
|
||||||
|
icon: "none",
|
||||||
|
image: '../../static/icon/ic_close.png'
|
||||||
|
});
|
||||||
|
}else{
|
||||||
|
uni.showToast({
|
||||||
|
title: "支付失败",
|
||||||
|
icon: "none",
|
||||||
|
image: '../../static/icon/ic_close.png'
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}else if(payItem.paymentMethod == 3){
|
||||||
|
// 苹果充值
|
||||||
|
console.log('苹果二次支付')
|
||||||
|
this.iphonepay(payItem)
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
iphonepay(payItem) {
|
||||||
|
console.log(this.userInfo.restoreFlag,'this.userInfo.restoreFlag')
|
||||||
|
if(this.ComplateRequestArr == null || this.ComplateRequestArr == [] ){
|
||||||
|
this.requestOrder(payItem)
|
||||||
|
}else{
|
||||||
|
uni.showModal({
|
||||||
|
title:'提示',
|
||||||
|
showCancel: false,
|
||||||
|
content: '您的账户存在未完成的支付订单,请稍后重启app留意账户变动。',
|
||||||
|
})
|
||||||
|
}
|
||||||
|
},
|
||||||
|
requestOrder(payItem) {
|
||||||
|
uni.showLoading({
|
||||||
|
title: '获取商品信息',
|
||||||
|
mask: true
|
||||||
|
})
|
||||||
|
const that = this
|
||||||
|
// console.log(productId, 88888888)
|
||||||
|
// ['xxxxx'] 是平台申请拿到的内购商品的id
|
||||||
|
let IAPOrders = []
|
||||||
|
IAPOrders.push(payItem.productId+'')
|
||||||
|
console.log(IAPOrders, 'IAPOrders')
|
||||||
|
// 新建订单
|
||||||
|
that.iapChannel.requestOrder(IAPOrders, function(event) {
|
||||||
|
// uni.hideLoading()
|
||||||
|
console.log(event, 'event')
|
||||||
|
for (var index in event) {
|
||||||
|
var OrderItem = event[index]
|
||||||
|
// console.log(OrderItem, 'OrderItem')
|
||||||
|
console.log(OrderItem.productid,'OrderItem.productid')
|
||||||
|
that.topay(payItem)
|
||||||
|
}
|
||||||
|
}, function(erroemsg) {
|
||||||
|
uni.showToast({
|
||||||
|
title: "商品获取失败",
|
||||||
|
icon: 'none'
|
||||||
|
})
|
||||||
|
})
|
||||||
|
},
|
||||||
|
topay(payItem) {
|
||||||
|
const that = this
|
||||||
|
uni.hideLoading()
|
||||||
|
// var restoreFlag = true; // 调用支付接口时标记 restoreFlag = true , 实际应用请将标记存储在 storage 中
|
||||||
|
this.setUserInfo({restoreFlag:true});
|
||||||
|
console.log(this.userInfo,'更新后的用户信息')
|
||||||
|
plus.payment.request(that.iapChannel, {
|
||||||
|
productid: payItem.productId,
|
||||||
|
username: payItem.orderSn, // 用户标识/订单标识
|
||||||
|
manualFinishTransaction: true // 3.5.1+ 支持,设置此参数后需要开发者主动关闭订单,参见下面的关闭订单方法 finishTransaction()
|
||||||
|
|
||||||
|
}, function(result) {
|
||||||
|
// restoreFlag = false; // 支付成功清除标记 restoreFlag = false
|
||||||
|
that.transaction = result
|
||||||
|
// 支付成功,result 为 IAP商品交易信息对象 IAPTransaction 需将返回的支付凭证传给后端进行二次认证
|
||||||
|
that.iapCheck(result)
|
||||||
|
}, function(e) {
|
||||||
|
if(e.errCode == 2){
|
||||||
|
// 用户未绑定支付方式,app内支付流程结束,系统弹出框引导用户绑定支付方式,此过程将跳转到系统应用 AppStore 进行绑定支付方式,绑定成功同步支付成功,用户成功付款
|
||||||
|
plus.runtime.openURL("https://apps.apple.com/account/billing");
|
||||||
|
}else{
|
||||||
|
// restoreFlag = false; // 支付失败清楚标记
|
||||||
|
that.finishTransaction(result);
|
||||||
|
//console.log('订单关闭后的用户信息', that.userInfo);
|
||||||
|
// console.log(e)
|
||||||
|
//console.log(e.message)
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
// 查询未关闭订单
|
||||||
|
restoreComplateRequest(){
|
||||||
|
let that = this
|
||||||
|
console.log('检测未完成订单')
|
||||||
|
// console.log(that.iapChannel,'this.iapChannel')
|
||||||
|
that.iapChannel.restoreComplateRequest({
|
||||||
|
manualFinishTransaction: true
|
||||||
|
}, function(results) {
|
||||||
|
console.log('进入restoreComplateRequest')
|
||||||
|
// if(!that.checking){
|
||||||
|
// that.checking = true
|
||||||
|
// console.log(that.checking)
|
||||||
|
// results 格式为数组存放恢复的IAP商品交易信息对象 IAPTransaction,通用需将返回的支付凭证传给后端进行二次认证
|
||||||
|
that.ComplateRequestArr = results
|
||||||
|
console.log(that.ComplateRequestArr,'未完成订单数组')
|
||||||
|
if(results && results.length>0){
|
||||||
|
results.map((item,index)=>{
|
||||||
|
// "0"为正在支付;"1"为支付成功;"2"为支付失败;"3"为支付已恢复。
|
||||||
|
if(item.transactionState == '1'){
|
||||||
|
// 已经支付,但是没有走逻辑的内购订单
|
||||||
|
that.iapCheck(item,index)
|
||||||
|
}else{
|
||||||
|
// 其他状态的内购订单
|
||||||
|
that.finishTransaction(item)
|
||||||
|
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}else{
|
||||||
|
this.setUserInfo({restoreFlag:false});
|
||||||
|
console.log('无未处理订单,可以拉起新的支付')
|
||||||
|
}
|
||||||
|
// }
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
},
|
||||||
|
// 关闭交易订单
|
||||||
|
finishTransaction(trans,index){
|
||||||
|
this.iapChannel.finishTransaction(trans, (success) => {
|
||||||
|
console.log('关闭订单成功',index);
|
||||||
|
|
||||||
|
if(index == this.ComplateRequestArr.length-1){ // 最后一个支付订单
|
||||||
|
this.setUserInfo({restoreFlag:false});
|
||||||
|
console.log(this.userInfo.restoreFlag, 'this.userInfo.restoreFlag')
|
||||||
|
}
|
||||||
|
|
||||||
|
}, (fail) => {
|
||||||
|
console.log('关闭订单失败');
|
||||||
|
});
|
||||||
|
},
|
||||||
|
iapCheck(result,index) {
|
||||||
|
const that = this
|
||||||
|
console.log('进入后台验证')
|
||||||
|
let data = {
|
||||||
|
transactionId: result.transactionIdentifier, // 支付交易id
|
||||||
|
customerOid: that.userInfo.id,
|
||||||
|
productId: result.payment.productid, // 产品id
|
||||||
|
orderId: result.payment.username, // 系统订单号
|
||||||
|
receiptData: result.transactionReceipt ,// 苹果返回收据
|
||||||
|
loadAnimate:'none', // 请求加载动画
|
||||||
|
}
|
||||||
|
console.log(data,'data')
|
||||||
|
$http.request({
|
||||||
|
url: "/Ipa/veri",
|
||||||
|
method: "POST", // POST、GET、PUT、DELETE,具体说明查看官方文档
|
||||||
|
data,
|
||||||
|
header: { //默认 无 说明:请求头
|
||||||
|
'Content-Type': 'application/json'
|
||||||
|
},
|
||||||
|
}).then(res => {
|
||||||
|
console.log(JSON.stringify(res))
|
||||||
|
console.log(res.code)
|
||||||
|
if(res.code == 0){
|
||||||
|
// uni.hideLoading()
|
||||||
|
console.log('充值订单已处理,请留意账户金额变动....')
|
||||||
|
// 服务器验证票据有效后在客户端关闭订单
|
||||||
|
that.finishTransaction(result,index)
|
||||||
|
}else if(res.code == 200){ // 重复验证订单
|
||||||
|
console.log('重复验证....')
|
||||||
|
that.finishTransaction(result,index)
|
||||||
|
}
|
||||||
|
}).catch(e => {
|
||||||
|
console.log('支付验证失败,进入轮询程序...')
|
||||||
|
that.getIapPayResult(result,index)
|
||||||
|
})
|
||||||
|
console.log('--------------')
|
||||||
|
},
|
||||||
|
|
||||||
|
// 轮询验证支付结果
|
||||||
|
getIapPayResult(result,index){
|
||||||
|
// let interval = null
|
||||||
|
this.ComplateRequestInterval = setTimeout(() => {
|
||||||
|
if(this.maxTimes <= 3){
|
||||||
|
this.iapCheck(result,index)
|
||||||
|
console.log('执行1', this.maxTimes,this.ComplateRequestInterval)
|
||||||
|
this.maxTimes += 1
|
||||||
|
}else{
|
||||||
|
this.maxTimes = 0
|
||||||
|
console.log('停止轮询', this.maxTimes,this.ComplateRequestInterval, this.maxTimes)
|
||||||
|
this.checking = false
|
||||||
|
this.saveErrorIapOrder(result,index)
|
||||||
|
clearTimeout(this.ComplateRequestInterval)
|
||||||
|
|
||||||
|
}
|
||||||
|
},10000)
|
||||||
|
|
||||||
|
},
|
||||||
|
// 轮询失败接口
|
||||||
|
saveErrorIapOrder(result,index){
|
||||||
|
console.log('提交到充值问题单里面...')
|
||||||
|
let data = {
|
||||||
|
transactionId : result.transactionIdentifier,
|
||||||
|
failureflag: 1,
|
||||||
|
orderId:result.payment.username,
|
||||||
|
receiptData:result.transactionReceipt,
|
||||||
|
productId:result.payment.productid,
|
||||||
|
customerOid:this.userInfo.id
|
||||||
|
}
|
||||||
|
$http.request({
|
||||||
|
url: "Ipa/failure",
|
||||||
|
method: "POST", // POST、GET、PUT、DELETE,具体说明查看官方文档
|
||||||
|
data,
|
||||||
|
header: { //默认 无 说明:请求头
|
||||||
|
'Content-Type': 'application/json'
|
||||||
|
},
|
||||||
|
}).then(res => {
|
||||||
|
console.log(JSON.stringify(res))
|
||||||
|
if(res.code == 200){
|
||||||
|
console.log('提交成功,关闭订单')
|
||||||
|
this.finishTransaction(result,index)
|
||||||
|
}
|
||||||
|
}).catch(e => {
|
||||||
|
console.log(e)
|
||||||
|
if(e.statusCode == 0){ // 重复提交,直接关闭订单
|
||||||
|
this.finishTransaction(result,index)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -67,8 +67,8 @@
|
|||||||
<text>¥{{farePrice}}</text>
|
<text>¥{{farePrice}}</text>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
<!-- 安卓支付列表 -->
|
||||||
<view class="zhif_fangsh">
|
<view class="zhif_fangsh" v-if="isAndorid">
|
||||||
<view class="zhif_radio">
|
<view class="zhif_radio">
|
||||||
<u-radio-group v-model="payType">
|
<u-radio-group v-model="payType">
|
||||||
<view style="width: 100%;">
|
<view style="width: 100%;">
|
||||||
@@ -84,7 +84,24 @@
|
|||||||
</u-radio-group>
|
</u-radio-group>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
<!-- ios支付列表 -->
|
||||||
|
<view class="zhif_fangsh" v-else>
|
||||||
|
<view class="zhif_radio">
|
||||||
|
<u-radio-group v-model="payType">
|
||||||
|
<view style="width: 100%;">
|
||||||
|
<view v-for="(item, index) in paylistIos" class="zhif_xuanx">
|
||||||
|
<image :src="item.img"></image>
|
||||||
|
{{item.title}}
|
||||||
|
<span v-if="item.id == 4" style="color: #bbb; margin-left: 10px;">{{userMes.peanutCoin}}疯币可用</span>
|
||||||
|
<span @click.stop="buPoint" style="color: #bf0c0c; margin-left: 10px;" v-if="item.id == 4" class="chongBtn">去充值</span>
|
||||||
|
<u-radio :key="index" activeColor="#fe6e09" :name='item.id'
|
||||||
|
style="float: right;margin-top: 5rpx;" ></u-radio>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</u-radio-group>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
|
||||||
<view class="footer" >
|
<view class="footer" >
|
||||||
<view class="commodityPrice" v-if="payType != 4">
|
<view class="commodityPrice" v-if="payType != 4">
|
||||||
<span style="color: #666;margin-right: 10rpx; font-size: 15px;">实付款: </span>
|
<span style="color: #666;margin-right: 10rpx; font-size: 15px;">实付款: </span>
|
||||||
@@ -183,7 +200,7 @@
|
|||||||
import $http from '@/config/requestConfig.js';
|
import $http from '@/config/requestConfig.js';
|
||||||
import {
|
import {
|
||||||
setPay,
|
setPay,
|
||||||
setPayAssign
|
setPayAssign,setWXPay
|
||||||
} from '@/config/utils';
|
} from '@/config/utils';
|
||||||
import {
|
import {
|
||||||
mapState
|
mapState
|
||||||
@@ -191,6 +208,8 @@
|
|||||||
export default {
|
export default {
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
isAndorid:true, // 操作系统
|
||||||
|
|
||||||
typeId: 0,
|
typeId: 0,
|
||||||
shangIDNum: 0,
|
shangIDNum: 0,
|
||||||
cartIDNum: [],
|
cartIDNum: [],
|
||||||
@@ -234,6 +253,27 @@
|
|||||||
// img: '../../static/icon/pay_2.png'
|
// img: '../../static/icon/pay_2.png'
|
||||||
// }
|
// }
|
||||||
],
|
],
|
||||||
|
paylistIos: [{
|
||||||
|
title: '支付宝',
|
||||||
|
id: 2,
|
||||||
|
img: '../../static/icon/pay_1.png'
|
||||||
|
},
|
||||||
|
// {
|
||||||
|
// title: '微信',
|
||||||
|
// id: 1,
|
||||||
|
// img: '../../static/icon/pay_2.png'
|
||||||
|
// },
|
||||||
|
{
|
||||||
|
title: '疯币购买',
|
||||||
|
id: 4,
|
||||||
|
img: '../../static/icon/oder_chong.png'
|
||||||
|
},
|
||||||
|
// {
|
||||||
|
// title: 'ios内购',
|
||||||
|
// id: 3,
|
||||||
|
// img: '../../static/icon/pay_2.png'
|
||||||
|
// }
|
||||||
|
],
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
onLoad(e) {
|
onLoad(e) {
|
||||||
@@ -254,12 +294,24 @@
|
|||||||
} else if (this.typeId == 0) {
|
} else if (this.typeId == 0) {
|
||||||
this.getShangList(this.shangIDNum);
|
this.getShangList(this.shangIDNum);
|
||||||
}
|
}
|
||||||
this.getData()
|
this.getData()
|
||||||
|
this.getOS()
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
...mapState(['userInfo']),
|
...mapState(['userInfo']),
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
// 获得操作系统
|
||||||
|
getOS(){
|
||||||
|
let oprateOs = ''
|
||||||
|
oprateOs = uni.getSystemInfoSync().platform
|
||||||
|
console.log(oprateOs)
|
||||||
|
if(oprateOs == 'android'){
|
||||||
|
this.isAndorid = true
|
||||||
|
}else{
|
||||||
|
this.isAndorid = false
|
||||||
|
}
|
||||||
|
},
|
||||||
// 充值疯币
|
// 充值疯币
|
||||||
buPoint() {
|
buPoint() {
|
||||||
uni.navigateTo({
|
uni.navigateTo({
|
||||||
@@ -306,7 +358,7 @@
|
|||||||
if(this.realPrice > this.userMes.peanutCoin){
|
if(this.realPrice > this.userMes.peanutCoin){
|
||||||
uni.showToast({
|
uni.showToast({
|
||||||
title:'疯币不足,请充值',
|
title:'疯币不足,请充值',
|
||||||
icon: 'error',
|
icon: 'none',
|
||||||
duration: 2000
|
duration: 2000
|
||||||
})
|
})
|
||||||
return
|
return
|
||||||
@@ -548,7 +600,7 @@
|
|||||||
image: '../../static/icon/ic_close.png'
|
image: '../../static/icon/ic_close.png'
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
if(this.payType != 4){
|
if(this.payType == 2){
|
||||||
// 常规支付
|
// 常规支付
|
||||||
uni.showToast({
|
uni.showToast({
|
||||||
title: "正在支付",
|
title: "正在支付",
|
||||||
@@ -584,7 +636,41 @@
|
|||||||
}, 1000)
|
}, 1000)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}else{
|
}else if(this.payType == 1){
|
||||||
|
// 微信支付
|
||||||
|
let data1 = {
|
||||||
|
orderSn:res.orderSn,
|
||||||
|
buyOrderId: null,
|
||||||
|
totalAmount: res.money
|
||||||
|
}
|
||||||
|
setWXPay(data1,res => {
|
||||||
|
if (res.success) {
|
||||||
|
uni.showToast({
|
||||||
|
title: "支付成功"
|
||||||
|
});
|
||||||
|
setTimeout(() => {
|
||||||
|
uni.navigateTo({
|
||||||
|
url: './orderList'
|
||||||
|
});
|
||||||
|
}, 1000)
|
||||||
|
} else {
|
||||||
|
console.log(res)
|
||||||
|
if(res.data.errMsg.indexOf('User canceled') != -1){
|
||||||
|
uni.showToast({
|
||||||
|
title: "用户取消支付",
|
||||||
|
icon: "none",
|
||||||
|
image: '../../static/icon/ic_close.png'
|
||||||
|
});
|
||||||
|
}else{
|
||||||
|
uni.showToast({
|
||||||
|
title: "支付失败",
|
||||||
|
icon: "none",
|
||||||
|
image: '../../static/icon/ic_close.png'
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}else if(this.payType == 4){
|
||||||
// 疯币支付
|
// 疯币支付
|
||||||
uni.showToast({
|
uni.showToast({
|
||||||
title: "购买成功",
|
title: "购买成功",
|
||||||
@@ -767,7 +853,7 @@
|
|||||||
padding: 30rpx 40rpx 0 40rpx;
|
padding: 30rpx 40rpx 0 40rpx;
|
||||||
background-color: #fff;
|
background-color: #fff;
|
||||||
border-bottom: 1px solid #eee;
|
border-bottom: 1px solid #eee;
|
||||||
|
padding-bottom:90rpx;
|
||||||
.zhif_radio {
|
.zhif_radio {
|
||||||
|
|
||||||
.zhif_xuanx {
|
.zhif_xuanx {
|
||||||
|
|||||||
@@ -415,10 +415,8 @@
|
|||||||
orderId:result.payment.username,
|
orderId:result.payment.username,
|
||||||
receiptData:result.transactionReceipt,
|
receiptData:result.transactionReceipt,
|
||||||
productId:result.payment.productid,
|
productId:result.payment.productid,
|
||||||
customerOid:this.userInfo.id
|
customerOid:this.userInfo.id
|
||||||
|
}
|
||||||
}
|
|
||||||
console.log(data,'data')
|
|
||||||
$http.request({
|
$http.request({
|
||||||
url: "Ipa/failure",
|
url: "Ipa/failure",
|
||||||
method: "POST", // POST、GET、PUT、DELETE,具体说明查看官方文档
|
method: "POST", // POST、GET、PUT、DELETE,具体说明查看官方文档
|
||||||
|
|||||||
@@ -58,7 +58,7 @@
|
|||||||
</view>
|
</view>
|
||||||
<view class="char_btn">
|
<view class="char_btn">
|
||||||
|
|
||||||
<view @click="kaiChar">立即充值</view>
|
<view @click="goToPay">立即充值</view>
|
||||||
|
|
||||||
<!-- <view @click="iosPay" >立即充值</view> -->
|
<!-- <view @click="iosPay" >立即充值</view> -->
|
||||||
|
|
||||||
@@ -101,6 +101,7 @@
|
|||||||
title: '',
|
title: '',
|
||||||
content: ''
|
content: ''
|
||||||
},
|
},
|
||||||
|
chargeOrderSn:'', // 通过query传过来的orderSN(二次支付情况)
|
||||||
xieyiShow: false,
|
xieyiShow: false,
|
||||||
stepsCj: {},
|
stepsCj: {},
|
||||||
cjList: [],
|
cjList: [],
|
||||||
@@ -144,7 +145,8 @@
|
|||||||
onLoad(e) {
|
onLoad(e) {
|
||||||
// 隐藏原生的tabbar
|
// 隐藏原生的tabbar
|
||||||
uni.hideTabBar();
|
uni.hideTabBar();
|
||||||
|
this.chargeOrderSn = e.orderSn
|
||||||
|
// console.log(e.orderSn,'orderSn')
|
||||||
},
|
},
|
||||||
//页面显示
|
//页面显示
|
||||||
onShow() {
|
onShow() {
|
||||||
@@ -232,14 +234,13 @@
|
|||||||
})
|
})
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
topay(id) {
|
topay(id) {
|
||||||
const that = this
|
const that = this
|
||||||
uni.hideLoading()
|
uni.hideLoading()
|
||||||
// uni.showLoading({
|
// if(this.chargeOrderSn != '' || this.chargeOrderSn != undefined){ // 判断是不是二次支付的订单
|
||||||
// title: '充值中请勿离开',
|
// that.orderSn = this.chargeOrderSn
|
||||||
// mask: true
|
// console.log(that.orderSn,'二次支付的订单号')
|
||||||
// })
|
// }
|
||||||
|
|
||||||
// var restoreFlag = true; // 调用支付接口时标记 restoreFlag = true , 实际应用请将标记存储在 storage 中
|
// var restoreFlag = true; // 调用支付接口时标记 restoreFlag = true , 实际应用请将标记存储在 storage 中
|
||||||
this.setUserInfo({restoreFlag:true});
|
this.setUserInfo({restoreFlag:true});
|
||||||
console.log(this.userInfo,'更新后的用户信息')
|
console.log(this.userInfo,'更新后的用户信息')
|
||||||
@@ -303,8 +304,6 @@
|
|||||||
success: function (res) {
|
success: function (res) {
|
||||||
if (res.confirm) {
|
if (res.confirm) {
|
||||||
console.log('用户点击确定');
|
console.log('用户点击确定');
|
||||||
} else if (res.cancel) {
|
|
||||||
console.log('用户点击取消');
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@@ -371,7 +370,13 @@
|
|||||||
this.iphonepay()
|
this.iphonepay()
|
||||||
},
|
},
|
||||||
// 充值
|
// 充值
|
||||||
kaiChar() {
|
goToPay(){
|
||||||
|
|
||||||
|
this.kaiChar()
|
||||||
|
|
||||||
|
},
|
||||||
|
// 正常充值
|
||||||
|
kaiChar() { // 常规充值
|
||||||
if (this.radioValue == '1') {
|
if (this.radioValue == '1') {
|
||||||
uni.showLoading({
|
uni.showLoading({
|
||||||
title: '支付中,请勿离开',
|
title: '支付中,请勿离开',
|
||||||
@@ -387,6 +392,7 @@
|
|||||||
realMoney: that.stepsCj.money * 1, //实收金额
|
realMoney: that.stepsCj.money * 1, //实收金额
|
||||||
orderStatus: 0, //订单状态
|
orderStatus: 0, //订单状态
|
||||||
orderType: "point", //订单类型
|
orderType: "point", //订单类型
|
||||||
|
productId: that.stepsCj.priceTypeId // 充值的类型id
|
||||||
}
|
}
|
||||||
$http.request({
|
$http.request({
|
||||||
url: "book/buyorder/rechargeSave",
|
url: "book/buyorder/rechargeSave",
|
||||||
@@ -425,7 +431,8 @@
|
|||||||
that.orderSn = res.orderSn
|
that.orderSn = res.orderSn
|
||||||
let data1={
|
let data1={
|
||||||
orderSn:that.orderSn,
|
orderSn:that.orderSn,
|
||||||
// orderId:that.orderSn,
|
buyOrderId: that.stepsCj.priceTypeId,
|
||||||
|
totalAmount: that.stepsCj.money
|
||||||
}
|
}
|
||||||
console.log(data1,'data1')
|
console.log(data1,'data1')
|
||||||
// console.log(this.userInfo.channelList,'channelList')
|
// console.log(this.userInfo.channelList,'channelList')
|
||||||
@@ -473,8 +480,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
},
|
},
|
||||||
|
|
||||||
// 跳转
|
// 跳转
|
||||||
onPageJump(url) {
|
onPageJump(url) {
|
||||||
uni.navigateTo({
|
uni.navigateTo({
|
||||||
|
|||||||
@@ -3133,7 +3133,8 @@ import { nextTick } from "vue";
|
|||||||
}else if(options.chapterid == 'prev'){ // 上一章
|
}else if(options.chapterid == 'prev'){ // 上一章
|
||||||
this.goPreChapter()
|
this.goPreChapter()
|
||||||
}else if(options.curpage>0){
|
}else if(options.curpage>0){
|
||||||
this.goNextPage()
|
// this.goNextPage()
|
||||||
|
console.log(options.curpage)
|
||||||
}else if(options.curpage<0){
|
}else if(options.curpage<0){
|
||||||
this.goPrePage()
|
this.goPrePage()
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user