usePresetListStore.ts 841 B

12345678910111213141516171819202122232425262728293031
  1. import { getPresetListApi } from '@/api/camera/camera-preview';
  2. import { defineStore } from 'pinia';
  3. import { ref } from 'vue';
  4. import { useRequest } from 'vue-hooks-plus';
  5. /** 当前电子围栏的store */
  6. export const usePresetListStore = defineStore('presetListStore', () => {
  7. /** 当前选中的预置位 */
  8. const currentPresetToken = ref('');
  9. const { data, loading, runAsync, mutate } = useRequest(
  10. (cameraId: number) => {
  11. return getPresetListApi(cameraId);
  12. },
  13. { manual: true },
  14. );
  15. const isPresetNameExist = (name: string) => {
  16. return data.value?.find((x) => x.name === name);
  17. };
  18. const clear = () => {
  19. mutate();
  20. currentPresetToken.value = '';
  21. };
  22. return { data, currentPresetToken, getPresetList: runAsync, isPresetNameExist, loading, clear };
  23. });
  24. export default usePresetListStore;