修复用户搜索问题,添加用户接受好友
This commit is contained in:
parent
2ac513bda8
commit
b98d3313f5
|
|
@ -40,6 +40,30 @@ export const getUUIDService = (registerData) => {
|
||||||
return request.post('/user/uuid', params)
|
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) => {
|
export const SearchUserService = (Data) => {
|
||||||
const params = new URLSearchParams();
|
const params = new URLSearchParams();
|
||||||
for (let key in Data) {
|
for (let key in Data) {
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,11 @@
|
||||||
<script>
|
<script>
|
||||||
import axios from "axios";
|
import axios from "axios";
|
||||||
import { SearchUserService } from "@/api/user.js";
|
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 router from "@/router/index.js";
|
||||||
import Cookies from "js-cookie";
|
import Cookies from "js-cookie";
|
||||||
|
import { getFriendListService } from "@/api/chat.js";
|
||||||
import {sendMessageService} from "@/api/chat.js";
|
import {sendMessageService} from "@/api/chat.js";
|
||||||
import { ElMessage } from 'element-plus';
|
import { ElMessage } from 'element-plus';
|
||||||
export default {
|
export default {
|
||||||
|
|
@ -12,6 +15,11 @@ export default {
|
||||||
tableData: [],
|
tableData: [],
|
||||||
search_id: 2002,
|
search_id: 2002,
|
||||||
keyword: "",
|
keyword: "",
|
||||||
|
FriendsRequestIsDisplay:false,
|
||||||
|
FriendsGRequestList:[],
|
||||||
|
FriendsTableIsDisplay:false,
|
||||||
|
FriendsGList:[],
|
||||||
|
GroupList:[],
|
||||||
tokenData: {
|
tokenData: {
|
||||||
token: localStorage.getItem("token"),
|
token: localStorage.getItem("token"),
|
||||||
ip: localStorage.getItem("ip"),
|
ip: localStorage.getItem("ip"),
|
||||||
|
|
@ -29,11 +37,23 @@ export default {
|
||||||
async getUserList() {
|
async getUserList() {
|
||||||
let result = {};
|
let result = {};
|
||||||
try {
|
try {
|
||||||
if(this.search_id === "" || this.search_id === null){
|
//判断search_id是字符串还是数字
|
||||||
this.search_id = -1;
|
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("search_id", this.search_id);
|
||||||
Cookies.set("keyword", this.keyword);
|
Cookies.set("keyword", this.keyword);
|
||||||
result = await SearchUserService(this.tokenData);
|
result = await SearchUserService(this.tokenData);
|
||||||
|
|
@ -64,6 +84,89 @@ export default {
|
||||||
console.log(e);
|
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() {
|
onSubmit() {
|
||||||
getUserList({ token: token });
|
getUserList({ token: token });
|
||||||
},
|
},
|
||||||
|
|
@ -155,29 +258,33 @@ export default {
|
||||||
>
|
>
|
||||||
<el-container>
|
<el-container>
|
||||||
<el-main>
|
<el-main>
|
||||||
<el-col :span="8">
|
<el-form :inline="true" :model="tokenData" class="demo-form-inline">
|
||||||
|
<el-col :span="8">
|
||||||
<!-- 搜索与添加区域 -->
|
<!-- 搜索与添加区域 -->
|
||||||
<el-input
|
<el-input
|
||||||
placeholder="请输入ID"
|
placeholder="请输入ID或关键字"
|
||||||
v-model="search_id"
|
v-model="search_id"
|
||||||
clearable
|
clearable
|
||||||
@clear="getUserList"
|
@clear="getUserList"
|
||||||
>
|
>
|
||||||
</el-input>
|
</el-input>
|
||||||
<el-input
|
|
||||||
placeholder="请输入关键字"
|
|
||||||
v-model="keyword"
|
|
||||||
clearable
|
|
||||||
@clear="getUserList"
|
|
||||||
>
|
|
||||||
</el-input>
|
|
||||||
<template #append>
|
<template #append>
|
||||||
<el-button @click="getUserList"
|
<el-button @click="getUserList"
|
||||||
><el-icon><search /></el-icon
|
><el-icon><search /></el-icon
|
||||||
></el-button>
|
></el-button>
|
||||||
</template>
|
</template>
|
||||||
</el-col>
|
</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 :inline="true" :model="tokenData" class="demo-form-inline">
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-button
|
<el-button
|
||||||
|
|
@ -188,6 +295,82 @@ export default {
|
||||||
>
|
>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</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"-->
|
<!-- 表格 :row-style="this.tableRowClassName"-->
|
||||||
<el-table :data="tableData" width="100%" border>
|
<el-table :data="tableData" width="100%" border>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue