|
@@ -1,18 +1,18 @@ |
|
|
import Fingerprint2 from 'fingerprintjs2'; |
|
|
|
|
|
import axios from 'axios'; |
|
|
|
|
|
import Stomp from "stompjs"; |
|
|
|
|
|
|
|
|
import Fingerprint2 from 'fingerprintjs2' |
|
|
|
|
|
import axios from 'axios' |
|
|
|
|
|
import Stomp from "stompjs" |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
export var OsType; |
|
|
export var OsType; |
|
|
(function (OsType) { |
|
|
(function (OsType) { |
|
|
OsType[OsType["unknown"] = -1] = "unknown"; |
|
|
|
|
|
OsType[OsType["ios"] = 1] = "ios"; |
|
|
|
|
|
OsType[OsType["android"] = 2] = "android"; |
|
|
|
|
|
OsType[OsType["web"] = 3] = "web"; |
|
|
|
|
|
OsType[OsType["windows"] = 4] = "windows"; |
|
|
|
|
|
OsType[OsType["mac"] = 5] = "mac"; |
|
|
|
|
|
OsType[OsType["wx"] = 6] = "wx"; |
|
|
|
|
|
})(OsType || (OsType = {})); |
|
|
|
|
|
|
|
|
OsType[OsType["unknown"] = -1] = "unknown" |
|
|
|
|
|
OsType[OsType["ios"] = 1] = "ios" |
|
|
|
|
|
OsType[OsType["android"] = 2] = "android" |
|
|
|
|
|
OsType[OsType["web"] = 3] = "web" |
|
|
|
|
|
OsType[OsType["windows"] = 4] = "windows" |
|
|
|
|
|
OsType[OsType["mac"] = 5] = "mac" |
|
|
|
|
|
OsType[OsType["wx"] = 6] = "wx" |
|
|
|
|
|
})(OsType || (OsType = {})) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
export const MsgType = { |
|
|
export const MsgType = { |
|
@@ -23,17 +23,17 @@ class SzyxPushClient { |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
constructor() { |
|
|
constructor() { |
|
|
this.mapCall = new Map(); |
|
|
|
|
|
this._mapMsg = new Map(); |
|
|
|
|
|
|
|
|
this.mapCall = new Map() |
|
|
|
|
|
this._mapMsg = new Map() |
|
|
|
|
|
|
|
|
this._host = null; |
|
|
|
|
|
this._port = null; |
|
|
|
|
|
this._deviceType = null; |
|
|
|
|
|
|
|
|
this._host = null |
|
|
|
|
|
this._port = null |
|
|
|
|
|
this._deviceType = null |
|
|
|
|
|
|
|
|
this._user = null; |
|
|
|
|
|
|
|
|
this._user = null |
|
|
|
|
|
|
|
|
this._client = null; |
|
|
|
|
|
this.socketOpen = false; |
|
|
|
|
|
|
|
|
this._client = null |
|
|
|
|
|
this.socketOpen = false |
|
|
this.ws = { |
|
|
this.ws = { |
|
|
send: this.sendSocketMessage |
|
|
send: this.sendSocketMessage |
|
|
} |
|
|
} |
|
@@ -41,9 +41,9 @@ class SzyxPushClient { |
|
|
|
|
|
|
|
|
guid() { |
|
|
guid() { |
|
|
return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) { |
|
|
return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) { |
|
|
const r = Math.random() * 16 | 0, v = c === 'x' ? r : (r & 0x3 | 0x8); |
|
|
|
|
|
return v.toString(16); |
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
const r = Math.random() * 16 | 0, v = c === 'x' ? r : (r & 0x3 | 0x8) |
|
|
|
|
|
return v.toString(16) |
|
|
|
|
|
}) |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
_parseMsg(message) { |
|
|
_parseMsg(message) { |
|
@@ -129,15 +129,15 @@ class SzyxPushClient { |
|
|
packetType: 'SENDACK', messageId: message.messageId |
|
|
packetType: 'SENDACK', messageId: message.messageId |
|
|
})) |
|
|
})) |
|
|
for (const call of this.mapCall.values()) { |
|
|
for (const call of this.mapCall.values()) { |
|
|
call(message.messageType, this._parseMsg(message)); |
|
|
|
|
|
|
|
|
call(message.messageType, this._parseMsg(message)) |
|
|
} |
|
|
} |
|
|
} else if (message.packetType === 'SENDACK') { |
|
|
} else if (message.packetType === 'SENDACK') { |
|
|
const m = this._mapMsg.get(message.messageId) |
|
|
const m = this._mapMsg.get(message.messageId) |
|
|
if (m) m.call(this._parseMsg(m.message)) |
|
|
if (m) m.call(this._parseMsg(m.message)) |
|
|
this._mapMsg.delete(message.messageId) |
|
|
this._mapMsg.delete(message.messageId) |
|
|
} |
|
|
} |
|
|
}, error => reject(`订阅消息失败::${error}`)); |
|
|
|
|
|
}, error => reject(`连接服务器失败::${error}`), '/'); |
|
|
|
|
|
|
|
|
}, error => reject(`订阅消息失败::${error}`)) |
|
|
|
|
|
}, error => reject(`连接服务器失败::${error}`), '/') |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
connect(user) { |
|
|
connect(user) { |
|
@@ -233,15 +233,17 @@ const _connect = (res, resolve, reject) => { |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
const SzyxPush = { |
|
|
const SzyxPush = { |
|
|
_baseUrl: 'http://192.168.115.137:8888', setBaseUrl: function (url) { |
|
|
|
|
|
|
|
|
setBaseUrl: function (url) { |
|
|
if (url && url.startsWith('http')) |
|
|
if (url && url.startsWith('http')) |
|
|
this._baseUrl = url |
|
|
this._baseUrl = url |
|
|
|
|
|
else { |
|
|
|
|
|
this._baseUrl = 'http://192.168.115.137:8888' |
|
|
|
|
|
} |
|
|
}, install: function (app, tenantNo, osType, url) { |
|
|
}, install: function (app, tenantNo, osType, url) { |
|
|
app.config.globalProperties.$SzyxPush = this; |
|
|
|
|
|
|
|
|
app.config.globalProperties.$SzyxPush = this |
|
|
return this.init(tenantNo, osType, url) |
|
|
return this.init(tenantNo, osType, url) |
|
|
}, init: function (tenantNo, osType, url) { |
|
|
}, init: function (tenantNo, osType, url) { |
|
|
if (url && url.startsWith('http')) |
|
|
|
|
|
this._baseUrl = url |
|
|
|
|
|
|
|
|
this.setBaseUrl(url) |
|
|
console.log(`${tenantNo}::${osType}`) |
|
|
console.log(`${tenantNo}::${osType}`) |
|
|
_imUser._tenantNo = tenantNo |
|
|
_imUser._tenantNo = tenantNo |
|
|
_imClient.setDeviceType(osType) |
|
|
_imClient.setDeviceType(osType) |
|
@@ -268,7 +270,7 @@ const SzyxPush = { |
|
|
}, fail: e => { |
|
|
}, fail: e => { |
|
|
reject(`注册im服务失败::${error}`) |
|
|
reject(`注册im服务失败::${error}`) |
|
|
} |
|
|
} |
|
|
}); |
|
|
|
|
|
|
|
|
}) |
|
|
|
|
|
|
|
|
} else { |
|
|
} else { |
|
|
axios.create({ |
|
|
axios.create({ |
|
@@ -285,5 +287,5 @@ const SzyxPush = { |
|
|
}, sendTextMsg: function (userId, text, describe) { |
|
|
}, sendTextMsg: function (userId, text, describe) { |
|
|
return _imClient.sendTextMsg(userId, text, describe) |
|
|
return _imClient.sendTextMsg(userId, text, describe) |
|
|
} |
|
|
} |
|
|
}; |
|
|
|
|
|
|
|
|
} |
|
|
export default SzyxPush |
|
|
export default SzyxPush |