Browse Source

一些优化

master
xsx 2 years ago
parent
commit
764797bf12
  1. 1
      im-platform/src/main/resources/application-dev.yml
  2. 1
      im-server/src/main/resources/application-dev.yml
  3. 15
      im-uniapp/App.vue
  4. 7
      im-uniapp/pages/chat/chat.vue
  5. 38
      im-uniapp/pages/friend/friend.vue
  6. 3
      im-uniapp/pages/login/login.vue
  7. 6
      im-uniapp/pages/register/register.vue
  8. 2
      im-uniapp/store/friendStore.js
  9. 5
      im-web/src/view/Home.vue

1
im-platform/src/main/resources/application-dev.yml

@ -8,6 +8,7 @@ spring:
redis: redis:
host: localhost host: localhost
port: 6379 port: 6379
database: 1
minio: minio:
endpoint: http://127.0.0.1:9001 #内网地址 endpoint: http://127.0.0.1:9001 #内网地址

1
im-server/src/main/resources/application-dev.yml

@ -3,4 +3,5 @@ spring:
redis: redis:
host: 127.0.0.1 host: 127.0.0.1
port: 6379 port: 6379
database: 1

15
im-uniapp/App.vue

@ -9,12 +9,14 @@
export default { export default {
data() { data() {
return { return {
isExit: false, // 退
audioTip: null, audioTip: null,
reconnecting: false // reconnecting: false //
} }
}, },
methods: { methods: {
init() { init() {
this.isExit = false;
// //
store.dispatch("load").then(() => { store.dispatch("load").then(() => {
// websocket // websocket
@ -62,11 +64,9 @@
}); });
wsApi.onClose((res) => { wsApi.onClose((res) => {
console.log("ws断开", res); console.log("ws断开", res);
// 3099 //
if (res.code != 3099) { this.reconnectWs();
//
this.reconnectWs();
}
}) })
}, },
pullPrivateOfflineMessage(minId) { pullPrivateOfflineMessage(minId) {
@ -281,6 +281,7 @@
}, },
exit() { exit() {
console.log("exit"); console.log("exit");
this.isExit = true;
wsApi.close(3099); wsApi.close(3099);
uni.removeStorageSync("loginInfo"); uni.removeStorageSync("loginInfo");
uni.reLaunch({ uni.reLaunch({
@ -301,6 +302,10 @@
return loginInfo.expireTime < new Date().getTime(); return loginInfo.expireTime < new Date().getTime();
}, },
reconnectWs() { reconnectWs() {
// 退
if (this.isExit) {
return;
}
// //
this.reconnecting = true; this.reconnecting = true;
// token // token

7
im-uniapp/pages/chat/chat.vue

@ -1,6 +1,5 @@
<template> <template>
<view class="tab-page"> <view class="tab-page">
<view v-if="loading" class="chat-loading"> <view v-if="loading" class="chat-loading">
<loading :size="50" :mask="false"> <loading :size="50" :mask="false">
<view>消息接收中...</view> <view>消息接收中...</view>
@ -171,9 +170,11 @@
.chat-loading { .chat-loading {
display: block; display: block;
width: 100%; width: 100%;
height: 100rpx; height: 120rpx;
background: white; background: white;
position: relative; position: fixed;
top: 0;
z-index: 999;
color: blue; color: blue;
.loading-box { .loading-box {

38
im-uniapp/pages/friend/friend.vue

@ -2,7 +2,7 @@
<view class="tab-page friend"> <view class="tab-page friend">
<view class="nav-bar"> <view class="nav-bar">
<view class="nav-search"> <view class="nav-search">
<uni-search-bar radius="100" @input="onInput" cancelButton="none" placeholder="点击搜索好友"></uni-search-bar> <uni-search-bar v-model="searchText" radius="100" cancelButton="none" placeholder="点击搜索好友"></uni-search-bar>
</view> </view>
<view class="nav-add" @click="onAddNewFriends()"> <view class="nav-add" @click="onAddNewFriends()">
<uni-icons type="personadd" size="35"></uni-icons> <uni-icons type="personadd" size="35"></uni-icons>
@ -13,7 +13,7 @@
</view> </view>
<view class="friend-items" v-else> <view class="friend-items" v-else>
<up-index-list :index-list="friendIdx" > <up-index-list :index-list="friendIdx" >
<template v-for="(friends,i) in friendGroup"> <template v-for="(friends,i) in friendGroups">
<up-index-item> <up-index-item>
<up-index-anchor :text="friendIdx[i]=='*'?'在线':friendIdx[i]" <up-index-anchor :text="friendIdx[i]=='*'?'在线':friendIdx[i]"
bgColor="#f2f3fd"></up-index-anchor> bgColor="#f2f3fd"></up-index-anchor>
@ -34,16 +34,10 @@
export default { export default {
data() { data() {
return { return {
searchText: '', searchText: ''
friendIdx: [],
friendGroup: []
} }
}, },
methods: { methods: {
onInput(searchText){
this.searchText = searchText;
this.refreshFriendGroup()
},
onAddNewFriends() { onAddNewFriends() {
uni.navigateTo({ uni.navigateTo({
url: "/pages/friend/friend-add" url: "/pages/friend/friend-add"
@ -60,8 +54,13 @@
}, },
isEnglish(character) { isEnglish(character) {
return /^[A-Za-z]+$/.test(character); return /^[A-Za-z]+$/.test(character);
}
},
computed: {
friends() {
return this.$store.state.friendStore.friends;
}, },
refreshFriendGroup() { friendGroupMap(){
// //
let groupMap = new Map(); let groupMap = new Map();
this.friends.forEach((f) => { this.friends.forEach((f) => {
@ -95,20 +94,15 @@
return a[0].localeCompare(b[0]) return a[0].localeCompare(b[0])
}) })
groupMap = new Map(arrayObj.map(i => [i[0], i[1]])); groupMap = new Map(arrayObj.map(i => [i[0], i[1]]));
this.friendIdx = Array.from(groupMap.keys()) return groupMap;
this.friendGroup = Array.from(groupMap.values());
}
},
computed: {
friends() {
return this.$store.state.friendStore.friends;
}, },
}, friendIdx(){
onShow() { return Array.from(this.friendGroupMap.keys());
this.refreshFriendGroup(); },
friendGroups(){
return Array.from(this.friendGroupMap.values());
}
} }
} }
</script> </script>

3
im-uniapp/pages/login/login.vue

@ -13,7 +13,6 @@
<navigator class="nav-register" url="/pages/register/register"> <navigator class="nav-register" url="/pages/register/register">
没有账号,前往注册 没有账号,前往注册
</navigator> </navigator>
</view> </view>
</template> </template>
@ -77,7 +76,7 @@
.title { .title {
padding-top: 150rpx; padding-top: 150rpx;
padding-bottom: 100rpx; padding-bottom: 50rpx;
color: royalblue; color: royalblue;
text-align: center; text-align: center;
font-size: 60rpx; font-size: 60rpx;

6
im-uniapp/pages/register/register.vue

@ -1,6 +1,6 @@
<template> <template>
<view class="register"> <view class="register">
<view class="title">用户注册</view> <view class="title">欢迎注册</view>
<uni-forms class="form" :modelValue="dataForm" :rules="rules" validate-trigger="bind" label-width="80px"> <uni-forms class="form" :modelValue="dataForm" :rules="rules" validate-trigger="bind" label-width="80px">
<uni-forms-item name="userName" label="用户名"> <uni-forms-item name="userName" label="用户名">
<uni-easyinput type="text" v-model="dataForm.userName" placeholder="用户名" /> <uni-easyinput type="text" v-model="dataForm.userName" placeholder="用户名" />
@ -76,7 +76,7 @@
method: 'POST' method: 'POST'
}).then(() => { }).then(() => {
uni.showToast({ uni.showToast({
title: "注册成功", title: "注册成功,您已成为盒子IM的用户",
icon: 'none' icon: 'none'
}) })
this.login(); this.login();
@ -114,7 +114,7 @@
.register { .register {
.title { .title {
padding-top: 150rpx; padding-top: 150rpx;
padding-bottom: 100rpx; padding-bottom: 50rpx;
color: royalblue; color: royalblue;
text-align: center; text-align: center;
font-size: 60rpx; font-size: 60rpx;

2
im-uniapp/store/friendStore.js

@ -83,7 +83,6 @@ export default {
}, },
actions: { actions: {
loadFriend(context) { loadFriend(context) {
console.log("loadFriend")
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
http({ http({
url: '/friend/list', url: '/friend/list',
@ -92,7 +91,6 @@ export default {
context.commit("setFriends", friends); context.commit("setFriends", friends);
context.commit("refreshOnlineStatus"); context.commit("refreshOnlineStatus");
resolve() resolve()
console.log("loadFriend ok")
}).catch((res) => { }).catch((res) => {
reject(); reject();
}) })

5
im-web/src/view/Home.vue

@ -269,6 +269,11 @@
location.href = "/"; location.href = "/";
}, },
playAudioTip() { playAudioTip() {
// 线
if(this.$store.getters.isLoading()){
return;
}
//
if (new Date().getTime() - this.lastPlayAudioTime > 1000) { if (new Date().getTime() - this.lastPlayAudioTime > 1000) {
this.lastPlayAudioTime = new Date().getTime(); this.lastPlayAudioTime = new Date().getTime();
let audio = new Audio(); let audio = new Audio();

Loading…
Cancel
Save