/**
 * 微信支付封装
 * 调用后端支付接口获取参数后拉起微信支付
 */
const api = require('./api');

/**
 * 拉起微信支付
 * @param {string} orderNo - 订单号
 * @param {string} paymentMethod - 支付方式（wechat/balance）
 * @returns {Promise}
 */
function wechatPay(orderNo, paymentMethod = 'wechat') {
  return new Promise((resolve, reject) => {
    wx.showLoading({ title: '支付中...', mask: true });

    // 调用后端模拟支付接口
    api.payOrder(orderNo, { payment_method: paymentMethod })
      .then(result => {
        wx.hideLoading();
        wx.showToast({ title: '支付成功', icon: 'success' });
        resolve(result);
      })
      .catch(err => {
        wx.hideLoading();
        reject(err);
      });
  });
}

/**
 * 余额支付
 */
function balancePay(orderNo) {
  return wechatPay(orderNo, 'balance');
}

module.exports = {
  wechatPay,
  balancePay
};
