сначала я отправляю API в конечную точку «api / app-token» «API не нуждается в заголовке», после чего ответ от «api / app-token» сохраняется в локальном хранилище с приложением - ключ токена, после сохранения его в локальном хранилище я беру приложение - затем я устанавливаю токен в заголовок, чтобы опубликовать другую конечную точку API, для которой требуется заголовок, проблема в том, что заголовок не может получить данные из локального хранилища, поэтому другая конечная точка не может быть доступна поскольку заголовок не был заполнен токенами приложений, которые находятся в локальном хранилище, я пытаюсь перехитрить его, принудительно переводя токен приложения в состояние при загрузке статистики, а затем делаю обновление страницы sh "window.location.reload () ", но почему функция не работает? или есть более эффективный способ?
В основном есть 2 конечные точки, первая конечная точка «api / app-token» не нуждается в заголовке, вторая конечная точка требует заголовка, и заголовок должен быть заполнен с токенами приложений, которые я установил в localstorage
, это пример сообщения ax ios для получения токена приложения
const [getAppToken, setgetAppToken] = useState({})
const [company, setCompany] = useState({
company_name: 'fevci',
comp_key: 'fevci123'
})
useEffect(() => {
const getAppToken = async () => {
const res = await axios({
method: 'post',
url: endpoint + 'api/app_token',
data: company,
})
const { data: appToken, success } = res.data
if (success === true) {
storage.setItem('app-token', JSON.stringify(appToken))
} else {
storage.removeItem('app-token')
}
return res
}
getAppToken()
}, [])
, и это пример ax ios, который имеет заголовок при условии, что заголовок был заполнен токенами приложения
export const api = axios.create({
baseURL: endpoint,
headers: {
'app-token': (storage.getItem('app-token') !== null) ? JSON.parse(storage.getItem('app-token')) : null,
'Authorization': (storage.getItem('token') !== null) ? JSON.parse(storage.getItem('token')) : null,
'content-type': 'multipart/form-data'
}
})