| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- import type { Recordable } from '@vben-core/typings';
- import createRequestClient from '@six/request';
- import { message } from 'ant-design-vue';
- import { useAuthStore } from '#/store';
- import {
- transformDatabaseResponse,
- transformHttpResponse,
- } from '#/api/utils/response-transform';
- import '@six/request/alova';
- export * from './method/access';
- export * from './method/business';
- export * from './method/common';
- export * from './method/dict';
- export * from './method/patient-evaluation';
- export * from './method/prescription';
- export * from './method/prescription-review';
- export * from './method/system';
- export const http = createRequestClient({
- id: import.meta.env.VITE_APP_NAMESPACE?.split('/').pop() ?? 'smart-pharmacy',
- transform: transformHttpResponse,
- });
- http.interceptor('error', async (error) => {
- if (error?.code === 401) await useAuthStore().logout();
- message.error(error.message ?? `服务错误 (${error.code})`).then();
- });
- export const database = createRequestClient({
- baseURL: `${import.meta.env.BASE_URL}database`,
- transform: transformDatabaseResponse,
- });
- export type TransformData<T = any> = Recordable<T>;
- export interface TransformList<T = TransformData> {
- total: number;
- items: T[];
- data?: {
- page: number;
- size: number;
- total: number;
- };
- }
- export interface TransformBody<T> {
- code: number;
- data: T;
- message?: string;
- }
- export interface TransformBlob {
- fileName: string;
- source: Blob;
- }
- export interface TransformRecord {
- id: string;
- createUser?: string;
- createTime?: string;
- updateUser?: string;
- updateTime?: string;
- lastTime?: string;
- lastUser?: string;
- }
|