我正在创建一个应用程序,其中有10个商人,每个商人都有自己的api网址,例如:-
http://example1.example.com:8080/api/v1/
http://example2.example.com:8080/api/v1/
http://example3.example.com:8080/api/v1/
...
http://example4.example.com:8080/api/v1/
在应用程序的登录屏幕之前,有一个屏幕,用户需要先选择一个商人,然后将使用所选商人调用登录api。登录用户后,有一个选项可以在用户单击时切换商户,然后执行相同的过程。怎么做?我只尝试了一位商人。 我也遵循了https://codeburst.io/how-to-call-api-in-a-smart-way-2ca572c6fe86,但没有得到任何解决方案。 这是我的代码:-
import axios from 'axios';
import { AsyncStorage } from "react-native";
import { store } from '../app';
const getSessionToken = async () => {
let user = ''
try {
user = await AsyncStorage.getItem('currentUser');
} catch (error) {
// Error retrieving data
console.log(error.message);
}
return user;
}
// Set config defaults when creating the instance
const instance = axios.create({
baseURL: 'https://example1.example.com:8080/api/v1/'
});
// function to set the header
export function setAxiosHeaders() {
// jwt interceptors
let token = null;
getSessionToken().then(user => {
if (user) {
let ip = store.getState().appInitializer.ip;
token = JSON.parse(user).session_token;
instance.defaults.headers.common['Ip'] = ip
instance.defaults.headers.common['Authorization'] = `Bearer ${token}`;
}
})
}
export default instance;