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) { if (abb.length + 1 >= filename.length) {
return filename return filename
} }
// return prev + "…" + next return prev + "…" + next
return filename
} }
}, },
getSummaries2() { getSummaries2() {

View File

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

View File

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

View File

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