diff --git a/.DS_Store b/.DS_Store
index 1546696..0c6ff46 100644
Binary files a/.DS_Store and b/.DS_Store differ
diff --git a/App.vue b/App.vue
index c6f6389..5f0e5d4 100644
--- a/App.vue
+++ b/App.vue
@@ -1,12 +1,8 @@
-
-
diff --git a/pages/im/components/conversation/messageCell.vue b/pages/im/components/conversation/messageCell.vue
deleted file mode 100644
index 7041980..0000000
--- a/pages/im/components/conversation/messageCell.vue
+++ /dev/null
@@ -1,95 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/pages/im/components/conversation/messagePreview.vue b/pages/im/components/conversation/messagePreview.vue
deleted file mode 100644
index f2ac028..0000000
--- a/pages/im/components/conversation/messagePreview.vue
+++ /dev/null
@@ -1,88 +0,0 @@
-
-
-
- [草稿] {{ draft }}
-
-
-
- {{ user.name }}:{{ msg.content || '' }}
-
-
- {{ user.name }}:[语音]
-
-
- {{ user.name }}:[图片]
-
-
- {{ user.name }}:[表情]
-
-
- {{ user.name }}:[文件]
-
-
- {{ user.name }}:[位置]
-
-
- {{ user.name }}:[语音通话]
-
-
- {{ user.name }}:[视频通话]
-
-
- [{{ msg.message }}]
-
-
- {{ user.name }}: 撤回了一条消息
-
-
- {{ msg.objectName }}
-
-
-
-
-
-
-
-
diff --git a/pages/im/components/conversationList.vue b/pages/im/components/conversationList.vue
deleted file mode 100644
index 4d03934..0000000
--- a/pages/im/components/conversationList.vue
+++ /dev/null
@@ -1,181 +0,0 @@
-
-
-
-
-
- {{ item }}
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/pages/im/components/friendApplyCell.vue b/pages/im/components/friendApplyCell.vue
deleted file mode 100644
index ad345ab..0000000
--- a/pages/im/components/friendApplyCell.vue
+++ /dev/null
@@ -1,126 +0,0 @@
-
-
-
-
-
-
- {{ user.name }}
- {{ message.message!=='null' ? message.message : '听说你很优秀,想认识下你~' }}
-
-
- 通过
- 拒绝
-
-
-
-
-
-
-
diff --git a/pages/im/components/friendApplyList.vue b/pages/im/components/friendApplyList.vue
deleted file mode 100644
index 56feed3..0000000
--- a/pages/im/components/friendApplyList.vue
+++ /dev/null
@@ -1,147 +0,0 @@
-
-
-
-
-
-
-
-
-
- {{ item.name }}
- {{ item.latestMessage.message || '--' }}
-
-
- 通过
- 拒绝
- 查看
- 已是好友
-
-
-
-
-
-
-
-
-
-
diff --git a/pages/im/components/friendSearchList.vue b/pages/im/components/friendSearchList.vue
deleted file mode 100644
index 0e92d43..0000000
--- a/pages/im/components/friendSearchList.vue
+++ /dev/null
@@ -1,144 +0,0 @@
-
-
-
-
-
-
-
-
-
- {{ item.name }}
- {{ item.address }}
-
-
- 查看
- 已是好友
-
-
-
-
-
-
-
-
-
-
diff --git a/pages/im/components/groupUserList.vue b/pages/im/components/groupUserList.vue
deleted file mode 100644
index 03d8e72..0000000
--- a/pages/im/components/groupUserList.vue
+++ /dev/null
@@ -1,335 +0,0 @@
-
-
-
-
-
-
- 管理
- 群主
-
- {{ item.name }}
-
-
-
- 邀请好友
-
-
-
-
- 查看更多群成员
-
-
-
-
-
-
-
-
-
diff --git a/pages/im/components/sent/sentEmoji.vue b/pages/im/components/sent/sentEmoji.vue
deleted file mode 100644
index d3c8e4d..0000000
--- a/pages/im/components/sent/sentEmoji.vue
+++ /dev/null
@@ -1,87 +0,0 @@
-
-
-
-
-
- {{item.emoji}}
-
-
-
-
-
- 发送
-
-
-
-
-
-
-
diff --git a/pages/im/components/sent/sentPopups.vue b/pages/im/components/sent/sentPopups.vue
deleted file mode 100644
index f42e345..0000000
--- a/pages/im/components/sent/sentPopups.vue
+++ /dev/null
@@ -1,193 +0,0 @@
-
-
-
-
-
-
-
diff --git a/pages/im/components/sent/sentText.vue b/pages/im/components/sent/sentText.vue
deleted file mode 100644
index 0e745c5..0000000
--- a/pages/im/components/sent/sentText.vue
+++ /dev/null
@@ -1,94 +0,0 @@
-
-
-
-
-
-
-
-
-
diff --git a/pages/im/components/sent/sentVoice.vue b/pages/im/components/sent/sentVoice.vue
deleted file mode 100644
index 644c0f4..0000000
--- a/pages/im/components/sent/sentVoice.vue
+++ /dev/null
@@ -1,311 +0,0 @@
-
-
-
- 按住 说话
-
-
-
-
- 上滑取消
-
-
-
-
-
-
-
-
-
-
diff --git a/pages/im/components/sentMessageBar.vue b/pages/im/components/sentMessageBar.vue
deleted file mode 100644
index fbcd97b..0000000
--- a/pages/im/components/sentMessageBar.vue
+++ /dev/null
@@ -1,135 +0,0 @@
-
-
-
-
-
- {showPopups = false, onSuccess()}" />
-
-
-
-
-
-
-
-
diff --git a/pages/im/components/show/messageState.vue b/pages/im/components/show/messageState.vue
deleted file mode 100644
index 7abab99..0000000
--- a/pages/im/components/show/messageState.vue
+++ /dev/null
@@ -1,75 +0,0 @@
-
-
-
-
-
- {{ readers }}
-
-
-
-
-
-
-
-
-
-
-
diff --git a/pages/im/components/show/showAudio.vue b/pages/im/components/show/showAudio.vue
deleted file mode 100644
index 323b299..0000000
--- a/pages/im/components/show/showAudio.vue
+++ /dev/null
@@ -1,84 +0,0 @@
-
-
- {{ contact(message.senderUserId).name }}
-
-
- {{ label }}
-
-
-
-
-
-
-
diff --git a/pages/im/components/show/showFile.vue b/pages/im/components/show/showFile.vue
deleted file mode 100644
index 56e4951..0000000
--- a/pages/im/components/show/showFile.vue
+++ /dev/null
@@ -1,95 +0,0 @@
-
-
-
-
-
- {{ contact(message.senderUserId).name }}
-
-
- {{ content.fileType }}
- {{ content.name }}
-
-
-
-
-
-
-
-
-
-
diff --git a/pages/im/components/show/showImage.vue b/pages/im/components/show/showImage.vue
deleted file mode 100644
index 116a4c3..0000000
--- a/pages/im/components/show/showImage.vue
+++ /dev/null
@@ -1,105 +0,0 @@
-
-
-
-
-
- {{ contact(message.senderUserId).name }}
-
-
-
-
-
-
-
-
-
-
diff --git a/pages/im/components/show/showLocation.vue b/pages/im/components/show/showLocation.vue
deleted file mode 100644
index 3c14247..0000000
--- a/pages/im/components/show/showLocation.vue
+++ /dev/null
@@ -1,112 +0,0 @@
-
-
-
-
-
- {{ contact(message.senderUserId).name }}
-
-
- {{ content.customFields.name }}
-
-
- {{ content.customFields.address }}
-
-
-
-
-
-
-
-
-
-
diff --git a/pages/im/components/show/showNormal.vue b/pages/im/components/show/showNormal.vue
deleted file mode 100644
index 6d08131..0000000
--- a/pages/im/components/show/showNormal.vue
+++ /dev/null
@@ -1,36 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
diff --git a/pages/im/components/show/showText.vue b/pages/im/components/show/showText.vue
deleted file mode 100644
index c198f5b..0000000
--- a/pages/im/components/show/showText.vue
+++ /dev/null
@@ -1,78 +0,0 @@
-
-
-
-
-
- {{ contact(message.senderUserId).name }}
- {{ content }}
-
-
-
-
-
-
-
diff --git a/pages/im/components/show/showVideo.vue b/pages/im/components/show/showVideo.vue
deleted file mode 100644
index 606991c..0000000
--- a/pages/im/components/show/showVideo.vue
+++ /dev/null
@@ -1,84 +0,0 @@
-
-
- {{ contact(message.senderUserId).name }}
-
-
- {{ label }}
-
-
-
-
-
-
-
diff --git a/pages/im/components/show/showVoice.vue b/pages/im/components/show/showVoice.vue
deleted file mode 100644
index 701b537..0000000
--- a/pages/im/components/show/showVoice.vue
+++ /dev/null
@@ -1,247 +0,0 @@
-
-
-
-
-
- {{ contact(message.senderUserId).name }}
-
-
-
-
- {{ duration }}"
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/pages/im/components/showMessageCell.vue b/pages/im/components/showMessageCell.vue
deleted file mode 100644
index 6195687..0000000
--- a/pages/im/components/showMessageCell.vue
+++ /dev/null
@@ -1,153 +0,0 @@
-
-
-
- {{ message.content.message }}
- 点击查看
-
-
-
- {{ contact(message.senderUserId).name }} 撤回了一条消息
-
-
- {{ message.sentTime|timeCustomCN }}
-
-
-
-
-
-
-
-
-
-
-
- [未处理的消息类型 {{ message.objectName }}]
-
-
-
-
-
-
-
-
-
-
diff --git a/pages/im/friends/index.vue b/pages/im/friends/index.vue
deleted file mode 100644
index c4996d4..0000000
--- a/pages/im/friends/index.vue
+++ /dev/null
@@ -1,188 +0,0 @@
-
-
-
-
-
-
- 新的朋友
-
-
-
- 我的群聊
-
-
-
-
-
-
-
- {{ contact(friendItem.targetId).name }}
-
-
-
-
-
-
- 暂无好友列表~
-
-
-
-
-
-
-
-
diff --git a/pages/im/friends/info.vue b/pages/im/friends/info.vue
deleted file mode 100644
index 72b559f..0000000
--- a/pages/im/friends/info.vue
+++ /dev/null
@@ -1,395 +0,0 @@
-
-
-
-
-
-
- {{ contact(targetId).name }}
- 昵称:{{ userInfo.name }}
- 地址:{{ userInfo.address }}
-
-
-
-
-
-
- 保密
- 男
- 女
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/pages/im/friends/mine.vue b/pages/im/friends/mine.vue
deleted file mode 100644
index 8b3a920..0000000
--- a/pages/im/friends/mine.vue
+++ /dev/null
@@ -1,170 +0,0 @@
-
-
-
-
-
-
-
- {{infoObj.name}}
- {{infoObj.address}}
-
-
- 扫描二维码加我ZH大健康好友
-
-
- 复制地址
-
-
-
-
-
-
-
-
diff --git a/pages/im/friends/pending.vue b/pages/im/friends/pending.vue
deleted file mode 100644
index 6db2b8e..0000000
--- a/pages/im/friends/pending.vue
+++ /dev/null
@@ -1,78 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
- 暂无好友申请 ~
-
-
-
-
-
-
-
diff --git a/pages/im/friends/search.vue b/pages/im/friends/search.vue
deleted file mode 100644
index 409d8b3..0000000
--- a/pages/im/friends/search.vue
+++ /dev/null
@@ -1,109 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
- 暂无匹配内容~
-
-
-
-
-
-
-
diff --git a/pages/im/group/announceCreate.vue b/pages/im/group/announceCreate.vue
deleted file mode 100644
index 0f22bf1..0000000
--- a/pages/im/group/announceCreate.vue
+++ /dev/null
@@ -1,120 +0,0 @@
-
-
- 公告内容
-
-
- {{content}}
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/pages/im/group/announcement.vue b/pages/im/group/announcement.vue
deleted file mode 100644
index e177e17..0000000
--- a/pages/im/group/announcement.vue
+++ /dev/null
@@ -1,224 +0,0 @@
-
-
-
-
-
- 置顶{{ item.content }}
-
-
- {{ item.user.name }}
- {{ item.created_at }}
-
-
-
-
-
-
-
-
- 暂无公告内容~
-
-
-
-
-
-
-
-
-
-
-
diff --git a/pages/im/group/apply.vue b/pages/im/group/apply.vue
deleted file mode 100644
index d17df26..0000000
--- a/pages/im/group/apply.vue
+++ /dev/null
@@ -1,120 +0,0 @@
-
-
-
- {{ group.name }}
-
-
- 群已满员
- 禁止申请
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/pages/im/group/chat.vue b/pages/im/group/chat.vue
deleted file mode 100644
index a0d5ec0..0000000
--- a/pages/im/group/chat.vue
+++ /dev/null
@@ -1,292 +0,0 @@
-
-
-
-
-
-
-
- {{ item }}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/pages/im/group/index.vue b/pages/im/group/index.vue
deleted file mode 100644
index 6452480..0000000
--- a/pages/im/group/index.vue
+++ /dev/null
@@ -1,168 +0,0 @@
-
-
-
- 群聊
-
-
-
- {{ item.name }} 共{{ item.members }} 成员
-
-
- {{ groups.length }}个群聊
-
-
-
- 空空如也~
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/pages/im/group/info.vue b/pages/im/group/info.vue
deleted file mode 100644
index 8b7ba61..0000000
--- a/pages/im/group/info.vue
+++ /dev/null
@@ -1,378 +0,0 @@
-
-
-
-
-
-
-
-
- {{announcement}}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 清空聊天记录
- 解散群聊
- 删除并退出
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/pages/im/group/invite.vue b/pages/im/group/invite.vue
deleted file mode 100644
index a994fc2..0000000
--- a/pages/im/group/invite.vue
+++ /dev/null
@@ -1,283 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{ contact(friendItem.targetId).name }}
-
-
-
-
-
-
- 添加中{{`(${checkboxValue.length})` || ''}}
- 完成{{`(${checkboxValue.length})` || ''}}
-
-
-
-
- {{searchTxt=== ''?'暂无好友列表~':'暂无搜索内容~'}}
-
-
-
-
-
-
-
diff --git a/pages/im/group/reviewed.vue b/pages/im/group/reviewed.vue
deleted file mode 100644
index b8dfcdb..0000000
--- a/pages/im/group/reviewed.vue
+++ /dev/null
@@ -1,177 +0,0 @@
-
-
-
-
-
-
-
- {{ JSON.parse(item.content.extra).name }} 申请加入群聊
- 申请原因:{{ item.content.message }}
-
-
-
- {{ contact(item.content.sourceUserId).name }}想邀请{{ JSON.parse(item.content.extra).name }}加入群聊
-
-
- 通过
-
-
-
-
-
- 暂无群聊申请数据
-
-
-
-
-
-
diff --git a/pages/im/group/users.vue b/pages/im/group/users.vue
deleted file mode 100644
index 608b990..0000000
--- a/pages/im/group/users.vue
+++ /dev/null
@@ -1,29 +0,0 @@
-
-
-
-
-
-
-
diff --git a/pages/im/index.vue b/pages/im/index.vue
deleted file mode 100644
index 6992100..0000000
--- a/pages/im/index.vue
+++ /dev/null
@@ -1,247 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
- 空空如也~
-
-
-
-
-
-
- 去登录
-
-
-
-
-
-
-
-
-
diff --git a/pages/im/mixins/imBase.js b/pages/im/mixins/imBase.js
deleted file mode 100644
index fb37af2..0000000
--- a/pages/im/mixins/imBase.js
+++ /dev/null
@@ -1,25 +0,0 @@
-import utils from '@/utils/index.js'
-
-export default {
- computed: {
- contact() {
- return function(targetId) {
- return this.$store.getters.contactInfo(targetId)
- }
- },
- avatarSize() {
- return utils.rpx2px(84)
- },
- sender() {
- return this.$store.getters.sender
- },
- windowHeight() {
- return uni.getSystemInfoSync().windowHeight
- }
- },
- methods: {
- rpx2px(size) {
- return utils.rpx2px(size)
- }
- }
-}
diff --git a/pages/im/mixins/messageActions.js b/pages/im/mixins/messageActions.js
deleted file mode 100644
index 4c5db84..0000000
--- a/pages/im/mixins/messageActions.js
+++ /dev/null
@@ -1,133 +0,0 @@
-import * as IMLib from '@/uni_modules/RongCloud-IMWrapper/js_sdk/index'
-
-export default {
- data() {
- return {
- winSize: {},
- showPop: false,
- /* 弹窗按钮列表 */
- popButton: ['复制', '删除', '撤回'],
- /* 弹窗定位样式 */
- popStyle: "",
- pickedItem: {}
- }
- },
- onLoad() {
- uni.getSystemInfo({
- success: (e) => {
- this.winSize = {
- width: e.windowWidth,
- height: e.windowHeight
- }
- }
- })
- },
- methods: {
- // 隐藏功能菜单
- hidePop() {
- this.showPop = false
- this.pickedItem = {}
- setTimeout(() => {
- this.showShade = false
- }, 250)
- },
- // 点击会话功能菜单
- pickerMenu(e) {
- const msg = this.pickedItem
- console.log(msg);
- switch (e) {
- case '复制':
- uni.setClipboardData({
- data: msg.content.content
- })
- uni.showToast({
- icon: 'none',
- title: '复制成功'
- })
- break;
- case '删除':
- IMLib.deleteMessagesByIds([msg.messageId], ({
- code
- }) => {
- if (code === 0) {
- uni.$emit('onRemoveMessage_' + msg.targetId, msg.messageId)
- uni.showToast({
- title: '消息删除成功',
- icon: 'none',
- })
- }
- })
- break;
- case '撤回':
- const pushContent = this.$store.getters.sender.name + '撤回了一条消息'
- IMLib.recallMessage(msg.messageId, pushContent,
- ({
- code,
- message
- }) => {
- if (code === 0) {
- uni.showToast({
- icon: 'none',
- title: '消息撤回成功'
- })
- msg.objectName = 'RC:RcNtf'
- uni.$emit('onRecallMessage_' + msg.targetId, msg)
- } else {
- uni.showToast({
- icon: 'none',
- title: '撤回失败' + code
- })
- }
- }
- )
- break;
- }
- this.hidePop()
- },
- messageAction(e) {
- let [touches, style, item] = [e.event.touches[0], "", e.message]
-
- if (touches.clientY > (this.winSize.height / 2)) {
- style = `bottom:${this.winSize.height-touches.clientY}px;`
- } else {
- style = `top:${touches.clientY}px;`
- }
-
- if (touches.clientX > (this.winSize.width / 2)) {
- style += `right:${this.winSize.width-touches.clientX}px`
- } else {
- style += `left:${touches.clientX}px`
- }
-
- if (item.messageDirection == 2) {
- if (item.objectName == 'RC:TxtMsg') {
- this.popButton = ['复制', '删除']
- } else {
- this.popButton = ['删除']
- }
- } else {
- if ((new Date()).getTime() - item.sentTime > 120 * 1000) {
- if (item.objectName == 'RC:TxtMsg') {
- this.popButton = ['复制', '删除']
- } else {
- this.popButton = ['删除']
- }
- } else {
- if (item.objectName == 'RC:TxtMsg') {
- this.popButton = ['复制', '撤回']
- } else {
- this.popButton = ['删除']
- }
- }
- }
-
- this.popStyle = style
- this.pickedItem = item
- this.$nextTick(() => {
- setTimeout(() => {
- this.showPop = true;
- }, 10)
- })
- },
- }
-}
diff --git a/pages/im/mixins/onGroupDismiss.js b/pages/im/mixins/onGroupDismiss.js
deleted file mode 100644
index 002c4c0..0000000
--- a/pages/im/mixins/onGroupDismiss.js
+++ /dev/null
@@ -1,34 +0,0 @@
-// 监听群解散的消息,直接跳转到会话列表页面
-export default {
- data() {
- return {
- currentTargetId: ''
- }
- },
- onLoad(e) {
- this.currentTargetId = e.targetId
-
- uni.$once('onGroupDismiss_' + e.targetId, () => {
- uni.showToast({
- icon: 'none',
- title: '当前群已解散'
- })
- uni.switchTab({
- url: '/pages/im/index'
- })
- })
- uni.$once('onGroupRemoveYou_' + e.targetId, () => {
- uni.showToast({
- icon: 'none',
- title: '您已被移出群聊'
- })
- uni.switchTab({
- url: '/pages/im/index'
- })
- })
- },
- onUnload() {
- uni.$off('onGroupDismiss_' + this.currentTargetId)
- uni.$off('onGroupRemoveYou_' + this.currentTargetId)
- }
-}
diff --git a/pages/im/private/call.nvue b/pages/im/private/call.nvue
deleted file mode 100644
index d071fee..0000000
--- a/pages/im/private/call.nvue
+++ /dev/null
@@ -1,322 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{ contact(targetId).name }}
- 等待对方接听
- 已接通
-
-
-
-
-
-
-
-
- 麦克风
-
-
-
-
-
- 挂断
-
-
-
-
-
- 接听
-
-
-
-
-
-
- 扬声器
-
-
-
-
-
-
-
-
diff --git a/pages/im/private/chat.vue b/pages/im/private/chat.vue
deleted file mode 100644
index 46a2786..0000000
--- a/pages/im/private/chat.vue
+++ /dev/null
@@ -1,298 +0,0 @@
-
-
-
-
-
-
- {{ item }}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/pages/user/index.vue b/pages/user/index.vue
index 848f74b..10bd75d 100644
--- a/pages/user/index.vue
+++ b/pages/user/index.vue
@@ -97,12 +97,8 @@
-
-
-
- ZH钱包
-
-
+
+
健康档案
@@ -133,7 +129,6 @@
info
} from '@/apis/interfaces/user';
import userAuth from '@/public/userAuth';
- import im from '@/utils/im/index.js'
export default {
data() {
diff --git a/public/userAuth.js b/public/userAuth.js
index 55f0691..fc16be1 100644
--- a/public/userAuth.js
+++ b/public/userAuth.js
@@ -12,10 +12,6 @@ import {
keyAuth
} from '../apis/interfaces/auth'
import store from '../store'
-import {
- getImToken
-} from '@/apis/interfaces/im.js'
-import im from '@/utils/im/index.js'
class userAuth {
constructor() {
diff --git a/store/index.js b/store/index.js
index b30a2fe..c88ad6f 100644
--- a/store/index.js
+++ b/store/index.js
@@ -6,7 +6,6 @@
import Vue from 'vue'
import Vuex from 'vuex'
-import im from './modules/im.js'
Vue.use(Vuex)
@@ -38,8 +37,5 @@ export default new Vuex.Store({
setRefresh(state, value) {
state.refresh = value
}
- },
- modules: {
- im
}
})
diff --git a/utils/im/.DS_Store b/utils/im/.DS_Store
deleted file mode 100644
index 9b89a14..0000000
Binary files a/utils/im/.DS_Store and /dev/null differ
diff --git a/utils/im/data.js b/utils/im/data.js
deleted file mode 100644
index 495c149..0000000
--- a/utils/im/data.js
+++ /dev/null
@@ -1,16 +0,0 @@
-// 获取新好友申请数量
-const getPendingCount = (callback) => {
- RongIMLib.getConversationList([RongIMLib.ConversationType.SYSTEM], 100, 0, (res) => {
- if (res.code === 0) {
- const pendingCount = res.conversations.filter((item) => {
- return item.objectName == RongIMLib.ObjectName.ContactNotification
- }).length
-
- callback(pendingCount)
- }
- })
-}
-
-export default {
- getPendingCount
-}
diff --git a/utils/im/index.js b/utils/im/index.js
deleted file mode 100644
index 6775eb9..0000000
--- a/utils/im/index.js
+++ /dev/null
@@ -1,135 +0,0 @@
-import * as RongIMLib from '@/uni_modules/RongCloud-IMWrapper/js_sdk/index'
-import * as CallLib from '@/uni_modules/RongCloud-CallWrapper/lib/index'
-import store from '@/store/index.js'
-import message from './message.js'
-import listeners from './listeners.js'
-import {
- getFriends,
- getUserInfo,
- getImToken,
- getMyGroups
-} from '@/apis/interfaces/im.js'
-import {
- contactModel
-} from './models.js'
-
-const initIm = (KEY) => {
- RongIMLib.init(KEY)
- CallLib.init()
- listeners.imLibListeners()
- listeners.callLibListeners()
- // 初始化的时候 自动链接
- if (store.getters.getToken !== '') {
- getImToken().then(res => {
- connect(res.token, res.userInfo, (res) => {
- console.log('IM.CONNECT', res);
- // 发布全局事件,有新消息,刷新会话列表
- uni.$emit('onReceiveMessage')
- })
- })
- }
-}
-
-const setNotifyBadge = () => {
- // 获取未读消息数量
- RongIMLib.getTotalUnreadCount(({
- code,
- count
- }) => {
- if (code === 0) {
- // #ifdef APP-PLUS
- plus.runtime.setBadgeNumber(count)
- // #endif
- if (count > 0) {
- uni.setTabBarBadge({
- index: 3,
- text: String(count > 99 ? '99+' : count)
- })
- } else {
- uni.removeTabBarBadge({
- index: 3
- })
- }
- }
- })
-}
-
-/**
- * 连接IM服务
- * @param {string} token token
- * @param {object} userInfo {targetId: string, name: string, portraitUrl: string}
- */
-const connect = (token, userInfo, callback) => {
- RongIMLib.connect(token, res => {
- callback(res)
- // 更新个人信息
- store.dispatch('setSenderInfo', userInfo)
- // 设置未读消息数量
- setNotifyBadge()
- // 首次运行获取好友列表
- const FK = 'ZH_CONTACT_' + userInfo.targetId
-
- uni.getStorage({
- key: FK,
- success: () => {
- contactModel.find((err, results) => {
- console.log('初始化联系人信息', results);
- results.map(item => {
- store.dispatch('launchContact', item)
- })
- })
- },
- fail: () => {
- // 程序是首次运行,初始化加载好友和群组信息
- Promise.all([getFriends(), getMyGroups()]).then(result => {
- result.map(contacts => {
- contacts.map(item => {
- store.dispatch('initContact', item)
- })
- })
- uni.setStorageSync(FK, userInfo.targetId)
- })
- }
- })
- })
-}
-
-/**
- * 断开链接
- */
-const disconnect = () => {
- RongIMLib.disconnect()
- // 移除提醒数量
- // #ifdef APP-PLUS
- plus.runtime.setBadgeNumber(0)
- // #endif
- uni.removeTabBarBadge({
- index: 3
- })
-}
-
-// 播放状态
-let tipState = false
-
-const triTone = () => {
- if (tipState == false) {
- const innerAudioContext = uni.createInnerAudioContext()
- innerAudioContext.autoplay = true
- innerAudioContext.src = '/utils/im/sounds/new-msg.mp3'
- innerAudioContext.onPlay(() => {
- tipState = true
- })
- innerAudioContext.onEnded(() => {
- tipState = false
- innerAudioContext.destroy()
- })
- }
-}
-
-export default {
- initIm,
- connect,
- disconnect,
- setNotifyBadge,
- ...message
-}
diff --git a/utils/im/listeners.js b/utils/im/listeners.js
deleted file mode 100644
index 5250e05..0000000
--- a/utils/im/listeners.js
+++ /dev/null
@@ -1,218 +0,0 @@
-import * as CallLib from '@/uni_modules/RongCloud-CallWrapper/lib/index'
-import * as IMLib from '@/uni_modules/RongCloud-IMWrapper/js_sdk/index'
-import store from '@/store/index.js'
-import im from "@/utils/im/index.js"
-import utils from '../index.js'
-import {
- getUserInfo
-} from '@/apis/interfaces/im.js'
-
-// 维护消息列表,检查是否需要通知声音,设置新消息提醒的数量
-const onReceiveMessage = (message) => {
- IMLib.getConversationNotificationStatus(message.conversationType, message.targetId, ({
- code,
- status
- }) => {
- if (code === 0) {
- if (status) {
- // triTone()
- }
- }
- })
- im.setNotifyBadge()
- // 发布全局事件,有新消息,刷新会话列表
- uni.$emit('onReceiveMessage', message)
- // 这个是为了更新消息列表页的
- uni.$emit('onReceiveMessage_' + message.targetId, message)
-}
-
-// 检测联系人信息,不存在的时候,从服务端获取
-const checkContactExists = (message) => {
- if (!store.getters.contactIsExist(message.targetId)) {
- getUserInfo(message.targetId).then(res => {
- console.log('targetId', res);
- store.dispatch('initContact', res)
- }).catch(err => {
- console.error('getUserInfo ERR', err)
- })
- }
- if (!store.getters.contactIsExist(message.senderUserId)) {
- getUserInfo(message.senderUserId).then(res => {
- console.log('senderUserId', message.senderUserId, res);
- store.dispatch('initContact', res)
- }).catch(err => {
- console.error('getUserInfo ERR', err)
- })
- }
-}
-
-// 允许通知的消息类型,触发更新消息列表操作,提示音
-const notifyMsgTypes = [
- IMLib.ObjectName.Text,
- IMLib.ObjectName.File,
- IMLib.ObjectName.Image,
- IMLib.ObjectName.GIF,
- IMLib.ObjectName.Location,
- IMLib.ObjectName.Voice,
- IMLib.ObjectName.HQVoice,
- IMLib.ObjectName.Sight,
- 'RC:IWNormalMsg'
-]
-
-const imLibListeners = () => {
- // 添加连接状态监听函数
- IMLib.addConnectionStatusListener((res) => {
- console.error('连接状态监听', res.data.status)
- uni.$emit('onConnectionStatusChange', res.data.status)
- })
- // 添加消息监听函数
- IMLib.addReceiveMessageListener((res) => {
- const message = res.data.message
- console.error('[收到消息]', message)
- checkContactExists(message)
- if (utils.inArray(message.objectName, notifyMsgTypes)) {
- onReceiveMessage(message)
- } else if (message.objectName === IMLib.ObjectName.ProfileNotification) {
- uni.$emit('onUpdateProfile_' + message.targetId)
- // 更新联系人信息
- store.dispatch('updateContact', JSON.parse(message.content.data))
- // 调用完更新之后,删除这条消息
- IMLib.deleteMessagesByIds([message.messageId])
- } else if (message.objectName === IMLib.ObjectName.ContactNotification) {
- if (message.content.operation === 'Request') {
- // 触发一个新好友的通知事件,【会话列表,通讯录,新朋友】页面
- uni.$emit('onNewContactConversation', message)
- uni.$emit('onNewContactFriends', message)
- uni.$emit('onNewContactPendings', message)
- } else if (message.content.operation === 'Delete') {
- IMLib.cleanHistoryMessages(1, message.targetId, message.sentTime, false)
- // 解散了就删了吧
- IMLib.removeConversation(1, message.targetId)
- // 刷新会话列表
- uni.$emit('onUserDelete_' + message.targetId)
- uni.$emit('onReceiveMessage', message)
- }
- } else if (message.objectName === IMLib.ObjectName.GroupNotification) {
- // 这个是为了更新消息列表页的
- uni.$emit('onReceiveMessage_' + message.targetId, message)
- // 解散群
- if (message.content.operation === 'Dismiss') {
- IMLib.cleanHistoryMessages(3, message.targetId, message.sentTime,
- false)
- // 解散了就删了吧
- IMLib.removeConversation(3, message.targetId)
- // 发布群解散的消息
- uni.$emit('onGroupDismiss')
- uni.$emit('onGroupDismiss_' + message.targetId)
- } else if (message.content.operation === 'REMOVE') {
- // 要判断是否当前用户,然后把当前用户踢出到主页去, 删除聊天记录,会话列表
- if (message.content.extra == store.getters.sender.userId) {
- IMLib.cleanHistoryMessages(3, message.targetId, message.sentTime,
- false)
- // 解散了就删了吧
- IMLib.removeConversation(3, message.targetId)
- // 为了更新群列表
- uni.$emit('onGroupDismiss')
- uni.$emit('onGroupRemoveYou_' + message.targetId)
- }
- uni.$emit('onReceiveMessage_' + message.targetId, message)
- // 这个是为了更新消息列表页的
- }
- // 触发刷新会话列表
- uni.$emit('onReceiveMessage', message)
- }
- })
- // 监听私聊消息已读回执
- IMLib.addReadReceiptReceivedListener(({
- data
- }) => {
- console.error("监听私聊消息已读回执: ", data);
- uni.$emit('onReadReceiptReceived', data)
- })
- // 监听消息撤回操作
- IMLib.addRecallMessageListener(({
- data
- }) => {
- IMLib.getMessage(data.messageId, ({
- message
- }) => {
- console.error("消息撤回: ", message);
- im.setNotifyBadge()
- uni.$emit('onReceiveMessage', message)
- uni.$emit('onRecallMessage_' + message.targetId, message)
- })
- })
- // 监听需要群聊消息回执
- IMLib.addReceiptRequestListener(({
- data
- }) => {
- uni.$emit('onReceiptRequest', data)
- })
- // 群消息已读的回执
- IMLib.addReceiptResponseListener(({
- data
- }) => {
- // 获取本地消息
- IMLib.getMessageByUId(data.messageUId, ({
- message
- }) => {
- const readers = Object.keys(data.users).length
- const extra = JSON.stringify({
- readers
- })
- // 在消息的扩展数据中,设置已读数量
- IMLib.setMessageExtra(message.messageId, extra, (result) => {
- message.extra = extra
- uni.$emit('onReceiptResponse', message)
- })
- })
- })
-}
-
-const callLibListeners = () => {
- // 音视频通话相关的
- // 监听通话呼入
- CallLib.onCallReceived(({
- data
- }) => {
- console.error('onCallReceived');
- uni.navigateTo({
- url: '/pages/im/private/call?targetId=' + data.targetId + '&mediaType=' +
- data.mediaType
- })
- })
- // 通话建立成功
- CallLib.onCallConnected(() => {
- uni.$emit('onCallConnected')
- })
- // 外呼
- CallLib.onCallOutgoing((res) => {
- console.error('onCallOutgoing', res);
- uni.$emit('onCallOutgoing')
- })
- // 远端响铃
- CallLib.onRemoteUserRinging((res) => {
- console.error('onRemoteUserRinging', res);
- uni.$emit('onRemoteUserRinging')
- })
- // 远端加入
- CallLib.onRemoteUserJoined((res) => {
- console.error('远端接听');
- uni.$emit('onRemoteUserJoined')
- })
- // 断开链接
- CallLib.onCallDisconnected((res) => {
- console.error('断开链接', res)
- uni.$emit('onCallDisconnected')
- })
- // 远端挂断
- CallLib.onRemoteUserLeft((res) => {
- console.error('远端离开', res)
- uni.$emit('onRemoteUserLeft')
- })
-}
-
-export default {
- imLibListeners,
- callLibListeners
-}
diff --git a/utils/im/message.js b/utils/im/message.js
deleted file mode 100644
index 7bdcb55..0000000
--- a/utils/im/message.js
+++ /dev/null
@@ -1,318 +0,0 @@
-import store from '@/store/index.js'
-
-import * as RongIMLib from '@/uni_modules/RongCloud-IMWrapper/js_sdk/index'
-
-const getMessageList = (conversationType, targetId, timeStamp, count, isForward, callback) => {
- // 获取消息列表 https://doc.rongcloud.cn/imserver/server/v1/message/objectname#objectName
- const objectNames = [
- 'RC:TxtMsg',
- 'RC:VcMsg',
- 'RC:HQVCMsg',
- 'RC:ImgMsg',
- 'RC:GIFMsg',
- 'RC:ImgTextMsg',
- 'RC:FileMsg',
- 'RC:LBSMsg',
- 'RC:SightMsg',
- 'RC:ReferenceMsg',
- 'RC:CombineMsg',
- 'RC:GrpNtf',
- 'RC:InfoNtf',
- 'RC:RcNtf',
- 'RC:IWNormalMsg'
- ]
-
- RongIMLib.getHistoryMessagesByTimestamp(
- conversationType,
- targetId,
- objectNames,
- timeStamp,
- count,
- isForward,
- ({
- code,
- messages
- }) => {
- if (code === 0) {
- callback(messages)
- } else {
- uni.showToast({
- icon: 'error',
- title: code
- })
- }
- }
- )
-}
-
-// 获取好友申请列表
-const getPendingList = (callback, total) => {
- total = total || 100
- RongIMLib.getConversationList([RongIMLib.ConversationType.SYSTEM], total, 0, (res) => {
- if (res.code === 0) {
- const pendings = res.conversations.filter((item) => {
- return item.objectName == RongIMLib.ObjectName.ContactNotification &&
- item.latestMessage.operation === 'Request'
- })
-
- callback(pendings)
- }
- })
-}
-
-// 群组申请列表,邀请列表
-const getGroupPendinglist = (targetId, callback) => {
- const conversationType = RongIMLib.ConversationType.SYSTEM
- const objectNames = ['RC:ContactNtf']
-
- RongIMLib.getHistoryMessagesByTimestamp(conversationType, targetId, objectNames, 0, 1000, true,
- ({
- messages
- }) => {
- callback(messages)
- }
- )
-}
-
-/**
- * 发送文本消息
- * @param {number} conversationType 消息类型
- * @param {string} targetId 会话id
- * @param {string} content 消息内容
- * @param {function} callback 回调函数
- */
-const sentText = (conversationType, targetId, content) => {
- return new Promise((resolve, reject) => {
- const message = {
- conversationType: conversationType,
- targetId: String(targetId),
- content: {
- objectName: 'RC:TxtMsg',
- content: content,
- userInfo: store.getters.sender
- }
- }
-
- sendCommonMessage(message, (messageId) => {
- resolve(messageId)
- }, (errCode) => {
- reject(errCode)
- })
- })
-}
-
-/**
- * 发送消息
- * @param {number} conversationType 消息类型
- * @param {string} targetId 会话id
- * @param {string} voiceUrl 录音的本地路径
- * @param {integer} time 录音时长
- * @param {function} user 本人信息
- */
-const sentVoice = (conversationType, targetId, voiceUrl, time) => {
- return new Promise((resolve, reject) => {
- const msg = {
- conversationType: conversationType,
- targetId: String(targetId),
- content: {
- objectName: 'RC:HQVCMsg',
- local: 'file://' + plus.io.convertLocalFileSystemURL(voiceUrl),
- duration: time == 0 ? 1 : time,
- userInfo: store.getters.sender
- }
- }
- RongIMLib.sendMediaMessage(msg, {
- success: (messageId) => {
- if (conversationType == 3) {
- RongIMLib.sendReadReceiptRequest(messageId)
- }
- resolve(messageId)
- },
- progress: (progress, messageId) => {},
- cancel: (messageId) => {},
- error: (errorCode, messageId) => {
- reject(errorCode)
- }
- })
- })
-}
-
-// 发送的图片,可能会涉及到一次多张,用Promise来确保前端一次性清算
-const sentImage = (conversationType, targetId, imageUrl) => {
- return new Promise((resolve, reject) => {
- uni.getImageInfo({
- src: imageUrl,
- success: (imgInfo) => {
- const msg = {
- conversationType: conversationType,
- targetId: String(targetId),
- content: {
- objectName: 'RC:ImgMsg',
- local: imgInfo.path,
- userInfo: store.getters.sender
- }
- }
- RongIMLib.sendMediaMessage(msg, {
- success: (messageId) => {
- if (conversationType == 3) {
- RongIMLib.sendReadReceiptRequest(messageId)
- }
- resolve(messageId)
- },
- progress: (progress, messageId) => {},
- cancel: (messageId) => {},
- error: (errorCode, messageId) => {
- reject(errorCode)
- }
- })
- }
- })
- })
-}
-
-const sentFile = (conversationType, targetId, fileUrl) => {
- return new Promise((resolve, reject) => {
- const msg = {
- conversationType: conversationType,
- targetId: String(targetId),
- content: {
- objectName: 'RC:FileMsg',
- local: plus.io.convertLocalFileSystemURL(fileUrl),
- userInfo: store.getters.sender
- }
- }
-
- RongIMLib.sendMediaMessage(msg, {
- success: (messageId) => {
- if (conversationType == 3) {
- RongIMLib.sendReadReceiptRequest(messageId)
- }
- resolve(messageId)
- },
- progress: (progress, messageId) => {},
- cancel: (messageId) => {},
- error: (errorCode, messageId) => {
- reject(errorCode)
- }
- })
- })
-}
-
-// 发送地理位置
-const sentLocation = (conversationType, targetId, location, thumbnail) => {
- return new Promise((resolve, reject) => {
- const message = {
- conversationType: conversationType,
- targetId: String(targetId),
- content: {
- customType: 2,
- objectName: 'RC:LBSMsg',
- customFields: {
- name: location.name,
- address: location.address,
- latitude: Number(location.latitude),
- longitude: Number(location.longitude),
- thumbnail: thumbnail
- },
- userInfo: store.getters.sender,
- }
- }
-
- sendCommonMessage(message, (messageId) => {
- resolve(messageId)
- }, (errCode) => {
- reject(errCode)
- })
- })
-}
-
-/**
- * 发送视频通话结果
- */
-const sentVideo = (conversationType, targetId, status, time) => {
- return new Promise((resolve, reject) => {
- const message = {
- conversationType: conversationType,
- targetId: String(targetId),
- content: {
- customType: 2,
- objectName: 'RC:VideoMsg',
- customFields: {
- status: status,
- duration: time
- },
- userInfo: store.getters.sender,
- }
- }
-
- sendCommonMessage(message, (messageId) => {
- resolve(messageId)
- }, (errCode) => {
- reject(errCode)
- })
- })
-}
-
-/**
- * 发送语音通话结果
- */
-const sentAudio = (conversationType, targetId, status, time) => {
- return new Promise((resolve, reject) => {
- const message = {
- conversationType: conversationType,
- targetId: String(targetId),
- content: {
- customType: 2,
- objectName: 'RC:AudioMsg',
- customFields: {
- status: status,
- duration: time
- },
- userInfo: store.getters.sender,
- }
- }
-
- sendCommonMessage(message, (messageId) => {
- resolve(messageId)
- }, (errCode) => {
- reject(errCode)
- })
- })
-}
-
-/**
- * 发送普通消息
- */
-const sendCommonMessage = (message, success, fail) => {
- RongIMLib.sendMessage(message, ({
- code,
- messageId
- }) => {
- if (code === 0) {
- if (message.conversationType == 3) {
- RongIMLib.sendReadReceiptRequest(messageId)
- }
-
- success(messageId)
- } else {
- uni.showToast({
- icon: 'none',
- title: '发送失败' + code
- })
- fail(code)
- }
- })
-}
-
-export default {
- getMessageList,
- getPendingList,
- getGroupPendinglist,
- sentText,
- sentVoice,
- sentImage,
- sentFile,
- sentLocation,
- sentVideo,
- sentAudio
-}
diff --git a/utils/im/models.js b/utils/im/models.js
deleted file mode 100644
index ffe5efc..0000000
--- a/utils/im/models.js
+++ /dev/null
@@ -1,27 +0,0 @@
-import {
- usqlite
-} from '@/uni_modules/onemue-USQLite/js_sdk/usqlite.js'
-
-const contactModel = usqlite.model('contacts', {
- targetId: {
- type: String,
- primaryKey: true,
- unique: true
- },
- name: String,
- remark: String,
- hash: {
- type: String,
- unique: true
- },
- type: {
- type: Number,
- default: 0
- },
- portraitUrl: String,
- localAvatar: String
-})
-
-export {
- contactModel
-}
diff --git a/yarn.lock b/yarn.lock
index 9339e0e..0d06df0 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -2,22 +2,22 @@
# yarn lockfile v1
-moment@^2.29.1:
- version "2.29.1"
- resolved "https://registry.npmjs.org/moment/-/moment-2.29.1.tgz"
- integrity sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ==
+"moment@^2.29.1":
+ "integrity" "sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ=="
+ "resolved" "https://registry.npmjs.org/moment/-/moment-2.29.1.tgz"
+ "version" "2.29.1"
-uni-read-pages@^1.0.5:
- version "1.0.5"
- resolved "https://registry.npmjs.org/uni-read-pages/-/uni-read-pages-1.0.5.tgz"
- integrity sha512-GkrrZ0LX0vn9R5k6RKEi0Ez3Q3e2vUpjXQ8Z6/K/d28KudI9ajqgt8WEjQFlG5EPm1K6uTArN8LlqmZTEixDUA==
+"uni-read-pages@^1.0.5":
+ "integrity" "sha512-GkrrZ0LX0vn9R5k6RKEi0Ez3Q3e2vUpjXQ8Z6/K/d28KudI9ajqgt8WEjQFlG5EPm1K6uTArN8LlqmZTEixDUA=="
+ "resolved" "https://registry.npmjs.org/uni-read-pages/-/uni-read-pages-1.0.5.tgz"
+ "version" "1.0.5"
-uni-simple-router@^2.0.7:
- version "2.0.7"
- resolved "https://registry.npmjs.org/uni-simple-router/-/uni-simple-router-2.0.7.tgz"
- integrity sha512-8FKv5dw7Eoonm0gkO8udprrxzin0fNUI0+AvIphFkFRH5ZmP5ZWJ2pvnWzb2NiiqQSECTSU5VSB7HhvOSwD5eA==
+"uni-simple-router@^2.0.7":
+ "integrity" "sha512-8FKv5dw7Eoonm0gkO8udprrxzin0fNUI0+AvIphFkFRH5ZmP5ZWJ2pvnWzb2NiiqQSECTSU5VSB7HhvOSwD5eA=="
+ "resolved" "https://registry.npmjs.org/uni-simple-router/-/uni-simple-router-2.0.7.tgz"
+ "version" "2.0.7"
-uview-ui@^2.0.27:
- version "2.0.27"
- resolved "https://registry.yarnpkg.com/uview-ui/-/uview-ui-2.0.27.tgz#1a7dde9c6246e851d768f3efd44b5fb26774a2e1"
- integrity sha512-fl35rlguNPfXnwNoVv0w4zS1blFFxxSPuGR1+9SbpFGC33aiTBaoFWs/4Fppj0foS/kDCqSWcJiymNmQjPBD4g==
+"uview-ui@^2.0.27":
+ "integrity" "sha512-d5SttbPcowomrgpL7A1LMKRbemXtyyzpPCy98/+VQR3jfSyyHC9tfj/ZeAOKpqTn1rf9gOj2wc5tda/kVmYX2Q=="
+ "resolved" "https://registry.npmjs.org/uview-ui/-/uview-ui-2.0.29.tgz"
+ "version" "2.0.29"