jackson hace 11 meses
padre
commit
228d74fe85

+ 14 - 44
src/api/index.ts

@@ -1,100 +1,78 @@
 import {Obj} from "../interface";
 import request from '../utils/request'
-import store from "../store";
 
 export function register(data: Obj) {
   return request({
     url: '/goim/user/register',
-    method: 'post',
-    params: data,
-    data
+    params: data
   })
 }
 
 export function login(data: Obj) {
   return request({
     url: '/goim/user/login',
-    method: 'post',
-    params: data,
-    data
+    params: data
   })
 }
 
-export function getFriends(params: Obj) {
+export function getFriends() {
   return request({
     url: '/goim/get/friends',
-    method: 'post',
-    params
   })
 }
 
 export function addFriend(data: Obj) {
   return request({
     url: '/goim/add/friend',
-    method: 'post',
-    params: data,
-    data
+    params: data
   })
 }
 
-export function getGroups(params: Obj) {
+export function getGroups() {
   return request({
-    url: '/goim/get/groups',
-    method: 'post',
-    params
+    url: '/goim/get/groups'
   })
 }
 
+// 创建群
 export function addGroup(data: Obj) {
   return request({
     url: '/goim/add/group',
-    method: 'post',
-    params: data,
-    data
+    params: data
   })
 }
 
 export function groupMembers(data: Obj) {
   return request({
     url: '/goim/get/groupMembers',
-    method: 'post',
-    params: data,
-    data
+    params: data
   })
 }
 
 export function addGroupMember(data: Obj) {
   return request({
     url: '/goim/add/groupMember',
-    method: 'post',
-    params: data,
-    data
+    params: data
   })
 }
 
 export function findUser(data: Obj) {
   return request({
     url: '/goim/find/user',
-    method: 'post',
-    params: data,
-    data
+    params: data
   })
 }
 
 export function messageList(data: Obj) {
   return request({
     url: '/goim/get/messages',
-    method: 'post',
-    params: {token: store.state.userInfo.token},
-    data
+    data,
   })
 }
 
 export function sendMessageToUser(data: Obj) {
   return request({
     url: `/goim/push/mids?operation=1000&mids=${data.to}`,
-    method: 'post',
-    params: {token: store.state.userInfo.token},
     data
   })
 }
@@ -102,8 +80,6 @@ export function sendMessageToUser(data: Obj) {
 export function sendMessageToGroup(data: Obj) {
   return request({
     url: `/goim/push/rooms?operation=${data.fromUserId}&type=live&room=${data.to}`,
-    method: 'post',
-    params: {token: store.state.userInfo.token},
     data
   })
 }
@@ -111,26 +87,20 @@ export function sendMessageToGroup(data: Obj) {
 export function deleteFriend(data: Obj) {
   return request({
     url: '/goim/del/friend',
-    method: 'post',
-    params: data,
-    data,
+    params: data
   })
 }
 
 export function deleteExitGroup(data: Obj) {
   return request({
     url: '/goim/del/groupMember',
-    method: 'post',
-    params: data,
-    data,
+    params: data
   })
 }
 
 export function noReadNum(data: Obj) {
   return request({
     url: '/goim/clear/noReadNum',
-    method: 'post',
-    params: data,
     data,
   })
 }

+ 14 - 5
src/store/index.ts

@@ -1,23 +1,32 @@
 import {createStore} from "vuex";
 import {setLocalStorage, getLocalStorage} from "../utils";
-import {StrNumObj} from "../interface";
+import {Obj, StrNumObj} from "../interface";
 import router from "../router"
 
 interface State {
   userInfo: StrNumObj,
-  chatUserInfo: StrNumObj,
+  chatUserInfo: Obj,
   isShowChat: boolean,
   isShowUserInfo: boolean,
   isShowGroupInfo: boolean,
   isShowRight: boolean,
   isSearching: boolean,
-  userList: StrNumObj[],
+  userList: any[],
 }
 
 export default createStore({
   state: {
     userInfo: getLocalStorage('userInfo') || {}, //自己的信息
-    chatUserInfo: {},  //当前聊天用户的信息
+    chatUserInfo: {
+      friendId: 0,
+      friendName: '',
+      id: 0,
+      isGroup: 0,
+      noReadNum: 0,
+      userId: 0,
+      userName: '',
+      nickname: '',
+    },  //当前聊天用户的信息
     isShowChat: false,
     isShowUserInfo: false,
     isShowGroupInfo: false,
@@ -59,7 +68,7 @@ export default createStore({
     },
     setNotReadMessage(state, id) {
       state.userList.forEach((item: any) => {
-        if(id === item.friendId){
+        if (id === item.friendId) {
           item.noReadNum++;
         }
       })

+ 6 - 1
src/utils/request.ts

@@ -12,10 +12,15 @@ defaults.headers['Content-Type'] = 'application/x-www-form-urlencoded;charset=ut
 
 const service = axios.create({
   baseURL: Config.baseUrl,
-  timeout: 30 * 1000
+  timeout: 30 * 1000,
+  method: 'post',
 })
 
 service.interceptors.request.use((config: Obj): Obj => {
+    if (store.state.userInfo.token) {
+      config.params = {...config.params, token: store.state.userInfo.token}
+    }
+    config.data = JSON.stringify(config.data)
     return config
   }, (error: Obj) => {
     Toast(error.message)

+ 8 - 0
src/views/home/left/components/PersonalCenter.vue

@@ -80,4 +80,12 @@ export default defineComponent({
     margin-left: 10px;
   }
 }
+
+.van-cell {
+  transition: background 0.3s;
+
+  &:hover {
+    background: #f1f1f1;
+  }
+}
 </style>

+ 11 - 13
src/views/home/left/components/UserSearchList.vue

@@ -117,12 +117,11 @@ export default defineComponent({
     })
 
     const store = useStore()
-    const token = store.state.userInfo.token
 
     const userChange = () => {
       if (state.username) {
         state.isSearching = true
-        state.searchedUserList = store.state.userList.filter((item: any) => item.friendName.includes(state.username))
+        state.searchedUserList = store.state.userList.filter((item: Obj) => item.friendName.includes(state.username))
       } else {
         state.isSearching = false
         state.searchedUserList = []
@@ -131,9 +130,9 @@ export default defineComponent({
       clearTimeout(state.timer)
       state.timer = setTimeout(() => {
         state.searchedGlobalUserList = []
-        if (state.username.length >= 6 && store.state.userList.every((item: StrNumObj) => item.friendName !== state.username)) {
+        if (state.username.length >= 6 && store.state.userList.every((item: Obj) => item.friendName !== state.username)) {
           store.commit('setIsSearching', true)
-          findUser({token, username: state.username}).then(({data}) => {
+          findUser({username: state.username}).then(({data}) => {
             state.searchedGlobalUserList = [data]
           }).finally(() => {
             store.commit('setIsSearching', false)
@@ -146,7 +145,7 @@ export default defineComponent({
       if (item.id === store.state.userInfo.id) {
         return Toast('不能添加自己')
       }
-      await addFriend({token, id: item.id})
+      await addFriend({id: item.id})
       state.username = ''
       state.isSearching = false
       let obj = {
@@ -166,15 +165,14 @@ export default defineComponent({
     }
 
     const getUserList = async () => {
-      if (token) {
-        const {data} = await getFriends({token})
+      if (store.state.userInfo.token) {
+        const {data} = await getFriends()
         store.state.userList = data
       }
     }
 
     const getNoReadNum = async (item: StrNumObj) => {
       await noReadNum({
-        token,
         fromId: item.userId,
         toId: item.friendId,
         messageType: item.isGroup
@@ -202,12 +200,12 @@ export default defineComponent({
         if (state.name === store.state.userInfo.username) {
           return Toast('不能添加自己')
         }
-        if (store.state.userList.some((item: StrNumObj) => item.friendName === state.name)) {
+        if (store.state.userList.some((item: Obj) => item.friendName === state.name)) {
           return Toast(state.name + '已存在')
         }
         Toast.loading('提交中...')
-        let {data} = await findUser({token, username: state.name})
-        await addFriend({token, id: data.id})
+        let {data} = await findUser({username: state.name})
+        await addFriend({id: data.id})
         let obj = {
           isGroup: 1,
           userId: store.state.userInfo.id,
@@ -218,11 +216,11 @@ export default defineComponent({
         selectUser(obj)
         Toast.success('添加成功')
       } else {
-        if (store.state.userList.some((item: StrNumObj) => item.friendName === state.name)) {
+        if (store.state.userList.some((item: Obj) => item.friendName === state.name)) {
           return Toast(state.name + '已存在')
         }
         Toast.loading('提交中...')
-        await addGroup({token, groupName: state.name})
+        await addGroup({groupName: state.name})
         getUserList()
         Toast.success('创建成功')
       }

+ 1 - 2
src/views/home/right/components/Chat.vue

@@ -290,7 +290,7 @@ export default defineComponent({
       let chatUserInfo = store.state.chatUserInfo
       let userInfo = store.state.userInfo
       if (action.value === 'deleteFriend') {
-        await deleteFriend({token: userInfo.token, id: chatUserInfo.friendId})
+        await deleteFriend({id: chatUserInfo.friendId})
         let i = store.state.userList.indexOf(chatUserInfo)
         store.state.userList.splice(i, 1)
         store.commit('setIsShowChat', false)
@@ -298,7 +298,6 @@ export default defineComponent({
       }
       if (action.value === 'exitGroup') { //如果自己是群主的话,那就解散群
         await deleteExitGroup({
-          token: userInfo.token,
           groupId: chatUserInfo.friendId,
           username: userInfo.username
         })

+ 1 - 7
src/views/home/right/components/GroupInfo.vue

@@ -70,12 +70,8 @@ export default defineComponent({
     })
 
     const store = useStore()
-    const token = store.state.userInfo.token
     const getGroupMembers = async () => {
-      let {data} = await groupMembers({
-        token,
-        groupId: store.state.chatUserInfo.friendId
-      })
+      let {data} = await groupMembers({groupId: store.state.chatUserInfo.friendId})
       state.memberList = data
       state.admin = data.find((item:StrNumObj) => item.IsAdmin === 1).username
     }
@@ -90,7 +86,6 @@ export default defineComponent({
       }
       Toast.loading('提交中...')
       await addGroupMember({
-        token,
         username: state.username,
         groupId: store.state.chatUserInfo.friendId
       })
@@ -103,7 +98,6 @@ export default defineComponent({
     const removeUser = async (item: StrNumObj, index: number) => {
       Toast.loading('删除中...')
       await deleteExitGroup({
-        token,
         groupId: store.state.chatUserInfo.friendId,
         username: item.username
       })