| import { CONVERSATION_ID_INFO } from '../base/chat/constants' | |
| import { fetchAccessToken } from '@/service/share' | |
| export const checkOrSetAccessToken = async () => { | |
| const sharedToken = globalThis.location.pathname.split('/').slice(-1)[0] | |
| const accessToken = localStorage.getItem('token') || JSON.stringify({ [sharedToken]: '' }) | |
| let accessTokenJson = { [sharedToken]: '' } | |
| try { | |
| accessTokenJson = JSON.parse(accessToken) | |
| } | |
| catch (e) { | |
| } | |
| if (!accessTokenJson[sharedToken]) { | |
| const res = await fetchAccessToken(sharedToken) | |
| accessTokenJson[sharedToken] = res.access_token | |
| localStorage.setItem('token', JSON.stringify(accessTokenJson)) | |
| } | |
| } | |
| export const setAccessToken = async (sharedToken: string, token: string) => { | |
| const accessToken = localStorage.getItem('token') || JSON.stringify({ [sharedToken]: '' }) | |
| let accessTokenJson = { [sharedToken]: '' } | |
| try { | |
| accessTokenJson = JSON.parse(accessToken) | |
| } | |
| catch (e) { | |
| } | |
| localStorage.removeItem(CONVERSATION_ID_INFO) | |
| accessTokenJson[sharedToken] = token | |
| localStorage.setItem('token', JSON.stringify(accessTokenJson)) | |
| } | |
| export const removeAccessToken = () => { | |
| const sharedToken = globalThis.location.pathname.split('/').slice(-1)[0] | |
| const accessToken = localStorage.getItem('token') || JSON.stringify({ [sharedToken]: '' }) | |
| let accessTokenJson = { [sharedToken]: '' } | |
| try { | |
| accessTokenJson = JSON.parse(accessToken) | |
| } | |
| catch (e) { | |
| } | |
| localStorage.removeItem(CONVERSATION_ID_INFO) | |
| delete accessTokenJson[sharedToken] | |
| localStorage.setItem('token', JSON.stringify(accessTokenJson)) | |
| } | |