| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- import axiosInstance from './interceptor';
- // 获取多语言列表接口
- export interface LanguageItem {
- language: string; // en, zh
- display: string; // English, 简体中文
- }
- export interface LanguageListResponse {
- code: string;
- data: LanguageItem[];
- description: string;
- solution: string;
- }
- // 修改系统语言接口
- export interface ChangeLanguageRequest {
- lang: string; // en_US, zh_CN
- }
- export interface ChangeLanguageResponse {
- code: string;
- description: string;
- solution: string;
- data: Record<string, never>;
- }
- // 语言代码映射:简短代码 -> 完整代码
- const languageMap: Record<string, string> = {
- en: 'en_US',
- zh: 'zh_CN',
- };
- /**
- * 将简短语言代码转换为完整语言代码
- * @param shortCode 简短代码 (en, zh)
- * @returns 完整代码 (en_US.UTF-8, zh_CN.UTF-8)
- */
- export function mapLanguageCode(shortCode: string): string {
- return languageMap[shortCode] || shortCode;
- }
- /**
- * 获取多语言列表
- * @returns Promise<LanguageListResponse>
- */
- export function getLanguageList(): Promise<{ data: LanguageListResponse }> {
- return axiosInstance.get('/pub/language');
- }
- /**
- * 修改系统语言
- * @param language 语言简短代码 (en, zh)
- * @returns Promise<ChangeLanguageResponse>
- */
- export function changeLanguage(
- language: string
- ): Promise<{ data: ChangeLanguageResponse }> {
- const fullLanguageCode = mapLanguageCode(language);
- return axiosInstance.post('/auth/manage/language', {
- lang: fullLanguageCode,
- });
- }
|