settings.ts 1.48 KB
/*
 * @Author: 赵丽婷
 * @Date: 2025-11-13 10:46:43
 * @LastEditors: 赵丽婷
 * @LastEditTime: 2025-11-17 15:33:39
 * @FilePath: \LinkMed\linkmed-vue3\src\api\settings.ts
 * @Description:
 * Copyright (c) 2025 by 北京连心医疗科技有限公司, All Rights Reserved.
 */
import { service as request } from "@/utils/request.ts";
import type { AxiosPromise } from "axios";

// 定义快捷键设置类型
interface KeyboardShortcutData {
  shortcut?: string;
  [key: string]: any; // 允许其他字段
}

interface KeyboardShortcutsParams {
  data: KeyboardShortcutData;
}

// GET /api/users/settings/keyboard-shortcuts
// 获取快捷键设置
export const getKeyboardShortcuts = (): AxiosPromise =>
  request.get("/users/settings/keyboard-shortcuts");

// PUT /api/users/settings/keyboard-shortcuts
// 保存快捷键设置
export const saveKeyboardShortcuts = (
  payload: KeyboardShortcutsParams,
): AxiosPromise => request.put("/users/settings/keyboard-shortcuts", payload);

// 定义检索设置类型
interface SearchSettingsData {
  [key: string]: any; // JSON 数据,允许任意字段
}

interface SearchSettingsParams {
  data: SearchSettingsData;
}

// GET /api/users/settings/search
// 获取检索设置
export const getSearchSettings = (): AxiosPromise =>
  request.get("/users/settings/search");

// PUT /api/users/settings/search
// 保存检索设置
export const saveSearchSettings = (
  payload: SearchSettingsParams,
): AxiosPromise => request.put("/users/settings/search", payload);