sunadmin-core
Version:
一句命令即可集成的通用后台管理系统框架(配套tp-swoole后端,同样是一句命令即可安装https://gitee.com/sunjinglong/sunadmin-server),便捷的更新方案,您可以随时更新sunadmin,而无需担心对您项目的影响
169 lines (151 loc) • 4.87 kB
TypeScript
import { AxiosInstance } from 'axios';
import { AxiosResponse } from 'axios';
import { Pinia } from 'pinia';
import { PiniaCustomStateProperties } from 'pinia';
import { Router } from 'vue-router';
import { RouteRecordRaw } from 'vue-router';
import { Store } from 'pinia';
import { StoreDefinition } from 'pinia';
import { default as version } from './assets/version.json';
declare function del(url: any, data?: {}): Promise<AxiosResponse<any, any>>;
/**
* 友好时间显示
* 将时间转换为相对时间显示:
* - 60秒内:x秒前
* - 60分钟内:x分钟前
* - 今天内:x小时前
* - 超过今天:MM-dd HH:mm 格式
* @param dateTime 时间字符串,格式如 '2025-05-04 12:00:01' 或时间戳
* @returns 友好时间字符串
*/
export declare function formatFriendlyTime(dateTime: string | number | Date | null | undefined): string;
/**
* 格式化时间戳
* @param timestamp 时间戳 (秒)
* @param format 格式,默认为 'YYYY-MM-DD HH:mm:ss'
* @returns 格式化后的日期时间字符串
*/
export declare function formatTimestamp(timestamp: number | string | null | undefined, format?: string): string;
declare function get(url: any, params?: {}): Promise<AxiosResponse<any, any>>;
export declare const pinia: Pinia;
declare function post(url: any, data?: {}): Promise<AxiosResponse<any, any>>;
declare namespace request {
export {
updateAxiosConfig,
get,
post,
del,
service as default,
service
}
}
export { request }
export declare var router: Router;
declare const service: AxiosInstance;
export declare const SunAdmin: {
install: (app: any, options: SunAdminOptions) => void;
};
declare interface SunAdminOptions {
apiConfig: {
baseURL: string;
timeout: number;
headers: {
[key: string]: string;
};
wsUrl: string;
};
routes: RouteRecordRaw[];
basePath: string;
}
/**
* 更新 axios 实例配置
* 当配置管理器的配置更新时调用
*/
declare function updateAxiosConfig(): void;
export declare const useStartLoadingStore: StoreDefinition<"startLoading", {
isInitializing: boolean;
isInitialized: boolean;
initProgress: number;
initStatus: string;
showStartLoading: boolean;
}, {
canShowApp: (state: {
isInitializing: boolean;
isInitialized: boolean;
initProgress: number;
initStatus: string;
showStartLoading: boolean;
} & PiniaCustomStateProperties< {
isInitializing: boolean;
isInitialized: boolean;
initProgress: number;
initStatus: string;
showStartLoading: boolean;
}>) => boolean;
}, {
sleep(ms: any): Promise<any>;
initializeSystem(): Promise<void>;
updateProgress(progress: any, status: any): void;
completeInitialization(): void;
resetSystem(): void;
}>;
export { version }
declare class WSManager {
ws: WebSocket;
url: string;
reconnectInterval: number;
reconnectTimer: NodeJS.Timeout;
messageHandlers(): void;
isManualClose: boolean;
accountStore: Store<"account", {
token: string;
uid: string;
username: string;
avatar: string;
isShowUnauthorizedAlert: boolean;
accountGroupList: any[];
}, {
isLogin: (state: {
token: string;
uid: string;
username: string;
avatar: string;
isShowUnauthorizedAlert: boolean;
accountGroupList: any[];
} & PiniaCustomStateProperties< {
token: string;
uid: string;
username: string;
avatar: string;
isShowUnauthorizedAlert: boolean;
accountGroupList: any[];
}>) => boolean;
}, {
login(username?: string, password?: string): Promise<AxiosResponse<any, any>>;
loginOut(): Promise<void>;
accountAuthSuccess(accountInfo?: {}): void;
tokenAuth(id?: any): Promise<any>;
tokenAuthFail(message?: string): void;
getGroupList(): Promise<AxiosResponse<any, any>>;
editAccountGroup(data: any): Promise<AxiosResponse<any, any>>;
deleteAccountGroup(groupId: any): Promise<AxiosResponse<any, any>>;
getAccountList(): Promise<AxiosResponse<any, any>>;
editAccount(data: any): Promise<AxiosResponse<any, any>>;
delAccount(accountId: any): Promise<AxiosResponse<any, any>>;
accountOffLine(accountId: any): Promise<AxiosResponse<any, any>>;
}>;
heartbeatInterval: number;
heartbeatTimer: NodeJS.Timeout;
heartbeatMsg: string;
addMessageHandler(handler: any): () => void;
removeMessageHandler(handler: any): void;
connect(): Promise<void>;
startHeartbeat(): void;
stopHeartbeat(): void;
send(data: any): void;
disconnect(): void;
reconnect(): void;
getWsCloseReason(code: any): string;
}
export declare const wsManager: WSManager;
export { }