From 8e047408e23695ba60f971650d30c828fc839258 Mon Sep 17 00:00:00 2001 From: Jason Date: Fri, 28 Jan 2022 10:12:37 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E6=89=AB=E7=A0=81=E5=8A=A0=E5=A5=BD?= =?UTF-8?q?=E5=8F=8B=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pages/im/friends/info.vue | 19 +- pages/im/friends/mine.vue | 370 +++++++++++++++++++------------------- pages/im/index.vue | 11 +- utils/im/index.js | 7 +- 4 files changed, 206 insertions(+), 201 deletions(-) diff --git a/pages/im/friends/info.vue b/pages/im/friends/info.vue index b9c505a..16dd7d5 100644 --- a/pages/im/friends/info.vue +++ b/pages/im/friends/info.vue @@ -104,7 +104,8 @@ callShow: false } }, - onLoad(e) { + onLoad(e) { + console.log(e); this.targetId = e.targetId getFriendInfo(e.targetId).then(res => { this.userInfo = res @@ -243,16 +244,14 @@ }) }, singleCall(e) { - CallLib.startSingleCall(this.targetId, e.type, ''); - uni.redirectTo({ - url: '/pages/im/private/call?targetId=' + this.targetId + '&mediaType=' + e.type, - success: (err) => { - console.log('跳转视频通话成功'); - }, - fail: (err) => { - console.log('跳转视频页失败', err); - } + uni.showToast({ + icon: 'none', + title: '功能正在开发中' }) + // CallLib.startSingleCall(this.targetId, e.type, ''); + // uni.redirectTo({ + // url: '/pages/im/private/call?targetId=' + this.targetId + '&mediaType=' + e.type + // }) } } } diff --git a/pages/im/friends/mine.vue b/pages/im/friends/mine.vue index a7070d1..de6672a 100644 --- a/pages/im/friends/mine.vue +++ b/pages/im/friends/mine.vue @@ -1,183 +1,191 @@ - - - - - diff --git a/pages/im/index.vue b/pages/im/index.vue index 81d01a4..4be35a2 100644 --- a/pages/im/index.vue +++ b/pages/im/index.vue @@ -56,7 +56,7 @@ {{item}} - + @@ -74,7 +74,9 @@ import * as RongIMLib from "@/uni_modules/RongCloud-IMWrapper/js_sdk/index" import im from '@/utils/im/index.js' import userAuth from '@/public/userAuth' - import { getImToken } from '@/apis/interfaces/im.js' + import { + getImToken + } from '@/apis/interfaces/im.js' export default { data() { return { @@ -202,9 +204,6 @@ // 进入聊天的详情页面,清理未读消息数量 toDetail(item) { this.hidePop() - // uni.navigateTo({ - // url: '/pages/im/private/call?targetId=' + item.targetId + '&mediaType=1' - // }) uni.navigateTo({ url: '/pages/im/private/index?targetId=' + item.targetId + '&conversationType=' + item .conversationType @@ -229,10 +228,8 @@ scanQrCode() { uni.scanCode({ success: (res) => { - // "result": "ADDFRIEND|10010", if (res.scanType == 'QR_CODE') { res.result.substr(0, 10) == 'ADDFRIEND|' - // 跳转到添加好友页面 uni.navigateTo({ url: '/pages/im/friends/info?targetId=' + res.result.substr(10) }) diff --git a/utils/im/index.js b/utils/im/index.js index b86a154..4cfaafb 100644 --- a/utils/im/index.js +++ b/utils/im/index.js @@ -8,7 +8,7 @@ import { const initIm = (KEY) => { RongIMLib.init(KEY) - CallLib.init({}) + CallLib.init() addListeners() } @@ -89,7 +89,7 @@ function inArray(search, array) { const addListeners = () => { // 添加连接状态监听函数 RongIMLib.addConnectionStatusListener((res) => { - console.log('连接状态监', res.data.status); + console.log('连接状态监听', res.data.status); store.dispatch('updateConnectionStatus', res.data.status) }) // 添加消息监听函数 @@ -104,7 +104,8 @@ const addListeners = () => { CallLib.onCallReceived(({ data }) => { - console.log('onCallReceived'); + console.log('onCallReceived', data) + uni.navigateTo({ url: '/pages/im/private/call?targetId=' + data.targetId + '&mediaType=' + data.mediaType From f9e2819cc7300352471e274a5ce2716ec619cfbe Mon Sep 17 00:00:00 2001 From: Jason Date: Fri, 28 Jan 2022 11:24:10 +0800 Subject: [PATCH 2/3] =?UTF-8?q?IM=E7=9A=84=E9=93=BE=E6=8E=A5=E5=92=8C?= =?UTF-8?q?=E6=96=AD=E5=BC=80=E6=97=B6=E6=9C=BA=E8=B0=83=E6=95=B4=EF=BC=8C?= =?UTF-8?q?APP=E6=89=93=E5=BC=80=E8=87=AA=E5=8A=A8=E5=88=A4=E6=96=AD?= =?UTF-8?q?=E7=99=BB=E5=BD=95=EF=BC=8C=E9=93=BE=E6=8E=A5=E3=80=82=E9=80=80?= =?UTF-8?q?=E5=87=BA=E7=99=BB=E5=BD=95=E5=90=8E=E6=96=AD=E5=BC=80=E9=93=BE?= =?UTF-8?q?=E6=8E=A5=20=E6=96=B0=E6=9C=8B=E5=8F=8B=E6=95=B0=E9=87=8F?= =?UTF-8?q?=E6=8F=90=E9=86=92?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apis/interfaces/im.js | 38 +- manifest.json | 1 + pages/im/friends/index.vue | 26 +- pages/im/index.vue | 8 +- pages/user/index.vue | 993 ++++++++++++++++++++----------------- public/userAuth.js | 249 +++++----- utils/im/index.js | 28 +- 7 files changed, 728 insertions(+), 615 deletions(-) diff --git a/apis/interfaces/im.js b/apis/interfaces/im.js index b179e16..b6ff4d4 100644 --- a/apis/interfaces/im.js +++ b/apis/interfaces/im.js @@ -22,14 +22,14 @@ const getImToken = () => { url: 'im/token', }, true) } - -// 删除好友 -const deleteFriend = (targetId) => { - return request({ - method: 'DELETE', - url: 'im/friends/' + targetId, - }) -} + +// 删除好友 +const deleteFriend = (targetId) => { + return request({ + method: 'DELETE', + url: 'im/friends/' + targetId, + }) +} // 获取用户信息 const getUserInfo = (targetId) => { @@ -37,9 +37,9 @@ const getUserInfo = (targetId) => { url: 'im/userInfo/' + targetId, }) } - -/** - * 查看好友资料,附带好友关系 + +/** + * 查看好友资料,附带好友关系 */ const getFriendInfo = (userId) => { return request({ @@ -84,16 +84,26 @@ const pedingFriend = (recipient) => { url: 'im/friends/' + recipient }) } + +/** + * 好友申请数量 + */ +const getPendingCount = () => { + return request({ + url: 'im/friends/pending/count' + }) +} export { - getImToken, + getImToken, deleteFriend, getFriends, - getUserInfo, + getUserInfo, getFriendInfo, getPedings, resolveFriend, rejectFriend, searchFriend, - pedingFriend + pedingFriend, + getPendingCount } diff --git a/manifest.json b/manifest.json index c09ce08..c681adb 100644 --- a/manifest.json +++ b/manifest.json @@ -32,6 +32,7 @@ "", "", "", + "", "", "", "", diff --git a/pages/im/friends/index.vue b/pages/im/friends/index.vue index 1811ed5..db6c55e 100644 --- a/pages/im/friends/index.vue +++ b/pages/im/friends/index.vue @@ -4,7 +4,9 @@ - 新的朋友 + + 新的朋友 ({{ pendingCount }}) + @@ -22,7 +24,8 @@ - import { - getFriends + getFriends, + getPendingCount } from '@/apis/interfaces/im'; + export default { data() { return { indexs: [], - friends: [] + friends: [], + pendingCount: 0 }; }, onShow() { getFriends().then(res => { - this.indexs = res.indexList; - this.friends = res.itemArr; - }); + this.indexs = res.indexList + this.friends = res.itemArr + }) + getPendingCount().then(res => { + console.log(res); + this.pendingCount = res + }) }, - computed: {}, methods: { - // 扫码提示 showToast() { uni.showToast({ title: '群聊功能暂未开放,敬请期待', diff --git a/pages/im/index.vue b/pages/im/index.vue index 4be35a2..f6a32be 100644 --- a/pages/im/index.vue +++ b/pages/im/index.vue @@ -102,12 +102,8 @@ } }, onShow() { - if (this.$store.state.token !== '') { - getImToken().then(res => { - im.connect(res.token, res.userInfo, () => { - this.getConversationList() - }) - }) + if (this.$store.state.token !== '') { + this.getConversationList() } this.isShown = true }, diff --git a/pages/user/index.vue b/pages/user/index.vue index 84a04f2..91ff793 100644 --- a/pages/user/index.vue +++ b/pages/user/index.vue @@ -1,472 +1,531 @@ -