1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 |
- import { axiosFactory } from "./setup";
- import { Dialog, Message } from "bill/index";
- import { showLoad, hideLoad } from "@/utils";
- import * as URL from "./constant";
- import { ResCode, ResCodeDesc } from "./constant";
- import { baseURL, params } from "@/env";
- import GAxios from "axios";
- const instance = axiosFactory();
- export const {
- axios,
- addUnsetTokenURLS,
- delUnsetTokenURLS,
- addReqErrorHandler,
- addResErrorHandler,
- delReqErrorHandler,
- addUnsetResErrorURLS,
- delResErrorHandler,
- getToken,
- setToken,
- delToken,
- setDefaultURI,
- addHook,
- delHook,
- setHook,
- } = instance;
- const gotoLogin = () => {
- if (import.meta.env.DEV) {
- GAxios.post("/service/manage/login", {
- password: "MRinIEn3ExMjM0NTY=Q5Lm39urQWzN7k4oCG",
- userName: "super-admin",
- username: "super-admin",
- }).then((res) => {
- setToken(res.data.data.token)
- setTimeout(() => location.reload())
- });
- } else {
- const loginHref = `/admin/#/statistics/scene`
- location.href = loginHref + '?redirect=' + escape(location.href)
- }
- };
- addReqErrorHandler((err) => {
- // Message.error(err.message)
- console.error(err);
- hideLoad();
- gotoLogin();
- });
- addResErrorHandler((response, data) => {
- if (response && response.status !== 200) {
- Message.error(response.statusText);
- } else if (data) {
- const msg =
- data.code && ResCodeDesc[data.code]
- ? ResCodeDesc[data.code]
- : data?.message || data?.msg;
- if (data.code === ResCode.TOKEN_INVALID) {
- gotoLogin();
- } else if (data.code === ResCode.UN_AUTH) {
- Dialog.alert({content: msg, okText: '我知道了'}).then(() => {
- gotoLogin();
- })
- throw msg
- } else {
- Message.error(msg || '服务出现异常,请稍后再试');
- }
- }
- });
- addHook({
- before: (config) => {
- if (config.url !== URL.RECORD_STATUS) {
- showLoad();
- }
- },
- after: (config) => {
- if (!config || config.url !== URL.RECORD_STATUS) {
- hideLoad();
- }
- },
- });
- setDefaultURI(baseURL);
- const token = params.token || localStorage.getItem('token')
- token && setToken(token);
- export default axios;
|