| | |
| | | userInfo.key, |
| | | userInfo.code |
| | | ); |
| | | console.log('登录成功,用户信息:', res.data.data); |
| | | userStore.setUserInfo(res.data.data); |
| | | |
| | | |
| | | // 初始化WebSocket连接 |
| | | try { |
| | | const wsUrl = 'wss://wrj.shuixiongit.com/ws/chat?userId='; |
| | | // 设置默认用户ID为3 |
| | | const defaultUserId = '3'; |
| | | // 使用默认用户ID初始化WebSocket连接 |
| | | websocketService.init(defaultUserId, wsUrl); |
| | | console.log('登录成功,WebSocket已初始化,默认用户ID:', defaultUserId); |
| | | |
| | | // 设置来电消息回调 |
| | | websocketService.setOnMessageCallback((message) => { |
| | | if (message.type === 'call') { |
| | | console.log('收到来电,准备跳转到语音通话页面'); |
| | | // 构建来电参数 |
| | | const callParams = { |
| | | peerUid: message.from, |
| | | from: message.from, |
| | | type: 'incoming' |
| | | }; |
| | | |
| | | // 转义参数以便在URL中传递 |
| | | const encodedParams = encodeURIComponent(JSON.stringify(callParams)); |
| | | |
| | | try { |
| | | // 优先使用uni-app的导航API(适用于同应用内跳转) |
| | | if (typeof uni !== 'undefined' && uni.navigateTo) { |
| | | console.log('使用uni-app导航API跳转到语音通话页面'); |
| | | uni.navigateTo({ |
| | | url: `/subPackages/voiceCallDetail/index?params=${encodedParams}` |
| | | }); |
| | | } |
| | | // 否则使用window.location跳转(适用于Web环境) |
| | | else if (typeof window !== 'undefined' && window.location) { |
| | | console.log('使用window.location跳转到语音通话页面'); |
| | | // 注意:实际部署时需要使用正确的URL |
| | | const voiceCallUrl = `http://localhost:8080/appPages/voiceCallDetail/index.html?params=${encodedParams}`; |
| | | window.location.href = voiceCallUrl; |
| | | } else { |
| | | console.error('无法跳转到语音通话页面:当前环境不支持导航'); |
| | | } |
| | | } catch (error) { |
| | | console.error('跳转到语音通话页面失败:', error); |
| | | } |
| | | } |
| | | }); |
| | | } catch (error) { |
| | | console.error('WebSocket初始化失败:', error); |
| | | } |
| | | |
| | | console.log('登录成功,WebSocket连接将由全局钩子统一管理'); |
| | | uni.reLaunch({ |
| | | url: "/pages/work/index", |
| | | }); |