修复用户搜索问题,添加用户接受好友
This commit is contained in:
parent
2ac513bda8
commit
b98d3313f5
|
|
@ -40,6 +40,30 @@ export const getUUIDService = (registerData) => {
|
|||
return request.post('/user/uuid', params)
|
||||
}
|
||||
|
||||
export const getFriendReqService = (Data) => {
|
||||
const params = new URLSearchParams();
|
||||
for (let key in Data) {
|
||||
params.append(key, Data[key])
|
||||
}
|
||||
return request.post('/im/get_friend_request', params, {
|
||||
headers: {
|
||||
'token': Data.token, // 将 token 替换为您的令牌值
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
export const acceptInviteService =(Data)=> {
|
||||
const params = new URLSearchParams();
|
||||
for (let key in Data) {
|
||||
params.append(key, Data[key])
|
||||
}
|
||||
return request.post('/im/accept_invite', params, {
|
||||
headers: {
|
||||
'token': Data.token, // 将 token 替换为您的令牌值
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
export const SearchUserService = (Data) => {
|
||||
const params = new URLSearchParams();
|
||||
for (let key in Data) {
|
||||
|
|
|
|||
|
|
@ -1,8 +1,11 @@
|
|||
<script>
|
||||
import axios from "axios";
|
||||
import { SearchUserService } from "@/api/user.js";
|
||||
import { getFriendReqService } from "@/api/user.js";
|
||||
import {acceptInviteService } from "@/api/user.js";
|
||||
import router from "@/router/index.js";
|
||||
import Cookies from "js-cookie";
|
||||
import { getFriendListService } from "@/api/chat.js";
|
||||
import {sendMessageService} from "@/api/chat.js";
|
||||
import { ElMessage } from 'element-plus';
|
||||
export default {
|
||||
|
|
@ -12,6 +15,11 @@ export default {
|
|||
tableData: [],
|
||||
search_id: 2002,
|
||||
keyword: "",
|
||||
FriendsRequestIsDisplay:false,
|
||||
FriendsGRequestList:[],
|
||||
FriendsTableIsDisplay:false,
|
||||
FriendsGList:[],
|
||||
GroupList:[],
|
||||
tokenData: {
|
||||
token: localStorage.getItem("token"),
|
||||
ip: localStorage.getItem("ip"),
|
||||
|
|
@ -29,11 +37,23 @@ export default {
|
|||
async getUserList() {
|
||||
let result = {};
|
||||
try {
|
||||
if(this.search_id === "" || this.search_id === null){
|
||||
this.search_id = -1;
|
||||
//判断search_id是字符串还是数字
|
||||
if(isNaN(this.search_id)){
|
||||
//是字符串,说明是关键字
|
||||
this.keyword = this.search_id;
|
||||
this.tokenData.id = -1;
|
||||
this.tokenData.keyword = this.keyword;
|
||||
}else if(isFinite(this.search_id)){
|
||||
//是数字,说明是ID
|
||||
this.tokenData.id = this.search_id;
|
||||
this.tokenData.keyword = "";
|
||||
}else{
|
||||
//不是数字也不是字符串
|
||||
ElMessage.error("输入错误,请输入数字或者关键字");
|
||||
return;
|
||||
}
|
||||
this.tokenData.id = this.search_id;
|
||||
this.tokenData.keyword = this.keyword;
|
||||
|
||||
|
||||
Cookies.set("search_id", this.search_id);
|
||||
Cookies.set("keyword", this.keyword);
|
||||
result = await SearchUserService(this.tokenData);
|
||||
|
|
@ -64,6 +84,89 @@ export default {
|
|||
console.log(e);
|
||||
}
|
||||
},
|
||||
//获取好友列表
|
||||
async displayFriends(){
|
||||
let result ={}
|
||||
try{
|
||||
result = await getFriendListService(this.tokenData);
|
||||
if(result.code ===0){
|
||||
this.FriendsGList = result.data.friends;
|
||||
this.GroupList=result.data.groups;
|
||||
this.FriendsTableIsDisplay = true;
|
||||
}else{
|
||||
ElMessage.error("获取好友列表失败");
|
||||
}
|
||||
}catch(e){
|
||||
console.log(e);
|
||||
}
|
||||
},
|
||||
//删除好友
|
||||
async DelFriendsOrGroup(index){
|
||||
var id = this.FriendsGList[index].id;
|
||||
var name = this.FriendsGList[index].name;
|
||||
let result ={}
|
||||
try{
|
||||
result =await sendMessageService({
|
||||
token: localStorage.getItem("token"),
|
||||
from_user_id: localStorage.getItem("userId"),
|
||||
to_user_id: id,
|
||||
msg: "删除好友",
|
||||
type: 5,
|
||||
});
|
||||
if(result.code ===0){
|
||||
ElMessage.success("删除好友成功");
|
||||
this.displayFriends();
|
||||
}else{
|
||||
ElMessage.error("删除好友失败");
|
||||
}
|
||||
}catch(e){
|
||||
console.log(e);
|
||||
}
|
||||
},
|
||||
|
||||
//接受好友请求
|
||||
async AcceptFriendsOrGroup(index){
|
||||
var id = this.FriendsGRequestList[index].id;
|
||||
var im_id = this.FriendsGRequestList[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);
|
||||
}
|
||||
},
|
||||
|
||||
//获取好友请求列表
|
||||
async displayFriendReq(){
|
||||
let result ={}
|
||||
try{
|
||||
result =await getFriendReqService(this.tokenData)
|
||||
if(result.code ===0){
|
||||
this.FriendsGRequestList = result.data;
|
||||
this.FriendsRequestIsDisplay = true;
|
||||
}else{
|
||||
ElMessage.error("获取好友请求列表失败");
|
||||
}
|
||||
}catch(e){
|
||||
console.log(e);
|
||||
}
|
||||
|
||||
},
|
||||
onSubmit() {
|
||||
getUserList({ token: token });
|
||||
},
|
||||
|
|
@ -155,29 +258,33 @@ export default {
|
|||
>
|
||||
<el-container>
|
||||
<el-main>
|
||||
<el-col :span="8">
|
||||
<el-form :inline="true" :model="tokenData" class="demo-form-inline">
|
||||
<el-col :span="8">
|
||||
<!-- 搜索与添加区域 -->
|
||||
<el-input
|
||||
placeholder="请输入ID"
|
||||
placeholder="请输入ID或关键字"
|
||||
v-model="search_id"
|
||||
clearable
|
||||
@clear="getUserList"
|
||||
>
|
||||
</el-input>
|
||||
<el-input
|
||||
placeholder="请输入关键字"
|
||||
v-model="keyword"
|
||||
clearable
|
||||
@clear="getUserList"
|
||||
>
|
||||
</el-input>
|
||||
<template #append>
|
||||
<el-button @click="getUserList"
|
||||
><el-icon><search /></el-icon
|
||||
></el-button>
|
||||
</template>
|
||||
</el-col>
|
||||
<!-- 表单 -->
|
||||
<el-form-item>
|
||||
<el-button type="primary" @click="displayFriends()"
|
||||
>好友列表</el-button
|
||||
>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" @click="displayFriendReq()"
|
||||
>好友请求</el-button
|
||||
>
|
||||
</el-form-item>
|
||||
<!-- 表单 -->
|
||||
<el-form :inline="true" :model="tokenData" class="demo-form-inline">
|
||||
<el-form-item>
|
||||
<el-button
|
||||
|
|
@ -188,6 +295,82 @@ export default {
|
|||
>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</el-form>
|
||||
|
||||
|
||||
|
||||
<el-dialog
|
||||
title="好友请求"
|
||||
width="50%"
|
||||
v-model="FriendsRequestIsDisplay"
|
||||
center>
|
||||
|
||||
<el-table :data="FriendsGRequestList" width="100%">
|
||||
<el-table-column prop="id" label="id" width="80"></el-table-column>
|
||||
<el-table-column
|
||||
prop="name"
|
||||
label="名称"
|
||||
width="100"
|
||||
></el-table-column>
|
||||
<el-table-column
|
||||
prop="email"
|
||||
label="用户邮箱"
|
||||
width="180"
|
||||
></el-table-column>
|
||||
<el-table-column
|
||||
prop="age"
|
||||
label="用户Age"
|
||||
width="120"
|
||||
></el-table-column>
|
||||
<el-table-column>
|
||||
<template #default="scope">
|
||||
<el-button
|
||||
type="primary"
|
||||
size="mini"
|
||||
@click.prevent="AcceptFriendsOrGroup(scope.$index)"
|
||||
>同意请求</el-button
|
||||
>
|
||||
<el-button
|
||||
type="primary"
|
||||
size="mini"
|
||||
@click.prevent="RefuseFriendsOrGroup(scope.$index)"
|
||||
>拒绝请求</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</el-dialog>
|
||||
|
||||
<el-dialog
|
||||
title="用户好友"
|
||||
width="40%"
|
||||
v-model="FriendsTableIsDisplay"
|
||||
center>
|
||||
|
||||
<el-table :data="FriendsGList" width="100%">
|
||||
<el-table-column prop="id" label="id" width="80"></el-table-column>
|
||||
<el-table-column
|
||||
prop="name"
|
||||
label="名称"
|
||||
width="100"
|
||||
></el-table-column>
|
||||
<el-table-column
|
||||
prop="email"
|
||||
label="用户邮箱"
|
||||
width="180"
|
||||
></el-table-column>
|
||||
<el-table-column>
|
||||
<template #default="scope">
|
||||
<el-button
|
||||
type="primary"
|
||||
size="mini"
|
||||
@click.prevent="DelFriendsOrGroup(scope.$index)"
|
||||
>删除好友或群组</el-button
|
||||
>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</el-dialog>
|
||||
|
||||
|
||||
<!-- 表格 :row-style="this.tableRowClassName"-->
|
||||
<el-table :data="tableData" width="100%" border>
|
||||
|
|
|
|||
Loading…
Reference in New Issue