| 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)) |
| } |
|
|