api_router.ts 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. import {ApiType, ErrorCode, RequestData, ResponseData} from "@/types/apiTypes.ts";
  2. import {Magnet_Actions, Music_Actions} from "@/apis/ApiAction.ts";
  3. import {c_fetchMagnetList, c_magnet_batch_update, c_magnet_delete} from "@/main/control/magnet/magnet.ts";
  4. import {
  5. c_fetchPlayList,
  6. c_scanMusicAdd, c_scanMusicDelete,
  7. c_scanMusicSelect,
  8. c_scanMusicUpdate,
  9. c_scanSettings
  10. } from "@/main/control/magnet/music.ts";
  11. export async function apiRouter(requestData: RequestData<any>){
  12. // 生成callId
  13. let responseData: ResponseData<any>
  14. switch (requestData.action)
  15. {
  16. case Magnet_Actions.magnet_list:
  17. responseData = await c_fetchMagnetList(requestData);
  18. break;
  19. case Magnet_Actions.magnet_batch_update:
  20. responseData = await c_magnet_batch_update(requestData);
  21. break;
  22. case Magnet_Actions.magnet_delete:
  23. responseData = await c_magnet_delete(requestData);
  24. break;
  25. case Music_Actions.play_list_fetch:
  26. responseData = await c_fetchPlayList(requestData);
  27. break;
  28. case Music_Actions.scan_music_select:
  29. responseData = await c_scanMusicSelect(requestData);
  30. break;
  31. case Music_Actions.scan_music_add:
  32. responseData = await c_scanMusicAdd(requestData);
  33. break;
  34. case Music_Actions.scan_settings:
  35. responseData = await c_scanSettings(requestData);
  36. break;
  37. case Music_Actions.scan_music_update:
  38. responseData = await c_scanMusicUpdate(requestData);
  39. break;
  40. case Music_Actions.scan_music_delete:
  41. responseData = await c_scanMusicDelete(requestData);
  42. break;
  43. default:
  44. responseData = {
  45. type: ApiType.res,
  46. code: ErrorCode.params,
  47. callId: requestData.callId,
  48. action: requestData.action,
  49. msg: 'action not found',
  50. data: null,
  51. }
  52. }
  53. return responseData;
  54. }