102 lines
2.0 KiB
JavaScript
Executable File
102 lines
2.0 KiB
JavaScript
Executable File
|
|
const api = require("../../api/api")
|
|
const app = getApp()
|
|
|
|
Page({
|
|
data: {
|
|
codeBase : "",
|
|
atOrderId: "",
|
|
phase : "0.00",
|
|
total : "0.00",
|
|
every : "0.00",
|
|
type : ""
|
|
},
|
|
onLoad(e) {
|
|
my.showLoading();
|
|
if(e.orderid){
|
|
this.setData({
|
|
atOrderId: e.orderid,
|
|
type : e.paytype || ""
|
|
})
|
|
}
|
|
|
|
let url = "pay/order"
|
|
|
|
if(e.paytype == "gasPay"){
|
|
url = "gas/pay"
|
|
}else if(e.paytype == "installment"){
|
|
url = "installment/pay"
|
|
}else if(e.paytype == "icePay"){
|
|
url = "preferential/payment"
|
|
}
|
|
|
|
api.request({
|
|
url : url,
|
|
header : {
|
|
"Authorization": app.globalData.token
|
|
},
|
|
method : 'POST',
|
|
data : {
|
|
orderid : e.orderid
|
|
}
|
|
}).then(res=>{
|
|
let every = res.data.total / res.data.phase
|
|
|
|
this.setData({
|
|
codeBase: "data:image/png;base64," + res.data.qr_base,
|
|
phase : res.data.phase,
|
|
total : res.data.total,
|
|
every : every.toFixed(2)
|
|
})
|
|
|
|
// 打开Socket
|
|
this.openSocket()
|
|
my.hideLoading();
|
|
}).catch(err=>{
|
|
my.showToast({
|
|
content: err.data.message
|
|
})
|
|
my.hideLoading
|
|
})
|
|
},
|
|
|
|
// Socket
|
|
openSocket(){
|
|
my.connectSocket({
|
|
url : 'wss://www.ysd-bs.com/wss'
|
|
})
|
|
|
|
my.onSocketOpen(res=> {
|
|
console.log("建立链接")
|
|
});
|
|
|
|
my.onSocketError(res=>{
|
|
my.showToast({
|
|
content: "连接服务器失败"
|
|
});
|
|
});
|
|
|
|
my.onSocketMessage(res=> {
|
|
let dataType = JSON.parse(res.data)
|
|
|
|
if(dataType.type == 'connect'){
|
|
let dataInfo = JSON.stringify({'type':'BIND','data':{'user_id': app.globalData.userInfo.user_id}})
|
|
my.sendSocketMessage({
|
|
data : dataInfo
|
|
});
|
|
}else if(dataType.type == 'paysuccess'){
|
|
if(dataType.order_id == this.data.atOrderId){
|
|
my.redirectTo({
|
|
url: "../results/results"
|
|
})
|
|
}
|
|
}
|
|
})
|
|
},
|
|
|
|
// 离开页面
|
|
onUnload(){
|
|
my.closeSocket()
|
|
}
|
|
});
|