fsl-authorization
Version:
## What id FSL ID
65 lines (52 loc) • 1.36 kB
text/typescript
import axios from 'axios';
const request = axios.create({ withCredentials: false });
request.interceptors.response.use((response) => {
const { data } = response;
if (data.redirectURL) {
return data;
}
if (data.code !== 0) {
return Promise.reject(data);
}
if (
data.code === 0 &&
data.data &&
data.data.error &&
data.data.error.length
) {
return Promise.reject(data);
}
return data.data;
}, Promise.reject);
const tokenInit = (config: any, token: string) => {
config.headers['token'] = token;
return config;
};
let interceptorId: number;
export const initRequestToken = (token: string | undefined | null) => {
if (!token) {
return;
}
interceptorId !== undefined &&
request.interceptors.request.eject(interceptorId);
interceptorId = request.interceptors.request.use((config) =>
tokenInit(config, token),
);
};
export const getAppInfo = (appkey: string) => {
return request.get(`${window.origin || ''}/api/account/oauth/clintInfo`, {
params: {
appkey,
},
});
};
export const optAutoApproveState = (appKey: string, type?: number) => {
return request.get(`${window.origin || ''}/api/account/getTime`, {
params: { type, appKey },
});
};
export const logout = () =>
request.post(`${window.origin}/account`, {
method: 'logout',
params: [],
});