@pisell/pisellos
Version:
一个可扩展的前端模块化SDK框架,支持插件系统
88 lines (86 loc) • 3.09 kB
JavaScript
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __export = (target, all) => {
for (var name in all)
__defProp(target, name, { get: all[name], enumerable: true });
};
var __copyProps = (to, from, except, desc) => {
if (from && typeof from === "object" || typeof from === "function") {
for (let key of __getOwnPropNames(from))
if (!__hasOwnProp.call(to, key) && key !== except)
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
}
return to;
};
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
// src/modules/Payment/index.ts
var Payment_exports = {};
__export(Payment_exports, {
PaymentModule: () => PaymentModule
});
module.exports = __toCommonJS(Payment_exports);
var import_BaseModule = require("../BaseModule");
var import_types = require("./types");
var PaymentModule = class extends import_BaseModule.BaseModule {
constructor(name, version) {
super(name, version);
this.defaultName = "bookingByStep";
this.defaultVersion = "1.0.0";
this.state = {
currentPayment: null,
paymentHistory: []
};
}
async initialize(core, options) {
this.core = core;
if (options == null ? void 0 : options.initialState) {
this.state = { ...this.state, ...options.initialState };
}
}
// async initPayment(order: OrderModule, method: PaymentMethod) {
// const payment: Payment = {}
// this.state.currentPayment = payment
// await this.core.effects.emit(PaymentHooks.OnPaymentInit, payment)
// return payment
// }
async processPayment(paymentId) {
const payment = this.state.paymentHistory.find((p) => p.id === paymentId);
if (!payment)
return;
payment.status = "processing";
payment.updatedAt = /* @__PURE__ */ new Date();
await this.core.effects.emit(import_types.PaymentHooks.OnPaymentSuccess, payment);
}
async getPayment(paymentId) {
const payment = this.state.paymentHistory.find((p) => p.id === paymentId);
if (!payment)
throw new Error("Payment not found");
return payment;
}
async getPaymentHistory() {
return this.state.paymentHistory;
}
async refund(paymentId) {
const payment = this.state.paymentHistory.find((p) => p.id === paymentId);
if (!payment)
return;
payment.status = "refunded";
payment.updatedAt = /* @__PURE__ */ new Date();
await this.core.effects.emit(import_types.PaymentHooks.OnPaymentRefund, payment);
}
getAvailablePaymentMethods() {
return ["credit_card", "debit_card", "alipay", "wechat_pay"];
}
async checkPaymentStatus(paymentId) {
const payment = this.state.paymentHistory.find((p) => p.id === paymentId);
if (!payment)
throw new Error("Payment not found");
return payment.status;
}
};
// Annotate the CommonJS export names for ESM import in node:
0 && (module.exports = {
PaymentModule
});