diff --git a/src/api/user.js b/src/api/user.js
index c605a7b..308b04c 100644
--- a/src/api/user.js
+++ b/src/api/user.js
@@ -40,6 +40,17 @@ export const getUUIDService = (registerData) => {
return request.post('/user/uuid', params)
}
+export const addGroupRequestService = (Data) => {
+ const params = new URLSearchParams();
+ for (let key in Data) {
+ params.append(key, Data[key])
+ }
+ return request.post('/im/send_message', params,{
+ headers: {
+ 'token': Data.token, // 将 token 替换为您的令牌值
+ }
+ })
+}
export const getFriendReqService = (Data) => {
const params = new URLSearchParams();
for (let key in Data) {
diff --git a/src/views/Chat.vue b/src/views/Chat.vue
index d835a9a..2fa6d01 100644
--- a/src/views/Chat.vue
+++ b/src/views/Chat.vue
@@ -33,6 +33,7 @@
{{ item.GroupName
}}
+
@@ -199,6 +200,7 @@ export default {
this.cur_user_id=0;
this.to_user_id=0;
this.msg_type=2;
+ this.hasUnreadMsg["g_"+id]=false;
let result={}
try {
let req={
diff --git a/src/views/Group.vue b/src/views/Group.vue
index 42b0920..b17e444 100644
--- a/src/views/Group.vue
+++ b/src/views/Group.vue
@@ -19,6 +19,8 @@ export default {
FriendsTableIsDisplay:false,
tableData: [],
group_id:0,
+ GroupRequestIsDisplay : false,
+ GroupRequestList:[],
tokenData: {
token: localStorage.getItem("token"),
ip: localStorage.getItem("ip"),
@@ -251,6 +253,46 @@ export default {
console.error(error);
}
},
+ async displayGroupReq(){
+ let result ={}
+ try{
+ result =await getGroupReqService(this.tokenData)
+ if(result.code ===0){
+ this.GroupRequestList = result.data;
+ this.GroupRequestIsDisplay = true;
+ }else{
+ ElMessage.error("获取好友请求列表失败");
+ }
+ }catch(e){
+ console.log(e);
+ }
+
+ },
+ async AcceptFriendsOrGroup(index){
+ var id = this.GroupRequestList[index].id;
+ var im_id = this.GroupRequestList[index].im_id;
+ var name = this.FriendsGRequestList[index].name;
+ let result ={}
+ try{
+ result =await acceptInviteService({
+ token: localStorage.getItem("token"),
+ id: im_id,
+ from_user_id: localStorage.getItem("userId"),
+ to_user_id: id,
+ msg: "接受加入群组请求",
+ index: 1,
+ type: 4,
+ });
+ if(result.code ===0){
+ ElMessage.success("接受好友请求成功");
+ this.displayFriendReq()
+ }else{
+ ElMessage.error("接受好友请求失败");
+ }
+ }catch(e){
+ console.log(e);
+ }
+ },
handleMenuSelect(val) {
router.push(val);
},
@@ -322,6 +364,11 @@ export default {
>建群
+
+ 请求加入群聊请求
+
+
+
+
+
+
+
+
+
+
+ 同意请求
+ 拒绝请求
+
+
+
+
+
:row-style="this.tableRowClassName"
diff --git a/src/views/UserList.vue b/src/views/UserList.vue
index 22a5d5e..c102cee 100644
--- a/src/views/UserList.vue
+++ b/src/views/UserList.vue
@@ -3,6 +3,7 @@ import axios from "axios";
import { SearchUserService } from "@/api/user.js";
import { getFriendReqService } from "@/api/user.js";
import {acceptInviteService } from "@/api/user.js";
+import { addGroupRequestService } from "@/api/user.js";
import {GetUserInfoService} from "@/api/user.js";
import {DelFGService} from "@/api/user.js";
import router from "@/router/index.js";
@@ -24,6 +25,7 @@ export default {
FriendsTableIsDisplay:false,
FriendsGList:[],
GroupList:[],
+ groups:[],
tokenData: {
token: localStorage.getItem("token"),
ip: localStorage.getItem("ip"),
@@ -66,6 +68,7 @@ export default {
}
let data = result.data;
this.tableData = data;
+ this.groups= result.group;
},
async requestFriend(index) {
var id = this.tableData[index].ID;
@@ -127,6 +130,32 @@ export default {
console.log(e);
}
},
+ async addGroupRequest(index){
+ var group_id=this.groups[index].ID;
+ let result={}
+ let req={
+ token: localStorage.getItem("token"),
+ from_user_id: localStorage.getItem("userId"),
+ to_user_id: 0,
+ group_id: group_id,
+ msg: "请求加入群组",
+ type: 5,
+ }
+ try{
+
+ result = await addGroupRequestService(req);
+ if(result.code ===0){
+ ElMessage.success("请求发送成功");
+ }else{
+ ElMessage.error("操作失败:",result.error);
+ }
+
+ }catch(e){
+ console.log(e);
+ }
+
+
+ },
//接受好友请求
async AcceptFriendsOrGroup(index){
@@ -490,6 +519,53 @@ export default {
+
+
+
+ 群组列表
+
+
+
+
+ :row-style="this.tableRowClassName"
+
+
+
+
+
+
+
+
+ 请求加入
+
+
+
+