You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
81 lines
1.7 KiB
81 lines
1.7 KiB
var socketOpen = false; |
|
// var socketMsgQueue = 'yskf10001' |
|
|
|
function getWebSocket(vueVM){ |
|
let vm = this |
|
|
|
uni.connectSocket({ |
|
url: 'wss://kd.biutag.com:9903/ukeerWechatWebsocketServer.action' |
|
// url: 'ws://localhost:9903/ukeerWechatWebsocketServer.action' |
|
}); |
|
|
|
uni.onSocketOpen(function (res) { |
|
uni.hideLoading(); |
|
uni.showToast({ |
|
title: '网络已连接', |
|
duration: 2000 |
|
}); |
|
let openId = uni.getStorageSync('openId') |
|
if(openId == undefined || openId == ''){ |
|
openId = 'not found' |
|
} |
|
uni.sendSocketMessage({ |
|
data: "{ \"openId\": \"" + openId + "\", \"state\": \"menu\" }" |
|
}); |
|
setInterval(function () { |
|
console.log("heard") |
|
uni.sendSocketMessage({ |
|
data: "{ \"my\": \"huozhe\", \"state\": \"heard\" }" |
|
}); |
|
}, 20000); |
|
console.log('WebSocket连接已打开!'); |
|
socketOpen = true; |
|
}); |
|
|
|
uni.onSocketError(function (res) { |
|
console.log('WebSocket连接打开失败,请检查!'); |
|
}); |
|
|
|
uni.onSocketClose(function (res) { |
|
uni.showLoading({ |
|
title: '网络断开,重连中...', |
|
mask: true |
|
}) |
|
uni.closeSocket() |
|
console.log('WebSocket 已关闭!重连中...'); |
|
Itime = setTimeout(function () { |
|
vm.getWebSocket(vueVM); |
|
}, 2000) |
|
}); |
|
|
|
uni.onSocketMessage(function (res) { |
|
console.log(res) |
|
let data = JSON.parse(res.data) |
|
if(data.message == 'pay'){ |
|
//支付信息 |
|
if(data.data == 'start'){ |
|
vueVM.getWxCode('https://kd.biutag.com:9903/user/weChat_or_ali/' + uni.getStorageSync('openId')) |
|
}else if(data.data == 'end'){ |
|
vueVM.getWxCode() |
|
} |
|
} |
|
}); |
|
|
|
} |
|
|
|
|
|
|
|
function sendSocketMessage(msg) { |
|
if (socketOpen) { |
|
uni.sendSocketMessage({ |
|
data: msg |
|
}); |
|
} else { |
|
socketMsgQueue.push(msg); |
|
} |
|
} |
|
|
|
|
|
export default { |
|
getWebSocket |
|
} |