// import $store from '../index.js'
|
// import vueconfig from '../../vue.config.js'
|
import Wst from './lid/websocketL.js'
|
import WxStorage from "../static/lib/wxStorage.js" //微信Storage
|
|
// var url = 'ws://' + vueconfig.devServer.proxy["/cloud"].target.substring(5) + '/websocket';
|
import $store from './index.js'
|
import apis from "./apiConfig.js"
|
// let url = 'ws://192.168.0.108:9034/websocket';
|
// let url = 'ws://61.131.136.25:2082/websocket';
|
let url = apis.wsapi;
|
|
const webSockets = new Wst(url);
|
|
let websocket = {
|
state: {
|
webSockets: webSockets, //websocket实例
|
socket: '', //websoclet主体
|
socketValue: '', //接收的数据
|
socketState: false, // 当前连接websocket状态
|
socketInterval: false, //心跳
|
socketTimeout: false, //检测服务器是否连接成功timeout
|
socketInterTime: 5000, //心跳时间 秒*1000
|
socketStateMY: true, //总控 在退出登入时,强行关闭心跳
|
},
|
actions: {
|
connectws({
|
state,
|
commit
|
}) {
|
console.log("开启websocket")
|
var getValue = function(res) { // 消息回调
|
commit("setSocketValue", res);
|
}
|
var getState = function(res) { // 状态回调
|
commit("setState", res);
|
}
|
var getws = function(res) { // 主体回调
|
commit("setSocket", res);
|
}
|
// console.log(webSockets.$callBack)
|
// let equipmentInformation = navigator.userAgent;
|
// var Data = {
|
// router: "share",
|
// res: {
|
// ...$store.state.logs.user,
|
// equipmentInformation: equipmentInformation
|
// },
|
// }
|
var ws = webSockets.$callBack(getValue, getState, getws, state.puserID || WxStorage.get("ids"))
|
.$connect();
|
|
},
|
},
|
mutations: {
|
wsOut(state, value) {
|
webSockets.$outws();
|
},
|
setSocket(state, value) { //websocket主体
|
state.socket = value;
|
},
|
setSocketValue(state, value) {
|
console.log(value, 222222222222)
|
// if (value.router) { //正常数据返回
|
// //去除心跳数据
|
// if (value.router == 'share/heartbeat') {
|
// return;
|
// }
|
console.log(value)
|
state.socketValue = value;
|
// console.log(value, 'websocket信息')
|
// } else { //异常数据返回
|
// console.log(value, '异常')
|
// }
|
let route;
|
let type;
|
let types111 = state.socketValue.type.split(",");
|
if (types111.length > 1) {
|
route = types111[0];
|
type = types111[1];
|
|
} else {
|
type = types111[0];
|
}
|
// console.log()
|
if (type === "start") {
|
let types = uni.getSystemInfoSync().platform;
|
let
|
d = {
|
serid: uni.getStorageSync("ids") || $store.state.puserID,
|
type: 0,
|
tasktype: route == "grabOrdersZAXC" ? 0 : (route == "grabOrdersZAYWXC" ? 1 : 2)
|
};
|
let routes = getCurrentPages(); //获取当前页面栈
|
let curRoute = routes[routes.length - 1].route; //获取当前页面的路由
|
// console.log(curRoute)
|
// return
|
// let
|
uni.request({
|
url: $store.state.piAPI + "taskqd/selectLi",
|
method: "POST",
|
data: d,
|
header: {
|
"content-type": "application/x-www-form-urlencoded",
|
},
|
success(res) {
|
const data = res.data.data;
|
for (let k in data) {
|
if (data[k].id == state.socketValue.rid) {
|
let val = JSON.stringify({
|
...data[k],
|
butCT: "beginUp",
|
buttype: 0,
|
myid: d.serid,
|
myName: uni.getStorageSync("name") || $store.state
|
.puserName,
|
appenUrl: $store.state.piAPI,
|
isOn: true
|
});
|
console.log(val)
|
let url = "/pages/grabOrders/map?data=" + JSON.stringify(val);
|
if (route) {
|
url = "/pages/grabOrders/" + route + "/map?data=" + JSON.stringify(val);
|
}
|
console.log(url)
|
// if (types == "android", curRoute != "pages/grabOrders/map") {
|
if (curRoute != "pages/grabOrders/map") {
|
uni.navigateTo({
|
url: url,
|
});
|
return
|
}
|
uni.redirectTo({
|
url: url,
|
});
|
} else {
|
continue;
|
}
|
}
|
},
|
});
|
} else if (type === "change") {
|
// let routes = getCurrentPages(); //获取当前页面栈
|
// let curRoute = routes[routes.length - 1].route; //获取当前页面的路由
|
let d = {
|
serid: uni.getStorageSync("ids") || $store.state.puserID,
|
type: 0,
|
tasktype: route == "grabOrdersZAXC" ? 0 : (route == "grabOrdersZAYWXC" ? 1 : 2)
|
};
|
} else if (type == "taks") {
|
// 角色辖区
|
if (state.UserData.jurisdiction == value.xqid) {
|
console.log("开始推送")
|
// $store.state.Jurisdiction;
|
$store.commit("changeTaksMsg"); //任务状态更新
|
//语音提醒
|
// console.log($store)
|
$store.commit("controlAudio", {
|
key: 'keke',
|
method: '$play'
|
})
|
// "1415621013200236545"
|
}
|
}
|
},
|
//本地建造数据传递
|
setMyvalue(state, value) {
|
state.socketValue = value;
|
},
|
setsocketStateMY(state, value) {
|
state.socketStateMY = value;
|
},
|
setState(state, value) {
|
state.socketState = value;
|
},
|
}
|
}
|
|
export default websocket
|