zhengyiming
2025-02-26 be661965399aac1a93f2a57f79d9fbce7cda8ba2
fix: 对接
3个文件已修改
38 ■■■■ 已修改文件
apps/taro/src/hooks/router.ts 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
apps/taro/src/subpackages/recharge/selectPayType/InnerPage.vue 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
packages/components/src/views/SelectPayTypeView/SelectPayTypeView.vue 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
apps/taro/src/hooks/router.ts
@@ -25,3 +25,19 @@
//   return { isFirstEnter };
// }
export function useFocus() {
  const isFocus = ref(false);
  Taro.useDidShow(() => {
    isFocus.value = true;
  });
  Taro.useDidHide(() => {
    isFocus.value = false;
  });
  return {
    isFocus,
  };
}
apps/taro/src/subpackages/recharge/selectPayType/InnerPage.vue
@@ -9,8 +9,9 @@
      :showWeixinPay="!isInAlipay"
      :openId="wxOpenId"
      :isInWeChat="isInWeChat"
      :isH5="isH5"
      :isH5="isWeb"
      :appId="WXPayAppId"
      :isFocus="isFocus"
    />
  </ContentScrollView>
</template>
@@ -19,8 +20,8 @@
import { SelectPayTypeView } from '@life-payment/components';
import { LifeRechargeConstants } from '@life-payment/core-vue';
import Taro from '@tarojs/taro';
import { isInAlipay, isInWeChat, isH5 } from '@/utils/env';
import { useUser } from '@/hooks';
import { isInAlipay, isInWeChat, isH5, isWeb } from '@/utils/env';
import { useUser, useFocus } from '@/hooks';
import { WXPayAppId } from '@/constants';
defineOptions({
@@ -33,6 +34,8 @@
const { wxOpenId } = useUser();
const { isFocus } = useFocus();
function handePaySuccess(
  orderNo: string,
  lifePayOrderType: LifeRechargeConstants.LifePayOrderTypeEnum
packages/components/src/views/SelectPayTypeView/SelectPayTypeView.vue
@@ -23,7 +23,7 @@
} from '@life-payment/core-vue';
import { useQuery } from '@tanstack/vue-query';
import { Toast as NutToast } from '@nutui/nutui-taro';
import { reactive } from 'vue';
import { onMounted, reactive, ref, computed } from 'vue';
defineOptions({
  name: 'SelectPayTypeView',
@@ -38,6 +38,7 @@
  isInWeChat?: boolean;
  isH5?: boolean;
  appId?: string;
  isFocus?: boolean;
};
const props = withDefaults(defineProps<Props>(), {
@@ -113,10 +114,13 @@
          if (res.err_msg == 'get_brand_wcpay_request:ok') {
            // 使用以上方式判断前端返回,微信团队郑重提示:
            //res.err_msg将在用户支付成功后返回ok,但并不保证它绝对可靠,商户需进一步调用后端查单确认支付结果。
          } else if (res.err_msg == 'system:access_denied') {
            state.msg = '请在手机微信中打开';
            state.show = true;
          } else {
            state.msg = res.err_msg;
            state.show = true;
          }
        },
        function (res) {
          console.log('res: ', res);
        }
      );
    }
@@ -151,5 +155,6 @@
    }
  },
  refetchInterval: 1000 * 3,
  enabled: computed(() => props.isFocus),
});
</script>