提交 3ac1e7e0 作者: Hao

add

父级 2b11e564
// axios.js // axios.js
import { useUserStore } from '../store/modules/user'
import axios from "axios"; import axios from "axios";
const instance = axios.create({ const instance = axios.create({
// baseURL: "http://192.168.31.228:8080", // 设置基础 URL baseURL: "http://192.168.31.228:8080", // 设置基础 URL
baseURL:'', // baseURL:'',
timeout: 1000, // 设置请求超时时间 timeout: 1000, // 设置请求超时时间
}); });
instance.interceptors.request.use( instance.interceptors.request.use(
(config: any) => { (config: any) => {
// 在发送请求之前做些什么,例如添加 token // 在发送请求之前做些什么,例如添加 token
const token = localStorage.getItem("token"); const token = useUserStore().userInfo.token;
if (token) { if (token) {
config.headers['X-Access-Token'] = `Bearer ${token}`; config.headers['token'] = `${useUserStore().userInfo.token}`;
} }
return config; return config;
}, },
......
...@@ -6,7 +6,6 @@ const Login = (query: any) => { ...@@ -6,7 +6,6 @@ const Login = (query: any) => {
method: "post", method: "post",
data: query, data: query,
}); });
}; };
//新增询价单 //新增询价单
const InquiryAdd = (query: any) => { const InquiryAdd = (query: any) => {
...@@ -27,17 +26,17 @@ const Kjiehuifu = (query: any) => { ...@@ -27,17 +26,17 @@ const Kjiehuifu = (query: any) => {
//获取用户列表 //获取用户列表
const getUserList = (query: any) => { const getUserList = (query: any) => {
return http({ return http({
url: "/getUserList", url: "/kf/chat/getChatList",
method: "get", method: "get",
data: query, params: query,
}); });
}; };
//查看未读消息 //查看未读消息
const checkMesssages = (query: any) => { const checkMesssages = (query: any) => {
return http({ return http({
url: "/checkMesssages", url: "/kf/chat/getChatHisList",
method: "get", method: "get",
data: query, params: query,
}); });
}; };
//上传接口 //上传接口
...@@ -58,11 +57,11 @@ const upload = (query: any) => { ...@@ -58,11 +57,11 @@ const upload = (query: any) => {
}); });
}; };
//删除 //删除
const deleteUserList = (query: any) => { const deleteUserList = (query: any) => {
return http({ return http({
url: `/deleteUserList`, url: `/deleteUserList`,
method: "delete", method: "delete",
params:query params: query,
}); });
}; };
export { export {
...@@ -73,5 +72,5 @@ export { ...@@ -73,5 +72,5 @@ export {
checkMesssages, checkMesssages,
upload, upload,
getUploadConfigInfo, getUploadConfigInfo,
deleteUserList deleteUserList,
}; };
// import io from 'socket.io-client';
// import { ref, onMounted, onUnmounted } from 'vue'
// import { ElMessage } from 'element-plus'
// export default function () {
// const message = {};
// const showMessage = {};
// const socket = ref(new WebSocket("ws://192.168.31.228:8888?username=admin&password=123"));
// socket.value.onopen = function (e) {
// console.log(e)
// }
// socket.value.onerror = function(e){
// console.log(e)
// };
// socket.value.onmessage = function (e) {
// console.log(e)
// };
// return {
// message,
// showMessage
// }
// }
\ No newline at end of file
import moment from "moment"; import moment from "moment";
import { defineStore } from "pinia"; import { defineStore } from "pinia";
import { getUserList } from "@/axios/model/user";
export const useUserStore = defineStore("user", { export const useUserStore = defineStore("user", {
state: () => { state: () => {
return { return {
...@@ -9,8 +10,8 @@ export const useUserStore = defineStore("user", { ...@@ -9,8 +10,8 @@ export const useUserStore = defineStore("user", {
count: 0, count: 0,
userInfo: { userInfo: {
username: "admin", username: "admin",
password:"", password: "",
token:"" token: "",
}, },
userList: [], userList: [],
}; };
...@@ -25,57 +26,29 @@ export const useUserStore = defineStore("user", { ...@@ -25,57 +26,29 @@ export const useUserStore = defineStore("user", {
setUserInfo(res: any) { setUserInfo(res: any) {
this.userInfo = res; this.userInfo = res;
}, },
setUserList(res: any) { // setUserList(res: any) {
this.userList = res; // this.userList = res;
}, // },
setUserListMessages(res: any) { setUserListMessages(res: any) {
console.log(res) console.log("调取setUserListMessages");
const userList: any = this.userList || []; return new Promise((resolve, reject) => {
// res.from = res.from.replace('游客','') const query = {
const obj = { code: this.userInfo.username,
...res, };
isSent: false, getUserList(query).then(({ success, result, message }: any) => {
userImg: if (success) {
"https://cdn.lirimall.com//lirigo/filetempImage/新鲜水果_1661668973048.png", this.userList = result.map((item: any) => {
time: moment(res.createTime).format("YYYY-DD-MM HH:mm:ss"), return {
}; ...item,
username: item.id,
const info = { messages: [],
userId: res.id, };
username: res.from, });
messages: [obj], console.log(this.userList);
userImg: obj.userImg, resolve(result);
}; }
if (
userList.length > 0 &&
userList.some((item: any) => item.username == res.from)
) {
userList.forEach((item: any) => {
if (item.username == res.from) item.messages.push(obj);
});
} else {
userList.push(info);
}
this.userList = userList;
},
setusernameMessage(res: any) {
const friends = res.friends;
for (const key in friends) {
const chatDatas = friends[key];
chatDatas.forEach((item: any) => {
item.userImg =
"https://cdn.lirimall.com//lirigo/filetempImage/新鲜水果_1661668973048.png";
item.time = moment(res.createTime).format("YYYY-DD-MM HH:mm:ss");
}); });
for (const index in chatDatas) { });
const userId = chatDatas[index].from;
this.userList.forEach((item: any) => {
if (item && item?.username == userId) {
item.messages = chatDatas;
}
});
}
}
}, },
connect() { connect() {
// 连接成功后,将 isConnected 状态设置为 true // 连接成功后,将 isConnected 状态设置为 true
......
...@@ -26,7 +26,7 @@ function creatWebSocket(wsUrl: string) { ...@@ -26,7 +26,7 @@ function creatWebSocket(wsUrl: string) {
// 初始化websocket // 初始化websocket
function initWebSocket(wsUrl: string) { function initWebSocket(wsUrl: string) {
if (!websocket) websocket = new WebSocket(wsUrl); if (!websocket) websocket = new WebSocket(wsUrl);
websocket.onopen = function () { websocket.onopen = function (eee) {
websocketOpen(); websocketOpen();
}; };
// // 接收 // // 接收
...@@ -64,14 +64,14 @@ function websocketOpen() { ...@@ -64,14 +64,14 @@ function websocketOpen() {
} }
// 数据接收 // 数据接收
function websocketonmessage(e: MessageEvent<any>) { function websocketonmessage(e: MessageEvent<any>) {
console.log('接受数据',e.data)
const res = JSON.parse(e.data); // 解析JSON格式的数据 const res = JSON.parse(e.data); // 解析JSON格式的数据
// 下面的判断则是后台返回的接收到的数据 如何处理自己决定 console.log(res,'res')
if (res.command == 11) { if (res.command == 11) {
//将数据放在store中 //将数据放在store中
useUserStore().setUserListMessages(res.data); // 下面的判断则是后台返回的接收到的数据 如何处理自己决定
} else if (res.command == 20) { useUserStore()
useUserStore().setusernameMessage(res.data); .setUserListMessages(res.data)
.then();
} }
} }
...@@ -82,7 +82,6 @@ function websocketclose(e: any) { ...@@ -82,7 +82,6 @@ function websocketclose(e: any) {
// 数据发送 // 数据发送
function websocketsend(res: any) { function websocketsend(res: any) {
console.log(websocket, "websocket");
if (websocket && useUserStore().isConnected) { if (websocket && useUserStore().isConnected) {
// 检查连接状态 // 检查连接状态
console.log("发送的数据", websocket); console.log("发送的数据", websocket);
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论