refactor: 自动续token

This commit is contained in:
jmal 2023-03-12 16:06:12 +08:00
parent d09d3222db
commit 2defab122d
4 changed files with 10 additions and 9 deletions

View File

@ -825,8 +825,7 @@ export default {
if (abb.length + 1 >= filename.length) {
return filename
}
// return prev + "…" + next
return filename
return prev + "…" + next
}
},
getSummaries2() {

View File

@ -21,6 +21,7 @@ import router from '@/router'
import Layout from '@/layout'
import ParentView from '@/components/ParentView'
import api from "@/api/file-api";
import {disconnect} from "@/websocket/sockJS";
const getDefaultState = () => {
return {
@ -95,7 +96,7 @@ const actions = {
login({ commit }, userInfo) {
const { username, password, rememberMe } = userInfo
return new Promise((resolve, reject) => {
login({ username: username.trim(), password: password }).then(response => {
login({ username: username.trim(), password: password, rememberMe: rememberMe }).then(response => {
const { data } = response
commit('SET_TOKEN', data.jmalToken)
setToken(data.jmalToken)
@ -169,8 +170,10 @@ const actions = {
logout({ commit, state }) {
return new Promise((resolve, reject) => {
logout(state.token).then(() => {
removeToken() // must remove token first
disconnect()
removeToken()
removeConsumerId()
removeRememberName()
resetRouter()
commit('RESET_STATE')
resolve()

View File

@ -1,6 +1,6 @@
import Cookies from 'js-cookie'
const tokenKey = 'jmal_token'
const tokenKey = 'jmal-token'
const usernameKey = 'username'
const shareTokenKey = 'share-token'
const consumerId = 'consumerId'

View File

@ -9,7 +9,6 @@ export function toConnection(username,token) {
ws.timer = setInterval(() => {
try {
if(ws.isConnected){
console.log('isConnected', ws.isConnected)
ws.stompClient.send("test");
}else{
connect(username, token);
@ -17,12 +16,12 @@ export function toConnection(username,token) {
} catch (err) {
connect(username, token);
}
}, 10000);
}, 5000);
}
function connect(username,token){
//地址+端点路径,构建websocket链接地址,注意,对应config配置里的addEndpoint
let socket = new SockJS(ws.url + '/mq' + '?name='+username+'&jmal-token='+token);
let socket = new SockJS(ws.url + '/mq');
// 获取STOMP子协议的客户端对象
ws.stompClient = Stomp.over(socket);
// 定义客户端的认证信息,按需求配置
@ -49,7 +48,7 @@ function connect(username,token){
}
export function disconnect() {
if (ws.stompClient) {
if (ws.isConnected) {
ws.stompClient.disconnect();
}
clearInterval(ws.timer);