zhengyiming
2 天以前 f34af9bbc5ec1a40fa5d9f658ea2face2fb13b19
apps/taro/src/hooks/lifepay.ts
@@ -1,5 +1,11 @@
import { useQuery } from '@tanstack/vue-query';
import { useLifeRechargeContext, CreateEditPayChannelsInput } from '@life-payment/core-vue';
import {
  useLifeRechargeContext,
  CreateEditPayChannelsInput,
  GetShowingLifePayAnnouncementInput,
} from '@life-payment/core-vue';
import { MaybeRef } from 'vue';
import { Message } from '@/utils';
export function useOnlineService() {
  const { blLifeRecharge } = useLifeRechargeContext();
@@ -20,11 +26,12 @@
}
type UseLifePayChannlesAllListOptions = {
  params?: MaybeRef<API.QueryLifePayChannlesInput>;
  onSuccess?: (data: API.CreateEditPayChannelsInput[]) => any;
};
export function useLifePayChannlesAllList(options: UseLifePayChannlesAllListOptions = {}) {
  const { onSuccess } = options;
  const { onSuccess, params = {} } = options;
  const { blLifeRecharge } = useLifeRechargeContext();
@@ -33,9 +40,9 @@
    isLoading,
    refetch,
  } = useQuery({
    queryKey: ['blLifeRecharge/getLifePayChannlesAllList'],
    queryKey: ['blLifeRecharge/getLifePayChannlesAllList', params],
    queryFn: async () => {
      return await blLifeRecharge.services.getLifePayChannlesAllList({
      return await blLifeRecharge.services.getLifePayChannlesAllList(unref(params), {
        showLoading: false,
      });
    },
@@ -58,3 +65,54 @@
    getChannlesNameByNum,
  };
}
type UseShowingLifePayAnnouncementOptions = {
  params?: MaybeRef<API.GetShowingLifePayAnnouncementInput>;
  onSuccess?: (data: API.CreateEditLifePayAnnouncementOutput) => any;
};
export function useShowingLifePayAnnouncement(options: UseShowingLifePayAnnouncementOptions = {}) {
  const { onSuccess, params = {} } = options;
  const { blLifeRecharge } = useLifeRechargeContext();
  const {
    data: announcement,
    isLoading,
    refetch,
  } = useQuery({
    queryKey: ['blLifeRecharge/getShowingLifePayAnnouncement', params],
    queryFn: async () => {
      return await blLifeRecharge.services.getShowingLifePayAnnouncement(unref(params), {
        showLoading: false,
        skipErrorHandler: true,
      });
    },
    onSuccess: (data) => {
      onSuccess?.(data);
    },
  });
  return {
    announcement,
    isLoading,
    refetch,
  };
}
export function useDialogShowingLifePayAnnouncement() {
  const { blLifeRecharge } = useLifeRechargeContext();
  useShowingLifePayAnnouncement({
    params: {
      announcementType: blLifeRecharge.constants.AnnouncementTypeEnum.Dialog,
    },
    onSuccess(data) {
      Message.confirm({
        title: '公告',
        message: data.announcementContent ?? '',
        showCancelBtn: false,
      });
    },
  });
}