import jssdkPay from '@/src/weixinPay/jssdkPay';
import miniprogramPay from '@/src/weixinPay/miniprogramPay';

import { weixinPayParams } from '@/types/weixinPay';

/**
 * 发起微信支付(兼容公众号和小程序)
 */
const weixinPay = (params: weixinPayParams) => {
  if (/MicroMessenger/i.test(navigator.userAgent)) {
    return jssdkPay(params);
  } else if (typeof wx === 'object' && wx.requestPayment) {
    return miniprogramPay(params);
  } else {
    throw new Error('weixin-pay: environment does not support');
  }
};

export default weixinPay;
