From 633dc3292ef53ebcc2528fa1feff8e1a97aa1e9e Mon Sep 17 00:00:00 2001 From: xsx <825657193@qq.com> Date: Wed, 9 Oct 2024 18:06:59 +0800 Subject: [PATCH 1/5] =?UTF-8?q?=E7=A7=BB=E9=99=A4=E5=BC=80=E5=8F=91?= =?UTF-8?q?=E7=8E=AF=E5=A2=83ssl=E8=AF=81=E4=B9=A6=EF=BC=8C=E9=81=BF?= =?UTF-8?q?=E5=85=8D=E9=80=A0=E6=88=90=E6=AD=A7=E4=B9=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 3 ++- im-uniapp/ssl/cert.crt | 19 ------------------- im-uniapp/ssl/cert.key | 27 --------------------------- im-uniapp/vite.config.js | 10 ++-------- im-web/src/ssl/cert.crt | 19 ------------------- im-web/src/ssl/cert.key | 27 --------------------------- im-web/vue.config.js | 7 +------ 7 files changed, 5 insertions(+), 107 deletions(-) delete mode 100644 im-uniapp/ssl/cert.crt delete mode 100644 im-uniapp/ssl/cert.key delete mode 100644 im-web/src/ssl/cert.crt delete mode 100644 im-web/src/ssl/cert.key diff --git a/.gitignore b/.gitignore index 4c041af..8142a07 100644 --- a/.gitignore +++ b/.gitignore @@ -7,8 +7,9 @@ /im-server/target/ /im-platform/target/ /im-client/target/ -/im-common/itarget/ +/im-common/target/ /im-web/node_modules/ +/im-web/dist/ /im-uniapp/node_modules/ /im-uniapp/package-lock.json /im-uniapp/unpackage/ diff --git a/im-uniapp/ssl/cert.crt b/im-uniapp/ssl/cert.crt deleted file mode 100644 index 12f90bf..0000000 --- a/im-uniapp/ssl/cert.crt +++ /dev/null @@ -1,19 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIDIjCCAgoCCQCw2aUcFWVX4jANBgkqhkiG9w0BAQsFADBTMQswCQYDVQQGEwJj -bjEMMAoGA1UECAwDZ3oIMQswCQYDVQQHDAJnejEcMBoGA1UECgwTRGVmYXVsdCBD -b21wYW55IEx0ZDELMAkGA1UEAwwCYngwHhcNMjQwNDI4MTQzNTIzWhcNMzQwNDI2 -MTQzNTIzWjBTMQswCQYDVQQGEwJjbjEMMAoGA1UECAwDZ3oIMQswCQYDVQQHDAJn -ejEcMBoGA1UECgwTRGVmYXVsdCBDb21wYW55IEx0ZDELMAkGA1UEAwwCYngwggEi -MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDqZXvAXwH0xA5TSposclmZXxox -pfT5F0eSOaxRE2NFfUbHoCrCHYV8pPAIy9S6vbG5Bbh4eprv4smH4lHWfa+81nI8 -sKizmJ3jdFSzCRrIHzbdlQsY0Vg+VasyoWjyjVDJeDzz/G/vQUeb19+kXlHVDETt -J7sZEqNyDxewsiDBUf2f+fvsgtIWakuD7CGe/P9e6gHz0D++GezOUKgUtL3eUkCa -pI8+ecoAG1ud/3MtRvGyq9FwwsQwsscu1YVmt7fRhuGbcM3/bog1VXe/to/msKUC -gCZjWS82D9sw0ikEAn7jagKJu1ezybmN9/JljhpC8UgZnqPT01LzfFvDECN7AgMB -AAEwDQYJKoZIhvcNAQELBQADggEBAMnjP0ANnPSTbwSCufVXwJgX5tWcSGjezFAY -Du+rbdUipn2O4/NCkTTPpDbrDKRET2zDUrxJOXu/UZBS8lreowtUQCk8lX7kH5oj -72lmcOFgWUyk8ULTPzrl0sdaQ8mhsvf+vHO9Ww/+RqQlzlr+eMuamMm1wDrbczWK -z1tq2QQuIhxf1pIznHag5eWui6Z0RIRQaozbXWU6VuSf703CNixxdZsdNWHpdiJW -vj8LewFaSmGp6HzwMX6/Kx/kocqpeeCZ6CharePv2C5bC5Kd5KVFCHnp5xbcZKUq -8Q7CSH5WKV3QkoFKGPz1qh17qeryxgoqLQXLapptNKOS76QBivM= ------END CERTIFICATE----- diff --git a/im-uniapp/ssl/cert.key b/im-uniapp/ssl/cert.key deleted file mode 100644 index ec189b5..0000000 --- a/im-uniapp/ssl/cert.key +++ /dev/null @@ -1,27 +0,0 @@ ------BEGIN RSA PRIVATE KEY----- -MIIEpAIBAAKCAQEA6mV7wF8B9MQOU0qaLHJZmV8aMaX0+RdHkjmsURNjRX1Gx6Aq -wh2FfKTwCMvUur2xuQW4eHqa7+LJh+JR1n2vvNZyPLCos5id43RUswkayB823ZUL -GNFYPlWrMqFo8o1QyXg88/xv70FHm9ffpF5R1QxE7Se7GRKjcg8XsLIgwVH9n/n7 -7ILSFmpLg+whnvz/XuoB89A/vhnszlCoFLS93lJAmqSPPnnKABtbnf9zLUbxsqvR -cMLEMLLHLtWFZre30Ybhm3DN/26INVV3v7aP5rClAoAmY1kvNg/bMNIpBAJ+42oC -ibtXs8m5jffyZY4aQvFIGZ6j09NS83xbwxAjewIDAQABAoIBAQC8uyPunFE15Rrn -w9zpxtUQIjw0F71tR2pQefGegm7fR+TS3csv65dM6n1/h6ftCMpuAQYstAPG/aNp -rzhX7XGwKjdnWJMtsMgImeWNFtqiokeKGPULcZyM7GvhY4feLR0Ma60gg3UZf0WK -XUJs1aksUym4jtIeeRxzvWVE19h57uEG1fJM3Rf0OFhb1iUYVjtW4iW+RTtc1mpb -hoda+8P3Tua33WuhSYtFusDx35ZM2WDgYlgeMxm94JUFUUOIhiggasYNsu1YmQl4 -AqhRncGn6p/gZVQsjkeCtmTIyD+igqulI/OkqI3DmFCzFSoSXLFE7HZ4pL500Vxn -aOvOYRCZAoGBAP1Aopr0scpLzt7Lei+dbLc3wxziCyeNtVDvswFS93Lx1bnSJw4m -0PAvQGoOdeiPI1vmsdDJdV5R0Vmbybyz7JPiTyUyti4p909s5AtpPqdLptjuO2ge -2b1YD/HnubL0omlejKu5fKg3zaPqhr/Z8f6WfYSsm1dV10arSBj4JdvVAoGBAOzw -epHXXnAfaC/cEOUOOVe5o/MNxIYYfJkG6VtmB3v+oY0/C+SyUbkY3Qu5yjCDBYhP -rLVr1+TiLE3Sqj+ndRvICy8T6Iv+hA2ijvJiNVAjtqkwM5YOMJdFYI6fem1N+Hkv -ipOQUWFmwUBAKQm4BSGtNdbL89KTTV1tMubH4joPAoGBANRGmkWSd3gepO8A1ZEV -vmuw1N3f5wOnd2S5Fm00su9pIAGa0lu9U4MPyEldh52AZV4B9+gPBU8i+3zF5YpD -sjifCEIgyK3XRVIQ7vFVrUujUN4iii8TNOXN68eTuYb0ITJ7KyRB3OhPphIQYhRr -xbjlQZ6045yH+mNk7JDpZyplAoGAVF4sxtGRZwtH5gLOYUF3Wa1Ym6tDVxxRAYxc -e5cRAy3gCJNygLSeNPKNgydcv3ln9umn7dHAxldivzNMO+483O+WS+Ui4PZ3vwMr -M1OU+Dw/Rm9LbxsOYk7p2t8ekN06pKwxA+pXj/8uwNoXwsYrzZoHmbx1zX12BtZj -UZnLDDECgYBpvFK+cntSzE+qpsvxYnosSswcJvmGoOzBCE2aWebwXp0QOwjg/Zh/ -VR5Mc8L8xHpcpUJZXaTmyeouwc2XPfBvvbWlGZFh7zBn2dKCNxT62fPXKFX2rBgE -k4f033ToXD6Lv0JT94JfjS0GB+zzHjfcS/K8Lr3d3lUmkiI1LFD5GA== ------END RSA PRIVATE KEY----- diff --git a/im-uniapp/vite.config.js b/im-uniapp/vite.config.js index 4cc96e9..d337d8c 100644 --- a/im-uniapp/vite.config.js +++ b/im-uniapp/vite.config.js @@ -13,13 +13,7 @@ export default defineConfig({ logLevel: 'debug', target: 'http://127.0.0.1:8888', changeOrigin: true - }, - - }, - // 音视频功能需要ssl证书,如需调试请打开注释 - // https: { - // cert: fs.readFileSync(path.join(__dirname, 'ssl/cert.crt')), - // key: fs.readFileSync(path.join(__dirname, 'ssl/cert.key')) - // } + } + } } }) \ No newline at end of file diff --git a/im-web/src/ssl/cert.crt b/im-web/src/ssl/cert.crt deleted file mode 100644 index 12f90bf..0000000 --- a/im-web/src/ssl/cert.crt +++ /dev/null @@ -1,19 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIDIjCCAgoCCQCw2aUcFWVX4jANBgkqhkiG9w0BAQsFADBTMQswCQYDVQQGEwJj -bjEMMAoGA1UECAwDZ3oIMQswCQYDVQQHDAJnejEcMBoGA1UECgwTRGVmYXVsdCBD -b21wYW55IEx0ZDELMAkGA1UEAwwCYngwHhcNMjQwNDI4MTQzNTIzWhcNMzQwNDI2 -MTQzNTIzWjBTMQswCQYDVQQGEwJjbjEMMAoGA1UECAwDZ3oIMQswCQYDVQQHDAJn -ejEcMBoGA1UECgwTRGVmYXVsdCBDb21wYW55IEx0ZDELMAkGA1UEAwwCYngwggEi -MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDqZXvAXwH0xA5TSposclmZXxox -pfT5F0eSOaxRE2NFfUbHoCrCHYV8pPAIy9S6vbG5Bbh4eprv4smH4lHWfa+81nI8 -sKizmJ3jdFSzCRrIHzbdlQsY0Vg+VasyoWjyjVDJeDzz/G/vQUeb19+kXlHVDETt -J7sZEqNyDxewsiDBUf2f+fvsgtIWakuD7CGe/P9e6gHz0D++GezOUKgUtL3eUkCa -pI8+ecoAG1ud/3MtRvGyq9FwwsQwsscu1YVmt7fRhuGbcM3/bog1VXe/to/msKUC -gCZjWS82D9sw0ikEAn7jagKJu1ezybmN9/JljhpC8UgZnqPT01LzfFvDECN7AgMB -AAEwDQYJKoZIhvcNAQELBQADggEBAMnjP0ANnPSTbwSCufVXwJgX5tWcSGjezFAY -Du+rbdUipn2O4/NCkTTPpDbrDKRET2zDUrxJOXu/UZBS8lreowtUQCk8lX7kH5oj -72lmcOFgWUyk8ULTPzrl0sdaQ8mhsvf+vHO9Ww/+RqQlzlr+eMuamMm1wDrbczWK -z1tq2QQuIhxf1pIznHag5eWui6Z0RIRQaozbXWU6VuSf703CNixxdZsdNWHpdiJW -vj8LewFaSmGp6HzwMX6/Kx/kocqpeeCZ6CharePv2C5bC5Kd5KVFCHnp5xbcZKUq -8Q7CSH5WKV3QkoFKGPz1qh17qeryxgoqLQXLapptNKOS76QBivM= ------END CERTIFICATE----- diff --git a/im-web/src/ssl/cert.key b/im-web/src/ssl/cert.key deleted file mode 100644 index ec189b5..0000000 --- a/im-web/src/ssl/cert.key +++ /dev/null @@ -1,27 +0,0 @@ ------BEGIN RSA PRIVATE KEY----- -MIIEpAIBAAKCAQEA6mV7wF8B9MQOU0qaLHJZmV8aMaX0+RdHkjmsURNjRX1Gx6Aq -wh2FfKTwCMvUur2xuQW4eHqa7+LJh+JR1n2vvNZyPLCos5id43RUswkayB823ZUL -GNFYPlWrMqFo8o1QyXg88/xv70FHm9ffpF5R1QxE7Se7GRKjcg8XsLIgwVH9n/n7 -7ILSFmpLg+whnvz/XuoB89A/vhnszlCoFLS93lJAmqSPPnnKABtbnf9zLUbxsqvR -cMLEMLLHLtWFZre30Ybhm3DN/26INVV3v7aP5rClAoAmY1kvNg/bMNIpBAJ+42oC -ibtXs8m5jffyZY4aQvFIGZ6j09NS83xbwxAjewIDAQABAoIBAQC8uyPunFE15Rrn -w9zpxtUQIjw0F71tR2pQefGegm7fR+TS3csv65dM6n1/h6ftCMpuAQYstAPG/aNp -rzhX7XGwKjdnWJMtsMgImeWNFtqiokeKGPULcZyM7GvhY4feLR0Ma60gg3UZf0WK -XUJs1aksUym4jtIeeRxzvWVE19h57uEG1fJM3Rf0OFhb1iUYVjtW4iW+RTtc1mpb -hoda+8P3Tua33WuhSYtFusDx35ZM2WDgYlgeMxm94JUFUUOIhiggasYNsu1YmQl4 -AqhRncGn6p/gZVQsjkeCtmTIyD+igqulI/OkqI3DmFCzFSoSXLFE7HZ4pL500Vxn -aOvOYRCZAoGBAP1Aopr0scpLzt7Lei+dbLc3wxziCyeNtVDvswFS93Lx1bnSJw4m -0PAvQGoOdeiPI1vmsdDJdV5R0Vmbybyz7JPiTyUyti4p909s5AtpPqdLptjuO2ge -2b1YD/HnubL0omlejKu5fKg3zaPqhr/Z8f6WfYSsm1dV10arSBj4JdvVAoGBAOzw -epHXXnAfaC/cEOUOOVe5o/MNxIYYfJkG6VtmB3v+oY0/C+SyUbkY3Qu5yjCDBYhP -rLVr1+TiLE3Sqj+ndRvICy8T6Iv+hA2ijvJiNVAjtqkwM5YOMJdFYI6fem1N+Hkv -ipOQUWFmwUBAKQm4BSGtNdbL89KTTV1tMubH4joPAoGBANRGmkWSd3gepO8A1ZEV -vmuw1N3f5wOnd2S5Fm00su9pIAGa0lu9U4MPyEldh52AZV4B9+gPBU8i+3zF5YpD -sjifCEIgyK3XRVIQ7vFVrUujUN4iii8TNOXN68eTuYb0ITJ7KyRB3OhPphIQYhRr -xbjlQZ6045yH+mNk7JDpZyplAoGAVF4sxtGRZwtH5gLOYUF3Wa1Ym6tDVxxRAYxc -e5cRAy3gCJNygLSeNPKNgydcv3ln9umn7dHAxldivzNMO+483O+WS+Ui4PZ3vwMr -M1OU+Dw/Rm9LbxsOYk7p2t8ekN06pKwxA+pXj/8uwNoXwsYrzZoHmbx1zX12BtZj -UZnLDDECgYBpvFK+cntSzE+qpsvxYnosSswcJvmGoOzBCE2aWebwXp0QOwjg/Zh/ -VR5Mc8L8xHpcpUJZXaTmyeouwc2XPfBvvbWlGZFh7zBn2dKCNxT62fPXKFX2rBgE -k4f033ToXD6Lv0JT94JfjS0GB+zzHjfcS/K8Lr3d3lUmkiI1LFD5GA== ------END RSA PRIVATE KEY----- diff --git a/im-web/vue.config.js b/im-web/vue.config.js index 3beb823..89096d9 100644 --- a/im-web/vue.config.js +++ b/im-web/vue.config.js @@ -12,12 +12,7 @@ module.exports = { '^/api': '' } } - }, - // 音视频功能需要ssl证书,如需调试请打开注释 - // https: { - // cert: fs.readFileSync(path.join(__dirname, 'src/ssl/cert.crt')), - // key: fs.readFileSync(path.join(__dirname, 'src/ssl/cert.key')) - // } + } } } \ No newline at end of file From 1ef8c26b929e1159acc9fb7dd0bbc05bb00d0dae Mon Sep 17 00:00:00 2001 From: xsx <825657193@qq.com> Date: Fri, 11 Oct 2024 23:16:21 +0800 Subject: [PATCH 2/5] =?UTF-8?q?=E4=BF=AE=E5=A4=8Dh5=E9=94=AE=E7=9B=98?= =?UTF-8?q?=E6=98=BE=E7=A4=BA=E7=9A=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../netty/processor/LoginProcessor.java | 2 +- im-uniapp/main.js | 5 +++- im-uniapp/package.json | 3 ++- im-uniapp/pages/chat/chat-box.vue | 25 +++++++++++++++++-- 4 files changed, 30 insertions(+), 5 deletions(-) diff --git a/im-server/src/main/java/com/bx/imserver/netty/processor/LoginProcessor.java b/im-server/src/main/java/com/bx/imserver/netty/processor/LoginProcessor.java index c3ef039..c0258d3 100644 --- a/im-server/src/main/java/com/bx/imserver/netty/processor/LoginProcessor.java +++ b/im-server/src/main/java/com/bx/imserver/netty/processor/LoginProcessor.java @@ -34,7 +34,7 @@ public class LoginProcessor extends AbstractMessageProcessor { private String accessTokenSecret; @Override - public synchronized void process(ChannelHandlerContext ctx, IMLoginInfo loginInfo) { + public void process(ChannelHandlerContext ctx, IMLoginInfo loginInfo) { if (!JwtUtil.checkSign(loginInfo.getAccessToken(), accessTokenSecret)) { ctx.channel().close(); log.warn("用户token校验不通过,强制下线,token:{}", loginInfo.getAccessToken()); diff --git a/im-uniapp/main.js b/im-uniapp/main.js index 7e5c597..c4f6317 100644 --- a/im-uniapp/main.js +++ b/im-uniapp/main.js @@ -13,7 +13,10 @@ import useFriendStore from '@/store/friendStore.js' import useGroupStore from '@/store/groupStore.js' import useConfigStore from '@/store/configStore.js' import useUserStore from '@/store/userStore.js' - + +//import VConsole from 'vconsole' +//new VConsole(); + // #ifdef H5 import * as recorder from './common/recorder-h5'; // #endif diff --git a/im-uniapp/package.json b/im-uniapp/package.json index 4b762f2..f4368f4 100644 --- a/im-uniapp/package.json +++ b/im-uniapp/package.json @@ -5,6 +5,7 @@ }, "dependencies": { "js-audio-recorder": "^1.0.7", - "pinyin-pro": "^3.23.1" + "pinyin-pro": "^3.23.1", + "vconsole": "^3.15.1" } } diff --git a/im-uniapp/pages/chat/chat-box.vue b/im-uniapp/pages/chat/chat-box.vue index ad34162..5c9f53e 100644 --- a/im-uniapp/pages/chat/chat-box.vue +++ b/im-uniapp/pages/chat/chat-box.vue @@ -45,7 +45,7 @@ @touchend.prevent="sendTextMessage()" size="mini">发送 - + { + let keyboardHeight = initHeight - window.innerHeight; + if (keyboardHeight > 0) { + this.keyboardHeight = this.rpxTopx(keyboardHeight); + this.showKeyBoard = true; + this.switchChatTabBox('none', false) + this.scrollToBottom(); + } else { + this.showKeyBoard = false; + } + }); + }, generateId() { // 生成临时id return String(new Date().getTime()) + String(Math.floor(Math.random() * 1000)); @@ -721,6 +738,10 @@ } }, onLoad(options) { + // #ifdef H5 + this.isH5 = true; + this.listenKeyBoardForH5(); + // #endif // 聊天数据 this.chat = this.chatStore.chats[options.chatIdx]; // 初始状态只显示20条消息 From 8d1c2fbee1f234fbbc4fd418dcbc04e18e9ca788 Mon Sep 17 00:00:00 2001 From: xsx <825657193@qq.com> Date: Sat, 12 Oct 2024 00:02:10 +0800 Subject: [PATCH 3/5] =?UTF-8?q?=E4=BF=AE=E5=A4=8Dh5=E9=94=AE=E7=9B=98?= =?UTF-8?q?=E6=98=BE=E7=A4=BA=E7=9A=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- im-uniapp/pages/chat/chat-box.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/im-uniapp/pages/chat/chat-box.vue b/im-uniapp/pages/chat/chat-box.vue index 5c9f53e..81d4ca4 100644 --- a/im-uniapp/pages/chat/chat-box.vue +++ b/im-uniapp/pages/chat/chat-box.vue @@ -653,7 +653,7 @@ window.addEventListener('resize', () => { let keyboardHeight = initHeight - window.innerHeight; if (keyboardHeight > 0) { - this.keyboardHeight = this.rpxTopx(keyboardHeight); + this.keyboardHeight = keyboardHeight - 20; this.showKeyBoard = true; this.switchChatTabBox('none', false) this.scrollToBottom(); From c49f3c90ebee4cba1dae27960de86cfc7a8cc9a9 Mon Sep 17 00:00:00 2001 From: xsx <825657193@qq.com> Date: Sun, 13 Oct 2024 18:21:49 +0800 Subject: [PATCH 4/5] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E8=A2=AB=E5=B0=81=E7=A6=81=E8=BF=98=E8=83=BD=E7=99=BB=E9=99=86?= =?UTF-8?q?=E7=9A=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/UserServiceImpl.java | 2 +- im-uniapp/App.vue | 29 ++++++++++++++----- im-uniapp/common/request.js | 1 - im-uniapp/pages/login/login.vue | 1 - im-uniapp/pages/register/register.vue | 1 - im-web/src/view/Home.vue | 4 --- 6 files changed, 22 insertions(+), 16 deletions(-) diff --git a/im-platform/src/main/java/com/bx/implatform/service/impl/UserServiceImpl.java b/im-platform/src/main/java/com/bx/implatform/service/impl/UserServiceImpl.java index a7d570a..72fdc7b 100644 --- a/im-platform/src/main/java/com/bx/implatform/service/impl/UserServiceImpl.java +++ b/im-platform/src/main/java/com/bx/implatform/service/impl/UserServiceImpl.java @@ -81,7 +81,7 @@ public class UserServiceImpl extends ServiceImpl implements Us public LoginVO refreshToken(String refreshToken) { //验证 token if (!JwtUtil.checkSign(refreshToken, jwtProperties.getRefreshTokenSecret())) { - throw new GlobalException("refreshToken无效或已过期"); + throw new GlobalException("您的登陆信息已过期,请重新登陆"); } String strJson = JwtUtil.getInfo(refreshToken); Long userId = JwtUtil.getUserId(refreshToken); diff --git a/im-uniapp/App.vue b/im-uniapp/App.vue index 1fc215b..9bf5c33 100644 --- a/im-uniapp/App.vue +++ b/im-uniapp/App.vue @@ -307,11 +307,24 @@ // this.audioTip.src = "/static/audio/tip.wav"; // this.audioTip.play(); }, - isExpired(loginInfo) { - if (!loginInfo || !loginInfo.expireTime) { - return true; - } - return loginInfo.expireTime < new Date().getTime(); + refreshToken(loginInfo) { + return new Promise((resolve, reject) => { + if (!loginInfo || !loginInfo.refreshToken) { + reject(); + } + http({ + url: '/refreshToken', + method: 'PUT', + header: { + refreshToken: loginInfo.refreshToken + } + }).then((newLoginInfo) => { + uni.setStorageSync("loginInfo", newLoginInfo) + resolve() + }).catch((e) => { + reject(e) + }) + }) }, reconnectWs() { // 已退出则不再重连 @@ -348,21 +361,21 @@ this.$mountStore(); // 登录状态校验 let loginInfo = uni.getStorageSync("loginInfo") - if (!this.isExpired(loginInfo)) { + this.refreshToken(loginInfo).then(() => { // 初始化 this.init(); // 跳转到聊天页面 uni.switchTab({ url: "/pages/chat/chat" }) - } else { + }).catch(() => { // 跳转到登录页 // #ifdef H5 uni.navigateTo({ url: "/pages/login/login" }) // #endif - } + }) } } diff --git a/im-uniapp/common/request.js b/im-uniapp/common/request.js index 4bdef2e..1360497 100644 --- a/im-uniapp/common/request.js +++ b/im-uniapp/common/request.js @@ -42,7 +42,6 @@ const request = (options) => { return; } let newInfo = res.data.data; - newInfo.expireTime = new Date().getTime() + newInfo.refreshTokenExpiresIn*1000; uni.setStorageSync("loginInfo", newInfo); requestList.forEach(cb => cb()); requestList = []; diff --git a/im-uniapp/pages/login/login.vue b/im-uniapp/pages/login/login.vue index ab4421f..5be5079 100644 --- a/im-uniapp/pages/login/login.vue +++ b/im-uniapp/pages/login/login.vue @@ -51,7 +51,6 @@ console.log("登录成功,自动跳转到聊天页面...") uni.setStorageSync("userName", this.loginForm.userName); uni.setStorageSync("password", this.loginForm.password); - loginInfo.expireTime = new Date().getTime() + loginInfo.refreshTokenExpiresIn * 1000; uni.setStorageSync("loginInfo", loginInfo); // 调用App.vue的初始化方法 getApp().$vm.init() diff --git a/im-uniapp/pages/register/register.vue b/im-uniapp/pages/register/register.vue index bf2a4bd..3b3f01c 100644 --- a/im-uniapp/pages/register/register.vue +++ b/im-uniapp/pages/register/register.vue @@ -96,7 +96,6 @@ console.log("登录成功,自动跳转到聊天页面...") uni.setStorageSync("userName", loginForm.userName); uni.setStorageSync("password", loginForm.password); - loginInfo.expireTime = new Date().getTime() + loginInfo.refreshTokenExpiresIn * 1000; uni.setStorageSync("loginInfo", loginInfo); // 调用App.vue的初始化方法 getApp().init() diff --git a/im-web/src/view/Home.vue b/im-web/src/view/Home.vue index 4288b35..0699390 100644 --- a/im-web/src/view/Home.vue +++ b/im-web/src/view/Home.vue @@ -178,7 +178,6 @@ }) }, insertPrivateMessage(friend, msg) { - let chatInfo = { type: 'PRIVATE', targetId: friend.id, @@ -238,7 +237,6 @@ }) }, insertGroupMessage(group, msg) { - let chatInfo = { type: 'GROUP', targetId: group.id, @@ -257,7 +255,6 @@ }, handleSystemMessage(msg){ // 用户被封禁 - if (msg.type == this.$enums.MESSAGE_TYPE.USER_BANNED) { this.$wsApi.close(3000); this.$alert("您的账号已被管理员封禁,原因:"+ msg.content, "账号被封禁", { @@ -287,7 +284,6 @@ audio.src = url; audio.play(); } - }, showSetting() { this.showSettingDialog = true; From 5f7f34a16b97a6144e31a3390432e9908213bef0 Mon Sep 17 00:00:00 2001 From: xsx <825657193@qq.com> Date: Sun, 13 Oct 2024 18:24:00 +0800 Subject: [PATCH 5/5] =?UTF-8?q?=E5=88=A0=E9=99=A4=E5=86=97=E4=BD=99?= =?UTF-8?q?=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- im-web/src/view/Login.vue | 19 +++---------------- 1 file changed, 3 insertions(+), 16 deletions(-) diff --git a/im-web/src/view/Login.vue b/im-web/src/view/Login.vue index 6ffd0d6..c6d84d0 100644 --- a/im-web/src/view/Login.vue +++ b/im-web/src/view/Login.vue @@ -123,7 +123,6 @@ resetForm(formName) { this.$refs[formName].resetFields(); }, - // 获取cookie、 getCookie(name) { let reg = new RegExp("(^| )" + name + "=([^;]*)(;|$)"); let arr = document.cookie.match(reg) @@ -132,22 +131,10 @@ } return ''; }, - // 设置cookie,增加到vue实例方便全局调用 - setCookie(name, value, expiredays) { - var exdate = new Date(); - exdate.setDate(exdate.getDate() + expiredays); - document.cookie = name + "=" + escape(value) + ((expiredays == null) ? "" : ";expires=" + exdate - .toGMTString()); - }, - // 删除cookie - delCookie(name) { - var exp = new Date(); - exp.setTime(exp.getTime() - 1); - var cval = this.getCookie(name); - if (cval != null) { - document.cookie = name + "=" + cval + ";expires=" + exp.toGMTString(); - } + setCookie(name, value) { + document.cookie = name + "=" + escape(value); } + }, mounted() { this.loginForm.userName = this.getCookie("username");