Commit 665ae7bc authored by 罗超's avatar 罗超

修复BUG

parent c5a1a5e2
......@@ -20,8 +20,8 @@ let config = {
// 我的手机图标
myPhoneIcon: 'http://yx-web.nos.netease.com/webdoc/h5/im/my-phone.png',
// 本地消息显示数量,会影响性能
localMsglimit: 36,
useDb: false
localMsglimit: 10,
useDb: true
}
const env = 'online'
......
......@@ -299,7 +299,7 @@ ipc.on('reconnect', function(event) {
ipc.on('loginSuccess', function(event, userInfo) {
initNIM(userInfo.ImAccount, userInfo.ImToken)
registScrollerHotKey()
getScrollerhotWindows()
//getScrollerhotWindows()
global.LOGINUSER = userInfo
getNewMsgWindows()
getMainWinodw(0)
......@@ -454,7 +454,7 @@ ipc.on('openSystemNotice', function(event, sessionid) {
show: false,
width: 320,
height: 190,
alwaysOnTop: true,
alwaysOnTop: false,
focusable: false,
icon: windowIcon
})
......@@ -715,7 +715,7 @@ ipc.on('send-file', function(event, obj) {
}
})
})
ipc.on('read-clip', function (event) {
ipc.on('read-clip', function(event) {
const rawFilePath = clipboard.readBuffer('FileNameW').toString('ucs2');
let filePath = rawFilePath.replace(new RegExp(String.fromCharCode(0), 'g'), '');
if (filePath && filePath.length > 0) {
......@@ -950,6 +950,7 @@ let getNoticeWindows = function() {
})
}
noticeWindows.loadURL(noticeUrl)
mainWindow.setFocusable(true)
noticeWindows.setMenu(null)
noticeWindows.once('ready-to-show', () => {
noticeWindows.show()
......
......@@ -331,12 +331,13 @@ export default {
} else if (/^team-/.test(sessionId)) {
var teamMembers = this.$store.state.teamMembers[this.to];
if (this.teamInfo) {
if (
teamMembers === undefined ||
teamMembers.length < this.teamInfo.memberNum
) {
this.$store.dispatch("getTeamMembers", this.to);
}
// if (
// teamMembers === undefined ||
// teamMembers.length < this.teamInfo.memberNum
// ) {
// console.log('...............')
// this.$store.dispatch("getTeamMembers", this.to);
// }
if (this.teamInfo) {
// teamInfo中的人数为初始获取的值,在人员增减后不会及时更新,而teamMembers在人员增减后同步维护的人员信息
var members =
......@@ -395,15 +396,16 @@ export default {
} else {
this.lstShowData.lastMsgShow = "";
}
//
}
if(msgs.length>0)
this.lstTimer=msgs[msgs.length-1].time
if(this.scene=='team'){
msgs=msgs.filter(x=>{
if(x.type!='notification' ||(x.type=='notification' && !x.attach.team.custom))
return x
return;
})
// msgs=msgs.filter(x=>{
// if(x.type!='notification' ||(x.type=='notification' && !x.attach.team.custom))
// return x
// return;
// })
}
// console.log(msgs)
return msgs;
......@@ -885,6 +887,7 @@ export default {
height: 46px;
line-height: 46px;
padding-left: 20px;
padding-right: 50px;
border-bottom: 1px solid #ddd;
position: relative;
}
......
......@@ -408,6 +408,7 @@ export default {
callbackTeam:this.callBackTeam
});
}else{
console.log('in start...........',new Date())
this.$store.dispatch("sendMsg", {
type: "text",
scene: this.scene,
......
......@@ -340,7 +340,26 @@ export default {
this.atIds=session.atId
session.atId=null
}
if (session.scene === "team") {
var teamMembers = this.$store.state.teamMembers[session.to];
let teamInfo = this.$store.state.teamlist.find(team => {
return team.teamId === this.currentSession.to;
});
if (teamInfo) {
if (
teamMembers === undefined ||
teamMembers.length < teamInfo.memberNum
) {
this.$store.dispatch("getTeamMembers", session.to);
}
}
}
this.$store.dispatch("setCurrSession", session.id)
this.$store.dispatch("getHistoryMsgs", {
scene: session.scene,
to: session.to
});
}
},
clearAtMe(){
......@@ -687,10 +706,14 @@ export default {
} else {
this.$electron.ipcRenderer.send("newMessage", []);
}
if (!this.$electron.remote.getCurrentWindow().isFocused()) {
if (this.calcUnRead(this.newMsgList, unreadList)) {
this.$electron.remote.getCurrentWindow().flashFrame(true);
try {
if (!this.$electron.remote.getCurrentWindow().isFocused()) {
if (this.calcUnRead(this.newMsgList, unreadList)) {
this.$electron.remote.getCurrentWindow().flashFrame(true);
}
}
} catch (error) {
}
......
......@@ -6,130 +6,138 @@ import config from '../../configs/index'
import pageUtil from '../../utils/page'
import util from '../../utils/index'
import store from '../'
import {onFriends, onSyncFriendAction} from './friends'
import {onRobots} from './robots'
import {onBlacklist, onMarkInBlacklist} from './blacks'
import {onMyInfo, onUserInfo} from './userInfo'
import {onSessions, onUpdateSession} from './session'
import {onRoamingMsgs, onOfflineMsgs, onMsg, onMutelist, onMarkInMutelist} from './msgs'
import {onSysMsgs, onSysMsg, onSysMsgUnread, onCustomSysMsgs} from './sysMsgs'
import { onTeams, onSynCreateTeam, onCreateTeam, onUpdateTeam, onTeamMembers, onUpdateTeamMember, onAddTeamMembers, onRemoveTeamMembers, onUpdateTeamManagers, onDismissTeam, onUpdateTeamMembersMute, onTeamMsgReceipt} from './team'
import { onFriends, onSyncFriendAction } from './friends'
import { onRobots } from './robots'
import { onBlacklist, onMarkInBlacklist } from './blacks'
import { onMyInfo, onUserInfo } from './userInfo'
import { onSessions, onUpdateSession } from './session'
import { onRoamingMsgs, onOfflineMsgs, onMsg, onMutelist, onMarkInMutelist } from './msgs'
import { onSysMsgs, onSysMsg, onSysMsgUnread, onCustomSysMsgs } from './sysMsgs'
import { onTeams, onSynCreateTeam, onCreateTeam, onUpdateTeam, onTeamMembers, onUpdateTeamMember, onAddTeamMembers, onRemoveTeamMembers, onUpdateTeamManagers, onDismissTeam, onUpdateTeamMembersMute, onTeamMsgReceipt } from './team'
const SDK = require('../../sdk/NIM_Web_SDK_v6.1.0')
// 重新初始化 NIM SDK
export function initNimSDK({ state, commit, dispatch }, loginInfo) {
if (state.nim) {
state.nim.disconnect()
}
dispatch('showLoading')
// 初始化SDK
window.nim = state.nim = SDK.NIM.getInstance({
debug: false,
appKey: config.appkey,
account: loginInfo.uid,
token: loginInfo.sdktoken,
db: config.useDb,
// logFunc: new SDK.NIM.LoggerPlugin({
// url: '/webdemo/h5/getlogger',
// level: 'info'
// }),
syncSessionUnread: true,
syncRobots: true,
autoMarkRead: true, // 默认为true
onconnect: function onConnect (event) {
if (loginInfo) {
// 连接上以后更新uid
commit('updateUserUID', loginInfo)
commit('updateNetError',false)
console.log('链接完成......')
}
},
onerror: function onError (event) {
commit('updateNetError',true)
},
onwillreconnect: function onWillReconnect() {
commit('updateNetError',true)
console.log('尝试中.........')
},
ondisconnect: function onDisconnect (error) {
switch (error.code) {
// 账号或者密码错误, 请跳转到登录页面并提示错误
case 302:
pageUtil.turnPage('帐号或密码错误', 'login')
break
// 被踢, 请提示错误后跳转到登录页面
case 'kicked':
let map = {
PC: '电脑版',
Web: '网页版',
Android: '手机版',
iOS: '手机版',
WindowsPhone: '手机版'
}
let str = error.from
let errorMsg = `你的帐号于${util.formatDate(new Date())}${(map[str] || '其他端')}踢出下线,请确定帐号信息安全!`
pageUtil.turnPage(errorMsg, 'login')
break
default:
break
}
},
// // 多端登录
// onloginportschange: onLoginPortsChange,
// 用户关系及好友关系
onblacklist: onBlacklist,
onsyncmarkinblacklist: onMarkInBlacklist,
onmutelist: onMutelist,
onsyncmarkinmutelist: onMarkInMutelist,
onfriends: onFriends,
onsyncfriendaction: onSyncFriendAction,
// 机器人
onrobots: onRobots,
// 用户名片 - actions/userInfo
onmyinfo: onMyInfo,
onupdatemyinfo: onMyInfo,
onusers: onUserInfo,
onupdateuser: onUserInfo,
// // 群组
onteams: onTeams,
onsynccreateteam: onSynCreateTeam,
syncTeams: true,
onteammembers: onTeamMembers,
onCreateTeam: onCreateTeam,
onDismissTeam: onDismissTeam,
onUpdateTeam: onUpdateTeam,
onAddTeamMembers: onAddTeamMembers,
onRemoveTeamMembers: onRemoveTeamMembers,
onUpdateTeamManagers: onUpdateTeamManagers,
onupdateteammember: onUpdateTeamMember,
onUpdateTeamMembersMute: onUpdateTeamMembersMute,
onTeamMsgReceipt: onTeamMsgReceipt,
// // 会话
onsessions: onSessions,
onupdatesession: onUpdateSession,
// // 消息
onroamingmsgs: onRoamingMsgs,
onofflinemsgs: onOfflineMsgs,
onmsg: onMsg,
// // 系统通知
onsysmsg: onSysMsg,
onofflinesysmsgs: onSysMsgs,
onupdatesysmsg: onSysMsg, // 通过、拒绝好友申请会收到此回调
if (state.nim) {
state.nim.disconnect()
}
dispatch('showLoading')
// 初始化SDK
window.nim = state.nim = SDK.NIM.getInstance({
debug: false,
appKey: config.appkey,
account: loginInfo.uid,
token: loginInfo.sdktoken,
db: config.useDb,
// logFunc: new SDK.NIM.LoggerPlugin({
// url: '/webdemo/h5/getlogger',
// level: 'info'
// }),
syncSessionUnread: true,
syncRobots: true,
autoMarkRead: true, // 默认为true
onconnect: function onConnect(event) {
if (loginInfo) {
// 连接上以后更新uid
commit('updateUserUID', loginInfo)
commit('updateNetError', false)
console.log('链接完成......')
}
},
onerror: function onError(event) {
commit('updateNetError', true)
},
onwillreconnect: function onWillReconnect() {
commit('updateNetError', true)
console.log('尝试中.........')
},
ondisconnect: function onDisconnect(error) {
switch (error.code) {
// 账号或者密码错误, 请跳转到登录页面并提示错误
case 302:
pageUtil.turnPage('帐号或密码错误', 'login')
break
// 被踢, 请提示错误后跳转到登录页面
case 'kicked':
let map = {
PC: '电脑版',
Web: '网页版',
Android: '手机版',
iOS: '手机版',
WindowsPhone: '手机版'
}
let str = error.from
let errorMsg = `你的帐号于${util.formatDate(new Date())}${(map[str] || '其他端')}踢出下线,请确定帐号信息安全!`
pageUtil.turnPage(errorMsg, 'login')
break
default:
break
}
},
// // 多端登录
// onloginportschange: onLoginPortsChange,
// 用户关系及好友关系
onblacklist: onBlacklist,
onsyncmarkinblacklist: onMarkInBlacklist,
onmutelist: onMutelist,
onsyncmarkinmutelist: onMarkInMutelist,
onfriends: onFriends,
onsyncfriendaction: onSyncFriendAction,
// 机器人
onrobots: onRobots,
// 用户名片 - actions/userInfo
onmyinfo: onMyInfo,
onupdatemyinfo: onMyInfo,
onusers: onUserInfo,
onupdateuser: onUserInfo,
// // 群组
onteams: onTeams,
onsynccreateteam: onSynCreateTeam,
syncTeams: true,
onteammembers: onTeamMembers,
onCreateTeam: onCreateTeam,
onDismissTeam: onDismissTeam,
onUpdateTeam: onUpdateTeam,
onAddTeamMembers: onAddTeamMembers,
onRemoveTeamMembers: onRemoveTeamMembers,
onUpdateTeamManagers: onUpdateTeamManagers,
onupdateteammember: onUpdateTeamMember,
onUpdateTeamMembersMute: onUpdateTeamMembersMute,
onTeamMsgReceipt: onTeamMsgReceipt,
// // 会话
onsessions: onSessions,
onupdatesession: onUpdateSession,
// // 消息
onroamingmsgs: onRoamingMsgs,
onofflinemsgs: onOfflineMsgs,
onmsg: onMsg,
// // 系统通知
onsysmsg: onSysMsg,
onofflinesysmsgs: onSysMsgs,
onupdatesysmsg: onSysMsg, // 通过、拒绝好友申请会收到此回调
onsysmsgunread: onSysMsgUnread,
onupdatesysmsgunread: onSysMsgUnread,
onsysmsgunread: onSysMsgUnread,
onupdatesysmsgunread: onSysMsgUnread,
onofflinecustomsysmsgs: onCustomSysMsgs,
oncustomsysmsg: onCustomSysMsgs,
// // 同步完成
onsyncdone: function onSyncDone () {
dispatch('hideLoading')
// 说明在聊天列表页
if (store.state.currSessionId) {
dispatch('setCurrSession', store.state.currSessionId)
}
}
})
window.nim.useDb = config.useDb
}
onofflinecustomsysmsgs: onCustomSysMsgs,
oncustomsysmsg: onCustomSysMsgs,
// // 同步完成
onsyncdone: function onSyncDone() {
dispatch('hideLoading')
// 说明在聊天列表页
if (store.state.currSessionId) {
dispatch('setCurrSession', store.state.currSessionId)
}
},
shouldIgnoreNotification: function(msg) {
let team = msg.attach.team
if (team['name'] || team['intro'] || team['joinMode'] || team['inviteMode'] || team['updateTeamMode'] || team['beInviteMode']) {
return false
} else {
return true
}
}
})
window.nim.useDb = config.useDb
}
\ No newline at end of file
......@@ -137,6 +137,8 @@ function onSendMsgDone(error, msg) {
}
})
}
console.log('end sdk.........')
util.getDate()
onMsg(msg)
}
......@@ -231,6 +233,8 @@ export function sendMsg({ state, commit }, obj) {
done: onSendMsgDone,
needMsgReceipt: obj.needMsgReceipt || false
})
console.log('start sdk.........')
util.getDate()
break
case 'at':
nim.sendText({
......
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment