| | |
| | | import Taro from '@tarojs/taro'; |
| | | |
| | | type UseSelectPayTypeOptions = { |
| | | openId?: MaybeRef<string>; |
| | | isInWeChat?: MaybeRef<boolean>; |
| | | isH5?: MaybeRef<boolean>; |
| | | appId?: MaybeRef<string>; |
| | | getOpenId?: MaybeRef<() => Promise<string>>; |
| | | }; |
| | | |
| | | export function useSelectPayType(options: UseSelectPayTypeOptions = {}) { |
| | | const { openId, isInWeChat, isH5, appId } = options; |
| | | const { isInWeChat, isH5, appId, getOpenId } = options; |
| | | |
| | | const { blLifeRecharge } = useLifeRechargeContext(); |
| | | |
| | |
| | | if (res) { |
| | | location.href = res; |
| | | } |
| | | } catch (error) {} |
| | | } catch (error) { |
| | | throw error; |
| | | } |
| | | } |
| | | |
| | | async function setLifePayOrderPayType( |
| | |
| | | lifePayType: lifePayType, |
| | | }; |
| | | return await blLifeRecharge.services.setLifePayOrderPayType(params); |
| | | } catch (error) {} |
| | | } catch (error) { |
| | | throw error; |
| | | } |
| | | } |
| | | |
| | | async function invokeWeixinPay(orderNo: string) { |
| | |
| | | fail: function (res) {}, |
| | | }); |
| | | } |
| | | } catch (error) {} |
| | | } catch (error) { |
| | | throw error; |
| | | } |
| | | } |
| | | |
| | | async function getPayOrderForJsAPI(orderNo: string) { |
| | | try { |
| | | const _getOpenId = unref(getOpenId); |
| | | const openId = await _getOpenId(); |
| | | let params: GetPayOrderForJsAPIInput = { |
| | | orderNo: orderNo, |
| | | lifePayType: blLifeRecharge.constants.LifePayTypeEnum.WxPay, |
| | | openId: unref(openId), |
| | | openId: openId, |
| | | attach: Date.now().toString(), |
| | | payAppId: unref(appId), |
| | | }; |
| | | let res = await blLifeRecharge.services.getPayOrderForJsAPI(params); |
| | | return res; |
| | | } catch (error) {} |
| | | } catch (error) { |
| | | throw error; |
| | | } |
| | | } |
| | | |
| | | async function handleWeixinPayByJsApi(orderNo: string) { |
| | |
| | | let res = await getPayOrderForJsAPI(orderNo); |
| | | |
| | | if (res) { |
| | | //@ts-ignore |
| | | if (WeixinJSBridge) { |
| | | //@ts-ignore |
| | | WeixinJSBridge.invoke( |
| | | 'getBrandWCPayRequest', |
| | | { |
| | |
| | | ); |
| | | } |
| | | } |
| | | } catch (error) {} |
| | | } catch (error) { |
| | | throw error; |
| | | } |
| | | } |
| | | |
| | | return { |
| | |
| | | const { blLifeRecharge } = useLifeRechargeContext(); |
| | | |
| | | useQuery({ |
| | | queryKey: ['platformServicePayServices/getPayStatusByOrderNo', orderNo], |
| | | queryKey: ['blLifeRecharge/getPayStatusByOrderNo', orderNo], |
| | | queryFn: async () => { |
| | | return await blLifeRecharge.services.getPayStatusByOrderNo( |
| | | { |