wupengfei
2025-12-01 6d8cde914540d6e2ecbd0fafda94be48af89c4da
apps/cMiniApp/src/subpackages/task/taskDetail/InnerPage.vue
@@ -75,7 +75,7 @@
        v-if="
          from === 'hire' &&
          !(
            detail?.checkReceiveMethod === EnumTaskCheckReceiveMethod.CheckIn &&
            isContainCheckIn &&
            detail?.hireButton === GetTaskInfoQueryResultHireButton.ApplyCheckReceive
          )
        "
@@ -126,8 +126,11 @@
  GetTaskInfoQueryResultHireButton,
  GetTaskInfoQueryResultApplyButton,
  EnumTaskCheckReceiveMethod,
  subscribeMessageTemplateIds,
} from '@12333/constants';
import { useAccessLogin } from '@/hooks';
import { useTaskInfo } from '@12333/hooks';
import _ from 'lodash';
defineOptions({
  name: 'InnerPage',
@@ -141,26 +144,7 @@
const id = router.params?.id ?? '';
const from = router.params?.from ?? '';
const {
  isLoading,
  isError,
  data: detail,
  refetch,
} = useQuery({
  queryKey: ['taskServices/getTaskInfo', id],
  queryFn: async () => {
    return await taskServices.getTaskInfo(
      { id: id },
      {
        showLoading: false,
      }
    );
  },
  placeholderData: () => ({} as API.GetTaskInfoQueryResult),
  onSuccess(data) {
    // if (data.isExistTradeChatRecord) setTrue();
  },
});
const { isLoading, isError, detail, refetch, isContainCheckIn } = useTaskInfo({ id });
const { isCollapse, setTrue } = useToggle();
@@ -180,20 +164,50 @@
  }
});
const handleApply = useAccessReal(
  async () => {
    try {
      let params: API.ApplyTaskCommand = {
        ids: [id],
      };
      let res = await taskUserServices.applyTask(params);
      if (res) {
        Message.success('报名成功');
        refetch({ type: 'inactive' });
      }
    } catch (error) {}
  },
  { message: '实名成功后才可报名,请前往实名认证' }
const tmplIds = ['ziC07K27Km9OAywf-KYwHiWgn195j9tmuFKxbDZ79tg'];
const handleApply = _.debounce(
  useAccessReal(
    async () => {
      try {
        if (!Taro.requestSubscribeMessage) {
          await Message.confirm({ message: '你的微信版本过低,不支持订阅消息,是否继续报名' });
        }
        const res = await Taro.getSetting({
          withSubscriptions: true,
        });
        let setting: boolean[] = [];
        if (res.subscriptionsSetting && res.subscriptionsSetting.itemSettings) {
          setting = tmplIds
            .map((id) => res.subscriptionsSetting.itemSettings[id] !== 'accept')
            .filter(Boolean);
        }
        console.log('setting: ', setting);
        // if (setting.length > 0) {
        Taro.requestSubscribeMessage({
          tmplIds: tmplIds,
          success: function (res) {
            console.log('res: ', res);
          },
        });
        // }
        // let params: API.ApplyTaskCommand = {
        //   ids: [id],
        // };
        // let res = await taskUserServices.applyTask(params);
        // if (res) {
        //   Message.success('报名成功');
        //   refetch({ type: 'inactive' });
        // }
      } catch (error) {}
    },
    { message: '实名成功后才可报名,请前往实名认证' }
  ),
  1000,
  {
    leading: true,
    trailing: false,
  }
);
const handleAttention = useAccessLogin(async () => {