|
|
@ -13,9 +13,9 @@ |
|
|
</add-friend> |
|
|
</add-friend> |
|
|
</el-header> |
|
|
</el-header> |
|
|
<el-main> |
|
|
<el-main> |
|
|
<div v-for="(friendInfo,index) in $store.state.friendStore.friends" :key="friendInfo.id"> |
|
|
<div v-for="(friend,index) in $store.state.friendStore.friends" :key="friend.id"> |
|
|
<friend-item v-show="friendInfo.friendNickName.startsWith(searchText)" :friendInfo="friendInfo" :index="index" |
|
|
<friend-item v-show="friend.nickName.startsWith(searchText)" :friend="friend" :index="index" |
|
|
:active="index === $store.state.friendStore.activeIndex" @del="handleDelItem(friendInfo,index)" @click.native="handleActiveItem(friendInfo,index)"> |
|
|
:active="index === $store.state.friendStore.activeIndex" @del="handleDelItem(friend,index)" @click.native="handleActiveItem(friend,index)"> |
|
|
</friend-item> |
|
|
</friend-item> |
|
|
</div> |
|
|
</div> |
|
|
</el-main> |
|
|
</el-main> |
|
|
@ -23,15 +23,15 @@ |
|
|
<el-container class="r-friend-box"> |
|
|
<el-container class="r-friend-box"> |
|
|
<div v-show="$store.state.friendStore.activeIndex>=0"> |
|
|
<div v-show="$store.state.friendStore.activeIndex>=0"> |
|
|
<div class="user-detail"> |
|
|
<div class="user-detail"> |
|
|
<head-image class="detail-head-image" :url="activeUserInfo.headImage"></head-image> |
|
|
<head-image class="detail-head-image" :url="activeUser.headImage"></head-image> |
|
|
<div class="info-item"> |
|
|
<div class="info-item"> |
|
|
<el-descriptions title="好友信息" class="description" :column="1"> |
|
|
<el-descriptions title="好友信息" class="description" :column="1"> |
|
|
<el-descriptions-item label="用户名">{{ activeUserInfo.userName }} |
|
|
<el-descriptions-item label="用户名">{{ activeUser.userName }} |
|
|
</el-descriptions-item> |
|
|
</el-descriptions-item> |
|
|
<el-descriptions-item label="昵称">{{ activeUserInfo.nickName }} |
|
|
<el-descriptions-item label="昵称">{{ activeUser.nickName }} |
|
|
</el-descriptions-item> |
|
|
</el-descriptions-item> |
|
|
<el-descriptions-item label="性别">{{ activeUserInfo.sex==0?"男":"女" }}</el-descriptions-item> |
|
|
<el-descriptions-item label="性别">{{ activeUser.sex==0?"男":"女" }}</el-descriptions-item> |
|
|
<el-descriptions-item label="签名">{{ activeUserInfo.signature }}</el-descriptions-item> |
|
|
<el-descriptions-item label="签名">{{ activeUser.signature }}</el-descriptions-item> |
|
|
</el-descriptions> |
|
|
</el-descriptions> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
@ -59,7 +59,7 @@ |
|
|
return { |
|
|
return { |
|
|
searchText: "", |
|
|
searchText: "", |
|
|
showAddFriend: false, |
|
|
showAddFriend: false, |
|
|
activeUserInfo: {} |
|
|
activeUser: {} |
|
|
} |
|
|
} |
|
|
}, |
|
|
}, |
|
|
methods: { |
|
|
methods: { |
|
|
@ -69,26 +69,26 @@ |
|
|
handleCloseAddFriend() { |
|
|
handleCloseAddFriend() { |
|
|
this.showAddFriend = false; |
|
|
this.showAddFriend = false; |
|
|
}, |
|
|
}, |
|
|
handleActiveItem(friendInfo, index) { |
|
|
handleActiveItem(friend, index) { |
|
|
this.$store.commit("activeFriend", index); |
|
|
this.$store.commit("activeFriend", index); |
|
|
this.$http({ |
|
|
this.$http({ |
|
|
url: `/api/user/find/${friendInfo.friendId}`, |
|
|
url: `/api/user/find/${friend.id}`, |
|
|
method: 'get' |
|
|
method: 'get' |
|
|
}).then((userInfo) => { |
|
|
}).then((user) => { |
|
|
this.activeUserInfo = userInfo; |
|
|
this.activeUser = user; |
|
|
// 如果发现好友的头像和昵称改了,进行更新 |
|
|
// 如果发现好友的头像和昵称改了,进行更新 |
|
|
if (userInfo.headImageThumb != friendInfo.friendHeadImage || |
|
|
if (user.headImageThumb != friend.headImage || |
|
|
userInfo.nickName != friendInfo.friendNickName) { |
|
|
user.nickName != friend.nickName) { |
|
|
this.updateFriendInfo(friendInfo, userInfo, index) |
|
|
this.updateFriendInfo(friend, user, index) |
|
|
} |
|
|
} |
|
|
}) |
|
|
}) |
|
|
}, |
|
|
}, |
|
|
handleDelItem(friendInfo, index) { |
|
|
handleDelItem(friend, index) { |
|
|
this.$http({ |
|
|
this.$http({ |
|
|
url: '/api/friend/delete', |
|
|
url: '/api/friend/delete', |
|
|
method: 'delete', |
|
|
method: 'delete', |
|
|
params: { |
|
|
params: { |
|
|
friendId: friendInfo.friendId |
|
|
friendId: friend.id |
|
|
} |
|
|
} |
|
|
}).then((data) => { |
|
|
}).then((data) => { |
|
|
this.$message.success("删除好友成功"); |
|
|
this.$message.success("删除好友成功"); |
|
|
@ -96,27 +96,27 @@ |
|
|
}) |
|
|
}) |
|
|
}, |
|
|
}, |
|
|
handleSendMessage() { |
|
|
handleSendMessage() { |
|
|
let userInfo = this.activeUserInfo; |
|
|
let user = this.activeUser; |
|
|
let chatInfo = { |
|
|
let chat = { |
|
|
type: 'single', |
|
|
type: 'single', |
|
|
targetId: userInfo.id, |
|
|
targetId: user.id, |
|
|
showName: userInfo.nickName, |
|
|
showName: user.nickName, |
|
|
headImage: userInfo.headImage, |
|
|
headImage: user.headImage, |
|
|
}; |
|
|
}; |
|
|
this.$store.commit("openChat", chatInfo); |
|
|
this.$store.commit("openChat", chat); |
|
|
this.$store.commit("activeChat", 0); |
|
|
this.$store.commit("activeChat", 0); |
|
|
this.$router.push("/home/chat"); |
|
|
this.$router.push("/home/chat"); |
|
|
}, |
|
|
}, |
|
|
updateFriendInfo(friendInfo, userInfo, index) { |
|
|
updateFriendInfo(friend, user, index) { |
|
|
friendInfo.friendHeadImage = userInfo.headImageThumb; |
|
|
friend.headImage = user.headImageThumb; |
|
|
friendInfo.friendNickName = userInfo.nickName; |
|
|
friend.nickName = user.nickName; |
|
|
this.$http({ |
|
|
this.$http({ |
|
|
url: "/api/friend/update", |
|
|
url: "/api/friend/update", |
|
|
method: "put", |
|
|
method: "put", |
|
|
data: friendInfo |
|
|
data: friend |
|
|
}).then(() => { |
|
|
}).then(() => { |
|
|
this.$store.commit("updateFriend", friendInfo); |
|
|
this.$store.commit("updateFriend", friend); |
|
|
this.$store.commit("setChatUserInfo", userInfo); |
|
|
this.$store.commit("updateChatFromUser", user); |
|
|
}) |
|
|
}) |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|