|
|
@@ -16,16 +16,7 @@ export var OsType; |
|
|
|
|
|
|
|
|
|
|
|
export const MsgType = { |
|
|
|
unknown: -1, |
|
|
|
text: 1, |
|
|
|
voice: 2, |
|
|
|
image: 3, |
|
|
|
location: 4, |
|
|
|
video: 5, |
|
|
|
file: 6, |
|
|
|
at: 7, |
|
|
|
other: 8, |
|
|
|
log: 9, |
|
|
|
unknown: -1, text: 1, voice: 2, image: 3, location: 4, video: 5, file: 6, at: 7, other: 8, log: 9, |
|
|
|
} |
|
|
|
|
|
|
|
class SzyxPushClient { |
|
|
@@ -89,10 +80,6 @@ class SzyxPushClient { |
|
|
|
} |
|
|
|
|
|
|
|
sendTextMsg(userId, text) { |
|
|
|
console.log('>>>>>', MsgType.unknown) |
|
|
|
console.log('>>>>>', MsgType.text) |
|
|
|
console.log('>>>>>', MsgType.voice) |
|
|
|
console.log('>>>>>', MsgType.video) |
|
|
|
return this.sendMessage({ |
|
|
|
toClientId: userId, messageType: MsgType.file, message: `{"text":"${text}"}` |
|
|
|
}) |
|
|
@@ -121,7 +108,6 @@ class SzyxPushClient { |
|
|
|
} |
|
|
|
|
|
|
|
sendSocketMessage(msg) { |
|
|
|
console.log('---->sendSocketMessage', msg) |
|
|
|
wx.sendSocketMessage({ // 通过 WebSocket连接发送数据 |
|
|
|
data: msg |
|
|
|
}) |
|
|
@@ -132,9 +118,7 @@ class SzyxPushClient { |
|
|
|
|
|
|
|
this._client.debug = null |
|
|
|
//进行连接 |
|
|
|
console.log('----->', '开始im连接') |
|
|
|
this._client.connect(this._user._userName, this._user._password, () => { |
|
|
|
console.log('----->', '连接成功') |
|
|
|
resolve() |
|
|
|
this._client.subscribe("/topic/" + this._user._userId, msg => { |
|
|
|
const message = JSON.parse(msg.body) |
|
|
@@ -220,26 +204,16 @@ const _isWx = () => { |
|
|
|
|
|
|
|
const _createFingerprint = () => { |
|
|
|
return new Promise((resolve) => { |
|
|
|
let browserId = null |
|
|
|
if (_isWx()) browserId = wx.getStorageSync("PushBrowserId"); else browserId = localStorage.getItem('PushBrowserId') |
|
|
|
|
|
|
|
if (browserId) { |
|
|
|
resolve(browserId) |
|
|
|
} else { |
|
|
|
Fingerprint2.get((components) => { // 参数只有回调函数时,默认浏览器指纹依据所有配置信息进行生成 |
|
|
|
const values = components.map(function (component, index) { |
|
|
|
if (index === 0) { //把微信浏览器里UA的wifi或4G等网络替换成空,不然切换网络会ID不一样 |
|
|
|
return component.value.replace(/\bNetType\/\w+\b/, '') |
|
|
|
} |
|
|
|
return component.value |
|
|
|
}) |
|
|
|
browserId = Fingerprint2.x64hash128(values.join(''), 31) |
|
|
|
if (_isWx()) { |
|
|
|
wx.setStorageSync('PushBrowserId', browserId) |
|
|
|
} else localStorage.setItem('PushBrowserId', browserId) // 存储浏览器指纹,在项目中用于校验用户身份和埋点 |
|
|
|
resolve(browserId) |
|
|
|
|
|
|
|
Fingerprint2.get((components) => { // 参数只有回调函数时,默认浏览器指纹依据所有配置信息进行生成 |
|
|
|
const values = components.map(function (component, index) { |
|
|
|
if (index === 0 && component.value) { //把微信浏览器里UA的wifi或4G等网络替换成空,不然切换网络会ID不一样 |
|
|
|
return component.value.replace(/\bNetType\/\w+\b/, '') |
|
|
|
} |
|
|
|
return component.value |
|
|
|
}) |
|
|
|
} |
|
|
|
resolve(Fingerprint2.x64hash128(values.join(''), 31)) |
|
|
|
}) |
|
|
|
|
|
|
|
}) |
|
|
|
} |
|
|
@@ -259,8 +233,7 @@ const _connect = (res, resolve, reject) => { |
|
|
|
const SzyxPush = { |
|
|
|
install: function (app, tenantNo, osType) { |
|
|
|
return this.init(tenantNo, osType) |
|
|
|
}, |
|
|
|
init: function (tenantNo, osType) { |
|
|
|
}, init: function (tenantNo, osType) { |
|
|
|
console.log(`${tenantNo}::${osType}`) |
|
|
|
_imUser._tenantNo = tenantNo |
|
|
|
_imClient.setDeviceType(osType) |
|
|
|