diff --git a/apis/interfaces/im.js b/apis/interfaces/im.js
index 6fae377..22ef137 100644
--- a/apis/interfaces/im.js
+++ b/apis/interfaces/im.js
@@ -99,20 +99,68 @@ const getMyGroups = () => {
})
}
+/**
+ * 获取群信息,包含基础信息和 14 个用户
+ */
const getGroupInfo = (groupId) => {
return request({
url: 'im/groups/' + groupId
})
}
+const getGroupUsers = (groupId) => {
+ return request({
+ url: 'im/groups/' + groupId + '/users'
+ })
+}
+
+const getGroupAnnouncements = (groupId) => {
+ return request({
+ url: 'im/groups/' + groupId + '/announcements'
+ })
+}
+/**
+ * 创建群聊
+ */
const createGroup = (data) => {
return request({
method: 'POST',
url: 'im/groups',
data: data
})
+}
+
+const updateGroup = (groupId, data) => {
+ return request({
+ method: 'PUT',
+ url: 'im/groups/' + groupId,
+ data: data
+ })
}
+/**
+ * 搜索群聊
+ */
+const searchGroup = (name) => {
+ return request({
+ url: 'im/groups/search?name=' + name
+ })
+}
+
+const joinGroup = (groupId) => {
+ return request({
+ method: 'POST',
+ url: 'im/groups/' + groupId + '/join'
+ })
+}
+
+const quitGroup = (groupId) => {
+ return request({
+ method: 'POST',
+ url: 'im/groups/' + groupId + '/quit'
+ })
+}
+
export {
getImToken,
deleteFriend,
@@ -126,6 +174,12 @@ export {
searchFriend,
pedingFriend,
getMyGroups,
- createGroup,
- getGroupInfo
+ createGroup,
+ updateGroup,
+ getGroupInfo,
+ getGroupUsers,
+ getGroupAnnouncements,
+ searchGroup,
+ joinGroup,
+ quitGroup
}
diff --git a/pages.json b/pages.json
index baf22cd..31af73a 100644
--- a/pages.json
+++ b/pages.json
@@ -427,7 +427,7 @@
"path": "pages/im/friends/info",
"name": "imFriendsInfo",
"style": {
- "navigationBarTitleText": "好友资料",
+ "navigationBarTitleText": "用户资料",
"navigationBarBackgroundColor": "#FFFFFF"
}
},
@@ -489,6 +489,20 @@
"style": {
"navigationBarTitleText": "创建群聊"
}
+ },
+ {
+ "path": "pages/im/group/users",
+ "name": "imGroupUsers",
+ "style": {
+ "navigationBarTitleText": "群成员"
+ }
+ },
+ {
+ "path": "pages/im/group/announcement",
+ "name": "imGroupAnnouncement",
+ "style": {
+ "navigationBarTitleText": "群公告"
+ }
},
{
"path": "pages/wallet/add",
diff --git a/pages/im/friends/info.vue b/pages/im/friends/info.vue
index 3b84028..a7ba9e7 100644
--- a/pages/im/friends/info.vue
+++ b/pages/im/friends/info.vue
@@ -105,7 +105,8 @@
callShow: false
}
},
- onLoad(e) {
+ onLoad(e) {
+ console.log(e);
this.targetId = e.targetId
getFriendInfo(e.targetId).then(res => {
this.userInfo = res
diff --git a/pages/im/group/announcement.nvue b/pages/im/group/announcement.nvue
new file mode 100644
index 0000000..3dbff79
--- /dev/null
+++ b/pages/im/group/announcement.nvue
@@ -0,0 +1,32 @@
+
+
+
+ {{ item.content }}
+
+
+
+
+
+
+
diff --git a/pages/im/group/chat.nvue b/pages/im/group/chat.nvue
index b3b85c4..d89a658 100644
--- a/pages/im/group/chat.nvue
+++ b/pages/im/group/chat.nvue
@@ -3,7 +3,7 @@
|
-
+
@@ -71,7 +71,13 @@
url: '/pages/im/group/info?targetId=' + this.targetId
})
},
- methods: {
+ methods: {
+ toUser(item) {
+ console.log(item);
+ uni.navigateTo({
+ url: '/pages/im/friends/info?targetId=' + item.senderUserId
+ })
+ },
// 获取消息列表
getMessageList() {
im.getMessageList(
diff --git a/pages/im/group/info.nvue b/pages/im/group/info.nvue
index ebf877b..4af8085 100644
--- a/pages/im/group/info.nvue
+++ b/pages/im/group/info.nvue
@@ -1,24 +1,40 @@
-
+
+
+
+
+ {{ item.name }}
+
+
+
+ 邀请用户
+
+
-
-
- 查看更多群成员
+
+ 查看更多群成员
+
- 群聊名称
- 群公告
+
+
+
+
+
+
-
- 置顶
+
+
+ 清空聊天记录
+
+
+ 删除并退出
+
+
+ 解散群聊
+
-
- 免打扰
-
- 清空聊天记录
- 删除并退出
- 解散群聊
@@ -32,21 +48,77 @@
return {
targetId: '',
group: {},
+ announcement: '',
members: []
}
},
onLoad(e) {
this.targetId = e.targetId
getGroupInfo(this.targetId).then(res => {
- this.info = res.group
+ this.group = res.group
+ this.announcement = res.announcement
this.members = res.members
- }).catch(err => {
- console.log(err);
})
+ },
+ methods: {
+ toUser(item) {
+ uni.navigateTo({
+ url: '/pages/im/friends/info?targetId=' + item.targetId
+ })
+ },
+ inviteUser() {
+
+ },
+ loadMore() {
+ uni.navigateTo({
+ url: '/pages/im/group/users?targetId=' + this.targetId
+ })
+ },
+ toAnnouncement() {
+ uni.navigateTo({
+ url: '/pages/im/group/announcement?targetId=' + this.targetId
+ })
+ }
}
}
-
diff --git a/pages/im/group/users.nvue b/pages/im/group/users.nvue
new file mode 100644
index 0000000..bd44611
--- /dev/null
+++ b/pages/im/group/users.nvue
@@ -0,0 +1,68 @@
+
+
+
+
+
+ {{ item.name }}
+
+
+
+
+
+
+
+
diff --git a/pages/im/index.vue b/pages/im/index.vue
index 8ac9edb..a98a875 100644
--- a/pages/im/index.vue
+++ b/pages/im/index.vue
@@ -98,7 +98,6 @@
RongIMLib.getConversationList([1, 3], count, timestamp, (res) => {
if (res.code === 0) {
this.conversations = res.conversations
- console.log(res.conversations);
}
})
},
diff --git a/router/index.js b/router/index.js
index 0b6e2f4..0f5459d 100644
--- a/router/index.js
+++ b/router/index.js
@@ -3,10 +3,10 @@ import {
createRouter
} from 'uni-simple-router';
import store from '@/store/index'
-
-// #ifdef APP-NVUE
+
// CALL 页面,必须是nvue,但是NVUE 不支持webpack的 ROUTES 注入
// https://github.com/SilurianYang/uni-read-pages/issues/20
+// #ifdef APP-NVUE
const ROUTES = [{
'path': '/pages/im/private/call',
'name': 'imPrivateCall'
@@ -25,8 +25,13 @@ const ROUTES = [{
},{
'path': '/pages/im/group/create',
'name': 'imGroupCreate'
+},{
+ 'path': '/pages/im/group/users',
+ 'name': 'imGroupUsers'
+},{
+ 'path': '/pages/im/group/announcement',
+ 'name': 'imGroupAnnouncement'
}]
-
// #endif
const router = createRouter({
|